Announcement

Collapse
No announcement yet.

Direkt Druck auf LPT:

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Direkt Druck auf LPT:

    Ich habe verschiedentlich schon versucht Barcodes auf einem dafür speziell gekauften Etikettendrucker (hier Datamax E4203)auszudrucken (Siehe auch Diskussion in RAVE).
    Dieser Drucker hat hat eingebauten Barcode-Zeichensätze (alle gängigen). Alle Windows-Druckertreiber filtern die Escapesequenzen, die man an den Drucker sendet, gnadenlos aus.
    Für die Direktkontrolle gibt es in Delphi die Escape-Funktion. Eigentlich alle Beiträge in den verschiedenen Foren sprechen das Thema zwar an, die Beispiele laufen aber nicht.
    Hier ist nun mein "Rezept" !
    Es funktioniert getesteterweise unter NT4.0 und W2000.

    <PRE>
    Const STX = $#02;
    CR = $#0D;

    procedure TForm1.DirektDruck(Sender: TObject);
    Var S : String;
    Len : Word;
    i : Integer;
    begin // XX ist ein Platzhalter - er wird nachher durch das Move-Kommando plattgemacht !

    S := 'XX' + STX + 'Deine Steuerzeichen|'; // STX = chr(2) (Start of Text)
    S := S + '1e2203001000075C1234567890123|'; // Barcode 128 C
    S := S + '1211000009000951234567890123|';
    S := S + '161100000500012DATAMAX_E-4203|'; // Ein Text
    S := S + '191100300300012Zieldrucker: '|'; // NOCH'N tEXT
    S := S + 'E' + CR; // Das Cr und | sind spezifisch für Datamax-Drucker
    For i := 1 to Length(S) do if (S[i] = '|') then S[i] := CR;

    //********************* und jetzt kommt das Eingemachte *******************

    Len := Length(S) - 2;
    Move(Len,S[1],2);
    Printer.BeginDoc;
    Escape(Printer.Canvas.Handle,PASSTHROUGH,0,PChar(S ),Nil);
    Printer.EndDoc;

    //******************** Ende Eingemachtes **********************************
    end;

    </PRE>

    .... ! Das schmale Fenster macht meine ganze Formatiererei zunichte !

    Gutes Gelingen

    Hubert Hartmann

  • #2
    Hallo Hubert,

    ich hatte füher auch mal das Problem und habe dann einen Drucker "Standard / Universal" (oder "Generic/Text Only") installiert und darauf gedruckt. In den Einstellungen des Druckers unter "Schriftauswahl" und "Druckerbefehle" kann man dann einige Escape-Sequenzen festlegen, die dann auch nicht entfernt werden.<BR><BR>
    cu buche
    &#10

    Comment

    Working...
    X