![]() |
textdatei aus edtifeld auslesen udn wieder einlesen
Hallo
ihc habe mal ne frage und zwar möchte ich eine datei mit Assignfile erstellen wo dann mit nem button der text aus verschiedenen editfeldern in jeweils eine zeile geschrieben wird (also edit1 in zeile1, edit2 in zeile2...) und danach wieder in das jeweilige editfeld geladen wird
Delphi-Quellcode:
so siehts bisher aus. die datei wird zwar erstellt aber es steht nichts drin... kann mir bitte jemand sagen wie ich den obigen code anpassen muss (sowohl writln als auch readln)
var x:textfile;
procedure TForm1.Button1Click(Sender: TObject); begin assignfile(x,'C:stupla.stp'); rewrite(x); writeln(x,Edit1.Text); end; procedure TForm1.Button2Click(Sender: TObject); begin assignfile(x,'stupla.stp'); reset(x); Readln(x,); end; Vielen Dank im Voraus Tim |
Re: textdatei aus edtifeld auslesen udn wieder einlesen
Es fehlt in beiden Procs das closefile()
und besser wäre auch eine Fehlerbehandlung mit {$I-}, IOresult usw. |
Re: textdatei aus edtifeld auslesen udn wieder einlesen
heißt es nicht "C:\stupla.stp" ?
|
Re: textdatei aus edtifeld auslesen udn wieder einlesen
oh stimmt danke. aber wie mache ich dass den ejtz mit dem abspeicher bzw. dem einlesen der edits in die jeweiligen zeilen und andersrum wiel iwei klappts so ned
|
Re: textdatei aus edtifeld auslesen udn wieder einlesen
Delphi-Quellcode:
// ..
assignfile(x,'C:\stupla.stp'); // im Wurzelverzeichnis von C ?????????????? {$I-} rewrite(x); {$I+} if IOresult<>0 then ShowMessage('Fehler') else begin writeln(x,Edit1.Text); writeln(x,Edit2.Text); //.. closefile(x) end; //..
Delphi-Quellcode:
Vielleicht so?
// ..
assignfile(x,'C:\stupla.stp'); // im Wurzelverzeichnis von C ?????????????? {$I-} reset(x); {$I+} if IOresult<>0 then ShowMessage('Fehler') else begin readln(x,Edit1.Text); readln(x,Edit2.Text); //.. closefile(x) end; //.. (Und benutze bitte eine etwas verständlichere Sprache) /edit: die Null fehlte bei IOresult |
Re: textdatei aus edtifeld auslesen udn wieder einlesen
Ist es wirklich besser, mit dem Schalter I- zu arbeiten? Die Exception beeinhaltet wenigstens den Begriff IO und eine Fehlernummer. Für absolute DAUs würde ich lieber global im Application.OnException alle IO-Fehler abfangen und eine entsprechende Nachricht anzeigen.
|
Re: textdatei aus edtifeld auslesen udn wieder einlesen
Tja, BESSER <> SCHLECHTER ?
Kenne die technischen Hintergründe nicht, es ist aber m. E. "traditionell üblich" bei Verwendung dieser uralt-Funktionen, diese Schalter zu verwenden |
Re: textdatei aus edtifeld auslesen udn wieder einlesen
@taaktaak hmm naja also das abspeichern funktioniert jetzt. Nur wenn ich
Delphi-Quellcode:
kommt die Fehlermeldung "[Fehler] Unit1.pas(148): Der linken Seite kann nichts zugewiesen werden"
ReadLn(x, Edit1.Text);
|
Re: textdatei aus edtifeld auslesen udn wieder einlesen
ahhh, schon fast vermutet. Dann zunächst in eine StringVariable einlesen, dann an .Text übergeben
|
Re: textdatei aus edtifeld auslesen udn wieder einlesen
Wenn I+ aktiv ist, wird nach jeder Datei-Funktion automatisch IOResult geprüft und im Fehlerfall eine Exception ausgelöst. Im Prinzip ist eine eigene Fehlerbehandlung also nicht nötig.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 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