OVH Cloud OVH Cloud

LECTURE FICHIER TXT

27 réponses
Avatar
Rombeau Jonathan
Bonjour tout le monde, j'essaye de lire un fichier TXT mais je ne sais pas
comment faire pour savoir
si je suis à la fin du fichier ou pas ?


Set fs = CreateObject("scripting.filesystemobject")
Set fichier = fs.getfile("C:\test.txt")
Set ts = fichier.openastextstream(1, 0)

Do While ICI JE METS QUOI ????
ligne = ts.readline
MsgBox ligne
Loop

ts.Close

10 réponses

1 2 3
Avatar
Rombeau Jonathan
Que me conseillez-vous alors ?
Pour le moment je n'ai pas beaucoup de lignes à lire mais par la suite le
fichier va devenir très important !!!!

Dois-je utiliser ceci ?

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

'//traitement de strBuffer

strBuffer = ""
C'est ce que NG m'a proposé ? c'est bien celà NG ???




"Patrice Henrio" a écrit dans le message de
news:
Tout dépend du nombre de lignes à lire.
en tout cas cette méthode est la plus simple à comprendre pour lire un
fichier texte.

"ng" a écrit dans le message de news:

Salut,

Cette méthode fonctionne mais est très lente (bouclage + éventuelle
concaténation de chaine...)

--
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/

SALVA wrote:
Bonsoir,

j'utilise ceci pour lire un fichier text;

open "fichier.txt" for input as #1

do while not eof(1)
input #1,a
MsgBox a
loop
close #1


bonne chance.
a bientot

Salva










Avatar
Boss Hog
Portnawac, et sa repart.

cette vielle rancune contre le FSO....

en fait le fso s'appuis sur l'API windows à la différence qu'il renvoi
l'équivalent d'une collection de classe pour fichiers et dossiers.
effectivement c'est moin rapide(LOL) de 2 à 4 fois moins mais pour accéder à
un fichier
combien de temp met l'API ?? hein ? 2 ou 4 ms ?! sa veut donc dire que le
FSO va mettre de 8 à 16 ms ?! je suis sur que les utilisateurs von faire la
difference(re-LOL).

j'ai tester les 2 méthodes(FSO vs API) et ma conclusion est que tout ceci
est un débat stérile

regarde toute les propriétés et méthodes que fournis le FSO comparer au
methodes des anti-FSO

essai de re-écrire les routines et apres refait un comparatif des perf et la
tu va rigoler.

en clair le FSO y'en à qui aime d'autres qui n'aime pas, de meme pour
windows ou IE Etc....

Moi quand j'en est besoin je l'utilise sans aucun scrupule(me fou des
puristes)

et tu sais quoi, j'en suis pas mort et mes dev non plus..................

@+
Boss Hog

"Rombeau Jonathan" wrote in message
news:
Pourquoi le FSO est-il si déconseillé ???
Ne fonctionne-t-il pas sous tous les windows ? ou est-ce pour autre chose


?


"ng" a écrit dans le message de news:
O9WZQ%
> Salut,
>
>>Function ReadEntireFile(filespec)
> Il faudrait typer la fonction et ses paramètres...
>
>> Const ForReading = 1
>> Dim fso, theFile, retstring
> typer les variables aussi ne ferait pas de mal, on est pas en scriting
> !!!!
>
>> Set fso = CreateObject("Scripting.FileSystemObject")
> le FSO est largement déconseillé en VB, on utilisera les instructions
> implantées : Open qui sont documentées dans l'aide
>
>
>> Set theFile = fso.OpenTextFile(filespec, ForReading, False)
>> Do While theFile.AtEndOfStream <> True
>> retstring = theFile.ReadLine
>> Loop
>> theFile.Close
>> ReadEntireFile = retstring
> Et les Set oObjet = Nothing ??
>
>>End Function
>
>
> Voici un exemple correct et rapide pour lire un fichier texte ou binaire
> dans une variable string :
>
> 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
>
> '//traitement de strBuffer
>
> 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/
>
> Thomas Marencic [MS] wrote:
>> Bonjour,
>>
>> voici un exemple.
>>
>> Function ReadEntireFile(filespec)
>> Const ForReading = 1
>> Dim fso, theFile, retstring
>> Set fso = CreateObject("Scripting.FileSystemObject")
>> Set theFile = fso.OpenTextFile(filespec, ForReading, False)
>> Do While theFile.AtEndOfStream <> True
>> retstring = theFile.ReadLine
>> Loop
>> theFile.Close
>> ReadEntireFile = retstring
>> End Function
>>
>> Cordialement.
>> Thomas MARENCIC
>>
>> "Rombeau Jonathan" wrote in message
>> news:
>>> Bonjour tout le monde, j'essaye de lire un fichier TXT mais je ne
>>> sais pas comment faire pour savoir
>>> si je suis à la fin du fichier ou pas ?
>>>
>>>
>>> Set fs = CreateObject("scripting.filesystemobject")
>>> Set fichier = fs.getfile("C:test.txt")
>>> Set ts = fichier.openastextstream(1, 0)
>>>
>>> Do While ICI JE METS QUOI ????
>>> ligne = ts.readline
>>> MsgBox ligne
>>> Loop
>>>
>>> ts.Close
>
>




