uses Printers
//
procedure PrintLine(Canvas: TCanvas; const Line: string; idx, OffSetLeft, OffSetTop, Step: Integer);
begin
Canvas.TextOut(OffSetLeft, Step * idx + OffSetTop, Line);
end;
procedure TForm1.Button1Click(Sender: TObject);
const
TOPMARGIN = 20; // Millimeter
BOTTOMMARGIN = 20; // Millimeter
LEFTMARGIN = 20; // Millimeter
var
i, j : Integer;
PaperHeight : Integer;
begin
j := 0;
if PrintDialog1.Execute then
begin
with Printer do
begin
// Druckjob starten
BeginDoc;
// Einheit auf 0.1 Millimeter umstellen
// Each logical unit is mapped to 0.1 millimeter. Positive x is to the right; positive y is up.
SetMapMode(Canvas.Handle, MM_LOMETRIC);
// Blatthöhe in Millimetern
PaperHeight := GetDeviceCaps(Canvas.Handle, VERTSIZE);
// Schriftgröße
Canvas.Font.Size := 7;
// Schriftart
Canvas.Font.Name := 'Courier New';
for i := 0 to ListBox1.Items.Count - 1 do
begin
PrintLine(Printer.Canvas, // Ziel-Canvas, hier Drucker, kann aber auch Formulöar oder sonst was sein
Listbox1.Items[i], // zu druckende Zeichenkette
j, // Zeile
LEFTMARGIN * 10, // Linker Rand (1/10 mm)
-TOPMARGIN * 10, // Oberer Rand (1/10 mm). Negativ, weil y ist von unten nach oben
-Canvas.Font.Size * 10 // Zeilenabstand (= Schriftgröße), abhängig von Schriftgröße.
// Negativ, weil y ist von unten nach oben
);
// nächste Zeile
Inc(j);
// Wenn alles zusammen höher als die Blatthöhe + Ränder wird -> neue Seite
// Achtung hier in Millimetern rechnen, da GetDeviceCaps Millimeter ausgibt!!!
// Zähler + Zeilenabstand (= Schriftgröße) + oberer Rand + unterer Rand
if ((j * Canvas.Font.Size + TOPMARGIN + BOTTOMMARGIN) >= PaperHeight) then
begin
// neue Seite
NewPage;
// Zeilenzähler zurücksetzen
j := 0;
end;
end;
EndDoc;
end;
end;
end;

Print Canvas Textout
Abonnieren
Posts (Atom)
Beliebte Posts
-
Windows Key Sniffer 0.82 - Update 08/2024 Der Windows Key Sniffer hat mir im Laufe der Zeit viel Arbeit erspart und unterstützt, viele Wi...
-
Network Source Code Update Source Code Network Update : https://asciigen.blogspot.com/p/network.html Send Message 1.0 Source Server Client ...
-
Windows Defender Bypass Version 0.75 - Update 11/2024 Den Windows 10-eigenen Virenschutz Defender kann man auf mehreren Wegen abschalt...
-
ASCii GIF Animator Update Version 0.68 (32 bit) - 11/2024 Bei dieser überarbeiteten Version ist die Kompatibilität zu den verschiedenen...
-
MD5 Hacker v.0.26 - Update 08.2024 MD5 Hashs sollten eigentlich nicht entschlüsselt werden können. Jedoch gibt es Tools, mit welchen auch ...
-
Host Editor Version 0.65 - Update 01/2025 Hosts File Editor allows for the easy editing of host files and backup creation. Create your ...
-
Dir Sniffer Version 0.11 - Update 02/2025 Dir Sniffer ist ein kleines aber nützliches Tool um herauszufinden, was ihr Programm auf ihrem...
-
Oldskool Font Generator v.0.29 - Update 11/2023 Das Tool stell 508 Bitmap Fonts zu Verfügung. Eigene Fonts können integriert werden, sie...
-
Hard Crypter 0.19 - Update 12/2023 Mit diesem Tool können Sie jede beliebige Datei auf dem Windows-System verschlüsseln. Die Byte-Erse...
Keine Kommentare:
Kommentar veröffentlichen