Lecture de fichier - Methode Rapide

cs_aKheNathOn Messages postés 575 Date d'inscription dimanche 23 décembre 2001 Statut Membre Dernière intervention 23 octobre 2012 - 12 févr. 2002 à 17:32
cs_ptitfab Messages postés 10 Date d'inscription lundi 31 décembre 2001 Statut Membre Dernière intervention 27 février 2003 - 12 févr. 2002 à 18:11
J'ai vraiment un gros soucis car si je mets environ 2 minutes pour lire un fichier exe de 94 Ko , et ben je suis pas arrivé d'affaire avec les fichiers de + de 10 Mo !

Ce qu'il me faut savoir c'est comment je pourrais m'y prendre pour lire un fichier, BINAIRE , OU EXECUTABLE trés rapidement et les mettre dans une zone Mémoire ...

Si je demande ça c'est que la méthode que j'utilise en ce moment est trop lente :

 Dim Chaine As String
Open CommonDialog1.FileName For Binary Access Read Lock Read As #1
   For i = 1 To LOF(1)
 Chaine = Input(1, 1)
   Next i
   Close #1


Ou sinon je peux aussi l'écrire comme ça :

 Dim Chaine As String
Open CommonDialog1.FileName For Binary Access Read Lock Read As #1
 Chaine = Input(LOF(1), 1)
 Close #1


Mais ça ne changera rien à la vitesse de lecture

La methode de lecture en mode input n'est pas valide à cause des caractéres spéciaux ...
Bréf j'en suis pas sûr que ça marche avec line input mais y'à que trés grandes chanses que non ...!

Veuillez me dire avec quel mode je pourrais lire ce fichier en moins de 10 secondes ... car un fichier de 94 Ko c'est vraiment pas gros !

1 réponse

cs_ptitfab Messages postés 10 Date d'inscription lundi 31 décembre 2001 Statut Membre Dernière intervention 27 février 2003
12 févr. 2002 à 18:11
Salut,
essaie plutôt ça:

Dim FileBuffer As String
Dim PF As Long
PF = FreeFile()
Open aFilePath For Binary Access Read As #PF
FileBuffer = Space(LOF(PF))
Get #PF, 1, FileBuffer
Close #PF

A+
0
Rejoignez-nous