Erreur démarrage prog

[Résolu]
Signaler
Messages postés
44
Date d'inscription
lundi 24 novembre 2003
Statut
Membre
Dernière intervention
28 mars 2008
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Bonjour,
je suis un débutant dans la programmation PPC avec Embedded VB et j'ai un souci. Mon programme consiste simplement à lire et écrire dans un fichier texte, mais au démarrage j'ai ce message file pointer has reached the end of file mais je ne vois pas d'ou peut venir le problème. Si quelqu'un pouvais m'expliquer les causes de ce défaut je pourrais avancer.
Merci

###TITEUF###

6 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
Bonjour,
    le teste si fin de fichier fonctionne pour la prochaine lecture
    or, ici, tu en fais 2

Do While Not File1.EOF
    wLigne1 = File1.LineInputString
    wligne2 = File1.LineInputString



    ça veut donc dire que le fichier doit avoir un nombre pair de lignes. vérification ?
    ou même : n'y a -t-il pas, en fin de fichier une ligne "vierge"



<hr />                                        Cordialement                Bul             [mon Site]     [M'écrire]<hr />
Messages postés
8
Date d'inscription
mardi 21 janvier 2003
Statut
Membre
Dernière intervention
24 janvier 2007

Tu ouvre le fichier en Input ou Output ?
Voici le code standart pour

lire depuis le fichier :
open "monFichier" for input as #1
While not eof(1)
input #1,var
wend

ecrire sur le fichier :
open "monFichier" for otuput as #1
While not eof(1)
print #1,var
wend

Mouad.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
Bonjour,

    mouadkrt :
        m'étonnerais que sur un fichier ouvert en écriture [ output ]
        on puisse tester si la fin de fichier est atteinte [ eof(#) ]
    titeuf44 :
        >>>lire et écrire dans un fichier texte
       on lit OU on écrit dans un fichier texte. pas les 2 en même temps.
       mais sans code ? et il vaudrait bien mieux poste là où il faut.





<hr />                        Cordialement        Bul         [mon Site]     [M'écrire]<hr />
Messages postés
44
Date d'inscription
lundi 24 novembre 2003
Statut
Membre
Dernière intervention
28 mars 2008

merci de votre réactivité et voici une partie de mon code

'on lui applique l'objet File
Set File1 = CreateObject("FileCtl.File")
Call File1.Close


'definition du chemin
chemin = "\SD Card\traducteur"
'chemin = App.Path
'on ouvre le fichier en mode lecture
Call File1.Open(chemin & "langue.txt", fsModeInput, fsAccessRead, fsLockReadWrite)


'Tant que la fin du fichier n'est pas atteinte
Do While Not File1.EOF
    'on remplit la variable avec la valeur trouvé dans la ligne actuelle du fichier
    wLigne1 = File1.LineInputString
    wligne2 = File1.LineInputString
    'puis dans le combo1
    Combo1.AddItem (wLigne1)
    List1.AddItem (wligne2)
Loop
Call File1.Close

###TITEUF###
Messages postés
44
Date d'inscription
lundi 24 novembre 2003
Statut
Membre
Dernière intervention
28 mars 2008

Merci
effectivement une ligne vierge se trouvait à la fin de mon fichier

###TITEUF###
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
nickel si ça baigne, merci pour le retour.
néanmoins, j'écrirais les choses de manière différente
quitte à modifier la "structure" du fichier !
<hr />
                              Cordialement       Bul       [mon Site]    [M'écrire]
<hr />