Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
if koşulunda çoklu string eşleştirme
#1
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;
Cevapla
#2
(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?
Cevapla
#3
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..
Cevapla
#4
(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?
Cevapla
#5
evet.. yani gün pzt veya salı değil ise abort abort edicek

sql gibi üşünün:
soyadi not in ('ilgaz','uyan')
Cevapla
#6
Ç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;
kisisel_logo_dark.png
WWW
Cevapla
#7
edit in içindeki a veya b değil ise begin end bloğuna girecek.. editin içindeki a yada b olabilir..
Cevapla
#8
(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
kisisel_logo_dark.png
WWW
Cevapla
#9
@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 ?
WWW
Cevapla
#10
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;
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  CheckLisstBox ta seçilmiş öğelerin String katarına aktarılması maydin60 4 649 07-06-2026, Saat: 01:09
Son Yorum: maydin60
  string icinde alt satirda goster koduyla beraber nasil gonderilir sadikacar60 4 1.353 09-09-2024, Saat: 08:42
Son Yorum: damert6
  Çoklu Create yapma Kral 5 1.629 20-05-2024, Saat: 10:07
Son Yorum: RAD Coder
  OrangeUI çoklu dil sorunu nguzeller 1 1.841 11-07-2023, Saat: 12:50
Son Yorum: delphiman
  String Fonksiyon Kullanımıyla ilgili ermanispir@gmail.com 2 1.335 01-06-2023, Saat: 11:28
Son Yorum: ermanispir@gmail.com



Konuyu Okuyanlar: 1 Ziyaretçi