Recherche dans COMBOBOX [Résolu]

cs_thisisonehood 4 Messages postés mercredi 23 mai 2012Date d'inscription 4 juin 2012 Dernière intervention - 24 mai 2012 à 12:04 - Dernière réponse : cs_thisisonehood 4 Messages postés mercredi 23 mai 2012Date d'inscription 4 juin 2012 Dernière intervention
- 4 juin 2012 à 08:51
BONJOUR A TOUS LE EXPERTS.
Voici j'ai un gros soucis toujours avec les combobox. Pour faire une systeme de recherche performant. J'ai trouvé un super truc sur la toile qui me permet de regler facilement le probeme. En gros c'est une procédure. Le probleme est que je ne peux pas l'adapter a mon code donc a un evenement d'un combobox voici le code.
Sub trier(ByVal a(), ByVal gauc, ByVal droi) ' Quick sort
        Dim ref As Object, g As Long, d As Long
        Dim temp As Object
        ref = a(Int((gauc + droi) \ 2))
        g gauc : d droi
        Do
            Do While a(g) < ref : g = g + 1 : Loop
            Do While ref < a(d) : d = d - 1 : Loop
            If g <= d Then
                temp a(g) : a(g) a(d) : a(d) = temp
                g g + 1 : d d - 1
            End If
        Loop While g <= d
        If g < droi Then Call trier(a, g, droi)
        If gauc < d Then Call trier(a, gauc, d)
    End Sub

Est-Ce que quelqu'un a une idée. SVP ça fait longtemps que je suis bloqué au meme point est mon stage se termine bientot.
MERCI D'avance de votre aide
Afficher la suite 

4 réponses

Répondre au sujet
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 24 mai 2012 à 12:34
+3
Utile
Bonjour,

Je ne comprends pas : tu veux mettre en place "un système de recherche performant" et ... le code montré est un code de tri récursif !
Quant à :
En gros c'est une procédure. Le probleme est que je ne peux pas l'adapter a mon code donc a un evenement d'un combobox voici le code.

c'est encore plus surprenant car on ne trie qu'une seule fois (et donc : pas à lier à un évènement de la combo, sauf à être totalement maso pour refaire et re-refaire toujours le même travail, avec le même résultat ! ) .
Un tel tri n'est logique :
- qu'à la demande
ou
- qu'au chargement du form contenant la combo.
ou encore (mais commence à devenir relou) :
- qu'à chaque ajout à la combo !


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de ucfoutu
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 24 mai 2012 à 14:21
+3
Utile
Ecoute :
1) Je ne connais absolument pas VB.Net (même pas sur ma machine)
2) je me dis que VB.Net offre déjà du tout cuit à ce propos
3) je me rends sur MSDN, juste pour "voir"
4) j'y trouve que tout cela est déjà prévu, avec explication ici : Tapez le texte de l'url ici., par utilisation d'une simple propriété !

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de ucfoutu
cs_thisisonehood 4 Messages postés mercredi 23 mai 2012Date d'inscription 4 juin 2012 Dernière intervention - 24 mai 2012 à 13:12
0
Utile
Bonjour UcFoutu,
Merci pour ta réponse clair et net.
J'ai oublier de mentionner je suis DEBUTANT en VB.net et dans la programmation en générale.
En gros le code monté ne sert à rien.
Cependant aurait tu une idée pour faire un filtre selectif avec un combo pour la recherche.
Exemple avec des mots comme "MOTDEUN", "MOTDEDEUX", "MOTDETROIS".... "MOTDEN"
Ceci fait si l'utilisateur commence par taper "MOT" que le filtre ne montre que tout le mot commençant par ce qui est tapé.
J'ai essayé avec ça :

Combo.DropDownStyle = ComboBoxStyle.DropDownList

J'ai un filtre de tout les mots de la premiere lettre tapé mais apres l'utilisateur ne peut pas continuer a taper le mot.
Exemple si "M" filtre de tout les mot commençant par "M" en fesant "O" le filtre a tout les mot de "O"

J'ai aussi essayé ça :
If COMBO.FindString(.Text) > 0 Then
                search = .Text.Length
                .SelectedIndex = .FindString(.Text)
                .SelectionStart = search
                .SelectionLength = .Text.Length - search
End iF


L'utilisateur peut continuer a taper mais il y'a pas de filtre.
Donc est-ce que on pourrait combiner les deux choses ce qui fera bien mon affaire.
Merci
Commenter la réponse de cs_thisisonehood
cs_thisisonehood 4 Messages postés mercredi 23 mai 2012Date d'inscription 4 juin 2012 Dernière intervention - 4 juin 2012 à 08:51
0
Utile
Bonjour,
Merci pour ta réponse ça m'a beaucoup aidé.
Pardon cependant pour le temps de réponse long.
Commenter la réponse de cs_thisisonehood

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.