Faire référence à une variable

cs_pingouin84k Messages postés 68 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 9 janvier 2011 - 6 déc. 2009 à 01:04
cs_pingouin84k Messages postés 68 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 9 janvier 2011 - 7 déc. 2009 à 16:22
Bonjour,

Je n'arrive pas à faire un truc tout simple... J'utilise probablement pas le bon vocabulaire dans mes recherches.

J'ai des valeurs stockées dans des variables qui changent au cours de l'éxecution.
J'aimerai déclarer un tableau dans lequel on retrouverai certaines valeurs qui sont stokées dans les variables décrites précédement.
Seulement quand j'utilise ce fameux tableau, j'aimerai que les valeurs qu'il contient soit mis à jour automatiquement. Un peu comme si dans mon tableau je ne mettais pas des valeurs mais plutot une sorte de référence aux valeurs stokées dans mes variables du début.

J'espère que c'est assez clair
Si ça l'est pas demandez moi plus de précision.

Merci pour votre aide !

15 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
6 déc. 2009 à 01:21
Salut
Bah c'est dommage de te demander des précisions, tu devrais les fournir dès le début, tu feras gagner du temps à tout le monde.
Peut-être qu'un exemple de valeurs stockées permettrait de se rendre compte de ce que tu veux faire.

"J'ai des valeurs stockées dans des variables qui changent au cours de l'éxecution" : Ce sont les valeurs contenues ou les variables qui changent ?

"J'aimerai déclarer un tableau dans lequel on retrouverai (...) les variables décrites précédement." : Tu as décrit quelque chose ?

"Seulement quand j'utilise ce fameux tableau" : Quel tableau ? Qu'as-tu fait ?

"j'aimerai que les valeurs qu'il contient soit mis à jour automatiquement" : Rien n'est jamais automatique

"Un peu comme si dans mon tableau je ne mettais pas des valeurs mais plutot une sorte de référence" : Et la marmotte ?

Eh beh, il est tard, je sais, mais quand même.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
SnkVrt Messages postés 89 Date d'inscription vendredi 16 mars 2007 Statut Membre Dernière intervention 23 février 2010
6 déc. 2009 à 10:57
Salut,
C'est vrai que c'est pas très très clair, mais si j'ai compris, tu peux essayer ceci...

Au lieu d'une affectation directe à la variable,
Tu peux appeller une Procédure (utilisant des paramètres) qui affectera la nouvelle valeur à ta variable et qui mettra à jour ton tableau.
0
cs_pingouin84k Messages postés 68 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 9 janvier 2011
6 déc. 2009 à 11:06
Ok
Bon, si j'ai pas mis plus de précision c'est que c'était clair dans ma petite tête...

Concrétement j'essai de faire un mailleur 2D. Donc j'ai une liste de noeuds déclaré comme suit:

Public Class Noeud
Public Prop1 as single
Public Prop2 as single
...
End Class


Public ListeNoeuds as List(Of Noeud)


Ensuite pour executer des calculs sur mon maillage, j'ai besoin de retrouver les valeurs des Prop1, Prop2, etc de certains noeuds de la contenus dans ListeNoeuds dans un tableau Tab (ou une matrice pour prendre le therme mathématique exact).


Public Tab as single (,)


Donc j'ai un tableau à 2 dimension
Dans la première je met Prop1, dans la seconde je met Prop2 de certains noeud.

