S.A. Hayırlı Cumalar
Arkadaşlar Formun OnShow olayında Checkbox nesnesine true yada false değer atıyorum.
Bu nesnenin bir de OnClick olayı var ve burda bir takım işlemler yapılıyor.
Form açıldığında bu nesneye değer atandığından(true/false) direk clikleme olayı meydana geliyor ve burdaki işlemler çalışıyor. Halbu ki ben sadece o nesneyi clikleyince işlem yapmasını istiyorum. Değer atadığımda cliklenme eventi çalışmasın. Aynı olay RadioGroup içinde geçerli
Bunu nasıl engellerim.
Checkbox çift işlem
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: Checkbox çift işlem
tam anlaşılmadı ama , sanırım true değerini yanlış atıyorsun. formun onshowunda değilde checkboxun onclik kısmında şöyle yazmalısın
Kod: Tümünü seç
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked=true then begin
ShowMessage('true');
end;
if CheckBox1.Checked=false then begin
ShowMessage('false');
end;
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: Checkbox çift işlem
şöyle anlatayım o zaman
procedure TForm11.FormShow(Sender: TObject);
begin
Chb_GenSts.Checked:=True;
end;
.
.
procedure TForm1.Chb_GenStsClick(Sender: TObject);
begin
Islemler;
end;
Form açıldığında yani formun Show olayında Islemler procedure çalışıyor, bunun olmasını istemiyorum
procedure TForm11.FormShow(Sender: TObject);
begin
Chb_GenSts.Checked:=True;
end;
.
.
procedure TForm1.Chb_GenStsClick(Sender: TObject);
begin
Islemler;
end;
Form açıldığında yani formun Show olayında Islemler procedure çalışıyor, bunun olmasını istemiyorum
Re: Checkbox çift işlem
Bu durumu engelleyemezsiniz.
a. Tasarımınızı buna göre değiştirebilirsiniz.
b. checked atamasından önce OnClick olayını geçici olarak kaldırabilirsiniz :
CheckBox1.OnClick :=nil;
CheckBox1.Checked :=true;
CheckBox1.OnClick :=CheckBox1OnClick;
a. Tasarımınızı buna göre değiştirebilirsiniz.
b. checked atamasından önce OnClick olayını geçici olarak kaldırabilirsiniz :
CheckBox1.OnClick :=nil;
CheckBox1.Checked :=true;
CheckBox1.OnClick :=CheckBox1OnClick;
Ömür Ölmez
Re: Checkbox çift işlem
Merhaba.
- Ben şöyle bir metod uyguluyorum. Programa bir global değişken koyun.
- (bu kısım ilgilenene) Kendimce global değişkenlerin başında her zaman x harfi koyuyorum, özel bir nedeni yok, bana bu konuda algı kolaylığı sağlıyor. Değişkenin başında x varsa benim için Global değişken anlamına geliyor, projenin her yerinden bu değişkene değer atayabilir ve içeriğini kontrol edebilirim. Büyük projelerde başka unitlerdeki global değişkenleri de bu şekilde ayırt ederek anlayabiliyorum.
CheckBoxOnClick eventinin begin den sonraki ilk satıra aşağıdaki şekilde ekleyin.
Siz FormCreate veya başka yer CheckBox'a Checked := True demeden önce şöyle yapın.
Aynı projede bunu RadioGroup için de sorunsuzca uygularsınız.
Bu yöntem hiç şaşmadı. Umarım beğenirsiniz, işinizi görür.
Başarılar.
- Ben şöyle bir metod uyguluyorum. Programa bir global değişken koyun.
- (bu kısım ilgilenene) Kendimce global değişkenlerin başında her zaman x harfi koyuyorum, özel bir nedeni yok, bana bu konuda algı kolaylığı sağlıyor. Değişkenin başında x varsa benim için Global değişken anlamına geliyor, projenin her yerinden bu değişkene değer atayabilir ve içeriğini kontrol edebilirim. Büyük projelerde başka unitlerdeki global değişkenleri de bu şekilde ayırt ederek anlayabiliyorum.
Kod: Tümünü seç
Var
xKontrolBende : Booolean = False;
Kod: Tümünü seç
if xKontrolBende then Exit;
Kod: Tümünü seç
xKontrolBende := True;
CheckBox1.Checked := true;
xKontrolBende := False;
Bu yöntem hiç şaşmadı. Umarım beğenirsiniz, işinizi görür.
Başarılar.
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: Checkbox çift işlem
Çok teşekkür ederim arkadaşlar...
mrmarman global değişken mantığı çok güzel.
mrmarman global değişken mantığı çok güzel.