Delphi'de Yazılan Sabitleri Anlama

Ne zaman Delphi bir olay işleyici çağırır, yerel değişkenlerin eski değerleri silinir. Bir düğmenin kaç kez tıklandığını takip etmek istiyorsak ne olur? Birim düzeyinde bir değişken kullanarak değerlerin kalıcı olmasını sağlayabiliriz, ancak birim düzeyinde değişkenleri yalnızca bilgi paylaşımı için ayırmak iyi bir fikirdir. İhtiyacımız olan şey genellikle Delphi'de statik değişkenler veya yazılan sabitler olarak adlandırılır.

Değişken veya Sabit

Yazılan sabitler, değerleri bloklarına (genellikle olay işleyici) girişte tanımlanan başlangıç ​​değişkenleriyle karşılaştırılabilir. Böyle bir değişken sadece program çalışmaya başladığında başlatılır. Bundan sonra, yazılan sabitin değeri, prosedürlerine ardışık çağrılar arasında kalır.

Yazılan sabitleri kullanmak, otomatik olarak başlatılan değişkenleri uygulamanın çok temiz bir yoludur. Bu değişkenleri yazılı sabitler olmadan uygulamak için, başlatılan her değişkenin değerini ayarlayan bir başlatma bölümü oluşturmamız gerekir.

Değişken Yazılı Sabitler

instagram viewer

Bir yordamın sabit bölümünde yazılan sabitleri bildirmemize rağmen, bunların sabit olmadığını hatırlamak önemlidir. Uygulamanızın herhangi bir noktasında, yazılan bir sabitin tanımlayıcısına erişiminiz varsa, değerini değiştirebilirsiniz.

Yazılan sabitleri iş başında görmek için boş bir forma bir düğme yerleştirin ve OnClick olay işleyicisine aşağıdaki kodu atayın:

prosedür TForm1.Button1Click (Gönderen: TObject); const tıklama sayısı: Tamsayı = 1; // gerçek bir sabit değilbaşla Form1.Caption: = IntToStr (tıklamalar); tıklama: = tıklama + 1; son; 

Düğmeyi her tıkladığınızda, resim yazısı artışlarının sürekli olarak oluştuğuna dikkat edin.
Şimdi aşağıdaki kodu deneyin:

prosedür TForm1.Button1Click (Gönderen: TObject); var tıklama sayısı: Tamsayı; başla Form1.Caption: = IntToStr (tıklamalar); tıklama: = tıklama + 1; son; 

Artık tıklama sayacı için başlatılmamış bir değişken kullanıyoruz. Düğmeye tıkladıktan sonra form başlığında garip bir değere dikkat edin.

Sabit Tip Sabitler

Değiştirilebilir sabitler fikrinin biraz garip geldiğini kabul etmelisiniz. Delphi Borland'ın 32 bit versiyonlarında kullanımlarını engellemeye karar verdiler, ancak bunları Delphi 1 eski kodu için desteklediler.

Proje Seçenekleri iletişim kutusunun Derleyici sayfasında Atanabilir yazılan sabitleri etkinleştirebilir veya devre dışı bırakabiliriz.

Belirli bir proje için Atanabilir yazılan sabitleri devre dışı bıraktıysanız, önceki kodu derlemeye çalıştığınızda Delphi derleme sırasında size 'Sol taraf atanamaz' hatası verir. Bununla birlikte, aşağıdakileri bildirerek atanabilir yazılı sabit oluşturabilirsiniz:

{$ J +}const tıklama sayısı: Tamsayı = 1; {$ J-}

Bu nedenle, ilk örnek kod şöyle görünür:

prosedür TForm1.Button1Click (Gönderen: TObject); const{$ J +} tıklama sayısı: Tamsayı = 1; // gerçek bir sabit değil{$ J-}başla Form1.Caption: = IntToStr (tıklamalar); tıklama: = tıklama + 1; son; 

Sonuç

Yazılan sabitlerin atanabilir olup olmayacağına karar vermek size kalmıştır. Buradaki önemli şey, sayaçlar için ideal olmanın yanı sıra, yazılan sabitler yapmak için idealdir bileşenleri dönüşümlü olarak görünür veya görünmez olabilir veya bunları herhangi bir Boolean arasında geçiş yapmak için kullanabiliriz özellikleri. Yazılan sabitler, kaç kez tetiklendiğini takip etmek için TTimer olay işleyicisinin içinde de kullanılabilir.