IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

OLE et word lent


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 28
    Par défaut OLE et word lent
    Je dois réaliser une application qui compare les style de deux document Word. Pour cela j'utilise Delphi et OLE, le probléme c'est que la comparaison met beaucoup de temps (1minute30 par fichier) et je voulais savoir s'il n'y avait pas un moyen d'accelerer le traitement.

    Il faut savoir que le deux documents sont ouvert à ce moment la et que l'application passe son temps à lire sur le disque dur (surement une des raisons de la lenteur)

    Si vous avez des idées je suis preneur.

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Par défaut
    application qui compare les style de deux document ...
    passe son temps à lire sur le disque dur
    As tu essayé, au lieu de passer le temps à brouter le disque-dur, d'envoyer chacun des deux fichiers à comparer dans un TMemoryStream copié 1 fois pour toutes (avec CopyFrom), à partir d'un TFileStream chargé, si possible en une seule traite (et non caractère par caractère sinon c'est plus du flux), également 1 fois pour toutes ?.
    Une fois tes fichiers logés dans le TMemoryStream tu bénéficies de la speed de la memoire vive.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  3. #3
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Citation Envoyé par Gilbert Geyer
    As tu essayé, au lieu de passer le temps à brouter le disque-dur, d'envoyer chacun des deux fichiers à comparer dans un TMemoryStream copié 1 fois pour toutes (avec CopyFrom), à partir d'un TFileStream chargé, si possible en une seule traite (et non caractère par caractère sinon c'est plus du flux), également 1 fois pour toutes ?.
    Une fois tes fichiers logés dans le TMemoryStream tu bénéficies de la speed de la memoire vive.
    Et comme ca c'est pas plus simple ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Var MS : TMemoryStream;
    MS := TMemoryStream.Create;
    MS.LoadFRomFile(MonFichierDoc);

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Par défaut
    Exact, je l'avais oubliée la LoadFromFile ... c'est bien plus simple et plus direct !
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 28
    Par défaut
    Je vais essayer mais je sais pas du tout si ca va marcher car c'est word qui doit ouvrir ce fichier, je vais pas le lire comme un flux, enfin c'est meme pas moi qui vais le lire c'est Word.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 28
    Par défaut
    Bon bah c'est pas possible ou j'y arrive pas.
    Sa maurait étonné que ca marche aussi.

Discussions similaires

  1. Problème OLE et WORD
    Par Pierre78 dans le forum C++Builder
    Réponses: 5
    Dernier message: 29/03/2007, 17h18
  2. Insertion d'image avec OLE ds Word
    Par LotfiB dans le forum C++Builder
    Réponses: 8
    Dernier message: 21/02/2007, 23h35
  3. Pilotage Ole de word
    Par beauchastel dans le forum Langage
    Réponses: 6
    Dernier message: 10/01/2006, 10h43
  4. [VB6] Modification objet OLE dans Word sous VB
    Par zworg dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/02/2004, 08h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo