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 :

Un random dans un fichier .txt


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 22
    Points : 13
    Points
    13
    Par défaut Un random dans un fichier .txt
    J'ai un fichier .txt contenant 20 mots j'aimerais quand je compile le prog delphi qui en choisisse un au hasard dans les 20 comment faire ?

  2. #2
    Membre confirmé
    Avatar de OutOfRange
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 533
    Points : 474
    Points
    474
    Par défaut
    Salut
    Est-ce le choix aléatoire qui te gène ?
    Dans ce cas
    Random, randomize et
    Ou est-ce la sélection d'un mot dans un .txt ?
    Choisir, c'est renoncer...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 22
    Points : 13
    Points
    13
    Par défaut .txt
    c'est le fait que faut je fais un random dans un fichier .txt
    jai commencé par assign(mots,'words.txt')
    ensuite randomize ;
    ensuite
    random(mots)
    comment faire pour qu'il choisisse unmot au hasard ans le fichier words.txt ?

  4. #4
    Membre régulier

    Inscrit en
    Novembre 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Novembre 2005
    Messages : 97
    Points : 87
    Points
    87
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    var F:textfile;R:1..20;i:word;mot:string;
    begin
    assignFile(F,'choix.txt');
    reset(F);
    randomize;
    R:=1+random(20);
    for i:=1 to R do
    readln(F,mot);
    
    closeFile(F);
    showmessage(mot);
    end;

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 22
    Points : 13
    Points
    13
    Par défaut ?
    mais est-ce possible de stocker 20 mots dans le programme delphi directement ? genre ne pas utiliser de fichier .txt externe ? et ensuite faire un random dans les 20 mots ??

  6. #6
    Membre régulier

    Inscrit en
    Novembre 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Novembre 2005
    Messages : 97
    Points : 87
    Points
    87
    Par défaut
    saisir les (20) mots dans un Memo

    en suite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    memo1.Lines.SaveToFile('choix.txt');

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 22
    Points : 13
    Points
    13
    Par défaut
    non je parlais de n'avoir ajucun fichier externe , mettre ma bande de mot dans le programme genre les mettre au début du prog dans les variables ou constantes mais je sais pas comment ;\ dis moi si vous comprenez bien ma question

  8. #8
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    Crée une StringList ou un tableau (Array of String).
    Puis tu affectes tes valeurs à chaque élément de la liste ou du tableau.

  9. #9
    Membre régulier

    Inscrit en
    Novembre 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Novembre 2005
    Messages : 97
    Points : 87
    Points
    87
    Par défaut
    saisir les mots dans 1 memo
    et chaque line de ce dernier sera un element dans un tableau TAB:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var TAB:array[0..19]of string;i:integer;R:1..20;mot:string;
    begin
    for i:=0 to memo1.Lines.Count-1 do
    TAB[i]:=Memo1.Lines[i];
    
    randomize;
    R:=random(memo1.Lines.Count);
    
    showmessage(TAB[R]);
    
    
    end;

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 22
    Points : 13
    Points
    13
    Par défaut delfuc
    delfuc j'aime bien ton idée tu peux tu pprofondir sur le sujet commen je fais un tableau avec tous ses 20 mots ??

  11. #11
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    Il y a tout ce qu'il faut dans les exemples de l'aide de (T)StringList.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 48
    Points : 40
    Points
    40
    Par défaut
    ouai le stringlist me semble mieux il ne bug pas comme le memo le fait lorsque tu manipule plusieurs lignes.

  13. #13
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    pour initialiser la tstringlist, utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    const CRLF=#$0D#$0A;
    ...
    myTstringlist.text:='mot0'+CRLF+'mot1'+CRLF+'mot2'
    ;
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  14. #14
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Salut
    Tu peu faire comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function GetRandomString(FileName: string): string;
    var t: TStringList;
    begin
      t := TStringList.Create;
      t.LoadFromFile(FileName);
      Randomize;
      Result := t.Strings[Random(19)];
      FreeAndNil(t);
    end;
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

Discussions similaires

  1. Ouvrir et écrire dans un fichier .txt en T-SQL
    Par joul's dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 27/10/2008, 21h04
  2. Remplacement dans un fichier .txt
    Par sebtoto62 dans le forum Langage
    Réponses: 4
    Dernier message: 28/07/2005, 13h15
  3. Date dans un fichier txt
    Par cali1983 dans le forum C++
    Réponses: 6
    Dernier message: 23/05/2005, 17h35
  4. Réponses: 10
    Dernier message: 05/10/2004, 11h28
  5. [langage] tabulation dans un fichier txt
    Par TigreRouge dans le forum Langage
    Réponses: 2
    Dernier message: 16/08/2004, 17h36

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