Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - ListBox füllen
swbo - Mo 03.07.06 21:05
Titel: ListBox füllen
Hallo,
ich möchte gerne eine ListBox mit den Werten von 1 bis 59 mit einer for Schleife füllen. Dabei entspricht ja der erste Index vom Listenfeld dem Index 0. Somit wird dann bei der Programmausführung in der ListBox nach dem Wert 59 eine weitere unschöne Leerzeile angefügt. Wie kann ich diese umgehen? Vielen Dank!
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TForm1.Button2Click(Sender: TObject); var i: integer; begin with listbox1 do begin clear; for i:=1 to 59 do begin ItemIndex := 1; Items.add(IntToStr(i)); end; end; end; |
Moderiert von
raziel: Code- durch Delphi-Tags ersetztModeriert von
Gausi: Topic aus Sonstiges (Delphi) verschoben am Di 04.07.2006 um 12:16
Marco D. - Mo 03.07.06 21:13
:roll: Ich habe den Code übernommen und bei mir ist keine weitere Leerzeile. :roll:
Warum setzt du ItemIndex immer wieder auf 1 zurück und nicht auf 0 und warum in der Schleife und nicht danach?
swbo - Mo 03.07.06 21:26
Vielen Dank!
Nun ich habe den Code wie folgt geändert. Leider habe ich noch immer am Ende der 59 in der ListBox beim scrollen eine Leerzeile. Vielleicht ist diese auch normal?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Button2Click(Sender: TObject); var i: integer; begin with listbox1 do begin clear; for i:=1 to 59 do Items.add(IntToStr(i)); ItemIndex := 0; end; end; |
Moderiert von
raziel: Code- durch Delphi-Tags ersetzt
swbo - Mo 03.07.06 21:28
Wie kann ich eigentlich die von mir ausgewählte Zahl in eine Variable zurück geben lassen?
Marco D. - Mo 03.07.06 21:47
Meinst du, du hast nach der 59 einen weiteren Eintrag, der aus einem Leerstring besteht? Falls ja, dann poste mal den ganzen Code.
<Wie kann ich eigentlich die von mir ausgewählte Zahl in eine Variable zurück geben lassen?>
variablenname:=strtoint(listbox1.items[listbox1.itemindex]);
swbo - Mo 03.07.06 22:38
Eigentlich ist das der ganze Code. Da gab ja noch die Möglichkeit mit ListBox1.Items.Count -1 zu arbeiten. Aber da habe ich wohl etwas falsch gemacht, hat nicht geklappt, oder ich sehe bei den Beispielen nicht durch.
swbo - Mo 03.07.06 22:40
Ja, genau diesen Leerstring meine ich ... :)
Marco D. - Mo 03.07.06 22:42
:roll: Ich übernehm den Code mit Copy & Paste und es ist kein leerer Eintrag am Ende :roll: Lad mal dein Projekt hoch (Archiv mit allen Dateien)
Marco D. - Di 04.07.06 17:10
Lade dein Projekt bitte hier hoch. ;)
swbo - Di 04.07.06 19:27
Ich habe Dir den Code als private Nachricht geschickt.
ByteKiller - Di 04.07.06 21:51
Hi,
ich hab das selber ma probiert und da is keine Leerzeile!
Folgender Quelltext meinerseits:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.Button1Click(Sender: TObject); var i: integer; begin for i:= 1 to 59 do Listbox1.Items.add(inttostr(i)); end; |
Mfg ByteKiller
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!