| Autor |
Beitrag |
kuschelfreddy
      
Beiträge: 23
|
Verfasst: Sa 14.03.09 18:40
Hallo ihr alle!
Hab schon wieder eine Frage!  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
      
Beiträge: 2266
Erhaltene Danke: 4
Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
|
Verfasst: 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
_________________ Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: 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. 
_________________ We are, we were and will not be.
|
|
Regan
      
Beiträge: 2157
Erhaltene Danke: 72
Java (Eclipse), Python (Sublimetext 3)
|
Verfasst: 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  .
|
|
kuschelfreddy 
      
Beiträge: 23
|
Verfasst: 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
      
Beiträge: 2157
Erhaltene Danke: 72
Java (Eclipse), Python (Sublimetext 3)
|
Verfasst: 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
      
Beiträge: 19345
Erhaltene Danke: 1753
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: 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 
      
Beiträge: 23
|
Verfasst: Sa 14.03.09 18:50
OK, funktioniert, dankeschön! =)
Hier wird man förmlich mit Antworten überhäuft... Super Forum! =)
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Sa 14.03.09 19:05
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
jaenicke
      
Beiträge: 19345
Erhaltene Danke: 1753
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 14.03.09 19:08
|
|