grupboxda hesaplatma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
mfkayhan
Üye
Mesajlar: 6
Kayıt: 19 Ara 2003 02:21

grupboxda hesaplatma

Mesaj gönderen mfkayhan »

bir adet grupbox içerisinde 3 adet checkbox 3 adet label ve 3 adet editbox bulunuyor bunlar bırbırıyle eşli ve checkbox lardan bırını sectıgımızde label ve editbox aktif hale gelecekve editbox a deger girebilmeliyim.bu konuda bana yardımcı olursanız sevinirim.
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

checkboxların isimleri c1,c2,c3 ; labellar l1,l2,l3; editler de e1,e2,e3 olsun. Labellar ve editlerin enabled özelliğini false yap. Checkbozların cilick eventlarına da şöyle yaz;

c1.onClick için;

Kod: Tümünü seç

if c1.Checked then // işaretlenirse
begin
  l1.Enabled := true;
  e1.Enabled := true;
end
else begin
  l1.Enabled := false;
  e1.Enabled := false;
end;
aynı şeyi c2 ve c3 ün onclicklerine yaz (l2,l3, ve e2,e3 için tabi!)

Tabi bu enabled formda o nesneleri gösterir ama aktif değldir . Eğer nesneler görünmesin diyorsan Enabled yerine Visible kullanmalısın.
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Arkadaşlar öncelikle sorularınızı özel mesaj ile değil forumda sormanız daha hayırlı çünkü böylece herkes faydalanır artı herkes cevap verebilir. Bu hatırlatmadan sonra sorunuz:
formuma cevap yazdıgınız ıcın tesekkkurler fakatıkı adet problemım olustu.bırıncısı ılk basta label aktıf pasıf olması gerekıyor ben checkboxa tıkladıgımda aktıf olmalı ve edite deger gırmelıyım.ikincisi ise bu uc tane editboxa gırdıgım sayısal degerlerı 4. editboxda gostermek ıstıyorum.bunu nasıl yapabılırm.teşekkurler,iyi çalışmalar.
Sanırım yapmak istediğiniz 1. aşama önceki verdiğim cevap ile oluyor ama 2. birşey daha var o da 4. editte göstermek. Onu da her editin onChange eventına şöyle diyebilirsiniz:

örneğin e1 için:

Kod: Tümünü seç

   e4.Text := e1.Text;
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7588
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

arkadaşlar özel mesaj ile Delphi sorusu sormayın ve lütfen forum kurallarını okuyun! Foruma yazılan sorulara elimizden geldiği kadar cevap yazıyoruz zaten.

Bu konuda ısrar eden arkadaşların özel mesaj hizmetlerini iptal edebiliriz, ona göre :evil:

Kolay gelsin.
name
Kıdemli Üye
Mesajlar: 243
Kayıt: 09 Ağu 2003 02:11
Konum: İstanbul

Mesaj gönderen name »

Alternatif ve biraz kısa (çünkü hepsinin onclick olayını aynı procedure yönlendiriyorsun) bir kod olarakda aşağıdakini kullanabilirsin.

Bütün checkbox'ların onclick olayına aşağıdaki procedure'ü ata ve checkbox'ların tag değerlerine ismindeki sayıyı ver. Mesela c1'in tag değerini '1' c2'nin tag değerini '2' yap.
Edit'lerin ve Label'lerin Enabled değerleri default olarak False olmalı.

Kod: Tümünü seç

procedure TForm1.c1Click(Sender: TObject);
var
 n:Byte;
begin
  n:=TCheckBox(sender).Tag; //CheckBox'ların Tag değerlerine geçerli rakamları yazmazsan kod hata verir
  if TCheckBox(sender).Checked then
    begin
      TEdit(FindComponent('e'+IntToStr(n))).Enabled:=True;
      TLabel(FindComponent('l'+IntToStr(n))).Enabled:=True;
    end
  else
    begin
      TEdit(FindComponent('e'+IntToStr(n))).Enabled:=False;
      TLabel(FindComponent('l'+IntToStr(n))).Enabled:=False;
    end;
end;
ademcicek
Üye
Mesajlar: 409
Kayıt: 03 Eki 2003 01:50
Konum: Ankara

Cevap

Mesaj gönderen ademcicek »

Hocam Öncelikle Tüm CheckBoxların Onclick Olaylarını Aynı Proc'e yönlendir.
sonra..


ClickOlayına ;

L1.Enabled := C1.Checked;
E1.Enabled := L1.Enabled;
L2.Enabled := C2.Checked;
E2.Enabled := L2.Enabled;
L3.Enabled := C3.Checked;
E3.Enabled := L3.Enabled;
.
.
.
Yaz..
Bide FormCreate'de ;
C1.Checked := False;
C2.Checked := False;
C3.Checked := False;

dersen problem kalmaz;

iyi çalışmalar;
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Bide FormCreate'de ;
C1.Checked := False;
C2.Checked := False;
C3.Checked := False;
İyi de checkboxların enebledı false olursa onları nasıl tıklayıp true yapacak? :D
name
Kıdemli Üye
Mesajlar: 243
Kayıt: 09 Ağu 2003 02:11
Konum: İstanbul

Mesaj gönderen name »

adem bey 10 adet (yada daha fazla) CheckBox olduğunu düşünürseniz sizin kod yine uzayacak.
Cevapla