[..] Création de label automatique

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
Xtroyer
Niveau 3
Niveau 3
Messages : 42
Enregistré le : dim. 11 juil. 2010 18:54
Status : Hors ligne

[..] Création de label automatique

#1

Message par Xtroyer »

Bonsoir à tous =)

Voilà, j'ai un petit soucis, en effet, pour mon programme permettant de gérer ces comptes d'un jeu quel qu’il soit, l'utilisateur rempli des Edits ensuite enregistrés dans un INI de la manière suivante :

Code : Tout sélectionner

If FileExists(@DocumentsCommonDir & "\Comptes.ini") = 0 Then
    $chiffre = 0
Else
    $chiffre = IniRead(@DocumentsCommonDir & "\Compte.ini", "Nombre de compte", "NoDC", 0)
    $chiffre += 1
EndIf
IniWrite(@DocumentsCommonDir & "\Comptes.ini", "Nombre de compte", "NoDC", $chiffre)
IniWrite(@DocumentsCommonDir & "\Comptes.ini", "Comptes", "NDC" & $chiffre, GUICtrlRead($IP_NDC))
IniWrite(@DocumentsCommonDir & "\Comptes.ini", "Comptes", "MDP" & $chiffre, GUICtrlRead($IP_MDP))
IniWrite(@DocumentsCommonDir & "\Comptes.ini", "Comptes", "Serveur" & $chiffre, GUICtrlRead($IP_SER))
IniWrite(@DocumentsCommonDir & "\Comptes.ini", "Comptes", "lvl" & $chiffre, GUICtrlRead($IP_LVL))
EndIf
Ensuite, on les récupère puis on les dispose dans un Group dans une GUI :

Code : Tout sélectionner

If FileExists(@DocumentsCommonDir & "\Comptes.ini") = 0 Then
For $i = 0 To IniRead(@DocumentsCommonDir & "\Comptes.ini", "Nombre de compte", "NoDC", 0) Step 1
If $i = 0 Then
    $Label & $i = GUICtrlCreateLabel(IniRead(@DocumentsCommonDir & "\Comptes.ini", "Comptes", "NDC" & $i, 0), 16, 104, 4, 4)
    $Label & $i = GUICtrlCreateLabel(IniRead(@DocumentsCommonDir & "\Comptes.ini", "Comptes", "MDP" & $i, 0), 176, 104, 4, 4)
    $Label & $i = GUICtrlCreateLabel(IniRead(@DocumentsCommonDir & "\Comptes.ini", "Comptes", "Serveur" & $i, 0), 336, 104, 4, 4)
    $Label & $i = GUICtrlCreateLabel(IniRead(@DocumentsCommonDir & "\Comptes.ini", "Comptes", "lvl" & $i, 0), 432, 104, 4, 4)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
Else
    $pos += 10
    $Label & $i = GUICtrlCreateLabel(IniRead(@DocumentsCommonDir & "\Comptes.ini", "Comptes", "NDC" & $i, 0), 16, 104 + $pos, 4, 4)
    $Label & $i = GUICtrlCreateLabel(IniRead(@DocumentsCommonDir & "\Comptes.ini", "Comptes", "MDP" & $i, 0), 176, 104 + $pos, 4, 4)
    $Label & $i = GUICtrlCreateLabel(IniRead(@DocumentsCommonDir & "\Comptes.ini", "Comptes", "Serveur" & $i, 0), 336, 104 + $pos, 4, 4)
    $Label & $i = GUICtrlCreateLabel(IniRead(@DocumentsCommonDir & "\Comptes.ini", "Comptes", "lvl" & $i, 0), 432, 104 + $pos , 4, 4)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
EndIf
Next
EndIf
Mais manque de pot ça fonctionne pas du tout quant à la création des label x) Une erreur de syntaxe au niveau de la création que je ne sais résoudre :x

Des idées ?
Modifié en dernier par Xtroyer le dim. 03 juil. 2011 20:41, modifié 2 fois.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2282
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Création de label automatique

#2

Message par jchd »

Utilise un tableau d'identifiants, c'est mille fois plus propre et facile que Assign() (ce que tu voulais faire).
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Création de label automatique

#3

Message par mikell »

Code : Tout sélectionner

