je voudrais lire la totalit=E9 d'un fichier texte. J'ai=20
donc essay=E9
Open fichier For Input As #1
tout =3D Input(LOF(1), #1)
Close #1
J'ai une erreur 62 (L'entr=E9e d=E9passe la fin de fichier).
Qui peut m'expliquer pourquoi.
Merci d'avance
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Adam Pietrasiewicz
We wtorek 10-sierpnia-2004 o godzinie 09:20:02 Guy napisa³/a
je voudrais lire la totalité d'un fichier texte. J'ai donc essayé Open fichier For Input As #1 tout = Input(LOF(1), #1) Close #1 J'ai une erreur 62 (L'entrée dépasse la fin de fichier). Qui peut m'expliquer pourquoi. Merci d'avance
Ce type d'erreur arrive quand le fichier contient des caracteres NON TEXTE comme un executable ou une dll.
-- Pozdrawiam Adam Pietrasiewicz
We wtorek 10-sierpnia-2004 o godzinie 09:20:02 Guy napisa³/a
je voudrais lire la totalité d'un fichier texte. J'ai
donc essayé
Open fichier For Input As #1
tout = Input(LOF(1), #1)
Close #1
J'ai une erreur 62 (L'entrée dépasse la fin de fichier).
Qui peut m'expliquer pourquoi.
Merci d'avance
Ce type d'erreur arrive quand le fichier contient des caracteres NON
TEXTE comme un executable ou une dll.
We wtorek 10-sierpnia-2004 o godzinie 09:20:02 Guy napisa³/a
je voudrais lire la totalité d'un fichier texte. J'ai donc essayé Open fichier For Input As #1 tout = Input(LOF(1), #1) Close #1 J'ai une erreur 62 (L'entrée dépasse la fin de fichier). Qui peut m'expliquer pourquoi. Merci d'avance
Ce type d'erreur arrive quand le fichier contient des caracteres NON TEXTE comme un executable ou une dll.
-- Pozdrawiam Adam Pietrasiewicz
le_troll
Bonjour, voici
dim taille as long dim pointeur as long dim variable texte as string dim tout_le_fichier as string ' ChDrive App.Path ChDir App.Path pointeur = freefile Open "nom_fichier.txt" For Input As pointeur if LOF(pointeur) = 0 then exit sub tout_le_fichier = "" Do while EOF(pointeur) <> true Line Input #pointeur, variable_texte tout_le_fichier = tout_le_fichier & variable_texte Loop close pointeur '-----------------------------------------
Pour tes erreurs, à part si le fichier est vide, le fichier texte avec la méthode que tu invoques (accès séquentiel), est fait pour être lu séquentiellement, il lit chaque ligne jusqu'aux caractères ascii 13+10 <rc>+<lf> de haut en bas, tel que tu l'as ouvert... Il es possible de mémoire d'enlever cette marque de fin de ligne "vbCrLf" en mettant un ";" à la fin de l'enregistrement, mais normalement ce n'est pas le but d'un fichier texte... Si tu veux lire tout d'un coup il faut utiliser une autre méthode de lecture "Binary", où là tu passes à une variable la longueur du fichier, puis tu reçoit dans cette variable le fichier en entier... mais là encore ce n'est pas trop l'usage de vider un fichier dans une variable, soit on accède aux éléments recherchés, soit on transvase entre fichier, ou encore on affiche en liste, et cætera. En dernier, concernant le pointeur, dans cette méthode le "#" comme tu le vois, est inutile et alourdit la syntaxe (LOF), in fine, il n'est pas de bonne augure que tu donnes un nom de pointeur si peu expressif que "1", car un pointeur peut se réutiliser loin de son fichier dans le code, et là "1" on va se demander ce que c'est, tandis que "p", "pf", "ptr", "pointeur" ...1, 2, 3... (p1, p2, pf1, ptr1, pointeur1) on ne se demandera pas ce que c'est...
-- Merci, @+, bye, Joe troll75 AROBASE iFrance POINT com ------------------------------------------ Ce message est plein de virus "certifiés" Le_Troll, éleveur de Trolls depuis César, qui disait: Avec une hache, celui qui tient le manche a toujours raison ! ------------------------------------------
"Guy" a écrit dans le message de news: 304f01c47eaa$73ffa390$ je voudrais lire la totalité d'un fichier texte. J'ai donc essayé Open fichier For Input As #1 tout = Input(LOF(1), #1) Close #1 J'ai une erreur 62 (L'entrée dépasse la fin de fichier). Qui peut m'expliquer pourquoi. Merci d'avance
Bonjour, voici
dim taille as long
dim pointeur as long
dim variable texte as string
dim tout_le_fichier as string
'
ChDrive App.Path
ChDir App.Path
pointeur = freefile
Open "nom_fichier.txt" For Input As pointeur
if LOF(pointeur) = 0 then exit sub
tout_le_fichier = ""
Do while EOF(pointeur) <> true
Line Input #pointeur, variable_texte
tout_le_fichier = tout_le_fichier & variable_texte
Loop
close pointeur
'-----------------------------------------
Pour tes erreurs, à part si le fichier est vide, le fichier texte avec
la méthode que tu invoques (accès séquentiel), est fait pour être lu
séquentiellement, il lit chaque ligne jusqu'aux caractères ascii 13+10 <rc>+<lf> de haut en bas, tel que tu l'as ouvert...
Il es possible de mémoire d'enlever cette marque de fin de ligne "vbCrLf" en
mettant un ";" à la fin de l'enregistrement, mais normalement ce n'est pas
le but d'un fichier texte...
Si tu veux lire tout d'un coup il faut utiliser une autre méthode de lecture
"Binary", où là tu passes à une variable la longueur du fichier, puis tu
reçoit dans cette variable le fichier en entier... mais là encore ce n'est
pas trop l'usage de vider un fichier dans une variable, soit on accède aux
éléments recherchés, soit on transvase entre fichier, ou encore on affiche
en liste, et cætera.
En dernier, concernant le pointeur, dans cette méthode le "#" comme tu le
vois, est inutile et alourdit la syntaxe (LOF), in fine, il n'est pas de
bonne augure que tu donnes un nom de pointeur si peu expressif que "1", car
un pointeur peut se réutiliser loin de son fichier dans le code, et là "1"
on va se demander ce que c'est, tandis que "p", "pf", "ptr", "pointeur"
...1, 2, 3... (p1, p2, pf1, ptr1, pointeur1) on ne se demandera pas ce que
c'est...
--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Ce message est plein de virus "certifiés"
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !
------------------------------------------
"Guy" <anonymous@discussions.microsoft.com> a écrit dans le message de news:
304f01c47eaa$73ffa390$a301280a@phx.gbl...
je voudrais lire la totalité d'un fichier texte. J'ai
donc essayé
Open fichier For Input As #1
tout = Input(LOF(1), #1)
Close #1
J'ai une erreur 62 (L'entrée dépasse la fin de fichier).
Qui peut m'expliquer pourquoi.
Merci d'avance
dim taille as long dim pointeur as long dim variable texte as string dim tout_le_fichier as string ' ChDrive App.Path ChDir App.Path pointeur = freefile Open "nom_fichier.txt" For Input As pointeur if LOF(pointeur) = 0 then exit sub tout_le_fichier = "" Do while EOF(pointeur) <> true Line Input #pointeur, variable_texte tout_le_fichier = tout_le_fichier & variable_texte Loop close pointeur '-----------------------------------------
Pour tes erreurs, à part si le fichier est vide, le fichier texte avec la méthode que tu invoques (accès séquentiel), est fait pour être lu séquentiellement, il lit chaque ligne jusqu'aux caractères ascii 13+10 <rc>+<lf> de haut en bas, tel que tu l'as ouvert... Il es possible de mémoire d'enlever cette marque de fin de ligne "vbCrLf" en mettant un ";" à la fin de l'enregistrement, mais normalement ce n'est pas le but d'un fichier texte... Si tu veux lire tout d'un coup il faut utiliser une autre méthode de lecture "Binary", où là tu passes à une variable la longueur du fichier, puis tu reçoit dans cette variable le fichier en entier... mais là encore ce n'est pas trop l'usage de vider un fichier dans une variable, soit on accède aux éléments recherchés, soit on transvase entre fichier, ou encore on affiche en liste, et cætera. En dernier, concernant le pointeur, dans cette méthode le "#" comme tu le vois, est inutile et alourdit la syntaxe (LOF), in fine, il n'est pas de bonne augure que tu donnes un nom de pointeur si peu expressif que "1", car un pointeur peut se réutiliser loin de son fichier dans le code, et là "1" on va se demander ce que c'est, tandis que "p", "pf", "ptr", "pointeur" ...1, 2, 3... (p1, p2, pf1, ptr1, pointeur1) on ne se demandera pas ce que c'est...
-- Merci, @+, bye, Joe troll75 AROBASE iFrance POINT com ------------------------------------------ Ce message est plein de virus "certifiés" Le_Troll, éleveur de Trolls depuis César, qui disait: Avec une hache, celui qui tient le manche a toujours raison ! ------------------------------------------
"Guy" a écrit dans le message de news: 304f01c47eaa$73ffa390$ je voudrais lire la totalité d'un fichier texte. J'ai donc essayé Open fichier For Input As #1 tout = Input(LOF(1), #1) Close #1 J'ai une erreur 62 (L'entrée dépasse la fin de fichier). Qui peut m'expliquer pourquoi. Merci d'avance
le_troll
En complément je viens de mieux regarder, de toute façon tu l'utilises à l'envers ton instruction, telle que tu l'as fait, c'est ta variable sensée récupérer le fichier qui se vide dans la lecture du pointeur, or c'est le contraire ("de gauche à droite", c'est la lecture du pointeur qui charge une variable "fichier---> = ---> variable"...
-- Merci, @+, bye, Joe troll75 AROBASE iFrance POINT com ------------------------------------------ Ce message est plein de virus "certifiés" Le_Troll, éleveur de Trolls depuis César, qui disait: Avec une hache, celui qui tient le manche a toujours raison ! ------------------------------------------
"Guy" a écrit dans le message de news: 304f01c47eaa$73ffa390$ je voudrais lire la totalité d'un fichier texte. J'ai donc essayé Open fichier For Input As #1 tout = Input(LOF(1), #1) Close #1 J'ai une erreur 62 (L'entrée dépasse la fin de fichier). Qui peut m'expliquer pourquoi. Merci d'avance
En complément je viens de mieux regarder, de toute façon tu l'utilises à
l'envers ton instruction, telle que tu l'as fait, c'est ta variable sensée
récupérer le fichier qui se vide dans la lecture du pointeur, or c'est le
contraire ("de gauche à droite", c'est la lecture du pointeur qui charge une
variable "fichier---> = ---> variable"...
--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Ce message est plein de virus "certifiés"
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !
------------------------------------------
"Guy" <anonymous@discussions.microsoft.com> a écrit dans le message de news:
304f01c47eaa$73ffa390$a301280a@phx.gbl...
je voudrais lire la totalité d'un fichier texte. J'ai
donc essayé
Open fichier For Input As #1
tout = Input(LOF(1), #1)
Close #1
J'ai une erreur 62 (L'entrée dépasse la fin de fichier).
Qui peut m'expliquer pourquoi.
Merci d'avance
En complément je viens de mieux regarder, de toute façon tu l'utilises à l'envers ton instruction, telle que tu l'as fait, c'est ta variable sensée récupérer le fichier qui se vide dans la lecture du pointeur, or c'est le contraire ("de gauche à droite", c'est la lecture du pointeur qui charge une variable "fichier---> = ---> variable"...
-- Merci, @+, bye, Joe troll75 AROBASE iFrance POINT com ------------------------------------------ Ce message est plein de virus "certifiés" Le_Troll, éleveur de Trolls depuis César, qui disait: Avec une hache, celui qui tient le manche a toujours raison ! ------------------------------------------
"Guy" a écrit dans le message de news: 304f01c47eaa$73ffa390$ je voudrais lire la totalité d'un fichier texte. J'ai donc essayé Open fichier For Input As #1 tout = Input(LOF(1), #1) Close #1 J'ai une erreur 62 (L'entrée dépasse la fin de fichier). Qui peut m'expliquer pourquoi. Merci d'avance
ng
Salut,
Il est plus rapide de le lire en binaire (mm si ce n'est que du texte) :
Dim k as Integer, strBuffer As String k = FreeFile Open "c:fichier.txt" For Binary As #k strBuffer = String$(LOF(k), vbNullCHar) Get #k,,strBuffer Close #k
Debug.Print strBuffer
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/ http://apisvb.europe.webmatrixhosting.net/
Guy a écrit :
je voudrais lire la totalité d'un fichier texte. J'ai donc essayé Open fichier For Input As #1 tout = Input(LOF(1), #1) Close #1 J'ai une erreur 62 (L'entrée dépasse la fin de fichier). Qui peut m'expliquer pourquoi. Merci d'avance
Salut,
Il est plus rapide de le lire en binaire (mm si ce n'est que du texte) :
Dim k as Integer, strBuffer As String
k = FreeFile
Open "c:fichier.txt" For Binary As #k
strBuffer = String$(LOF(k), vbNullCHar)
Get #k,,strBuffer
Close #k
Debug.Print strBuffer
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Guy <anonymous@discussions.microsoft.com> a écrit :
je voudrais lire la totalité d'un fichier texte. J'ai
donc essayé
Open fichier For Input As #1
tout = Input(LOF(1), #1)
Close #1
J'ai une erreur 62 (L'entrée dépasse la fin de fichier).
Qui peut m'expliquer pourquoi.
Merci d'avance
Il est plus rapide de le lire en binaire (mm si ce n'est que du texte) :
Dim k as Integer, strBuffer As String k = FreeFile Open "c:fichier.txt" For Binary As #k strBuffer = String$(LOF(k), vbNullCHar) Get #k,,strBuffer Close #k
Debug.Print strBuffer
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/ http://apisvb.europe.webmatrixhosting.net/
Guy a écrit :
je voudrais lire la totalité d'un fichier texte. J'ai donc essayé Open fichier For Input As #1 tout = Input(LOF(1), #1) Close #1 J'ai une erreur 62 (L'entrée dépasse la fin de fichier). Qui peut m'expliquer pourquoi. Merci d'avance
François Picalausa
Hello, "Adam Pietrasiewicz" a écrit dans le message de news:
Ce type d'erreur arrive quand le fichier contient des caracteres NON TEXTE comme un executable ou une dll.
Juste pour compléter, il s'agit surtout du caractere EOF (ASCII &h1A - 26 - CTRL+Z), qui est utilisé par VB lors des opérations séquentielles sur les fichiers.
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
Hello,
"Adam Pietrasiewicz" <adpiet@polbox.com> a écrit dans le message de
news:YNCGBC10082004093429.nqcvrg@cbyobk.pbz
Ce type d'erreur arrive quand le fichier contient des caracteres NON
TEXTE comme un executable ou une dll.
Juste pour compléter, il s'agit surtout du caractere EOF (ASCII &h1A - 26 -
CTRL+Z), qui est utilisé par VB lors des opérations séquentielles sur les
fichiers.
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
Hello, "Adam Pietrasiewicz" a écrit dans le message de news:
Ce type d'erreur arrive quand le fichier contient des caracteres NON TEXTE comme un executable ou une dll.
Juste pour compléter, il s'agit surtout du caractere EOF (ASCII &h1A - 26 - CTRL+Z), qui est utilisé par VB lors des opérations séquentielles sur les fichiers.
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net