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] Affichage d'une image non liée à une base [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Par défaut [LazReport] Affichage d'une image non liée à une base
    Bonjour,

    Je souhaite afficher une image dans un rapport créé avec LazReport. Cette image est au format JPEG et, si son nom et chemin d'accès est fixe et correspond à une variable String de nom ImgTransit, son contenu est choisi entre plusieurs alternatives par code en utilisant le presse-papiers, étape qui ne ne me pose pas de problèmes (vérification faite par visionnage de l'image résultant du choix).
    Comme le contenu de l'image est variable, on ne peut pas utiliser l'outil TImage de LazReport mais on peut, selon la documentation, utiliser directement un Trectangle en utilisant la procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure TF_FRap.frR_Synth1EnterRect(Memo: TStringList; View: TfrView);
    .

    J'ai, en me basant sur les exemples et notamment la base de données Mushrooms programmé l'instruction suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TF_FRap.frR_Synth1EnterRect(Memo: TStringList; View: TfrView);
      Var Mem_Str : TStringList ;
      Var DirNomBase, Img_LogoEcol : String ;
      Var ImgLogo1 : TJPEGImage ;
      Var ImgTransit  : String ;
      Var LogoDefaut : String ;
    begin
    // ..................
    // PLusieurs lignes permettant d'affecter à la variable ImgTransit l'image adéquate
    // ...........................
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    With Tpicture.Create Do ImgLogo1.SaveToFile(ImgTRansit);
     Mem_Str :=  TStringList.Create;
     Mem_Str.AddStrings(ImgTransit);
     
     
      if View.Name = 'LogoProm' then TFrPictureView(View).Picture.LoadFromFile(ImgTransit);
     //LogoProm est le nom donné au rectangle devant afficher l'image
     
      ClipBoard.Clear ;
      Mem_Str.free ;
    end;
    .

    Ce code ne provoque pas d'erreur et la page du rapport s'affich.... mais aucune image ne s'affiche .

    Pouvez-vous me donner la solution ?

    Merci .

    R.O.

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Par défaut LazReport- affichage d'une image
    Bonjour,

    Un examen beaucoup plus attentif de l'exemple "Database-Mushrooms" de JurrasickPork figurant dans les exemples associés à Lazarus m'a permis de trouver une solution à mon problème. Voir ci-après à toutes fins utiles :
    1- C'est bien un Timage qu'il faut placer dans la bande et non un Trectangle
    2- Lors de la construction du fichier .lrf il faut ouvrir l'inspecteur d'objets (ce qui n'est pas fait lors du double clic permettant d'accéder au fichier lrf) et renseigner certaines propriétés du Timage devant héberger l'image sauvée par code sous le chemin complet correspondant à la variable ImgTransit :
    -- Donner un nom (Name : dans mon cas Img_Logo
    -- passer l'option Streched à True cela permet de d'adapter l'image à charger à la taille du cadre devant la recevoir
    -- Laisser Datafield vierge
    -- Vérifier que Memo est (TfrMemoStrings) et Script (TfrScriptStrings).


    3 - Coder le chargement de l'image dans la procédure OnEnterRectangle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Tpicture.Create Do ImgLogo1.SaveToFile(ImgTRansit);
     
     If View.Name = 'Img_Logo' then TFrPictureView(View).Picture.LoadFromFile(ImgTransit) ;
     ClipBoard.Clear ;
    .

    Cela permet d'afficher l'image choisie.

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

Discussions similaires

  1. Affichage image non stocké en base
    Par scariou29 dans le forum BIRT
    Réponses: 4
    Dernier message: 24/01/2012, 09h41
  2. Affichage d'une base de Donnée
    Par cesear89 dans le forum NetBeans
    Réponses: 7
    Dernier message: 31/10/2010, 14h51
  3. [AJAX] boucle for dans item pour l'affichage d'une base de donné
    Par senda dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/03/2009, 13h42
  4. [MySQL] probleme d'affichage d'une base par rapport
    Par alizea77 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 17/01/2008, 10h23
  5. [PHPMyAdmin][debutant]affichage d'une base
    Par sly33 dans le forum Outils
    Réponses: 2
    Dernier message: 09/01/2007, 10h18

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