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

Bases de données Delphi Discussion :

[Delphi] Pilotes Open Office pour afficher des documents Word d'une base Oracle


Sujet :

Bases de données Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 5
    Points
    5
    Par défaut [Delphi] Pilotes Open Office pour afficher des documents Word d'une base Oracle
    Je suis en [Delphi] 2007 édition entreprise et j’utilise [Open Office] 2.1 et [Oracle 9].
    J’ai un document au format Word stocké dans un THugeBlob dans une base de données oracle. Je le lis grâce en Stream sur le champ d’une TQuery et un [TConteneur]…et tout ce passe très bien. Mais aujourd’hui je voudrais l’ouvrir avec [Open Office]. Mais le TConteneur me l’ouvre toujours Word or mon but est de m’affranchir de Word. Avez-vous une idée pour résoudre mon PB ?? (Je voudrais bien qu'Open Office lise directement le stream ou le Champ HugeBlob.)

  2. #2
    Futur Membre du Club
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 5
    Points
    5
    Par défaut Une idée???
    Me sent un peu seul...là...

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    Peux-tu préciser comment tu réalisais l'ouverture de ton fichier avec Word ?

    Cela pourrait aider à comprendre d'où vient ton problème...

    Yan.


    devYan.

  4. #4
    Membre chevronné
    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
    Points : 2 158
    Points
    2 158
    Par défaut
    Une fois en cherchant autre chose je suis tombé la dessus.

    Ca repond peut etre a tes questions.
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 5
    Points
    5
    Par défaut Voila l'ouverture du champ THugeBlob dans le TOLEContainer
    Comme dans la base j'ai un document Word, celui-ci se lance automatiquement quand je double clique sur le Tcontainer.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    procedure TForm1.LectureDocDansOleContainer;
    var QueryDyn : TQuery;
        Bf: TBlobField;
        Bs: TBlobStream;
    begin
      if ( not DBLocal.Connected) then //DBLocal = TDataBase
        DBLocal.Connected := True;
      // Recuperation du champ BLOB modèle
      QueryDyn := TQueryLisia.Create(self);
      with QueryDyn do
      begin
        DataBaseName := 'ALiasDBLocal';
        ParamCheck := False;
        SQL.Clear;
        SQL.Add('SELECT CLEF1,CLEF2, MON_THUGEBLOB');
        SQL.Add('FROM TABLE_DOCUMENT');
        SQL.Add('WHERE CLEF1 = Val1 AND CLEF2 = Val2');
        Open;
      end;
      Bf  := QueryDyn.FieldByName('MON_THUGEBLOB') as TBlobField;
      Bs  := TBlobStream.Create(Bf, bmRead);
      try
        MainForm.OleContainer1.LoadFromStream(Bs);
        MainForm.OleContainer1.DoVerb(0);  // edit
      finally
        QueryDyn.Close;
        Bs.Free;
      end;
    end;
    D'après ce que j'ai lu sur les forums pour manipuler l'objet Wold du TOleContainer on peut utiliser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var MyWord : Variant;
    begin
        MyWord := OleContainer1.OleObject.Application.WordBasic;
    end;

  6. #6
    Futur Membre du Club
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 5
    Points
    5
    Par défaut Mon Pb n'est pas de lire un fichier sur le disque...
    Mon Pb est de réussir dans mon application à lire un document word stocké dans une base de donné oracle. Je peu le récupérer dans un champ TBlobField ou dans un TBlobStream et je voudrais le lire avec open office (je n'aurais pas word sur la machine cliente). j'espère que je suis plus clair cette fois. Merci a devyan et a Clorish pour l'intérêt que vous porté à mon pb.

  7. #7
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    je n'aurais pas word sur la machine cliente
    Donc les documents Word (les ".doc") seront ouverts avec OO suite à installation de celui-ci (et enregistrement dans la BdR, et association des .doc à sWriter).
    Donc ton truc devrait fonctionner.
    Évidement c'est difficile à tester sur une machine où tu as les 2 progs installés, mais tu peux changer la manière dont tu ouvres les .doc sur la machine de test (clic droit sur un .doc, "ouvrir avec...", "choix de programme...", tu choisis sWriter et tu coches "Toujours utiliser..."), pour voir.

    Mes 2 cts,
    --
    jp
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  8. #8
    Membre chevronné
    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
    Points : 2 158
    Points
    2 158
    Par défaut
    Si effectivement la machine cliente ne possede pas Word mais seulement OOo, avec les bonnes associations (oui j'ai vu des docs chargé avec Wordpad !!) ca doit marcher automatiquent. Quoi que .. a tester quand meme.

    Mais le plus simple serait de lancer manuelement le serveur OLE OppenOffice grace au lien evoqué, et d'ouvrir le Stream dans ce dernier.
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  9. #9
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    (oui j'ai vu des docs chargé avec Wordpad !!)
    Oui, dans l'install par défaut de Ouinouin, mais le setup d'OO pose la question des associations, donc il suffit de répondre avec les bons choix et zou !

    --
    jp
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  10. #10
    Membre chevronné
    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
    Points : 2 158
    Points
    2 158
    Par défaut
    Citation Envoyé par Jipété Voir le message
    mais le setup d'OO pose la question des associations, donc il suffit de répondre avec les bons choix et zou !
    T'en connait beaucoup qui lisent les install ?
    Je ne sais pas si ils ont activé l'ouverture par defaut des fichier doc ou pas .... mais j'ai deja vu ca

    Sans compter que L'on peu refuser l'association dans un premier temps, puis desinstaller Word plus tard.
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  11. #11
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Sans compter que L'on peu refuser l'association dans un premier temps, puis desinstaller Word plus tard.
    Machines sans Word, je te rappelle,
    T'en connait beaucoup qui lisent les install ?
    Pas trop, ça c'est ben vlai
    Je ne sais pas si ils ont activé l'ouverture par defaut des fichier doc ou pas
    En fait c'est pendant la phase d'installation que l'assistant pose la question de l'association : le bigniou est capable d'associer les .doc, .xls, .ppt et d'autres à ses propres exe's. 'Videment faut répondre qu'on est d'accord,
    --
    jp
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  12. #12
    Futur Membre du Club
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 5
    Points
    5
    Par défaut Merci Clorish et Jipété!!!
    Je vais tester l'ouverture des documents directement avec open office et je vous tiens au courant!

    Par contre l'idée de Clorish
    Citation:
    Mais le plus simple serait de lancer manuellement le serveur OLE OppenOffice grace au lien evoqué, et d'ouvrir le Stream dans ce dernier.

    M'intéresse beaucoup mais je ne sais pas comment lire un stream avec Ooo...

  13. #13
    Membre chevronné
    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
    Points : 2 158
    Points
    2 158
    Par défaut
    Citation Envoyé par Jipété Voir le message
    Machines sans Word, je te rappelle,
    Sans word ... ne veux pas dir qu'il n'y en a jamais eu

    Citation Envoyé par FireWolf Voir le message
    Par contre l'idée de Clorish
    Citation:
    Mais le plus simple serait de lancer manuellement le serveur OLE OppenOffice grace au lien evoqué, et d'ouvrir le Stream dans ce dernier.
    Si ils sont pas benet ca devrais pas etre trop compliqué.
    Sinon rien ne t'empeche de copier le stream sur le Hdd dans un fichier temporaire que tu ouvre, edite, modifie, puis reintegre le fichier dans le BdD en le rechargeant dans un Stream

    Bon certe, il faut vouloir le copier sur le Hdd ... question securité, c'est pas toujours conseillé. Mais vu que tu parle d'edition, je ne vois pas trop de probleme a ca .. car au pire ... le gars ..... il a qu'a copier le contenu du doc depuis OOo
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  14. #14
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    Wouaou ! Y'a eu du monde depuis ma demande de précisions

    Effectivement, ça confirme bien ce que je pensai. A savoir que l'ouverture du document est réalisée à l'aide de l'association de fichiers

    Si tu sais ouvrir un fichier avec OOo, il n'y a plus trop de problème.
    Même si il n'est pas possible de lui passer directement un stream en paramètre.
    Il suffit simplement dans ce cas de copier ton contenu dans un fichier temporaire qu'il ne te reste plus qu'à ouvrir.

    Yan.


    devYan.

  15. #15
    Futur Membre du Club
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 5
    Points
    5
    Par défaut Désolé j'ai pas encore testé...
    Oui comme qui dirais j'ai des petits problèmes de drivers natifs sur sur ma machine de test : http://www.developpez.net/forums/sho...55#post2506455

  16. #16
    Futur Membre du Club
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 5
    Points
    5
    Par défaut Après test cela ne fonctionne pas...
    J'ai enfin put faire le test :
    1) Sur ma machine cliente j'ai bine installé open office.
    2) J'ai associé OOo avec les fichiers Word (Word n'est pas prèsent sur cette machine)
    3) Lors de l'ouverture du document avec le TOleContainer il me dit "erreur de lecture du flux" .
    4) Je suis donc coincé...

  17. #17
    Futur Membre du Club
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 5
    Points
    5
    Par défaut Ton idée m'interesse...
    Citation Envoyé par Clorish Voir le message
    Si ils sont pas benet ca devrais pas etre trop compliqué.
    Sinon rien ne t'empeche de copier le stream sur le Hdd dans un fichier temporaire que tu ouvre, edite, modifie, puis reintegre le fichier dans le BdD en le rechargeant dans un Stream
    Clorish, sais tu comment:
    1) Ouvrir le document dans la base directement avec OOo?
    C'est une super solution...
    Ou,
    2) Extraire le blob contenant le document et le sauver sur le disque sous forme de document (pas sous forme binaire)...J'ai essayé mais je n'ai réussi qu'a le sauver sous forme binaire.(illisible pour OOo et Word)...

    Merci pour votre aide a tous, ça fais plaisir de se sentir soutenu ! Et de trouver d'autres idées.

  18. #18
    Membre chevronné
    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
    Points : 2 158
    Points
    2 158
    Par défaut
    Citation Envoyé par FireWolf Voir le message
    2) Extraire le blob contenant le document et le sauver sur le disque sous forme de document (pas sous forme binaire)...J'ai essayé mais je n'ai réussi qu'a le sauver sous forme binaire.(illisible pour OOo et Word)...
    C'est que le stream BLOB doit contenir des infos en plus .. masi la ne n'ais pas les competences pour gerer les champs blob
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

Discussions similaires

  1. recherche librairie AS3 open source pour afficher des graphiques
    Par Lorenzo77 dans le forum ActionScript 3
    Réponses: 3
    Dernier message: 07/05/2010, 00h05
  2. Réponses: 5
    Dernier message: 03/09/2007, 20h36
  3. Réponses: 8
    Dernier message: 04/04/2007, 19h38
  4. Réponses: 3
    Dernier message: 01/03/2007, 21h54
  5. [Stratégie] Afficher des fichiers PDF depuis une base Oracle
    Par tetram51 dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 20/12/2005, 09h15

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