[..] Tableau dans GUI
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.
- ricky
- Niveau 7

- Messages : 443
- Enregistré le : ven. 06 févr. 2009 09:25
- Localisation : Suisse
- Status : Hors ligne
[..] Tableau dans GUI
Hello,
j'ai besoin de votre aide.
J'aimerais afficher un tableau deux dimensions dans une gui. Ensuite sélectionner une entrée et si je presse sur un bouton ça va supprimer cette entrée dans le tableau (donc avec décalage de tous les valeurs en dessous). Qqn aurait un peu de temps pour me montrer ça?
Le tableau contient 3 colonnes, mais il n'y a que les deux premières et avec des entêtes tout en haut.
Merci d'avance pour votre aide!
j'ai besoin de votre aide.
J'aimerais afficher un tableau deux dimensions dans une gui. Ensuite sélectionner une entrée et si je presse sur un bouton ça va supprimer cette entrée dans le tableau (donc avec décalage de tous les valeurs en dessous). Qqn aurait un peu de temps pour me montrer ça?
Le tableau contient 3 colonnes, mais il n'y a que les deux premières et avec des entêtes tout en haut.
Merci d'avance pour votre aide!
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] tableau dans gui
Comme je ne sais pas exactement ce que tu veux dire par 'tableau 2 dimensions', voilà un script qui affiche un tableau 2D (array) dans un tableau (listview)
Les handles des items de listview sont définis dans une array, c'est plus simple à manipuler
Les handles des items de listview sont définis dans une array, c'est plus simple à manipuler
► 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 )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Tableau dans GUI
voici un exemple :
avec les évènement de gui et a partir de l'exemple tu pourra créer ce que tu veut.
si tu y arrive pas. je le ferais
bonne journée.
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <Array.au3>
GUICreate ("lol")
dim $array[10][2] = [[1, 2], [2, 3], [3, 4], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5]]
dim $array2[10][2]
for $i1 = 0 to UBound ($array) -1
for $i2 = 0 to UBound ($array, 2) -1
$array2[$i1][$i2] = GUICtrlCreateButton ($array[$i1][$i2], $i2 * 30, $i1 * 30, 30, 30)
Next
Next
GUISetState ()
sleep (3000)
GUICtrlSetBkColor ($array2[4][1], 0x323323)
sleep (3000)si tu y arrive pas. je le ferais
bonne journée.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Tableau dans GUI
@legend
Tu as lu au moins ce qu'il demande ricky ?
"afficher un tableau deux dimensions dans une gui. Ensuite sélectionner une entrée et si je presse sur un bouton ça va supprimer cette entrée dans le tableau"
Alors c'est quoi ton machin qui ressemble à rien ?
Tu es sûr que tu t'es pas trompé de sujet ? ou de forum ? parce que ici c'est les demandes de scripts, et on est censé répondre avec un minimum d'exactitude et de précision au cahier des charges du demandeur...
Ah bon ? et un exemple de quoi précisément ?legend a écrit :voici un exemple ... etc

Tu as lu au moins ce qu'il demande ricky ?
"afficher un tableau deux dimensions dans une gui. Ensuite sélectionner une entrée et si je presse sur un bouton ça va supprimer cette entrée dans le tableau"
Alors c'est quoi ton machin qui ressemble à rien ?
Il pourra créer que dalle, oui ^^legend a écrit :avec les évènement de gui et a partir de l'exemple tu pourra créer ce que tu veut.
Tu es sûr que tu t'es pas trompé de sujet ? ou de forum ? parce que ici c'est les demandes de scripts, et on est censé répondre avec un minimum d'exactitude et de précision au cahier des charges du demandeur...
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Tableau dans GUI
en effet, j'avais compris qu'il voulait supprimer une case et non pas une ligne et cela n'est pas très pratique utilisant une listview. (j'ai mal interprété le règlement d'après ce qu'il parait :p)
sinon j'ai codé cela dans un projet ou j'avais besoin de colorer quelques cases
je vais compléter le code pour te montrer ce que ça donne.
EDIT : code ajouté
sinon j'ai codé cela dans un projet ou j'avais besoin de colorer quelques cases
je vais compléter le code pour te montrer ce que ça donne.
EDIT : code ajouté
► Afficher le texte
- ricky
- Niveau 7

