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 :

[Windows] Erreur d'impression avec printer4lazarus [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de sematimo
    Profil pro
    Inscrit en
    Février 2009
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 332
    Par défaut [Windows] Erreur d'impression avec printer4lazarus
    Bonjour à tous

    j'essaie ce bout de code pour imprimer sous Windows, mais j'ai toujours un message d'erreur d'impression.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    unit Unit1;
     
    {$mode objfpc}{$H+}
     
    interface
     
    uses
      Classes, SysUtils, FileUtil, PrintersDlgs, Forms, Controls, Graphics, Dialogs,
      StdCtrls, Printers;
     
    type
     
      { TForm1 }
     
      TForm1 = class(TForm)
        Imprimer: TButton;
        PrinterSetupDialog1: TPrinterSetupDialog;
        procedure ImprimerClick(Sender: TObject);
      private
        { private declarations }
      public
        { public declarations }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.lfm}
     
    { TForm1 }
     
     
      procedure TForm1.ImprimerClick(Sender: TObject);
      begin
        Printer.BeginDoc;
     
        with Printer.Canvas do
        begin
          CopyMode:= cmSrcCopy;
          CopyRect(Rect(30, 30, 600, 600), GetFormImage.Canvas, Rect(0, 0, Width, Height));
          Brush.Style:= bsClear;
          Pen.Width:= 3;
          Rectangle(0, 0, 200, 50);    {Tracé d'un rectangle}
        end;
        printer.EndDoc;
      end;
     
     
     
    end.
    J'ai bien printers dans les uses et printer4lazarus dans les paquets requis.

  2. #2
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2006
    Messages : 59
    Par défaut
    Bonjour!
    Ce n'est pas évident! J'ai eu le même problème et j'ai trouvé la réponse dans le fichier (readme du répertoire Printer).
    Il indique de rajouter L'unité (OsPrinters) a la clause uses si je me souvient bien.
    Salut! Fernand,

  3. #3
    Membre éclairé
    Avatar de sematimo
    Profil pro
    Inscrit en
    Février 2009
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 332
    Par défaut
    Merci

    J'ai bien rajouté OsPrinters dans les uses mais rien de changé...

  4. #4
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2006
    Messages : 59
    Par défaut
    Bonjour!
    As-tu ajouté dans paquets requis de ton projet (Printer4Lazarus) a l'aide de (L'inspecteur de projet).
    Nom : Capture d’écran 2022-05-07 090658.png
Affichages : 216
Taille : 15,2 Ko
    Chez moi sous W10 Laz 2.2.6 tout va très bien.
    Salut! Fernand.

  5. #5
    Rédacteur
    Avatar de Chrispi
    Homme Profil pro
    Chargé de missions
    Inscrit en
    Juin 2020
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Chargé de missions
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2020
    Messages : 257
    Par défaut
    Bonjour sematimo,

    Tu peux peut-être essayer d'adapter ce type de code que j'ai essayé avec succès pour imprimer le contenu d'un TRichMemo :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    procedure TForm1.btnPrintClick(Sender: TObject); // Imprimer
    Var
      print_parameters: TPrintParams;
    begin
      if not PrintDialog1.Execute then
        Exit;
      // Paramètres d'impression
      print_parameters.JobTitle := 'Print test';
      print_parameters.Margins.Top := 30;
      print_parameters.Margins.Bottom := 30;
      print_parameters.Margins.Left := 30;
      print_parameters.Margins.Right := 30;
      RichMemo1.Print(print_parameters); // Impression
    end;
    Espérant avoir pu t'aider.

    Chrispi

  6. #6
    Membre éclairé
    Avatar de sematimo
    Profil pro
    Inscrit en
    Février 2009
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 332
    Par défaut
    J'ai bien printer4lazarus dans les paquets requis.

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

Discussions similaires

  1. une erreur d'impression d'un fichier txt avec java :(
    Par lolo_momo dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 14/05/2008, 21h06
  2. Erreur à l'impression avec QuickReport
    Par defluc dans le forum Composants VCL
    Réponses: 2
    Dernier message: 05/09/2007, 11h38
  3. Réponses: 3
    Dernier message: 31/08/2006, 11h59
  4. Erreur d'impression avec IE6
    Par mcbrett dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 09/01/2006, 13h12

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