|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 48 ![]() |
Bonjour, voici mon programme(ci-dessous), tout d'abord l'utilisateur selectionne la branche n°1, rentre les caractéristiques correspondantes,puis clique sur le bouton branche suivante. Il faudrait alors revenir sur cette page pour renter les valeurs de la branche 2 en ayant gardé en mémoire les valeurs précédentes (branche 1). Ainsi, lorsqu'on clique sur le boutton Calcul, on obtiendra un résultat liant les deux branches qu'elles soient en série ou en parallèle. Mais mon probleme est bien celui de la mémorisation, je me débrouillerais seul l pour le reste.
Code :
![]() Merci |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() eric MaitreÉtudiant Inscription : février 2010 Messages : 954 ![]() |
Bonjour,
petite question, pourquoi mémoriser les valeurs précédentes? la branche 1 et la branche 2 ne sont pas sur le même formulaire? |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Sylvain DevidalChef de projets Générix Inscription : février 2010 Messages : 1 062 ![]() |
Vu qu'il y a une liste déroulante pour choisir la branche avec laquelle faire des calculs, j'imagine qu'il veut vouloir faire les calculs après avoir saisi x branches.
Je commencerais par créer un objet "Branche", qui contient autant de propriétés qu'il y a de champs dans le formulaire. Lors du click sur suivant, instanciation d'un nouvel objet Branche avec les valeurs du formulaire, et stockage dans une List<Branche> au niveau d'un objet global (la Form par exemple) à l'aide d'un maliste.Add(new Branche(textbox1.text, textbox2.text, etc.)) Ensuite, tu as : list[i] = branche numéro i Ainsi tu peux mémoriser autant de branches que tu veux. Tu implémentes ensuite un CalculAvec(Branche b) et/ou un CalculAvec(int i) => Qui permet de faire les calculs entre la branche courante et la branche passée en paramètre (ou dont l'index est passé en paramètre). Ou alors une méthode statique : Calcul(Branche b1, Branche b2) qui permet de faire les calculs entre les deux branches passées en paramètres. Méthode que tu appelles au moment du click sur le bouton Calcul. |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 48 ![]() |
re bonjour, j'ai bien lu votre réponse, mais étant donné que je suis encore débutant sur VB, je n'ai pas tout compris. Pourriez m'éclairer davantage? Merci.
|
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Michel Devaux Inscription : janvier 2010 Messages : 41 ![]() |
Personnellement, je voudrais bien mais je ne comprends pas la question.
qu'entends-tu par "mémoriser" ? Est-ce que tu veux mémoriser les valeurs pour les retrouver au prochain démarrage du programme ? |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 48 ![]() |
Bonjour, en fait je voudrais mémoriser les valeurs pour pouvoir les utiliser dans le calcul final, car notre page se re-initialise apres avoir entré la premiere serie de valeur.
|
|
|
00
|
|
|
#7 | ||||
|
Membre confirmé
![]() |
Bonjour,
Ce que stringBuilder t'explique, es qu'il faudrait que tu créer ta propre classe "Branche". Que pour chaque branche créée dans tes formulaires tu instancie cette classe dans un objet et que tu l'ajoute dans une List(of Branche). Liste qui serait instancie au niveau des déclaration globales de ton application pour eviter que l'objet soit détruit. Ta classe branche contiendrai donc comme il le dis toute les propriété relative à une branche. Tu devra ensuite écrire tes méthode d'accès au valeur de tes objets (accesseurs). Par exemple : Code :
Code :
|
||||
|
|
00
|
|
|
#8 | |||
|
Membre Expert
![]() Sylvain DevidalChef de projets Générix Inscription : février 2010 Messages : 1 062 ![]() |
Réponse au message privé reçu :
Citation:
Tout d'abords, je ne suis pas la meilleure personne pour expliquer comment coder en VB.NET, puisque je n'ai absolument jamais écrit une ligne avec ce langage. Je répond aux questions dans cette partie du forum, car les principes de VB.NET sont les mêmes que C#, mais après, niveau syntaxe... Ensuite, je préfère ne pas répondre aux questions dans les messages privés, ou alors je le fais en public comme ici : un forum, c'est fait pour partager avec tout le monde, pas échanger dans son coin. Pour en revenir à la question, il faudrait être plus explicite quant à ce qui ne marche pas. Dans un premier temps, je pense que la classe Branche n'a rien à faire dans la classe Form1, même si en soit ce n'est pas gênant. Qu'est-ce qui ne marche pas ? Erreur de compilation ? D'exécution ? Aussi, le code est incomplet, pour le moment, on se contente de mémoriser une branche... Reste ensuite à faire la comparaison, je ne vois rien dans votre code de plus que ce qui a été proposé par AcidLines... |
|||
|
|
00
|
|
|
#9 | ||
|
Membre confirmé
![]() |
Ce n'est qu'un exemple par rapport à ce que tu as fait. Dans mon exemple j'ai oublier de mettre "as integer" lors de la déclaration de ma fonction de classe. En dehors de cela la "sauvegarde" des objets se fait sur les évènements de ta form. (Ce que je n'ai pas mis dans mon exemple, je suis fautif ?)
Et en effet, il serai préférable d'extraire ta classe dans un fichier class. Non pas que ça ne fonctionne pas ainsi, mais par soucis de visibilité et compréhension du code. Code :
|
||
|
|
00
|
|
|
#10 |
|
Invité régulier
![]() Étudiant Inscription : janvier 2012 Messages : 44 ![]() |
Que signifie cette ligne svp :
C'est surtout (0,42) que je ne comprend pas. Et où sont stockées les valeurs, comment je fais pour les réutiliser? Merci |
|
|
00
|
|
|
#11 | ||
|
Membre confirmé
![]() |
Se sont les valeur nécessaire à la création de ton objet Branche :
0 : Id 42 : la surface. ensuite pour les connaitre une fois ton objet créer tu appel les méthode créés dans ta classe Branche ce qui peut donner : Code :
|
||
|
|
00
|
|
|
#12 | ||
|
Membre à l'essai
![]() Étudiant Inscription : juin 2011 Messages : 46 ![]() |
J'ai un peu peur de dire une connerie étant donné que je ne suis pas un pro du VB.net mais pourquoi ne pas faire un tableau de structure ?
Il est débutant et je suppose que la notion d'objet le dépasse un peu pour le moment. Pour le tableau de structure, rien de très compliqué: Code :
PS: Le titre de ton topic est vraiment bizarre. |
||
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 48 ![]() |
Bonjour, en réponse à AcidLines, je crois que je me suis mal fait comprendre, je voudrais que ce soit l'utilisateur qui définisse la valeur de la surface et le numéro de la branche alors que vous, vous les rentrez directement dans votre programme.
Comment pourrais-je faire dans ce cas ? Merci |
|
|
00
|
|
|
#14 |
|
Membre confirmé
![]() |
Pour le champs Id tu l'incrémente à chaque nouvelle branche, et le reste tu met ton controle.text par exemple ou autre. Je rappel que ce n'est qu'un exemple, à toi de construire l'implémentation de tes classes.
http://xo.developpez.com/tutoriel/vb.net/poo/ |
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 48 ![]() |
Bonjour,
Je suis en train de tester la méthode donnée par ZoomBox concernant le tableau de structure, le problème est que j'aimerais que ce soit l'utilisateur qui entre lui-même la valeur de la surface (textbox) et le numéro de la branche (NumericUpDown). Je ne sais pas ce que je dois mettre pour les définir dans le programme: tTab(1).idBranche = idB.(je ne vois pas ce qu'il faut mettre ici) ? tTab(1).surface = surf.Text Et en ce qui concerne la seconde branche, je ne vois pas comment mes objets "idB" et "surf" une deuxième fois, on m'a parlé d'instanciation, je vois ce que c'est mais je ne sais pas comment l'utiliser. tTab(2).idBranche = tTab(2).surface = Pouvez-vous m'aider? Merci |
|
|
00
|
|
|
#16 | ||
|
Membre confirmé
![]() |
Attention, ne mélange pas le tableau de strucuture avec ma méthode par objet. Pour la méthode de ZoomBox :
Code :
dans mon exemple tBranche ressemblerait à sa en Mémoire : (A imaginer sous forme de tableau.) (numEntreeStructure) - Surface (0) - Valeur de Tbx_surface.text (1) - 12 (2) - 5 ... ... |
||
|
|
00
|
|
|
#17 | |||
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 48 ![]() |
Code :
Code :
tBranche(numEntreeStructure).surface = TBX_surface.Text Citation:
Merci. |
|||
|
|
00
|
|
|
#18 |
|
Membre confirmé
![]() |
Un oubli de ma part (On déclare un NOUVEAU tableau de structure Branche)
|
|
|
00
|
|
|
#19 | |
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 48 ![]() |
Merci pour votre aide, mais malheureusement, j'ai toujours une erreur que je ne comprend pas. J'ai bien rajouté le "new" mais maintenant on me dit:
Citation:
Code :
tBranche(numEntreeStructure).surface = TBX_surface.Text Merci. |
|
|
|
00
|
|
|
#20 | ||
|
Membre à l'essai
![]() Étudiant Inscription : juin 2011 Messages : 46 ![]() |
J'ai bidouillé une solution, mais il doit y avoir moyen de trouver dans faire de redim (ArrayList ?):
Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com