Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   ESC / P - Seitenlänge in Millimeter übergeben (Epson LQ2190) (https://www.delphipraxis.net/181125-esc-p-seitenlaenge-millimeter-uebergeben-epson-lq2190.html)

mb.99 17. Jul 2014 15:00

ESC / P - Seitenlänge in Millimeter übergeben (Epson LQ2190)
 
Hallo,

ich habe hier einen Lieferschein in einem speziellen Format. Die Seitenlänge beträgt 212mm (8,346 Inch).
Bisher waren alle Lieferscheine die über unser Programm gedruckt wurden im Format 12*8 Inch.

Die Seitenlänge wurde bisher mit dem Befehl (ESC + 'C' + #000 + 'Seitenlänge in Inch') an den Drucker übermittelt.
Dieser Befehl unterstützt jedoch nur Ganzzahlen.

Könnt ihr mir den Befehl nennen mit dem man die Seitenlänge auf einen Millimeter genau definieren kann.

vielen Dank im Vorraus

Mavarik 17. Jul 2014 15:44

AW: ESC / P - Seitenlänge in Millimeter übergeben (Epson LQ2190)
 
hmmm old-School :roll:

Wenn ich mich richtig erinnere gibt es Seitenlänge in Zeilen und die gibt es in n/36 Zoll

Mavarik

PS.: Wir reden nicht von einem Windows Druckertreiber, sondern LPT direkt! Oder?

himitsu 17. Jul 2014 15:59

AW: ESC / P - Seitenlänge in Millimeter übergeben (Epson LQ2190)
 
http://stanislavs.org/helppc/epson_printer_codes.html

Joar, da bleibt wohl nur noch Lines (ESC C n).



Cool, ein A3-Nadeldrucker für nur 1200€ und laut Doku klingt es nach Serieller- und/oder USB-Schnittstelle. :gruebel:

mb.99 18. Jul 2014 07:22

AW: ESC / P - Seitenlänge in Millimeter übergeben (Epson LQ2190)
 
Auf Seite 17 des Epson Handbuchs wird der Befehl 'Set Page Length in defined Unit' (ESC ( C)aufgeführt. Nur leider ist es mir ein Rätsel wie man die Einheit definiert.

himitsu 18. Jul 2014 08:17

AW: ESC / P - Seitenlänge in Millimeter übergeben (Epson LQ2190)
 
Delphi-Quellcode:
N := 2;
M := ...;
S := ESC + '(C' + Chr(N mod 256) + Chr(N div 256) + Chr(M mod 256) + Chr(M div 256);

// oder

type
  TPageLength = packed record
    C: array[0..2] of AnsiChar;
    N, M: Word;
  end;

PageLength.C := ESC + '(C';
PageLength.N := 2;
PageLength.M := ...;
// jetzt nur noch den Record versenden
und nun mußt du nur noch anhand der Formel bestimmen wie groß N und M sein sollen. :stupid:

Aber frag mich nicht wie groß eine "Unit" sein soll.

Delphi-Quellcode:
PageLength := M * N;
wirst du ja vermutlich schaffen umzustellen :angel:

Zitat:

This command is available only on printers featuring ESC/P 2.
ist gegeben?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz