papounez
Messages postés118Date d'inscriptionsamedi 16 juillet 2005StatutMembreDernière intervention18 novembre 2008
-
16 sept. 2005 à 21:37
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 2010
-
17 sept. 2005 à 15:18
Bonsoir!
debutant VB6
j' ai une MsgBox qui demande Oui ou Non
je n' arrive pas trouver la condition apres le IF
Voici mon Code
Merci
Private Sub ComModif_Click()
MsgBox "Attention voulez Vous Modifier" + vbLf + _
" le Fichier ? ", vbCritical + vbYesNo, "ATTENTION"
If vbYes Then
MsgBox "sauver"
Else
MsgBox "fermer"
End If
End Sub
P__ROMEO
Messages postés294Date d'inscriptionvendredi 25 février 2005StatutMembreDernière intervention 9 mars 20061 16 sept. 2005 à 22:45
Voila, tu as une réponse de quelqu'un qui a cherché. mais, n'oublies pas, select case, vaut mieu que 10 IF...Then
"beaucoup plus propre". maintenant, pour la vitesse...
Si tu es satisfait, comme le dit Charle, clotures le sujet en Acceptent la réponse
<TD id=HB_Focus_Element vAlign=top width=\"100%\" background=\"\" height=250 UNSELECTAB< body> -----------------------------------------------------------------------------------------------
La connaissance ne connait pas de limite, puisque Les recherches la nourrissent
Sniper_Vgaerr
Messages postés113Date d'inscriptionjeudi 2 décembre 2004StatutMembreDernière intervention14 août 2006 16 sept. 2005 à 21:51
Salut, voila ta solution :
Private Sub ComModif_Click()
ret = MsgBox (Attention voulez Vous Modifier" + vbLf + " le Fichier ? ", vbCritical + vbYesNo, "ATTENTION)
If ret = vbYes Then
MsgBox "sauver"
Else
MsgBox "fermer"
End If
End Sub
P__ROMEO
Messages postés294Date d'inscriptionvendredi 25 février 2005StatutMembreDernière intervention 9 mars 20061 16 sept. 2005 à 22:32
pas trop de différence, c'est même je le pense pareil.
seulement, moi, j'utilise select case quand il ya beaucoup de condition.
pour ne pas dire 20 fois IF.....Then,
le select case est Beaucoup plus propre dans ce cas.
Maintenant, coté vitesse de traitement, c'est tellement rapide, que dans les 2 cas,
ca doit etre valable. (le code n'es pas si grand. ca va vite.)
Maintenant, si quelqu'un a des valeurs de temps en Millisecond, qui prouve que
l'un est mieu que l'autre, je suis prenneur.
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 16 sept. 2005 à 22:35
Violent Ken
J'ai pas les temps, mais j'avais fait quelques tests pour le topic "Recherches de performances" grâce à une source de pcpt (je crois), et il s'avère que le select case est largement moins rapide que le if then.
@+
P__ROMEO
Messages postés294Date d'inscriptionvendredi 25 février 2005StatutMembreDernière intervention 9 mars 20061 16 sept. 2005 à 23:12
<TD id=HB_Focus_Element vAlign=top width=\"100%\" background=\"\" height=250 UNSELECTAB< body>Merci pcpt. c'es la réponse la plus précise que je vois. sur ce site.
(les nombres, ca ne ment pas)
P__ROMEO
Messages postés294Date d'inscriptionvendredi 25 février 2005StatutMembreDernière intervention 9 mars 20061 17 sept. 2005 à 10:57
Je suis daccord avec toi, même si je pense que tu voulais dire condition. if n'es pas une boucle. <?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><v:shapetype id=_x0000_t75 stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype> (je penses dire juste)
Et, en passant, j'ai jeté un coup d'ouille sur ta fiche. Tu aimes bien programmer des jeux. Je ne les ai pas encore téléchargé, mais
en regardant les notes, ca ne doit pas être mal. Et j'avoue que j'ai beaucoup ri en lisant "L'original", ou "Le vrai"<v:shape id=_x0000_i1026 style="WIDTH: 11.25pt; HEIGHT: 11.25pt" alt="" type="#_x0000_t75"> <v:imagedata o:HREF="/imgs2/smile_big.gif" src="file:///C:\DOCUME~1\ROMEO\LOCALS~1\Temp\msohtml1\01\clip_image002.gif"></v:imagedata></v:shape>
Pour quoi tu veux que se soit ton jeux qui soit le vrai ou l'original. . Mais, j'aime ca. . Allé, A+
-----------------------------------------------------------------------------------
La connaissance ne connait pas de limite, puisque Les recherches la nourrissent
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 17 sept. 2005 à 12:22
Violent Ken
Salut. En effet, un if/then ne constitue pas une boucle. En fait, quand je dit "boucle", c'est que le test des If/then ou Select/Case doit s'effectuer plusieurs fois (1000 ou 10000 fois dans les mêmes conditions) pour donner des résultats valides.
Exemples :
Pour if/then/else
Dim x as long,a as long
x=0:a=1
While x<10000
x=x+1
if a=1 then
a=0
else
a=1
end if
Wend
Pour Select/case
Dim x as long,a as long
x=0:a=1
While x<10000
x=x+1
Select case a
case 1
a=0
case 0
a=1
end select
Wend
Et pour mes jeux, s'est sympa de jeter un coup d'oeil dessus. Pour "Tetris, l'original en VB", j'ai mis çà car mon Tetris respecte l'original (même gameplay : sens de rotation des pièces identique à l'original, même nombre de lignes/colonnes...) contrairement à certains Tetris sur ce site. Non pas que je les aime pas, mais si on appelle son jeu Tetris, il faut faire un vrai Tetris. Enfin, c'est mon avis. Et mes jeux ne sont pas les vrais, les originaux, mais des vrais, des originaux. C'est le cas pour Tetris.
P__ROMEO
Messages postés294Date d'inscriptionvendredi 25 février 2005StatutMembreDernière intervention 9 mars 20061 17 sept. 2005 à 12:51
Merci Pour ta verification. et, tu as raison, ca va si vite, que l'on ne peut pas voire la différence. maintenant, de mon coté, je ne pensse pas faire un jour
1000 conditions de suite. donc...100 , ca donne déja une idée. merci
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 17 sept. 2005 à 13:09
re,
çà ne sera pas plus fiable pour autant....
les valeurs sont tellement proches qu'elles ne seront pas révélatrices.
à çà, il faut ajouter qu'elles sont légèrement différentes selon chaque processeur.
j'ai lancé sur 100000.
je donne le compte rendu quand c'est terminé (en compilé)
PCPT
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 17 sept. 2005 à 13:13
Violent Ken
Si, ce sera plus fiable. Le temps comporte 4 chiffres significatifs, ce qui permet de deceler des écarts.
Exemple : 0.0231*10^6=23.1 s
et l'autre temps, 0.0218*10^6=21.8 s
D'où un écart de 1.3 secondes, écart relativement important.
Je lance donc le test sur un Mtests, et je vous tient au courant.
@+
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 17 sept. 2005 à 13:27
ok.
en l'attente, avec les tests actuels :
IF EXE Nombre de Test : 100000
Vitesse min = 0,0131ms
Vitesse max = 4,757ms
moyenne = 0,0232ms
SELECT EXE Nombre de Test : 100000
Vitesse min = 0,0131ms
Vitesse max = 4,0405ms
moyenne = 0,0225ms
pour mémoire, j'ai pris le test le plus simple, entre un if et un select case, ne comportant aucun calcul.
le but était juste de savoir si, entre 2choix (sans opération), l'un allait plus vite que l'autre...
je vous laisse en tirer vos propres conclusions
PCPT