DbEdit Boş Kalmasın

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

DbEdit Boş Kalmasın

Mesaj gönderen hdayi »

Merhaba,
Yaptığım programda bir çok dbedit var ve kullanıcının bunların bazsını boş bırakmaması gerekiyor. DbEdit'lerin OnExit olayımna bir kontrol koyayım dedim ancak beceremedim.
60 civarında DbEdit var ve herbirine ayrı ayrı kod yazmak biraz saçma, acaba bir tanesine bir kod yazıp hepsine uygulamak mümkün mü? Sender'ın boş olup olmadığını kotrol edip boş ise tekrar o DbEdit'e geri dönecek bir kod?

Teşekkürler,
Kolay Gelsin...
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

tum editlerin OnExit olayına tek bir olay yaz
ve içine

Kod: Tümünü seç

  if TEdit(Sender).Text = '' then
    TEdit(Sender).SetFocus;
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

eger tek tek tum editleri toplayayım falan filan diye ugrasmak istemiyorsan
MyOnExit ditye parametreleri OnExit ile aynı bir procedure yaz
icine yukardaki kodu koy

formun onCreate inde tum bilesenleri ara ve Edit olanların OnExit olayına bu proceduru ata
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

Allah razı olsun :)
Beni bir dertten kurtardın ve vir şey daha öğrenmiş oldum. Bu Sender'ın nasıl kullanıldığını bilmiyordum. Bunu herbir component için uygulayabiliriz sanırım yanılıyor muyum? Mesela :

Kod: Tümünü seç

Tbutton(sender).caption:='Falan Filan';
Tlabel(sender).left:=15;
gibi gibi.
Çok sağol.
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

aynen oyle
gecen egitimde bu olaydan bahsetmistim tip donusturme falan filan diye
yalnız burda dikkat edilmesi gereken bir husus var
eger TEdit(Sender).... deyip nesnenin herhangi bir seyine ulasmak istedigimizde Sender Edit degilde Buton ise ayvalara geliriz...
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

:) :) Ayvayı severim, hele manavdan değil de bağdan gelirse :wink:
Peki bi kontrol nasıl koyabiliriz. Konu açıldı diye soruyorum. sender edit ise şunu yap, button ise bunu yap gibi.
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

is operatoru bu ise yarıyor

Kod: Tümünü seç

if Sender is TEdit then 
  TEdit(Sender).Text:='fgdgfdgfd'
else if Sender is TButton then 
  TButton(Sender).Caption:='vfdkgdkf';
seklinde yapabilirsin
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

Evet hatırladım bunu son seminerde anlatmıştın. Umarım kızmadın bana "Ben anlatırken uyumuş diye" :wink:
Tekrar teşekkür ederim.

Kolay Gelsin...
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

hemen CD'lerden tekrar yap hocam :)

Kolay gelsin.
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

Admin'im henüz bu son seminerin cd'leri elimde yok, alınca bi tekrar yapacağım inşallah, bi kaç ta döküman buldum konuyla ilgili. Bu son seminere kadar anlatılanları iyi kötü biliyordum, bildiklerimin tekrarı, yanlış bildiklerimib tashihi, bilmediklerimin de öğrenilmesi mevzu-u bahis idi. Ancak bu son seminerden itibaren (bana göre) derin konulara girdik, beni biraz aştı ama herhalde Delphi biliyorum demek için bunları bilmek gerekiyor. Yoksa benim gibi iki if bi case yazıp, sonra bi de Delphi biliyorum demek hoş olmasa gerek.
Hasılı biliyorum demek için "çoooook çalışmam lazım çook" :)
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

Henüz denememiştim çözümü. Çalıştı çalışmasına da ben ufak bir hata yapmışım.
Benim formda pagecontrol'ler var. Yanlışlıka bir tanesinin onexi'tine aynı procedure'ü koymuşum. Tıkır tıkır çalıştı. Sanki pagecontrol tedit miş gibi bunun text'i boş dedi, hata mesajı verdi ve beni o page controlün dışına çıkarmadı.
showmessage ile adına baktım "pagecontrol3" diyor, nasıl oluyor da oluyor?

Kod: Tümünü seç

procedure Tfrmgenel.DBEdit60Exit(Sender: TObject);
begin
  if (TEdit(Sender).Text='')
  then begin
    ShowMessage(tedit(sender).Name);
    Application.MessageBox('Bu alanı boş bırakamazsınız!','Keramet',mb_ok+mb_iconstop);
    TEdit(Sender).SetFocus;
  end; // if

end;


Kolay Gelsin...
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

ewt oluyor
galiba hiyerarside pageControl daha asagılarda ve delphi bunu edit gibi gorerek islem yapabiliyor
ÜŞENME,ERTELEME,VAZGEÇME
Cevapla