Sesuai judulnya jadi kita akan mencetak kode barcode, jadi bukan
membuat kode barcode karena coding untuk membuat kode barcode lumayan menyita waktu dan tenaga (asalkan buatnya dari nol bukan copas source code
)
Beberapa waktu yang lalu saya sudah membahas bagaimana membuat form input hari libur yang diambil dari salah satu fitur Smart Library School, kali ini saya membahas fitur lainnya yaitu pencetakan kode barcode yang tentunya dengan cara yang instan
Ada 2 mode pencetakan yang akan saya share disini :
1. Cetak barcode tunggal, sesuai namanya kita akan mencetak 1 kode barcode dengan posisi yang bisa kita atur sendiri.
2. Cetak barcode kelompok, mencetak beberapa kode barcode sekaligus
Proses pembuatan barcodenya sendiri tidak perlu koding khusus, yang diperlukan hanya kode untuk mencetaknya itulah mudahnya klo menggunakan komponen pihak ke
tiga he he he
.
Ingat komponen ini adalah shareware, segala resiko (kemudahan dalam mencetak kode barcode) ditanggung sendiri , saya disini hanya share dan tidak terikat kerja sama dengan pihak ketiga tersebut.
Oke langsung saja kita akan buat rancangan tampilannya seperti berikut :
Adapun kode pencetakannya adalah sebagai berikut :
01 | Private Sub cmdCetak_Click() |
02 | Dim batasKiri As Single |
03 | Dim batasAtas As Single |
07 | If MsgBox( "Apakah proses pencetakan kode barcode ingin dilanjutkan ?" , vbExclamation + vbYesNo, "Konfirmasi" ) = vbYes Then |
08 | Screen.MousePointer = vbHourglass |
11 | Printer.PSet ( 0 , 0 ), vbWhite |
12 | Printer.ScaleMode = vbPixels |
19 | If Check 1 (posisi).Value = Checked Then |
20 | If posisi >= 0 And posisi <= 5 Then |
23 | ElseIf posisi >= 6 And posisi <= 11 Then |
26 | ElseIf posisi >= 12 And posisi <= 17 Then |
29 | ElseIf posisi >= 18 And posisi <= 23 Then |
45 | Case 4 , 10 , 16 , 22 , 28 |
47 | Case 5 , 11 , 17 , 23 , 29 |
51 | TBarCode 51 .Text = txtKodeBarcode.Text |
52 | TBarCode 51 .BackStyle = BKS_Transparent |
53 | TBarCode 51 .BCDraw Printer.hDC, Printer.ScaleX(batasKiri, vbCentimeters), Printer.ScaleY(batasAtas, vbCentimeters), Printer.ScaleX( 3 , vbCentimeters), Printer.ScaleY( 1.5 , vbCentimeters) |
59 | Screen.MousePointer = vbDefault |
dan terakhir kode untuk mencetak barcode kelompok :
01 | Private Sub cmdCetak_Click() |
12 | If MsgBox( "Apakah proses pencetakan kode barcode ingin dilanjutkan ?" , vbExclamation + vbYesNo, "Konfirmasi" ) = vbYes Then |
13 | Screen.MousePointer = vbHourglass |
16 | Printer.PSet ( 0 , 0 ), vbWhite |
17 | Printer.ScaleMode = vbPixels |
18 | sgTop = Printer.ScaleY( 2.5 , vbCentimeters) |
19 | sgLeft 1 = Printer.ScaleX( 1 , vbCentimeters) |
23 | While fExit = False And x <= 3 |
25 | While fExit = False And y <= 4 |
28 | sgTop = sgTop + Printer.ScaleY( 3.5 , vbCentimeters) |
30 | sgTop = Printer.ScaleY( 2.5 , vbCentimeters) |
35 | sgleft 2 = Printer.ScaleX( 1 , vbCentimeters) |
37 | sgleft 2 = sgLeft 1 + Printer.ScaleX( 6.79 , vbCentimeters) |
39 | sgleft 2 = sgLeft 1 + Printer.ScaleX( 6.64 , vbCentimeters) |
42 | If Not ((Index + 1 ) > lstDaftarBarcode.ListCount) Then |
43 | TBarCode 51 .Text = lstDaftarBarcode.List(Index) |
44 | TBarCode 51 .BackStyle = BKS_Transparent |
45 | TBarCode 51 .BCDraw Printer.hDC, sgleft 2 , sgTop, Printer.ScaleX( 4.4 , vbCentimeters), Printer.ScaleY( 1 , vbCentimeters) |
48 | If (Index + 1 ) > lstDaftarBarcode.ListCount Then |
63 | sgTop = Printer.ScaleY( 2 , vbCentimeters) |
64 | sgLeft 1 = Printer.ScaleX( 1.5 , vbCentimeters) |
70 | Screen.MousePointer = vbDefault |
Selamat MENCOBA
Tidak ada komentar:
Posting Komentar