Penggunaan class untuk contoh sederhana memang kurang tampak bedanya, tetapi coba refvi perhatikan potongan kode berikut untuk mengerti penggunaan oop (class module) dalam vb 6:
Dim cExcel As cls_Excel
Dim rs As ADODB.Recordset
InitRecordSet rs, "sp_someProcedure", False
Set cExcel = New cls_Excel
With cExcel
.Company = GetSetup("CompName")
.Title = Me.Caption
.ReportDate = Date
Set .Recordset = rs
.ExportRStoExcel
End With
DoEvents
Destroy rs
Set cExcel = Nothing
yang perlu diperhatikan adalah object cExcel yang saya buat dari class
cls_Excel.
class cls_Excel adalah class module dalam vb6, berisi property dan
methode. untuk cExcel, RefVi bisa liat dia punya property company,
title, reportdate dan (object) recordset:
With cExcel
.Company = GetSetup("CompName")
.Title = Me.Caption
.ReportDate = Date
Set .Recordset = rs
End With
Sedang dia punya methode adalah exportrstoexcel:
With cExcel
.ExportRStoExcel
End With
Jadi class ini saya gunakan untuk mengexport suatu object recordset ke
dalam file excel yang formatnya sudah tertentu, dengan menggunakan
method exportrstoexcel.
Saya bisa gunakan object class ini dalam satu module untuk dua file
excel misalnya, yang masing2 diwakili oleh dua object cls_excel yang
berbeda, atau bisa juga satu object yang dipake berkali-kali.
Saya bisa gunakan juga object class ini di modul2 lain, seperti halnya
saya membuat object recordset di setiap module form yang
menggunakannya.
Perbedaannya dengan module biasa, letaknya adalah property dan
methode. Class module memiliki property, sedang module biasa tidak
punya, sehingga untuk menjalankan fungsi yang sama, module biasa
membutuhkan passing parameter seperti yang refvi beri contoh.
Nah selengkapnya apa yang dipunyai oleh object cls_excel bisa dilihat
pada contoh attachment cls_excel.bas yang saya sertakan. class ini
juga bisa tinggal anda pakai.
Aksan Kurdin
On 3/5/08, refvi chandra <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
>
> Dear vb mania,
>
> Ada yang tau gak beda Class Module dengan Module..?
> Ada yang tau kapan dan Kenapa kita butuh Class Module dibanding Module...
>
> karena selama ini saya cenderung pake Module saja, belum pernah pake Class
> Module, kalaupun pake... itu juga Copy Paste...:P
>
> ada yg bilang kalo pake Class Module itu reusable.., tapi menurut saya Module
> juga reusable... CMIIW
>
> trus ada yg bilang Class Module itu efisien dan optimizing code..., tapi
> menurut saya Module juga efisien dan salah satu upaya optimizing code
> juga...CMIIW
>
> contoh Module:
> Public Sub SetRS(rsName As ADODB.Recordset, StrRSTmp As String)
> ' On Error GoTo Err_SetRS
> Set rsName = New ADODB.Recordset
> Set
> rsName.ActiveConne rRSTmp,
> ConData, adOpenStatic, adLockOptimistic
> Exit Sub
>
> Err_SetRS:
>
> If rsName.State = adStateOpen Then rsName.Close
> Set rsName = Nothing
> End Sub
>
> naahh... pada saat penggunaan di form kita cukup seperti ini aja
>
> Setrs rsTable, "Select * From Karyawan"
>
> jadi cukup singkat bukan...?... CMIIW
>
> yaaa.... kalo saya sih.. taunya seperti itu...
> mungkin teman2 ada yg lebih paham dan kalau tidak keberatan.., mohon
> dijelaskan lagi soal pentingnya Class Module pada VB
>
> Regards,
>
>
>
>
>
>
>
> ________________________________
Looking for last minute shopping deals? Find them fast with Yahoo! Search.
>
>
>
>
--
Aksan Kurdin
cls_Excel.cls
Description: Binary data
