dataform da bulunan tabloların datasource değişikliklerini yakalama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
cinarbil
Üye
Mesajlar: 109
Kayıt: 18 Mar 2014 09:26

dataform da bulunan tabloların datasource değişikliklerini yakalama

Mesaj gönderen cinarbil »

Dataform üzerindeki tablolarımın durumlarını yakalama

Kod: Tümünü seç

// data_form üzerindeki kod 
procedure Tdata_form.paramkaynakStateChange(Sender: TObject);
var
durum:string;
begin
case data_form.STOKKAYNAK.State of
dsbrowse:durum:='İnceleme modundasınız';
dsedit : durum:=' Edit modundasınız';
dsinsert : durum:=' ekleme modundasınız';
else durum := 'Bilinmiyor'
end;
end;
yukarıdaki kod ile tablonun durumunu alabiliyorum durum değişkenini global tanımlayarak lazım olan formda kullanıyorum.


başka formlarda örneği stk_form içinde direk olarak data_form.paramkaynakStateChange değişikliğini nasıl yakalarım

Kod: Tümünü seç

if durum v.s kullanmadan
if data_form.paramkaynakStateChange değişti ise 
// kodlar
İnşallah anlatabilmişimdir.
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: dataform da bulunan tabloların datasource değişikliklerini yakalama

Mesaj gönderen mrmarman »

Zaten aşağıdaki gibi dilediğiniz formdan kullanabilirsiniz.

Kod: Tümünü seç

case data_form.STOKKAYNAK.State of
   dsEdit, dsInsert  :
     begin
        // Edit veya Insert için kodlar
     end;
   dsBrowse:
     begin
      // İnceleme moduna ilişkin kodlar
     end;
  else ShowMessage('veritabanı müsait...' );
  end; // case
Yok eğer değişiklik anında bir event olarak durumun diğer formda da tetiklenmesini istiyorsanız buna ilişkin farklı metodlar var. Oradaki herhangi bir eventi tetikleyecek bir hareket yapmanız ilgili formdaki eventi tetikler, siz de o formdaki evente yukarıdaki kodu yerleştirirsiniz.

En kestirme yolu diğer formlarda event olayına girmeden kaynağında, yani DataForm üzerindeki aynı event içinde if blokları yardımıyla o an hangi form aktifse o forma yönelik kodu oraya koymak olacaktır.

Cevap bunlar değilse soruyu biraz daha netleştirmekte fayda var.
Resim
Resim ....Resim
Kullanıcı avatarı
cinarbil
Üye
Mesajlar: 109
Kayıt: 18 Mar 2014 09:26

Re: dataform da bulunan tabloların datasource değişikliklerini yakalama

Mesaj gönderen cinarbil »

Cevabınız için teşekkür ederim.
En kestirme yolu diğer formlarda event olayına girmeden kaynağında, yani DataForm üzerindeki aynı event içinde if blokları yardımıyla o an hangi form aktifse o forma yönelik kodu oraya koymak olacaktır.
bu şekilde kullanmaya devam edeceğim Allah c.c razı olsun.
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla