![]() |
Laden/Speichern
Hab jetzt noch ein anderes Problem... will meinen Array speichern/Laden.....das speichern klappt soweit, nur beim Laden gibts Probleme. Seht ihr nen Fehler?
Delphi-Quellcode:
procedure TForm1.Speichern1Click(Sender: TObject);
var a:integer; T:Textfile; begin Assignfile(T,'C:\Text.dat'); Rewrite(T); a:=0; writeln(T,aa); repeat a:=a+1; writeln(T,person[a].Name); writeln(T,person[a].Vorname); writeln(T,person[a].Geschlecht); writeln(T,person[a].Alter); writeln(T,person[a].Beruf); writeln(T,person[a].Hobby); writeln(T,person[a].Kartei); until a=aa; closefile(T); end; procedure TForm1.Laden1Click(Sender: TObject); var a:integer; T:Textfile; begin assignfile(T,'C:\Text.dat'); reset(T); readln(aa); a:=0; repeat a:=a+1; readln(T,person[a].Name); readln(T,person[a].Vorname); readln(T,person[a].Geschlecht); readln(T,person[a].Alter); readln(T,person[a].Beruf); readln(T,person[a].Hobby); readln(T,person[a].Kartei); until a=aa; closefile(T); if not fileexists('C:\Text.dat') then begin showmessage('Datei nich vorhanden'); end; end; |
Re: Laden/Speichern
Hi,
welches Problem gibt es denn? Desweiteren solltest Du nicht erst die Datei laden und hinterher überprüfen, ob die Datei überhaupt existiert. Das sollte man davor machen. Dann bitte Deinen Code in Delphi-Tags einklammern. Danke :) |
Re: Laden/Speichern
Wir wären Dir sehr verbunden, wenn Du die Delphi-Tags benutzen würdest. Trotzdem ist mir die Zeile
Zitat:
|
Re: Laden/Speichern
Hallo Razor90 :dp:
könntest du bitte deinen Beitrag mit Hilfe des "Edit"-Buttons über deinem Beitrag ändern und Delphi-Tags um deinen Quelltext herum setzen, so wie bereits von DerMuhkuh und DaddyH erwähnt? Danke :)
Delphi-Quellcode:
Dein Delphi Quelltext
|
Re: Laden/Speichern
Neben dem fehlenden Input in der angesprochenen Zeile würde ich noch eine weitere Überprüfung am Ende des REPEAT..UNTIL-Block setzen und zwar die Prüfung auf Dateiende. Das geht mit:
Delphi-Quellcode:
Was mir auch auffällt, was nicht eindeutig beschrieben ist, ist das Array. Hasz du ein dynamisches oder ein statisches Array? Beim einem dynamischen solltest du die Größ mit SetLength() um 1 vergrößern, bevor du einen neuen Wert reinschreibst. Bei einem statischen Array kann es passieren, dass es nicht groß genug ist. Dies kannst du nicht durch SetLength() behoben werden. Hier empfehle ich den Umstieg auf ein dynamisches Array.
until (a=AA) OR (EOF(t))
Bernhard |
Re: Laden/Speichern
Zitat:
Formatierung! Einrückung! Variablennemane! Gross/Kleinschreibung! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz