elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 2016
-
8 juil. 2005 à 14:34
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 2016
-
11 juil. 2005 à 10:51
Voila pour être bref, j'utilise une fonction recursive qui va charger tout les fichiers de mon disque dans un Tableau. (déja vous vous dite.. "ce mec là c'est un porc" , mais bon ...).
Le problème est le suivant, si je declare un tableau dynamique, et ensuite je lui donne une taille definitive avec SetLength, et je travail après avec (je le rempli avec mes nom de fichier), aucun problemes, mais voila le nombre de fichier n'est pas une valeur constante.
<HR>
Donc en static (comme un gros porc çà marche ..)
type FichierData = record <= donc un pt'it record pour mes fichiers :)
idx : LongWord;
nom : string;
dossier : string;
date : integer;
taille : integer;
end;
StructureFichier : Array [0..10000] of FichierData;
<HR>
Donc j'me suis dit j'vais crée un tableau dynamique qui va grossir en fonction du nombre de fichiers, donc au fur et a mesure que je trouve un fichier, j'incremente mon tableau d'un champs et je rempli le champs. Ca marche mais la problème .. la memoire explose, çà depasse les 300 Mo et çà fini par planté [Evidemment ]
<HR>
En dynamique (çà bouffe des ressources a mort...)
StructureFichier : Array of FichierData;
For ..etc.. do begin
... etc..
SetLength( StructureFichier, Length(StructureFichier) +1 );
StructureFichier[High(StructureFichier)].nom := hFind.Name; <= mon fichier trouver
..Etc...
End;
<HR>
Donc ma question ( ' enfin ' ) ..
Sans réalloué la memoire je ne dépasse pas les 10 Mo, donc c pas un problème de contenu, donc comment réalloué un tableau dynamique (fréquement) et le remplir sans que çà me bouffe toute mes ressources et que çà mette 3 ans ?
Putain j'ai commencer avec "je vais etre bref" mais en faite j'ai été pompeux , mais bon qi qqn pourrai m'aidé je trouve d'aide nul par a ce sujet, et j'ai une appli a finir rapidement et çà me gave .