Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Delphi - Campo di ricerca per ListBox
Forum - Delphi - Campo di ricerca per ListBox

Avatar
a_butta (Member)
Expert


Messaggi: 578
Iscritto: 16/03/2010

Segnala al moderatore
Postato alle 16:19
Domenica, 28/03/2010
Ciao a tutti. Volevo chiedere se esiste un modo per fare di una Edit un campo di ricerca di una listbox.
Ad esempio ho in una list box dei nomi, mettiamo
Marco
Giuseppe
Carlo
Mamma
Marcello
Marta
Carla


A me interessa che se io scrivo nella Edit ad esempio Ma, in un altra listbox (preferibilmente nella stessa però immagino che la questione sarebbe molto più complicata) solo i campi che inziano per Ma. Quindi nella ListBox2 avrò
Marco
Mamma
Marcello
Marta

spero di essermi spiegato...

PS: non ho dimestichezza con i database e non ho tempo di mettermi ad impararli, quindi mi servirebbe una soluzione applicabile alla ListBox

Grazie a tutti anticipatamente
Saluti

PM Quote
Avatar
systemgvp (Normal User)
Expert


Messaggi: 296
Iscritto: 14/04/2008

Segnala al moderatore
Postato alle 22:10
Domenica, 28/03/2010
potresti semplicemente associare all'evento KeyPressed o simile del TEdit
un codice di ricerca nella list box.

in pratica dovresti avere due liste, una con i dati e una temporanea dove
viene visualizzata la ricerca.

a ogni pressione del tasto sul TEdit il codice prende la riga iesima della
lista dati e valuta le prime N lettere, tipo se memorizzi le stringhe dati
nella variabile DATO e il contenuto del TEdit nella variabile RICERCA avrai
una cosa simile:

//valuta se ci sono lettere uguali
contatore:=0;
for i := 1 to LettereDigitate do
begin
  if (DATO = RICERCA) then contatore := contatore+1;
end;
//controllo validità
if (contatore = LettereDigitate) then Aggiungi la stringa DATO alla lista dei ricercati

il tutto naturalmente ripetuto per l'intero contenuto della lista


PM Quote
Avatar
lom89 (Normal User)
Newbie


Messaggi: 15
Iscritto: 11/02/2010

Segnala al moderatore
Postato alle 13:14
Domenica, 11/04/2010
per far questo serve la funzione split, per dividere le singole lettere, che putroppo ho visto che delphi non ha...ho trovato cmq un codice per poterla implementare, se serve chiedete!

PM Quote