Précédent   Forum des professionnels en informatique > Autres langages > Pascal > Lazarus
Lazarus Forum d'entraide sur Lazarus, l'EDI RAD multiplateforme basé sur Free Pascal
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/01/2012, 11h20   #1
Membre expérimenté
 
Homme Gilles
Enseignant
Inscription : novembre 2006
Messages : 601
Détails du profil
Informations personnelles :
Nom : Homme Gilles
Âge : 53
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : novembre 2006
Messages : 601
Points : 570
Points : 570
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
selzig est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2012, 10h57   #2
Membre confirmé
 
Développeur informatique
Inscription : janvier 2010
Messages : 185
Détails du profil
Informations personnelles :
Âge : 54

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : janvier 2010
Messages : 185
Points : 233
Points : 233
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.
__________________
Cordialement,
Tintinux

Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
Elle est en cours de développement, avec Lazarus. Vous pouvez peut-être aider à la tester, la traduire et même à la développer.
tintinux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2012, 11h22   #3
Membre expérimenté
 
Homme Gilles
Enseignant
Inscription : novembre 2006
Messages : 601
Détails du profil
Informations personnelles :
Nom : Homme Gilles
Âge : 53
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : novembre 2006
Messages : 601
Points : 570
Points : 570
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
selzig est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 10h30   #4
Membre expérimenté
 
Homme Gilles
Enseignant
Inscription : novembre 2006
Messages : 601
Détails du profil
Informations personnelles :
Nom : Homme Gilles
Âge : 53
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : novembre 2006
Messages : 601
Points : 570
Points : 570
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
selzig est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 18h47   #5
Membre expérimenté
 
Homme Gilles
Enseignant
Inscription : novembre 2006
Messages : 601
Détails du profil
Informations personnelles :
Nom : Homme Gilles
Âge : 53
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : novembre 2006
Messages : 601
Points : 570
Points : 570
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
selzig est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 18/01/2012, 19h00   #6
Membre confirmé
 
Développeur informatique
Inscription : janvier 2010
Messages : 185
Détails du profil
Informations personnelles :
Âge : 54

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : janvier 2010
Messages : 185
Points : 233
Points : 233
Bonsoir

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

http://sourceforge.net/projects/laza...ar.gz/download
__________________
Cordialement,
Tintinux

Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
Elle est en cours de développement, avec Lazarus. Vous pouvez peut-être aider à la tester, la traduire et même à la développer.
tintinux est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 21/01/2012, 11h44   #7
Membre expérimenté
 
Homme Gilles
Enseignant
Inscription : novembre 2006
Messages : 601
Détails du profil
Informations personnelles :
Nom : Homme Gilles
Âge : 53
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : novembre 2006
Messages : 601
Points : 570
Points : 570
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
selzig est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h09.


 
 
 
 
Partenaires

Hébergement Web