Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem bei Stringlist.SaveToFile/LoadFromFile (https://www.delphipraxis.net/18604-problem-bei-stringlist-savetofile-loadfromfile.html)

Taladan 21. Mär 2004 23:14


Problem bei Stringlist.SaveToFile/LoadFromFile
 
Hallo. Ich möchte gern eine StringList abspeichern. Problem ist, das es keine normale Strinliste ist, sondern eines mit Objekten befüllt.

Schreiben tut der PC auch fein, aber er Speichert nur die Strings und nicht die Objekte ab. Wie kann ich das ändern, und wenn ich wieder aulese, habe ich statt Objekte halt nur den String (in diesen falle den Zahlenwert).
Zweite Problem ist bei untrigen Beispiel, das er mir einen String zurückgibt, der Quasi unendlich lang ist und nicht nur 1 Zeichen hat.

Code:
function TBefNachteil.Schreiben;
var Nachteil : TNachteil;
begin
     LNachteil := TStringlist.create;

     Nachteil := TNachteil.Create;
     Nachteil.Name := 'Verkrazt';
     Nachteil.Nr := 0;
     LNachteil.AddObject(inttostr(Nachteil.Nr), Nachteil);

     Nachteil := TNachteil.Create;
     Nachteil.Name := 'Verbeult';
     Nachteil.Nr := 1;
     LNachteil.AddObject(inttostr(Nachteil.Nr), Nachteil);

     Nachteil := TNachteil.Create;
     Nachteil.Name := 'Beschmutzt';
     Nachteil.Nr := 2;
     LNachteil.AddObject(inttostr(Nachteil.Nr), Nachteil);

     LNachteil.SaveToFile('Test.dat');
end;

function TBefNachteil.Lesen;
var s : String;
begin
     LNachteil := TStringlist.Create;
     LNachteil.LoadFromFile('Test.dat');
     s := ((LNachteil.Objects[0] as TNachteil).name);
     showmessage (s);
end;

Luckie 21. Mär 2004 23:37

Re: Problem bei Stringlist.SaveToFile/LoadFromFile
 
Die Objekte kannst du so nicht speichern, das sind nur Zeiger auf Adressen im Speicher.

Jens Schumann 22. Mär 2004 07:30

Re: Problem bei Stringlist.SaveToFile/LoadFromFile
 
Hallo,
Objekte kann man prima speichern.
Such hier mal nach TCollection und/oder TCollectionItem.

Ich habe hier mal ein Beispiel dazu gepostet. Weiß aber nicht wo es ist.

Hab's gefunden:
TCollection


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz