Tutorial Membuat Class di Foxpro

Ok kali ini, saya akan memberi pencerahan sedikit tentang membuat class, Opss apa sih class itu?class itu merupakan kumpulan atau group atribut/informasi dari sebuah object, yaa dengan class ini kita bisa membuat sebuah object yg terstruktur atau yg dibilang orang OOP, Foxpro Udah OOP sejak versi 3 klo ga salah ingat, foxprolah pertama kali memakai OOP diantara pesaingnya dulu VB6 dan Delphi, Ok berikut pencerahannya membuat class sederhana

1. Open Project Manager, pilih tab Class, dan clik New

Screenshot_1

2. Pada Kotak Dialog New Class terdapat Class Name, Base On dan Store In, Class Name adalah Nama Classnya , Base On adalah Object yg ingin dibuat, misal ingin membuat Object textbox, pilih di comboboxnya cari Textbox sedangkan Store In adalah Wadah/tempat Object disimpan dalam class yg mana typenya adalah *.vcx, file inilah nantinya akan kita pakai, Ok saya akan membuat Class Form, yg mana class form ini akan saya jadikan template untuk New Form nanti,

Screenshot_2

kemudian klik Save dan Ok pada kotak dialog New Class.

3. Naa muncul form, yaa sama seperti form biasanya (New Form) bisa dikasih Method dan Property juga, hanya saja kita tidak memakai script thisform tp this , hanya itu perbedaan sedikitnya. Oke kita bikin sebuah Method baru, klik class pada menubar pilih New method, Naa pada kotak dialog New Method ada terdapat Visibility yang isinya adalah Public,Protected dan Hidden , Public artinya bisa digunakan secara global (didalam object), Protected boleh dibilang sama kaya Read Only sedangkan Hidden yaa namanya juga hidden pastinya disembunyikan he, Ok kita bikin Method oConnect gunakan visibility Public, perhatikan aja gambar dibawah ini

Screenshot_8

kemudian klik Add & Close, selanjutnya bikin Property dengan visibility Hidden,dengan masing masing nama oDriver,oServer,oDatabase,oUsername,oPassword 

4. Ok selanjutkan dobel klik pada form kosong, cari Procedure oConnect dan tulis scriptnya seperti ini


PARAMETERS DriverName,ServerName,DatabaseName,cUsername,cPassword

this.oDriver=DriverName
this.oServer=ServerName
this.oDatabase=DatabaseName
this.oUsername=cUsername
this.oPassword=cPassword

lcDnsLess="Driver={"+this.oDriver+"};";
 +"Server="+this.oServer+";";
 +"Database="+this.oDatabase+";";
 +"User="+this.oUsername+";";
 +"Pwd="+this.oPassword+";"

this.lcConnHandle=Sqlstringconnect(lcDnsLess)
If this.lcConnHandle<0
 Aerror(laerror)
 Messagebox(laerror[1,2],0,' ')
 EXIT
ENDIF

Ok save dan close aja

5. untuk memastikan kebenaran koding ini Yuu setting Tamplate Formnya, pertama pilih Tool > Options > Pilih tab Form > Tamplate Class kita pilih Form aja checklist dan Browse tempat kita menyimpan class tadi file *.vcx

Screenshot_6

Ok save , selanjutkan bikin Form baru dan drag commandbotton dan ketik scirpi seperti gambar dibawah ini

Screenshot_5

Perhatikan method dalam class form tadi, munculkan J , kemudian Run

Screenshot_9

Tingting Sukses kan😀 he, scriptnya jadi sederhana kan😀

6. Selanjutnya kita bikin untuk save dan browse ok sama seperti langkah 3, bikin method visibility Public dengan nama oSqlQuery (untuk mengisi perintah insert ) dan oGrid (untuk Browse ke dalam grid) , Upss sebelumnya kita hapus dulu pesan Konek di method oConnect

method oSqlQuery


Parameters paramCommandSql,cCursor
lcDnsLess="Driver={"+This.oDriver+"};";
 +"Server="+This.oServer+";";
 +"Database="+This.oDatabase+";";
 +"User="+This.oUsername+";";
 +"Pwd="+This.oPassword+";"

This.lcConnHandle=Sqlstringconnect(lcDnsLess)
If This.lcConnHandle<0
 Aerror(laerror)
 Messagebox(laerror[1,2],0,' ')
 Exit
Endif

If This.lcConnHandle >0
 If Empty(cCursor)
 lnr=SQLExec(This.lcConnHandle,paramCommandSql)
 If lnr<0
 Messagebox('Gagal Update ke database ',0+48)
 Endif

 Else
 lnr=SQLExec(This.lcConnHandle,paramCommandSql,cCursor)
 If lnr<0
 Messagebox('Gagal Update ke database ',0+48)
 Endif
 Endif

Else
 Messagebox('Gagal Query')
Endif
=SQLDisconnect(This.lcConnHandle)

method oGrid

PARAMETERS oNamegrid,oRecordSource

this.&oNameGrid..recordsourceType=1
this.&oNameGrid..recordsource=oRecordSource
this.&oNameGrid..Refresh()

7. modify form tadi, desain seperti gambar berikut

Screenshot_10

untuk scriptnya

Form.Init

thisform.oConnect("MYSQL ODBC 5.1 Driver","localhost","dataku","root","toor")
thisform.oSqlQuery("Select nip,nama from pegawai","cPeg")
thisform.oGrid("grid1","cpeg")

Tombol Save.Click

lcNip=ALLTRIM(thisform.text1.Value)
lcNama=ALLTRIM(thisform.text2.Value)
TEXT TO lcsql NOSHOW TEXTMERGE PRETEXT 7
INSERT INTO pegawai(nip,nama)
value(?lcNip,?lcNama)
ENDTEXT
thisform.oSqlQuery(lcsql)
thisform.oSqlQuery("Select nip,nama from pegawai","cpeg")
thisform.oGrid("grid1","cpeg")
 

Ok coba di run

Screenshot_7

Tukan sukses, bikinnya mudah aja ga butuh banyak waktu, malah dengan membuat class akan mempersingkat waktu devlop aplikasi kita😀, Ok semoga paham aja yaa klo ga paham yaa Tanya ke Google hihi

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: