Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Speichern von TStringList - Problem (https://www.delphipraxis.net/97777-speichern-von-tstringlist-problem.html)

Aurelius 16. Aug 2007 01:35


Speichern von TStringList - Problem
 
Hallo DP,ler :hi:

Ich hab ein Problem beim Speichern einer TStringList und schaff es zum Henker nicht das zu lösen.

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var Strings : TStringList;
begin
  if FileExists('Highscore.txt') = false then
  begin
    Strings := TStringList.Create;
    Strings[0] := 'PC';
    Strings[1] := '0';
    Strings[2] := 'PC';
    Strings[3] := '0';
    Strings[4] := 'PC';
    Strings[5] := '0';
    Strings[6] := '';
    Strings.SaveToFile('Highscore.txt');
    Strings.Free;
  end;
end;
Wie man sieht soll die exe, wenn die benötigte Highscore.txt net da ist, diese mit Standardwerten selbst schreiben. Nur tut sich da nix... Und die Suche hat mir auch nicht geholfen.

oldmax 16. Aug 2007 05:25

Re: Speichern von TStringList - Problem
 
Hi
Versuchs mal mit Strings.Add(...). Das geht dann auch in einer Schleife.
Delphi-Quellcode:
For i:=1 to 3 do
begin
  Strings.Add('PC');
  Strings.Add('0';
end;
Außerdem würd ich mich von einem Variablennamen wie Strings lösen. Sagt eigentlich nicht viel über den Sinn von TStringlist aus. Außerdem, wenn du sowieso jedes 2. Element mit "PC" beschreibst, dann kannst du das auch gleich vorgeben und nicht in die Stringlist schreiben.
Gruß oldmax

SirThornberry 16. Aug 2007 05:42

Re: Speichern von TStringList - Problem
 
aua :shock:
Du greifst mit "Strings[i]" auf Einträge zu die noch gar nicht existieren. Das kann natürlich nicht klappen. Wie bereits erwähnt ist "add" und "insert" hier die richtige Wahl.
Und damit dir zukünftig noch mehr sofort helfen können solltest du anstelle von
Zitat:

Nur tut sich da nix...
eine ordentliche Fehlerbeschreibung hinterlassen :wink: Denn Anhand der Fehlerbeschreibung findet man bedeutend Schneller die Ursache da die Fehlermeldung in der Regel die Ursache angibt.

oldmax 16. Aug 2007 05:48

Re: Speichern von TStringList - Problem
 
Hi
bei der Nachlese ist mir grad aufgefallen, die if Anweisung solltest du nicht auf =False sondern
Delphi-Quellcode:
If Not Fileexists then .....
Gruß oldmax

SirThornberry 16. Aug 2007 05:51

Re: Speichern von TStringList - Problem
 
Zitat:

Zitat von oldmax
Hi
bei der Nachlese ist mir grad aufgefallen, die if Anweisung solltest du nicht auf =False sondern
Delphi-Quellcode:
If Not Fileexists then .....
Gruß oldmax

Das ist Geschmackssache. Üblich ist es mit "not". Solange er aber nicht auf "irgendwas = True" prüft gibt es keine Probleme.

Aurelius 16. Aug 2007 16:09

Re: Speichern von TStringList - Problem
 
Ach so geht das... :oops:

Ich hab vorher immer nur auf txt-Files zugegriffen die es schon gab, diese also in meine Stringlist geladen, und da dachte ich dass das bei einem Erstellen einer neuen Stringlist genau so geht...

Thx an alle


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:29 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