if, else, end ile ilgili

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
OnderTastan
Üye
Mesajlar: 38
Kayıt: 01 Tem 2007 05:09
Konum: İzmir

if, else, end ile ilgili

Mesaj gönderen OnderTastan »

merhaba

aşağıdaki kodların yazımında if, else'ler arasına Application.MessageBox 1 veya 2 uyarı butonlusu eklenip bu butonların tıklanması if, else'leri de eklenince ortam biraz karışıyor. Burada neye dikkat etmeliyim?

procedure TGBAf.EkleClick(Sender: TObject);
var
mesaj:integer;
begin

If GBAad.Text='' Then
begin
mesaj:=Application.MessageBox('ADI-SOYADI alanını boş bıraktınız !','Zorunlu Alan',
MB_OK+MB_ICONSTOP);
GBAad.SetFocus;
exit;
end
else
begin

If GBAunvan.Text='' Then
begin
mesaj:=Application.MessageBox('ÜNVANI alanını boş bıraktınız !','Zorunlu Alan',
MB_OK+MB_ICONSTOP);
GBAunvan.SetFocus;
exit;
end
else
begin

Table1.FilterOptions:=[foCaseInsensitive];//harf duyarlılığı yok
Table1.Filter:='GBA_AD='+QuotedStr(GBAad.Text);//kriter
Table1.Filtered:=true;

If (GBAad.Text<>'') and (GBAad.Text=Table1GBA_AD.Text) then
begin
mesaj:=Application.MessageBox('AYNI KAYIT bulunmaktadır !','Aynı Kayıt',
MB_OK+MB_ICONSTOP);

end
else
begin
Table1.Insert;
Table1GBA_AD.Text:=GBAad.Text;
Table1GBA_UNVAN.Text:=GBAunvan.Text;
Table1.Post;
GBAad.Text:='';
GBAunvan.Text:='';

mesaj:=Application.MessageBox('Kayıt Başarıyla Gerçekleştirildi !','Kayıt',
MB_OK+MB_ICONINFORMATION);
end;
end;
end;
end;

end.
"Kendini Affeder Gibi Başkalarını Affet, Başkalarını Azarlar Gibi Kendini Azarla..."
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

for, if gibi yapılarda satır başlarına ikişer boşluk koyarak kardırma yaparsan kodun okunurluluğu artar. örnek:

Kod: Tümünü seç

for i:=0 to 5 do
begin
  if a=b then
    bla bla..
  else if a=c then
  begin
    for i:=5 to 7 do
      a := a+ c[i];
    a:=a/2
  end;
end;
Kullanıcı avatarı
OnderTastan
Üye
Mesajlar: 38
Kayıt: 01 Tem 2007 05:09
Konum: İzmir

Mesaj gönderen OnderTastan »

yazdığım kodları bir kenara bırakarak sorayım.

2 adet edit olsun

2 adet de alan

Alanlar= Adi, Unvan

Ben Degistir butonuna tıkladığımda, veri tabanı ile karşılaştırsın , eğer editlere yazılan veriler veritabanı ile aynı ise Application.MessageBox ile Evet, Hayır butonlarının olduğu bir uyarı vermek istiyorum. "Kayıtta Değişiklik Yapmadınız. Değişiklik yapmak için EVET, Yeni bir kayıt için HAYIR" tıklansın mesela. Umarım anlatabilmişimdir.

Teşekkür ederim.
"Kendini Affeder Gibi Başkalarını Affet, Başkalarını Azarlar Gibi Kendini Azarla..."
dirilis
Üye
Mesajlar: 6
Kayıt: 05 Tem 2007 01:04

Mesaj gönderen dirilis »

s.a

veritabanı belirtirsen iyi olurdu ama ben paradox göre yapacağım

foruma bi tane
bde sekmesinde query koy
databasenamevar oraya c:\ornek.db yaz

sql'ne

Kod: Tümünü seç

select * from ornek.db
yaz

şimdi senin soruna gelelim
buttonun onclick olayına

Kod: Tümünü seç

query1.close;
quey1.sql.clear;
query1.sql.add('select * from ornek.db where adi='''+edit1.text+''');
query1.open;


if edit1.text=query1adi.value then  ** value asstring kullanabilirsin
showmessage('evet')
else
showmessage('hayır');
Glen
Üye
Mesajlar: 277
Kayıt: 12 Eki 2005 11:58

Mesaj gönderen Glen »

Selam,

Veritabanından degisikligi denemek yerine, form ilk acildigindaki degerlerle, kaydet butonuna bastigi degerleri kontrol etmeniz daha saglikli olur.

Ancak, acilan kaydin acilmadan once kilitlenmesi gerekir ki baska birileri kaydi siz degisiklik yaparken degistirmesin, silemesin vs.

Kolay gelsin
Cevapla