Page 1 sur 1

Boucle & While Eof(1)=0 / Wend

Publié : ven. 27/avr./2007 12:42
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

@ +

Publié : ven. 27/avr./2007 13:04
par minirop
FileSeek(#Fichier, 0)

Publié : ven. 27/avr./2007 13:58
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)

Publié : lun. 30/avr./2007 10:37
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

@ +

Publié : lun. 30/avr./2007 14:01
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)

Publié : mer. 02/mai/2007 12:12
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.


@ +