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 Suchen in ListBox ? (https://www.delphipraxis.net/115547-suchen-listbox.html)

Delphiturbo 13. Jun 2008 19:38


Suchen in ListBox ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo

mit dem Code wird zwar in ListBox1 nach dem Word gesucht und wenn was gefunden
wird auch markiert aber der Code sucht nur in dem ersten Word der Zeile :mrgreen:
Ich habe ein Beispiel (sehe Anhang, wo es das Wort Tom nicht finden kann)
Delphi-Quellcode:
{$R *.dfm}

procedure TForm1.Edit1Change(Sender: TObject);
const
  indexStart = -1;
var
  search : array[0..128] of Char;
begin
  //make sure Length(Edit1.Text) <= 128
  StrPCopy(search, Edit1.Text) ;
  ListBox1.ItemIndex := ListBox1.Perform(LB_SELECTSTRING, indexStart, LongInt(@search)) ;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  search : array[0..128] of Char;
  indexactuell : integer;
begin
indexactuell := Listbox1.Itemindex;

  //make sure Length(Edit1.Text) <= 128
  StrPCopy(search, Edit1.Text) ;
  ListBox1.ItemIndex := ListBox1.Perform(LB_SELECTSTRING, indexactuell, LongInt(@search)) ;
  indexactuell := indexactuell + 1;

end;

DeddyH 13. Jun 2008 19:42

Re: Suchen in ListBox ?
 
Dann iteriere durch die Items und schau mit Pos() selber nach.

Neutral General 13. Jun 2008 19:44

Re: Suchen in ListBox ?
 
Hi delphiturbo.

Ich mache dir einen Vorschlag... Ich habe hier ein Rezept für dich:
  • Listbox
  • for-Schleife (i: Integer)
  • Delphi-Referenz durchsuchenpos

Damit kann man genau das kochen, was du haben willst. Und der Vorteil ist: wenn dus hinbekommst, verstehst du den Code auch ;)

Nur so als Tipp: Das lästige Suchen nach Code im Internet lässt sich durch eigenes Nachdenken ersetzen. Dadurch lernt man zu programmieren und beim nächsten mal gehts schon viel einfacher. Super Sache oder?

Luckie 13. Jun 2008 19:47

Re: Suchen in ListBox ?
 
Und wie so oft, hilfe lesen bildet:
Zitat:

Zitat von Windows SDK
An application sends an LB_SELECTSTRING message to search a list box for an item that begins with the characters in a specified string.



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