AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Unter Vernachlässigung des Dateientyps Dateien editieren!
Thema durchsuchen
Ansicht
Themen-Optionen

Unter Vernachlässigung des Dateientyps Dateien editieren!

Ein Thema von qubeus · begonnen am 6. Aug 2007 · letzter Beitrag vom 6. Aug 2007
 
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.123 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Unter Vernachlässigung des Dateientyps Dateien editieren

  Alt 6. Aug 2007, 18:15
Moin Nikolai,

Zitat von inherited:
Was gefällt dir an Streams nicht? Damit lädst du eine Datei Byteweise in ein Array, wandelst sie in Chars um und fügst sie einem Memotext hinzu:
Wobei das hier
      Memo1.text:=Memo1.Text+Char(MyArray[i]); ein Performancekiller erster Güte ist

Ausserdem wird's interessant, sobald eine #00 im Dateiinhalt vorkommt.

Besser wäre es wohl die Daten gleich als Hexwerte darzustellen.

Delphi-Quellcode:
var
  sBuf : string;
  sResult : string;
  i : integer;
  iPos : integer;
  iCount : integer;
  fs : TFileStream;
  sByte : string;

begin
  fs := TFileStream.Create('...', fmOpenRead);
  try
    SetLength(sBuf,fs.Size);
    // Annahme: 16 Byte je Zeile, getrennt mit Blank
    // fs.Size*3 => Zwei Hexstellen+Blank/#13 je Quellbyte
    // fs.Size div 16 => anschliessend noch ein #10 je Zeile
    SetLength(sResult,fs.Size*3+fs.Size div 16);
    fs.Read(sBuf[1],fs.Size);
    iPos := 1;
    for i := 1 to fs.Size do begin
      sByte := IntToHex(ord(sBuf[i]),2);
      sResult[iPos] := sByte[1];
      sResult[iPos+1] := sByte[2];
      inc(iPos,2);
      if i mod 16 = 0 then begin
        sResult[iPos] := #13;
        sResult[iPos+1] := #10;
        inc(iPos,2);
      end else begin
        sResult[iPos] := #32;
        inc(iPos);
      end;
    end;
  finally
    fs.free;
  end;
  Memo1.Text := sResult;
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz