Cara mudah mencetak kode barcode
Senang banget akhirnya bisa posting artikel coding lagi π
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 :D)
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 :D.
Ingat komponen ini adalah shareware, segala resiko (kemudahan dalam mencetak kode barcode) ditanggung sendiri :D, 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 :
Private Sub cmdCetak_Click() Dim batasKiri As Single Dim batasAtas As Single Dim posisi As Integer If MsgBox("Apakah proses pencetakan kode barcode ingin dilanjutkan ?", vbExclamation + vbYesNo, "Konfirmasi") = vbYes Then Screen.MousePointer = vbHourglass DoEvents Printer.PSet (0, 0), vbWhite Printer.ScaleMode = vbPixels batasKiri = 0 batasAtas = 2.5 posisi = 0 Do While posisi < 30 If Check1(posisi).Value = Checked Then If posisi >= 0 And posisi <= 5 Then batasKiri = 0 ElseIf posisi >= 6 And posisi <= 11 Then batasKiri = 4 ElseIf posisi >= 12 And posisi <= 17 Then batasKiri = 8 ElseIf posisi >= 18 And posisi <= 23 Then batasKiri = 12 Else batasKiri = 16 End If Select Case posisi Case 0, 6, 12, 18, 24 batasAtas = 0.5 Case 1, 7, 13, 19, 25 batasAtas = 3.2 Case 2, 8, 14, 20, 26 batasAtas = 5.8 Case 3, 9, 15, 21, 27 batasAtas = 8.4 Case 4, 10, 16, 22, 28 batasAtas = 11.2 Case 5, 11, 17, 23, 29 batasAtas = 13.9 End Select TBarCode51.Text = txtKodeBarcode.Text TBarCode51.BackStyle = BKS_Transparent TBarCode51.BCDraw Printer.hDC, Printer.ScaleX(batasKiri, vbCentimeters), Printer.ScaleY(batasAtas, vbCentimeters), Printer.ScaleX(3, vbCentimeters), Printer.ScaleY(1.5, vbCentimeters) End If posisi = posisi + 1 Loop Printer.EndDoc Screen.MousePointer = vbDefault End If End Sub
dan terakhir kode untuk mencetak barcode kelompok :
Private Sub cmdCetak_Click() Dim x As Long Dim y As Long Dim Index As Integer Dim sgLeft1 As Single Dim sgleft2 As Single Dim sgTop As Single Dim fExit As Boolean If MsgBox("Apakah proses pencetakan kode barcode ingin dilanjutkan ?", vbExclamation + vbYesNo, "Konfirmasi") = vbYes Then Screen.MousePointer = vbHourglass DoEvents Printer.PSet (0, 0), vbWhite Printer.ScaleMode = vbPixels sgTop = Printer.ScaleY(2.5, vbCentimeters) sgLeft1 = Printer.ScaleX(1, vbCentimeters) While fExit = False x = 1 While fExit = False And x <= 3 y = 1 While fExit = False And y <= 4 'top margin If y > 1 Then sgTop = sgTop + Printer.ScaleY(3.5, vbCentimeters) Else sgTop = Printer.ScaleY(2.5, vbCentimeters) End If 'left margin If x = 1 Then sgleft2 = Printer.ScaleX(1, vbCentimeters) ElseIf x = 2 Then sgleft2 = sgLeft1 + Printer.ScaleX(6.79, vbCentimeters) Else sgleft2 = sgLeft1 + Printer.ScaleX(6.64, vbCentimeters) End If If Not ((Index + 1) > lstDaftarBarcode.ListCount) Then TBarCode51.Text = lstDaftarBarcode.List(Index) TBarCode51.BackStyle = BKS_Transparent TBarCode51.BCDraw Printer.hDC, sgleft2, sgTop, Printer.ScaleX(4.4, vbCentimeters), Printer.ScaleY(1, vbCentimeters) End If If (Index + 1) > lstDaftarBarcode.ListCount Then fExit = True Else Index = Index + 1 End If y = y + 1 Wend sgLeft1 = sgleft2 x = x + 1 Wend If Not fExit Then Printer.NewPage sgTop = Printer.ScaleY(2, vbCentimeters) sgLeft1 = Printer.ScaleX(1.5, vbCentimeters) End If Wend Printer.EndDoc Screen.MousePointer = vbDefault End If End Sub
Selamat MENCOBA π
Open Source Project
Kategori
- Continuous Integration (9)
- Database (21)
- Firebird (11)
- MySQL (4)
- SQL Server 2000 (1)
- SQLite (6)
- Freeware (8)
- Jaringan (2)
- Logger (1)
- NuGet (6)
- Testing (1)
- Tools Installer (8)
- Inno Setup (6)
- NSIS (2)
- Uncategorized (17)
- Version Control (1)
- Visual Basic (77)
- Active Report (4)
- Winsock (6)
- Visual Basic .NET (10)
- Visual C# (47)
- .NET Remoting (9)
- Dapper .NET (8)
- Entity Framework (9)
- WCF (1)
- Visual Studio .NET (7)
- Build Events (3)
- Software Testing (4)
Arsip
- July 2018 (1)
- September 2017 (1)
- August 2017 (2)
- April 2017 (1)
- January 2017 (2)
- December 2016 (2)
- November 2016 (1)
- October 2016 (1)
- September 2016 (3)
- August 2016 (1)
- July 2016 (3)
- June 2016 (1)
- March 2016 (1)
- February 2016 (5)
- January 2016 (4)
- October 2015 (1)
- July 2015 (2)
- June 2015 (4)
- May 2014 (1)
- April 2014 (3)
- March 2014 (9)
- June 2013 (1)
- March 2013 (1)
- February 2013 (2)
- January 2013 (2)
- August 2012 (1)
- July 2012 (1)
- June 2012 (1)
- May 2012 (4)
- April 2012 (1)
- March 2012 (2)
- February 2012 (3)
- January 2012 (2)
- December 2011 (3)
- November 2011 (3)
- October 2011 (1)
- September 2011 (2)
- August 2011 (1)
- July 2011 (2)
- June 2011 (4)
- March 2011 (2)
- February 2011 (2)
- January 2011 (4)
- December 2010 (7)
- November 2010 (3)
- October 2010 (3)
- September 2010 (3)
- August 2010 (4)
- July 2010 (3)
- June 2010 (5)
- May 2010 (4)
- April 2010 (8)
- March 2010 (12)
- February 2010 (9)
- January 2010 (23)
- December 2009 (10)
Artikel Favorit
- Menambahkan serial number pada paket instalasi (inno setup)
- Memanfaatkan library IKG untuk membuat aktivasi +Β keygen
- Membuat aktivasi dongle bagian akhir β 1 dongle untuk semua
- Cara mudah dan gampang membuat aplikasi service dengan VB6
- Membuat sms gateway itu gampang, jangan dipersulit !!!
- Pembuatan Aplikasi Client Server dengan Arsitektur 3-tier Part 1
- Input data via grid
- Source Code
- Belajar Winsock bagian 1 - Intro
- Membuat aktivasi dongle bagian 1 - Simple think
Artikel Terbaru
- Membuat jaringan VPN Menggunakan SoftEther VPN Bagian #1
- GitLab CI untuk .NET Developer Bagian #2
- GitLab CI untuk .NET Developer Bagian #1
- Membuat Service SMS Gateway Untuk Engine Gammu
- OpenRetail – Open Source Project for Retail Business
- Membuat Log Aplikasi Menggunakan Log4Net
- Manajemen Perubahan Struktur Database Menggunakan Liquibase
- Build Otomatis Project Visual Basic 6 Menggunakan Jenkins
- Membangun Server CI (Continuous Integration) di Windows untuk Platform .NET Menggunakan Jenkins Bagian #4
- Membangun Server CI (Continuous Integration) di Windows untuk Platform .NET Menggunakan Jenkins Bagian #3
- Membangun Server CI (Continuous Integration) di Windows untuk Platform .NET Menggunakan Jenkins Bagian #2
- Membangun Server CI (Continuous Integration) di Windows untuk Platform .NET Menggunakan Jenkins Bagian #1
Recent Comments
Blog Stats
- 1,135,241 hits
om tanya dong, bagaimana membuat agar komponen yang ada di dalam form tidak bisa diedit “tidak bisa digeser atau diperbesar/diperkecil” seperti contoh program om?
Itu pada saat design ya om ? klo iya ngaturnya dari menu Format -> Lock Controls
iya…
oia dah aku coba td dan berhasil…
thx u banget ya..
“Proses pembuatan barcodenya sendiri tidak perlu koding khusus, yang diperlukan hanya kode untuk mencetaknya itulah mudahnya klo menggunakan komponen pihak ke tiga (http://www.tec-it.com/en/start/Default.aspx)” nama komponenya apa nih bang??
bisa lebih spesifik gak?? soalnya banyak pilihan nih bang…. (agak malas nyoba mode on π )
Coba yang Barcode ActiveX aja om
oooo
yang tbarcode itu to bang…. xixixixi ok.. ok… ok…
JazaakAllaahu Khairan bang…
btw, klo untuk bwt keterangan dari suatu modul/form/class seperti yang ada di SisfoSiswa itu pake apa bang??
yang seperti ini maksudnya:
‘**********************************************************************
‘ Name : clsExcelExport
‘ Purpose : Provides functionality to export data to Excel
‘ Author : Andy Stevens
‘ Date : September 2004
‘ Modified : K4m4r82
‘ Date : 09 Nov 2005
‘**********************************************************************
apa ini tulis manual atau pake software/addin??
Pake Addin MZ-Tools om, sudah ada fitur untuk menambahkan header module/class.
maksudnya posisi 1, 2, dst… itu kalau scenner di dekatin ma kodenya itu muncul otomatis di textbox.nya y mas?
Iya posisi barcode diatas sudah sy sesuaikan dengan stiker label, jadi posisi manapun udah otomatis terdeteksi barcode scanner yang penting fokus cursor ada di textboxnya
klo komponen ini selain barcode juga bisa di tambahin Label Harga n Nama Barang gmana y om caranya???
klo komponen ini selain barcode juga bisa di tambahin Label Harga n Nama Barang gmana y om caranya???
Klo fitur seperti itu komponennya belum mendukung
gan..
misal ane mau buat absensi menggunakan barcode?
agar bisa masuk ke database bagaimana bos?
mohon petunjuknya
Barcodenya kan enggak usah disimpan om, yang penting waktu mau cetak barcodenya berdasarkan apa? Misal berdasarkan NIK
ada contoh codingnya nggak om?
kl barcode scanner yang menggunakan LAN ada nggak om,
misal barcode scanner di titik A trs kompinya database di titik B, yg jaraknya sktr 50 meteran..
Mohon pencerahannya om..
Klo yg ginian sy juga belum pernah coba om, coba cek aja biasanya ada sdk dari vendornya
om mohon contoh codingnya untuk barcode…
untuk absensi kl ada atau yang sejenisnya…
intinya bair masuk ke database…
mohon petunjuknya om.
Coding untuk barcodenya kan udah ada diatas om, apa susahnya sih mencoba kode diatas.
Barcode itukan hanya untuk menggantikan entri manual, jadi barcode scanner itu fungsinya lebih kurang seperti keyboard jadi enggak ada kode khusus untuk membaca label barcodenya
om admin di program yg om kasih kok ada yg error y?? di coding ini
“Method or Data member not found”
TBarCode51.Text (INI KAN PICTURE BOX OM)= txtKodeBarcode.Text
TBarCode51.BackStyle = BKS_Transparent (INI JUGA SAMA ERROR OM)
TBarCode51.BCDraw Printer.hDC, Printer.ScaleX(batasKiri, vbCentimeters), Printer.ScaleY(batasAtas, vbCentimeters), Printer.ScaleX(3, vbCentimeters), Printer.ScaleY(1.5, vbCentimeters)
MOHON PENJELASANNYA OM apa ada file2 lain yg dibutuhkan??
thank banget broooo
makasih banget guek butuh banget ma penjelasan ini
Sama-sama om π
link nya diblokir ama 4shared (file ini tidak lagi tersedia karena adanya klaim dari W3C World Wide Web Consortium) minta mirror nya om, terima kasih
Silahkan dicoba lagi π
terima kasih banyak mas, da bisa loh π
Sama2x π
klo mau cetak barcode di activen report gmana om?
om kalo tulisannya lebih dr 1 baris bs g, misalnya di atas barcode ada nama barang, dibawah ada kode barcode, thx
klo pake AR udh ada fitur barcode nya bos…!!!
om admin ane mau tanya ane kan mau print barcode cuma gak manual tapi dari order seandainya ordernya ini dari 1 No_order >1 Qty gmn cara supaya barcode yg tampil sesuai Qty
misal:
No_order
Kode Qty
11111 1
2222 3
ane udah berhasil print barcode langsung dari data order…masalahnya barcode yg ke print smua cuma 1-1..padahal ada No_order yang qty lebih dari 1….need solusinya om admin,,,,tararengkyuuuuuu
Coba om copas kode yg udah dibuat kesini
ane copas aj code 1 form y om, Nih
Private conn As New ADODB.Connection
Private RSDtgBrg As New ADODB.Recordset
Private RSDetailDtgBrg As New ADODB.Recordset
Private Sub BukaDB()
Set conn = New ADODB.Connection
Set RSDtgBrg = New ADODB.Recordset
Set RSDetailDtgBrg = New ADODB.Recordset
conn.Open “provider=microsoft.jet.oledb.4.0;data source=” & FrmLogin.Label3 & “;JET OLEDB:database password=231009”
End Sub
Private Sub DataGrid1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbRightButton Then
PopupMenu mnmenu
End If
End Sub
Sub Form_Activate()
Call BukaDB
Adodc1.ConnectionString = “provider=microsoft.jet.oledb.4.0;data source=” & FrmLogin.Label3 & “;JET OLEDB:database password=231009”
Adodc1.RecordSource = “TblDtgBrg”
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
DataGrid1.Refresh
Text1.SetFocus
End Sub
Sub CetakBarcode()
Dim X As Long
Dim Y As Long
Dim Index As Integer
Dim sgLeft1 As Single
Dim sgleft2 As Single
Dim sgTop As Single
Dim fExit As Boolean
Screen.MousePointer = vbHourglass
DoEvents
Printer.PSet (0, 0), vbWhite
Printer.ScaleMode = vbPixels
sgTop = Printer.ScaleY(2.5, vbCentimeters)
sgLeft1 = Printer.ScaleX(1, vbCentimeters)
While fExit = False
X = 1
While fExit = False And X <= 3
Y = 1
While fExit = False And Y 1 Then
sgTop = sgTop + Printer.ScaleY(3.5, vbCentimeters)
Else
sgTop = Printer.ScaleY(2.5, vbCentimeters)
End If
‘left margin
If X = 1 Then
sgleft2 = Printer.ScaleX(1, vbCentimeters)
ElseIf X = 2 Then
sgleft2 = sgLeft1 + Printer.ScaleX(6.79, vbCentimeters)
Else
sgleft2 = sgLeft1 + Printer.ScaleX(6.64, vbCentimeters)
End If
If Not ((Index + 1) > lstDaftarBarcode.ListCount) Then
TBarCode51.Text = lstDaftarBarcode.List(Index)
TBarCode51.BackStyle = BKS_Transparent
TBarCode51.BCDraw Printer.hDC, sgleft2, sgTop, Printer.ScaleX(4.4, vbCentimeters), Printer.ScaleY(1, vbCentimeters)
End If
If (Index + 1) > lstDaftarBarcode.ListCount Then
fExit = True
Else
Index = Index + 1
End If
Y = Y + 1
Wend
sgLeft1 = sgleft2
X = X + 1
Wend
If Not fExit Then
Printer.NewPage
sgTop = Printer.ScaleY(2, vbCentimeters)
sgLeft1 = Printer.ScaleX(1.5, vbCentimeters)
End If
Wend
Printer.EndDoc
Screen.MousePointer = vbDefault
Unload Me
End Sub
Private Sub mnbarcode_Click()
Call BukaDB
RSDetailDtgBrg.Open “select * from TblDetailDtgBrg where NoFaktur='” & Adodc1.Recordset!NoFaktur & “‘”, conn
Do While Not RSDetailDtgBrg.EOF
lstDaftarBarcode.AddItem RSDetailDtgBrg!KdBrg
RSDetailDtgBrg.MoveNext
Loop
Call CetakBarcode
End Sub
Private Sub mnbatal_Click()
Dim HapusSQL As String
Dim HapusSQL2 As String
HapusSQL = “delete from TblDtgBrg where NoFaktur='” & Adodc1.Recordset!NoFaktur & “‘”
conn.Execute HapusSQL
HapusSQL2 = “delete from TblDetailDtgBrg where NoFaktur='” & Adodc1.Recordset!NoFaktur & “‘”
conn.Execute HapusSQL2
Form_Activate
End Sub
Private Sub mnprint_Click()
RSDtgBrg.Open “TblDtgBrg”, conn
CR.Password = “231009” & Chr(10) & “231009”
CR.SelectionFormula = “{TblDetailDtgBrg.NoFaktur}='” & Adodc1.Recordset!NoFaktur & “‘”
CR.ReportFileName = FrmLogin.Label4 & “\DtgBrg.rpt”
CR.WindowShowPrintBtn = True
CR.WindowShowPrintSetupBtn = True
CR.WindowShowRefreshBtn = True
CR.WindowState = crptMaximized
CR.RetrieveDataFiles
CR.Action = 1
RSDtgBrg.Close
End Sub
Private Sub Text1_keypress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
RSDtgBrg.Open “TblDtgBrg”, conn
If RSDtgBrg.EOF Then
MsgBox “Nomer Faktur tidak ditemukan, periksa kembali nomer Faktur yang anda masukkan”, vbInformation, “Informasi”
Else
CR.SelectionFormula = “{TblDetailDtgBrg.NoFaktur}='” & Adodc1.Recordset!NoFaktur & “‘”
CR.ReportFileName = FrmLogin.Label4 & “\DtgBrg.rpt”
CR.WindowState = crptMaximized
CR.RetrieveDataFiles
CR.Action = 1
End If
RSDtgBrg.Close
End If
End Sub
Sy belum sempat nyoba tapi mungkin beberapa revisi kode berikut bisa ngasih pencencerahan :
Revisi 1 :
Kemudian utk revisi kode cetaknya silahkan dicek sendiri :D, terutama utk nilai posisi margin kiri dan kanannya
SUPEKTAKULERRRRRR,,,,,,,,,,,,,jalan om,,,luar biasa si om admin ini,,,,top markotop lah,,,,,semoga ilmunya makin berkah gan,,,
masih ada yang error om,,,hehehe,,,di record pertama selalu cetak 1 Qty tapi record selanjutnya sih OK! garuk2…kenapa y om,,,
nah itu asyiknya jd programmer :-D, silahkan di oprek sendiri π
om ane punya maslah di active report saat buat kartu siswa
Emg masalahnya apa om ?
saya udah nyoba programnya om,,,, tapi ada error pada TBarCode51 . Ini componen apa ya om?
ini penampakanya om
m.facebook.com/photo.php?fbid=634978333197656&id=100000564847475&set=gm.10151454738046439&relevant_count=1&refid=18
asslamulaikum mas cara mengunakan MZ tools gmana cara nya bwt apa MZ tool digunakan
MZ tools digunakan untuk meningkatkan produktivitas coding, udah pernah saya bahas disini.
klw menggunakan vb.net ghi mana om admin
klw menggunakan font barcode bisa gak..??
Belum pernah nyoba sih om, komponen di atas masih bisa di pake kom om utk VB .NET
mas, minta source code diatas di ubah ke vb.net dong, maklum masih newbie.makasih
D’oh sedih banget klo melihat semangat calon programmer muda kita seperti ini π₯
Semangatnya kurang, sy juga pernah berstatus newbie, tp tidak pernah menggunakan status ini agar dikasihani dan minta dibuatkan kode program.
Tunjukan dulu sejauh mana usaha om untuk menyelesaikan PR om sendiri, klo udah mentok baru bertanya.
udah mas, tapi vb 6 sama vb.net berbeda, dan masih banyak yang error karna mungkin beda variable atau apa gitu, kalo ga salah beda penamaannya mas antara vb.net dan vb 6
pada tulisan tbr barcode itu error atau biasa saya bilang kriting, dan penamaan screen.mouse printer saya tidak tahu untuk penamaan di vb.net
penamaan vbwhite, printer,tbr, vbpixels,bks_transparent, vbdefault, saya sudah coba otak, atik tetep error mas, mohon pencerahannya
Sy pernah konversi kode di atas tp ke C#, klo buat referensi sy rasa cukup.
Kode di atas membutuhkan library Microsoft Visual Basic Power Packs 3.0
misi om admin , sya msih newbie nih di vbnya,. sya mw tanya tntang coding nih om,.klo coding bwt bkin form yg akan muncul apabila tanggal akhir izin dari suatu barang kurang dari 3 bulan mau habis, itu gmn yahh om…moga aja om mau bantu..soalnya saaya bneran ga bisa om.please
What have you tried ?
om admin knp ya kalo hasil dari perintah
TBarCode51.Text = txtKodeBarcode.Text
trus di kasih methode PrintForm hasilnya gak bisa di baca sm barcode reader?
trims…
Klo hasil printnya ke kertas kebaca enggak om ?
kalo saya pake cara om diatas hasilnya kebaca oleh barcode reader tetapi kalo saya gunakan komponen tersebut di project lain dengan satu textbox sebagai tempat input data dan satu command untuk tombol print dengan kode
TBarCode51.Text = text1.Text
PrintForm
hasilnya tercetak ke printer tetapi tidak terbaca oleh barcode reader… kira – kira kenapa ya om?
trims… π
Coba deh saya lihat kodenya om gimana ?
om mau tanya, ini buatnya dari vb 2008 ya?
Bukan pake VB 6
kalo pake vb 2008 hampir sama gak ya om?
mau nanya dong gan, gimana koding untuk kode barang ga bisa di input 2 kali..
contoh: ketika kita input pertama kode barang KD001 dan nama barang meja trus di simpan, lalu kita ketik untuk kedua kali dengan kode barang yang sama KD001 dan nama barangnya beda kursi ketika kita simpan tidak bisa dan muncul pesan ” dengan kode barang KD001 sudah ada”
Mohon pencerahannya dong gan.. makasih..
Alurnya sederhana kok om :
coding untuk text ke qrcode gimana gan?
Kan ada pilihan barcode typenya, tinggal set nilainya menjadi QR-Code
om admin aq mau tanya belajar cetak ke printer dimana alamat web nya kalau bisa yang pake crystal report jadi begitu diklik command cetak dia akan ngeprint lgsg tnpa melihat laporan kalau bisa bls di email didikcoklat@gmail.com