![]() |
Re: Problem mit Liste
Oki danke, nur wie mache ich eine TStringList? Find ich einfach nicht. Das einzigste was ich habe ist eine TStringGrid :?
EDIT: In TList geht add auch irgendwie nicht :wall:
Delphi-Quellcode:
[Fehler] Unit1.pas(32): E2035 Nicht genügend wirkliche Parameter
procedure TForm1.Button1Click(Sender: TObject);
var List: TListBox; begin List:=TListBox.Create; try List.Add(Edit1.Text); finally List.Free; end; end; [Fehler] Unit1.pas(34): E2003 Undefinierter Bezeichner: 'Add' |
Re: Problem mit Liste
TStringList ist nicht visuell. Entweder gleich 'ne TListBox oder (was besser ist) Code und Ausgabe trennen.
Delphi-Quellcode:
Edit:
uses Classes;
var mySL: TStringList; begin mySL := TStringList.Create; mySL.AddObject ('Test', TObject (5)); mySL.AddObject ('Test1', TObject (10)); mySL.AddObject ('Test2', TObject (7)); ListBox1.Assign (mySL); FreeAndNil(mySL); showmessage (inttostr (Integer (ListBox1.Objects[0]))); // 5 showmessage (inttostr (Integer (ListBox1.Objects[1]))); // 10 showmessage (inttostr (Integer (ListBox1.Objects[2]))); // 7 end; // ungetestet TList ist keine TListBox. ;) Die ListBox musste aus dem Komponenten-Reiter "Standard" auf deine Form ziehen. |
Re: Problem mit Liste
[Fehler] Unit1.pas(7): E2004 Bezeichner redefiniert: 'Classes'
:roll: Ich hab bei Standard nur eine TListBox drin :| Ehm ja, verlesen. Hab ne TListBox drin aber wie gesagt dort kommt der Fehler :roll: |
Re: Problem mit Liste
Bitte nicht ganz so hilflos. ;)
Entferne halt das "uses Classes" wieder, scheinbar wird die Unit oben schon eingebunden. Edit: Ja, TList wäre auch nicht visuell. TListBox - kann man mal so grob sagen - ist die visuelle Implementierung von TList/TStringList. |
Re: Problem mit Liste
Argh sry, steht ja schon drin (Classes).
Nun bekomme ich trozdem ein Fehler ab: ListBox1.Assign (mySL); [Fehler] Unit1.pas(31): E2003 Undefinierter Bezeichner: 'ListBox1' [Fehler] Unit1.pas(31): E2008 Inkompatible Typen [Fehler] Unit1.pas(36): E2029 ')' erwartet, aber Bezeichner 'Objects' gefunden [Fehler] Unit1.pas(39): E2029 '.' erwartet, aber ';' gefunden [Fataler Fehler] Project1.dpr(5): F2063 Verwendete Unit 'Unit1.pas' kann nicht compiliert werden Ich hab doch ne ListBox1 :( |
Re: Problem mit Liste
Du wirst wahrsch. versuchen, den Code nicht als Methode deiner Form1 auszuführen? Also du hast ihn wahrsch. kopiert und unten vor das end. oder so gesetzt. Das geht net ... ;)
Der Code muss in deiner Klasse sein. Also am besten 'n Button auf die Form machen, Doppelklick und dort den Code dann (inkl. var) rein. |
Re: Problem mit Liste
Hab mir doch gedacht das dort was nicht stimmt xD
Gut nu hab ich es in: procedure TForm1.Button1Click(Sender: TObject); rein Nu bekomme ich jedoch nen Fehler bei: showmessage (inttostr (Integer (ListBox1.Objects[0]))); // 5 showmessage (inttostr (Integer (ListBox1.Objects[1]))); // 10 showmessage (inttostr (Integer (ListBox1.Objects[2]))); // 7 [Fehler] Unit1.pas(42): E2003 Undefinierter Bezeichner: 'Objects' entferne ich diese paar Zeilen, starte und drücke den button: *Im Projekt Project1.exe ist eine Exception der Klasse EConvertError mit der Meldung 'TStringList kann nicht zu TListBox zugewiesen werden' aufegtreten.* *seufz* Och Manno :cry: edit: mit diesem mysl kenne ich mich gar nich aus :( |
Re: Problem mit Liste
1.) Statt ListBox1.Objects ListBox1.Items.Objects
2.) Statt ListBox1.Assign (mySL) ListBox1.Items.Assign (mySL) Wenn du dich womit nicht ausgekennst, mit Cursor rein und F1 drücken. ;) |
Re: Problem mit Liste
Wenn ich in der Hilfe mySL eingebe zeigt er mir gar nix an :(
Nun gehts ^^ Nur sind die nicht nach dem Wert sortiert :( Habs damit auch getestet:
Delphi-Quellcode:
Sortiert nur nichts
procedure TForm1.Button1Click(Sender: TObject);
begin mySL := TStringList.Create; ListBox1.Sorted:=True; mySL.AddObject ('Test', TObject (5)); mySL.AddObject ('Test1', TObject (10)); mySL.AddObject ('Test2', TObject (7)); ListBox1.Items.Assign(mySL); |
Re: Problem mit Liste
"mySL" ist auch kein Delphi-Element sondern eine Variable vom Typ TStringList. Dazu findest du was in der Hilfe. Ich hätte sie statt "mySL" auch "foobar" nennen können. ;)
Sortiert wird die Liste. Nur halt nach dem Text. Wenn du die Liste nach den Werten sortieren willst, musst du auch wieder per Hand ran. Element nach Element auslesen, vergleichen, ggf. tauschen. Stichworte: Bubblesort, ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:30 Uhr. |
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