Generation aleatoire de caracteres selon une condition donnée
swadfish
Messages postés16Date d'inscriptionmardi 21 février 2006StatutMembreDernière intervention 8 février 2010
-
8 nov. 2009 à 18:21
swadfish
Messages postés16Date d'inscriptionmardi 21 février 2006StatutMembreDernière intervention 8 février 2010
-
9 nov. 2009 à 21:43
Bonjour
je vous prie de m'aider a résoudre mon problème qui consiste - selon le titre - a générer une chaine de caractère selon un critère précis.Je m'explique :Par exemple
je veux générer un nombre d'une certaine longueur( idem pour la chaine de caractère) aléatoire que son cumul (cumul ASCII) égal a 100 (idem $4DE).
j'ai fais une tentative sur des nombres est voila le résultat:
procedure TForm1.Button1Click(Sender: TObject);
var
r,r1,r2,r3,r4:Integer;
s1,s2,s3,s4:string;
begin
r1:=Random(10);
s1:=Format('%0.4d',[r1]);
r2:=Random(10);
s2:=Format('%0.4d',[r2]);
r3:=Random(10);
s3:=Format('%0.4d',[r3]);
r4:=Random(10);
s4:=Format('%0.4d',[r4]);
r:=r1+r2+r3+r4;
if r = 12 then
begin
edit1.Text:= s1+'-'+s2+'-'+s3+'-'+s4;
end
else
Randomize;
end;
end.
je veux savoir est ce que la manip marche avec les autres caracteres ( si ca marche biensur )
je sollicite votre aide pour résoudre ce problème
merci et bonne soirée!
My Life Is ... Delphi
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 8 nov. 2009 à 19:09
Je ne vois pas très bien ce que tu cherches à obtenir sachant que :
- le code ASCII, en décimal, du chiffre 0 est 48 et celui du chiffre 9 a pour code ASCII 57
- le code ASCII des lettres va de 65 pour la lettre A à 90 pour la lettre Z.
En cumulant les valeurs décimales des codes ASCII de 4 caractères (voir ton code), il est alors impossible de ne pas dépasser 100.
swadfish
Messages postés16Date d'inscriptionmardi 21 février 2006StatutMembreDernière intervention 8 février 2010 8 nov. 2009 à 20:21
Merci pour vos réponses messieurs
en ce qui concerne le 100 c'est qu'un exemple!
ce que je veux parvenir c'est générer des combinaisons soit des numéros ou des codes ascii quand je fais leur cumul soit les numeros ou bien les caracteres j'obtiens une somme deja definis dans le code
Exmple:
4365 >> 4+3+6+5 = 18
8811 >> 8+8+1+1 = 18
4833 >> 4+8+3+3 = 18
...
a chaque fois que je clique sur générer il me donne une combinaison a condition quelle soit égale a 18.
Merci pour votre aide!
My Life Is Delphi
swadfish
Messages postés16Date d'inscriptionmardi 21 février 2006StatutMembreDernière intervention 8 février 2010 9 nov. 2009 à 21:43
Ce que je veux c'est une proposition a chaque clic ... mais cela prend beaucoup de temps pour trouver une combinaison ... et sera plus difficile en cas de de grand nombre ou cumul ASCII.
Merci pour vos réponses
a bientôt