[v4 beta 5] lof() ou autre chose [Corrigé]

Archive.
olivier
Messages : 305
Inscription : mer. 05/janv./2005 12:58
Localisation : http://www.tib-net.com/meca/index.htm

[v4 beta 5] lof() ou autre chose [Corrigé]

Message par olivier »

Je n'arrive pas à faire un code simple qui pose problème. Mais lors d'un appel à lof(), il arrive que mes variables changes de valeur.

Dans un code de se style là il m'arrive de ne pas avoir la même valeur pour i

Code : Tout sélectionner

openfile(0,"c:\ess.txt")
repeat
    debug readstring(0)
    debug i
    until loc(0)=lof(0)
debug i
closefile(0)
Je m'en sort en faisant :

Code : Tout sélectionner

openfile(0,"c:\ess.txt")
fin=lof(0)
repeat
    debug readstring(0)
    debug i
    until loc(0)=fin
debug i
closefile(0)
Dés que j'ai un code simple qui plante je l'envoie.
Dernière modification par olivier le dim. 05/mars/2006 7:49, modifié 1 fois.
Vive le temps libre !
CameleonTH
Messages : 333
Inscription : sam. 25/juin/2005 11:18
Localisation : Laon (02)
Contact :

Message par CameleonTH »

Euh moi j'ai essayer ton code et je n'ai pas eu de probléme.
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

Et en programmant ta boucle de lecture comme çà, as-tu toujours des problèmes ?

Code : Tout sélectionner

If ReadFile(0,Fichier)
  
  While Not Eof(0)
    
    Debug ReadString(0)
    
  Wend
  
  CloseFile(0)
  
EndIf
Image
olivier
Messages : 305
Inscription : mer. 05/janv./2005 12:58
Localisation : http://www.tib-net.com/meca/index.htm

Message par olivier »

@cameleonTH
Ben non ce code ne bug pas, j'ai écris que je n'avais pas réussi à l'isoler (à avoir un programme suffisament simple pour le poster).

@Flype
Le but n'est pas de contourner le bug mais de le trouver. Alors je lance le mouvement et si d'autre on ce problème, cela ferra peut être avancer les choses.

Affaire à suivire......
Vive le temps libre !
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Cela permettrait de vérifier que c'est bien cette boucle qui pose problème!

Même si tu es sûr, ce serait bien de faire un essai pour confirmer.
olivier
Messages : 305
Inscription : mer. 05/janv./2005 12:58
Localisation : http://www.tib-net.com/meca/index.htm

Message par olivier »

Bonne nouvelle, le bug est apparu dans un code d'un pote :D
Et comme son code fait que 100 ligne, j'ai pu facilement isoler le bug !

Mais bon je ne sais toujours pas d'où il vient réellement ! Dans le code suivant si je change quelque chose cela ne bug plus.

Alors voilà : lancez le et regardez la valeur debugger de i ???????

Il faut bien sur un petit fichier texte c:\ess.txt

Code : Tout sélectionner

Procedure fonction()
    
    id_fichier = ReadFile(1,"c:\ess.txt") 
        Repeat
            Chaine$=ReadString(1 )
            
            Debug i
        Until Loc(1) =Lof(1)
    Debug i

    CloseFile(1)
EndProcedure

ReadFile(0,"c:\ess.txt") 
    Repeat
        Chaine$=ReadString(0 )
        
    Until Loc(0) =Lof(0)
CloseFile(0)

fonction()
Vive le temps libre !
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Donc ce n'est nullement un problème de boucle!

Cela dit gros bug!
Fred
Site Admin
Messages : 2808
Inscription : mer. 21/janv./2004 11:03

Message par Fred »

Ca le fait encore avec la beta 3 ?
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Oui toujours!
olivier
Messages : 305
Inscription : mer. 05/janv./2005 12:58
Localisation : http://www.tib-net.com/meca/index.htm

Message par olivier »

Apparement Fred doit être comme cela devant ce bug : :mad:
Toujours présent dans la Beta 5 :evil:
Vive le temps libre !
Répondre