Entwickler-Ecke
Multimedia / Grafik - Strings in einer txt - Datei speichern - wie?
CrOc - Mi 26.11.03 21:00
Titel: Strings in einer txt - Datei speichern - wie?
Hi,
wie kann ich einzelne Strings als eine txt - Datei speichern, wobei nach jeden String in der txt - Datei eine neue Zeile angefangen werden soll?
Anonymous - Mi 26.11.03 21:03
In der OH (Onlinehilfe) unter
TSTRINGLIST
barfuesser - Do 27.11.03 10:50
oder
AssignFile
Reset
Rewrite
WriteLn
CloseFile
barfuesser
Udontknow - Do 27.11.03 11:05
Was hat das eigentlich mit Multimedia zu tun? :?
Cu,
Udontknow
CrOc - Do 27.11.03 19:02
Da ich noch ein totaler Noob in Delphi bin, kann ich mit denen Befehlen nicht so viel anfangen!
Ein Beispiel bzw. ein Quellcode, der z.B. einen String in eine Datei namens "test.txt" speichert, wäre nicht schlecht
barfuesser - Do 27.11.03 19:13
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32:
| procedure writeFile(FileName: String); var StrList: TStringList; begin StrList := TStringList.Create; try StrList.Add('String1'); StrList.Add('String2'); StrList.Add('String3'); StrList.Add('String4'); StrList.SaveToFile(FileName); finally FreeAndNil(StrList); end; end;
procedure loadFile(FileName: String); var StrList: TStringList; i: Integer; begin if not FileExists(FileName) then Exit; StrList := TStringList.Create; try StrList.LoadFromFile(FileName); if StrList.Count > 0 then for i:=0 to StrList.Count - 1 do ShowMessage(StrList[i]); finally FreeAndNil(StrList); end; end; |
barfuesser
CrOc - Do 27.11.03 19:17
Thanks,
aber warum muss ich die einzelnen strlist.add's mit try ... finally umgeben?
barfuesser - Do 27.11.03 19:21
Der finally-Block wird auf jedenfall ausgeführt. Dadurch stellst Du sicher, daß die StringList auch definitiv wieder freigegeben wird und nicht bei einer Exception zu einem MemoryLeak führt.
barfuesser
CrOc - Do 27.11.03 19:24
... und freeandnil heißt dann so viel, dass die gesamte Liste gelöscht wird oder?
barfuesser - Do 27.11.03 19:27
FreeAndNil(Object)entspricht in etwa:
Delphi-Quelltext
1: 2:
| Object.Free Object := nil |
barfuesser
CrOc - Do 27.11.03 19:28
also war doch dann meine vermutung in etwa richtig?
Udontknow - Fr 28.11.03 10:13
Die Liste wird bereits mit Free gelöscht. Da aber die Objektvariable noch immer dann einen Wert hat (im Endeffekt ist sie nur ein Zeiger auf den Speicherbereich des Objekts, in dem Fall der Liste), kann man nicht erkennen, ob es sich um ein noch existierendes Objekt handelt. Daher weisst man nach Free meist NIL zu, sodaß ma doch prüfen kann, ob das Objekt noch existiert (if MyObject<>NIL then ...)
Aus Komfortgründen benutzt man dann FreeAndNIL.
Cu,
Udontknow
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!