ich bin grad dabei mit TFileStreams rumzuexperimentieren, eigentlich mit dem hintergrundgedanken mal einen installer o.ä. zu schreiben. Also hab ich irgenteine *.exe genommen (is sogar von wem hier in forum) und an diese datei mal daten angefügt, ob sie dann noch funzt. Das geht. Dann wollte ich die daten am ende der datei lesen -> geht nicht. Hier mal der source (unordentlich und teilweise unnötig):
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| procedure TForm1.FormCreate(Sender: TObject); var st0,st1,st2: tfilestream; p: pointer; s: string; begin st0:= tfilestream.Create('E:\temp\delphi\apiclock\apiclock\apiclock.exe', fmopenread); st1:= tfilestream.create('e:\temp\teststream.exe', fmcreate); st1.CopyFrom(st0,0); st0.free; st1.Write('test',4); st1.free; st2:= tfilestream.create('e:\temp\teststream.exe', fmopenread); st2.Position:= st2.size - 4; st2.Read(p, 4);
showmessage(^p); application.Terminate; end; |
egal an welcher position ich lese, es kommt immer so ein kreuz-zeichen raus. und ich wüsste nun gern wie ich das 'test' am ende der datei zu lesen bekomme