Delphi IIF

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
ismailkocacan
Üye
Mesajlar: 88
Kayıt: 25 Eyl 2011 06:11
Konum: İstanbul
İletişim:

Delphi IIF

Mesaj gönderen ismailkocacan »

Bir üstad benimle paylaştı.Ben sizinle...
Bildiğim kadarı ile "IIF" komutu firebird sql de var.Ve SQL server 2012'ye de ekleneceğini gördüm.

Delphi :

Kod: Tümünü seç

function iif(Condition: boolean; T, F: variant): variant;
begin
  if Condition then
    Result := T
  else
    Result := F;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
 x,y:Integer;
begin
  x:=5;
  y:=6;
  Caption:=iif(x>y,'Doğrudur','Yanlıştır');
end;
Condition array olursa.Birden fazla şart parametre olarak geçilirse daha güzel olur düşüncesindeyim.
Vesselam :D
Kolay Gelsin
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: Delphi IIF

Mesaj gönderen Lost Soul »

Delphi 2010 (ve belki 2007 de de olabilir) StsrUtils ve Math unitlerinde halihazırda bu işi gören ifthen ibaresi var.
Gerçi parametreleri variant değil ama gene de var yani :)

ayrıca null variantlarda verdiğiniz örnek hata verir. Ek olarak if VarIsNull kontrolü eklemek lazım. Null variantın orada ne işi var demeyin :) Vakti zamanında bi yerde başıma gelmişti.

Paylaşım için teşekkürler kolay gelsin.
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: Delphi IIF

Mesaj gönderen orhancc »

Kod: Tümünü seç

Foo := IfThen(Obj = nil, '<none>', Obj.Name);
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: Delphi IIF

Mesaj gönderen Lost Soul »

orhancc yazdı:

Kod: Tümünü seç

Foo := IfThen(Obj = nil, '<none>', Obj.Name);
İşte bu objenin nil olması durumda a.v. hatası verir zira delphi her halukarda false değerini de kontrol ediyor malesef.
Cevapla