Page 1 sur 1

[R] Array et Gui Child

Posté : mer. 30 mai 2012 18:46
par Julien
Bonjour,

Voila un petit résumé du script :
► Afficher le texte
J'ai mis l'essentiel pour l'exemple. Donc une Gui dans une Gui pour afficher une scrollbar, lorsque le tableau est mis à jour ($Button2) Array2 s'affiche correctement en revanche pour les deux autres cas (Array1 et Array3) cela ne me montre que mon tableau d'origine.

Faut il indiquer au premier GUI que le tableau est à jour ?
Comment cela est-ce possible d'autant que $Array est déclaré en Global ?

D'avance merci.

Re: [..] Array et Gui Child

Posté : mer. 30 mai 2012 21:36
par mikell
En l'état, le code que tu as posté n'est pas utilisable donc ne sert à rien comme exemple
Qu'est-ce que tu veux faire au juste ?

La solution évidente serait de faire une seule gui avec une listview (qui aura une scrollbar), et des boutons pour mettre à jour la listview en même temps que l'array

Re: [..] Array et Gui Child

Posté : jeu. 31 mai 2012 11:17
par Julien
Bonjour,

Effectivement le code que j'ai indiqué c'était juste les grandes lignes.

Ce que je veux faire :

Un GUI principal dans lequel il y'a un Tab (plusieurs onglets), dans un des onglets une zone avec scrollbar qui contient une série d’icône et de Checkbox (généré à la volée d'après un "Array" ou pas car je ne parviens pas à en maitriser les événements, l'icône s'affiche si une valeur est a True dans le "Array"), un clic sur une icône déclenche une action et idem pour les checkbox. Voila plus précisément ce que je veux faire.

Pour les événements je veux n'avoir à modifier que mon "Array", c'est à dire que tout le reste s'adapte en fonction de ce dernier. Les fonctions à exécuter y sont indiqués que se soit pour l’icône ou pour la checkbox.

Pour compléter, je vais avoir une fonction qui va juste créer le GUI en fonction du "Array", une fonction qui va se charger de mettre à jour le "Array" et une autre qui ne se chargera que de lire le "Array" pour mettre à jour. J'utilise le même Gui enfant pour faire du multipage (Suivant/Précédent) donc le "tableau" graphiquement est reconstruit à chaque changement de page avec mise à jour des données.

Merci.
mikell a écrit :En l'état, le code que tu as posté n'est pas utilisable donc ne sert à rien comme exemple
GUI principal :
► Afficher le texte
GUI 2 :
► Afficher le texte
Et la fonction pour les scrollbar en pièce jointe.

Re: [..] Array et Gui Child

Posté : jeu. 31 mai 2012 13:57
par Julien
Je me permet de re-poster car je viens de refaire intégralement mon exemple, le principe reste le même mais je génère les différents GUI enfant avant l'affichage du GUI principal, ce qui me permet de ne pas recréer à chaque fois l'ensemble.

Cela fonctionne mieux pour moi et je trouve cela plus propre.
Dans cet exemple je suis obligé de placer l'incude du Form2 juste avant l'affichage, ça fait vraiment moche mais dans mon application j'ai pas le même phénomène, l'include est en début de code avec les autres et cela fonctionne bien sans erreurs.

J'ai fais des test en rapport avec ma premier question de ce post et je ne reproduit pas l'erreur avec ce nouveau code.

Maintenant je m’attaque au événements sur les checkbox et icône générés à la "volé" mais je ne sais pas bien m'y prendre. Est il possible de générer le code dans le switch sachant que plusieurs GUI enfant pourront être crée en fonction de $Total_Value_Page ?

Le GUI Principal :
► Afficher le texte
Le GUI 2 :
► Afficher le texte

Re: [..] Array et Gui Child

Posté : jeu. 31 mai 2012 15:36
par mikell
Il me semble que oui

Code : Tout sélectionner

For $i = ... to ...
    Switch $nMsg[0]
           Case Eval("CheckBox" & $i)
             ....
    EndSwitch
Next
Mais vu que je n'aurais pas du tout construit le script comme ça (question d'habitude) et que je ne sais pas à quoi il va servir, je t'avoue que je suis un peu perdu dans tes guis et tes assign

Re: [..] Array et Gui Child

Posté : jeu. 31 mai 2012 16:10
par Julien
Merci Mikell, je vais essayé ça. Je me pose quand même la question de savoir si je devrais pas mieux m'orienter vers le mode événementiel.

mikell a écrit :Mais vu que je n'aurais pas du tout construit le script comme ça (question d'habitude)...
Par curiosité tu aurais fait comment ?
mikell a écrit :... je ne sais pas à quoi il va servir, je t'avoue que je suis un peu perdu dans tes guis et tes assign
Il sert à créer dynamiquement une liste de cases à cocher et afficher une icône pour l'aide juste avant la checkbox si défini à true dans le tableau. En fait je veux n'avoir à toucher que mon "Array" et que la construction graphique, les actions, etc... soient tirées à partir du "Array".

Re: [..] Array et Gui Child

Posté : jeu. 31 mai 2012 16:27
par mikell
Oui non mais je voulais dire "à quoi va servir le programme"
J'imagine que sa finalité n'est pas juste d'afficher des checkboxes :mrgreen:
Julien a écrit :Par curiosité tu aurais fait comment ?
Eh bien, ça dépend du but du soft, justement !
Afficher plusieurs "pages" n'implique pas nécessairement de faire une gui par page
Apparemment, tu utilises la même array que tu mets à jour, en adaptant les icones checkboxes etc à chaque mise à jour
Donc j'aurais fait une seule gui, et des arrays icons[] et $checkbox[] évolutives en même temps que l'array principale pour contenir les ids des controles créés
A chaque modif, les arrays sont mises à jour en même temps et la gui est actualisée

On peut aussi faire une listview avec icones et checkboxes pour chaque item
Le choix est large, mais les heures de vol m'ont appris que plus tu crées de trucs, plus les risques de cagade croissent exponentiellement :mrgreen:

Et oui, le onevent (ou le GuiRegisterMsg) c'est mieux, ya pas photo

Re: [..] Array et Gui Child

Posté : ven. 01 juin 2012 07:49
par Julien
En fin de compte je vais utiliser plusieurs array. Merci Mikell pour ton aide.
J'ai transformé tout mon code pour le mode évènementiel et cela fonctionne.

Re: [R] Array et Gui Child

Posté : ven. 01 juin 2012 13:53
par mikell
En fait, plutôt que plusieurs arrays qui évoluent en parrallèle, rien n'empêche de garder la méthode mais de tout stocker dans la même array, ça allège bien le script
Dans ce petit script c'est pour une gestion array <=> listview mais la démarche est la même
► Afficher le texte

Re: [R] Array et Gui Child

Posté : ven. 15 juin 2012 09:25
par Julien
Bonjour,

Désolé mikell de ne pas avoir répondu avant, cela fait deux fois que je ne répond pas à vos derniers messages. Je ne reçois pas les mails de notifications et n'ai pas trop le reflexe de passer par le panneu utilisateur.

Pour ce qui est du script j'ai fais plusieurs test et refait plusieurs fois le tout. Votre exemple est vraiment interessant.

Merci.