Avatar
Boss Hog
La seule chose qui est sure c'est qu'à l'origine il à été fait pour VBScript
mais bon ?!

Boss Hog


"Boss Hog @tiscali.fr>" <bosshog<replace> wrote in message
news:%23vLim3$
Portnawac, et sa repart.

cette vielle rancune contre le FSO....

en fait le fso s'appuis sur l'API windows à la différence qu'il renvoi
l'équivalent d'une collection de classe pour fichiers et dossiers.
effectivement c'est moin rapide(LOL) de 2 à 4 fois moins mais pour accéder


à
un fichier
combien de temp met l'API ?? hein ? 2 ou 4 ms ?! sa veut donc dire que le
FSO va mettre de 8 à 16 ms ?! je suis sur que les utilisateurs von faire


la
difference(re-LOL).

j'ai tester les 2 méthodes(FSO vs API) et ma conclusion est que tout ceci
est un débat stérile

regarde toute les propriétés et méthodes que fournis le FSO comparer au
methodes des anti-FSO

essai de re-écrire les routines et apres refait un comparatif des perf et


la
tu va rigoler.

en clair le FSO y'en à qui aime d'autres qui n'aime pas, de meme pour
windows ou IE Etc....

Moi quand j'en est besoin je l'utilise sans aucun scrupule(me fou des
puristes)

et tu sais quoi, j'en suis pas mort et mes dev non plus..................

@+
Boss Hog

"Rombeau Jonathan" wrote in message
news:
> Pourquoi le FSO est-il si déconseillé ???
> Ne fonctionne-t-il pas sous tous les windows ? ou est-ce pour autre


chose
?
>
>
> "ng" a écrit dans le message de news:
> O9WZQ%
> > Salut,
> >
> >>Function ReadEntireFile(filespec)
> > Il faudrait typer la fonction et ses paramètres...
> >
> >> Const ForReading = 1
> >> Dim fso, theFile, retstring
> > typer les variables aussi ne ferait pas de mal, on est pas en scriting
> > !!!!
> >
> >> Set fso = CreateObject("Scripting.FileSystemObject")
> > le FSO est largement déconseillé en VB, on utilisera les instructions
> > implantées : Open qui sont documentées dans l'aide
> >
> >
> >> Set theFile = fso.OpenTextFile(filespec, ForReading, False)
> >> Do While theFile.AtEndOfStream <> True
> >> retstring = theFile.ReadLine
> >> Loop
> >> theFile.Close
> >> ReadEntireFile = retstring
> > Et les Set oObjet = Nothing ??
> >
> >>End Function
> >
> >
> > Voici un exemple correct et rapide pour lire un fichier texte ou


binaire
> > dans une variable string :
> >
> > 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
> >
> > '//traitement de strBuffer
> >
> > 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/
> >
> > Thomas Marencic [MS] wrote:
> >> Bonjour,
> >>
> >> voici un exemple.
> >>
> >> Function ReadEntireFile(filespec)
> >> Const ForReading = 1
> >> Dim fso, theFile, retstring
> >> Set fso = CreateObject("Scripting.FileSystemObject")
> >> Set theFile = fso.OpenTextFile(filespec, ForReading, False)
> >> Do While theFile.AtEndOfStream <> True
> >> retstring = theFile.ReadLine
> >> Loop
> >> theFile.Close
> >> ReadEntireFile = retstring
> >> End Function
> >>
> >> Cordialement.
> >> Thomas MARENCIC
> >>
> >> "Rombeau Jonathan" wrote in message
> >> news:
> >>> Bonjour tout le monde, j'essaye de lire un fichier TXT mais je ne
> >>> sais pas comment faire pour savoir
> >>> si je suis à la fin du fichier ou pas ?
> >>>
> >>>
> >>> Set fs = CreateObject("scripting.filesystemobject")
> >>> Set fichier = fs.getfile("C:test.txt")
> >>> Set ts = fichier.openastextstream(1, 0)
> >>>
> >>> Do While ICI JE METS QUOI ????
> >>> ligne = ts.readline
> >>> MsgBox ligne
> >>> Loop
> >>>
> >>> ts.Close
> >
> >
>
>




