Travailler en mémoire sur un fichier

zoslex Messages postés 18 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 14 mars 2006 - 9 mars 2005 à 10:35
zoslex Messages postés 18 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 14 mars 2006 - 11 mars 2005 à 22:59
Salut,

Je cherche à faire des opérations sur chaque mot d'un fichier. En allant les chercher les uns après les autres avec get, je trouve ça super lent. N'est-ce pas possible de charger le fichier en mémoire, travailler en mémoire, puis tout reballancer à la fin sur le disque ?

Si pas claire : le dire.
D'avance, je vous remercie sincèrement pour vos réponses.

ZosleX

6 réponses

l0st3d Messages postés 205 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 13 novembre 2009
9 mars 2005 à 13:28
Tu pourais toujour mettre tout le contenue de ton fichier dans une variable?



dim MyVar1 as string



les données serons en memoire si tu fais sa
0
zoslex Messages postés 18 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 14 mars 2006
9 mars 2005 à 13:40
oui, mais comme je travaille en binaire, comment ne traiter qu'une partie si je mets le tout dans une variable ? D'ailleurs, elle sera de quel type cette variable ?
0
zoslex Messages postés 18 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 14 mars 2006
9 mars 2005 à 14:39
Je pense avoir trouvé/compris. Je pioche dans la variable avec Mid.

Mais quelle est la différence entre Mid et Mid$ ?

Merci pour tes réponses
0
zoslex Messages postés 18 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 14 mars 2006
9 mars 2005 à 15:35
J'ai trouvé la différence.
Par contre, je n'arrive pas à travailler directement sur les octets. Travailler sur des string est super réducteur. Je veux m'affranchir du type de donnée traitée.
COMMENT TRAVAILLER SUR LES OCTETS DIRECTEMENT ? Ceci après avoir mis le fichier en mémoire dans une variable (de quelle type ?).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MoiOlivier Messages postés 172 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 4 août 2005
9 mars 2005 à 18:33
Salut,
Tu déclares un tableau de byte comme ça : Dim Tab() as byte
Tu redimensionnes ton tableau à la taille du fichier (en octets évidemment) : redim Tab(1 to Taille)
Puis tu ouvres ton fichier en binaire :
Dim F as integer
F = Freefile
Open "CheminFichier" for Binary as F
Tu charges le fichier : Get F,, Tab
Tu traites tes données dans le tableau
Puis tu réécrits le fichier à partir du début : Put F,0,Tab
Tu fermes le fichier : Close F

Ca devrait fonctionner...

Bonne prog, @+
0
zoslex Messages postés 18 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 14 mars 2006
11 mars 2005 à 22:59
:((
Désolé MoiOlivier, mais c pô possible. Utiliser Put et un tableau, pour ce que je veux faire, ça ne peut pas marcher... c'est confirmé dans l'aide de VB.

Je suis revenu au point de départ :(
0
Rejoignez-nous