[R] Lire le texte d'une listbox

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Xtroyer
Niveau 3
Niveau 3
Messages : 42
Enregistré le : dim. 11 juil. 2010 18:54
Status : Hors ligne

[R] Lire le texte d'une listbox

#1

Message par Xtroyer »

Salut à tous =)

Ayant été étonné de ne pas voir de sujet là-dessus lors de ma recherche (je dois vraiment être idiot :lol: ), j'en crée un.
J'aimerais savoir comment savoir ce que l'utilisateur à sélection dans la listbox.
Par exemple, l'utilisateur choisi dans la listbox "Chien", comment mettre "Chien" dans une variable ?

Merci =)

EDIT : J'ai fini par utiliser des combobox x)
Modifié en dernier par Xtroyer le ven. 31 déc. 2010 21:11, modifié 1 fois.
Xtroyer
Niveau 3
Niveau 3
Messages : 42
Enregistré le : dim. 11 juil. 2010 18:54
Status : Hors ligne

Re: [..] Lire le texte d'une listbox

#2

Message par Xtroyer »

Je suis sûr que c'est un truc vraiment simple en plus :( J'ai test GUICrtlRead() et ça veut pas :x

Y'a vraiment personne pour m'éclairer svp :?:
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Lire le texte d'une listbox

#3

Message par zeshrek »

????
Tu es sur que tu as lu l'aide de GUICtrlCreateList () ?
Non parceque y a un exemple quand même... et puis il y a les exemples donnés ici même
Si vis pacem para bellum
Xtroyer
Niveau 3
Niveau 3
Messages : 42
Enregistré le : dim. 11 juil. 2010 18:54
Status : Hors ligne

Re: [..] Lire le texte d'une listbox

#4

Message par Xtroyer »

J'ai lu la doc, et franchement, je vois vraiment pas :?
J'ai teste plein de truc, mais j'arrive pas à savoir quel Item est choisis :x

Et le pire c'est qu'il me faut absolument l'info pour continuer mon code, du coup je bloque depuis une heure :lol:

Je vais pété un plomb, j'étais sûr de moi en utilisant le GuiCtrlSetData, même pas tiens :roll:
mystere
Niveau 4
Niveau 4
Messages : 62
Enregistré le : ven. 26 nov. 2010 22:37
Status : Hors ligne

Re: [..] Lire le texte d'une listbox

#5

Message par mystere »

Essay sa.

Code : Tout sélectionner

$lecture=guictrlread($vraiable_de_ta_listbox)
msgbox(4096,"test",$lecture)
Xtroyer
Niveau 3
Niveau 3
Messages : 42
Enregistré le : dim. 11 juil. 2010 18:54
Status : Hors ligne

Re: [..] Lire le texte d'une listbox

#6

Message par Xtroyer »

J'ai déjà essayé, ça n'affiche rien dans la box :/
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [..] Lire le texte d'une listbox

#7

Message par matwachich »

Salut!
Je pense qu'il est impossible que le problème soit de la ListBox elle même, je suis sure que c'est ailleur.
L'aide est très claire
To obtain the value of the control see GUICtrlRead.
Et l'exemple aussi (celui de l'aide et le mien ci-dessous)

Code : Tout sélectionner


#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 299, 171, 192, 124)
$List1 = GUICtrlCreateList("", 88, 16, 121, 97)
GUICtrlSetData(-1, "Item1|Item2|Item3")
$Button1 = GUICtrlCreateButton("Button1", 112, 128, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            MsgBox(0,"",GUICtrlRead($List1))

    EndSwitch
WEnd
 
Alors, donne nous ton code, et on pourra l'analyser
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [..] Lire le texte d'une listbox

#8

Message par bloodwolff »

Je suis sur qu'il modifie le handle après l'Avoir déclaré :)
Compte skype : bloodwolfff
Xtroyer
Niveau 3
Niveau 3
Messages : 42
Enregistré le : dim. 11 juil. 2010 18:54
Status : Hors ligne

Re: [..] Lire le texte d'une listbox

#9

Message par Xtroyer »

Voici mon code :oops:
► Afficher le texte
Avatar du membre
legend
Niveau 7
Niveau 7
Messages : 472
Enregistré le : dim. 26 sept. 2010 12:55
Status : Hors ligne

Re: [..] Lire le texte d'une listbox

#10

Message par legend »

Le problème est dans l'identification de plusieurs list.
D'ailleurs dans le guictrlsetdata tu devrais ajouter l'id du control, sinon il attribuera a toute les list la même valeur (quand tu met -1), et tu l'a peut être pas découvert parce que tes list ont la même valeur ^^.
Bref, pour ton problème c'est simple et basic fallait savoir ce que c'est une list.
J'explique, fallait juste cliquer sur "le nom de l'animal" et non pas tourner (descendre et remonter) la liste. essaye de faire une liste de grande mesures(sans les trucs pour tourner a droite) et tu comprendra mieux.
Bonne journée et n'oublie pas d'éditer le titre si le sujet est résolus :)
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..] Lire le texte d'une listbox

#11

Message par Jerome »

Coucou,

Nop c'est pas sa.

En faite, quand tu fait descendre tes "chien, chat, cheval", tu ne les sélectionne pas, par défaut c'est "".

Essaye de saisir chien puis de cliquer dessus (le mettre en surlignement) et tu veras que sa marchera.







Jérôme
Xtroyer
Niveau 3
Niveau 3
Messages : 42
Enregistré le : dim. 11 juil. 2010 18:54
Status : Hors ligne

Re: [..] Lire le texte d'une listbox

#12

Message par Xtroyer »

A ok, faut donc que je trouve un moyen de mettre en surligné automatiquement quand on passe dessus =')
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..] Lire le texte d'une listbox

#13

Message par Jerome »

Pourquoi utiliser une liste comme celle ci ?


Ne pouvez - vous pas utiliser une combobox ou autre ?




Jérôme
Xtroyer
Niveau 3
Niveau 3
Messages : 42
Enregistré le : dim. 11 juil. 2010 18:54
Status : Hors ligne

Re: [..] Lire le texte d'une listbox

#14

Message par Xtroyer »

je trouvais ça plus classe :mrgreen: C'est quand même vachement sympa =)
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Lire le texte d'une listbox

#15

Message par zeshrek »

Moi j'aurai bien vu qqchose comme ca :

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

; On rajoute 2 Includes nécéssaires
#include <EditConstants.au3> 
#include <UpdownConstants.au3>

; On rajoute 3 variables
$MaxAnimal=5 
Dim $AnimalList[$MaxAnimal]=["","Chat","Cheval","Chien","Lapin"]
$DefaultInput1=0

$GUI_A = GUICreate("Ajout", 402, 297, 193, 123)
$INP_B2 = GUICtrlCreateInput("", 40, 88, 121, 21)
$Label2 = GUICtrlCreateLabel("Nom :", 48, 16, 110, 17)
$INP_B1 = GUICtrlCreateInput("", 40, 56, 121, 21)
$INP_B3 = GUICtrlCreateInput("", 40, 120, 121, 21)
$INP_B4 = GUICtrlCreateInput("", 40, 152, 121, 21)
$BT_Valider2 = GUICtrlCreateButton("Valider", 112, 208, 177, 41, $WS_GROUP)
$L_B1 = GUICtrlCreateList("", 248, 56, 89, 19)
GUICtrlSetData(-1, "||Chat|Cheval|Chien|Lapin")
$L_B2 = GUICtrlCreateList("", 248, 88, 89, 19)
GUICtrlSetData(-1, "||Chat|Cheval|Chien|Lapin")
$L_B4 = GUICtrlCreateList("", 248, 152, 89, 19)
GUICtrlSetData(-1, "||Chat|Cheval|Chien|Lapin")
$L_B3 = GUICtrlCreateList("", 248, 120, 89, 19)
GUICtrlSetData(-1, "||Chat|Cheval|Chien|Lapin")
$Label1 = GUICtrlCreateLabel("Animal", 272, 16, 33, 17)
; on rajoute la pseudo liste déroulante, ainsi que le champs dans lequel sera mise l'info sélectionnée
$Input1 = GUICtrlCreateInput($DefaultInput1, 280, 35, 58, 21)
$Input0 = GUICtrlCreateInput("", 248, 35, 72, 19)
GUICtrlSetState($Input1, $GUI_HIDE)
$Updown1 = GUICtrlCreateUpdown($Input1)
$Input2 = GUICtrlCreateInput("", 40, 35, 121, 19)
GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
    ; on gere la pseudo liste déroulante. Quand on dépasse les bornes en + & en - on revient a l'autre bout, pour que ca tourne en rond
    if GUICtrlRead($Input1) <> $DefaultInput1 Then
        $DefaultInput1=GUICtrlRead($Input1)
        if $DefaultInput1 < 0 then $DefaultInput1 = $MaxAnimal-1
        if $DefaultInput1 >= $MaxAnimal then $DefaultInput1 = 0
        GUICtrlSetData($Input1,$DefaultInput1)
        GUICtrlSetData($Input0,$AnimalList[$DefaultInput1])
        GUICtrlSetData($Input2,$AnimalList[$DefaultInput1])
    EndIf
WEnd
 
Plutot que de modifier ton code, j'ai juste rajouté une ligne en haut de ton formulaire.
Si vis pacem para bellum
Répondre