Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ListBox-Eintrag ändern (https://www.delphipraxis.net/42207-listbox-eintrag-aendern.html)

der olli 15. Mär 2005 18:40


ListBox-Eintrag ändern
 
Hallo,

ich habe ein Programm, was mir in eine ListBox 100 Zufallszahlen ausgibt. Nun will ich, dass wenn man eine bestimmte Zahl in ein Edit-Feld eingibt und 'nen Button drückt, die ListBox nach dieser Zahl durchsucht wird und falls sie existiert, soll die Zahl in der ListBox durch eine null ersetzt werden.
Bin bis jetzt soweit:

Delphi-Quellcode:
FOR i := 0 TO ListBox1.Items.Count -1 DO
if StrToInt(Edit2.Text) = ListBox1.Items[i] THEN ListBox1.Items[i] := 0;
Hab schon gemerkt, dass das nicht funktioniert :)
Vielleicht kann mir ja hier einer helfen; hab schon gesucht, aber konnte nichtsdestotrotz das Problem noch nicht lösen :(

P.S.: Ich arbeite mit einem Array, um die Zahlen zu generieren (z : Array [0..100] of Integer).

Bernhard Geyer 15. Mär 2005 18:59

Re: ListBox-Eintrag ändern
 
Delphi-Quellcode:
  Idx := ListBox1.Items.ItemIndex(Edit2.Text);
  if Idx > -1 then
    ListBox1.Items[Idx] := '0';

whiteshark 15. Mär 2005 19:04

Re: ListBox-Eintrag ändern
 
Delphi-Quellcode:
FOR i := 0 TO ListBox1.Items.Count -1 DO
if (strtoint(edit1.text)=strtoint(ListBox1.Items[i])) then ListBox1.Items[i] := '0';
Setzte mal das '-Zeichen vor und nach der 0(Null).
Du muss den Wert aus der Listbox noch in eine Integerzahl umwandeln.

Bei mir hat es funktioniert! :-D

Ultimator 15. Mär 2005 19:07

Re: ListBox-Eintrag ändern
 
Delphi-Quellcode:
ListBox1.Items.Delete(ListBox1.Items.IndexOf(Edit1.Text))
;-)

Ups, hehe :oops: :-)

Ich mein natürlich:
Delphi-Quellcode:
ListBox1.Items.Strings[ListBox1.Items.IndexOf(Edit1.Text)] := '0';
Glaub ich mich erinnern zu können :mrgreen:

Pr0g 15. Mär 2005 19:10

Re: ListBox-Eintrag ändern
 
Zitat:

Zitat von Ultimator
Delphi-Quellcode:
ListBox1.Items.Delete(ListBox1.Items.IndexOf(Edit1.Text))
;-)

Wer sagt denn, dass er den Eintrag löschen will ;)

der olli 21. Mär 2005 20:30

Re: ListBox-Eintrag ändern
 
Danke für eure Hilfe; hab's folgendermaßen gelöst (Zahl wird gelöscht):

Prozedur:

Delphi-Quellcode:
procedure entferne (ListBox: TListBox; eintrag : String);            // Zahl in der ListBox suchen/entfernen
var i : Integer;
begin
 FOR i := 0 TO ListBox.Items.Count - 1 DO           // Inhalt durchlaufen
 IF ListBox.Items[i] = eintrag THEN                 // Falls Eintrag des Edit-Feldes mit Zeile der ListBox übereinstimmt...
 begin
  ListBox.Items.Delete(i);                          // ... entferne entsprechende Zeile...
  Exit                                              // ... und verlasse die Schleife
 end;
end;

Aufruf:

Delphi-Quellcode:
entferne(ListBox1, Edit2.Text)
Trotzdem danke für eure Hilfe, hat mir nichtsdestotrotz geholfen!


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