Ok kawan-kawan sekalian, setelah sekian lama tidak posting. akhirnya ada kesempatan juga untuk
membuat program Aplikasi Penjualan di toko Bangunan karna kebetulan ada yang request. heeee
oke gan karna project masih berjalan nanti saya upload dan berbagi tutornya sekalian...
kebetulan sudah sampai pada tahap pembuatan form untuk pembelian yang saya format menggunakan StringGrid
tampilan dasar untuk form pembelian SBB;
untuk menambah data pembelian pada stringgrid tersebut cukup dengan tekan tombol Enter pada kolom nama barang sehingga akan diantarkan pada form pencarian data
berikut code untuk memanggil form pencarian yang disisipkan pada Stringgrid OnkeyDown
kemudian tinggal pilih pada form pencarian> enter
data loangsung masuk ke String grid yang kemudian bisa di proses sebagai data pembelian.
dan bagi yang tertarik untuk Editing lebih jauh dengan bahasa delphi, silahkan download source codenya dengan klink link dibawah ini
mohon maaf sedang ada maintenance: bisa requst via comentar
perlengkapan yang dibutuhkan untuk menjalankan
1. Database Mysql
2. Xampp untuk Mysql Servernya
3. Delphi 7 jika hendak melihat Coding nya
tapi bagi agan yang hanya hendak menggunakan saja tanpa melihat codingnya cukup Mysql dan Xampp
Program Penjualan dengan database Mysql ini saya olah dengan Navy Cat (ada backup an yang siap untuk di Restore). bagi yang belum punya, silahkan download
Program Jual Beli di Toko bangunan V.10
untuk source code dalam bahasa delphi silahkan requst ke alamat email:
delphi.programku@gmail.com
password : nuestzone
membuat program Aplikasi Penjualan di toko Bangunan karna kebetulan ada yang request. heeee
oke gan karna project masih berjalan nanti saya upload dan berbagi tutornya sekalian...
kebetulan sudah sampai pada tahap pembuatan form untuk pembelian yang saya format menggunakan StringGrid
tampilan dasar untuk form pembelian SBB;
- berikut code untuk membuat tampilan judul atau nama kolom stringgrid pada saat from beli di create
procedure Tfbeli.FormCreate(Sender: TObject);
beginsg.Cells[0,0]:='No';
sg.Cells[1,0]:='Kode barang';
sg.Cells[2,0]:='Nama barang';
sg.Cells[3,0]:='Jenis Barang';
sg.Cells[4,0]:='Satuan';
sg.Cells[5,0]:='Jumlah beli';
sg.Cells[6,0]:='Harga beli';
sg.Cells[7,0]:='Harga Jual';
sg.Cells[8,0]:='Sub Total Beli';
end;
- kemudian untuk mengatur lebar kolom pada Stringgrid bisa digunakan Coding sbb:
procedure Tfbeli.tblebarClick(Sender: TObject);
var lebarF,lebaSG:real;a,b,c,d,e,f,g,h:integer;
begin
lebarF:=fbeli.Width;
a:=round(8/100*lebarF);
b:=round(20/100*lebarF);
c:=round(13/100*lebarF);
d:=round(10/100*lebarF);
e:=round(8/100*lebarF);
f:=round(11/100*lebarF);
g:=round(11/100*lebarF);
h:=round(13/100*lebarF);
sg.ColWidths[1]:=a;sg.ColWidths[2]:=b;sg.ColWidths[3]:=c;
sg.ColWidths[4]:=d;sg.ColWidths[5]:=e;sg.ColWidths[6]:=f;
sg.ColWidths[7]:=g;sg.ColWidths[8]:=h;
end;
var lebarF,lebaSG:real;a,b,c,d,e,f,g,h:integer;
begin
lebarF:=fbeli.Width;
a:=round(8/100*lebarF);
b:=round(20/100*lebarF);
c:=round(13/100*lebarF);
d:=round(10/100*lebarF);
e:=round(8/100*lebarF);
f:=round(11/100*lebarF);
g:=round(11/100*lebarF);
h:=round(13/100*lebarF);
sg.ColWidths[1]:=a;sg.ColWidths[2]:=b;sg.ColWidths[3]:=c;
sg.ColWidths[4]:=d;sg.ColWidths[5]:=e;sg.ColWidths[6]:=f;
sg.ColWidths[7]:=g;sg.ColWidths[8]:=h;
end;
lebar kolom ini diatau pada sebuah tombol/button, kemudian button tersebut dipanggil pada saaat form di create.
berikut adalah hasilnya saat aplikasi di compileuntuk menambah data pembelian pada stringgrid tersebut cukup dengan tekan tombol Enter pada kolom nama barang sehingga akan diantarkan pada form pencarian data
berikut code untuk memanggil form pencarian yang disisipkan pada Stringgrid OnkeyDown
procedure Tfbeli.sgKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var i,pRawal:integer; var a:string;
begin
if(ssctrl in Shift)and(chr(Key)in['S','s']) OR (ssctrl in Shift)and(chr(Key)in[#13])then
begin btsimpanClick(Sender);
exit;
end;
if(ssctrl in Shift)and(chr(Key)in['B','b']) OR (ssctrl in Shift)and(chr(Key)in[#13])then
begin
btbatalClick(Sender);
exit;
end;
if key=vk_tab then
begin
if (sg.Col=sg.ColCount-1)and(sg.Row=sg.RowCount-1) then btHapus.SetFocus;
end;
if key=vk_down then
begin
if (sg.Row=sg.RowCount-1) then bttbbarisClick(Sender);
end;
if key=vk_delete then
begin
btHapusClick(Sender);
end;
if key=vk_return then
begin
if sg.Col=1 then
begin
if sg.Cells[1,sg.Row]='' then exit;
a:=sg.Cells[1,sg.Row];
pRawal:=sg.Row; //cek jika ada data sama
for i:=0 to sg.RowCount-1 do
begin
if i<>pRawal then
begin
if a=sg.Cells[1,i] then
begin
sg.Cells[5,i]:=FloatToStr(StrToFloat(sg.Cells[5,i])+1);
sg.Cells[1,prawal]:='';
sg.Cells[8,i]:=FormatUang(FloatToStr( StrToFloat(clearF(sg.Cells[5,i]))* StrToFloat(clearF(sg.Cells[6,i]))));
exit;
Break;
end;
end;
end; // end cek
if cari('select * from barang where kd_brg='+ QuotedStr(sg.Cells[sg.Col,sg.row]))>0 then
begin
sg.Cells[1,sg.Row]:=futama.addscari['kd_brg'];
sg.Cells[2,sg.Row]:=futama.addscari['nm_brg'];
sg.Cells[3,sg.Row]:=futama.addscari['jenis'];
sg.Cells[4,sg.Row]:=futama.addscari['sat'];
sg.Cells[5,sg.Row]:='1';
sg.Cells[6,sg.Row]:=FormatUang(futama.addscari['hrg_beli']);
sg.Cells[7,sg.Row]:=FormatUang(futama.addscari['hrg_jual']);
sg.Cells[8,sg.Row]:=FormatUang(futama.addscari['hrg_beli']);
if sg.Row=sg.RowCount-1 then
sg.RowCount:=sg.RowCount+1;
sg.Row:=sg.Row+1;
end
else // jika kolom 0 tidak diketemukan kode yang sesuai maka
begin
if MessageDlg('Kode Barang tidak ditemukan'+#13+ 'Tambahkan Data Baru ?',mtInformation,[mbYes]+[mbno],0)=mryes then
begin
if fbarangin=nil then fbarangIn:=TfbarangIn.Create(Application);
fbarangin.Edit2.Text:='';
fbarangin.Edit3.Text:='0';
fbarangin.Edit4.Text:='0';
fbarangin.Edit5.Text:='';
fbarangin.Edit6.Text:='0';
fbarangin.ComboBox1.Text:='';
fbarangin.ComboBox2.Text:='';
fbarangIn.Edit1.Text:=sg.Cells[sg.Col,sg.row];
fbarangIn.ShowModal;
end;
end;
end
else
if (sg.Col=2)or (sg.col=3) then
begin
if fcaribarang=nil then fcaribarang:=tfcaribarang.Create(Application);
fcaribarang.pcontrol.Caption:='fbeli';
fcaribarang.Edit1.Text:=sg.Cells[sg.Col,sg.row];
fcaribarang.ShowModal;
end
else exit;
end;
end;
var i,pRawal:integer; var a:string;
begin
if(ssctrl in Shift)and(chr(Key)in['S','s']) OR (ssctrl in Shift)and(chr(Key)in[#13])then
begin btsimpanClick(Sender);
exit;
end;
if(ssctrl in Shift)and(chr(Key)in['B','b']) OR (ssctrl in Shift)and(chr(Key)in[#13])then
begin
btbatalClick(Sender);
exit;
end;
if key=vk_tab then
begin
if (sg.Col=sg.ColCount-1)and(sg.Row=sg.RowCount-1) then btHapus.SetFocus;
end;
if key=vk_down then
begin
if (sg.Row=sg.RowCount-1) then bttbbarisClick(Sender);
end;
if key=vk_delete then
begin
btHapusClick(Sender);
end;
if key=vk_return then
begin
if sg.Col=1 then
begin
if sg.Cells[1,sg.Row]='' then exit;
a:=sg.Cells[1,sg.Row];
pRawal:=sg.Row; //cek jika ada data sama
for i:=0 to sg.RowCount-1 do
begin
if i<>pRawal then
begin
if a=sg.Cells[1,i] then
begin
sg.Cells[5,i]:=FloatToStr(StrToFloat(sg.Cells[5,i])+1);
sg.Cells[1,prawal]:='';
sg.Cells[8,i]:=FormatUang(FloatToStr( StrToFloat(clearF(sg.Cells[5,i]))* StrToFloat(clearF(sg.Cells[6,i]))));
exit;
Break;
end;
end;
end; // end cek
if cari('select * from barang where kd_brg='+ QuotedStr(sg.Cells[sg.Col,sg.row]))>0 then
begin
sg.Cells[1,sg.Row]:=futama.addscari['kd_brg'];
sg.Cells[2,sg.Row]:=futama.addscari['nm_brg'];
sg.Cells[3,sg.Row]:=futama.addscari['jenis'];
sg.Cells[4,sg.Row]:=futama.addscari['sat'];
sg.Cells[5,sg.Row]:='1';
sg.Cells[6,sg.Row]:=FormatUang(futama.addscari['hrg_beli']);
sg.Cells[7,sg.Row]:=FormatUang(futama.addscari['hrg_jual']);
sg.Cells[8,sg.Row]:=FormatUang(futama.addscari['hrg_beli']);
if sg.Row=sg.RowCount-1 then
sg.RowCount:=sg.RowCount+1;
sg.Row:=sg.Row+1;
end
else // jika kolom 0 tidak diketemukan kode yang sesuai maka
begin
if MessageDlg('Kode Barang tidak ditemukan'+#13+ 'Tambahkan Data Baru ?',mtInformation,[mbYes]+[mbno],0)=mryes then
begin
if fbarangin=nil then fbarangIn:=TfbarangIn.Create(Application);
fbarangin.Edit2.Text:='';
fbarangin.Edit3.Text:='0';
fbarangin.Edit4.Text:='0';
fbarangin.Edit5.Text:='';
fbarangin.Edit6.Text:='0';
fbarangin.ComboBox1.Text:='';
fbarangin.ComboBox2.Text:='';
fbarangIn.Edit1.Text:=sg.Cells[sg.Col,sg.row];
fbarangIn.ShowModal;
end;
end;
end
else
if (sg.Col=2)or (sg.col=3) then
begin
if fcaribarang=nil then fcaribarang:=tfcaribarang.Create(Application);
fcaribarang.pcontrol.Caption:='fbeli';
fcaribarang.Edit1.Text:=sg.Cells[sg.Col,sg.row];
fcaribarang.ShowModal;
end
else exit;
end;
end;
waw, sangat panjang ya? heeeee
ups iya karna coding diatas memiliki beberapa fungsi yang digunakan untuk mengatur beberapa tombol seperti
- Tombol CTRL + S atau CTRL+ENTER untuk menyimpan / memproses Pembelian
- Tombol CTRL + B untuk membatalkan transaksi
- tombol Navigasi panah ke bawah untuk menambah baris baru pada Stringgrid
- tombol delete untuk menghapus baris data pada Stringgrid
- tombol Enter untuk memanggil form pencarian dll
berikut hasilnya saat pada kolom ke 2dan kolom ketiga ditekan Enter
data loangsung masuk ke String grid yang kemudian bisa di proses sebagai data pembelian.
dan bagi yang tertarik untuk Editing lebih jauh dengan bahasa delphi, silahkan download source codenya dengan klink link dibawah ini
mohon maaf sedang ada maintenance: bisa requst via comentar
perlengkapan yang dibutuhkan untuk menjalankan
1. Database Mysql
2. Xampp untuk Mysql Servernya
3. Delphi 7 jika hendak melihat Coding nya
tapi bagi agan yang hanya hendak menggunakan saja tanpa melihat codingnya cukup Mysql dan Xampp
Program Penjualan dengan database Mysql ini saya olah dengan Navy Cat (ada backup an yang siap untuk di Restore). bagi yang belum punya, silahkan download
Program Jual Beli di Toko bangunan V.10
untuk source code dalam bahasa delphi silahkan requst ke alamat email:
delphi.programku@gmail.com
password : nuestzone