Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi CD-Liste in Datei schreiben (https://www.delphipraxis.net/79786-cd-liste-datei-schreiben.html)

Sunlight7 28. Okt 2006 14:43

Re: CD-Liste in Datei schreiben
 
Man könnte natürlich einen "Grenzstring" einfügen.

Wenn Du es aber genaus lädst, wie es gespeichert wird, dann gibt's keine Probleme.
So eine ähnliche Speicherung hab ich auch mal geschrieben.
Man könnte noch die Steuerzeichen von StringList.Text (#13#10) ändern, dann würde es in der Datei in einer Zeile stehen.

Zitat:

Zitat von bttb930
na, aber wenn Du writeln(wCD.songTitles) aufrufst, was passiert dann? Dann wird jedenfalls nicht die stringliste geschrieben.

Was denn sonst?
Wenn man vorher wCD.songTitles den Text der StringListe zuweist.

bttb930 28. Okt 2006 14:48

Re: CD-Liste in Datei schreiben
 
Zitat:

Zitat von Sunlight7
Zitat:

Zitat von bttb930
na, aber wenn Du writeln(wCD.songTitles) aufrufst, was passiert dann? Dann wird jedenfalls nicht die stringliste geschrieben.

Was denn sonst?
Wenn man vorher wCD.songTitles den Text der StringListe zuweist.

Das Problem ist, das songTitles kein String sondern eine Stringliste ist. Also intern eigentlich eine Art Integer, nämlich die Adresse wo die Instanz vom Typ TStringList im Speicher liegt. Dementsprechend wird auch nur diese Adresse geschrieben, mehr nicht.

Ich hab's jetzt nicht ausprobiert, bin aber ziemlich sicher. Ihr könnt's ja ausprobieren wenn ihr mir nicht glaubt.

Sunlight7 28. Okt 2006 14:52

Re: CD-Liste in Datei schreiben
 
Und was ist TStringList.Text?
Ein String :roll:

Edit: Da ich TStringList.Text öfters nutze weiß ich, das das funktioniert.
Probier mal das:
Delphi-Quellcode:
MyList.Text:='Zeile 1'#13#10'Zeile 2'#13#10'Zeile 3';
ShowMessage(MyList[0]);

stevewilson 28. Okt 2006 14:59

Re: CD-Liste in Datei schreiben
 
danke, danke erstmal, werde heute oder morgen sämtliche vorschläge von euch probieren...

bttb930 28. Okt 2006 15:32

Re: CD-Liste in Datei schreiben
 
Ja, aber Du hast nicht von songTitles.Text gesprochen sondern von songTitles. Und lies Dir meinen Beitrag nochmal durch - da schreibe ich doch, dass es mit songTitles.Text geht, dass man als Problem nur hat, dass man nicht weiß wie lang der String ist (weil er über mehrere Zeilen gehen kann).

Zitat:

Zitat von Sunlight7
Und was ist TStringList.Text?
Ein String :roll:

Edit: Da ich TStringList.Text öfters nutze weiß ich, das das funktioniert.
Probier mal das:
Delphi-Quellcode:
MyList.Text:='Zeile 1'#13#10'Zeile 2'#13#10'Zeile 3';
ShowMessage(MyList[0]);


Sunlight7 28. Okt 2006 15:42

Re: CD-Liste in Datei schreiben
 
Zitat:

Zitat von Sunlight7
Delphi-Quellcode:
type
  TCD=packed record
    interpreter:string;
    albumTitle :string;
    genre     :string;
    songTitles :string; // TStringList.Text verwenden
  end;

Da steht nichts im Record von TStringList :wink:
Deshalb hab ich ja dazu geschrieben "// TStringList.Text verwenden"...
Ich hoffe, jetzt ist alles klar?!

Edit: @stevewilson Natürlich kannst Du das dann auch in die Klasse so übernehmen.
Zu empfehlen ist es, die Steuerzeichen zu ändern.
Zb. Hab ich bei meinem Programm die #13#10 mit '¤¤' ersetzt, so steht der Text in einer Zeile.
Beim lesen wieder '¤¤' in #13#10 ändern...

bttb930 28. Okt 2006 15:49

Re: CD-Liste in Datei schreiben
 
Okay, ich hab mich mit meinem Post auf die ursprüngliche Klassendefinition bezogen, nicht auf Deinen Record.

Natürlich ist die ursprüngliche Klassendefinition wesentlich besser als der Record!! Wir leben in 2006, nicht in 1994. Ich bin schon vor Jahren dazu übergegangen, keine Records mehr zu benutzen und habe es weder vermisst noch bereut.

Und da Steve ja unbedingt objektorientiert programmieren soll, steht record hier eh nicht zur Debatte.

Sunlight7 28. Okt 2006 15:56

Re: CD-Liste in Datei schreiben
 
Gut, dann warten wir mal, was stevewilson daraus bastelt :coder:

Hatte den vorherigen Beitrag noch erweitert, der Rote Kasten fehlte, wieder mal, deshalb hab ich Deinen erst nachher gesehen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:30 Uhr.
Seite 2 von 2     12   

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