formu readonly yapmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ylmz
Üye
Mesajlar: 110
Kayıt: 18 Mar 2005 02:32
Konum: Antalya

formu readonly yapmak

Mesaj gönderen ylmz »

slm,

formun üzerinde bir sürü kontrol var.Ve ben tüm bu kontrollerin read only özelliğini true yapmak istiyorum.Burada componentcount döngüsüne sokup
if a is Ta then readony özelliğini true yap mantığıyla problem çözülebilir.Ama benim istediğim bu değil.Yada formu kaplamış panelin enable özelliğini false yapabilirim ama bu da tam olarak istediğim değil.Çünkü formda pagecontrol var ve diğer pagelere geçiş yapılamıyor.


kısaca olmasını istediğim enable özelliği ile oynamadan ve componentcount döngüsüne sokmadan form üzerindeki tüm bileşenlerin readony özelliği true olsun.Yada bilgi girilemez durumda olsun.Fikirleriniz için teşekkürler.İyi çalışmalar.
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

eğer çalışma esnasında yapmak istiyorsanız bunu korkarım döngüye sokmadan yapılabilecke başka yöntem yok, tabi tek tek bileşen isimlerini yazıp yapmazsanız :)
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7604
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Niye componentCount olmaz? Eğer yavaşlıktan çekiniyorsanız buna hiç gerek yok, hissetmezsiniz bile :)

Kolay gelsin.
ylmz
Üye
Mesajlar: 110
Kayıt: 18 Mar 2005 02:32
Konum: Antalya

Mesaj gönderen ylmz »

evet,sanırım bundan başkada çare yok.Componentcount döngüsü uzun sürmez de orada birde tip karşılaştırması var.
mesela
if components is TEdit then
.....

ve bir sürüde tip var.bu tip karşılaştırmalarıda çok fazla olmasada biraz zaman alıyor.çünkü component sayısı fazla.birde bu benim base formumda olacak bir kod.readonly tcontrol yada twincontrolden gelen bir özellik olsa orada
if components is twincontrol then
...

dicem ama öyle de değil.Ben yinede buraya sormak istedim.Mesela patrona sordum keypriview i true yap keypress olayında kontrol et dedi.Ama bana çokta sağlıklı değilmiş gibi geldi bu yöntem.işte belki değişik bir fikir yada api bilen vardır diye sorayım dedim.Cevaplarınız için teşekkürler.şimdilik componentscount döngüsünü kullanacam.herkese iyi çalışmalar.
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Mesaj gönderen ikra »

hocam bence componentcount kullan ve eger pagecontrol ün istisna olmasini istiyorsan o zaman

Kod: Tümünü seç

if not (components[i] is TPageControl) then
gibi bir ayrim yapabilirsin...

kolay gelsin...
kıdemsiz üye
ylmz
Üye
Mesajlar: 110
Kayıt: 18 Mar 2005 02:32
Konum: Antalya

Mesaj gönderen ylmz »

merhaba,

soruyu soralı üç aydan fazla oldu, hatta kodu çoktan yazdım geçtim.Ama dün akşam aklıma başka bişey geldi.TDatasource Sınıfının AutoEdit diye bir özelliği var ve bu sınıfın bir örneğini yarattığınızda default olarak bu özelliğin değeri ture oluyor.Bu özelliği false yaptığınızda Datasource bağlı tüm kontroller kullanıcı girişine kapanır.Özel olarak Datasource nin datasetini edit moduna sokmadığınız sürece kullanıcı bu kontrollere değer giremez.(Tabiki sadece DB ye bağlı kontroller için geçerli bu yöntem)

iyi çalışmalar.
Cevapla