Hallo Forum,
aus der Delphi 5 Hilfe werde ich einfach nicht schlau.
Unteres Beispiel aus der Hilfe funktioniert zwar, aber wie stellt
man es denn an, wenn man aus einer beliebigen Datei ein Byte lesen
und den Wert ermitteln möchte und mit Seek(?) den Zeiger auf die nächste Position setzt bis zum Dateiende ? So zusagen Byteweises einlesen und
abarbeiten.
Wer könnte mir ein kleines Beispiel nennen ?
MfG
Uwe
var
FromF, ToF: file;
NumRead, NumWritten: Integer;
Buf: array[1..2048] of Char;
begin
if OpenDialog1.Execute then { Dialog zum Dateiöffnen anzeigen }
begin
AssignFile(FromF, OpenDialog1.FileName);
Reset(FromF, 1); { Datensatzgröße = 1 }
if SaveDialog1.Execute then { Dialog zum Speichern anzeigen }
begin
AssignFile(ToF, SaveDialog1.FileName); { Ausgabedatei öffnen }
Rewrite(ToF, 1); { Datensatzgröße = 1 }
Canvas.TextOut(10, 10, 'Kopieren von ' + IntToStr(FileSize(FromF))
+ ' Byte...');
repeat
BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
BlockWrite(ToF, Buf, NumRead, NumWritten);
until (NumRead = 0) or (NumWritten <> NumRead);
CloseFile(FromF);
CloseFile(ToF);
end;
end;
end;
aus der Delphi 5 Hilfe werde ich einfach nicht schlau.
Unteres Beispiel aus der Hilfe funktioniert zwar, aber wie stellt
man es denn an, wenn man aus einer beliebigen Datei ein Byte lesen
und den Wert ermitteln möchte und mit Seek(?) den Zeiger auf die nächste Position setzt bis zum Dateiende ? So zusagen Byteweises einlesen und
abarbeiten.
Wer könnte mir ein kleines Beispiel nennen ?
MfG
Uwe
var
FromF, ToF: file;
NumRead, NumWritten: Integer;
Buf: array[1..2048] of Char;
begin
if OpenDialog1.Execute then { Dialog zum Dateiöffnen anzeigen }
begin
AssignFile(FromF, OpenDialog1.FileName);
Reset(FromF, 1); { Datensatzgröße = 1 }
if SaveDialog1.Execute then { Dialog zum Speichern anzeigen }
begin
AssignFile(ToF, SaveDialog1.FileName); { Ausgabedatei öffnen }
Rewrite(ToF, 1); { Datensatzgröße = 1 }
Canvas.TextOut(10, 10, 'Kopieren von ' + IntToStr(FileSize(FromF))
+ ' Byte...');
repeat
BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
BlockWrite(ToF, Buf, NumRead, NumWritten);
until (NumRead = 0) or (NumWritten <> NumRead);
CloseFile(FromF);
CloseFile(ToF);
end;
end;
end;
Comment