Barcode Program

BARCODE saat ini tidak hanya menjadi standar dari perusahaan swlayan saja tetapi sudah menjadi standar semua perusahaan dalam memberikan indentifikasi sesuatu hal baik produk maupun indentitas lainnya .

Minigui exstended support u teknik pemprogaman barcode dan ini adalah CODINGNYA

e <minigui.ch>
#include <miniprint.ch>

FUNCTION main()

DEFINE WINDOW barcode AT 140 , 235 ;
WIDTH 550;
HEIGHT 350;
TITLE “Program Barcode Java Computer System Network”;
ICON NIL;
MAIN

DEFINE LABEL Label_1
ROW 60
COL 30
WIDTH 120
HEIGHT 24
VALUE “Code”
FONTNAME “Arial”
FONTSIZE 9
TOOLTIP “”
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .F.
BACKCOLOR Nil
FONTCOLOR Nil
END LABEL

DEFINE TEXTBOX Text_1
ROW 60
COL 170
WIDTH 120
HEIGHT 24
FONTNAME “Arial”
FONTSIZE 9
TOOLTIP “”
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .T.
VISIBLE .T.
READONLY .F.
RIGHTALIGN .F.
BACKCOLOR Nil
FONTCOLOR Nil
INPUTMASK Nil
FORMAT Nil
VALUE “”
END TEXTBOX

DEFINE LABEL Label_2
ROW 130
COL 30
WIDTH 250
HEIGHT 80
VALUE “”
FONTNAME “Arial”
FONTSIZE 9
TOOLTIP “”
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .F.
BACKCOLOR Nil
FONTCOLOR Nil
END LABEL

DEFINE BUTTON Button_1
ROW 60
COL 320
WIDTH 100
HEIGHT 28
CAPTION “Draw Code”
ACTION play_barcode()
FONTNAME “Arial”
FONTSIZE 9
TOOLTIP “”
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
HELPID Nil
FLAT .F.
TABSTOP .T.
VISIBLE .T.
TRANSPARENT .F.
PICTURE Nil
END BUTTON

DEFINE BUTTON BImprime
ROW 120
COL 320
WIDTH 100
HEIGHT 28
CAPTION “Print”
ACTION ImpBarras()
FONTNAME “Arial”
FONTSIZE 9
TOOLTIP “”
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
HELPID Nil
FLAT .F.
TABSTOP .T.
VISIBLE .T.
TRANSPARENT .F.
PICTURE Nil
END BUTTON

END WINDOW

CENTER WINDOW barcode
ACTIVATE WINDOW barcode

RETURN

FUNCTION Play_Barcode()

AddFont( “PF_I2OF5.TTF” )

setproperty( “barcode” ,”label_2″ ,”value”,  _StrToI2of5( Barcode.Text_1.value ) )
setproperty( “barcode” ,”label_2″ ,”fontname” ,”PF Interleaved 2 of 5″)
setproperty( “barcode” ,”label_2″ ,”fontsize” ,70)
domethod(“barcode” ,”label_2″ ,”refresh” )

RemoveFont(“PF_I2OF5.TTF”)

RETURN

FUNCTION AddFont(font)
#define FR_PRIVATE 0x10
#define FR_NOT_ENUM 0x20
local nRet := AddFontResourceEx( font,FR_PRIVATE+ FR_NOT_ENUM, 0)
RETURN Nil

FUNCTION RemoveFont(font)
#define FR_PRIVATE 0x10
#define FR_NOT_ENUM 0x20
local nRet := RemoveFontResourceEx( font,FR_PRIVATE+ FR_NOT_ENUM, 0)
RETURN Nil

FUNCTION _StrToI2of5(cString)

local cStart, cStop, cRet, cCheck, cCar, nLong, nI, nSum, nAux

cStart := chr(40)
cStop  := chr(41)
cRet   := alltrim(cString)

*— Genero dígito de control
nLong  := len(cRet)
nSum   := 0
nCount := 1
for nI := nLong to 1 step -1
nSum   := nSum + val(substr(cRet,nI,1)) * iif(mod(nCount,2) = 0,1,3)
nCount := nCount + 1
next
nAux  := mod(nSum,10)
cRet  := cRet + alltrim(str(iif(nAux = 0,0,10 – nAux)))
nLong := len(cRet)

*— La longitud debe ser par
if mod(nLong,2) # 0
cRet  := ‘0’ + cRet
nLong := len(cRet)
endif

*— Convierto los pares a caracteres
cCar = ”
for nI := 1 to nLong step 2
if val(subs(cRet,nI,2)) < 50
cCar := cCar + chr(val(subs(cRet,nI,2)) + 48)
else
cCar := cCar + chr(val(subs(cRet,nI,2)) + 142)
endif
next

*— Armo código
cRet := cStart + cCar + cStop

RETURN( cRet )

DECLARE DLL_TYPE_INT AddFontResourceEx ( DLL_TYPE_LPCTSTR lpszFilename, DLL_TYPE_DWORD fl, DLL_TYPE_LPVOID pdv ) IN GDI32.DLL
DECLARE DLL_TYPE_BOOL RemoveFontResourceEx ( DLL_TYPE_LPCTSTR lpFileName, DLL_TYPE_DWORD fl, DLL_TYPE_LPVOID pdv ) IN GDI32.DLL

***************************************
Procedure ImpBarras()
Local  lSuccess,nCant,DibBarras

If Empty (BarCode.Text_1.value)
Msginfo(“Tidak Ada Datanya”)
return
endif

SELECT PRINTER DIALOG TO lSuccess

AddFont( “PF_I2OF5.TTF” )
START PRINTDOC

START PRINTPAGE

dibbarras :=  _StrToI2of5( BarCode.Text_1.value )

@ 20,40 PRINT DibBarras Font “PF Interleaved 2 of 5” Size 45

END PRINTPAGE

END PRINTDOC
RemoveFont(“PF_I2OF5.TTF”)

Return

9 Tanggapan

  1. salam mas
    mas saya sudah copy coding diatas mas
    dan saya compile dg minigui sudah oke
    tetapi
    saya masukan kode yg tampil buka barkode tapi huruf / angka yg saya masukan menjadi besar dengan di ikut awal dan akhir tanda kurung
    mohon pencerahan mas

  2. salam mas
    mas saya sudah copy coding diatas mas
    dan saya compile dg minigui sudah oke
    tetapi
    saya masukan kode yg tampil buka barkode tapi huruf / angka yg saya masukan menjadi besar dengan di ikut awal dan akhir tanda kurung
    mohon pencerahan mas
    Balas

    • Mas Imam , Barcode itu sebenarnya font dan supaya code di atas jalan maka mas imam harus punya jenis font font u barcode .

      Sayangnya font font untuk barcode masih bersifat komersial dan mohon maaf belum bisa share font barcodenya

      oh yaaa mas , share dong codingnya ke aku juga bisa via emal ke priadi_jcsn@yahoo.com

      Makasih

      Supriadi

  3. Ok Mas , hari rabu saya coba email sample font untuk membuat BARCODE , EAN13 yaaa masss , suwun

  4. mas pri
    saya tanya bagaiman mas caranya saya mendapatkan sample font untuk membuat barcode EAN13 ato yg lainnya, agar dapat dijalankan pada
    program barcode diatas mas
    suwun mas

  5. Salam, buat bapak yang terhormat di akun ini. Saya tertarik atas pembahasan program barcode. Saya programmer senior sejak tahun 1987 sampai sekarang dan khususnya Dbase+Clipper5 /Harbour masih under DOS. Salah satu program yg sudah berjalan adalah Retail system dan saya lagi coba pengembangan ke-data input dengan barcode. Dengan senang hati bapak bisa bantu saya thenik /trik program seperti bagaimana cara kombinasi set font ascii nya ke perubahan barcode di printer dot matrix /epson sekeder contoh aja. Mohon kalau disertai coding Dbase/Clipper5. Setelah dan sebelumnya saya ucapkan banyak terima kasih. Salam …………. Di, Cianjur

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

%d blogger menyukai ini: