Bonjour,
je souhaite imprimer le contenu d'un fichier sur mon imprimante par défaut.
Je n'ai pas souvenir qu'il fallait paramétrer Lazarus pour utiliser l'imprimante ! Est-ce le cas ?
J'ai déclaré dans ma fiche principale PrintersDlgs dans le Uses et dans la partie implémentation l'unité Printers...
J'avais déjà testé cette configuration, mais au moment du test, j'ai une erreur comme si l'objet imprimante n'avait pu être créé, c'est ce que je comprends de l'erreur.
Je vous joins le code de mon test, dans lequel j'ai remplacé la lecture du fichier par la lecture de lignes Mémo :
Pouvez-vous me dire ce que vous en pensez ?
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 {------------------------------------------------------------------------------- Imprimer le Fichier des Alertes enregistrées --------------------------------------------------------------------------------} procedure TForm1.MenuItem2Click(Sender: TObject); const CMargeG = 50; CMargeD = 50; CMargeH = 50; var i: Integer; HCar : integer; LigSTR, LigHaut : Integer; begin if PD.Execute then begin Hcar := Round(1.2 * Abs(Printer.Canvas.TextHeight('I'))); // hauteur de la Font try Printer.BeginDoc; Printer.Copies := PD.Copies; Printer.Canvas.Font.Name := 'Arial'; Printer.Canvas.Font.Size := 10; Printer.Canvas.Font.Color := clRed; for i := 0 to (memo1.Lines.Count - 1) do begin Printer.Canvas.TextOut(CMargeG, LigHaut, memo1.Lines[i]); LigHaut := LigHaut + HCar; if LigHaut >= Printer.PageHeight then // saut de page begin Printer.NewPage; LigHaut := CMargeH; end; end; finally Printer.EndDoc; end; end; end;
Merci
Partager