SetFocus döngüsü !

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

SetFocus döngüsü !

Mesaj gönderen ozcank »

Arkadaşlar SetFocus döngüsüne takılıyorum başka yolum var mı? burdan çıkmak için boş geçmesini istemiyorum.

Kod: Tümünü seç

procedure TForm22.DBEdit29Exit(Sender: TObject);
begin
If DBEdit29.Text='' Then
Begin
ShowMessage('Bu alanı lütfen boş geçmeyiniz !!! ');
DBEdit29.SetFocus;
end
else

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

Mesaj gönderen hdayi »

???
Yanlış bişey yok gibi, Yapmak istediğin dbedit29 boş ise controlü tekrar dbedit29'a geçiriyor.
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

takılıyor ama mesela düzelt butonuna basacam bastırmıyor.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Doldurulması gerekli alanlar için kayıt esnasında BeforePost da alanları kontrol edebilir boş alanlar varsa uyarı mesajını verdirip Abort; ile kayıt işlemini iptal edebilirsin :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

yazmış olduğum kodu oraya yazabilirmiyim?
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Aşağıdakine benzer şekilde düzenlersen kullanabilirsin..

Kod: Tümünü seç

procedure TDM.Tablo1BeforePost(DataSet: TDataSet);
begin
  if trim(Tablo1.FieldByName('ADI').AsString) = '' then
  begin
    ShowMessage('Bu alanı lütfen boş geçmeyiniz !!! ');
    Abort;
    Form2.DBEdit29.SetFocus; // DBEdit29 hangi formda ise önüne onun adı yazılmalı!
  end;
end; 
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

Field 'Sıra No' must have a value mesajı veriyor bunu türkçe yapabilirmiyim?

Kod: Tümünü seç

  if trim(Table1.FieldByName('ROSIRANO').AsString)='' then
  begin
    ShowMessage('Bu alanı lütfen boş geçmeyiniz !!! ');
 //   Abort;
    Form22.DBEdit29.SetFocus; // DBEdit29 hangi formda ise önüne onun adı yazılmalı!
  end;
end;

abort çalışmadı.
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

Table1 e çift tıkla FieldsEditör den o alanın required özelliğini false yap.
DeveloperToolKit

..::|YeşilMavi|::..
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

dediğiniz şekilde yaptım ama bu sefer döngüye takıldım yine çıkış yaptırmıyor.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
kodların ilk yazdığınız mesajdaki yerinde olduğunu farzedelim..
tablonun (veya datasource nin) autoedit özelliği vardı o true mu?
"Düzelt" butonuna niye basmak istiyorsunuz?
"Düzelt" butonuna basmak için önceden kaydet düğmesine basması lazım.
"Kaydet" düğmesine bastığı zaman bu kodun çalışıp kaydet düğmesine basmanı engellemesi lazım("düzelt" düğmesine basmanı engellediği gibi)
Kurguladığın yapıyı tam olarak bilemiyorum ama bi gözden geçirsen diyorum...

Kolay gelsin. :wink:
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

autoedit true olarak ayarlı fakat Sıra No boş ise eğer geçmemesi gerekiyor
bunu ayarlamaya çalışıyorum ama orda takılıyor daha doğrusu SETFOCUS da
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

bu tip kontrolleri onEnter, onExit, AfterInsert, AfterEdit gibi olaylarda yapmayı sevmem. Kaydet butonunun OnClick olayı bu iş için en uygun yer bana göre.

Kod: Tümünü seç

ButtonKaydet.Click
begin

if editx.text ='' then
begin
  bu alan boş geçilemez.
  setFocus
  Exit
end  

VerileriKaydet
end;
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Cevapla