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 :

LazReport : outil d'insertion d'image [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Points : 179
    Points
    179
    Par défaut LazReport : outil d'insertion d'image
    Bonjour à tous et, puisque c'est presque la saison, meilleurs voeux !!!

    Je cherche à construire un rapport (Etat) à l'aide de LazReport (Lazarus Win32 version 1.0.12) et je souhaite dans la page de titre du rapport insérer des informations provenant de Tedit de mon formulaire principal. J'ai consuté les diverses aides sur LazReport disponibles sur le site (Et notamment l'excellent Tutoriel de Jean paul Humbert). Sur ce tutoriel, il est fait état d'une barre d'outils comprenant des "RichTextObject" et des "Ole Object". Dans le LazReport que j'ai installé, il ne figure dans cette barre d'outils que la flèche de sélection, le contrôle "Rectangle Object", le contrôle "Band", le contrôle "Image" et un contrôle "BarCode". Comment pouvoir disposer des autres contrôles ?
    Sont-ils utilisables pour ce que je souhaite faire et comment ? :
    - Faire figurer sur la page de titre du rapport des informations disponibles dans des Tedit du formulaire de saisie des données (par exemple, le nom de la base traitée, une image appelée à partir du chemin et du nom du fichier qui figurent dans un Tedit...).

    Question Annexe : Est-il possible dans un rapport de faire figurer des champs de base de donnée issues de tables différentes (liées bien sùur ) ?
    Merci pour votre aide.

    R. O.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Chef de projets retraité
    Inscrit en
    Juillet 2011
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Chef de projets retraité
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 419
    Points : 1 096
    Points
    1 096
    Par défaut
    Bonjour (et meilleurs vœux)

    Pour cela il te faut:

    1/ définir une (des) variables dans ton rapport

    2/ les poser dans la bande qui va bien

    3/ Définir dans l'objet rapport que tu utilise une fonction qui sera appelée en face de l'évènement OnGetValue

    4/ Dans cette fonction, tu reçois en paramètre le nom de la variable que tu as défini, il te suffit de retourner dans le second paramètre (variant) la valeur que tu veux voir afficher dans ton rapport.

    Voila

    Tout ceci (et bien plus) est expliqué

    Cordialement

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

    Concernant l'incorporation de Rich Text Objects dans LazReport, j'en doute beaucoup. FastReport le fait.... enfin normalement. La version pour XE5 TRIAL VCL comprend ces champs : je viens de vérifier. Il existe une version Lazarus beta mais pour l'instant la commercialisation doit en être "confidentielle". Malgré mes mails à cette société, je n'en sais toujours pas plus. Je vais les contacter pour FMX (non inclus dans la version Trial) et je n'oublierai pas de redemander pour Lazarus. Pour les images, LazReport permet leur incorporation.

    J'ai utilisé Lazreport sur des StringGrids et cela fonctionne correctement en Win et Nux... Vous trouverez plus de renseignements en tapant le mot clé lazreport dans http://forum.lazarus.freepascal.org/index.php?action=search

    Cordialement. Gilles
    Dernière modification par Invité ; 27/12/2013 à 18h15.

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Pour avoir aider Jean Paul dans la réalisation de son tutoriel , je dois signaler que le lazreport utilisé était celui fourni avec la version 0.9.32 de Lazarus .
    N'ayant pas depuis , remis le nez dans LAZARUS je remarque que la nouvelle version de lazreport est beaucoup plus bridée que l'ancienne d'où
    des "RichTextObject" et des "Ole Object".
    manquants

    pour répondre a Selzig a propos de FastReportFMX , si on réduit un RichTextObject à un texte HTML alors oui , cela fonctionne (je n'ai pas testé des changements de fonts etc..., uniquement les truc de bases : couleurs, gras , italique)

    J'ai également essayé de charger cette fameuse nouvelle version Beta sans résultat et il est dommage que la matrice des fonctionnalités ne soit plus disponible matrice de fonctionnalité retrouvéecar la version Bundle de FastReport est fortement limitée
    (pas de scripting, pas de gestion des evènements par exemple , bien que l'on puisse s'en passer)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Points : 179
    Points
    179
    Par défaut
    Bonjour à Tous et merci pour les réponses,

    Effectivement la solution se trouvait dans le Tutoriel de LazReport (que je n'avais pas lu assez attentivement). Toutefois, il me reste des interrogations car si, avec les réponses et le tutoriel j'ai pu renseigner, sur la page de titre de mon futur (j'espère) rapport les invariants qui m’intéressaient, il me reste à faire apparaître dans le rapport et dans la bande " MasterData" :
    1 - Une image spécifique pour chaque Fiche (type Photo d'une personne ou d'un appareil ) ,
    2- Le contenu d'un champ Texte CSV lui aussi spécifique à une fiche donnée (Type notice technique résumée d'un appareil).
    J'ajoute que, lors de la construction des fiches je suis arrivé à affaire apparaître cette image et ce texte sans problème.
    De PLus, je remarque que lors de la construction du rapport, si je défint bien une liste des variables et des variables, les champs de DB (SQLITE) associés restent désespérément vides. J'ai Bien des valeurs disponibles dans la liste déroulante des Valeur avec affichées les ZQuery que j'utilise mais dans la zone au dessous j'ai affiché [Aucun] entre crochets et je ne peux pas y taper des données pour associer un nom de variable à un champ de table de base de données. J'ai pu afficher les résultats en tapant directement dans le champ Memo de la bande de MasterData la valeur concernée par Exemple : [ZQ_Elev."Nom"] mais cela ne fonctionne pas pour les images et le champ "Memo" censé afficher le contenu du fichier Texte.
    J'ai bien vu dans les forum la proposition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TForm1.frReport1EnterRect(Memo: TStringList;  View: TfrView);
    begin
      if View.Name = 'Picture1' then
        TFrPictureView(View).Picture.LoadFromFile(FilePath+FileName);
    end;
    mais j'avoue ne pas bien comprendre ce à quoi cela se rapporte
    Avez vous des suggestions ?

    Merci

    R. O.

  6. #6
    Membre averti
    Profil pro
    au repos
    Inscrit en
    Février 2013
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : Saint-Pierre-Et-Miq.

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2013
    Messages : 156
    Points : 331
    Points
    331
    Par défaut
    bonjour,

    pour ceux que ça interesse, sur le forum free pascal lazarus j'ai mis un exemple de base données sqlite3 avec images et un rapport lazreport qui imprime les images ici

    C'est en anglais ( ). Si il y a des problèmes de compréhension me demander ici.

    Amicalement nullosse

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Points : 179
    Points
    179
    Par défaut Images et LazReport
    Bonjour Nullose et Meilleurs Voeux,

    J'ai suivi le lien sur la réponse à mon interrogation et ai chargé la base "Champignons mortels" (de bien belles photos dans le répertoire images !). Malheuresement la compilation de Project1.lpi plante avec un message : Unknow property "On DBImageRead" at adress 43C781. Si je passe outre les avertissements la "form Deadly Mushroom" finit par s'afficher mais la compilation échoue.
    Il doit me manquer quelque chose mais quoi ?

  8. #8
    Membre averti
    Profil pro
    au repos
    Inscrit en
    Février 2013
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : Saint-Pierre-Et-Miq.

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2013
    Messages : 156
    Points : 331
    Points
    331
    Par défaut
    Bonjour OR34a et meilleurs voeux aussi,

    Quelle version de lazarus as-tu ?
    Vérifie que dans cette version le composant tdbimage contient les événements
    OnDBImageRead et OnDBImageWrite. Sinon il faut appliquer le patch qui se trouve ici

    Amicalement, nullosse

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Points : 179
    Points
    179
    Par défaut Suite -Images LazReport -
    A l'attention de Nullose :

    - En réponse aux questions : je dispose de la version 1.0.14 de Lzarus installée sous W7.
    Ma version de Laz Ezport ne comporte dans la barre d'outils "objets que les objets suivants (sans possibilité d'en ajouter d'autres) :
    -Rectangle ; Bande ; image ; sous-rapport ; Ligne et CodeBarre. Il n'y a pas d'objets TDBimage ou TDBcodebarre.
    Pour la cosntruction des fiches dans le formulaire Lazarus, je n'ai utilisé que des objets TImage et pas de TdBImage et avec un loadfromfile du fichier Jpeg cela a marché .
    J'ai bien téléchargé les fichiers DBimage.patch et aussi Picture.7z mais pour l'instant je n'ai pas tenté d'installation car j'ai un peu peur de planter complètement Lazarus (cela m'est déjà arrivé avec certains composants). Donc, si je pouvais bénéficier d'un conseil pour la prise en compte de ce patch .

    Merci.

  10. #10
    Membre averti
    Profil pro
    au repos
    Inscrit en
    Février 2013
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : Saint-Pierre-Et-Miq.

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2013
    Messages : 156
    Points : 331
    Points
    331
    Par défaut
    TDBimage n'est pas dans lazreport mais c'est un composant qui se trouve dans l'onglet Data Controls. TDBimage est le composant qui affiche les images qui proviennent directement de la base de données.

    Le patch concerne le fichier lazarus/lcl/dbctrls.pp qui contient ce composant.
    Tu sauvegardes le fichier et tu essaies de le modifier avec ce qu'il y a dans le patch DBimage.patch.

  11. #11
    Membre averti
    Profil pro
    au repos
    Inscrit en
    Février 2013
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : Saint-Pierre-Et-Miq.

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2013
    Messages : 156
    Points : 331
    Points
    331
    Par défaut
    hello,
    il y avait quelques erreurs dans mon projet, je les ai corrigés, j'ai rajouté un readme et le fichier de patch dbimage.patch dans le répertoire du projet. Voici le readme :
    MushRoomsDatabase by Jurassic Pork - January 2014
    Features:
    - Use SqlDb and lazreport components.
    - Sqlite3 database DeadlyMushrooms with 5 mushrooms.
    - The images are stored in blob field without extension at the beginning.
    With this you can view blob images with database browser editor (ex sqlite2009pro).
    - In the database there is also a field with images links (filenames).
    - You can see the linked images in a Timage.
    - The linked images are stored in the folder images of the project.
    - You can change the images in the database :
    - for Tdbimage double click on the component and choose your image.
    - for Timage click on the button near the image filename.(you must be in edit mode )
    - Transaction commit when you click on Tdbnavigator refresh button or on close form.
    - Small pictures of the mushrooms are in the sqlite3Database. Largest images are in files in the folder images.
    - Print button to print all the mushrooms (lazreport). On each page you have :
    a title
    the field common_name of the mushroom database.
    the field notes of the mushroom database.
    the field picture of the mushroom database (picture picture1).
    the picture of the field image_link (picture picture2).

    the report name is Mushroom_Report.lrf

    Notes :
    Depending of your Lazarus version, you need to patch the following files before to load and compile the project :

    1 - file lazarus/lcl/dbctrls.pp and file lazarus/lcl/include/dbimage.inc
    add OnDBImageRead and OnDBImageWrite properties


    2 - file lazarus/components/lazreport/source/lr_class.pas
    add OnDBImageRead property

    The file dbImage.patch contains the modifications in the files that may be you have to do.

    you need to recompile ide after patches.
    en pièce jointe la nouvelle version du projet.

    Amicalement, nullosse
    Fichiers attachés Fichiers attachés

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Points : 179
    Points
    179
    Par défaut Evénements OnDBimageRead et OnDBimageWrite
    Bonjour,

    Après avoir pris en compte les modifications proposées par DBImage_Patch sur les 3 fichiers de Lazarus et recompilé le projet, je n'ai pas d'événements OnDBimageRead et ONdBimageWrite qui apparaissent avec le composant DBImage.

  13. #13
    Membre averti
    Profil pro
    au repos
    Inscrit en
    Février 2013
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : Saint-Pierre-Et-Miq.

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2013
    Messages : 156
    Points : 331
    Points
    331
    Par défaut
    bonjour,
    as-tu recompilé (recréé) l'IDE Lazarus ?

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

    Citation Envoyé par SergioMaster Voir le message
    Pour avoir aider Jean Paul dans la réalisation de son tutoriel , je dois signaler que le lazreport utilisé était celui fourni avec la version 0.9.32 de Lazarus .
    N'ayant pas depuis , remis le nez dans LAZARUS je remarque que la nouvelle version de lazreport est beaucoup plus bridée que l'ancienne d'où des "RichTextObject" et des "Ole Object" manquants
    J'ai ressorti des vieilles versions de Lazarus sous Win sans constater de différences significatives. Par exemple aucune des versions ne contient de Rich Text Objects. Vous en avez des vieilles en stock qui comprend ce type de champs ?

    Citation Envoyé par SergioMaster Voir le message
    J'ai également essayé de charger cette fameuse nouvelle version Beta sans résultat et il est dommage que la matrice des fonctionnalités ne soit plus disponible matrice de fonctionnalité retrouvéecar la version Bundle de FastReport est fortement limitée[...]
    J'ai téléchargé plusieurs versions de démonstration, Delphi7 notamment, que j'ai réinstallé sur un de mes postes [un peu coton avec Win 7] et les paquets lpk existent dans ces versions de démonstration (dans le répertoire LibD7). Mais malheureusement, il manque des fichiers FastScript, fs_iconst.pas, fs_iparser.pas, fs_xml.pas, fs_iinterpreter.pas, fs_itools.pas, fs_ipascal.pas que j'arrive à télécharger séparément mais pas dans les bonnes versions... Par contre, en examinant le code, je m'aperçois que le portage Lazarus semble être en <SyntaxMode Value="Delphi"/>. Or le mode Delphi est extrêmement contraignant (http://www.freepascal.org/docs-html/...x286-301000D.3).
    "Même si le mode de compilation peut être fixé sur une base unitaire: chaque unité peut avoir son propre mode de compilation, et il est possible d'utiliser des unités qui ont été compilées dans différents modes entrelacés. (http://www.freepascal.org/docs-html/user/userse33.html)", je me demande comment cela fonctionne réellement avec Linux (ou Mac). Je re-recontacte la société éditrice.

    J'ai également testé FortesReport sous Win32. La vieille "fortes324forlaz" fonctionne encore bien y compris pour le Rich Text... Par contre, la gestion des polices (Exemple BioLife dans le dossier demos) peut poser problème lors de l'exportation en PDF qui est simplissime d'ailleurs, si comme je le suppose la police d'orgine du document est différente ou inexistante sur le poste Client. En redéfinissant les polices du rapport, l'exportation fonctionne bien, images et pagination comprises. La traduction en français du composant est approximative, mais facile à corriger pour une part dans la procedure LoadFrenchStrings; du fichier rlconsts.pas.

    Je teste FortesReport demain sur mon poste Linux. J'ai redéployé Lazrus sur tous mes postes (cf la signature).

    Bonne fin de WE.
    Cordialement. Gilles
    Dernière modification par Invité ; 18/01/2014 à 19h45.

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Points : 179
    Points
    179
    Par défaut Evenements OnDBimageRead et ONdBimageWrite
    Bonjour Nullose,

    Désolé d'avoir tardé à répondre mais j'avais d'autres préoccupations . J'ai bien recréé l'EDI mais toujours mas d'évènements OnDBimageRead et ONdBimageWrite.
    Dommage.

  16. #16
    Membre averti
    Profil pro
    au repos
    Inscrit en
    Février 2013
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : Saint-Pierre-Et-Miq.

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2013
    Messages : 156
    Points : 331
    Points
    331
    Par défaut
    salut OR34A,
    recherche sur ton disque les fichiers :
    dbctrls.pp et dbctrls.ppu (le dbctrls.pp que tu as du patcher)
    regarde la date du pp par rapport au ppu

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Points : 179
    Points
    179
    Par défaut
    Bonjour Nullose,

    La date des deux fichiers est la même : 17/01/2014 mais l'heure diffère : 9H05 pour le ppu et 8H51 pour le pp.
    Qu'est-ce que cela signifie ?

  18. #18
    Membre averti
    Profil pro
    au repos
    Inscrit en
    Février 2013
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : Saint-Pierre-Et-Miq.

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2013
    Messages : 156
    Points : 331
    Points
    331
    Par défaut
    Bonjour,
    La date des deux fichiers est la même : 17/01/2014 mais l'heure diffère : 9H05 pour le ppu et 8H51 pour le pp.
    c'est normal si tu as recompilé le 17/01/2014 le ppu est le pp compilé.

    As-tu plusieurs versions de Lazarus sur ton PC ?
    Quelle date a le Lazarus.exe que tu utilises ?
    Quand tu cliques droit sur le composant TDBimage de l'onglet Data Controls de l'IDE, qu'est-ce qui s'affiche ? le chemin est-il bon ?

    Amicalement, nullosse

  19. #19
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Points : 179
    Points
    179
    Par défaut Suite DBIMage - Réponse à Nullose
    Bonjour,

    Je n'ai qu'un seul Lazarus installé sur mon ordi.
    L'onglet "Apropos" affiche la date cdu 23/11/2013
    Le cLick droit sur DBImage affiche 3 options :
    - ouvrir le paquet LCLbase 1.014
    - ouvrir l'unité c:\Lazarus\lcl\dbctlrs.pp
    - view All

    Le Chemin est OK .
    Tout cela me semble correct.

  20. #20
    Membre averti
    Profil pro
    au repos
    Inscrit en
    Février 2013
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : Saint-Pierre-Et-Miq.

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2013
    Messages : 156
    Points : 331
    Points
    331
    Par défaut
    bonjour OR34a,

    pourrais-tu mettre ton fichier dbctlrs.pp en pièce jointe pour analyse ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [CR 9] Insertion d'image et poids des états
    Par cdu dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 19/02/2021, 11h46
  2. Insertion d'image
    Par Bouboubou dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 8
    Dernier message: 11/12/2005, 22h44
  3. [JTable] Insertion d'images dans la première colonne
    Par cocolepelo dans le forum Composants
    Réponses: 2
    Dernier message: 29/11/2005, 15h17
  4. [CR8.5][Visual Adelia] Insertion d'images sur état
    Par adu dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 01/12/2004, 16h34
  5. Requête: Outil d'édition d'images en Flash
    Par artkeep dans le forum Flash
    Réponses: 10
    Dernier message: 06/01/2004, 22h38

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