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 ?
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 ?
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...
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 ?
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;
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 ??
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');
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
Crée une StringList ou un tableau (Array of String).
Puis tu affectes tes valeurs à chaque élément de la liste ou du tableau.
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;
delfuc j'aime bien ton idée tu peux tu pprofondir sur le sujet commen je fais un tableau avec tous ses 20 mots ??
Il y a tout ce qu'il faut dans les exemples de l'aide de (T)StringList.
ouai le stringlist me semble mieux il ne bug pas comme le memo le fait lorsque tu manipule plusieurs lignes.
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
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager