Arkadaşlar DBEdit ve DBGrid alanlarım var ve birde Ekle / Kayıt /Düzelt buttonlarım var alanları doldurduktan sonra kayıt buttonuna basmadan kayıt yapmasını istemiyorum bunu nasıl önleyebilirim Kayıt buttonuna basınca kaydetsin yoksa değişklik yapmasın.
hocam sorunu pek anlamadım ama şöyle desem dbgridde alanları listelisyorsun ekle butonuyla boş satır ekliyorsun sonra kullanıcı alanları dolduruyor ama kayıt etmeden formdan çıkıyor veya o ekrandan..bu durumda sen kullanıcının henüz kaydetmediği değişiklikleri tabloya kaydetmek istemiyorsun..doğru anladımmı bilmem ama..
şöyle bir kod işini görebilir..
if tablo_adi.state in dseditmodes then begin
if messeagedlg('Tabloda Kaydedilmemiş Değişiklikler Var. Değişiklikleri Kaydetmek İstiyormusunuz?',mtwarning,[mbyes,mbno],0)=mryes then
tablo_adi.post
else
tablo_adi.cancel
çıkış butonuna koyarsan kullanıcı formu sağ üst köşedeki X işaretinden kapatabilr böylece kodun hiçbir anlamı kalmaz onun için formun OnCloseQuery eventsına koysan daha iyi olur..
Kolay gelsin..
onselder yazdı:burda bende birşey sormak istiyorum OnCloseQuery ile onclose arasında ne fark vardır?
OnCloseQuery'deki Var Parametre sayesinde kapatıp kapatmayacağını belirleyebilirsin. OnClose'da yapamazsın. OnCloseQuery'de kapanma işlemini iptal etme şansın var.
s.a.
+ olarak belirtmek istediğim bişye var.
bildiğim kadarı ile onclose olayında action parametresine caNone verilirse formu kapatmıyor.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Selamlar.
Benim bildiğim en belirgin fark (yanılıyor da olabilirim..) OnCloseQuery, harici bir kapatma işlemi esnasında da tetikleniyor..Örneğin görev yöneticisi vasıtası ile kapatırken..
Kolay gele..