Bonjour,
je voudrais savoir si on peu faire quelque chose quand on veut lire un fichier très gros (environ 300mo) de la manière suivante:
$FileOpen = FileOpen($FileDir, 16)
$Value = FileRead($FileOpen)
Autoit m'indique l'erreur suivante:
"Error allocating memory."
Je présume qu'il manque de la mémoire... je voudrais savoir si il y a un moyen de contourner le problème en "coupant" le fichier en petit morceau et en le lisant après... voilà merci de votre aide!
[R] FileRead "Error allocating memory."
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- Iste
- Niveau 11

- Messages : 1870
- Enregistré le : jeu. 04 déc. 2008 14:21
- Localisation : 76
- Status : Hors ligne
Re: [..] FileRead "Error allocating memory."
Oui en effet, fileopen = tout dans la ram !
Ca dépend de ce que tu veux faire, mais sinon tu peux
Chaque tour de boucle va lire 10mo, puis les 10 suivant ect
Ca dépend de ce que tu veux faire, mais sinon tu peux
Code : Tout sélectionner
while 1
FileRead ("fichiergros", 10000)
wendSignez ici
-
SagePourpre
- Niveau 7

- Messages : 442
- Enregistré le : dim. 06 juil. 2008 09:11
- Status : Hors ligne
Re: [..] FileRead "Error allocating memory."
J'ai eu un problème similaire il y'a peu de temps...
La réponse est dans le fichier d'aide et expliquée très simplement. Mais j'avoue avoir passé à côté
de cette information la première fois.
Aussi simple que ça
La réponse est dans le fichier d'aide et expliquée très simplement. Mais j'avoue avoir passé à côté
de cette information la première fois.
Code : Tout sélectionner
$source = "Fichier à ouvrir.ext"
$f = FileOpen($source)
$len = FileGetSize($source)
For $i = 1 To $len
$fr = FileRead($f,1)
MsgBox(0,"Position : " & $i,$fr)
Next
FileClose($f)
Aussi simple que ça
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
plus belle vue du haut de son Pouf = )
-
tolf
- Niveau 7

- Messages : 318
- Enregistré le : ven. 15 févr. 2008 12:25
- Localisation : Paris
- Status : Hors ligne
Re: [..] FileRead "Error allocating memory."
En fait, si vous n'avez pas assez de RAM, normal que vous ne pouvez pas tout stocker dedans.
De plus, il me semble qu'il y a une taille maximale pour les strings d'AutoIt (à vérifier).
De toute façon, si vous traitez votre fichier caractère par caractère, inutile de le stocker dans la RAM.
De plus, il me semble qu'il y a une taille maximale pour les strings d'AutoIt (à vérifier).
De toute façon, si vous traitez votre fichier caractère par caractère, inutile de le stocker dans la RAM.
-
JIF
- Niveau 6

- Messages : 219
- Enregistré le : mer. 04 févr. 2009 20:07
- Localisation : 84
- Status : Hors ligne
Re: [..] FileRead "Error allocating memory."
Ce tutoriel devrai suffire si tu a Windows XP.
http://www.aidoforum.com/tutoriaux-421- ... emory.html
http://www.aidoforum.com/tutoriaux-421- ... emory.html
-
SagePourpre
- Niveau 7

- Messages : 442
- Enregistré le : dim. 06 juil. 2008 09:11
- Status : Hors ligne
Re: [..] FileRead "Error allocating memory."
JIF a écrit :Ce tutoriel devrai suffire si tu a Windows XP.
http://www.aidoforum.com/tutoriaux-421- ... emory.html
Ce tutoriel n'est par contre pas une bonne idée dans ce cas-ci
J'ai 4 gb de mémoire vive et si j'essayais d'ouvrir le fichier comme il l'à fait, j'aurais un problème d'allocation
de mémoire aussi.
Son problème est vraiment dû à la mauvaise utilisation de Fileread...
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
plus belle vue du haut de son Pouf = )
