Générer une chaine de caractére [Résolu]

Messages postés
70
Date d'inscription
jeudi 3 novembre 2011
Statut
Membre
Dernière intervention
6 février 2015
- - Dernière réponse : PythonGreg
Messages postés
70
Date d'inscription
jeudi 3 novembre 2011
Statut
Membre
Dernière intervention
6 février 2015
- 17 juin 2012 à 01:55
Bonjour est t'il posible de générer plusieur série de chaine aléatoire sans passé par un TTimer
voici la function que j'utilise :

Function KeyRandom : String ;
const
  ChAlpha = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
begin
  Randomize;
  repeat
   Result := Result + ChAlpha[Random(Length(ChAlpha)) + 1];
  until Length(Result) = 4; // Longueur de la clé
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Memo1.Lines.Add ( KeyRandom + '-' + KeyRandom + '-' + KeyRandom + '-' + KeyRandom );
end;
end.


Merci de votre reponse
http://programmationdelphi.info/
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
4208
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
17 août 2019
32
3
Merci
Salut,

 ...
implementation
uses Math; // pour RandomRange
{$R *.dfm}

// fonction générant une chaine aléatoire
// de longueur aLen.
function KeyRandom(const aLen: Integer): string;
begin
  Result := EmptyStr;
  if aLen < 1 then
    Exit;
  repeat
    Result := Result + Chr(RandomRange(Ord('A'), Ord('Z') + 1));
  until Length(Result) = aLen;
end;

// Génération et affichage du résultat
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := KeyRandom(4) + '-' + KeyRandom(4) + '-' + KeyRandom(4) + '-' + KeyRandom(4);
end;

// le Randomize ne s'appelle qu'une seule fois
// c'est pourquoi on le met dans le OnCreate de la fiche
procedure TForm1.FormCreate(Sender: TObject);
begin
  Randomize;
end;

end.



[hr]@+Cirec
[hr]

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 122 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Cirec
Messages postés
693
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
19 février 2019
10
0
Merci
For i:=1 to xxxx do .....

çà devrait marcher
Dubois77
Commenter la réponse de dubois77
Messages postés
111
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
29 avril 2013
1
0
Merci
Salut !!
essayer :
Function KeyRandom(Nbr:Integer): String ;
const
  ChAlpha = '013456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
begin
  Randomize;
  repeat
   Result := Result + ChAlpha[Random(Length(ChAlpha)) + 1];
  until Length(Result) = Nbr; // Longueur de la clé
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.Add ( KeyRandom(6) + '-' + KeyRandom(4) + '-' + KeyRandom(4) + '-' + KeyRandom(2));
end;

@+
Commenter la réponse de cs_walidlam
Messages postés
70
Date d'inscription
jeudi 3 novembre 2011
Statut
Membre
Dernière intervention
6 février 2015
0
Merci
salut,

Merci cirec
de ta reponse sa marche niquel


http://programmationdelphi.info/
Commenter la réponse de PythonGreg