Memahami Konstanta yang Diketik dalam Delphi

Kapan Delphi memanggil pengendali event, nilai-nilai lama dari variabel lokal dihapuskan. Bagaimana jika kita ingin melacak berapa kali sebuah tombol diklik? Kita dapat memiliki nilai-nilai bertahan dengan menggunakan variabel tingkat unit, tetapi umumnya ide yang baik untuk memesan variabel tingkat unit hanya untuk berbagi informasi. Yang kita butuhkan biasanya disebut variabel statis atau konstanta yang diketik dalam Delphi.

Variabel atau Konstan

Konstanta yang diketik dapat dibandingkan dengan variabel-variabel yang diinisialisasi yang nilainya didefinisikan saat masuk ke blok mereka (biasanya event handler). Variabel seperti itu diinisialisasi hanya ketika program mulai berjalan. Setelah itu, nilai konstanta yang diketik tetap ada di antara panggilan berturut-turut ke prosedur mereka.

Menggunakan konstanta yang diketik adalah cara yang sangat bersih untuk mengimplementasikan variabel yang diinisialisasi secara otomatis. Untuk mengimplementasikan variabel-variabel ini tanpa konstanta yang diketik, kita perlu membuat bagian inisialisasi yang menetapkan nilai dari setiap variabel yang diinisialisasi.

instagram viewer

Konstanta Ketik Variabel

Meskipun kami mendeklarasikan konstanta yang diketik di bagian const dari prosedur, penting untuk diingat bahwa konstanta yang diketik tersebut bukan konstanta. Kapan saja dalam aplikasi Anda, jika Anda memiliki akses ke pengenal untuk konstanta yang diketik Anda akan dapat mengubah nilainya.

Untuk melihat konstanta yang diketik di tempat kerja, letakkan tombol di formulir kosong, dan tetapkan kode berikut ke pengendali event OnClick:

prosedur TForm1.Button1Click (Pengirim: TObject); const klik: Integer = 1; // bukan konstanta yang benarmulai Form1.Caption: = IntToStr (klik); klik: = klik + 1; akhir; 

Perhatikan bahwa setiap kali Anda mengklik tombol, bentuk kenaikan teks terus.
Sekarang coba kode berikut:

prosedur TForm1.Button1Click (Pengirim: TObject); var klik: Integer; mulai Form1.Caption: = IntToStr (klik); klik: = klik + 1; akhir; 

Kami sekarang menggunakan variabel tidak diinisialisasi untuk penghitung klik. Perhatikan bahwa nilai aneh dalam bentuk keterangan setelah Anda mengklik tombol.

Konstanta Ketikan Konstan

Anda harus setuju bahwa gagasan konstanta yang dapat dimodifikasi terdengar agak aneh. Dalam versi 32 bit dari Delphi Borland memutuskan untuk mencegah penggunaannya, tetapi mendukung mereka untuk kode warisan Delphi 1.

Kami dapat mengaktifkan atau menonaktifkan konstanta yang diketik yang dapat ditugaskan pada halaman Kompiler pada kotak dialog Opsi Proyek.

Jika Anda telah menonaktifkan konstanta yang diketik yang dapat ditugaskan untuk proyek tertentu, ketika Anda mencoba untuk mengkompilasi kode sebelumnya Delphi akan memberi Anda kesalahan 'Sisi kiri tidak dapat ditugaskan' kesalahan pada saat kompilasi. Anda dapat, bagaimanapun, membuat tetapan yang dapat ditentukan tetapan dengan menyatakan:

{$ J +}const klik: Integer = 1; {$ J-}

Oleh karena itu, kode contoh pertama terlihat seperti:

prosedur TForm1.Button1Click (Pengirim: TObject); const{$ J +} klik: Integer = 1; // bukan konstanta yang benar{$ J-}mulai Form1.Caption: = IntToStr (klik); klik: = klik + 1; akhir; 

Kesimpulan

Terserah Anda untuk memutuskan apakah Anda ingin konstanta yang diketik dapat ditetapkan atau tidak. Yang penting di sini adalah bahwa selain ideal untuk penghitung, konstanta yang diketik juga ideal untuk dibuat komponen bergantian terlihat atau tidak terlihat, atau kita dapat menggunakannya untuk beralih di antara Boolean properti. Konstanta yang diketik juga dapat digunakan di dalam event handler TTimer untuk melacak berapa kali bahkan telah dipicu.

instagram story viewer