banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Wed 08 September 2004 16:12

Champ Sébastien
Invité

Selectionner la valeur d'une variable dans une liste de choix?

Bonjour,
je souhaiterai qu'une variable puisse prendre comme valeur : 33, 39, 52, 58
ou 70 et cela de facon aleatoire ou non. Je ne vois pas comment faire. En
MapBasic avec la fonction rnd() je pensais mettre les differentes valeurs
mais cela ne fonctionne pas. est il une fonction qui determine une liste de
valeurs que peut prendre de facon aleatoire une variable?

 

#2 Wed 08 September 2004 18:39

Christophe Barbier
Invité

Re: Selectionner la valeur d'une variable dans une liste de choix?

Bonjour,

Puisque vous avez 5 valeurs differentes, vous pourriez generer un nbre aleatoire qui prendrait une valeur entre 1 et 5 et, en fonction de ce chiffre, vous le redirigez sur une de vos valeurs.

Exemple:

-----------
Dim valeur As SmallInt

valeur = Int(Rnd(1)*5)+1

Do Case valeur
Case 1
Note 33
Case 2
Note 39
Case 3
Note 52
Case 4
Note 58
Case 5
Note 70
End Case

-----------

 

#3 Thu 09 September 2004 11:45

Champ Sébastien
Invité

Re: Selectionner la valeur d'une variable dans une liste de choix?

Bonjour,
Merci aux personnes qui m'ont repondu.

deux possibilites pour permettre la selection aleatoire de valeur parmi une liste preetablie de 5 valeurs :

Soit creer un tableau ou une liste avec les 5 valeurs souhaitees. Puis selectionner aleatoirement un chiffre de 1 a 5 et selectionner la valeur correspondante dans la liste ou le tableau.

Dim rndNum, listNum(5), Num as integer

listNum(1)= 33
listNum(2)= 39
listNum(3)= 52
listNum(4)= 58
listNum(5)= 70

Randomize
rndNum = int (5 * Rnd(1) + 1)

Num = listNum(rndNum)

Soit utiliser la commande Case. On definit un entier qui prendra une valeur aleatoire entre 1 et 5. Puis pour chaque cas on determinera la valeur à selectionner.

Dim valeur As SmallInt

valeur = Int(Rnd(1)*5)+1

Do Case valeur
Case 1
Note 33
Case 2
Note 39
Case 3
Note 52
Case 4
Note 58
Case 5
Note 70
End Case

 

Pied de page des forums

Powered by FluxBB