Langsung ke konten utama

Postingan

How can I prevent the user from closing a form?

To prevent the user from closing a form you need to disable the close button in the title bar of a form and at the same time disable the "Close" menu item in the form's system menu. This is done by calling the EnableMenuItem API function (see the example below). To prevent the user from closing a form you need to disable the close button in the title bar of a form and at the same time disable the "Close" menu item in the form's system menu. This is done by calling the EnableMenuItem API function (see the example below). Nonetheless, the user can still close the form using the Alt+F4 key combination, so we have to set the KeyPreview form property to True and write an event handler for the OnKeyDown event to cancel out this hot key: procedure TForm1.FormCreate(Sender: TObject); var hSysMenu: HMENU; begin hSysMenu := GetSystemMenu(Self.Handle, False); if hSysMenu <> 0 then begin EnableMenuItem(hSysMenu, SC_CLOSE, MF_BYCOMMAND Or MF_GRA...

FreeVCS Menu Disappears On Delphi 7. How to Fix It?

Obviously Borland introduced no serious changes in the VCS interface, therefore the current FreeVCS IDE version seems to work without problems. Obviously Borland introduced no serious changes in the VCS interface, therefore the current FreeVCS IDE version seems to work without problems. Of course the actual setup program offers no option to set registry keys for the D6/D7 IDE but you can simply create the related entry by yourself: - Create a new reg key "HKCU\Software\Borland\Delphi\6.0(or 7.0)\Version Control". (Remember the space between 'Version' and 'Control') - Create a new string value named "VCSManager". (No space between 'VCS' and 'Manager') - Enter full path and name of the FreeVCS DLL. (Example : c: C:\Program Files\FreeVCS\freevcs.dll) Restart the D6/D7 IDE and the FreeVCS Menu should be there... There is only one known problem related to D6/D7 for now: On some installations you may see the...

Menghitung Lama Procedure/Function Dieksekusi

Untuk Mengetahui berapa lama waktu yang dibutuhkan untuk mengeksekusi suatu procedure bisa kita gunakan function GetTickCount. Apa fungsi GetTickCuunt? Baca sendiri helpnya ya, ini sudah saya copy-kan : Untuk Mengetahui berapa lama waktu yang dibutuhkan untuk mengeksekusi suatu procedure bisa kita gunakan function GetTickCount. Apa fungsi GetTickCuunt? Baca sendiri helpnya ya, ini sudah saya copy-kan : Retrieves the number of milliseconds that have elapsed since the system was started, up to 49.7 days. Bagaimana cara menggunakannya? Simple saja, yang harus kita lakukan hanya mencatat return value dari function GetTickCount sesaat sebalum procedure dieksekusi dan sesudahnya. Kemudian kita selisihkan hasilnya. Oya jangan lupa, hasil selisihnya adalah dalam satuan milliseconds , jika kita mengehendaki hailnya dalam satuan detik tinggal kita bagi dengan 1000. Lebih jelasnya silahkan algoritma berikut ini iAwal := GetTickCount; Eksekusi Procedure; iAkhir := GetTickCount; ...

Berkenalan Dengan OOP

OOP Kependekan dari Object Oriented Programming merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. OOP Kependekan dari Object Oriented Programming merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. Sebagai langkah awal untuk mempelajari OOP,berikut istilah - istilah yang akan banyak kita jumpai dalam belajar OOP * Kelas Kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-defini...

Merubah Enter Menjadi Tab

Kadang, user menginginkan ketika dia klik ENTER maka kursor akan berpindah ke componet berikutnya. Ada beberapa cara, antar lain memakai coponent EnterAsTab (Silahkan Googling). Kadang, user menginginkan ketika dia klik ENTER maka kursor akan berpindah ke componet berikutnya. Ada beberapa cara, antar lain memakai coponent EnterAsTab (Silahkan Googling). Jika kita tidak bisa menemukan component tersebut, kita bisa akali sebagai berikut : Di method FormKeyDown tuliskan Script Berikut if Key = VK_RETURN then begin SelectNext(ActiveControl,True,True); end; Jangan lupa untuk mengeset properties KeyPreview dari form menjadi TRUE. Sebenarnya untuk component StringGrid ketika Enter harus pindah ke cell berkutnya, script di atas belum bisa , ada yang bisa menambahkan ? :) Selamat Mencoba

Membuat Form Yang Seragam

Kadang, kita dituntut untuk membuat aplikasi yang semua formnya mempunya component yang sama. Hal ini akan sangat melelahkann jika kita harus menempatkan semua component tersebut di tiap-tiap form. Kadang, kita dituntut untuk membuat aplikasi yang semua formnya mempunya component yang sama. Hal ini akan sangat melelahkann jika kita harus menempatkan semua component tersebut di tiap-tiap form. Dengan pemahaman OOP yang dasar saja, sebenarnya kita bisa mengakali kasus di atas, caranya dengan menerapkan konsep inheritance. Yang harus kita lakukan adalah : 1. Buat Form Default (form ini nanti yang menjadi pola bagifrom2 lain) 2. Klik Menu File > New > Other 3. Pilih tab project kita 4. Cari from default tadi, klik OK 5. Simpan dengan nama lain. Nah, kita sudah medapatkan form baru yang sama persis dengan from default. Jika ad perubahan di form default, maka otomatis form turunannya akan ikut berubah. Selamat Mencoba

About Delphi Gurus

Blog ini saya maksudkan untuk menuliskan uneg-uneg saya berkenaan dengan pemrograman delphi. Di sini saya akan mencoba menulis pengalaman saya selama +/- lima tahun berkutat dengan delphi.