Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1533 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Traiter des fichiers volumineux ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Traiter des fichiers volumineux ?

n°1166509
mkracing66
Posté le 01-08-2005 à 11:20:57  profilanswer
 

Bonjour,
 
voila je voulais savoir si certains d entre vous n auraient pas qq liens ou methodes pour traiter des fichiers TRES volumineux style spool.
Apres qq recherches on ne trouve que ce lien : http://sjames.developpez.com/BigFiles/ mais ca me parait tres usine a gaz malgre tout, qqun aurait il qqchose de + simple et clair a proposer ?
 
Merci d avance

mood
Publicité
Posté le 01-08-2005 à 11:20:57  profilanswer
 

n°1166680
Zozol
Posté le 01-08-2005 à 13:21:11  profilanswer
 

Je ne comprend pas très bien ton problème.
Pour un traitement bêtement sequentiel, la bonne vieille Trinité AssignFile-Reset-CloseFile reste parfaite (je traite des fichier  de 2 Go avec)
Pour un traitement moins sequentiel, là, je dirais (sans grand risque de me tromper  :D ) que ça dépend de ton problème précis


Message édité par Zozol le 01-08-2005 à 13:22:15
n°1166837
mkracing66
Posté le 01-08-2005 à 15:06:47  profilanswer
 

Ben assigné tout en memoire ca me parait un peu lourd qd meme, et niveau temps de traitement ca ne doit pas etre la joie non plus...
 
je dev une petite appli qui sera surement deployee sur des postes client TSE donc la encore les assignfile ca risque de ne pas etre folichon.
 
Mais bon, apres mure reflexion depuis ce matin, mon pb n pas reellement l utilisation de TFileStream par morceaux ou non, mais plutot comment decouper mon fichier spool d entree proprement.
Donc a vrai dire je peux surement fermer le topic :p
 
Merci qd meme ;)

n°1167096
Zozol
Posté le 01-08-2005 à 17:32:26  profilanswer
 

Ben si c'est plus un problème, tout vas bien  ;)  
Ceci dit, AssignFile (La bonne vieille procedure hérité du  pascal, je ne me suis jamais servi de TFileStream) ne charge strictement rien en memoire (bon... OK.. 4 octets pour le handle... Peut etre mème 8 sur un systeme 64 bits) et la function "read" se contente de remplir les variables que tu lui demande de remplir (charge à toi de te débrouiller avec un nombre limité de variable). Donc, aucun problème de memoire ou de temp processeur.
De toute facon, si tu a un doute, le ctr-alt-supr est ton ami. Il te donera la quantité de memoire utilisé(celle du panneau "processus n'est pas toujours fiable, mais la mémoire totale consommé (panneau performance) te montrera bien si tout d'un coup, il y a 100 Mo qui parte "en fumée" )


Message édité par Zozol le 01-08-2005 à 17:36:45
n°1167118
antp
Super Administrateur
Champion des excuses bidons
Posté le 01-08-2005 à 17:48:24  profilanswer
 

TFileStream fonctionne de la même manière, mais il utilise une position et une taille en Int64 et n'est donc pas limité à 2 Go.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°1167576
mkracing66
Posté le 02-08-2005 à 10:10:29  profilanswer
 

Zozol a écrit :

Ben si c'est plus un problème, tout vas bien  ;)  
Ceci dit, AssignFile (La bonne vieille procedure hérité du  pascal, je ne me suis jamais servi de TFileStream) ne charge strictement rien en memoire (bon... OK.. 4 octets pour le handle... Peut etre mème 8 sur un systeme 64 bits) et la function "read" se contente de remplir les variables que tu lui demande de remplir (charge à toi de te débrouiller avec un nombre limité de variable). Donc, aucun problème de memoire ou de temp processeur.
De toute facon, si tu a un doute, le ctr-alt-supr est ton ami. Il te donera la quantité de memoire utilisé(celle du panneau "processus n'est pas toujours fiable, mais la mémoire totale consommé (panneau performance) te montrera bien si tout d'un coup, il y a 100 Mo qui parte "en fumée" )


 
Merci pour toutes ces explications ;)
 
c'est ce que j'utilise depuis un moment (avec readln en general pour du traitement de fichier texte), mais dans ton exemple tu parts du principe que tu connais la structure de donnees que tu recupere, dans le cas contraire et si tu dois en qqsorte parser le fichier je ne suis pas certain que cela soit le plus conseille...
La gestion par flux (TFileStream) est pas mal, mais comme je le disais mon pb finalement apres reflexion c surtout de decouper mon fichier spool qui est assez merdique (plein d elements pas vraiment repetitifs qui ne servent a rien, je vois de l unicode pour indiquer le debut et la fin "d une page" bref :s)
 
a+


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Traiter des fichiers volumineux ?

 

Sujets relatifs
[FTP] Comment télécharger puis supprimer les fichiersInternationalisation et encodage des fichiers
Lier les fichiers .xml .xsd .xslInterface graphique à partir de fichiers de ressource
droits sur des fichiersBoucle pour enregistrer plusieur fichiers
Upload de gros fichiers sans acces au FTPUpload de gros fichiers sans acces au FTP
[php-Xoops]Probleme de fichiers phpxx.tmp qui saturent le dossier temp[C] astuces needed, gestion/browsing dans fichiers
Plus de sujets relatifs à : Traiter des fichiers volumineux ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR