Problème insoluble [Résolu]

Signaler
Messages postés
48
Date d'inscription
jeudi 16 août 2007
Statut
Membre
Dernière intervention
3 juin 2018
-
Messages postés
48
Date d'inscription
jeudi 16 août 2007
Statut
Membre
Dernière intervention
3 juin 2018
-
Bonjour à tous
je me trouve confronté à un problème incompréhensible de codage qui se traduit par un bug bizarre.
Je suis sous vb6 et directx 7 ( oui c'est dépassé mais on fait encore de jolies choses en se creusant la tète).
Alors voici mon soucis , dans mon code j'ai la sub suivante:

private sub tirage()
randomize
y=int(rnd*100)
if y>=50 then soucoup(0)=true
if y<=30 then soucoup(1)=true
etc
etc
etc pour d'autres valeurs de y ( qui a été déclaré integer en début de code)
end sub

cette sub est appelée dans la boucle du DX donc plusieurs fois par seconde.
Eh bien croyez le ou pas mais toutes les valeurs de y passent sauf le 50 ????


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

2 réponses

Messages postés
48
Date d'inscription
jeudi 16 août 2007
Statut
Membre
Dernière intervention
3 juin 2018

en réalité c'est pas le nombre 50 qui coince c'est la variable soucoup(4).
Pour poursuivre mes recherches j'ai affiché la variable soucoup(4) à l'écran et je n'ai laissé dans le code de la sub que ce qui suit:
private sub tirage()
soucoup(4)=true
end sub
si je lance l'execution , la variable soucoup(4) reste à false !! c'est a n'y rien comprendre
alors que si je remplace soucoup(4) par soucoup(0 et jusqu'à 3) chaque fois la variable soucoup(0 à 3) passe bien à true !!!
bien sur la variable indexée est bien déclarée au début : public soucoup(5) as booléan.
merci pour votre aide
salutations


--
Messages postés
14790
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2021
155
Il nous faudrait plus de code pour juger, ton problème est étrange, mais l'explication doit être logique.
Messages postés
48
Date d'inscription
jeudi 16 août 2007
Statut
Membre
Dernière intervention
3 juin 2018

Bonsoir,
Merci de vous être penché sur mon problème mais en fait , j'ai trouvé car c'est pas le fonctionnement qui était en cause mais une erreur de ma part dans l'initialisation de la variable.
Comme c'est une grossière erreur il n'est pas nécessaire de commenter cela ne servirait à personne.
encore merci
Cordialement

--