Visual FoxPro
Visual FoxPro
Visual FoxPro
Visual FoxPro
Konsep dasar pembuatan program berorientasi object adalah :
Windows Command :
Membuat Database dan Tabel : Membuat Database dan Tabel : Membuat Database dan Tabel : Membuat Database dan Tabel :
Pada jendela project pilih tab
Data
, clickDatabase
selanjutnya clickNew
. Untuk membuat tabel clickTables
selanjutnya click
New
atau jika menginginkan tabel bebas tidak dalam sebuah database pilihFree Tables
selanjutnyaMelengkapi Form dengan program dan prosedur :
Mebuat Grid
Pilih Icon Grid, buat grid seperti pada gambar di atas, kemudian click kanan pada grid dan pilih builder, sehingga tampak tampilan seperti di bawah ini :
Kemudian pilih database dan tabelnya, dan selanjutnya pilih field-field apa saja yang akan ditampilkan pada grid, OK untuk mengakhirinya.
Membuat Prosedur
Pilih menu Form, pilih New Method, selanjutnya akan tampak tampilan seperti di bawah ini :
Untuk mengisi prosedur dengan program cari nama prosedur pada properties form paling bawah,
Textbox
OptionGroup
Command
Memilih Event
Memilih event yang akan dipakai disesuaikan dengan kebutuhan program yang akan dijalankan pada masing event, baik pada textbox, commandbutton, grid dan lain-lainnya.
Event-event yang sering dipakai :
Form : Load, Unload, Activate, Init
Textbox : Setfocus, Lostfocus, Gotfocus
Commandbutton : Click
Dari form di atas kita lengkapi dengan program dari event pada form dan prosedur-prosedur yang dibuat sendiri, sebagai berikut :
Form1-Load close all set talk off set dele on clear public pil
use hmti_data!anggota set order to anggotax Form1-UnLoad Close data all Form1-Avtivate thisform.aktif(.f.,.f.,.f.,.f.,.f.,.f.,.f.) thisform.tombol(.t.,.t.,.t.,.t.,.t.,.f.,.t.,.t.,.t.,.f.,.t.) thisform.baca_data() thisform.cg2.c5.setfocus() Prosedur-Aktif para a1,a2,a3,a4,a5,a6,a7 with thisform .t1.enabled=a1 .t2.enabled=a2 .t3.enabled=a3 .t4.enabled=a4 .t5.enabled=a5 .t6.enabled=a6 .t7.enabled=a7 endwith Prosedur-Tombol para t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11 with thisform .cg1.c1.enabled=t1 .cg1.c2.enabled=t2 .cg1.c3.enabled=t3 .cg1.c4.enabled=t4 .cg2.c5.enabled=t5 .cg2.c6.enabled=t6 .cg2.c7.enabled=t7 .cg2.c8.enabled=t8 .cg2.c9.enabled=t8 .cg2.c10.enabled=t10 .cg2.c11.enabled=t11 endwith
T3-Gotfocus
if thisform.t2.value=" "
messagebox("NIM harus diisi",0+16,"Peringatan") thisform.t2.setfocus() return endi if pil=1 mcari=uppe(thisform.t2.value) seek mcari if found()
messagebox("NIM sudah ada",48,"Ulangi") thisform.t2.value=space(14) thisform.t2.setfocus() endi endif C1-Click go top thisform.baca_data() thisform.refresh() C2-Click skip -1 if bof() go top endif thisform.baca_data() thisform.refresh() C3-Click skip if eof() go bott endif thisform.baca_data() thisform.refresh() C4-Click Go bott thisform.baca_data() thisform.refresh() C5-Click pil=1 thisform.aktif(.f.,.t.,.t.,.t.,.t.,.t.,.t.) thisform.tombol(.f.,.f.,.f.,.f.,.f.,.t.,.f.,.f.,.f.,.t.,.f.) thisform.kosong() thisform.no_urut() thisform.t2.setfocus() C6-Click if empty (thisform.t2.value)
messagebox("NIM harus diisi",0+16,"Peringatan") thisform.t3.enabled=.f.
if pil=1
appen blank endif
repl no_form with thisform.t1.value repl nim with thisform.t2.value repl nama with thisform.t3.value repl alamat with thisform.t4.value repl kota with thisform.t5.value repl phone with thisform.t6.value repl jen_kel with thisform.t7.value thisform.refresh() thisform.tombol(.t.,.t.,.t.,.t.,.t.,.f.,.f.,.f.,.f.,.t.,.f.) thisform.aktif(.f.,.f.,.f.,.f.,.f.,.f.,.f.) thisform.cg2.c5.setfocus() C7-Click pil=2 thisform.tombol(.f.,.f.,.f.,.f.,.f.,.t.,.f.,.f.,.f.,.t.,.f.) thisform.aktif(.f.,.f.,.t.,.t.,.t.,.t.,.t.) thisform.t3.setfocus() C8-Click
kdtom=messagebox("Yakin menghapus Record ini ?",4+64,"Konfirmasi") if kdtom=7 recall else dele endif thisform.refresh() go top thisform.baca_data() C10-Click thisform.aktif(.f.,.f.,.f.,.f.,.f.,.f.,.f.) thisform.tombol(.t.,.t.,.t.,.t.,.t.,.f.,.t.,.t.,.t.,.f.,.t.) C11-Click thisform.release() Form1-No_Urut if reccount()=0 thisform.t1.value='0000001' else go bott nop=val(no_form)+1 nos=ltrim(str(nop)) pj=len(nos) thisform.t1.value=left('0000000',7-pj)+nos endif
Membuat Laporan
Dari jendela project pilih document, report, akan tampak tampilan sebagai berikut :
Kemudian pilih new untuk membuat report baru, selanjutnya pilih report wizard yang diikuti dengan pemilihan nama database dan nama tabel, serta field apa yang akan ditampilkan, tampak tampilan dibawah ini:
Untuk pilihan-pilihan selanjutnya sesuaikan dengan kebutuhan laporan yang diinginkan, seperti bentuk laporan, urut berdasarkan apa, bentuk kertas landscape atau portrait, sampai pada pilihan terakhir yaitu finish dan beri nama file report terus click SAVE.
Untuk memperbaiki dan mendesain supaya lebih baik, pada jendela project, document, report, pilih nama report dan click modify.
Membuat Variabel dan Rumus Pada Report
Sebagai contoh untuk membuat tampilan “Laki-laki dan Perempuan” pada jenis kelamin, setelah memberi nama variabel dalam hal ini namanya “jenis” pada value to store diisikan perintah sebagai berikut :
iif( anggota.jen_kel=1,"Laki-laki","Perempuan")
Sebagai contoh lagi untuk membuat nomor urut, nama variabelnya “nom” pada value to store diisikan perintah sebagai berikut : nom+1
Kemudian untuk memasukkan field atau variabel ke dalam report, pilih icon field pada toolbar, apabila icon field belum ada aktifkan toolbar pada menu view, toolbar, report control.
Membuat Menu
Pilih menu other pada project, kemudian clik new, menu akan tampak tampilan sebagai berikut :
Selanjutnya tinggal mengisi menu-menu apa yang akan dibuat, jika masing-masing menu mempunyai submenu, pilih result submenu untuk menambahkan submenunya, untuk mengeksekusi sebuah form atau report pilih result command, jika sebuah menu berisi perintah-perintah atau program, pilih result procedure. Sebagai contoh mengeksekusi form anggota:
Do form fanggota.scx Mengeksekusi laporan anggota :
Report form langgota.frx preview Contoh untuk prosedure, pada menu exit :
kdtom=messagebox("Yakin Keluar dari System ?",4+16,"Konfirmasi") if kdtom=6 close all clea all release all clea events endif
Setelah menu selesai dibuat, pada menu view pilih generate, dan pilih option top level form, karena menu ini akan dipanggil dan ditempelkan pada form utama sebagai pengendali form-form yang lain, akan tampak tampilan seperti di bawah ini :
Selanjutnya pilih option menu, generate dan menyimpan file menu, menu1.mnx¸ terus di generate menjadi file menu1.mpr.
Langkah selanjutnya adalah membuat program pada jendela project, code, programnya sebagai berikut : set talk off
set centu on set date ital set dele on close all clea prog
do form fmenu.scx read events
Langkah terakhir adalam membuat form FMENU untuk memanggil menu yang telah kita buat, event yang digunakan adalah INIT :
Form1.Init
do menu1.mpr with this,.t.
Untuk menjalankan menu pada jendela project, code, program, pilih file program kemudian pilin RUN, atau dijalankan dari form FMENU.SCX.
Yang perlu diperhatikan :
Pada FMENU.SCX rubah properties SHOWWINDOWS menjadi 2 – AS Top Level, karena akan dijalankan pada TOP LEVEL, sedang untuk form-form lainnya, properties SHOWWINDOWS menjadi 1 – In Top Level, karena akan dijalankan di dalam TOP LEVEL, menempel pada form utama.
Membentuk File EXE
Pada jendela project, code, program, file program dirubah set menjadi SET MAIN pada menu project, set main, selanjutnya pada jendela project, code click BUILD, akan tampak tampilan sebagai berikut :
Membuat File Setup