Hi Mentor86.
Wenn Du einen Wert am anfang der Datei Schreiben willst ist es ein Risenaufwand, da alle Daten umkopiert werden müßen.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| procedure TFFile_Uebung.BErste_StelleClick(Sender: TObject); var g: file of integer; zahl, Dateilaenge,i,zw : integer; begin AssignFile(g,'Daten.dat'); zahl:=StrToInt(Form1.EErste_Stelle.text);
If not(FileExists('Daten.dat')) then ReWrite(g) else ReSet(g);
Dateilaenge := Filesize(g); if Dateilaenge = 0 then Write(g,Zahl) else begin For i := Dateilaenge downto 1 do begin Seek(g,i-1); Read(g,zw); write(g,zw); end; Seek(g,0); Write(g,Zahl); end; CloseFile(g); BLaden.click; end; |
Wenn es nicht nur eine Übung ist, kannst Du Dir ja mal Überlegen, die Integer am Ende Anzufügen, und beim Lesen die Dateiposition zu berechnen.
Delphi-Quelltext
1: 2: 3: 4:
| ... Position := Dateilaenge - Sollpos; Seek(g,Position); ... |
mfg
Michael