Hallo zusammen,
Habe hier eine Prozedur, die aus einer txt Datei Werte in ein Array einliest.
Hier erstmal der Code:
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: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59:
| type TStunden = record Pnr: string[255]; Auftragnr:string[100]; end;
TForm1 = class(TForm) private procedure StundenDateiLaden; public end;
var Form1: TForm1; RecordStunden: TStunden; ListStunden: array of TStunden; iStunden: integer; fStunden: file of TStunden;
implementation
uses Unit3, Unit4, Unit5;
{$R *.dfm}
procedure TForm1.StundenDateiLaden; var zeilenanzahl:integer; begin showmessage('1'); assignfile(fStunden,ExtractFilePath(ParamStr(0)) +'dat/Stunden.dat'); reset(fStunden); showmessage('2'); zeilenanzahl:=2; if low(listStunden) <> -1 then begin for iStunden:= 0 to zeilenanzahl-1 do begin showmessage('3'); Read(fStunden,ListStunden[iStunden]); showmessage('4'); end; end; closefile(fStunden); showmessage('5'); end; |
Wenn ich nun diese Prozedur ausführe, werden die Messageboxen bis einschließlich 3 aufgerufen.
Ich hab schon einiges zu arrays und records hier im Forum gefunden, aber noch nicht wirklich, wie man eine Textdatei in ein Array liest. Meine erste Frage ist, was ich an meinem Code bis jetzt falsch habe und wie ich die for-Schleife machen kann, dass sie bis zum Ende zählt?
Meine zweite Frage ist, wie ich verschiedene Werte auslesen kann, ändern und in dem array wieder speichern und wie ich nacher die Textdatei komplett mit dem Array wieder überschreiben kann.
Danke