KleinesProgramm - Mi 23.04.08 16:51
Titel: Variablen als txt Datei speichern und wieder laden
ja ich weiß: multitopic und alle kriegen schon die kalte kotze wenns um des scheiß thema geht, ;) ich hab schon verstanden
aber die anderen topics wurden alle total unsachlich und konfus geführt dass ich total den durchblick verloren hab (ja, "du noob" ich weiß)
kann mir einer bitte kurz und knapp sagen wie ich meine String-Variable A in C:\Test.txt speichere, danke!
Moderiert von
Narses: Dateiname ent"linked"Moderiert von
Narses: Topic aus Sonstiges (Delphi) verschoben am Mi 23.04.2008 um 23:39
Yogu - Mi 23.04.08 17:05
Titel: Re: Variablen als txt Datei speichern und wieder laden
Hallo
KleinesProgramm
KleinesProgramm hat folgendes geschrieben: |
multitopic und alle kriegen schon die kalte kotze wenns um des scheiß thema geht |
Mutitopic ist das doch nicht, hier geht es doch nur um das Thema "Variablen speichern und wieder laden". Das passt doch prima in ein Topic :gruebel:
To Topic:
KleinesProgramm hat folgendes geschrieben: |
kann mir einer bitte kurz und knapp sagen wie ich meine String-Variable A in C://Test.txt speichere |
Geht es wirklich nur um die eine Variable
A? Dann reicht eine einfache Textdatei. Sonst würde ich dir für den Anfang eine
INI-DATEI empfehlen.
Egal welchen Dateityp du wählst, du solltest
niemals Dateien auf
C:\ speichern. Stell dir mal vor, das würde jedes Programm machen ;)
Wähle also zuerst einen Ort, an dem die Datei gespeichert werden soll. Für den Anfang reicht wohl das Anwendungsverzeichnis, bei fortgeschrittenen Programmen solltest du einen globalen Ordner nehmen. Das kann zum Beispiel einer in
Anwendungsdaten sein.
Um eine einfache Datei zu speichern, kannst du
TStringList nehmen. Da passen zwar mehrere Variablen rein, aber dann wird es unübersichtlich. In diesem Fall solltest du also wirklich eine INI-Datei nehmen.
Also, erstellen wir uns eine String-Liste, fügen die Variable hinzu, speichern wir die Datei und entfernen wir anschließend die Liste wieder.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Button1Click(Sender: TObject); var StringList: TStringList; begin StringList := TStringList.Create; try StringList.Add(A); StringList.SaveToFile('Einstellungen.txt'); finally StringList.Free; end; end; |
Die
try ... finally-Konstruktion ist notwendig, weil beim Speichern ein Fehler auftreten kann. Ohne dieses Konstrukt würde die Prozedur verlassen werden, bevor die Liste wieder freigegeben werden kann.
finally wird immer ausgeführt, auch wenn ein Fehler auftrat.
Ich hoffe, das hilft dir weiter. Sonst frag einfach weiter :D
Viele Grüße,
Yogu
Zorro - Do 24.04.08 11:46
elundril hat folgendes geschrieben: |
es gibt mehrere möglichkeiten.
einerseits mit
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure speichern; var f: TFile; begin if fileexists('DeinFilenamePlusPfad') then begin AssignFile(f, 'DeinFilenamePlusPfad'); rewrite(f); Writeln('f', DeinString); CloseFile(f); end else begin CreateFile; AssignFile(f, 'DeinFilenamePlusPfad'); rewrite(f); Writeln('f', DeinString); CloseFile(f); end; end; |
oder du machst so wie Yogu es gesagt hat.
lg elundril |
Wobei die Abfrage auf Exists unnötig ist (und ebenso der CreateFile-Teil), da "rewrite" die Datei auf jeden Fall erzeugt (und eine evtl. vorhandene überschreibt)
[evtle Änderungen in DelphiVersionen > 7 nicht berücksichtigt]
Greetz
Zorro