Bonjour, à tous
L'aide d'autoit fournit une explication "relativement" brève sur l'utilisation de la fonction _GUICtrlComboBox_AutoComplete(), avec en revanche, un exemple plutot complexe.
J'ai effectué des recherche sur google, sur le site http://www.autoitscript.com, et sur ce forum (en utilisant les terme auto completion, ou le nom de la fonction elle même), mais je n'ai pas trouvé d'explication à ma portée.
Concretement, dans un controle de type combobox, je désire completer automatiquement un mot à partir d'une liste, d'un tableau (array) ou d'un fichier texte.
j'ai essayé d'adapter l'exemple dans l'aide, mais je ne doit pas etre suffisament doué.
Si quelqu'un peut m'aider, je l'en remercie par avance.
[R] Demande information sur _GUICtrlComboBox_AutoComplete
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Demande information sur _GUICtrlComboBox_AutoComplete
Modifié en dernier par lerin57 le ven. 30 juil. 2010 12:36, modifié 1 fois.
- Tlem
- Site Admin

- Messages : 11824
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Demande information sur _GUICtrlComboBox_AutoComplete
L’auto-complétion dans le cas présent, ne se fait que par rapport aux noms qui ce trouvent dans la liste du ComboBox.
C'est à dire que le début du script d'exemple charge dans le ComboBox la liste des noms à afficher et la fonction _GUICtrlComboBox_AutoComplete se charge de choisir dans la liste le mot le plus approchant de ce que vous tapez dans la zone de saisie du ComboBox.
Edit :
Voici quelques explications sur le code d'exemple.Cette partie, charge dans le ComboBox la liste des fichiers exécutables du dossier Windows.
Ajoute 'une entrée' vers une fonction (WM_COMMAND) par rapport aux événements de la fenêtre.
La boucle d'attente ...
L'appel à la complétion.
La fonction qui surveille le champ de saisie du ComboBox.
Dans cette fonction, il y à beaucoup de chose qui ne vous serviront pas.
Entre autre la plupart des Case ne sont là que pour vous montrer ce qu'il est possible d'intercepter sur votre champ de saisie.
En réalité, seul le Case $CBN_EDITCHANGE vous est utile.
En ce qui concerne la fonction _DebugPrint, elle n'est là que pour afficher dans la console de Scite les renseignements sur l'action effectuée.
Voici le code de l'exemple, épuré de ce qui n'est pas utile :
C'est à dire que le début du script d'exemple charge dans le ComboBox la liste des noms à afficher et la fonction _GUICtrlComboBox_AutoComplete se charge de choisir dans la liste le mot le plus approchant de ce que vous tapez dans la zone de saisie du ComboBox.
Edit :
Voici quelques explications sur le code d'exemple.
Code : Tout sélectionner
_GUICtrlComboBox_BeginUpdate($hCombo)
_GUICtrlComboBox_AddDir($hCombo, @WindowsDir & "\*.exe")
_GUICtrlComboBox_EndUpdate($hCombo)Code : Tout sélectionner
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")Code : Tout sélectionner
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()Code : Tout sélectionner
Func _Edit_Changed()Code : Tout sélectionner
Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)Dans cette fonction, il y à beaucoup de chose qui ne vous serviront pas.
Entre autre la plupart des Case ne sont là que pour vous montrer ce qu'il est possible d'intercepter sur votre champ de saisie.
En réalité, seul le Case $CBN_EDITCHANGE vous est utile.
En ce qui concerne la fonction _DebugPrint, elle n'est là que pour afficher dans la console de Scite les renseignements sur l'action effectuée.
Voici le code de l'exemple, épuré de ce qui n'est pas utile :
► Afficher le texte
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [..] Demande information sur _GUICtrlComboBox_AutoComplete
He bé ...
Je vais paraitre pour un gros faignant, mais il ne nous ont pas vraiment simplifié la tache sur ce coup là.
Je vais reprendre l'etude de l'exemple simplifié que vous m'avez envoyé.
Une dernière question cependant :
la fonction _GUICtrlComboBox_AddDir permet d'ajouter une liste de dossiers.
pour ajouter une liste de type texte, j'ai utilisé la commande _GUICtrlComboBox_AddString(),
mais le résultat n'est pas terrible.
à savoir qu'une liste contenue dans un fichier texte affichera ses éléments sur une seule ligne, et pas les uns sous les autres.
Est ce normal ?
Je vais paraitre pour un gros faignant, mais il ne nous ont pas vraiment simplifié la tache sur ce coup là.
Je vais reprendre l'etude de l'exemple simplifié que vous m'avez envoyé.
Une dernière question cependant :
la fonction _GUICtrlComboBox_AddDir permet d'ajouter une liste de dossiers.
pour ajouter une liste de type texte, j'ai utilisé la commande _GUICtrlComboBox_AddString(),
mais le résultat n'est pas terrible.
à savoir qu'une liste contenue dans un fichier texte affichera ses éléments sur une seule ligne, et pas les uns sous les autres.
Est ce normal ?
- Tlem
- Site Admin

- Messages : 11824
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Demande information sur _GUICtrlComboBox_AutoComplete
Faites une boucle de lecture de votre fichier texte ligne par ligne et utiliser (pour chacune d'entre elle) la fonction _GUICtrlComboBox_AddString().
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [..] Demande information sur _GUICtrlComboBox_AutoComplete
Très bien.
je vais y aller à taton et me commenter le code sur les zones importante.
merci encore une fois de votre aide.
je apsse le sujet en résolu
je vais y aller à taton et me commenter le code sur les zones importante.
merci encore une fois de votre aide.
je apsse le sujet en résolu

