Sabtu, 30 Januari 2016

Integrasi Barcode Reader dengan Delphi

Apa kabar Sobat Delphier? Sudah lama rasanya saya tidak posting di blog ini. Maklum sekarang saya sudah sibuk kerja. hehe. Pada kesempatan minggu pagi ini saya akan mencoba untuk sharing pengalaman terkait bagaimana mengintegrasikan Barcode Reader dengan IDE Delphi. Jadi, buat sobat yang masih bingung terkait cara membaca barcode reader di Delphi, Simak penjelasan berikut ini.
Integrasi Barcode Reader dengan Delphi

Postingan ini saya buat berdasarkan pengalaman pribadi saya ketika membuat sebuah aplikasi penjualan untuk sebuah toko. Sebenarnya awalnya saya juga tidak mengerti tentang konsep atau teknik agar aplikasi yang kita bangun dengan delphi dapat membaca barcode. tapi saya beranikan diri untuk menerima tawaran itu karena waktu itu saya lagi butuh uang. haha

Dan benar saja, Tuhan memang Maha Tahu, seperti kata pepatah "dimana ada kemauan maka disitu ada jalan". ternyata konsep untuk mengintegrasikan Barcode Reader dengan Delphi sangat mudah.

1. Pastikan anda sudah memiliki alatnya. Seperti gambar diatas.

2. Pastikan Barcode Reader Sudah terhubung dengan baik dengan Komputer atau PC anda.

3. Buka Notepad, Silahkan Coba Barcode dengan men-Scan sebuah barcode seperti Barcode yang ada di Bungkus Rokok atau barang-barang lain yang ada disekitar anda.

4. Sampai disini, Barcode Reader akan secara otomatis Mempaste Hasil Scan ke Halaman Notepad. Bagaimana? Sudah ada gambaran?. Kalian masih ada pertanyaan bagaimana mengintegrasikan dengan delphi?

5. Untuk mengintegrasikan dengan Delphi, Kita dapat memanfaatkan komponen TEdit kemudian pada saat TEdit Aktif, Proses scan dilakukan jika proses scan berhasil maka Barcode Reader akan mempaste hasil Scan ke Komponen TEdit. Setelah itu kita dapat memanfaatkan event OnChange milik komponen Edit untuk melakukan pencarian data pada Database atau aksi-aksi lain. contoh code pencarian adalah sebagai berikut

procedure TfPenjualan.Edit5Change(Sender: TObject);
var
stok : integer;
jmll : String;
begin
with DM.QCari do begin
Close;
SQL.Clear;
SQL.Text:='select jml_stok from data_barang where barcode="'+Edit3.Text+'"';
ExecSQL;
Open;
end;
if DM.QCari.RecordCount >=1 then
begin
if Edit5.Text='' then Edit5.Text:='0';
stok := StrToInt(DM.QCari['jml_stok'])-StrToInt(Edit5.Text);
jmll := DM.QCari['jml_stok'];
if stok < 0 then
begin
MessageDlg('Maaf, Stok Barang tidak Mencukupi!'+sLineBreak+'Jumlah Barang Saat Ini '+jmll,mtError,[mbok],0);
Edit5.Text:='0';
Edit5.SetFocus;
end;
end;
end;