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

 Delphi Discussion :

générer un string de 01 a 100


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 42
    Points : 18
    Points
    18
    Par défaut générer un string de 01 a 100
    Bonsoir a tous

    j'ai trouver un générateur de mot de passe en delphi et j'essaie de lui ajouter des fonctions comme générer un user et j'ai ajouter une boucle pour générer par example 100 mot de passe aléatoire

    maintenant je veux essayer d'ajouter un utilisateur et un mot de passe dans une TMemo j'ai commème réussi a le faire a partir d'un Tedit

    mais ce que j'ai pas réussi a faire c'est générer un utilisateur par example je tappe le text dans le Tedit et générer le text example : user et lui ajouter une fonction pour 100 utilisateurs

    example

    user01 pass
    user02 pass2
    user03 pass3
    user04 ....
    user05 ...
    user06 .....

    to user100 pass100 ou random

    a partir du Tedit.text

    générer le text + numéritation 01 02 03 .... jusqu'a la valeur d'un TUPDown ou un autre TEdit2 . valeur (100 ) par example

    Merci a tous

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 874
    Points : 11 362
    Points
    11 362
    Billets dans le blog
    6
    Par défaut
    il va donc falloir faire une boucle de 1 à la borne (qu'elle vienne d'un Edit ou d'un TUpDown), dans laquelle il faudra concaténer la chaîne issue d'un Edit et une chaîne de longueur fixe (= celle de la borne) représentant la valeur de l'indice de boucle, précédé d'autant de '0' que nécessaire pour atteindre la longueur désirée.

    Montre-nous ton code et décris les erreurs ou problèmes, qu'on puisse t'aider efficacement.

  3. #3
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 374
    Points : 3 150
    Points
    3 150
    Par défaut
    Bonjour,

    désolé CoolIrc, mais ta question n'est pas très claire. Peux tu la reformuler ?

    A+

    Charly

  4. #4
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    On pourrait passer par un formatFloat pour dire de gérer la chaine avec les digits non rempli à 0...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FormatFloat('000' ,myNumber)
    Si myNumber va de 1 à 100, alors on écrit 001, ..., 010, ..., 099, 100. On pourrait le gérer de la sorte même si la contrainte est d'avoir le nombre de '0' à mettre pour le formatage (cas du random).

  5. #5
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 374
    Points : 3 150
    Points
    3 150
    Par défaut
    Bonjour,

    si j'ai bien compris, tu peux donc faire :

    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
    procedure TForm1.Button1Click(Sender: TObject);
    Var
       Maxi   : Integer ;
       i      : Integer ;
       n      : Integer ;
       Chaine : String  ;
    Begin
       Maxi := 125 ;   // pour cet exemple
       n := Trunc(log10(Maxi)) + 1 ;
       Chaine := '' ;
       For i := 1 To n do
          Chaine := Chaine + '0' ;
       For i := 1 To Maxi do
          Memo1.Lines.Add('User'+FormatFloat(Chaine,i)+ ' Pass'+FormatFloat(Chaine,i))  ;
    End;
    Est ce bien cela que tu veux ?

    A+

    Charly

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 42
    Points : 18
    Points
    18
    Par défaut
    Merci à tous,

    J'ai trouvé la solution. Après avoir lu un autre code et des essais pendant 3 heures j'ai fini par y arriver.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Memo1.Lines.Add((': ')+(Edit2.Text)+IntToStr(i+1)+(' ')+(edtPassword.Text)+(' '));
      Memo2.Lines.Add((': ')+(Edit3.Text)+(' ')+(Edit4.Text)+(' ')+(Edit2.Text)+IntToStr(i+1)+(' ')+(edtPassword.Text))
    Fallait faire un (i+1) pour qu'à chaque fois qu'il génère un user avec mot de passe aléatoire il ajoute un nombre au user généré.
    Après il fallait faire une boucle du code pour qu'il génère à partir de la valeur du composant TupDown avec le Tedit et j'ai fixé la valeur du TupDown a 1000 pour qu'il génère 1000 fois un utilisateur avec un mot de passe aléatoire

  7. #7
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 759
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 759
    Points : 13 361
    Points
    13 361
    Par défaut
    Citation Envoyé par coolirc Voir le message
    Fallait faire un (i+1) pour qu'à chaque fois qu'il génère un user avec mot de passe aléatoire il ajoute un nombre au user généré.
    En d'autres termes, il suffirait de démarrer la boucle à 1 plutôt qu'à 0

    Citation Envoyé par coolirc Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Memo1.Lines.Add((': ')+(Edit2.Text)+IntToStr(i+1)+(' ')+(edtPassword.Text)+(' '));
    Memo2.Lines.Add((': ')+(Edit3.Text)+(' ')+(Edit4.Text)+(' ')+(Edit2.Text)+IntToStr(i+1)+(' ')+(edtPassword.Text))
    Pourquoi toutes ces parenthèses

    Regarde l'aide sur la commande Format. Quoique moins efficace, je trouve l'écriture plus lisible lorsqu'une certaine mise en forme est nécessaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Memo1.Lines.Add(Format(': %s%d %s ', [Edit2.Text, i, edtPassword.Text]));
    Memo2.Lines.Add(Format(': %s %s %s%d %s', [Edit3.Text, Edit4.Text, Edit2.Text, i, edtPassword.Text]));

  8. #8
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 374
    Points : 3 150
    Points
    3 150
    Par défaut
    Bonjour Coolirc,

    as tu résolu ton problème - si oui tu peux mettre le Tag "Résolu"

    Par contre le code que tu as indiqué ne permet pas de gérer les 0 situés à gauche de ta valeur numérique ?

    001 ... 010 ... 099 100 par exemple ( c'est ce que tu avais demandé au début ?)

    le mien avec l'amélioration que propose AndNotOr le permet ?

    A+

    Charly

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

Discussions similaires

  1. script Dos pour générer un fichier avec une string
    Par yanis97 dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 16/10/2009, 16h57
  2. Pb Driver ODBC sage 100 "Invalid Connection String Attribut"
    Par Seb-Mondes dans le forum Windows XP
    Réponses: 0
    Dernier message: 27/11/2008, 17h16
  3. générer un String
    Par ironfalcon dans le forum Débuter avec Java
    Réponses: 11
    Dernier message: 11/08/2008, 10h53
  4. Générer une string aléatoire
    Par eG.dam dans le forum C++
    Réponses: 2
    Dernier message: 22/06/2006, 00h17
  5. Réponses: 6
    Dernier message: 03/03/2006, 09h06

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