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 :

Imprimer la grille du TStringGrid


Sujet :

C++Builder

  1. #1
    Membre éclairé Avatar de Masmeta
    Homme Profil pro
    Ing. R&D informatique industrielle
    Inscrit en
    Mai 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ing. R&D informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 472
    Par défaut Imprimer la grille du TStringGrid
    Bonjour à tous.

    Je dois imprimer une TStringgrid après une recherche sur le forum, je me suis inspiré de ce thread.
    Malheureusement la solution finale n'a pas été mis. De plus je n'ai rien trouvé dans la FAQ.

    J'ai donc réalisé cela
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
        TPrinter *Prntr = Printer();
        TRect CadreText;
        int Xh;         /*Coordonnée du point en  haut à gauche du rectangle*/
        int Yh;
        int i =0;     /*Ligne sélectionnée*/
        int j=0;      /*Colonne sélectionnée*/
        int Xoff=5;   /*Offset du rectangle*/
        int Yoff=6;
        int PosTextL; /*Position du texte en largeur*/
        int PosTextH; /*Position du texte en hauteur*/
        int Ymax= 3000;
        int Xmax= 3000;
       
        Prntr->BeginDoc();
        for(Xh=200;Xh<Xmax;Xh=CadreText.right)
        {   
            for(Yh=1000;Yh<Ymax;Yh=CadreText.bottom)
            {
                /*Mise à jour position de la cellule*/
                CadreText.left = Xh ;
                CadreText.top = Yh ;
                CadreText.right = Xh+(GrilleSeq->ColWidths[i]*Xoff);
                CadreText.bottom =Yh+(GrilleSeq->RowHeights[j]*Yoff);
                
                /*Mise à jour position du texte*/
                PosTextH=Yh;
                PosTextL=Xh;
             
                /*Ecriture du texte dans la cellule*/
                Prntr->Canvas->Font = GrilleSeq->Font;
                Prntr->Canvas->TextRect(CadreText,PosTextL,PosTextH,GrilleSeq->Cells[i][j]) ;
                
                 /*Création de la cellule*/
                Prntr->Canvas->FrameRect(GrilleSeq->BoundsRect);
                j+=1; /*changement de colonne*/
            }
            i+=1; /*changement de ligne*/
            j=0;  /*Mise à zéro de la colonne*/
        }
       Prntr->EndDoc();
    Cela me permet d'avoir donc l'écriture du tableau. Malheureusement, je n'ai pas les bordures délimitant les cellules. J'ai essayé le code en gras mais rien ne se passe.

    Quelqu'un pourrait m'aider à trouver une solution pour avoir un joli tableau ?

    merci de votre aide @+

  2. #2
    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
    Par défaut
    Salut Masmeta
    Un lien sur le Forum, sur l'impression d'un StrinGgrid avec des colonnes et des lignes sur plusieurs pages

  3. #3
    Membre éclairé Avatar de Masmeta
    Homme Profil pro
    Ing. R&D informatique industrielle
    Inscrit en
    Mai 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ing. R&D informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 472
    Par défaut
    Salut Blondelle
    Je n'avais pas trouvé ce poste sur mes précédentes recherches.
    Merci pour le lien

  4. #4
    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
    Par défaut
    Tout depend de la facon de formuler la requette, et si l'on trouvait tout il n'y aurait plus de post

  5. #5
    Membre éclairé Avatar de Masmeta
    Homme Profil pro
    Ing. R&D informatique industrielle
    Inscrit en
    Mai 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ing. R&D informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 472
    Par défaut
    Citation Envoyé par blondelle
    Tout depend de la facon de formuler la requette, et si l'on trouvait tout il n'y aurait plus de post
    Tout à fait d'accord, j'aurais du mettre StringGrid, ou impression. J'ai préféré mettre imprimer, TStringGrid.

    Les Variables du type coef_XX sont du à la gestion des marges dans les différentes résolutions d'imprimante?

  6. #6
    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
    Par défaut
    Oui la solution que j'avais trouve pour imprimer avec differentes imprimantes sans toucher au programme, c'etait etait de jouer sur les resolution imprimantes, la resolution de base etait celle de mon imprimante qui etait la meilleure ce coefficient est utile pour le trace des rectangles uniquement, pas pour les caracteres apparament on met le meme nombre de caracteres en horizontal sur une page, idem pour la hauteur

  7. #7
    Membre éclairé Avatar de Masmeta
    Homme Profil pro
    Ing. R&D informatique industrielle
    Inscrit en
    Mai 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ing. R&D informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 472
    Par défaut
    Ok merci.

    Je vais devoir gérer cela moi aussi.
    Ta solution est vraiment bonne.

  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
    Par défaut
    Salut Masmeta:
    Ta solution est vraiment bonne.
    Moi qui la trouvait pas terrible

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. imprimer une grille avec Rave report
    Par aharel dans le forum Rave
    Réponses: 0
    Dernier message: 15/06/2015, 16h52
  2. Comment imprimer un TStringGrid
    Par lex4281 dans le forum C++Builder
    Réponses: 17
    Dernier message: 24/04/2006, 12h57
  3. Redessiner la grille dans un TStringGrid (bis et repetita)
    Par delphi5user dans le forum Composants VCL
    Réponses: 5
    Dernier message: 18/10/2004, 13h52
  4. Redessiner une grille d'un TStringGrid
    Par delphi5user dans le forum Composants VCL
    Réponses: 9
    Dernier message: 12/10/2004, 15h04
  5. Comment imprimer le contenu d'un TStringGrid
    Par scorpiwolf dans le forum C++Builder
    Réponses: 2
    Dernier message: 19/06/2002, 15h41

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