Avatar
Rombeau Jonathan
OK merci je continue d'exploiter ma version de départ alors !!!
du moment que je peux l'installer sur n'importe quel windows à savoir : 98,
ME ou XP !!!

Bonne journée à tous et merci à tous ceux qui répondent aux questions des
gens.
Je trouve celà important d'aider les autres et j'espère que lorsque j'aurai
de l'expérience, je pourrai aider les gens comme ceux qui le font en ce
moment !

@+ tout le monde.

Rombeau Jonathan : jeune informaticien qui aime le VB !



"Boss Hog @tiscali.fr>" <bosshog<replace> a écrit dans le message de news:
esekI$$
La seule chose qui est sure c'est qu'à l'origine il à été fait pour
VBScript
mais bon ?!

Boss Hog


"Boss Hog @tiscali.fr>" <bosshog<replace> wrote in message
news:%23vLim3$
Portnawac, et sa repart.

cette vielle rancune contre le FSO....

en fait le fso s'appuis sur l'API windows à la différence qu'il renvoi
l'équivalent d'une collection de classe pour fichiers et dossiers.
effectivement c'est moin rapide(LOL) de 2 à 4 fois moins mais pour
accéder


à
un fichier
combien de temp met l'API ?? hein ? 2 ou 4 ms ?! sa veut donc dire que le
FSO va mettre de 8 à 16 ms ?! je suis sur que les utilisateurs von faire


la
difference(re-LOL).

j'ai tester les 2 méthodes(FSO vs API) et ma conclusion est que tout ceci
est un débat stérile

regarde toute les propriétés et méthodes que fournis le FSO comparer au
methodes des anti-FSO

essai de re-écrire les routines et apres refait un comparatif des perf et


la
tu va rigoler.

en clair le FSO y'en à qui aime d'autres qui n'aime pas, de meme pour
windows ou IE Etc....

Moi quand j'en est besoin je l'utilise sans aucun scrupule(me fou des
puristes)

et tu sais quoi, j'en suis pas mort et mes dev non plus..................

@+
Boss Hog

"Rombeau Jonathan" wrote in message
news:
> Pourquoi le FSO est-il si déconseillé ???
> Ne fonctionne-t-il pas sous tous les windows ? ou est-ce pour autre


chose
?
>
>
> "ng" a écrit dans le message de news:
> O9WZQ%
> > Salut,
> >
> >>Function ReadEntireFile(filespec)
> > Il faudrait typer la fonction et ses paramètres...
> >
> >> Const ForReading = 1
> >> Dim fso, theFile, retstring
> > typer les variables aussi ne ferait pas de mal, on est pas en
> > scriting
> > !!!!
> >
> >> Set fso = CreateObject("Scripting.FileSystemObject")
> > le FSO est largement déconseillé en VB, on utilisera les instructions
> > implantées : Open qui sont documentées dans l'aide
> >
> >
> >> Set theFile = fso.OpenTextFile(filespec, ForReading, False)
> >> Do While theFile.AtEndOfStream <> True
> >> retstring = theFile.ReadLine
> >> Loop
> >> theFile.Close
> >> ReadEntireFile = retstring
> > Et les Set oObjet = Nothing ??
> >
> >>End Function
> >
> >
> > Voici un exemple correct et rapide pour lire un fichier texte ou


binaire
> > dans une variable string :
> >
> > 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
> >
> > '//traitement de strBuffer
> >
> > 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/
> >
> > Thomas Marencic [MS] wrote:
> >> Bonjour,
> >>
> >> voici un exemple.
> >>
> >> Function ReadEntireFile(filespec)
> >> Const ForReading = 1
> >> Dim fso, theFile, retstring
> >> Set fso = CreateObject("Scripting.FileSystemObject")
> >> Set theFile = fso.OpenTextFile(filespec, ForReading, False)
> >> Do While theFile.AtEndOfStream <> True
> >> retstring = theFile.ReadLine
> >> Loop
> >> theFile.Close
> >> ReadEntireFile = retstring
> >> End Function
> >>
> >> Cordialement.
> >> Thomas MARENCIC
> >>
> >> "Rombeau Jonathan" wrote in message
> >> news:
> >>> Bonjour tout le monde, j'essaye de lire un fichier TXT mais je ne
> >>> sais pas comment faire pour savoir
> >>> si je suis à la fin du fichier ou pas ?
> >>>
> >>>
> >>> Set fs = CreateObject("scripting.filesystemobject")
> >>> Set fichier = fs.getfile("C:test.txt")
> >>> Set ts = fichier.openastextstream(1, 0)
> >>>
> >>> Do While ICI JE METS QUOI ????
> >>> ligne = ts.readline
> >>> MsgBox ligne
> >>> Loop
> >>>
> >>> ts.Close
> >
> >
>
>








Avatar
ng
Exact.

--
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/

La seule chose qui est sure c'est qu'à l'origine il à été fait pour
VBScript mais bon ?!

Boss Hog


"Boss Hog @tiscali.fr>" <bosshog<replace> wrote in message
news:%23vLim3$
Portnawac, et sa repart.

cette vielle rancune contre le FSO....

en fait le fso s'appuis sur l'API windows à la différence qu'il
renvoi l'équivalent d'une collection de classe pour fichiers et
dossiers. effectivement c'est moin rapide(LOL) de 2 à 4 fois moins
mais pour accéder à un fichier
combien de temp met l'API ?? hein ? 2 ou 4 ms ?! sa veut donc dire
que le FSO va mettre de 8 à 16 ms ?! je suis sur que les
utilisateurs von faire la difference(re-LOL).

j'ai tester les 2 méthodes(FSO vs API) et ma conclusion est que tout
ceci est un débat stérile

regarde toute les propriétés et méthodes que fournis le FSO comparer
au methodes des anti-FSO

essai de re-écrire les routines et apres refait un comparatif des
perf et la tu va rigoler.

en clair le FSO y'en à qui aime d'autres qui n'aime pas, de meme pour
windows ou IE Etc....

Moi quand j'en est besoin je l'utilise sans aucun scrupule(me fou des
puristes)

et tu sais quoi, j'en suis pas mort et mes dev non
plus..................

@+
Boss Hog

"Rombeau Jonathan" wrote in message
news:
Pourquoi le FSO est-il si déconseillé ???
Ne fonctionne-t-il pas sous tous les windows ? ou est-ce pour autre
chose ?


"ng" a écrit dans le message de news:
O9WZQ%
Salut,

Function ReadEntireFile(filespec)


Il faudrait typer la fonction et ses paramètres...

Const ForReading = 1
Dim fso, theFile, retstring


typer les variables aussi ne ferait pas de mal, on est pas en
scriting !!!!

Set fso = CreateObject("Scripting.FileSystemObject")


le FSO est largement déconseillé en VB, on utilisera les
instructions implantées : Open qui sont documentées dans l'aide


Set theFile = fso.OpenTextFile(filespec, ForReading, False)
Do While theFile.AtEndOfStream <> True
retstring = theFile.ReadLine
Loop
theFile.Close
ReadEntireFile = retstring


Et les Set oObjet = Nothing ??

End Function




Voici un exemple correct et rapide pour lire un fichier texte ou
binaire dans une variable string :

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

'//traitement de strBuffer

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/

Thomas Marencic [MS] wrote:
Bonjour,

voici un exemple.

Function ReadEntireFile(filespec)
Const ForReading = 1
Dim fso, theFile, retstring
Set fso = CreateObject("Scripting.FileSystemObject")
Set theFile = fso.OpenTextFile(filespec, ForReading, False)
Do While theFile.AtEndOfStream <> True
retstring = theFile.ReadLine
Loop
theFile.Close
ReadEntireFile = retstring
End Function

Cordialement.
Thomas MARENCIC

"Rombeau Jonathan" wrote in message
news:
Bonjour tout le monde, j'essaye de lire un fichier TXT mais je ne
sais pas comment faire pour savoir
si je suis à la fin du fichier ou pas ?


Set fs = CreateObject("scripting.filesystemobject")
Set fichier = fs.getfile("C:test.txt")
Set ts = fichier.openastextstream(1, 0)

Do While ICI JE METS QUOI ????
ligne = ts.readline
MsgBox ligne
Loop

ts.Close












Avatar
ng
Salut,

Regarde on obtient quand même des différences significatives :
http://vbnet.mvps.org/index.html?code/fileapi/fsoapicompare.htm

Et que fais-tu des problèmes de compatibiltés ? Et du fait que FSO peut être
désactivé par l'utilisateur ou par un antivirus (pr se protéger des scripts
malveillants) ? Bin paf plus aucun accès au système de fichiers, ton appli
aura l'air maligne surtout que l'utilisateur (s'il n'est pas expérimenté) ne
voudra pas forcément réactiver le FSO & cie.. alors qu'avec les fonctions
natives/apis : aucun prob.
http://faq.vb.free.fr/index.php?question6

