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

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

Répondre au sujet
Cirec 4217 Messages postés vendredi 23 juillet 2004Date d'inscription 3 avril 2018 Dernière intervention - 16 juin 2012 à 18:41
+3
Utile
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]
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Cirec
dubois77 689 Messages postés jeudi 17 avril 2008Date d'inscription 9 mars 2018 Dernière intervention - 16 juin 2012 à 15:19
0
Utile
For i:=1 to xxxx do .....

çà devrait marcher
Dubois77
Commenter la réponse de dubois77
cs_walidlam 111 Messages postés lundi 30 mai 2011Date d'inscription 29 avril 2013 Dernière intervention - 16 juin 2012 à 16:01
0
Utile
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
PythonGreg 70 Messages postés jeudi 3 novembre 2011Date d'inscription 6 février 2015 Dernière intervention - 17 juin 2012 à 01:55
0
Utile
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.