- Messages : 443
- Enregistré le : ven. 06 févr. 2009 09:25
- Localisation : Suisse
- Status : Hors ligne
Re: [..] Tableau dans GUI
@legend : merci pour ton exemple, mais ça ne rentre pas dans ma demande. Car j'ai deux valeur à afficher.
@mikell : merci pour ton exemple, il marche super bien. Il manquait cette ligne _ArrayDelete($array, $index) pour que ça supprime aussi la ligne dans le tableau. Mais c'est parfait.
Je continue mes tests, c'est difficile d'en faire avec avec des cases à cocher et d'en supprimer plusieurs à la fois?
@mikell : merci pour ton exemple, il marche super bien. Il manquait cette ligne _ArrayDelete($array, $index) pour que ça supprime aussi la ligne dans le tableau. Mais c'est parfait.
Je continue mes tests, c'est difficile d'en faire avec avec des cases à cocher et d'en supprimer plusieurs à la fois?
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Tableau dans GUI
Non pas difficile
► 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 )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- ricky
- Niveau 7

- Messages : 443
- Enregistré le : ven. 06 févr. 2009 09:25
- Localisation : Suisse
- Status : Hors ligne
Re: [..] Tableau dans GUI
merci, mais il y a un petit soucis, si j'en sélectionne 2, ça marche pas à tous les coups.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Tableau dans GUI
Hmpf 2 erreurs d'inattention 
► 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 )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- ricky
- Niveau 7

- Messages : 443
- Enregistré le : ven. 06 févr. 2009 09:25
- Localisation : Suisse
- Status : Hors ligne
Re: [..] Tableau dans GUI
Il y avait une petite erreur, dans la boucle For $index = $count si tu mets -1, ça va poser des problèmes.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Tableau dans GUI
$count = 4
$ligne[4] n'existe pas
La boucle For doit aller pour l'index de 3 à 0 step -1
La preuve :
$ligne[4] n'existe pas
La boucle For doit aller pour l'index de 3 à 0 step -1
La preuve :
Code : Tout sélectionner
$count = ControlListView($gui, "", $listview, "GetItemCount")
For $index = $count To 0 step -1
Msgbox(0,"", $ligne[$index]) [color=#FF0000] ; <<<<<<<<<<[/color]
If _GUICtrlListView_GetItemChecked($listview, $index) Then
GUICtrlDelete($ligne[$index])
_ArrayDelete($ligne, $index)
_ArrayDelete($array, $index)
EndIf
Next
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- ricky
- Niveau 7

- Messages : 443
- Enregistré le : ven. 06 févr. 2009 09:25
- Localisation : Suisse
- Status : Hors ligne
Re: [..] Tableau dans GUI
Ah oui, mais moi je commence à la ligne 1, c'est pour ça! Je n'ai pas le soucis.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Tableau dans GUI
C'est une question de principe
" For $index = $count+17 To 0 step -1 " dans le script ça marche aussi
" For $index = $count+17 To 0 step -1 " dans le script ça marche aussi
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- ricky
- Niveau 7

- Messages : 443
- Enregistré le : ven. 06 févr. 2009 09:25
- Localisation : Suisse
- Status : Hors ligne
Re: [..] Tableau dans GUI
J'aimerais utiliser la de surligner chaque ligne différemment avec ceci : $GUI_BKCOLOR_LV_ALTERNATE
Mais comment le configure, je comprends pas!!!
Mais comment le configure, je comprends pas!!!
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Tableau dans GUI
► 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 )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- ricky
- Niveau 7

- Messages : 443
- Enregistré le : ven. 06 févr. 2009 09:25
- Localisation : Suisse
- Status : Hors ligne
Re: [..] Tableau dans GUI
Ca marche bien.
Comment dois-je faire pour vider le treeview? En pressant par exemple sur un bouton, je le vide.
Merci d'avance pour votre aide
Comment dois-je faire pour vider le treeview? En pressant par exemple sur un bouton, je le vide.
Merci d'avance pour votre aide
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Tableau dans GUI
Toujours avec le même type de code
Code : Tout sélectionner
Case $viretout_btn
$count = ControlListView($gui, "", $listview, "GetItemCount")
For $index = $count-1 To 0 step -1
GUICtrlDelete($ligne[$index])
Next" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- ricky
- Niveau 7

- Messages : 443
- Enregistré le : ven. 06 févr. 2009 09:25
- Localisation : Suisse
- Status : Hors ligne
Re: [..] Tableau dans GUI
Effectivement, c'était simple.
J'y avais pas pensé. Je cherche trop loin.
Encore une petite question, est-il possible que sur une longue liste on dise au programme de descendre l'ascenseur pour que la dernière entrée soit visible?
J'y avais pas pensé. Je cherche trop loin.
Encore une petite question, est-il possible que sur une longue liste on dise au programme de descendre l'ascenseur pour que la dernière entrée soit visible?
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Tableau dans GUI
Pas testé mais ça devrait marcher ^^
Code : Tout sélectionner
$count = ControlListView($gui, "", $listview, "GetItemCount")
GUICtrlSendMsg($listview, $LVM_SCROLL, 0, $count*16)" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
