Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Daten speichern


Roadrunner116 - So 07.01.07 19:57
Titel: Daten speichern
Hallo,
ich hab ein Problem.
Ich möchte den Inhalt mehrerer edits in einer externen Datei speichern, jedoch diese Daten später wieder in den passenden edit's laden können.
Ich möchte eigentlich keine Datenbank verwenden!

Ich hab mir alles in ein memo schreiben lassen, für jedes Edit eine neue Zeile und dieses memo wird dann in einer *.txt-Datei gespeichert.
Alles Prima!

Jetz will ich es laden, dachte, dass man die Zeilennummer identifizieren kann und das so geht, aber ich habe keine Lösung gefunden?

Is mein Gedankengang Müll und ich komme nur mit Datenbank aus oder bin ich auf dem richtigen weg? Wenn ja wie komm ich weiter?

Gruß Roadrunner116


Kroko - So 07.01.07 20:09

(a) nimm kein Memo, sondern TStringList (memo verwendet diese intern genauso)
(b) mit SaveToFile kannst Du es genauso speichern
(c) mit LoadFromFile lädst Du es wieder
(d) mit StringList[I] kannst Du auf die i-te Zeile zugreifen


Roadrunner116 - So 07.01.07 20:49

erstmal danke! nur:

ist listbox und stringlist das gleiche ober bin ich zu blöd die komponente zu finden?
falls ich zu blind bin, unter welcher rubrik ist diese abgelegt?

Danke


delphistart - So 07.01.07 21:32

user profile iconRoadrunner116 hat folgendes geschrieben:
erstmal danke! nur:

ist listbox und stringlist das gleiche ober bin ich zu blöd die komponente zu finden?
falls ich zu blind bin, unter welcher rubrik ist diese abgelegt?

Danke


Eine Listbox ist nicht das gleiche wie eine StringList.
Eine ListBox ist eine sichtbare Box in der Einträge auch angezeigt werden.
Eine StringList hingegen kann man sich eher wie eine Variable vorstellen und auch Deklarieren.

Deklaration:

Delphi-Quelltext
1:
var listenname:TStringList;                    


Folgendes darfst du aber nicht vergessen:

Delphi-Quelltext
1:
listenname:=TStringList.create;                    

vor der verwendung der Liste und

Delphi-Quelltext
1:
Listenname.Free;                    

wenn die die Stringlist nicht mehr brauchst (z.B. Im OnDestroy Ereignis)

//EDIT:
mit

Delphi-Quelltext
1:
listenname.Add('DEIN TEXT');                    

kannst du Einträge hinzufügen.


Roadrunner116 - So 07.01.07 21:34

achso... ok!
hatte dich erst missverstanden^^!!!

ich werde es mal versuchen
Danke


Roadrunner116 - So 07.01.07 22:47

hab es getestet....

bekomme aber bei
Zitat:
datalist.add('test');

eine Fehlermeldung (Dateianhang)!


Blackheart666 - So 07.01.07 23:02

Deja vu schau mal hier
http://www.delphi-forum.de/viewtopic.php?t=68267&highlight=
http://www.delphi-forum.de/viewtopic.php?t=68272&highlight=


Kroko - Mo 08.01.07 09:19

Einfach mal im Quelltext

Delphi-Quelltext
1:
TStringList                    

eingeben und die Taste F1 drücken!


Roadrunner116 - Mo 08.01.07 18:08

OK,
auf das mit der Fehlermeldung bin ich selbst bekommen....
habe es so verstanden, dass zwischen

listenname:=TStringList.create;

und

listenname.Add('DEIN TEXT');

noch

Listenname.Free;

stehen muss, nach dem Entfernen geht es!

@Blackheart666: Hab ich irgendwie mit der Suche net gefunden, DANKE...

Gruß Jonas