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

Messages postés
70
Date d'inscription
jeudi 3 novembre 2011
Dernière intervention
6 février 2015
- - Dernière réponse : PythonGreg
Messages postés
70
Date d'inscription
jeudi 3 novembre 2011
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 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
42
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
Dernière intervention
19 février 2019
19
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
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
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.