OUVRIR N'IMPORTE QUEL FICHIER AVEC READFILE (API)

leptidev Messages postés 206 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 décembre 2007 - 15 nov. 2002 à 14:40
ciberrique Messages postés 589 Date d'inscription lundi 25 août 2003 Statut Membre Dernière intervention 18 juillet 2010 - 19 févr. 2005 à 12:58
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/5076-ouvrir-n-importe-quel-fichier-avec-readfile-api

ciberrique Messages postés 589 Date d'inscription lundi 25 août 2003 Statut Membre Dernière intervention 18 juillet 2010 1
19 févr. 2005 à 12:58
N'importe quoi, avec un open et un get tu récupéres se que tu veux ...
cs_merline Messages postés 22 Date d'inscription lundi 29 juillet 2002 Statut Membre Dernière intervention 25 juillet 2003
3 févr. 2005 à 09:10
Merci beaucoup pour cette source ! Pas seulement pour le pb des gros fichiers à ouvrir mais avec le "Line Input", certains charactères sont considérés comme la signalisation de fin de fichier mais là, c impeccable ! merci beaucoup.
ld40 Messages postés 336 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 22 février 2019 1
1 janv. 2004 à 19:30
ce module mérite d'être mieux connu.
(Quant on sait qu'il repond à l'éternelle question: "comment lire les gros fichiers en vb").

merci.
jockos Messages postés 321 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 14 mai 2005 2
30 sept. 2003 à 20:01
Merci pour l'infos...

De toute manière, Fso doit lui même utiliser l'API ReadFile.

Pour écrire un fichier, il y a l'API WriteFile.

Je vais mettre ma source la dessus...

A+
cs_Hobby Messages postés 116 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 17 septembre 2008
30 sept. 2003 à 19:44
Salut j'ai fait le test entre ReadFile et fso:
Sur la même machine, avec le même fichier: impossible de faire un test avec un fichier de 500K, j'ai fait le test sur 43Mb (c'est justement le fichier que je doit traité).

ReadFile= 2 secondes
Fso = 3 secondes

a+
Olivier
celiphane Messages postés 466 Date d'inscription samedi 16 février 2002 Statut Membre Dernière intervention 20 avril 2007
23 juil. 2003 à 17:04
Heu, j'avais jamais vu cette source jockos, mais ceci ouvre et récupère bien les octets d'un fichiers, quelqu'il soit :

dim Ch as string * 1024
open MonFichier for binary as #1
get #1,,Ch
close #1

et hop Ch est remplit contient les 1024 premiers caractères de MonFichier !

Pour faire avec des longueurs variables :

dim Ch as string
open MonFichier for binary as #1
Ch=space(Longueur_a_recuperer)
get #1,,Ch
close #1


En revanche, je ne connaissais pas ReadFile, échange de bon procédé ;) !

@+
Celiphane
jockos Messages postés 321 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 14 mai 2005 2
16 nov. 2002 à 08:46
ça c'est mon autre gros problème... Avec VB, pas de Swap j'ai l'impression... il utilise donc seulement la mémoire vive et non celle du disque dur réservé par Windows (mémoire virtuelle).

Word arrive à se dépatouiller avec des gros fichiers, parce qu'il swap une partie de son contenu dans la mémoire virtuelle (disque dur).
Or je n'arrive pas à faire cela en VB...
cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
16 nov. 2002 à 01:58
C bien mais si je fait open sur un fichier de 700 Mo ma memoire va^pas aimer :(((((
jockos Messages postés 321 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 14 mai 2005 2
16 nov. 2002 à 01:35
Essai d'ouvrir un fichier Mp3 par exemple avec VB en le chargeant dans une String... Je dis que tu prennes l'accès Binaire (Binary),séquentiel(Input, Output, Append) ou aléatoire(Random), rien ne marche pour les fichiers non texte.

Il y a soit l'objet FileSystem ou les API Windows (ReadFile)...
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
15 nov. 2002 à 22:41
ah bon on ne sait pas ouvrir autre chose que du texte avec le open de vb.........?
tu precises en plus de toutes les manieres, et tu cites l'accés binaire.
revois le texte d'intro de ta source, je crois qu'il est erroné...
jockos Messages postés 321 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 14 mai 2005 2
15 nov. 2002 à 15:03
C'est vrai, mais alors bonjour la lenteur de FileSystem...
Faudrait faire un testbench pour voir en terme de rapidité ce qu'il y a de mieux...
leptidev Messages postés 206 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 décembre 2007
15 nov. 2002 à 14:40
Y pas que open .....
y a auss FileSystème Objet (orienté objet)
Rejoignez-nous