IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Pascal Discussion :

Randomize : le même code est généré chaque fois


Sujet :

Langage Pascal

  1. #1
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Randomize : le même code est généré chaque fois
    Bonjour,
    j'ai écrit un code pascal d'un mini programme qui permet de générer N code CAPTCHA, Le programme me rend toujours le même code N fois.
    j’espère si quelqu'un peut m'aider.
    Le code est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    Program CAPTCHA; 
    Uses wincrt; 
    TYPE 
    Tab=Array['A'..'Z'] of integer; 
    VAR 
    T:tab; 
    N,i:integer; 
     
    Procedure Saisie_N(VAR N:integer); 
    Begin 
    Repeat 
    Write('Donner le nombre de codes generer: '); 
    Readln(n); 
    until n IN [2..10]; 
    End; 
     
    Procedure Remplir(VAR T:tab); 
    VAR 
    i:char; 
    Begin 
    Randomize; 
    for i:='A' to 'Z' do 
    T[i]:=Random(2); 
    End; 
     
    Function GenererCap(T:tab):String; 
    VAR 
    i:char; 
    ch:String; 
    nb_voyelle:integer; 
    Begin 
    ch:=''; 
    nb_voyelle:=0; 
    for i:='A' to 'Z' do 
    if (T[i]=1) then 
    Begin 
    Ch:=ch+i; 
    if (i IN ['A','E','I','O','U','Y']) then 
    nb_voyelle:=nb_voyelle+1; 
    End; 
    ch:=ch+CHR(70+nb_voyelle); 
    GenererCap:=ch; 
    End; 
     
    BEGIN 
    Saisie_N(N); 
    for i:=1 to N do 
    Begin 
    Remplir(T); 
    Writeln('Le code CAPTCHA n °',i,' est : ',GenererCap(T)); 
    End; 
    END.

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Bonjour,

    Il ne faut utiliser Randomize qu'une fois, car à chaque utilisation, ça réinitialise le générateur.

    La bonne place pour le faire est dans la partie du programme principal.

    Si les cons volaient, il ferait nuit à midi.

  3. #3
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Merci infiniment
    problème résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 05/01/2010, 03h16
  2. Réponses: 6
    Dernier message: 28/02/2009, 15h57
  3. Réponses: 29
    Dernier message: 18/06/2008, 17h40
  4. decrementer selection chaque fois que macro est appelée
    Par joeyd dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 28/09/2007, 18h05
  5. Réponses: 10
    Dernier message: 20/04/2007, 11h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo