Wednesday, May 24, 2006

Show Open Dialog using Windows API

Dalam VB6 fungsi yang paling sering digunakan adalah Open File Dialog. Nah selain menggunakan menu manager yang terinstall di dalam VB, kita juga bisa langsung menggunakan Function yang telah ada pada Windows API. Untuk coding lengkapnya bisa di lihat di bawah ini :
'------------------------------------
Option Explicit
Private Const OFN_ALLOWMULTISELECT = &H200
Private Const OFN_EXPLORER = &H80000
Private Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type

Private Declare Function GetOpenFileName Lib "comdlg32.dll" _
Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long

Public Function BukaFileDlg(ByRef FileResult() As String, ByVal MultiSelect As Boolean, _
Optional ByVal DialogTitle As String = "", Optional ByVal FileFilter As String = "", _
Optional ByVal InitDir As String = "") As Boolean
Dim oFn As OPENFILENAME
Dim Stat As Long
Dim DefFilter As String
Dim Result As String
Dim ResultDir As String
Dim ResultFile As String
Dim ArrTmp() As String
Dim EndPos As Integer
Dim i As Integer
On Error GoTo errBukaFileDlg
'Preparing Dialog Environment
DefFilter = "All Files (*.*)" & Chr(0) "*.*"
If Len(FileFilter) > 0 Then DefFilter = FileFilter

oFn.lStructSize = Len(oFn)
oFn.hwndOwner = Form1.hWnd
oFn.hInstance = App.hInstance
oFn.lpstrFilter = DefFilter
oFn.lpstrFile = String$(1024, 0)
oFn.nMaxFile = 255
oFn.lpstrFileTitle = oFn.lpstrFile
oFn.nMaxFileTitle = oFn.nMaxFile
oFn.lpstrInitialDir = InitDir
oFn.lpstrTitle = DialogTitle
If MultiSelect Then
oFn.flags = OFN_ALLOWMULTISELECT Or OFN_EXPLORER
Else
oFn.flags = 0
End If
Stat = GetOpenFileName(oFn)
'Exit when Cancel Pressed
If Stat = 0 Then
BukaFileDlg = False
Exit Function
End If
BukaFileDlg = True
'Proccesing Output file into Array
Result = oFn.lpstrFile
ResultDir = Mid(Result, 1, oFn.nFileOffset - 1)
EndPos = InStr(oFn.lpstrFile, Chr$(0) & Chr$(0)) - 1
If EndPos <>
EndPos = Len(Result)
End If
ResultFile = Mid((Result), oFn.nFileOffset + 1, EndPos - oFn.nFileOffset)
ArrTmp = Split(ResultFile, vbNullChar)
For i = 0 To UBound(ArrTmp)
ArrTmp(i) = ResultDir & "\" & ArrTmp(i)
Next i
FileResult = ArrTmp
Exit Function
errBukaFileDlg:
BukaFileDlg = False
MsgBox Err.Number & "-" Err.Description, vbCritical, DialogTitle
End Function
'------------------------------
Mudah bukan?? Any questions are very welcome. :)

Wednesday, April 05, 2006

Operator Telepon

Waktu saya masih amat kecil, ayah sudah memiliki telepon di rumah kami. Inilah telepon masa awal, warnanya hitam, di tempelkan di dinding, dan kalau mau menghubungi operator, kita harus memutar sebuah putaran dan minta disambungkan dengan nomor telepon lain. Sang operator akan menghubungkan secara manual. Dalam waktu singkat, saya menemukan bahwa , kalau putaran di putar , sebuah suara yang ramah, manis, akan berkata : "Operator " Dan si operator ini maha tahu. Ia tahu semua nomor telepon orang lain. Ia tahu nomor telepon restoran, rumah sakit, bahkan nomor telepon toko kue di ujung kota.

Pengalaman pertama dengan sang operator terjadi waktu tidak ada seorangpun dirumah, dan jempol kiri saya terjepit pintu. Saya berputar putar kesakitan dan memasukkan jempol ini kedalam mulut tatakala saya ingat ....operator!! Segera saya putar bidai pemutar dan menanti suaranya.
"Disini operator..."
"Jempol saya kejepit pintu..." kata saya sambil menangis .
Kini emosi bisa meluap, karena ada yang mendengarkan.
"Apakah ibumu ada di rumah ? " tanyanya.
"Tidak ada orang "
"Apakah jempolmu berdarah ?"
"Tidak , cuma warnanya merah, dan sakiiit sekali "
"Bisakah kamu membuka lemari es ?" tanyanya.
"Bisa, naik di bangku "
"Ambillah sepotong es dan tempelkan pada jempolmu..."
Sejak saat itu saya selalu menelpon operator kalau perlu sesuatu. Waktu tidak bisa menjawab pertanyaan ilmu bumi, apa nama ibu kota sebuah Negara, tanya tentang matematik. Ia juga menjelaskan bahwa tupai yang saya tangkap untuk dijadikan binatang peliharaan , makannya kacang atau buah. Suatu hari, burung peliharaan saya mati. Saya telpon sang operator dan melaporkan berita duka cita ini. Ia mendengarkan semua keluhan, kemudian mengutarakan kata kata hiburan yang biasa diutarakan orang dewasa untuk anak kecil yang sedang sedih. Tapi rasa belasungkawa saya terlalu besar. Saya tanya : " Kenapa burung yang pintar menyanyi dan menimbulkan sukacita sekarang tergeletak tidak bergerak di kandangnya ?"
Ia berkata pelan : "Karena ia sekarang menyanyi di dunia lain..." Kata-kata ini (ngga tau bagaimana) menenangkan saya.
Lain kali saya telpon dia lagi. "Disini operator", "Bagaimana mengeja kata kukuruyuk?"

Kejadian ini berlangsung sampai saya berusia 9 tahun. Kami sekeluarga kemudian pindah kota lain. Saya sangat kehilangan " Disini operator." Saya tumbuh jadi remaja, kemudian anak muda, dan kenangan masa kecil selalu saya nikmati. Betapa sabarnya wanita ini. Betapa penuh pengertian dan mau meladeni anak kecil.
Beberapa tahun kemudian, saat jadi mahasiswa, saya studi trip ke kota asal. Segera sesudah saya tiba, saya menelpon kantor telepon, dan minta bagian "operator",
"Disini operator." Suara yang sama. Ramah tamah yang sama.
Saya tanya : "Bisa ngga eja kata kukuruyuk." Hening sebentar.
Kemudian ada pertanyaan : "Jempolmu yang kejepit pintu sudah sembuh kan ?"
Saya tertawa. "Itu Anda.... Wah waktu berlalu begitu cepat ya."

Saya terangkan juga betapa saya berterima kasih untuk semua pembicaraan waktu masih kecil. Saya selalu menikmatinya.
Ia berkata serius : "Saya yang menikmati pembicaraan dengan mu. Saya selalu menunggu nunggu kau menelpon."

Saya ceritakan bahwa , ia menempati tempat khusus di hati saya. Saya bertanya apa lain kali boleh menelponnya lagi.
"Tentu, nama saya Saly."


Tiga bulan kemudian saya balik ke kota asal. Telpon operator. Suara yang sangat beda dan asing. Saya minta bicara dengan operator yang namanya Saly. Suara itu bertanya "Apa Anda temannya?"
"Ya teman sangat lama"
"Maaf untuk kabarkan hal ini, Saly beberapa tahun terakhir bekerja paruh waktu karena sakit sakitan. Ia meninggal lima minggu yang lalu..."
Sebelum saya meletakkan telepon, tiba tiba suara itu bertanya : "Maaf, apakah Anda bernama Paul ?"
"Ya"
"Saly meninggalkan sebuah pesan buat Anda. Dia menulisnya di atas sepotong kertas, sebentar ya....."
Ia kemudian membacakan pesan Saly :
" Bilang pada Paul, bahwa IA SEKARANG MENYANYI DI DUNIA LAIN... Paul akan mengerti kata kata ini...."
Saya meletakkan gagang telepon. Saya tahu apa yang Saly maksudkan.
Jangan sekali sekali mengabaikan, bagaimana Anda menyentuh hidup orang lain!!

Monday, March 27, 2006

Love and Marriage (Cinta dan Pernikahan)

Satu hari, Plato bertanya pada gurunya, "Apa itu cinta? Bagaimana saya bisa menemukannya?"
Gurunya menjawab, "Ada ladang gandum yang luas didepan sana. Berjalanlah kamu dan tanpa boleh mundur kembali, kemudian ambillah satu saja ranting. Jika kamu menemukan ranting yang kamu anggap paling menakjubkan, artinya kamu telah menemukan cinta."
Plato pun berjalan, dan tidak seberapa lama, dia kembali dengan tangan kosong, tanpa membawa apapun.
Gurunya bertanya, "Mengapa kamu tidak membawa satupun ranting?"
Plato menjawab, "Aku hanya boleh membawa satu saja, dan saat berjalan tidak boleh mundur kembali (berbalik)."
"Sebenarnya aku telah menemukan yang paling menakjubkan,tapi aku tak tahu apakah ada yang lebih menakjubkan lagi di depan sana, jadi tak kuambil ranting tersebut. Saat kumelanjutkan berjalan lebih jauh lagi, baru kusadari bahwasanya ranting-ranting yang kutemukan kemudian tak sebagus ranting yang tadi, jadi tak kuambil sebatangpun pada akhirnya."
Gurunya kemudian menjawab " Jadi ya itulah cinta."

Di hari yang lain, Plato bertanya lagi pada gurunya, "Apa itu perkawinan? Bagaimana saya bisa menemukannya?"
Gurunya pun menjawab "Ada hutan yang subur didepan saja. Berjalanlah tanpa boleh mundur kembali (menoleh) dan kamu hanya boleh menebang satu pohon saja. Dan tebanglah jika kamu menemukan pohon yang paling tinggi, karena artinya kamu telah menemukan apa itu perkawinan."
Plato pun berjalan, dan tidak seberapa lama, dia kembali dengan membawa pohon. Pohon tersebut bukanlah pohon yang segar/ subur, dan tidak juga terlalu tinggi. Pohon itu biasa-biasa saja.
Gurunya bertanya, "Mengapa kamu memotong pohon yang seperti itu?"
Plato pun menjawab, "sebab berdasarkan pengalamanku sebelumnya, setelah menjelajah hampir setengah hutan, ternyata aku kembali dengan tangan kosong. Jadi dikesempatan ini, aku lihat pohon ini, dan kurasa tidaklah buruk-buruk amat, jadi kuputuskan untuk menebangnya dan membawanya kesini. Aku tidak mau menghilangkan kesempatan untuk mendapatkannya."
Gurunyapun kemudian menjawab, "Dan ya itulah perkawinan"

Cinta itu semakin dicari, maka semakin tidak ditemukan. Cinta adanya di dalam lubuk hati, ketika dapat menahan keinginan dan harapan yang lebih. Ketika pengharapan dan keinginan yang berlebih akan cinta, maka yang didapat adalah kehampaan... tiada sesuatupun yang didapat, dan tidak dapat dimundurkan kembali. Waktu dan masa tidak dapat diputar mundur. Terimalah cinta apa adanya.

Perkawinan adalah kelanjutan dari Cinta. Adalah proses mendapatkan kesempatan, ketika kamu mencari yang terbaik diantara pilihan yang ada, maka akan mengurangi kesempatan untuk mendapatkannya, Ketika kesempurnaan ingin kau dapatkan, maka sia2lah waktumu dalam mendapatkan perkawinan itu, karena, sebenarnya kesempurnaan itu hampa adanya.

Sunday, March 12, 2006

Buah dan Kehidupan

Jadilah Jagung, Jangan Jambu Monyet.
Jagung membungkus bijinya yang banyak, sedangkan jambu monyet memamerkan bijinya yang cuma satu-satunya.
Artinya : Jangan suka pamer

Jadilah pohon Pisang.
Pohon pisang kalau berbuah hanya sekali, lalu mati.
Artinya : Kesetiaan dalam pernikahan.

Jadilah Duren, jangan kedondong
Walaupun luarnya penuh kulit yang tajam, tetapi dalamnya lembut dan manis. hmmmm, beda dengan kedondong, luarnya mulus, rasanya agak asem dan di dalamnya ada biji yang berduri.
Artinya : Don't Judge a Book by The Cover.. jangan menilai orang dari luarnya saja.

Jadilah bengkoang.
Walaupun hidup di dalam tanah yang kotor, tetapi umbinya isinya putih bersih.
Artinya : Jagalah hati jangan kau nodai.

Jadilah Tandan Pete, bukan Tandan Rambutan.
Tandan pete membagi makanan sama rata ke biji petenya, semua seimbang, tidak seperti rambutan.. ada yang kecil ada yang gede.
Artinya : Selalu adil dalam bersikap.

Jadilah Cabe.
Makin tua makin pedas.
Artinya : Makin tua makin bijaksana.

Jadilah Buah Manggis
Bisa ditebak isinya dari pantat buahnya.
Artinya : Jangan Munafik

Jadilah Buah Nangka
Selain buahnya, nangka memberi getah kepada penjual atau yg memakannya.
Artinya : Berikan kesan kepada semua orang (tentunya yg baik).

Tuesday, February 28, 2006

Rencana Allah Pasti Indah

Ketika aku masih kecil, waktu itu ibuku sedang menyulam sehelai kain. Aku yang sedang bermain di lantai, melihat ke atas dan bertanya, apa yang ia lakukan. Ia menerangkan bahwa ia sedang menyulam sesuatu di atas sehelai kain. Tetapi aku memberitahu kepadanya, bahwa yang kulihat dari bawah adalah benang ruwet. Ibu dengan tersenyum memandangiku dan berkata dengan lembut:"Anakku,lanjutkanlah permainanmu, sementara ibu menyelesaikan sulaman ini, nanti setelah selesai, kamu akan kupanggil dan kududukkan di atas pangkuan ibu dan kamu dapat melihat sulaman ini dari atas." Aku heran, mengapa ibu menggunakan benang hitam dan putih, begitu semrawut menurut pandanganku.

Beberapa saat kemudian, aku mendengar suara ibu memanggil, "Anakku, mari kesini, dan duduklah di pangkuan ibu." Waktu aku lakukan itu, aku heran dan kagum melihat bunga-bunga yang indah,dengan latar belakang pemandangan matahari yang sedang terbit, sungguh indah sekali. Aku hampir tidak percaya melihatnya, karena dari bawah yang aku lihat hanyalah benang-benang yang ruwet. Kemudian ibu berkata, "Anakku, dari bawah memang nampak ruwet dan kacau,tetapi engkau tidak menyadari bahwa di atas kain ini sudah ada gambar yang direncanakan, sebuah pola, ibu hanya mengikutinya. Sekarang, dengan melihatnya dari atas kamu dapat melihat keindahan dari apa yang ibu lakukan.

Sering selama bertahun-tahun, aku melihat ke atas dan bertanya kepada Allah, "Allah, apa yang Engkau lakukan?" Ia menjawab : " Aku sedang menyulam kehidupanmu." Dan aku membantah," Tetapi nampaknya hidup ini ruwet, benang-benangnya banyak yang hitam, mengapa tidak semuanya memakai warna yang cerah?" Kemudian Allah menjawab, "Hambaku, kamu teruskan pekerjaanmu, dan Aku juga menyelesaikan pekerjaanKu di bumi ini. Satu saat nanti Aku akan memanggilmu ke sorga dan mendudukkan kamu di pangkuanKu, dan kamu akan melihat rencanaKu yang indah dari sisiKu."

"Subhanallah...Beruntunglah orang2 yang mampu menjaring ayat indah Allah dari keruwetan hidup di dunia ini. Semoga Allah berkenan menumbuhkan kesabaran dan mewariskan kearifan dalam hati hamba-Nya agar dapat memaknai kejadian 2 dalam perjalanan hidupnya, seruwet apapun itu. Amin....

Subhanallah, tulisan ini benar-benar membuka pikiran kita bahwa Allah adalah Dzat Yang maha pengatur segala sesuatu di alam ini. Tulisan ini mengingatkan saya bahwa kendati pun manusia punya keinginan, tetapi Allah mempunyai keputusan yang tak mungkin dapat kita ubah. mari kita senantiasa bertawakkal kepada Nya.