Home > Visual Basic > Cara mudah mencetak kode barcode

Cara mudah mencetak kode barcode

November 13, 2010

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 πŸ™‚

  1. himlan
    February 7, 2011 at 5:27 am

    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?

    • February 7, 2011 at 5:31 am

      Itu pada saat design ya om ? klo iya ngaturnya dari menu Format -> Lock Controls

  2. himlan
    February 7, 2011 at 8:30 am

    iya…
    oia dah aku coba td dan berhasil…
    thx u banget ya..

  3. afdoal
    April 29, 2011 at 11:08 am

    “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 πŸ˜€ )

  4. afdoal
    May 2, 2011 at 9:04 am

    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??

    • May 2, 2011 at 9:07 am

      Pake Addin MZ-Tools om, sudah ada fitur untuk menambahkan header module/class.

  5. July 2, 2011 at 3:22 pm

    maksudnya posisi 1, 2, dst… itu kalau scenner di dekatin ma kodenya itu muncul otomatis di textbox.nya y mas?

    • July 3, 2011 at 12:14 am

      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

  6. Gilang
    September 19, 2011 at 1:32 am

    klo komponen ini selain barcode juga bisa di tambahin Label Harga n Nama Barang gmana y om caranya???

  7. EKO
    September 19, 2011 at 1:33 am

    klo komponen ini selain barcode juga bisa di tambahin Label Harga n Nama Barang gmana y om caranya???

    • September 19, 2011 at 8:31 am

      Klo fitur seperti itu komponennya belum mendukung

  8. oromsira
    November 19, 2011 at 2:46 am

    gan..
    misal ane mau buat absensi menggunakan barcode?
    agar bisa masuk ke database bagaimana bos?

    mohon petunjuknya

    • November 21, 2011 at 4:07 am

      Barcodenya kan enggak usah disimpan om, yang penting waktu mau cetak barcodenya berdasarkan apa? Misal berdasarkan NIK

  9. oromsira
    November 23, 2011 at 12:54 am

    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..

    • November 23, 2011 at 8:35 am

      Klo yg ginian sy juga belum pernah coba om, coba cek aja biasanya ada sdk dari vendornya

  10. oromsira
    November 25, 2011 at 3:21 am

    om mohon contoh codingnya untuk barcode…
    untuk absensi kl ada atau yang sejenisnya…
    intinya bair masuk ke database…

    mohon petunjuknya om.

  11. November 25, 2011 at 6:36 am

    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

  12. kvee
    January 11, 2012 at 9:40 am

    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??

  13. empie
    March 21, 2012 at 7:48 pm

    thank banget broooo
    makasih banget guek butuh banget ma penjelasan ini

    • March 22, 2012 at 10:54 am

      Sama-sama om πŸ™‚

  14. Balqis
    April 11, 2012 at 8:49 am

    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

    • April 11, 2012 at 9:05 am

      Silahkan dicoba lagi πŸ˜€

  15. Balqis
    April 13, 2012 at 3:13 pm

    terima kasih banyak mas, da bisa loh πŸ™‚

  16. April 13, 2012 at 3:32 pm

    Sama2x πŸ™‚

  17. cde
    September 21, 2012 at 10:02 am

    klo mau cetak barcode di activen report gmana om?

  18. Balqis
    September 23, 2012 at 6:42 am

    om kalo tulisannya lebih dr 1 baris bs g, misalnya di atas barcode ada nama barang, dibawah ada kode barcode, thx

  19. anita wati
    February 12, 2013 at 12:29 am

    klo pake AR udh ada fitur barcode nya bos…!!!

  20. April 10, 2013 at 3:00 pm

    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

    • April 10, 2013 at 3:50 pm

      Coba om copas kode yg udah dibuat kesini

      • April 10, 2013 at 4:10 pm

        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

        • April 10, 2013 at 4:32 pm

          Sy belum sempat nyoba tapi mungkin beberapa revisi kode berikut bisa ngasih pencencerahan :

          Revisi 1 :

          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
                  
                  ' tambahkan kode berikut
                  lstDaftarBarcode.ItemData(lstDaftarBarcode.NewIndex) = RSDetailDtgBrg!Qty
                  RSDetailDtgBrg.MoveNext
              Loop
              Call CetakBarcode
          End Sub
          

          Kemudian utk revisi kode cetaknya silahkan dicek sendiri :D, terutama utk nilai posisi margin kiri dan kanannya

          Private Sub CetakBarcode()
              Dim i           As Long
              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
                                  
                                  ' lakukan perulangan sebanyak item Qtnya
                                  For i = 1 To lstDaftarBarcode.ItemData(Index)
                                  
                                      '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
                              
                                      TBarCode51.Text = lstDaftarBarcode.List(Index)
                                      TBarCode51.BackStyle = BKS_Transparent
                                      TBarCode51.BCDraw Printer.hDC, sgleft2, sgTop, Printer.ScaleX(4.4, vbCentimeters), Printer.ScaleY(1, vbCentimeters)
                                  Next i
                              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
          
          • April 10, 2013 at 4:47 pm

            SUPEKTAKULERRRRRR,,,,,,,,,,,,,jalan om,,,luar biasa si om admin ini,,,,top markotop lah,,,,,semoga ilmunya makin berkah gan,,,

          • April 10, 2013 at 4:50 pm

            masih ada yang error om,,,hehehe,,,di record pertama selalu cetak 1 Qty tapi record selanjutnya sih OK! garuk2…kenapa y om,,,

            • April 10, 2013 at 5:05 pm

              nah itu asyiknya jd programmer :-D, silahkan di oprek sendiri πŸ™‚

              • June 15, 2013 at 9:02 am

                om ane punya maslah di active report saat buat kartu siswa

                • June 24, 2013 at 3:21 pm

                  Emg masalahnya apa om ?

  21. Ahmad Zuhri
    June 10, 2013 at 11:43 am

    saya udah nyoba programnya om,,,, tapi ada error pada TBarCode51 . Ini componen apa ya om?

  22. June 17, 2013 at 1:32 pm

    ini penampakanya om
    m.facebook.com/photo.php?fbid=634978333197656&id=100000564847475&set=gm.10151454738046439&relevant_count=1&refid=18

  23. danz
    June 20, 2013 at 11:24 am

    asslamulaikum mas cara mengunakan MZ tools gmana cara nya bwt apa MZ tool digunakan

    • June 24, 2013 at 1:46 pm

      MZ tools digunakan untuk meningkatkan produktivitas coding, udah pernah saya bahas disini.

  24. ronald
    July 5, 2013 at 9:16 pm

    klw menggunakan vb.net ghi mana om admin
    klw menggunakan font barcode bisa gak..??

    • July 6, 2013 at 9:40 am

      Belum pernah nyoba sih om, komponen di atas masih bisa di pake kom om utk VB .NET

  25. muhammad rizqi
    October 29, 2013 at 6:24 am

    mas, minta source code diatas di ubah ke vb.net dong, maklum masih newbie.makasih

    • October 29, 2013 at 9:21 am

      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.

      • muhammad rizqi
        October 30, 2013 at 8:03 am

        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

        • muhammad rizqi
          October 30, 2013 at 8:05 am

          pada tulisan tbr barcode itu error atau biasa saya bilang kriting, dan penamaan screen.mouse printer saya tidak tahu untuk penamaan di vb.net

          • muhammad rizqi
            October 30, 2013 at 8:10 am

            penamaan vbwhite, printer,tbr, vbpixels,bks_transparent, vbdefault, saya sudah coba otak, atik tetep error mas, mohon pencerahannya

            • October 30, 2013 at 9:02 am

              Sy pernah konversi kode di atas tp ke C#, klo buat referensi sy rasa cukup.

              using Microsoft.VisualBasic.PowerPacks.Printing.Compatibility.VB6;
              using System.Drawing.Printing;
              
              namespace TBarCode51
              {
                  public partial class Form1 : Form
                  {
              
                      private List<CheckBox> listCheckBox = new List<CheckBox>();
                      private PrintDocument printDoc = new PrintDocument();
              
                      public Form1()
                      {
                          InitializeComponent();
              
                          listCheckBox.Add(posisi1);
                          listCheckBox.Add(posisi2);
                          listCheckBox.Add(posisi3);
                          listCheckBox.Add(posisi4);
                          listCheckBox.Add(posisi5);
                          listCheckBox.Add(posisi6);
                          listCheckBox.Add(posisi7);
                          listCheckBox.Add(posisi8);
                          listCheckBox.Add(posisi9);
                          listCheckBox.Add(posisi10);
                          listCheckBox.Add(posisi11);
                          listCheckBox.Add(posisi12);
              
                          printDoc.PrintPage += new PrintPageEventHandler(PrintPageEvent);
                      }
              
                      private void CetakBarcode(string printText, IntPtr hDc)
                      {
                          float batasKiri = 0;
                          float batasAtas = 2.5f;
                          
                          float lebarBarcode = 3;
                          float tinggiBarcode = 0.97f;
              
                          int posisi = 0;
              
                          Printer printerBarcode = new Printer();
              
                          printerBarcode.PSet(0, 0, System.Drawing.ColorTranslator.ToOle(Color.White));
                          printerBarcode.ScaleMode = 3; //vbPixels
              
                          while (posisi < 12)
                          {
                              if (listCheckBox[posisi].Checked)
                              {
                                  if (posisi >= 0 && posisi <= 3)
                                  {
                                      batasKiri = 1;
                                  }
                                  else if (posisi >= 4 && posisi <= 7)
                                  {
                                      batasKiri = 7.8f;
                                  }
                                  else
                                  {
                                      batasKiri = 14.4f;
                                  }
              
                                  switch (posisi)
                                  {
                                      case 0:
                                      case 4:
                                      case 8:
                                          batasAtas = 2.5f;
                                          break;
              
                                      case 1:
                                      case 5:
                                      case 9:
                                          batasAtas = 6;
                                          break;
              
                                      case 2:
                                      case 6:
                                      case 10:
                                          batasAtas = 9.5f;
                                          break;
              
                                      case 3:
                                      case 7:
                                      case 11:
                                          batasAtas = 13;
                                          break;
                                  }
              
                                  TBarCode51.Text = printText;
                                  TBarCode51.BackStyle = TBARCODE5Lib.tagBKStyle.BKS_Transparent;
              
                                  const int centimeters = 7;
                                  TBarCode51.BCDraw((int)hDc, (int)printerBarcode.ScaleX(batasKiri, centimeters, -1), (int)printerBarcode.ScaleY(batasAtas, centimeters, -1), (int)printerBarcode.ScaleX(lebarBarcode, centimeters, -1), (int)printerBarcode.ScaleY(tinggiBarcode, centimeters, -1));
                              }
              
                              posisi++;
                          }
                      }
                      
                      private void PrintPageEvent(object sender, PrintPageEventArgs e)
                      {
                          IntPtr hDc = e.Graphics.GetHdc();
              
                          CetakBarcode(txtBarcode.Text, hDc);
                          e.Graphics.ReleaseHdc(hDc);
                      }
              
                      private void btnCetak_Click(object sender, EventArgs e)
                      {
                          printDoc.Print();
                      }
                  }
              }
              

              Kode di atas membutuhkan library Microsoft Visual Basic Power Packs 3.0

  26. Rachmat
    November 1, 2013 at 8:54 am

    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

  27. November 2, 2013 at 11:52 am
  28. salam jaya
    December 3, 2013 at 3:09 pm

    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…

    • December 23, 2013 at 1:59 pm

      Klo hasil printnya ke kertas kebaca enggak om ?

      • salam jaya
        January 6, 2014 at 8:36 pm

        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… πŸ˜€

        • January 7, 2014 at 12:35 pm

          Coba deh saya lihat kodenya om gimana ?

  29. sarah
    January 22, 2014 at 1:07 pm

    om mau tanya, ini buatnya dari vb 2008 ya?

    • January 22, 2014 at 3:48 pm

      Bukan pake VB 6

  30. sarah
    February 2, 2014 at 8:11 pm

    kalo pake vb 2008 hampir sama gak ya om?

  31. EBen
    March 27, 2014 at 2:44 pm

    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..

    • March 27, 2014 at 2:56 pm

      Alurnya sederhana kok om :

      Private Sub cmdSimpan_Click()
          ' cek kode barang sudah ada di database atau belum
          sql = "SELECT COUNT(*) " & _
                "FROM barang " & _
                "WHERE kode_barang = '" & txtKodeBarang.Text & "'"
          
          ' TODO : eksekusi perintah sql di atas kemudian nilainya disimpan ke dalam variabel misal dg nama rowCout
          
          ' cek variabel rowCout, jika nilainya > 0 berarti kode barang sudah ada
          If rowCout > 0 Then
              ' tampilkan pesan
              MsgBox "Barang dengan kode barang " & txtKodeBarang.Text & " sudah ada", vbExclamation, "Peringatan"
              Exit Sub
          End If
          
          ' klo kode barang belum ada
          ' TODO : panggil perintah simpan
      End Sub
      
      • yogi
        April 14, 2014 at 3:40 pm

        coding untuk text ke qrcode gimana gan?

        • April 15, 2014 at 8:42 am

          Kan ada pilihan barcode typenya, tinggal set nilainya menjadi QR-Code

  32. coklat
    May 5, 2014 at 1:55 am

    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

  1. April 16, 2014 at 9:13 am
Comments are closed.