Enfin bref, comme tu le dis, chacun fais comme il veut.


--
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/

Portnawac, et sa repart.

cette vielle rancune contre le FSO....

en fait le fso s'appuis sur l'API windows à la différence qu'il renvoi
l'équivalent d'une collection de classe pour fichiers et dossiers.
effectivement c'est moin rapide(LOL) de 2 à 4 fois moins mais pour
accéder à un fichier
combien de temp met l'API ?? hein ? 2 ou 4 ms ?! sa veut donc dire
que le FSO va mettre de 8 à 16 ms ?! je suis sur que les utilisateurs
von faire la difference(re-LOL).

j'ai tester les 2 méthodes(FSO vs API) et ma conclusion est que tout
ceci est un débat stérile

regarde toute les propriétés et méthodes que fournis le FSO comparer
au methodes des anti-FSO

essai de re-écrire les routines et apres refait un comparatif des
perf et la tu va rigoler.

en clair le FSO y'en à qui aime d'autres qui n'aime pas, de meme pour
windows ou IE Etc....

Moi quand j'en est besoin je l'utilise sans aucun scrupule(me fou des
puristes)

et tu sais quoi, j'en suis pas mort et mes dev non
plus..................

@+
Boss Hog

"Rombeau Jonathan" wrote in message
news:
Pourquoi le FSO est-il si déconseillé ???
Ne fonctionne-t-il pas sous tous les windows ? ou est-ce pour autre
chose ?


"ng" a écrit dans le message de news:
O9WZQ%
Salut,

Function ReadEntireFile(filespec)


Il faudrait typer la fonction et ses paramètres...

Const ForReading = 1
Dim fso, theFile, retstring


typer les variables aussi ne ferait pas de mal, on est pas en
scriting !!!!

Set fso = CreateObject("Scripting.FileSystemObject")


le FSO est largement déconseillé en VB, on utilisera les
instructions implantées : Open qui sont documentées dans l'aide


Set theFile = fso.OpenTextFile(filespec, ForReading, False)
Do While theFile.AtEndOfStream <> True
retstring = theFile.ReadLine
Loop
theFile.Close
ReadEntireFile = retstring


Et les Set oObjet = Nothing ??

End Function




Voici un exemple correct et rapide pour lire un fichier texte ou
binaire dans une variable string :

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

'//traitement de strBuffer

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/

Thomas Marencic [MS] wrote:
Bonjour,

voici un exemple.

Function ReadEntireFile(filespec)
Const ForReading = 1
Dim fso, theFile, retstring
Set fso = CreateObject("Scripting.FileSystemObject")
Set theFile = fso.OpenTextFile(filespec, ForReading, False)
Do While theFile.AtEndOfStream <> True
retstring = theFile.ReadLine
Loop
theFile.Close
ReadEntireFile = retstring
End Function

Cordialement.
Thomas MARENCIC

"Rombeau Jonathan" wrote in message
news:
Bonjour tout le monde, j'essaye de lire un fichier TXT mais je ne
sais pas comment faire pour savoir
si je suis à la fin du fichier ou pas ?


Set fs = CreateObject("scripting.filesystemobject")
Set fichier = fs.getfile("C:test.txt")
Set ts = fichier.openastextstream(1, 0)

Do While ICI JE METS QUOI ????
ligne = ts.readline
MsgBox ligne
Loop

ts.Close










Avatar
ng
Salut,

Oui utilise cette fonction, elle est très rapide même avec des ficheirs
importants, si tu veux ensuite analyser ton buffer ligne par ligne tu peux
utiliser ceci :

Dim k As Integer, strBuffer As String, tblLine() As String

k = FreeFile
Open "c:fichier.txt" For Binary As #k
strBuffer = String$(LOF(k), vbNullChar)
Get #k, , strBuffer
Close #k

tblLine = Split(strBuffer, vbCrLf): strBuffer = ""
For k = 0 To UBound(tblLine)
'//traitement de la ligne : tblLine(k)
Next

Erase tblLine

--
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/

Rombeau Jonathan wrote:
Que me conseillez-vous alors ?
Pour le moment je n'ai pas beaucoup de lignes à lire mais par la
suite le fichier va devenir très important !!!!

Dois-je utiliser ceci ?

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

'//traitement de strBuffer

strBuffer = ""
C'est ce que NG m'a proposé ? c'est bien celà NG ???




"Patrice Henrio" a écrit dans le message
de news:
Tout dépend du nombre de lignes à lire.
en tout cas cette méthode est la plus simple à comprendre pour lire
un fichier texte.

"ng" a écrit dans le message de news:

Salut,

Cette méthode fonctionne mais est très lente (bouclage + éventuelle
concaténation de chaine...)

--
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/

SALVA wrote:
Bonsoir,

j'utilise ceci pour lire un fichier text;

open "fichier.txt" for input as #1

do while not eof(1)
input #1,a
MsgBox a
loop
close #1


bonne chance.
a bientot

Salva








Avatar
Boss Hog
Effectivement t'a raison le FSO est dépendant de WSH(je crois) mais
frenchement,
si l'utilisateur est debile ou traumatiser au point de tout désactivé on
n'en vera jamais le bout.
je comprend ton point de vue(tu n'est dailleur pas le seul loin s'en faut),
perso je vien du dev ASP
et j'ai gardé certaines habitudes(facilités aussi) et je ne développe que
des composants serveur dans un environement maitrisé, je n'est donc pas ses
soucis de compatibilité.

j'ai regarder le comparatif FSO vs API que tu à join et c'est effectivement
parlant, mais j'avoue qu'il ne m'arrive jamais de scanner tous les dossiers
d'une unité ou tous les fichiers Etc.

je suis tout à fait daccord que dans ce cas l'API s'impose, de meme que pour
l'histoire des droits, comme tu le précise dans ton post.

peut etre que le probleme vien du fait qu'au lieu de confronter des opinions
on devrai avant tout se pencher sur le contexte d'utilisation et l'on
s'appercevrai sans doute que les deux sont viable(FSO API) celon leur
domaine d'application.

Cdlt
Boss Hog


"ng" wrote in message
news:
Salut,

Regarde on obtient quand même des différences significatives :
http://vbnet.mvps.org/index.html?code/fileapi/fsoapicompare.htm

Et que fais-tu des problèmes de compatibiltés ? Et du fait que FSO peut


être
désactivé par l'utilisateur ou par un antivirus (pr se protéger des


scripts
malveillants) ? Bin paf plus aucun accès au système de fichiers, ton appli
aura l'air maligne surtout que l'utilisateur (s'il n'est pas expérimenté)


ne
voudra pas forcément réactiver le FSO & cie.. alors qu'avec les fonctions
natives/apis : aucun prob.
http://faq.vb.free.fr/index.php?question6

Enfin bref, comme tu le dis, chacun fais comme il veut.


--
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/

