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
 
#23

Re: Listbox suche (Live) Buchstabenfolge

  Alt 1. Nov 2009, 18:11
Guck mal, du hast folgenden Code:

Delphi-Quellcode:
procedure TForm1.SucheditKeyPress(Sender: TObject; var Key: Char);
begin
  if Suchedit.text='then
  else
    Mailerlistbox.Items.Text:=Merkliste;
    FilterItems(Mailerlistbox.Items,Suchedit.Text);
end;
Schöner wäre es übrigens so:

Delphi-Quellcode:
procedure TForm1.SucheditKeyPress(Sender: TObject; var Key: Char);
begin
  if Suchedit.text <> 'then
    Mailerlistbox.Items.Text := Merkliste;
    FilterItems(Mailerlistbox.Items, Suchedit.Text);
end;
Ich vermute, die beiden Anweisungen nach dem "else" sollen nur ausgeführt werden, wenn der String leer ist, also fehlen hier "begin" und "end (oder auch nicht, wenn es so gewollt ist):

Delphi-Quellcode:
procedure TForm1.SucheditKeyPress(Sender: TObject; var Key: Char);
begin
  if Suchedit.text <> 'then
  begin
    Mailerlistbox.Items.Text := Merkliste;
    FilterItems(Mailerlistbox.Items, Suchedit.Text);
  end;
end;
Gleiches gilt für deine "then else"-Lösung.

Du kannst es natürlich auch so machen:

Delphi-Quellcode:
procedure TForm1.SucheditKeyPress(Sender: TObject; var Key: Char);
begin
  if Suchedit.text = 'then
    // fülle die ganze ListBox
  else
  begin
    Mailerlistbox.Items.Text := Merkliste;
    FilterItems(Mailerlistbox.Items, Suchedit.Text);
  end;
end;
Edit: Und richtig, OnChange ist besser geeignet.
  Mit Zitat antworten Zitat