Vb.net s'arrette à la 1er condition!!!

Résolu
Goldeneye007 Messages postés 70 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 - 25 mai 2006 à 19:33
cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 - 26 mai 2006 à 12:46
Vb.net délire quand je met une condition avec un si et un sinon le programme regarde toujours la 1ere condition pk?

Vlà le si :



Function
Ajout()




'Notion d'héritage








Dim
A

As



Integer






'A correspond au résultat de la fonction afficher dans la classe musique

A = Afficher()







'On impose ici une condition






If
A < 5

Then

Texte = "Ce titre n'est pas possible"







Else

Texte = "Ce titre est génial"







End



If

C'est une fonction d'héritage qui prend en compte la fonction affiché ci dessous :

Sub Compter()

'Compte le nombre de caracteres se trouvant dans la chaineNombre = Len(Chaine)

End
Sub

'Fonction visualiser qui sert à voir le résultat

Function Afficher()Afficher = Nombre

End
Function

Que faire?

7 réponses

cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
26 mai 2006 à 10:57
Compter marche peut être mais théoriquement ca doit être une fonction et non une sub et donc retourner le résultat : return len(bidul)
3
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
26 mai 2006 à 12:02
Nombre n'est probablement pas une variable publique ...






Manu
3
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
25 mai 2006 à 21:56
Salut,

Plusieurs possibilités.

 - Nombre n'est déclaré et affecté nulle part => Nombre vaut 0, et donc Afficher() renvoit toujours 0, donc tu rentres systématiquement dans le Then, et pas le Else.

 - Tu n'appelles jamais Compter()

 - Chaine n'est pas affectée, du coup, Compter() vaut toujours 0, et Afficher() vaut toujours 0. Finalement, tu ne rentres que dans le Then, et pas le Else ...

Manu
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
26 mai 2006 à 00:01
Lut,
Oui de plus il faut utiliser la syntaxe de vb.net et non vb6
idem pour ta fonction utilises plutot return

Function Afficher()
   Return  Nombre

End
Function
J'espère que c'est pour des essais que tu fait cette sub et cette function car autrement ici ça ne vaut vraiment pas le coup.
Cordialement, Jean-Paul  
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0

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

Posez votre question
Goldeneye007 Messages postés 70 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010
26 mai 2006 à 07:53
J'ai fait un msgbox de a ou afficher et a est égal à 0, pourtant en haut la fonction compter marche, c'est bizarre
0
Goldeneye007 Messages postés 70 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010
26 mai 2006 à 12:41
oki,
J'ai fais une autre procédure et là ca marche, c'était pour une pti que je vevais faire pour lexam de bts. Merci :)
0
cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
26 mai 2006 à 12:46
au passage si "Nombre" est une donnée membre elle n'a pas à être public
0
Rejoignez-nous