Tirage au sort aleatoire

Signaler
Messages postés
5
Date d'inscription
samedi 17 mars 2007
Statut
Membre
Dernière intervention
1 mars 2010
-
Messages postés
5
Date d'inscription
samedi 17 mars 2007
Statut
Membre
Dernière intervention
1 mars 2010
-
Bonjour,

j'ai concu un prg de tirage au sort en vb6
le principe est que je fais defile des numeros
a l ecran en appuyant sur enter<les nums defilent
grace a un timer lie a un table>
En appuyant a nouveau sur enter le timer s arrete
un label affiche un num et le meme num est affiche
dans une grille<car je peux afficher autant de nums gagnants>
la 1ere table me permet de recuperer un ID au hasard et d aller
chercher un numero dans une autre table qui contient un million de
numeros/
le pb est que lorsque j ai un minimum de 1000 nums ya pas pb
par contre lorsque j atteint les dizaines de milliers
en appuyant sur enter un num s affiche puis en quelques millieme de
seconde le 1er disparait et un autre apparait ya pb

Besoin d avoir d autres suggestions peut etre plus simples
merci
A voir également:

5 réponses

Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
Bonjour,

en dehors du fait que je ne vois personnellement pas ce qui ppourrait être un tirage au sort autre qu'aléatoire .
Tu trouvers sur ce site une de très nombreux exemples et sources à ce propos. Le moteur de recherche est à ta disposition (utilise-le sans modération =
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
10
Bonsoir,

Qu'est-ce qui justifie le recours aux différentes tables ? Pourquoi ne pas accéder de suite à la dernière table ?... Quel est le but de ton projet ?

Amicalement,
Us.
Messages postés
5
Date d'inscription
samedi 17 mars 2007
Statut
Membre
Dernière intervention
1 mars 2010

Bsr Us!

résumé: a l'écran j'ai des nums(numéros de phone) qui défilent (coe les machines des casinos) apres avoir pressé sur enter..., puis en appuyant une nouvelle fois sur la même touche, un num gagnant s'affiche sur un label(en gros caractere);le même num s'affiche dans une grille à côté...,ainsi de suite autant de fois qu'on renouvellera l'opération.

en appuyant pr la 1ere fois sur enter: le timer fait défiler des nums d'une table fictif au hasard et récupère un ID.

en appuyant une 2e fois: l'ID récupéré(au hasard) attaque une table et récupère un num, l'enregistre dans 1 table identique et le supprime de la ou il vient, réorganise l'ordre de la 1ere table(tri auto des ID) puis affiche le numéro.
Tout cela pour ne pas apres +sieurs tirage voir apparaitre 1 meme num si on a (par exemple 1 millon de nums dans la table)
Bref le prg marche sans pb si j'ai moins d'enregistrement (environ 1000) mais lorsque j'atteint les 5000 et + enregistrements il y a le pb que j'ai signifié + haut
J'attaque la Base access 2007 par ODBC.

Besoin un algo + simple


Merci.
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
Bonjour,

- Alimenter d'emblée une listbox avec les enregistrements (N°s de téléphone, apparemment) d'un recordset
- travailler avec cette listbox en tirant successivement un index aléatoire ===>> le téléphone gagnant est, à chaque fois, celui qui, dans la liste, correspond à cet index
Tu as des sources déposées en ce qui concerne les tirages aléatoires d'articles de listboxes...

Pour ton effet "visuel" , fastoche ===>> tu joues avec le topindex, que tu tires aléatoirement (tu peux même faire un tirage aléatoire séparé, pour ce seul aspect visuel)
Tu peux égalmement, avant même ton tirage, brouiller l'ordre de ta listbox ...
Messages postés
5
Date d'inscription
samedi 17 mars 2007
Statut
Membre
Dernière intervention
1 mars 2010

Merci pr ton conseil jmfO!

j'ai recupérer un partie de codes dans le forum que je vais adapter à mon prg.
Cette partie concerne la récupération de l'index que je mettrai plutot dans une boucle <normale> (for...next dans une variable chargée jusqu'à 10000)aulieu du timer. ce dernier me servira que d'effet visuel.
j'utiliserai qu'une seule table pour consultation et lorsque qu'un index se répète dans la variable je lui dirai de passer au suivant.
Plus question de supprimer un num pour l'envoyer dans une autre table pour tri, car des qu'il récupère il affiche dans une liste et ainsi de suite.

j'essaie cette nouvelle logique et je vous tiendrais au courant.

@+
Merci