Delphi Can

Orjinalini görmek için tıklayınız: if koşulunda çoklu string eşleştirme
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Sayfalar: 1 2
merhaba arkadaşlar.

Delphi genel programlama konusunda bir konuda takıldım..

if ifadesinde bir stringin kontrolünü yapmak istiyorum. Bu stringin 5 sonuç içinde 2 sonucdan herhangi birine eşleşmemesi durumunda kontrollü olarak abort ettirmek istiyorum.. Fakat mantıksal hatayı nerde yaptığımı bulamadım.


//1.yöntem
if MatchText(q0.FieldByName('muracaat_nedeni').AsString ,['1.sonuç','2.sonuç'])=False then
   abort;

//2.yöntem
if (q0.FieldByName('muracaat_nedeni').AsString<>'1.sonuç') or (q0.FieldByName('muracaat_nedeni').AsString<>'2.sonuç') then
   abort;
(11-12-2017, Saat: 15:32)mcuyan Adlı Kullanıcıdan Alıntı: [ -> ]merhaba arkadaşlar.

Delphi genel programlama konusunda bir konuda takıldım..

if ifadesinde bir stringin kontrolünü yapmak istiyorum. Bu stringin 5 sonuç içinde 2 sonucdan herhangi birine eşleşmemesi durumunda kontrollü olarak abort ettirmek istiyorum.. Fakat mantıksal hatayı nerde yaptığımı bulamadım.


//1.yöntem
if MatchText(q0.FieldByName('muracaat_nedeni').AsString ,['1.sonuç','2.sonuç'])=False then
   abort;

//2.yöntem
if (q0.FieldByName('muracaat_nedeni').AsString<>'1.sonuç') or (q0.FieldByName('muracaat_nedeni').AsString<>'2.sonuç') then
   abort;

Merhaba,

5 sonuç içinde 2 sonuçtan herhangi birisine eşleşmeme olayını tam anlamadım hocam. Orayı biraz açabilir misiniz? Yani toplam 5 farklı senaryo var, 2 senaryo tutmazsa/tutarsa radarımıza mı girecek?
Smile biraz karışık oldu sanırım pardon.
X değerinin sonucu 1 ve 2 stringler değil ise abort edicek.. kısacası böyle..
(11-12-2017, Saat: 15:51)mcuyan Adlı Kullanıcıdan Alıntı: [ -> ]Smile biraz karışık oldu sanırım pardon.
X değerinin sonucu 1 ve 2 stringler ise abort edicek.. kısacası böyle..

Yani tüm veriler string. Haftanın günü 'Pazartesi'. Hafta içi 5 günün string değerlerinden birisiyle eşleşirse true, eşleşmezse false gibi bir kontrol mü olacak? Doğru mu anladım?
evet.. yani gün pzt veya salı değil ise abort abort edicek

sql gibi üşünün:
soyadi not in ('ilgaz','uyan')
Çok mu basit düşündüm yoksa şu şekilde mi;

if (edit1.text = 'a') or (edit1.text = 'b') then
begin
 ShowMessage('a yada b girdiniz');
end;
edit in içindeki a veya b değil ise begin end bloğuna girecek.. editin içindeki a yada b olabilir..
(11-12-2017, Saat: 16:04)mcuyan Adlı Kullanıcıdan Alıntı: [ -> ]edit in içindeki a veya b değil ise begin end bloğuna girecek.. editin içindeki a yada b olabilir..

 Eğer o olmasını istemiyorsanız if not.. diye devam edersiniz. Yoksa ben durumu mu yanlış anladım hocam Smile
@hyperxman ın kodu dediğiniz olayı zaten yapar, edit içeriği a veya b ise begin end çalışır, misal "c" ise end in sonuna gider.
yalnız benim anladığım siz 5 farklı değer için en az 2 sinin doğru olmasını mı istiyorsunuz ?
saçmalığa bakarmısın ya..
if bloğunda match texti kulllandığım zaman çalışmıyor. fakat ifden once matchtext,n sonucunu bir boolean değişkene atınca çalışıyor..

   sonuc:=MatchText(q0.FieldByName('muracaat_nedeni').AsString,['Ilk Müracaat','Revizyon']);
   if sonuc=False  then
   begin
     Showmessage(Edit1.text+'  uygun değildir..');
     abort;
   end;
Sayfalar: 1 2