Lire un fichier texte

mentral Messages postés 56 Date d'inscription jeudi 29 mai 2003 Statut Membre Dernière intervention 22 janvier 2008 - 14 sept. 2003 à 12:30
zulot Messages postés 39 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 20 mai 2007 - 15 sept. 2004 à 23:27
Bonjour,

Il me faudrait un algo pour ouvrir un fichier texte, lire une ligne dont le numéro est choisi au hasard par un random, et affecter cette ligne à une variable string.

Si quelqu'un a une idée, il est le bienvenu...

Merci pour toute réponse postée à ce message.

--- MENTRAL ---

4 réponses

yvemoreau Messages postés 308 Date d'inscription mardi 11 juin 2002 Statut Membre Dernière intervention 26 septembre 2008
15 sept. 2003 à 00:47
function bidon(Fichier:String):String;
var
x,NombresLIgnes:Integer;
F:TextFile;

begin
result:='';
try
assignFile(F,Fichier);
{$I-}
Reset(F);
{$I+}
if(IOResult=0)then
begin
NombresLignes:=0;
while not EOF(F)do
begin
ReadLn(F,result);
inc(NombresLignes);
end;

ReSet(F);
Randomize;
x:=random(NombresLignes)+1;

NombresLignes:=0;
while NombresLignes<>x do
begin
ReadLn(Fichier,result);
inc(NombresLignes);
end;
end;

finally CloseFile(F);
end;
end;

soit tu débutes ou soit n'aimes pas te casser la tête !

en tout cas c'est de bon coeur.

yve
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
15 sept. 2003 à 09:31
On peut pas faire plus simple et efficace...
Juste une petite erreur (de saisie sans doute) à signaler dans la 3ème partie de ton code, concernant la lecture de la ligne x tirée au hasard.
Tu écris :
ReadLn(Fichier,result);

Tu voulais certainement écrire :
ReadLn(F, result);
0
mentral Messages postés 56 Date d'inscription jeudi 29 mai 2003 Statut Membre Dernière intervention 22 janvier 2008
17 sept. 2003 à 21:26
Bonjour Yves,

Avant toute chose merci pour ta réponse. En fait j'avais déjà fait un algo mais il ne marchait pas. Je crois que c'est parce que j'avais oublié "Reset(F)", élément dont je ne comprends toujours pas la présence d'ailleurs...

Mais maintenant cette fonction marche et c'est l'essentiel...

Merci encore. MENTRAL.
0
zulot Messages postés 39 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 20 mai 2007
15 sept. 2004 à 23:27
C'est clair qu'il y a beaucoup plus simple jsute avec une boucle et le random pas besoin de tout si tu connais le nombre de ligne de ton fichier.
0
Rejoignez-nous