Einzelnen Beitrag anzeigen

Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Datei in array of Byte öffnen und Speichern

  Alt 20. Jun 2004, 11:41
Achtung: Es funktioniert aber nur mit kleinen Dateien
Wenn Du eine z.B. 100 MB Datei öffnest wird die komplett in der Arbeitsspeicher geladen.
Wenn es darum geht auf die einzelnen Bytes zuzugreifen ist 1. ziemlich langsam und 2. Arbeitsspeicherverschwenderei erster Extraklasse. Das Array wird dann ebenfalls 100 MB groß sein.

Wenn Du auf die einzelnen Bytes zugreifen möchtest bis Du mit Seek besser bedient.
Verwende lieber folgende Methoden

Delphi-Quellcode:
function ReadByteFromStream(aStream: TStream; aIndex: Int64): Byte;
begin
  aStream.Seek(aIndex,soFromBeginning);
  aStream.Read(Result,SizeOf(Byte));
end;

procedure WriteByteToStream(aStream: TStream; aIndex: Int64; aByte : Byte);
begin
  aStream.Seek(aIndex,soFromBeginning);
  aStream.Write(aByte,SizeOf(Byte));
end;
aIndex entspricht dann dem ArrayIndex.
I come from outer space to save the human race
  Mit Zitat antworten Zitat