if StrToInt(Edit2.Text) = ListBox1.Items[i] THEN ListBox1.Items[i] := 0;
Das kann schonmal gar nicht funktionieren, da [i]Items einen String und keinen Integer erwartet.
Das darüber mit dem Vergleich auf
-1 ebenfalls (wenn, dann müsste es
if ListBoxText.ItemIndex > -1 then heißen), das geht so nicht.
Ich würde es so in der Art schreiben, falls der Code dazu dient, alle Einträge zu ändern, die den gleichen Inhalt wie Edit2 haben:
Delphi-Quellcode:
for i := 0 to ListBoxText.Items.Count - 1 do
if ListBox1.Items[i] = Edit2.text then
ListBoxText.Items[i] := Edit10Aendern.Text
Das macht nun folgendes, kA, ob du das so möchtest, verstehe es nicht ganz
In der ListBox werden die Einträge gesucht, die dem Inhalt von Edit2 entsprechen und diese werden ersetzt durch den Inhalt von Edit10Ändern.
Falls du das nicht so haben wolltest, schreibe doch bitte nochmals, was genau du erreichen willst.