Boucle & While Eof(1)=0 / Wend

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Ganagyre
Messages : 67
Inscription : jeu. 09/nov./2006 13:41
Localisation : PACA

Boucle & While Eof(1)=0 / Wend

Message par Ganagyre »

Bonjour.

Comment repartir en debut de lecture de fichier, dans une boucle incluant : While Eof(1)=0 / Wend

Code : Tout sélectionner

OpenConsole()
OpenFile(1,"c:\test.txt") 

For b = 1 To 1 ; (si To 1 > 1 , total = toujour 0 ?)
total = 0

 While Eof(1)=0
  
    text.s =";"+ ReadString(1)+";"  
      If FindString(text,";"+Str(b)+";",1)>0
        total+1
    
      EndIf 
 Wend 

PrintN ("boucle = "+Str(b)+" Quantite = "+Str(total))
  
Next b
 Delay(2000)
 
 CloseFile(1) 
Avec For b = 1 To 1, la pas de bleme je trouve le bon resultat, si je modifie du style
For b = 1 To 10, pour les valeurs de 2 à 10 , le resultat reste à 0.



Bonne journée à tous

@ +
minirop
Messages : 321
Inscription : mer. 02/août/2006 21:06

Message par minirop »

FileSeek(#Fichier, 0)
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Message par brossden »

minirop à raison !
Je ne comprends pas bien l'utilité de ce code, il me semble que tu n'obtiendras pas ce que tu veux mais bon !

Ton code modifié :

Code : Tout sélectionner


OpenConsole()
OpenFile(1,"c:\text.txt")

For b = 1 To 10 ; (si To 1 > 1 , total = toujour 0 ?)
  FileSeek(1,0)
  total = 0
  While Eof(1)=0
    text.s =";"+ ReadString(1)+";" 
    If FindString(text,";"+Str(b)+";",1)>0
      total+1
    EndIf
  Wend
  PrintN ("boucle = "+Str(b)+" Quantite = "+Str(total))
Next 
CloseFile(1)
Delay(2000)
Denis

Bonne Jounée à tous
Avatar de l’utilisateur
Ganagyre
Messages : 67
Inscription : jeu. 09/nov./2006 13:41
Localisation : PACA

Message par Ganagyre »

Bonjour.

J'aurais du commenter un peu le code en effet.

D'origine il sert à compter le nombre de fois ou une valeur choisis (b) , se trouve dans un fichier text.txt.
Les Valeurs presentes dans le fichier sont separées par des points virgules (;).
Je voulais faire une recherche automatique par une boucle, mais je ne touvait pas comment revenir en debut de fichier .

Soit l'instruction = FileSeek()

Merci à vous , minirop & brossden

@ +
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Message par brossden »

Pourquoi rajouter des ";"

Essaye ce code :

Code : Tout sélectionner

OpenFile(1,"c:\text.txt")
Debug "debut"
For n = 1 To 9
  FileSeek(1,0)
  Nbr=0
  Repeat
    If ReadString(1)= Str(n)
      Nbr+1
    EndIf
  Until Eof(1)
  Text.s+Str(n)+" se retrouve "+Str(Nbr)+ " fois"+Chr(13)
Next
MessageRequester("Résultats",Text)
CloseFile(1)
Denis

Bonne Jounée à tous
Avatar de l’utilisateur
Ganagyre
Messages : 67
Inscription : jeu. 09/nov./2006 13:41
Localisation : PACA

Message par Ganagyre »

Bonjour.

Je Prends en compte les ";" car le fichier text.txt les contient et pour rajouter par la suite une autre comparaison ( quand j'aurais bien assimilé le tout).

1;2;3;4;5;6;7;8;9;10
1;2;3;4;5;6;7;8;9;11
...


Merci pour le segond Exemple de code, mais il me rends 0 en resutalt pour toute la boucle. Quoique c'est un bon exercice de trouver ou cela cloche.


@ +
Répondre