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

C++Builder Discussion :

Comparison between native oleWord implementation and TWordApplication / VCL classes


Sujet :

C++Builder

  1. #1
    Membre régulier Avatar de LotfiB
    Inscrit en
    Août 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 117
    Points : 75
    Points
    75
    Par défaut Comparison between native oleWord implementation and TWordApplication / VCL classes
    Comparaison entre une oleWord implementation native et une implantation TWordApplication / VCL classe

    Je suis entrain d'élaborer une comparaison :
    link

    mais j'ai des pbs relatif à une correspondance entre long et tagVariant * :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    WordRangePtr MyRange = WordDocument1->Range(  (tagVARIANT*)(Table1->Cell(1,1)->Range->Start), (tagVARIANT*)(Table1->Cell(1,1)->Range->End));
    Il n'y a pas de doc.
    blondelle, est tu encore dispo pour une traduction ole :-) ?
    Ciao

  2. #2
    Membre régulier Avatar de LotfiB
    Inscrit en
    Août 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 117
    Points : 75
    Points
    75
    Par défaut
    y a aussi

    MyRange->SetRange( Table1->Cell(1,1)->Range->Start, Table1->Cell(1,1)->Range->End);

    mais ça ne marche pas non plus

  3. #3
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Salut LotfiB:
    De la Doc je n'en connais pas.
    Je ne comprend pas trop ce que tu veu faire, je met les fonctions qui marches en OleExcel.
    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
     
    myTable = vWDocument.OlePropertyGet("Tables").OleFunction("Item", "1");
    myTable.OleFunction("Cell", 2, 1).OleFunction("Select");
    vMSWord.OlePropertyGet("Selection").OleFunction("EndOf", 9, 1);
     
    //
     
    myTable = vWDocument.OlePropertyGet("Tables").OleFunction("Item", "1");
    myTable.OleFunction("Cell", 2, 1).OleFunction("Select");
    vMSWord.OlePropertyGet("Selection").OleFunction("EndKey", 6, 0);
     
    //
     
    myTable = vWDocument.OlePropertyGet("Tables").OleFunction("Item", "1");
    myRange = vWDocument.OleFunction("Range", myTable.OleFunction("Cell", 1, 1)
    .OlePropertyGet("Range").OlePropertyGet("Start"), myTable.OleFunction("Cell", 1, 3).OlePropertyGet("Range").OlePropertyGet("End"));
    // on change la Font de la selection
    myRange.OlePropertyGet("Font").OlePropertySet("Bold",true);
    // on fusionne la selection
    myRange.OlePropertyGet("Cells").OleProcedure("Merge");

  4. #4
    Membre régulier Avatar de LotfiB
    Inscrit en
    Août 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 117
    Points : 75
    Points
    75
    Par défaut
    je t'avais deja dit que j'essaye de traduire l'oleword tel que tu me l'as apprsi (merci maître Yoda) vers des objets du BDS/VCL/officexp (TWordApplication et TWordDocument) car c'est bcp plus lisible et simple
    masi ya des conversions de types qui ne sont pas évidentes sur certaines fonction équivalentes..
    notament la Range, regardes ma page html

    en plus ton
    vMSWord.OlePropertyGet("Selection").OleFunction("EndOf", 9, 1);

    je lui prefere (plus parlant) :
    vMSWord.OlePropertyGet("Selection").OleFunction("EndOf", wdColumn, wdExtend);<br />

  5. #5
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    C'est normal que ca ne marche pas tu selectionne une cellule et non une plage
    y a aussi

    MyRange->SetRange( Table1->Cell(1,1)->Range->Start, Table1->Cell(1,1)->Range->End);

    mais ça ne marche pas non plus

  6. #6
    Membre régulier Avatar de LotfiB
    Inscrit en
    Août 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 117
    Points : 75
    Points
    75
    Par défaut
    Citation Envoyé par blondelle
    C'est normal que ca ne marche pas tu selectionne une cellule et non une plage
    http://delphi.developpez.com/faq/?pa...lectionnerzone

  7. #7
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Si c'est ce qui te gene tu peu faire.
    int wdColumn = 9;
    int wdExtend = 1;
    C'est une question de gout.
    Si tu veu inclure "#include <word_xp.h>", tu n'a pas a traduire mais je pense que tu gonfle ton code avec un fichier supplementaire.

  8. #8
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Ton lien parle de paragraphe pas de table
    blondelle a écrit :
    C'est normal que ca ne marche pas tu selectionne une cellule et non une plage


    http://delphi.developpez.com/faq/?pa...lectionnerzone

  9. #9
    Membre régulier Avatar de LotfiB
    Inscrit en
    Août 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 117
    Points : 75
    Points
    75
    Par défaut
    Citation Envoyé par blondelle
    C'est normal que ca ne marche pas tu selectionne une cellule et non une plage
    meme avec :

    MyRange->SetRange( Table1->Cell(1,1)->Range->Start, Table1->Cell(1,3)->Range->End);

    marche pas


    paragraphe ou table c'est ue n zone de Range non ?...

  10. #10
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Regarde mon poste N3 ma fonction marche

  11. #11
    Membre régulier Avatar de LotfiB
    Inscrit en
    Août 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 117
    Points : 75
    Points
    75
    Par défaut
    Citation Envoyé par blondelle
    Regarde mon poste N3 ma fonction marche
    mais je sais que ça marche et je l'ai utilisé qd je faisai du pure natif oleword
    mais là je voudrai le faire avec les classes du BCB !
    j'ai tt traduit comme tu le vois sur le lien sur mon site, mais il me reste le SetRange(..Start, ..End) qui ne marche pas :-(

  12. #12
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    La je ne peu pas t'aider je ne connais pas

  13. #13
    Membre régulier Avatar de LotfiB
    Inscrit en
    Août 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 117
    Points : 75
    Points
    75
    Par défaut
    ok merci

    en fait mon pb est que mon MyRange ds:
    MyRange->SetRange( Table1->Cell(1,1)->Range->Start, Table1->Cell(1,3)->Range->End);
    MyRange->Font->Bold=true;
    MyRange->Cells->Merge();

    n'est pas alloué (new ou recopie), car WordRange * MyRange;

    le pb est que WordRange est une classe abstraite suelement
    MyRange=new WordRange(WordDocument1->Range( 0,0));
    ne marche pas non plus
    ciao

Discussions similaires

  1. Comparison between signed and unsigned integer expression
    Par darkwall_37 dans le forum Débuter
    Réponses: 4
    Dernier message: 27/03/2014, 16h17
  2. Réponses: 0
    Dernier message: 15/03/2011, 11h05
  3. comparison between pointer and integer
    Par sculpteur dans le forum Objective-C
    Réponses: 1
    Dernier message: 03/12/2010, 17h31
  4. Réponses: 5
    Dernier message: 18/09/2009, 18h56

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