Thema: Delphi Suche in ListBoxes

Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: Suche in ListBoxes

  Alt 31. Mär 2007, 17:46
Hi und erstmal Herzlich Willkommen in der DP

Zitat von Loni:
Also ich möchte gerne (am besten über den Finddialog) 2 ListBoxes nach einem eingegeben Wort durchsuchen lassen und dieses dann
markieren lassen (z.B. in clred).
Hier wäre die erste Frage, wie weit Du soweit gekommen bist. Wie würdest Du das ganze denn ganz naiv (unabhängig von Delphi) machen. Lass einfach mal eine sehr spezielle Funktion (wie FindDialog) außen vor und schreib das auf, alles was Du dann tun musst ist schauen, wie Du das gleiche in Delphi umsetzen kannst.

Eine ListBox ist ja erstmal nicht viel mehr als eine Liste von Zeichenketten/Strings, die angezeigt werden (und natürlich kann man auch scrollen). Wenn ich Dir eine Liste von Sätzen gebe und Du einen Bestimmten finden sollst, wie machst Du das?
Ich denke mal auch Du würdest den einfach Zeile für Zeile durchgehen und nach einem String suchen.

Anhaltspunkt wäre hier also Hier im Forum suchenString suchen (ohne dass ich jetzt weiß ob Du schon das passende findest! Was noch fehlt ist, dass Du das für jede Zeile machen musst. So etwas wie "Für alle" oder "Von ... bis" spricht immer für eine Schleife. Du musst also die Schleife über alle Zeilen laufen lassen und in dieser Schleife für die jeweilige Zeile schauen ob der String vorhanden ist, ggf. diese Zeile markieren (was ich mal außen vor lasse).
Bleibt erstmal die Frage, wie Du raus bekommst, wieviele Zeilen eine Listbox gerade hat und was in welcher Zeile steht. Und der einfachste Weg so etwas raus zu bekommen ist immer der Blick in die Online Hilfe (OH). Such einfach mal in der Hilfe nach TListBox. Da findest Du dann eine Klasse. Oben stehen dann Dinge wie Ereignisse, Methoden (Prozeduren und Funktionen) sowie Eigenschaften. Diese Namen halten immer was sie versprechen, Ereignisse sind wirklich Ereignisse, die eintreten können, über die Du informiert werden kannst.
Und so etwas die Anzahl der Zeilen ist ganz klar eine Eigenschaft. Mit etwas englisch-Kenntnissen findest Du sehr schnell die richtige Eigenschaft, zudem steht in der aktuellen Hilfe (z.B. Turbo Delphi Explorer) auch immer eine kleine Erklärung zu jeder Eigenschaft. Schau einfach mal nach und sag bescheid / bzw. frag weiter nach, wenn Du etwas nicht verstehst und/oder irgendwo nicht weiter kommst.

Gruß Der Unwissende
  Mit Zitat antworten Zitat