$Label [color=#FF0000]& $i[/color] = GUICtrlCreateLabel()  ;  pas bon
$Label [color=#FF0000][$i][/color] = GUICtrlCreateLabel()   ; ça oui
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Xtroyer
Niveau 3
Niveau 3
Messages : 42
Enregistré le : dim. 11 juil. 2010 18:54
Status : Hors ligne

Re: [..] Création de label automatique

#4

Message par Xtroyer »

J'y ai pensé ce matin dans le RER x) je test de suite =)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Création de label automatique

#5

Message par mikell »

Il me semble que ça devrait donner quelque chose de ce genre
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Xtroyer
Niveau 3
Niveau 3
Messages : 42
Enregistré le : dim. 11 juil. 2010 18:54
Status : Hors ligne

Re: [..] Création de label automatique

#6

Message par Xtroyer »

Euh, vu l'organisation de mon INI je ne pense pas utiliser ce code Mikell

INI :
[Nombre de compte]
NoDC=3
[Comptes]
NDC0=
MDP0=
Serveur0=
lvl0=
Interet0=MOY
NDC1=Essai
MDP1=test
Serveur1=osef
lvl1=60
Interet1=MOY

Code qui ne fonctionne toujours pas :
► Afficher le texte
Dites moi, comment on sait dans quel GUI va être créer le label ?
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Création de label automatique

#7

Message par mikell »

Regarde GUISwitch() dans l'aide
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Xtroyer
Niveau 3
Niveau 3
Messages : 42
Enregistré le : dim. 11 juil. 2010 18:54
Status : Hors ligne

Re: [..] Création de label automatique

#8

Message par Xtroyer »

Raaa ça ne fonctionne pas ><
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Création de label automatique

#9

Message par mikell »

Xtroyer a écrit :Euh, vu l'organisation de mon INI je ne pense pas utiliser ce code Mikell
Tu l'as testé au moins ?
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Xtroyer
Niveau 3
Niveau 3
Messages : 42
Enregistré le : dim. 11 juil. 2010 18:54
Status : Hors ligne

Re: [..] Création de label automatique

#10

Message par Xtroyer »

Je viens d'essayer et aucun label n'est visible :x
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Création de label automatique

#11

Message par mikell »

Ecoute, tu vas tester le script qui est là-dessous (sans rien y changer) en mettant le ini "Comptes.ini" tel que tu l'as écrit dans le même dossier
► Afficher le texte
et tu vas voir que ça marche :P
Modifié en dernier par mikell le jeu. 30 juin 2011 23:08, modifié 3 fois.
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Xtroyer
Niveau 3
Niveau 3
Messages : 42
Enregistré le : dim. 11 juil. 2010 18:54
Status : Hors ligne

Re: [..] Création de label automatique

#12

Message par Xtroyer »

Bon en fait c'est réglé, je ne sais pas trop d'où venais le problème mais bon x)

Par contre, j'aimerais savoir comment faire un ascenseur verticale car dès qu'il y a trop de label, cela dépasse de la page et on ne les voit plus, je crois me souvenir qu'il faut utiliser les groupbox mais je ne me rappelle plus de quelle manière :x
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Création de label automatique

#13

Message par mikell »

Tu devrais mettre ce sujet en "résolu" et ouvrir un nouveau sujet :wink:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Xtroyer
Niveau 3
Niveau 3
Messages : 42
Enregistré le : dim. 11 juil. 2010 18:54
Status : Hors ligne

Re: [R] Création de label automatique

#14

Message par Xtroyer »

Me revoici =)

Voilà, le code fonctionne bien, mais j'aimerais savoir, quelque chose. En effet, lorsqu'on clic sur un bouton, cela crée les label et affiche la GUI, mais dès qu'on clic une deuxième fois, ça les recréer par dessus donnant l'impression qu'il se chevauche et j'aimerai éviter ça.
Je pensais créer la liste directement lors de la création de la GUI, utiliser GuiControlDelete et recréer par dessus mais ça ne semble pas fonctionner :x
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Création de label automatique

#15

Message par mikell »

Rhaa la la tu cogites pas assez :mrgreen:
Si j'ai bien compris, tu veux afficher tes labels à l'ouverture de la gui, et pouvoir ensuite rajouter une rangée de labels avec un bouton
Utilise les variables qui existent déjà !
Voilà un exemple (à toi de l'adapter) fait pour le ini de ton post précédent, essaye d'appuyer plusieurs fois sur le bouton :
► Afficher le texte
Tu remarqueras que la création des labels et leur mise à jour ont quelques points communs... pourquoi ne pas en faire en une fonction ? :wink:
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre