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

Lazarus Pascal Discussion :

[0.9.31] Transformer une TStringGrid d'une Form en pdf "couleur"


Sujet :

Lazarus Pascal

  1. #1
    Invité
    Invité(e)
    Par défaut [0.9.31] Transformer une TStringGrid d'une Form en pdf "couleur"
    Bonjour,

    Je cherche à évaluer s'il est possible (ie par quels procédés) de transformer une TStringGrid d'une Form en pdf "couleur" ? Ce format de sortie "pdf" est retenu car il est le plus facile à exploiter (visualiser, diffuser, copier, mailer...) par les consultants.

    Passer "directement" de la Form au fichier.pdf, je n'imagine aucune approche.
    Passer par une phase d'impression avec LazReportPdfExport me semble être une option pouvant être retenue sauf que :
    • Sans LazReport, la construction est envisageable "à la main" sous forme d'une impression. C'est une programmation "longue" découplée totalement de la StringGrid elle-même. La programmation se réfère directement aux contenus des variables du programme qui déterminent les couleurs, les images, les textes contenus dans les cellules de la StringGrid. C'est réalisable (calculable) à l'échelle désirée (A3-paysage) de manière plutôt fine mais... compliquée. Mais comment l'exporte-t-on en pdf avec Lazarus ? En dernier ressort, en utilisant une 'imprimante pdf' comme PdfCreator (Win) ou cups-pdf (Lin) ce dont je voudrais me dispenser afin de rendre mon programme aussi autonome que possible. Mais c'est quand même une solution réellement fonctionnelle que j'ai testée.
    • Avec LazReport, l'exportation semble plus facile (encore faudra-t-il voir le résultat de cette "production automatique"... Enfin, sur le papier cela marche)... Mais comment redessiner la StringGrid (son équivalent graphique) au bon format, en respectant les couleurs ? Autrement dit, comment piloter de manière dynamique l'interface de Lazreport ? Je sais le faire pour remplir des champs prédéterminés dans les bandeaux mais je ne sais pas générer un champ directement dans le bandeau à partir de Lazarus. Est-ce possible ?

    Voici un modèle de départ 'tronqué en largeur et hauteur' sur la Form.

    Il s'agit à l'arrivée d'un ruban pédagogique.
    Merci cordialement. Gilles
    Dernière modification par Invité ; 16/01/2012 à 17h02. Motif: Syntaxe

  2. #2
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    Par défaut
    Bonjour,

    Il est sans doute possible de générer des champs LazReport par code, mais tu as raison, c'est un peu compliqué.

    D'autre part, j'éviterais comme la peste d'obliger à l'installation d'imprimantes virtuelles spécifiques sur les postes utilisateurs...

    Une autre approche, apparemment lourde, mais certainement plus simple et plus lisible à mon avis, pourrait être de remplir un TMemDataSet avec la grille, et de le faire imprimer par LazReport, comme tout autre DataSet. Je pense qu'il ne doit alors pas être difficile de colorer les cases.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Il semblerait qu'il existe une bibliothèque C compatible Win & Nux et interfaçable avec FPC : Libharu.

    Je vais étudier ceci mais pas de manière prioritaire. Il semblerait que la nouvelle dotation en matériel et OS de mon établissement nous fasse abandonner Linux. Dans ces conditions, le problème se pose autrement si les programmes ne doivent plus être compatibles Linux mais seulement Windows. Mais même sans cela, j'avais pris un peu de recul avec Lazarus depuis Noël, à nouveau frustré par la réalisation de composants et des incapacités notoires incontournables ou mal contournables notamment dans l'Inspecteur d'Objet de ces derniers (ie des composants).

    Merci pour ton aide. Cordialement. Gilles

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Comme le précise Tintinux, il semble possible de générer des variables "dynamiquement" dans un frReport. On trouve quelques embryons de code mais très insuffisants. Peut-on dynamiquement créer un "rectangle", lui affecter une couleur de fond, le positionner, définir sa taille, sa police ?

    D'un autre côté, LazReport est "proche" de FreeReport ou de FastReport dont les documentations sont un peu plus nombreuses mais semble-t-il, guère plus prolixes sur le sujet. Pour commencer, quelles unités LR_xx faire apparaître dans les uses pour pouvoir programmer dynamiquement un frReport ?

    Bref comme d'habitude, où trouve-t-on une doc significative et "exploitable en un temps acceptable" sur Lazreport ? Un bon début serait une liste classée des méthodes et variables publiques du composant. Evidemment, il y a le code source, mais bon, on doit bien pouvoir travailler avec Lazarus sans rentrer systématiquement dans son code. Comment font les programmeurs Delphi et Visual Studio ? A ma connaissance, ils ne disposent pas du code source de ces 2 IDE ou de ceux des composants "natifs" utilisés.

    Cordialement. Gilles
    Dernière modification par Invité ; 18/01/2012 à 13h57. Motif: Précisions

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Petite correction, on peut "faire directement" du pdf avec Lazarus avec le composant powerpdf_20081006. Il n'a pas été mis à jour depuis cette date. Son auteur a su réaliser une documentation non pour un "technos" mais pour tout utilisateur de son composant. Il existe un TPRGridPanel et un TPRRect qui lui seul gère la couleur du fond (FillColor). Ce n'est pas exactement ce que je cherche mais c'est donc jouable en Lazarus.

    Cordialement. Gilles
    Dernière modification par Invité ; 18/01/2012 à 19h57.

  6. #6
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    Par défaut
    Bonsoir

    Il y a une version plus récente 0.9.6 qui est disponible ici.

    http://sourceforge.net/projects/laza...ar.gz/download

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    PowerPDF sous Lazarus 0.9.31 FPC 2.5 permet de résoudre mon problème de manière tout à fait convenable.
    Merci Tintinux pour ton aide.

    Cordialement. Gilles

Discussions similaires

  1. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 13h59
  2. Réponses: 4
    Dernier message: 15/10/2009, 14h33
  3. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 14h35
  4. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 14h48

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