Delphi Deep Exploration-Database-Hapus Kontrol ActiveX
Fungsi pengembangan basis data yang kuat tidak diragukan lagi merupakan keunggulan Delphi. Setidaknya 80% orang menggunakan Delphi untuk mengembangkan program basis data setiap hari. Berdasarkan kontrol basis data VCL blok penyusun, serta kontrol jelas basis data pihak ketiga yang kuat yang disediakan oleh perusahaan seperti Dev ExPRess dan Woll2Woll, tidak berlebihan untuk mengatakan bahwa kita hanya perlu mengatur properti dan menyeret mouse a beberapa kali untuk menyelesaikan database dengan sangat cepat. Karena fungsi database Delphi terlalu kuat, banyak orang mengabaikan fakta bahwa ActiveX juga dapat menyediakan pengikatan database yang fleksibel. Sayangnya, tidak satupun dari beberapa kontrol ActiveX pihak ketiga yang disediakan oleh Delphi sendiri merupakan kontrol database, yang secara tidak langsung menyebabkan kesalahpahaman , menyebabkan banyak orang salah mengira bahwa Delphi tidak mendukung kontrol ActiveX dengan data yang jelas (termasuk saya sejak lama). Hal ini tentu saja merupakan pandangan yang salah. Menggunakan kontrol ActiveX penghapusan data di Delphi Dalam contoh berikut, kita akan menggunakan kontrol Microsoft Calendar 9.0 yang terinstal di sistem dengan Office 2000 untuk demonstrasi. Pilih Komponen |. Impor Kontrol ActiveX, pilih Microsoft Calendar 9.0 (lihat Gambar 1.12 di bawah), ubah nama kelas dari TCalendar menjadi TAXCalendar untuk menghindari konflik dengan kontrol asli dengan nama yang sama di sistem, lalu klik tombol Instal untuk menginstal ini kontrol.
Buat program baru dan tempatkan kontrol TAXCalendar pada formulir. Letakkan kontrol Sumber Data dan Tabel lainnya. Atur Dataset dari DataSource ke Table1, lalu atur properti DataBaseName dari Table1 ke DBDEMOS, properti TableName ke EMPLOYEE.DB, dan terakhir atur properti Table1.Active ke True. Selanjutnya, saatnya untuk mengikat database. Perhatikan bahwa TAXCalendar yang diperkenalkan memiliki dua properti, DataSource dan DataBindings, yang berbeda dari kontrol ActiveX umum. Hal ini karena ActiveX Import Wizard terlebih dahulu menentukan apakah kontrol tersebut ramah database sebelum diperkenalkan kontrol ActiveX. Jika demikian, gunakan TDBoleControl sebagai kelas dasar untuk mewarisi. TDBoleControl mengimplementasikan properti DataBindings dan DataSource. Atur properti AXCalendar1.DataSource ke Datasource1. Saat ini, jika kita mengklik kanan kontrol TAXCalendar pada formulir, kita akan menemukan item menu DataBindings... tambahan di menu klik kanan (lihat Gambar 1.13 di bawah).
Setelah mengklik item menu, kotak edit atribut pengikatan data akan ditampilkan (lihat Gambar 1.14 di bawah). Pilih HireDate di kotak daftar FieldName, pilih Nilai (12) di kotak daftar Nama Properti (12 adalah nomor Dispid Nilai), dan klik tombol Bind untuk membuat asosiasi data antara bidang database dan properti Nilai.
Terakhir, tempatkan kontrol DBGrid dan DBNavigator pada formulir, dan atur Sumber Datanya ke DataSource1. Saat Anda menjalankan program dan memindahkan posisi data saat ini, Anda dapat melihat bahwa tampilan tanggal di ActiveX juga akan berubah, sesuai dengan Hiredate di database. Seperti yang ditunjukkan pada Gambar 1.15:
Membuat Kontrol ActiveX Data-Clear Meskipun kita telah mengetahui bahwa Delphi memang dapat menggunakan kontrol ActiveX data-clear, muncul pertanyaan baru. Bisakah Delphi sendiri membuat kontrol ActiveX data-clear? Karena Delphi menyediakan konversi satu langkah dan pembuatan kontrol ActiveX, banyak orang berharap untuk mengubah kontrol database yang kuat di Delphi menjadi kontrol ActiveX sehingga mereka masih dapat menikmati pengalaman yang sama seperti di Delphi ketika mengembangkan program database di lingkungan pengembangan lain yang mendukung ActiveX .Perasaan santai dan bahagia yang sama. Tapi seperti yang saya sebutkan di bagian pertama, karena mekanisme internal kontrol penghapusan data Delphi terlalu berbeda dari kontrol database ActiveX, Delphi tidak bisa langsung mengkonversi kontrol database yang kuat. Apakah itu berarti kita tidak bisa berbuat apa-apa? tentu saja tidak! Faktanya, dengan menggunakan editor perpustakaan tipe, kita dapat mengimplementasikan kontrol ActiveX dengan data yang jelas dengan sangat mudah. Mari kita gunakan kontrol TEdit untuk mengujinya dan melihat bagaimana melakukannya. Pilih perintah menu New |. ActiveX |. ActiveX Control untuk memulai ActiveX Control Convert Wizard, pilih kontrol TEdit sebagai objek konversi, dan buat kerangka EditX ActiveX. Selanjutnya, kita akan mengubah properti Teks TEdit untuk mendukung pengikatan data. Pilih View |. Type Library untuk melihat perpustakaan tipe yang dihasilkan oleh Delphi, pilih properti Text, dan kemudian beralih ke halaman properti Flags (lihat Gambar 1.16 di bawah).
Perhatikan bahwa ada banyak kotak centang di halaman properti Flags. Bagi kami, kami hanya peduli pada opsi yang terkait dengan pengikatan data. Mereka adalah opsi yang Dapat Diikat, Dapat Diikat Tampilan, Dapat Diikat Default, Dapat Diikat Segera, dan Minta Pengeditan. Setelah menandai atribut sebagai dapat diikat dan mengikatnya ke bidang database, ketika pengguna mengubah atribut, kontrol akan memberitahu database bahwa nilainya telah berubah dan meminta database untuk mencatat status pembaruan pembaruan catatan berhasil. Opsi Bindable menunjukkan bahwa properti mendukung pengikatan data. Jika properti ditandai sebagai dapat diikat, properti akan memberi tahu kontainernya ketika nilainya berubah. Permintaan Edit menunjukkan bahwa properti mendukung pesan notifikasi OnRequestEdit, yang memungkinkan kontrol menanyakan kontainer apakah nilai properti diperbolehkan untuk diubah oleh pengguna. Display Bindable berarti container dapat menunjukkan kepada pengguna bahwa properti ini dapat diikat. Default Bindable berarti ini adalah satu-satunya atribut default yang dapat diikat. Untuk menggunakannya, atribut Bindable harus ditandai secara bersamaan. Ketika Immediate Bindable ditandai, semua perubahan akan diberitahukan, dan tanda bindable dan Request Edit perlu disetel. Selanjutnya kita menandai properti Teks dari kontrol EditX sebagai Bindable, Display Bindable, Default Bindable, dan Request Edit. Kemudian klik tombol Refresh untuk menyegarkan perpustakaan tipe, dan terakhir pilih Jalankan |. Daftarkan Server ActiveX untuk mendaftarkan kontrol ActiveX. Jika Anda memperkenalkan kontrol EditX ActiveX yang baru, Anda akan menemukan bahwa kontrol tersebut mengimplementasikan fungsi pengikatan data. Berikut ini adalah diagram pengoperasian program EditX yang menggunakan pembersihan data (Implementasi fungsi pembersihan data ActiveX Delphi memang sederhana dan keren. , bukan?