Débutant à des problèmes pour générer des nombre de façon aléatoire... à l'aide

Résolu
zwarul Messages postés 35 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 3 août 2008 - 9 juil. 2005 à 01:27
zwarul Messages postés 35 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 3 août 2008 - 9 juil. 2005 à 13:05
Bonjour je débute tout juste dans la programmation et j'ai un petit problème:
bon par exemple si je veu simuler un clic de souris se trouvant aux coordonées (575,377) j'ai trouvé qui fallai faire cela:
Private Sub Command1_Click()

SetCursorPos 575, 377
mouse_event MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_LEFTUP, 0, 0, 0, 0

End Sub
Mais ce que je veu maintenant c'est que le clic soit fait au hasard dans une zone délimité ; du style un rectangle ayant sont coin haut droit aux coordonées (150,200) et son coin bas gauche aux coordnées (300,400).

Faut il déclarer des variables pour remplacer x et y dans SetCursorPos x, y
et donner à ces variables des valeur aléatoires situés, entre 150 et 300 pour x, et entre 200 et 400 pour y?

Mais mon principale problème c'est que je ne sait pas comment mettre cela en forme car pour commencer je ne sait pas faire choisir une valeur àléatoire ... et non plus mettre en forme l'utilisation de variable a la place de x et y...ou je suis pas trés sur de mon coup alors si vous vous l'êtes svp fette moi gagner un temps précieu merci

SVP de l'aide ......

Si quelqu'un pouvait me répondre un petit bou de code merci

7 réponses

cs_Stephane Messages postés 550 Date d'inscription vendredi 5 janvier 2001 Statut Membre Dernière intervention 23 septembre 2006
9 juil. 2005 à 10:11
slu



x1,y1,x2,y2 les bornes du rectangles



randomize 'reinitialise le generateur de nombre aleatoire

SetCursorPos int(rnd * (x2-x1))+x1 , int(rnd * (y2-y1))+y1



en fait : rnd genere un nombre aléatoire compris entre 0 et 1, apres c'est des maths :)



A+



<hr size="2" width="100%">Utilisateurs du forum : Merci de lire http://www.vbfrance.com/forum.v2.aspx?ID=445871

<hr size="2" width="100%">
3
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
9 juil. 2005 à 10:29
Dim X As Long

Dim Y As Long

Dim min As Long

Dim max As Long



Min = x1

Max = x2

X = Rnd * (Max - min) + min

Min = y1

Max = y2
Y = Rnd * (Max - min) + min



SetCursorPos X , Y


Daniel
3
cs_Stephane Messages postés 550 Date d'inscription vendredi 5 janvier 2001 Statut Membre Dernière intervention 23 septembre 2006
9 juil. 2005 à 11:19
C'est un petit peu ce que j'ai mis


A+



<hr size="2" width="100%">Utilisateurs du forum : Merci de lire http://www.vbfrance.com/forum.v2.aspx?ID=445871

<hr size="2" width="100%">
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
9 juil. 2005 à 11:34
à un petit détail prés:

à cause de la présence de int la valeur de X n'atteindra jamais le maxi
int (Rnd*n) donne des valeurs de 0 à n-1


Daniel
0

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

Posez votre question
cs_Stephane Messages postés 550 Date d'inscription vendredi 5 janvier 2001 Statut Membre Dernière intervention 23 septembre 2006
9 juil. 2005 à 11:45
oué c'est vrai, mais toi tu genere un décimal, bon vb le convertir en entier tout seul mais bon :)

compromis :



SetCursorPos int(rnd * (x2-x1+1))+x1 , int(rnd * (y2-y1+1))+y1



(supposant x2>x1 et y2>y1)


voili voilou

A+



<hr size="2" width="100%">Utilisateurs du forum : Merci de lire http://www.vbfrance.com/forum.v2.aspx?ID=445871

<hr size="2" width="100%">
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
9 juil. 2005 à 12:02
Salut,



c'est vrai que rajouter un message qui répète le même chose ça sert à rien.

mais bon comme il y a pas grand chose à faire en ce moment faut bien trouver quelque chose à dire.

alors que pourrais-je dire de plus ?

Rnd renvoit un Single

c'est tout ce que j'ai pour l'instant

Daniel
0
zwarul Messages postés 35 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 3 août 2008
9 juil. 2005 à 13:05
merci beaucoup à vous deux
0
Rejoignez-nous