Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Form create buton visible durumu
#1
Hayırlı geceler,

Form create ederek formdaki edit içindeki eski verileri temizlenmesini sağlıyorum!.
Forumun iki giriş yöntemi var save ve update.
Fakat form show olduğunda save butonuna basıldığında update enabled false olması lazımken, update butonu enabled true yani buton aktif bu sorunu nasıl çözerim?



procedure TForm7.BtnSaveClick(Sender: TObject);
var
  MyForm: TForm8;
begin
  MyForm := TForm8.Create(Nil);
  try
    MyForm.ShowModal;
    MyForm.BtnPGSave.Enabled := True;
    MyForm.BtnPGUpdate.Enabled := False;
  finally
    MyForm.Free;
  end;
end;

procedure TForm7.BtnUpdateClick(Sender: TObject);
var
  MyForm: TForm8;
begin
  MyForm := TForm8.Create(Nil);
  try
    MyForm.ShowModal;
    MyForm.BtnPGSave.Enabled := False;
    MyForm.BtnPGUpdate.Enabled := True;
  finally
    MyForm.Free;
  end;
end;
Cevapla
#2

procedure TForm7.BtnSaveClick(Sender: TObject);
var
  MyForm: TForm8;
begin
  MyForm := TForm8.Create(Nil);
  try
    MyForm.BtnPGSave.Enabled := True;
    MyForm.BtnPGUpdate.Enabled := False;
    MyForm.ShowModal;
  finally
    MyForm.Free;
  end;
end;

procedure TForm7.BtnUpdateClick(Sender: TObject);
var
  MyForm: TForm8;
begin
  MyForm := TForm8.Create(Nil);
  try
    MyForm.BtnPGSave.Enabled := False;
    MyForm.BtnPGUpdate.Enabled := True;
    MyForm.ShowModal;
  finally
    MyForm.Free;
  end;
end;

Herhangi bir basit problem, hakkında yeterince toplantı yapılarak, çözümsüz hale getirilebilir.

Cevapla
#3
(27-01-2019, Saat: 00:18)Yeliz Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Hayırlı geceler,

Form create ederek formdaki edit içindeki eski verileri temizlenmesini sağlıyorum!.
Forumun iki giriş yöntemi var save ve update.
Fakat form show olduğunda save butonuna basıldığında update enabled false olması lazımken, update butonu enabled true yani buton aktif bu sorunu nasıl çözerim?



procedure TForm7.BtnSaveClick(Sender: TObject);
var
  MyForm: TForm8;
begin
  MyForm := TForm8.Create(Nil);
  try
    MyForm.ShowModal;
    MyForm.BtnPGSave.Enabled := True;
    MyForm.BtnPGUpdate.Enabled := False;
  finally
    MyForm.Free;
  end;
end;

procedure TForm7.BtnUpdateClick(Sender: TObject);
var
  MyForm: TForm8;
begin
  MyForm := TForm8.Create(Nil);
  try
    MyForm.ShowModal;
    MyForm.BtnPGSave.Enabled := False;
    MyForm.BtnPGUpdate.Enabled := True;
  finally
    MyForm.Free;
  end;
end;

Selamlar,

try işleminden sonra
    MyForm.BtnPGSave.Enabled := False;
    MyForm.BtnPGUpdate.Enabled := True; 
    MyForm.ShowModal;

şeklinde yapıyı değiştirin her iki buton kodunda da. Showmodal olmadan önce yapılması gerekiyor. Bu şekilde yaptığınızda doğru çalışacak. Test ettim.
Cevapla
#4
Teşekkür ederim. Allah razı olsun.

Formun ShowModal olmadan butonları enabled true yapmak aklıma gelmişti ama denemedim, nedeni form Create etmeden bana mantıklı gelmemişti.
Cevapla
#5
Pardon ben soruyu yanlış gördüm ve anladım..
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#6
(27-01-2019, Saat: 12:53)Yeliz Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Teşekkür ederim. Allah razı olsun.

Formun ShowModal olmadan butonları enabled  true yapmak aklıma gelmişti ama denemedim, nedeni form Create etmeden bana mantıklı gelmemişti.

"ShowModal" komutu : ShowModal ile Çağrdığın Form kapatana kadar ShowModal'dan sonraki kodlar çalışmaz... ShowModal olarak çağırdığın ekranı kapattıktan sonra ShowModal dan sonra ki kodlar çalışmaya devam eder... 

Ayrıca Showmodal geriye Integer değer döndürür Wink

Mesela : Fatura ekranında Müşteri seçmek için Müşteri Arama ekranını ShowModal olarak açarsın, Müşteri Arama ekranında Müşteri seçtiğinde ModalResult := MusteriId ataması yaparak, Seçillen Müşteri ID bilgisini fatura ekranına aktarabilirsin... Sonra da MusteriId bilgisine göre Müşteri Bilgilerini yüklersin...

procedure TFormFatura.Button1Click(Sender: TObject);
var 
 musteriId : integer;

begin
  with TForm_Musteri.Create(Nil) do
    begin
        musteriId := Showmodal;

        queryMusteri.Close;
        queryMusteri.Sql.Text := 'SELECT * FROM musteri WHERE id = ' + inttostr( musteriId ) ;
        queryMusteri.Open;

        editMusteriAdi.Text := queryMusteri.FieldByName('MusteriAdi').asstring;
        queryMusteri.Close;
    end;
end;

Müşteri Arama ekranında Müşteri Seçim İşlemi ;
procedure TFormMusteri.ButtonMusteriSecClick(Sender: TObject);
begin
        ModalResult := queryMusteriListesi.FieldByName('id').AsInteger;
end;

ModalResult yazdığımızda CLOSE; komutu yazmıyoruz!!! ModalResult komutu formu Close ediyor...

2. olarak FormCreate etmeden form içerisinde ki bir nesneyi Enable - Disable edemezsin... 

ShowModal ve FormCreate güle güle kullanman dileğiyle...
Girdim İlim Meclisine, 
Eyledim Kıldım Talep, 

Dediler İlim Geride, 
İlla Edep İlla Edep.

Yunus Emre
Cevapla
#7
Elinize dilinize sağlık +4 rep
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Not Responding Durumu yhackup 6 198 12-07-2019, Saat: 15:13
Son Yorum: yhackup
  Çok sayıda form'daki DBgridlerin kolon genişliğini değiştirmek boreas 6 210 10-07-2019, Saat: 15:09
Son Yorum: boreas
  Form içinde exe nasıl çalıştırılır? Cyb3r 2 258 04-07-2019, Saat: 09:53
Son Yorum: Cyb3r
  Create edilen button olay ekleme. KUNTAY 4 251 26-05-2019, Saat: 15:19
Son Yorum: KUNTAY
  Formların bazen create olmaması ve butonların tıklanmaması hakkında smyrna231802 11 546 11-04-2019, Saat: 09:54
Son Yorum: smyrna231802



Konuyu Okuyanlar: 1 Ziyaretçi