> Portnawac, et sa repart.
>
> cette vielle rancune contre le FSO....
>
> en fait le fso s'appuis sur l'API windows à la différence qu'il renvoi
> l'équivalent d'une collection de classe pour fichiers et dossiers.
> effectivement c'est moin rapide(LOL) de 2 à 4 fois moins mais pour
> accéder à un fichier
> combien de temp met l'API ?? hein ? 2 ou 4 ms ?! sa veut donc dire
> que le FSO va mettre de 8 à 16 ms ?! je suis sur que les utilisateurs
> von faire la difference(re-LOL).
>
> j'ai tester les 2 méthodes(FSO vs API) et ma conclusion est que tout
> ceci est un débat stérile
>
> regarde toute les propriétés et méthodes que fournis le FSO comparer
> au methodes des anti-FSO
>
> essai de re-écrire les routines et apres refait un comparatif des
> perf et la tu va rigoler.
>
> en clair le FSO y'en à qui aime d'autres qui n'aime pas, de meme pour
> windows ou IE Etc....
>
> Moi quand j'en est besoin je l'utilise sans aucun scrupule(me fou des
> puristes)
>
> et tu sais quoi, j'en suis pas mort et mes dev non
> plus..................
>
> @+
> Boss Hog
>
> "Rombeau Jonathan" wrote in message
> news:
>> Pourquoi le FSO est-il si déconseillé ???
>> Ne fonctionne-t-il pas sous tous les windows ? ou est-ce pour autre
>> chose ?
>>
>>
>> "ng" a écrit dans le message de news:
>> O9WZQ%
>>> Salut,
>>>
>>>> Function ReadEntireFile(filespec)
>>> Il faudrait typer la fonction et ses paramètres...
>>>
>>>> Const ForReading = 1
>>>> Dim fso, theFile, retstring
>>> typer les variables aussi ne ferait pas de mal, on est pas en
>>> scriting !!!!
>>>
>>>> Set fso = CreateObject("Scripting.FileSystemObject")
>>> le FSO est largement déconseillé en VB, on utilisera les
>>> instructions implantées : Open qui sont documentées dans l'aide
>>>
>>>
>>>> Set theFile = fso.OpenTextFile(filespec, ForReading, False)
>>>> Do While theFile.AtEndOfStream <> True
>>>> retstring = theFile.ReadLine
>>>> Loop
>>>> theFile.Close
>>>> ReadEntireFile = retstring
>>> Et les Set oObjet = Nothing ??
>>>
>>>> End Function
>>>
>>>
>>> Voici un exemple correct et rapide pour lire un fichier texte ou
>>> binaire dans une variable string :
>>>
>>> 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
>>>
>>> '//traitement de strBuffer
>>>
>>> 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/
>>>
>>> Thomas Marencic [MS] wrote:
>>>> Bonjour,
>>>>
>>>> voici un exemple.
>>>>
>>>> Function ReadEntireFile(filespec)
>>>> Const ForReading = 1
>>>> Dim fso, theFile, retstring
>>>> Set fso = CreateObject("Scripting.FileSystemObject")
>>>> Set theFile = fso.OpenTextFile(filespec, ForReading, False)
>>>> Do While theFile.AtEndOfStream <> True
>>>> retstring = theFile.ReadLine
>>>> Loop
>>>> theFile.Close
>>>> ReadEntireFile = retstring
>>>> End Function
>>>>
>>>> Cordialement.
>>>> Thomas MARENCIC
>>>>
>>>> "Rombeau Jonathan" wrote in message
>>>> news:
>>>>> Bonjour tout le monde, j'essaye de lire un fichier TXT mais je ne
>>>>> sais pas comment faire pour savoir
>>>>> si je suis à la fin du fichier ou pas ?
>>>>>
>>>>>
>>>>> Set fs = CreateObject("scripting.filesystemobject")
>>>>> Set fichier = fs.getfile("C:test.txt")
>>>>> Set ts = fichier.openastextstream(1, 0)
>>>>>
>>>>> Do While ICI JE METS QUOI ????
>>>>> ligne = ts.readline
>>>>> MsgBox ligne
>>>>> Loop
>>>>>
>>>>> ts.Close




Avatar
Patrice Henrio
Pour un programme je lis 7 fichiers textes totalisant 5000 lignes et
l'utilisateur n'a pas d'attente.
Donc à moins d'un fichier de 10000 lignes (et encore), la méthode

tant que pas fin de fichier
lire ligne
fin tant que

me convient.
Par contre s'il faut faire des traitements avec chaque lecture type
concaténation sdes lectures successsives, il vaut mieux faire autrement.

"Rombeau Jonathan" a écrit dans le message de news:
%233z83w$
Que me conseillez-vous alors ?
Pour le moment je n'ai pas beaucoup de lignes à lire mais par la suite le
fichier va devenir très important !!!!

Dois-je utiliser ceci ?

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

'//traitement de strBuffer

strBuffer = ""
C'est ce que NG m'a proposé ? c'est bien celà NG ???




"Patrice Henrio" a écrit dans le message de
news:
Tout dépend du nombre de lignes à lire.
en tout cas cette méthode est la plus simple à comprendre pour lire un
fichier texte.

"ng" a écrit dans le message de news:

Salut,

Cette méthode fonctionne mais est très lente (bouclage + éventuelle
concaténation de chaine...)

--
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/

SALVA wrote:
Bonsoir,

j'utilise ceci pour lire un fichier text;

open "fichier.txt" for input as #1

do while not eof(1)
input #1,a
MsgBox a
loop
close #1


bonne chance.
a bientot

Salva














Avatar
ng
Salut,

En effet en ASP c'est justifié (l'execution se faisant sur ton serveur
uniquement).
Sinon oui FSO permet certaines facilités, c'est pour ca que chacun peut
faire comme il veut suivant ce qu'il veut (performances ou facilité).

--
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/

Effectivement t'a raison le FSO est dépendant de WSH(je crois) mais
frenchement,
si l'utilisateur est debile ou traumatiser au point de tout désactivé
on n'en vera jamais le bout.
je comprend ton point de vue(tu n'est dailleur pas le seul loin s'en
faut), perso je vien du dev ASP
et j'ai gardé certaines habitudes(facilités aussi) et je ne développe
que des composants serveur dans un environement maitrisé, je n'est
donc pas ses soucis de compatibilité.

j'ai regarder le comparatif FSO vs API que tu à join et c'est
effectivement parlant, mais j'avoue qu'il ne m'arrive jamais de
scanner tous les dossiers d'une unité ou tous les fichiers Etc.

