Tips Print DOS Mode/Direct ke printer EPSON LX dengan Visual Basic 6

Posted: November 7, 2007 in VB 6

Mencetak data dengan metode DOS Mode pada jaman sekarang ini memang terasa kurang populer dengan semakin ditinggalkannya sistem operasi DOS, akan tetapi bagi para programmer aplikasi metode ini masih cukup dibutuhkan, terutama untuk programmer yang membuat aplikasi sejenis POS (Point of Sales) atau bahasa awamnya Aplikasi Kassa yang menggunakan printer Epson Lx.  Mungkin akan timbul pertanyaan “mengapa aplikasi tidak menggunakan printer POS saja?”,  untuk hasil yang maksimal Memang sebaiknya kita menggunakan printer POS saja (Epson TMU…., Samsung, Start Micronic, dll), akan tetapi terkadang kita dihadapkan pada suatu permasalahan dimana kita harus menggunakan printer sejenis Epson Lx (dot matrix) sebagai pengganti printer POS tersebut.
Kelebihan metode DOS Mode ini adalah mempunyai kecepatan yang tinggi dan setelah selesai mencetak tidak akan menggulung kertas seperti mencetak keprinter menggunakan driver. Tentunya metode cetak ini adalah metode yang akan dibutuhkan oleh aplikasi POS untuk mencetak nota.

Nah berikut beberapa sintak yang dapat digunakan untuk mengatur hasil cetakan printer Epson Lx dengan bahasa Visual Basic 6 :

chr(27) & chr(33) & chr(0) –> mencetak skala 10 cpi 
chr(27) & chr(33) & chr(1) –> mencetak skala 12 cpi, 12 cpi akan lebih kecil dari pada 10 cpi. 
chr(27) & chr(33) & chr(8) –> mencetak tebal
Print #1, chr(27) & chr(33) & chr(0) –> membatalkan cetak tebal
Print #1, chr(27) & chr(33) & chr(16) –> double strike (head printer akan bekerja secara bolak balik)
Print #1, chr(27) & chr(33) & chr(0) –> cancel double strike
Print #1, chr(27) & chr(33) & chr(32) –> font double width, biasanya digunakan untuk mencetak header.
Print #1, chr(27) & chr(33) & chr(64) –> font italic (huruf miring)
Print #1, chr(27) & chr(33) & chr(128) –> font underline
Print #1, chr(27) & chr(97) & chr(0) –> rata kanan (default)
Print #1, chr(27) & chr(97) & chr(1) –> rata tengah
Print #1, chr(27) & chr(97) & chr(2) –> rata kanan
Print #1, chr(27) & chr(33) & chr(4) –> memilih mode draft condenses (menghasilkan huruf yang berukuran kecil

Contoh penerapan dengan visual basic 6
sub cetak
   open “lpt1″ for output as #1
        Print #1, chr(27) & chr(33) & chr(32); ‘ cetak double width
        print #1,”SINAR HARAPAN”
        Print #1, chr(27) & chr(33) & chr(0); cancel cetak double width

        Print #1, chr(27) & chr(33) & chr(4); ‘ draft condensed
        Print #1, “Item 1”
        Print #1, “Item 2”
        Print #1, “Item 3”
        Print #1, chr(27) & chr(33) & chr(0) ‘ cancel draft condensed
   close #1
end sub

Komentar
  1. ade mengatakan:

    kalau menentukan spasi gmn ya mas?
    misalkan kalau pake printer biasa kan Printer.print tab(5);
    tapi kalau dot matrix gmn?
    mksh…

  2. astawan mengatakan:

    Hampir sama dengan metode Printer.Print
    Contoh :
    Print #1, “test”
    kalau mau ditambahkan spasi , misal 10 spasi, maka menjadi :
    Print #1, Tab(10); “test”
    atau bisa juga dengan menggunakan fungsi Space
    Print #1, Space(20); “test”
    Sorry baru bisa balas, Semoga membantu…

  3. djaenal mengatakan:

    gmn kalo mo print di access 2003. berlaku gak script diatas buat VBA Access ?
    makasih ya…

  4. astawan mengatakan:

    @djaenal
    Kayaknya bisa, saya dah coba , tapi hasilnya diprinter saya belum bisa lihat, printer lx-300 saya lagi dipinjam customer, saya hanya baru coba debug sampai Close #1.

  5. Rangkuti mengatakan:

    Thanks infonya,
    ada gak kode untuk menggulung kertas mundur.

  6. m.Ridho mengatakan:

    Kalau ingin mengatur Baris Gimana Ya…

  7. jumari mengatakan:

    kalau ngatur jarak baris agar rapat gimana…….
    dan huruf agak tinggi …. trims

  8. sumeleh mengatakan:

    saya punya masalah dalam mencetak dg mode dos dalam OS Windows Vista.
    Bagaimana ya, apa ada setting khusus di Bios atau di Properties Printer ?

    Help me ya.
    Trims
    sumeleh

  9. pet mengatakan:

    kalo code untuk menggulung kertas ada, enggal?

    • astawan mengatakan:

      kalo code untuk menggulung kertas ada, enggal?
      Coba gunakan chr(12), itu biasanya untuk form feed, atau chr(10), ini untuk line feed.
      Mohon maaf saya nggak bisa test langsung di printer, karena printer saya lagi dipinjam customer.

  10. petruk mengatakan:

    Trims bgt, codenya sukses
    Kalo code ngerubah ukuran font ada pa enggak ya ??
    Trims

  11. vd mengatakan:

    pagi pak, saya coba ko ga jalan ya…..?kalo port nya usb bisa ga….?mohon pencerahannya. makasih

  12. ahmad mengatakan:

    mas kalo printernya lewat jaringan
    apa coding buat opennya apa ya
    saya dah coba coding open “lpt1″ for output as #1
    g bisa juga , terima kasih

  13. ed mengatakan:

    mas, tinggal dimana? Apa bisa bantu saya di bandung? Trims

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s