Thema: Delphi ListBox.ItemIndex !

Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: ListBox.ItemIndex !

  Alt 27. Apr 2008, 11:43
Ü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;
  Mit Zitat antworten Zitat