Formlarınızdaki Edit nesnelerine hakim olun

Bu dersimizde Delphi'de ve belki de programlama da en çok kullanacağınız nesneler olan Edit nesnelerinden bahsedeceğiz. Edit nesneleri bilgi giriş-çıkış işlemlerinde kullanılmaktadır. Ve bu nesnelerin görülen ve görülmeyen bir çok özellikleri mevcuttur. Şimdi isterseniz bu özelliklerden bahsedelim..

Bu dersimizde Delphi'de ve belki de programlama da en çok kullanacağınız nesneler olan Edit nesnelerinden bahsedeceğiz. Edit nesneleri bilgi giriş-çıkış işlemlerinde kullanılmaktadır. Ve bu nesnelerin görülen ve görülmeyen bir çok özellikleri mevcuttur. Şimdi isterseniz bu özelliklerden bahsedelim..

Text Özelliği ;



Edit kutularının Text özellikleri kutunun içerisinde yazan bilgiyi tutmaya yarar. Text özelliğine ne atanmışsa kutunun içerisinde o görünür. Örneğin


Edit1.Text := "Merhaba";



atanmış olan bir edit kutusunun içerisinde Merhaba yazdığı görülecektir.

MaxLength Özelliği ;

Edit kutularına maksimum 32 kb lık metin girişi yapılabilir. Ama karakter girişi programcı tarafından sınırlanabilir. Bu girişi sınırlamak için Edit kutularının MaxLength özelliğini kullanabiliriz. Her edit kutusunun varsayım MaxLength değeri sıfırdır. MaxLength değerinin sıfır olması demek edit kutusuna 32 kb a kadar veri girişi yapılabilir demektir. Ancak bu değer değiştirildiğinde edit kutularına karakter sınırlaması getirilir. Örneğin;


Edit1.MaxLength := 12;

dediğimizde Edit1 adlı edit kutumuza 12 karakterlik bir sınır koymuş oluruz.

Width / Height Özellikleri;

Edit kutularının Width özelliği kutunun genişliğini, height özelliği ise yüksekliğini ayarlamanızı sağlar. Bu özellikleri edit kutusunu bir kez tıkladıktan sonra tutup çekiştirmek suretiyle ayarlayabildiğiniz gibi proje veya çalışma anında da değiştirebilirsiniz. Örneğin;


Edit1.Width  := 100;

Edit1.Height := 50;



TabOrder Özelliği ;

Runtime yani çalışma anında nesneler arası geçişi klavyemizin TAB tuşu ile sağlarız. Özellikle de Edit kutuları arasında devamlı bir geçiş yapma durumu söz konusu olmaktadır. TabOrder özelliği geçiş sırasını belirlememize yarar ve programcıların sıkça düzenlediği bir özelliktir.

TabStop Özelliği ;

Runtime da bazı nesnelere TAB tuşu ile erişilmemesini sağlamak isteriz. Nesneler forma yerleştirildiğinde TabStop özellikleri varsayılan olarak True değerini içerir. Eğer erişilmemesini istediğimiz bir nesne var ise bu nesnenin TabStop özelliğini False olarak değiştirmemiz yeterli olacaktır.

PasswordChar Özelliği ;

Özellikle Ticari program yazılımlarında programa girişte şifre istenir. Ve biz bu şifreyi girerken girdiğimiz haneler * karakteri şeklinde görülür. Edit kutularında bu işlemi sağlayan özelliğin adı passwordchar özelliğidir. Edit kutularının varsayılan passwordchar değeri #0 bilgisini içerir. Edit kutularının bu özelliğini tasarım veya çalışma anında değiştirebilirsiniz. Örneğin Edit kutusuna bir kez tıklayıp Object Inspector penceresinden PasswordChar özelliğini #8 yaptığınız taktirde 8 karakterlik şifre girişine izin vermiş olursunuz. Projenizi çalıştırıp edit kutusuna karakter girmeye başladığınızda karakterlerinizin dikey bir çubuk karakteri şeklinde göründüğüne şahit olacaksınız. Eğer bu karakter yerine başka bir karakter kullanmak istiyorsanız tasarım anında ; Edit1.PasswordChar := "*"; ifadesini kullanabilirsiniz. Tabiki * yerine istediğiniz karakteri kullanmakta sizin elinizdedir.

AutoSelect Özelliği;

Bu özelliğin aktif yani True olması durumunda, metin kutusunun üzerine gidildiğinde, tüm içeriğinin otomatik olarak seçili olması sağlanır.

AutoSize Özelliği ;

Delphi formlarına eklemiş olduğunuz edit kutularının yüksekliği yani height ayarı , o edit kutusu için seçilen font ve font büyüklüğüne bağlı olarak belirlenir. Eğer edit kutularınızın yükselkliğinin font ve font büyüklüğüne göre kendini otomatik olarak ayarlamasını istemiyorsanız Edit kutusunun AutoSize özelliğini False olarak atamalısınız.

CharCase Özelliği ;

Edit kutularına girilen karakterleri büyük veya küçük harfe çevirebilmeniz mümkün. Edit kutularının CharCase özelliği varsayılan olarak ecNormal konumundadır ve bu konumda karakterleri edit kutusuna nasıl girerseniz öyle görünürler. Bu değeri ecUpperCase olarak ayarlarsanız bu sefer girilen tüm karakterler büyük harf olarak görülecektir. ecLowerCase konumunda ise diğer işlemin tam tersi yani karakterlerin küçük harf şeklinde gösterilmesi sağlanır.

ReadOnly Özelliği ;

Edit kutusuna girdiğiniz veya önceden yazılı olan bilgilerde değişiklik yapılmasını istemiyorsanız ReadOnly özelliğini True yapmanız yeterli olacaktır. Edit kutularının ReadOnly özelliği başlangıçta False değeri ile gelir. İsteğe bağlı olarak program kodu veya çalışma anında bu özelliği değiştirip kullanabilirsiniz.

SelText/SelStart ve SelLength Özellikleri ;

Bu özellikleri hepsi de kodlama anında etkinleşen özelliklerdir. Yani Object Inspector penceresinden müdahale etmenin mümkünatı yoktur. Öncelikle SelText den bahsedelim.


Şekil-1 Formumuza bir edit nesnesi yerleştirip içine yazı yazdık.


Şekil-2 Yazdığımız bu yazının bir kısmını Mouse ile seçili hale getirdik.

Şekil-1 de görmüş olduğunuz gibi forma bir edit nesnesi ekledim ve içerisine ifade girdim. Daha sonra Şekil-2 deki gibi ifadenin bir kısmını Mouse kullanarak seçtim. İşte bu seçili alan Edit nesnesinin SelText özelliğinde tutulmaktadır ve bu bilgiyi istediğiniz amaçla kullanabilirsiniz. Örneğin ShowMessage(Edit1.SelText); ifadesiyle edit1 kutusundaki seçili alanı mesaj olarak ekrana getirebilirsiniz.

SelStart ve SelLength için ise küçük bir program yazmak istiyorum. Üstelik bu program içerisinde SelText özelliğini de kullanacağız. Böylece bu ifadeleri daha iyi anlayabilirsiniz. Programın mantığı şöyle olacak; Öncelikle Şekil-3 deki gibi bir form görüntüsü oluşturalım.


Şekil-3 Formumuzu şekildeki gibi düzenledik ve edit kutularının içeriğini boşalttık.

Formu bu şekilde oluşturduk. Çalışma anında karaktersel ifade kısmına bir ifade gireceğiz ve bu ifadenin seçili karakterini, bunun uzunluğunu ve kaçıncı karakterden itibaren seçili olmaya başlandığını ekrana getireceğiz. Edit nesnelerimizin adları sırasıyla Edit1, Edit2, Edit3 ve Edit4. İsimlerini değiştirmeden olduğu gibi bıraktım. Şimdi Form nesnemizin FormClick olayına aşağıdaki yordamı yazıyorum. Böylece tüm işlemler form nesnesine tıklandığında işlemiş olacak.


Şekil-4 FormClick olayına gerekli kodları yazıyoruz.


Şekil-5 ifadeyi yazıp bir kısmını seçili hale getiriyoruz ve Form'a tıklıyoruz. Program bize gerekli değerleri veriyor.

Şekil-5 te de görüldüğü gibi program çalıştırıldığında ilk edit kutusuna bir ifade girdik. Bu ifadenin bir kısmını seçili hale getirdik ve Form'a bir kez tıkladık. Program sonuç olarak bize seçili alanın karaktersel bilgisini(SelText), Seçilen karakter uzunluğunu(SelLength) ve kaçıncı karakterden itibaren seçili olmaya başlandığını(SelStart) gösteriyor.

Modified Özelliği;

Bu özellik edit kutusu içeriğinin değiştirilip değiştirilmediğini öğrenmemize yarar. Bu özellik Object Inspector penceresinde bulunmaz. Ancak kod yardımıyla yararlanılabilir.


Şekil-6 Proje anında Edit1 nesnesinin Text özelliğine bir ifade atadım.

Proje anında Object Onspector penceresinden yararlanarak Edit nesnemize bir ifade girdim.


Şekil-7 FormClick olayına kodumuzu yazıyoruz.

Daha sonra If yordamı ve Edit nesnesinin Modified özelliği yardımıyla, Edit nesnesinin içeriğinin değiştirilip değiştirilmediğini anlamamızı sağlayacak kodu yazdım.


Şekil-8 Programı çalıştırdım ve edit kutusundaki ifadenin bir kısmını silerek Form'a bir kez tıkladım.

Programı çalıştırdıktan sonra Edit kutusunun içeriğinde küçük bir oynama yaptım. Sonrasında Form'a tıklayarak yazdığım kodu çalıştırmış oldum. Sonuç olarak ShowMessage yordamı ile program bize Edit kutusunun içeriğinin değiştirilmiş olduğunu belirtti.

Edit nesneleri gerçekten de programlarınızın bir çok noktasında kullanabileceğiniz türden nesnelerdir. Bu derste Edit nesnelerinin içerisindeki bilgilere nasıl hakim olabileceğinizi göstermeye çalıştım..
  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

mrb gerçekten güzel anlatmışsınız tşk ederim elinizde mevcut delphi kodları veya ufak programlar varsa bana göndere bilirmisiniz programların kodlarını görmek için ben acemiyimde yardım ederseniz sevinirim şimdiden tşk ederim eğer gönderecek olursanız bluenighteys@gmail.com
GERÇEKTEN GÜZEL BİR ANLATIM. Teşekkürler
Teşekkürler
ellerine sağlk çok güzel olmuş. devamını bekleriz :-dusun::-dusun:

Yukarı Git