Entwickler-Ecke
Sonstiges (Delphi) - Memofeld-Inhalt speichern/wieder öffnen
kuschelfreddy - Sa 14.03.09 18:40
Titel: Memofeld-Inhalt speichern/wieder öffnen
Hallo ihr alle!
Hab schon wieder eine Frage! :oops: Und zwar will ich den Inhalt eines Memofeldes speichern und die gespeicherte Datei wieder öffnen und deren Inhalt in ein Memofeld einlesen lassen.
Das Speichern habe ich so gemacht:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| var f:textfile; begin if Savedialog1.execute then begin AssignFile(f, Savedialog1.Filename + '.txt'); Rewrite(f); writeln(f, Memo2.text); CloseFile(f); end; end; |
Das klappt einwandfrei und er liest auch jede Zeile des Memofeldes ein. Jetzt habe ich das Öffnen genau umgekehrt gemacht:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| var f:textfile; zeile:string; begin if opendialog1.execute then begin assignfile(f, Opendialog1.filename); Reset(f); Readln(f, zeile); Memo2.Text:=zeile; closefile(f); end; end; |
Allerdings liest er dabei nur die erste Zeile der gespeicherten Textdatei ein und nicht den gesamten Inhalt. Wüsste gern, wie ich das ändern kann...
LG Nathalie
Moderiert von
Gausi: Delphi-Tags hinzugefügt
Keldorn - Sa 14.03.09 18:42
Hallo,
mach es Dir nicht so umständlich und verwende
Delphi-Quelltext
1: 2: 3:
| memo1.lines.savetofile(Dateiname) und memo1.lines.loadfromfile(Dateiname) |
Gruß Frank
Gausi - Sa 14.03.09 18:42
Hallo, bei Memos geht das doch von Haus aus:
Schau dir mal Memo1.Lines.SaveToFile und Memo1.Lines.LoadFromFile an. :D
Regan - Sa 14.03.09 18:43
Und von mir der Copy&Paste-Code mit
Memo2:
Speichern
1: 2:
| if Savedialog1.execute then Memo2.Lines.SaveToFile(Savedialog1.FileName); |
Öffnen
1: 2:
| if Opendialog1.execute then Memo2.Lines.LoadFromFile(Opendialog1.FileName); |
Edit: Ihr müsst praxisnaher sein :tongue: .
kuschelfreddy - Sa 14.03.09 18:44
Aber dann muss ich den Dateinamen doch von vornherein festlegen oder? Das möchte ich eben nicht, ich möchte den vom Benutzer individuell wählen lassen können...
Regan - Sa 14.03.09 18:45
kuschelfreddy hat folgendes geschrieben : |
| Aber dann muss ich den Dateinamen doch von vornherein festlegen oder? Das möchte ich eben nicht, ich möchte den vom Benutzer individuell wählen lassen können... |
Das
Execute bedeutet, dass der Dialog mit "OK" beendet wurde. Dann wurde ein Dateiname festgelegt. Du muss halt nur noch prüfen, ob schon eine Dateierweiterung dran ist.
jaenicke - Sa 14.03.09 18:49
Regan hat folgendes geschrieben : |
| Du muss halt nur noch prüfen, ob schon eine Dateierweiterung dran ist. |
Oder beim Dialog DefaultExt auf txt z.B. setzen, dann wird das automatisch angehängt, wenn keine Erweiterung angegeben wird.
kuschelfreddy - Sa 14.03.09 18:50
OK, funktioniert, dankeschön! =)
Hier wird man förmlich mit Antworten überhäuft... Super Forum! =)
Xentar - Sa 14.03.09 19:05
kuschelfreddy hat folgendes geschrieben : |
| Hier wird man förmlich mit Antworten überhäuft... Super Forum! =) |
Das lag nur daran:
:P
jaenicke - Sa 14.03.09 19:08
:rofl: :rofl: :rofl:
Da magst du Recht haben. Aber um die Zeit ist auch eher mehr los als nachts oder morgens, was ich merke, weil ich im Moment ja sehr oft hier online bin. ;-)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!