Überlege doch mal, was du da überhaupt machst:
Zitat von
Delphiturbo:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
// ...
indexactuell : integer;
begin
indexactuell := Listbox1.Itemindex;
// ...
ListBox1.ItemIndex := ListBox1.Perform(LB_SELECTSTRING, indexactuell, LongInt(@search)) ;
indexactuell := indexactuell + 1;
end;
Du setzt zu Beginn der Prozedur jedesmal
indexactuell (tolles deutsch übrigens) auf den Item-Index, wozu inkrementierst du es dann am Ende? Die Lebensdauer der lokalen Variablen ist nach Abarbeiten der Prozedur zu Ende.
Schreibe es doch einfach so, das ist kürzer, logischer und übersichtlicher:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
search : array[0..128] of Char;
begin
//make sure Length(Edit1.Text) <= 128
StrPCopy(search, Edit1.Text) ;
ListBox1.ItemIndex := ListBox1.Perform(LB_SELECTSTRING, Listbox1.ItemIndex, LongInt(@search)) ;
end;