1. Binärdateien liest man normalerweise nicht mit read(f,bytevar); sondern mit wie folgt
Delphi-Quellcode:
Procedure ConvertFiles(Var Source,Dest:String);
Var Fsource,FDest:File;
bRead,bWrit:Integer;
i:Integer;
Buf:Array[0..1023]of Byte;
Begin
AssignFile(FSource,Source);Filemode:=FmOpenRead;Reset(Fsource,1); //Quell-Datei lesen
AssignFile(FDest,Dest);Filemode:=FmOpenWrite;Rewrite(FDest,1); //Ziel-Datei erstellen
Repeat
BlockRead(FSource,Buf,Sizeof(buf),bRead);
For I:=0 to bRead do buf[i]:=buf[i] xor 255; // "Konvertierung"
BlockWrite(FDest,Buf,bRead,Bwrit);
Until (bread=0) or (bRead<>bWrit);
CloseFile(FDest);
CloseFile(FSource);
end;
^^ (Splatter-Source... nur zur Verdeutlichung, Keine Laufgarantie !!!)
Wenn du mit Typisierten Dateien Arbeitest bricht Eof beim ersten Aufkommen von $1A auf zu lesen
($1A war/ist das Hier-ist-die-Datei-zuEnde-Zeichen)
daher bei Binär Dateien besser mit Blockread/Write arbeiten ..
wenn du als Ausgabe eine Textdatei hast kannst du aus FDest eine TextFile machen und wie gehabt mit Write[ln]/Read[ln] arbeiten...