Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2589 connectés 

  FORUM HardWare.fr
  Programmation

  [VB] : For ... Next et fouttage de gueule

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB] : For ... Next et fouttage de gueule

n°33642
HelloWorld
Salut tout le monde!
Posté le 22-05-2001 à 10:15:51  profilanswer
 

p****n je comprenais pas l'erreur dans mon algo et elle vient de la maniere tordue dont fonctionne le for ... next :

Code :
  1. Dim i As Double
  2. For i = 0 To 5 Step 1
  3.     MsgBox("Test1" )
  4. Next i
  5. For i = 0 To 0.5 Step 0.1
  6.     MsgBox("Test2" )
  7. Next i


 
il est écrit dans l'aide :
"condition d'éxecution de la boucle : si le pas est positif, counter <= end"
ici counter c'est i et end c'est soit 5 soit 0.5
 
et ... Test1 s'affiche 6 fois : normal
mais Test2 s'affiche 5 fois : pourquoi ?  :gun:  :fou:  :fou:  :pt1cable:


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
mood
Publicité
Posté le 22-05-2001 à 10:15:51  profilanswer
 

n°33654
_GrEgY_
Posté le 22-05-2001 à 11:05:14  profilanswer
 

t'es sur que ca marche les boucles For avec des nombres qui ne sont pas des entiers???
 
personnellement j'ai jamais vu ca...

n°33660
_GrEgY_
Posté le 22-05-2001 à 11:13:46  profilanswer
 

fin  meme si ca marche...
 
qd tu utilises de nombres réels faut tjs avoir à l'esprit que ce ne sont pas des nombres "ronds"
autrement dit tu as un step de 0.1  mais en réalité tu as un step de 0.10000001   'fin un truc du genre... et c'est de la que pourrait provenir ton erreur

n°33661
verdoux
And I'm still waiting
Posté le 22-05-2001 à 11:15:30  profilanswer
 

Oui, sans doute que:
0.1 + 0.1 + 0.1 + 0.1 + 0.1 > 0.5
Remplace le 0.5 par 0.51.

n°33687
thegti
La constipation se soigne ...
Posté le 22-05-2001 à 11:59:47  profilanswer
 

Tu dois pas être avec le dernier service pack
car j'ai essayé et j'ai bien 2 fois 6 messages
Je suis en SP4

n°33690
HelloWorld
Salut tout le monde!
Posté le 22-05-2001 à 12:02:34  profilanswer
 

:cry:
le probleme c'est que ce source proviens d'un test que j'ai réalisé.
dans mon code c'est pas 0.5 que j'ai, mais une variable ...
je suis dans la m***e alors ...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°33691
HelloWorld
Salut tout le monde!
Posté le 22-05-2001 à 12:03:15  profilanswer
 

j'ai VB5 ... sans SP ...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°33694
JPA
Posté le 22-05-2001 à 12:11:19  profilanswer
 

Tu fais :
 
For i = 0 To MAX+PAS/2 Step PAS
    MsgBox("Test2" )  
Next i  
 
et ça devrait marcher !!!

n°33699
HelloWorld
Salut tout le monde!
Posté le 22-05-2001 à 12:28:21  profilanswer
 

hehe ... j'ai justement une variable PAS ;)
en fait j'ai une bidouille de ce genre, liée à MAX que je bidouille plus haut ...
je voulais surtout savoir pkoi VB il peut pas ...
merci bien les gars


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°33700
JPA
Posté le 22-05-2001 à 12:34:21  profilanswer
 

Pour la clarté de ton code, il est bon d'avoir une règle de nommage pour les variables. C'est plus long à écrire mais plus facile à lire. Moi j'utilise une adaptation perso de la notation hongroise qui donne qq chose du genre :
IntVar pour un entier court
LongVar pour un entier long
StrVar pour une chaine de caractères
RealVar pour un réel
etc etc, à adapter à chaque logiciel de développement.
 
C'était juste pour répondre au fait que tu avais une variable nommée Pas !!!

mood
Publicité
Posté le 22-05-2001 à 12:34:21  profilanswer
 

n°33734
brascoo
Posté le 22-05-2001 à 14:18:47  profilanswer
 

Et bien pour moi ca marche...
6 fois pour Test1 et 6 fois pour test2
 
Donc bizarre... peut etre un bug corrigé sur ma version VB6 SP5


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [VB] : For ... Next et fouttage de gueule

 

Sujets relatifs
[Algorithmique] Voxels et prise de gueule... chaud chaud chaudPB avec ''Forte For Java''
PAGE HTML VLAN DANS TA GUEULE 
Plus de sujets relatifs à : [VB] : For ... Next et fouttage de gueule


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)