Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit TStringList (https://www.delphipraxis.net/46484-problem-mit-tstringlist.html)

Rastaman 25. Mai 2005 17:14


Problem mit TStringList
 
hallo. Ich habe eine Stringlist und als Delimeter habe ich "|" genommen.
Er reagiert überhaupt nicht auf die | zeichen. Z.b is der String "Hallo|du". Dann ist sl(die stringlist).Strings[0] "Hallo|du". Wenn der String jedeoch "Hallo| du" heisst, dann kommt bei sl.strings[0] "Hallo|" heraus. Er reagiert überhaupt nicht auf die | zeichen und trennt nur bei den Leerzeichen, was ich aber überhaupt nicht will. Er soll NUR und zwar NUR bei den "|" trennen.
Geht das?

jim_raynor 25. Mai 2005 17:16

Re: Problem mit TStringList
 
Er reagiert nur darauf, wenn du den kompletten Text der Eigenschaft DelimitedText zuweist. Ansonsten ist ihm das Trennzeichen völlig egal.

jfheins 25. Mai 2005 17:16

Re: Problem mit TStringList
 
Schau dir alternativ mal explode explode an ;)

Rastaman 25. Mai 2005 17:21

Re: Problem mit TStringList
 
Delphi-Quellcode:
    SL.DelimitedText := SL.Text;
so hab ichs gemacht.
Der Text wird aus ner Datei gelesen.

marabu 25. Mai 2005 17:49

Re: Problem mit TStringList
 
Hallo Gerrit89,

die eine Zeile ist nicht falsch. Kommt darauf an, was du noch so alles (nicht) machst.

Delphi-Quellcode:
var
  sl: TStringList;
begin
  sl := TStringList.Create;
  sl.Text := 'Was|hast|du|nur|falsch|gemacht|?';
  sl.Delimiter := '|';
  sl.DelimitedText := sl.Text;
  ShowMessage(sl.Text);
  sl.Free;
end;
Grüße vom marabu

Rastaman 25. Mai 2005 18:25

Re: Problem mit TStringList
 
Ahhhhhhhh es kommt also auf die Reihenfolge an :)
Danke!!!

Baron Fel 26. Mai 2005 16:01

Re: Problem mit TStringList
 
Erstaml ahllo an alee hier...
:hi:
iss mein erster Post in dem Forum....

Da der thraed vom Namen so schön passt, kann ichaj uch mal mein Pro heir posten...

ich habe zum testen, wie das mit Ini-Dateien und Stringlisten funktioniert, nen keleines Prog geschrieben... :coder:

dabei soll es einen String in eine Stringlist aufnehemen, enfach ranhängen oder reintun...nur er will net...
hier erstmal der Code:
Delphi-Quellcode:
var liste:TStringList;
begin
 liste.add(speicher.readstring('Punkte','Punktzahl','0')+'#'+speicher.readstring('name','name','')+'§'+speicher.readstring('level','Level','0'));
 listbox2.items:=liste;
end;
nur, ich bekomme eine ganz vielsagende Fehlermeldung...
eine von diesen mit ner Zugriffsverletzung, delphi meint, "liste" wär evielleicht net initialisiert, aber ich weiß auch net wie und hab es net gefunden...
wär toll, wennihr da hilfe fürmich hättet...

jim_raynor 26. Mai 2005 16:04

Re: Problem mit TStringList
 
Zitat:

Zitat von Baron Fel
Erstaml ahllo an alee hier...
:hi:
iss mein erster Post in dem Forum....

Auch willkommen in der Delphi Praxis.

Bitte mach in Zukunft für jede Frage ein neuen Thread auf, da es Thematisch doch nicht ganz passt.

Was du vergessen hast, ist die StringListe liste mit Create vorher zu erstellen (ganz wichtig bei jedem Delphi-Objekt);

Delphi-Quellcode:
var liste:TStringList;
begin
  liste:=TStringList.Create;
  liste.add(speicher.readstring('Punkte','Punktzahl','0')+'#'+speicher.readstring('name','name','')+'§'+speicher.readstring('level','Level','0'));
  listbox2.items:=liste;
  liste.Free;
end;
Free ist dazu da, den Speicher wieder freizugegeben (das Objekt zu löschen).

Allerdings kannst du es dir in deinem Beispiel auch sparen, da du direkt ListBox2.Items.Add(...) aufrufen kannst.

jfheins 26. Mai 2005 16:28

Re: Problem mit TStringList
 
Delphi-Quellcode:
var liste:TStringList;
begin
  liste:=TStringList.Create;
  liste.add(speicher.readstring('Punkte','Punktzahl','0')+'#'+speicher.readstring('name','name','')+'§'+speicher.readstring('level','Level','0'));
  listbox2.items:=liste;
  liste.Free;
end;
Und ganz richtig geht das so:
Delphi-Quellcode:
var liste:TStringList;
begin
  liste:=TStringList.Create;
  liste.add(speicher.readstring('Punkte','Punktzahl','0')+'#'+speicher.readstring('name','name','')+'§'+speicher.readstring('level','Level','0'));
  listbox2.items.text:=liste.text; // .text, sonst:
  liste.Free;                     // geben wir hier listbox.items frei ... ;)
end
oder so:
Delphi-Quellcode:
begin
  listbox2.items.add(speicher.readstring('Punkte','Punktzahl','0')+'#'+speicher.readstring('name','name','')+'§'+speicher.readstring('level','Level','0'));
end

Baron Fel 26. Mai 2005 16:33

Re: Problem mit TStringList
 
ok, danke für die schneleHilfe...

das Mit der Liste hat schon seine notwendigkeit, den es wird mal ne Highscore für mein schon bestehendes Spiel....

keine Oanik, nix großes, aber wenn ir wollt, dann könnt ihr nen Download haben..


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz