Mencetak Data ke Printer dengan Perintah Escape


Program berikut adalah modifikasi dari artikel saya di Mencetak Text Langsung ke Printer. Perbedaannya, pada artikel disini, saya menggunakan perintah Escape yang didefinisikan di Windows.pas.

Kode program dibawah ini berjalan dengan mencetak tulisan di memo dengan perulangan  for, mulai baris pertama sampai terakhir.

Agar baris dapat berpindah ke baris berikutnya. Saya mendefinsikan kostanta GantiBaris yang berisi string #13#10.

Agar program berjalan, pertama-tama kita membuat data tipe record yang digunakan untuk

TPassThroughData = Record
    nLen  : Word;
    sData : Array[0..255] of AnsiChar;
end;


Kemudian saya membuat sebuah fungsi untuk mencetak tulisan. 

Procedure DirectPrint(s : String);
var
    BlockData : TPassThroughData;
    TestInt : Integer;
Begin
    TestInt := PassThrough;

    if Escape(Printer.Handle, QUERYESCSUPPORT, SizeOf(TESTINT), @testint, nil) > 0 then
    begin
        StrPCopy(BlockData.sData , s);
        BlockData.nLen := StrLen(BlockData.sData);
        Escape(printer.handle, PASSTHROUGH,0,@BlockData,nil);
    end;
End;


Tulisan akan segera dicetak saat pengguna menekan tombol Cetak Data yang berisi kode program berikut:

procedure TForm1.Button1Click(Sender: TObject);
const
    GantiBaris = #13#10;
var
    i : integer;
begin
    Printer.BeginDoc;

    for i:= 0 to Memo1.Lines.Count do
    begin
        DirectPrint(Memo1.Lines[i] + GantiBaris);
    end;

    Printer.EndDoc;
end;

  

Kode Program Selengkapnya:

Mencetak Data ke Printer dengan Perintah Escape Rating: 4.5 Diposkan Oleh: Good Dreamer

8 comments:

  1. Driver printer hrs di install gak ya??

    BalasHapus
  2. Pakai driver bawaan windows saja cukup. Windows akan otomatis mencoba mengenali printer yang dipasangkan. Saya mencobanya pada printer Epson LX-300, Epson LX-310, Epson 2180, dan Epson 2190 berhasil semua tanpa perlu memasang drivernya. Tetapi untuk pencetakan yang lebih serius lebih baik dipasang,sebab terkadang hasilnya tidak terduga

    BalasHapus
    Balasan
    1. saya pakai printer epson TMU220 usb, apakah driver perlu diinstall??

      Hapus
    2. coba ketik perintah ini di dos:

      dir *.* > prn

      Jika bisa ngeprint berarti gak usah pasang driver. JAngan lupa dishare dulu seperti yang pernah saya tulis di artikel saya (sebab pakai USB

      Hapus
  3. klo misalkan nilai yg mau di cetak dari label bukan dari memo gimana master ?
    tolong pencerahannya
    terima kasih

    BalasHapus
  4. cara nentuin port printernya gmn gan?

    BalasHapus
  5. pak kalo kita mau mengirim perintah cutting di printer termal epson seperti tmu gimana ya, mohon pencerahannya terimakasih

    BalasHapus

Diberdayakan oleh Blogger.