cs_jacques13
Messages postés252Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention29 juin 2013
-
19 juin 2008 à 18:00
cs_jacques13
Messages postés252Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention29 juin 2013
-
20 juin 2008 à 19:56
Soit un fichier texte que je lis par groupes de 3 lignes.
J'utilise la procédure While Not EOF/Wend
Malheureusement, il arrive que le fichier soit vérolé et que sur les 3 dernières lignes il en manque une ou deux.
Le système génère alors une erreur 62 (lecture après la fin du fichier).
Pour remédier à ce problème, j'introduis avant la boucle un On Error Goto toto.
Quelqu'un peut-il m'expliquer pourquoi cette instruction est totalement inefficace?
Jacques13
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 20 juin 2008 à 08:14
salut,
peut-être serait-il possible de lire tous le fichier texte d'un coup, si pas trop gros en taille, et placer le contenu dans une variable.
Seulement à partir de ce moment tu lis tes blocs de 3 lignes, tu peux par exemple faire un Split sur les saut de ligne (vbCrLf)
cs_jacques13
Messages postés252Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention29 juin 2013 20 juin 2008 à 18:17
Salut Mortalino,
Ca me paraît difficile de lire le fichier d'un coup car il peut être, suivant les cas, très gros et, bien sûr, les longueurs de ligne sont variables. (Sinon ton idée était intéressante).
Avec un traitement d'erreur, je pourrais m'en sortir! malheureusement, malgré l'instruction "On Error" le système plante. On dirait que l'erreur 62 n'est pas reconnue par On Error!
Jacques13
cs_jacques13
Messages postés252Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention29 juin 2013 20 juin 2008 à 19:56
On Error GoTo suite5
Open chemin$ + ".vfi" For Input As 1
While Not EOF(1)
Line Input #1, b$
Line Input #1, c$
Input #1, a$
Traitement a$, b$, c$
Wend
suite5::
Close 1