Seulement à chaque itération de calcul (c'est à dire que le maillage est calculer plusieurs fois) les valeurs de Prop1, Prop2, etc de chaque noeud sont modifiées à l'issus du calcul de l'itération précédente.
Et j'aimerai que mon tableau (qui contient certaines valeurs de Prop1, Prop2 etc de certains noeuds) soit mis à jour tout seul. J'ai pas envi, à chaque itération, de réecire le tableau.
En fait je pense que c'est juste une manière de déclarer les valeurs contenues dans mon tableau, mais je sèche.


En espèrant que ce soit plus clair.
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
6 déc. 2009 à 11:51
Bonjour à tous,

Je ne veux pas me mêler de vos petites affaires, alors juste en passant, pingouin84k, il me semble que ta demande se résume à une utilisation des plus normale d'un tableau... Finalement, on va tous se demander où est ta difficulté ? (car au premier post, c'était l'usine à gaz!) Sais-tu utiliser un Tableau ?

Amicalement,
Us.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SnkVrt Messages postés 89 Date d'inscription vendredi 16 mars 2007 Statut Membre Dernière intervention 23 février 2010
6 déc. 2009 à 12:25
Ton tableau doit contenir des pointeurs vers tes pro1, prop2, etc... et non pas leur valeur propre... enfin, je pense, car moi, je ne sais vraiment pas bien utiliser les tableaux.
0
cs_pingouin84k Messages postés 68 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 9 janvier 2011
6 déc. 2009 à 12:45
Ha un tableau fait ça tout seul ?! J'avais jamais remarqué. Donc apriori je dirai que non je sais pas me servir d'un tableau. Si tu as des explications je suis prenneur. C'est l'inconvénient que d'voir appris à coder sur le tas
0
cs_pingouin84k Messages postés 68 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 9 janvier 2011
6 déc. 2009 à 12:57
Des pointeurs ?! Lol C quoi cette bête là. On utilise ça comment ?
0
SnkVrt Messages postés 89 Date d'inscription vendredi 16 mars 2007 Statut Membre Dernière intervention 23 février 2010
6 déc. 2009 à 13:10
Les tableaux et les pointeurs sont mes betes noires (entre autres).
Mais je crois bien qu'un pointeur sur une variable te renvoie à la variable elle meme. Donc si ta variable a changé de valeur, ça te renverra sa valeur actuelle.
Mais ceci dit, j'aimerais bien que quelqu'un qui connaisse bien les pointeurs vienne confirmé ça car je ne voudrais pas d'induire en erreur.
0
cs_pingouin84k Messages postés 68 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 9 janvier 2011
6 déc. 2009 à 13:28
Ben justement c'est ce que je veux. Si la variable a changé de vleur est que ca me renvoie la valeur actuelle c'est exactement ce que je veux faire.
On dirai qu'on a trouvé une explication simple à ce que je veux faire ^^ lol
0
cs_pingouin84k Messages postés 68 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 9 janvier 2011
6 déc. 2009 à 14:50
Bon apriori, les pointeurs en .net faut pas y compter.
Sinon j'ai essayer de déclarer un tableau

Dim Tab() as single
Redim Tab(3)

Dim Val1 = 1
Dim Val2 = 2
Dim Val3 = 3

Tab(0) = Val1
Tab(1) = Val2
Tab(2) = Val3

Val1 = 7
Val2 = 5
Val3 = 8
msgbox Tab(0) & Tab(1) & Tab(2)



ça m'affiche 123 (les valeurs initiales) et pas 758 comme j'aimerai...


Même en utlisant Tab.SetValue ça change rien.
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
6 déc. 2009 à 15:50
Sur un exemple aussi basique, difficile de donner une explication simple. Je pense que ta difficulté vient de la façon dont tu organises ton code. Mais pour faire simple, il me semble que tu envisages un Tableau comme un Stockage uniquement... en ignorant le fait, et c'est peut-être là ta difficulté (du moins je crois), qu'un tableau est aussi une variable !

Ainsi, ton exemple, même si trop basique pour mettre en relief une structure, serait ainsi :

Dim Tab() as single
Redim Tab(3)

Tab(0) = 1
Tab(1) = 2
Tab(2) = 3

Tab(0) = 7
Tab(1) = 5
Tab(2) = 8

msgbox Tab(0) & Tab(1) & Tab(2)


Ici, c'est trop trivial! En général, on inclut Tab(0), Tab(1)... dans une boucle... Plus schématiquement donc :

Redim Tab(4)

For t=0 to 2
Variable = 10-t+Tab(t+1) 'formule de calcul ou autre...
Tab(t) = Variable
next t

msgbox Tab(0) & Tab(1) & Tab(2)

/code

Donc "Variable" est ici la donnée qui résulte d'un calcul, ou d'une lecture de qlq chose... enfin selon ton projet... là, on n'en sait pas plus, c'est à toi de voir...

Amicalement,
Us.
0
SnkVrt Messages postés 89 Date d'inscription vendredi 16 mars 2007 Statut Membre Dernière intervention 23 février 2010
6 déc. 2009 à 17:46
Peut-etre qu'il y a ta solution ici
0
cs_pingouin84k Messages postés 68 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 9 janvier 2011
6 déc. 2009 à 18:28
Oui j'ai toujours utilisé le tableau comme une variable.
C'est toi us_30 qui à la page précédente me disai que ce que je voulais faire ressemblait à un tableau tout simplement...
Donc j'ai essayer de faire ça tout simplement avec un tableau, mais comme tu vois ça marche pas. L'exemple que j'ai posté illustre bien ce que je veux faire. Apparemment il n'y a pas de solution à ce que je veux faire.
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
6 déc. 2009 à 20:49
Mon dieu... j'abandonne à expliquer la simplicité... c'est trop dur!

Amicalement,
Us.
0
cs_pingouin84k Messages postés 68 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 9 janvier 2011
7 déc. 2009 à 16:22
Mon dieu... merci pour ton aide...

Souviens toi quand même que "ce qui se conçoit bien s'énonce clairement - et les mots pour le dire arrivent aisément."
0
Rejoignez-nous