je suis tout à fait daccord que dans ce cas l'API s'impose, de meme
que pour l'histoire des droits, comme tu le précise dans ton post.

peut etre que le probleme vien du fait qu'au lieu de confronter des
opinions on devrai avant tout se pencher sur le contexte
d'utilisation et l'on s'appercevrai sans doute que les deux sont
viable(FSO API) celon leur domaine d'application.

Cdlt
Boss Hog


"ng" wrote in message
news:
Salut,

Regarde on obtient quand même des différences significatives :
http://vbnet.mvps.org/index.html?code/fileapi/fsoapicompare.htm

Et que fais-tu des problèmes de compatibiltés ? Et du fait que FSO
peut être désactivé par l'utilisateur ou par un antivirus (pr se
protéger des scripts malveillants) ? Bin paf plus aucun accès au
système de fichiers, ton appli aura l'air maligne surtout que
l'utilisateur (s'il n'est pas expérimenté) ne voudra pas forcément
réactiver le FSO & cie.. alors qu'avec les fonctions natives/apis :
aucun prob.
http://faq.vb.free.fr/index.php?question6

Enfin bref, comme tu le dis, chacun fais comme il veut.


--
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/

Portnawac, et sa repart.

cette vielle rancune contre le FSO....

en fait le fso s'appuis sur l'API windows à la différence qu'il
renvoi l'équivalent d'une collection de classe pour fichiers et
dossiers. effectivement c'est moin rapide(LOL) de 2 à 4 fois moins
mais pour accéder à un fichier
combien de temp met l'API ?? hein ? 2 ou 4 ms ?! sa veut donc dire
que le FSO va mettre de 8 à 16 ms ?! je suis sur que les
utilisateurs von faire la difference(re-LOL).

j'ai tester les 2 méthodes(FSO vs API) et ma conclusion est que tout
ceci est un débat stérile

regarde toute les propriétés et méthodes que fournis le FSO comparer
au methodes des anti-FSO

essai de re-écrire les routines et apres refait un comparatif des
perf et la tu va rigoler.

en clair le FSO y'en à qui aime d'autres qui n'aime pas, de meme
pour windows ou IE Etc....

Moi quand j'en est besoin je l'utilise sans aucun scrupule(me fou
des puristes)

et tu sais quoi, j'en suis pas mort et mes dev non
plus..................

@+
Boss Hog

"Rombeau Jonathan" wrote in message
news:
Pourquoi le FSO est-il si déconseillé ???
Ne fonctionne-t-il pas sous tous les windows ? ou est-ce pour autre
chose ?


"ng" a écrit dans le message de news:
O9WZQ%
Salut,

Function ReadEntireFile(filespec)


Il faudrait typer la fonction et ses paramètres...

Const ForReading = 1
Dim fso, theFile, retstring


typer les variables aussi ne ferait pas de mal, on est pas en
scriting !!!!

Set fso = CreateObject("Scripting.FileSystemObject")


le FSO est largement déconseillé en VB, on utilisera les
instructions implantées : Open qui sont documentées dans l'aide


Set theFile = fso.OpenTextFile(filespec, ForReading, False)
Do While theFile.AtEndOfStream <> True
retstring = theFile.ReadLine
Loop
theFile.Close
ReadEntireFile = retstring


Et les Set oObjet = Nothing ??

End Function




Voici un exemple correct et rapide pour lire un fichier texte ou
binaire dans une variable string :

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

'//traitement de strBuffer

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/

Thomas Marencic [MS] wrote:
Bonjour,

voici un exemple.

Function ReadEntireFile(filespec)
Const ForReading = 1
Dim fso, theFile, retstring
Set fso = CreateObject("Scripting.FileSystemObject")
Set theFile = fso.OpenTextFile(filespec, ForReading, False)
Do While theFile.AtEndOfStream <> True
retstring = theFile.ReadLine
Loop
theFile.Close
ReadEntireFile = retstring
End Function

Cordialement.
Thomas MARENCIC

"Rombeau Jonathan" wrote in message
news:
Bonjour tout le monde, j'essaye de lire un fichier TXT mais je
ne sais pas comment faire pour savoir
si je suis à la fin du fichier ou pas ?


Set fs = CreateObject("scripting.filesystemobject")
Set fichier = fs.getfile("C:test.txt")
Set ts = fichier.openastextstream(1, 0)

Do While ICI JE METS QUOI ????
ligne = ts.readline
MsgBox ligne
Loop

ts.Close














1 2 3