Enregistrement d'une variable dans une autre page (dans un module)
MonsDeluC
Messages postés6Date d'inscriptionlundi 27 février 2006StatutMembreDernière intervention14 mars 2006
-
2 mars 2006 à 01:14
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 2018
-
3 mars 2006 à 00:36
Bonjour à vous, je suis actuelelment sur la conception d'un
touché/coulé, je suis Newbie en VB, donc cela reste galère pour moi...
Je recherche à trouver le moyen d'enregistrer une valeur dans un module. Je m'explique:
Il y a la grille du touché/coulé qui est derrière un enregistrement
dans un tableau, avec des coordonnées X et Y (donc A2 = x=1 et y=2)
quoi...
Chaque case est un boutton, dès qu'on clique dessu, je souhaiterai qu'il enregistre les valeurs de x et de y dans le module
enfin, apparament, ça serai comme ça...
Actuellement, j'arrive à lier le module au programme principa, mais
j'ai fait ça actuellement sur les bouttons (image en réalitée):
Private Sub TA4_Click(Index As Integer)
x = 4
y = 1
touche.Init
End Sub
touche.Init est mon module
Une fois dans le module, j'ai un "if x = 4 then" machin et tout qui est censé me donner un msgbox
Mais il ne me la donne pas, car les valeurs de x et y ne sont pas les mêmes dans le module...
Comment faire? merci de vos réponses...
MonsDeluC
A voir également:
Enregistrement d'une variable dans une autre page (dans un module)
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201821 2 mars 2006 à 01:51
Bonsoir,
En résumé tu veux stocker dans une variable les coups joués.
dans ton module tu peux déclarer une structure qui va stocker les coordonnées x et y.
8<---------------------------------------------------------------------------
Private Type PlayedCoord
x As Integer
y As String
End Type
Public CoupsJoues() As PlayedCoord
Sub RefreshList()
On Error GoTo IniTab
ReDim Preserve CoupsJoues(UBound(CoupsJoues) + 1)
Exit Sub
IniTab:
ReDim CoupsJoues(0)
Exit Sub
End Sub
--------------------------------------------------------------------------->8
Dans tes boutons tu n'as plus qu'a enregistrer les coordonnées dans la variables CoupsJoues. Exemple ci dessous avec les boutons représentant A1 et A2
8<---------------------------------------------------------------------------
Private Sub a1_Click()
RefreshList
CoupsJoues(UBound(CoupsJoues)).y = "a"
CoupsJoues(UBound(CoupsJoues)).x = 1
End Sub
Private Sub a2_Click()
RefreshList
CoupsJoues(UBound(CoupsJoues)).y = "a"
CoupsJoues(UBound(CoupsJoues)).x = 2
End Sub
--------------------------------------------------------------------------->8
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201821 2 mars 2006 à 23:50
Dans ce que tu souhaites faire ta fonction Init oublis la !
Dans ton bouton pourquoi tu as changé UBound par touche ?
UBound te permet de récupérer la taille du tableau afin d'écrire à la derniere case.
CoupsJoues(UBound(CoupsJoues)).x = 1
CoupsJoues(touche(CoupsJoues)).x = 1
Dans tes boutons laisses ceci (bien sur change les valeur a et 1 suivant les coordonnées que représentent les boutons)
8<----------------------------------------------------------
RefreshList
CoupsJoues(UBound(CoupsJoues)).y = "a"
CoupsJoues(UBound(CoupsJoues)).x = 1
---------------------------------------------------------->8
Voici à quoi doit ressembler ton module
8<----------------------------------------------------------
'Structure typé pour les données de tes coordonnées
Private Type PlayedCoord
x As Integer
y As Integer
End Type
'Tableau stockant les coups joués
Public CoupsJoues() As PlayedCoord
'Fonction permettant de redimensionner ton tableau CoupsJoues afin de stocker le dernier coup joué
Sub RefreshList()
On Error GoTo IniTab
ReDim Preserve CoupsJoues(touche(CoupsJoues) + 1)
Exit Sub
IniTab:
ReDim CoupsJoues(0)
Exit Sub
End Sub
---------------------------------------------------------->8
MonsDeluC
Messages postés6Date d'inscriptionlundi 27 février 2006StatutMembreDernière intervention14 mars 2006 3 mars 2006 à 00:00
effectivement, je vais le remettre ne string...
Pour le tableau, son bu n'est pas de listes les coups joués, mais
d'indiquer si oui ou non il contient quelque chose, si la valeur = 1,
alors il y a un bateau (de 1X1 pour le moment) sinon, sa valeur = à 0
et je croyais que ton UBound était ne nom de ton module
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201821 3 mars 2006 à 00:24
On va reprendre depuis le début...
Tu as des boutons qui représentent les cases où l'ont placent nos bateaux.
D'où ma question comment tu indiques la position de tes bateaux ?
On a besoin de savoir cette précision pour savoir si oui ou non il y a un bout de bateau à tel ou tel case.
MonsDeluC
Messages postés6Date d'inscriptionlundi 27 février 2006StatutMembreDernière intervention14 mars 2006 3 mars 2006 à 00:27
ce ne sont pas des "bouttons" proprement dit, mais des "images" (cases vides pour le moment)
pour le moment, j'indique la position du bateau manuellement, donc le
jeu est toujours pareil, c'est juste à titre de test pour le moment...
sur "comment enregistrer dans le module" une fois ceci terminé, je le
ferai un peu plus... "normalement"
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201821 3 mars 2006 à 00:36
Ok je sais on a pas le droit de faire sa sur ce forum mais contact moi en PV si tu veux pour que je te donne mon mail afin que tu m'envois ton test de projet.
Je reposterais par la suite la solution sur ce forum.