Recherche approchante dans une listbox

Soyez le premier à donner votre avis sur cette source.

Vue 5 075 fois - Téléchargée 689 fois

Description

Petite procedure permettant de faire une recherche approchante dans une listbox (ou autre).
A chaque caractere saisie dans le Edit1 une seule recherche est faite.
Voir le source suivant ou telecharger le Zip, teste en exemple.

Source / Exemple :


procedure TForm1.Edit1Change(Sender: TObject);
Var I : Integer;
begin
 For I := 1 To ListBox1.Items.Count Do
  Begin
   If Copy(LowerCase(ListBox1.Items[I-1]),1,Length(LowerCase(Edit1.Text)))
                                                  = LowerCase(Edit1.Text)
        Then  Begin
                 ListBox1.ItemIndex := I-1;
                 Break;
              End;
  End;
end;

Conclusion :


Chacun l'adaptera à sa façon..

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
1725
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
11 avril 2021
8
Je ne sais pas s'il y a plus "simple", mais moi j'aime bien ce petit bout de code, précisément pour sa simplicité et son efficacité.

Pline l'ancien, alias japee.

(y'a un sale temps sur Pompéi, aujourd'hui, comprend pas trop. Les prévisions météo étaient pourtant bonnes. Nous on s'en fout, on va pique-niquer au pied du Vésuve, comme prévu...) ;)
Messages postés
84
Date d'inscription
lundi 19 mai 2003
Statut
Membre
Dernière intervention
2 janvier 2010

Pour les bases de données il existe "FindNearest"

A+ Michel
Messages postés
17
Date d'inscription
dimanche 26 janvier 2003
Statut
Membre
Dernière intervention
17 juillet 2006

Salut.
J'ai eu besoin de faire cette manip pour une recherche dans
une base de donnée.
Il y a beaucoup plus simple grace aux messages windows.

procedure TForm1.Edit1Change(Sender: TObject);
begin
// Utilisation de l'API Sendmessage........
Listbox1.ItemIndex:=SendMessage(ListBox1.Handle,LB_FINDSTRING,-1,integer(Edit1.Text));
end;

Tu écris ce que tu cherche dans un TextBox et des qu'il y a concordance c'est bon. Se moque des minuscules/Majuscules.
PapyJo l'ancien.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.