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 :

Comment imprimer avec LazReport plusieurs états indépendants [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mars 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2008
    Messages : 67
    Points : 65
    Points
    65
    Par défaut Comment imprimer avec LazReport plusieurs états indépendants
    Bonjour,
    Comment imprimer plusieurs documents indépendants (ou une sortie PDF).
    Quand j'entre dans la procédure frReport1GetValue(); il parcourt la liste puis il m'imprime la fiche de la dernière personne de la liste.
    Merci pour une suggestion.

  2. #2
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    décembre 2008
    Messages
    3 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2008
    Messages : 3 245
    Points : 7 854
    Points
    7 854
    Par défaut
    Hello,

    Explique nous mieux ton problème :
    1 - Dis-nous ce que tu as en entrée (d'où viennent les données ?) et ce que tu veux en sortie.
    2 - De quelle liste parles tu ?
    3 - Montre-nous ton code.

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mars 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2008
    Messages : 67
    Points : 65
    Points
    65
    Par défaut
    Bonjour,

    Les données à imprimer sont chargées dans une StringGrid, depuis SQLite3.

    Une procédure prépare la StringGrid, ensuite je prépare le rapport :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
             frReport1.Options:= [roHideDefaultFilter];
             S := 'le nom du fichier pdf';
             frReport1.PrepareReport;
             if frReport1.PrepareReport then frReport1.ExportTo(TfrTNPDFExportFilter, S);
    La procédure frReport1GetValue() est appelée, puis elle boucle jusqu'à la fin de la StringGrid. Je trouve dans le document final (imprimé ou pdf) uniquement les données de la dernière ligne de la StingGrid.

    Ma question :
    Comment créer un état pour chaque ligne de la StringGrid ?

    Merci d'avance.

  4. #4
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    décembre 2008
    Messages
    3 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2008
    Messages : 3 245
    Points : 7 854
    Points
    7 854
    Par défaut
    Hello,
    tu peux jeter un oeil à mon exemple de base de données (inclus dans les distributions de Lazarus : Lazarus\examples\Database\Image_Mushrooms ). Dedans je fais un print de champignons qui sont dans une stringGrid.
    Par rapport à ce projet j'ai rajouté un bouton export to PDF avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TForm1.Bt_ExpPDFClick(Sender: TObject);
    begin
       frReport1.LoadFromFile(ExtractFilePath(application.ExeName) +
        'Mushroom_Report.lrf');
       if frReport1.PrepareReport then
          frReport1.ExportTo(TfrTNPDFExportFilter, 'D:\temp\Champignons.PDF');
    end;
    Nom : DeadlyMushrooms.jpg
Affichages : 60
Taille : 192,6 Ko

    En pièce jointe ce que j'obtiens en PDF

    Ami calmant, J.P
    Images attachées Images attachées
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mars 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2008
    Messages : 67
    Points : 65
    Points
    65
    Par défaut
    Bonsoir,
    Merci pour votre aide, j'avais des confusion entre les bandes : la bande principale et l'entête du rapport, de ce côté c'est réglé.
    Il me reste un autre problème : j'ai trois StringGrid dans ce rapport mais elles n'ont pas le même nombre de lignes, l'une sur la 1ère page, les 2 autres sur la seconde page.
    j'ai ajouté un compteur par StringGrid dans les 3 évènements : OnCheckEOF, OnFirst et OnNext, le résultat n'est pas satisfaisant.
    Je pense que ce n'est pas faisable.
    Bonne soirée

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

Discussions similaires

  1. [Lazarus] Comment imprimer avec un état ?
    Par Tolede37 dans le forum Lazarus
    Réponses: 5
    Dernier message: 21/04/2015, 13h14
  2. Réponses: 3
    Dernier message: 28/04/2006, 11h17
  3. Réponses: 3
    Dernier message: 27/11/2005, 18h59

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