delphi4arab منتديات دلفي للعرب
استفسار عن الجملة المشروطه if - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : استفسار عن الجملة المشروطه if (/showthread.php?tid=3016)

الصفحات: 1 2 3 4 5


استفسار عن الجملة المشروطه if - kachwahed - 25-04-2011

بهذا التابع لست بحاجة لفحص الحروف الكبيرة والصغيرة:
PHP كود :
if AnsiContainsText(Edit1.Text, 'delphi') then Button1.Enabled := False; 
التابع AnsiContainsStr يقوم بنفس العمل غير أنه حساس (sensitive) تجاه حالة الأحرف (Upper/Lower Case)
انظر الموقع:
PHP كود :
http://www.delphibasics.co.uk/RTL.asp?Name=AnsiContainsText 
ثم ضعه ضمن المفضلة لديك Smile
بالتوفيق.



استفسار عن الجملة المشروطه if - ELARAPY - 25-04-2011

استاذ كاش واحد انا لا اقصد حالة الاحرف هذا كان مثال

لكن اقصد كلمات مختلفه

مثلا ان يكون النص DELPHI والاخر ELARAPY

على سبيل المثال في حدث OnChange لل Edit

المراد اذا كان النص يحتوي Delphi او ELARAPY

النتيجه

كود :
Button1.Enabled:=False;



استفسار عن الجملة المشروطه if - kachwahed - 25-04-2011

أخي الكريم، لم أقصد ذلك
الدالة AnsiContainsText تقوم بالتحقق من سلسلة نصية فيما إذا كانت محتواة داخل سلسلة أخرى
قصدت أن التابع يقوم بتلك المقارنة دون الأخذ بعين الاعتبار حالة الأحرف:
PHP كود :
uses
  StrUtils
;
...
if 
AnsiContainsText(Edit1.Text, 'delphi') or AnsiContainsText(Edit1.Text, 'ELARAPY') then
    Button1
.Enabled := False; 
وبالتالي لا داعي للمقارنة مع delphi ثم DELPHI أو Delphi كلهم سواء...
بالتوفيق.



استفسار عن الجملة المشروطه if - ELARAPY - 25-04-2011

تمت التجربه بنجاح

استاذي حضرتك لم تفهم مشكلتي

مشكلتي اني كنت أود التحقق من اكثر من سلسه نصيه ولم اتمكن من كتابه الشيفرة المضبوطه

بارك الله فيك تمت التجربه الموضحه بنجاح والحمد لله


استفسار عن الجملة المشروطه if - kachwahed - 25-04-2011

فهمت مثالك أخي وأردت فقط أن أضيف Smile
تابع آخر للتسهيل أكثر:
PHP كود :
if AnsiIndexText(Edit1.Text, ['delphi', 'elarapy']) >= 0 then
    Button1
.Enabled := False; 
المزيد عنه:
PHP كود :
http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/StrUtils_AnsiIndexText.html 



استفسار عن الجملة المشروطه if - ELARAPY - 26-04-2011

التابع لا يعمل مع Delphi Xe ولا Delphi 2010

ويعمل مع Delphi 7

ما الحل


استفسار عن الجملة المشروطه if - mohfa - 26-04-2011

على السريع :
PHP كود :
var
Dlp,DLP:Integer;
begin
Dlp
:=Pos('Delphi',Edit1.Text);
DLP:=Pos('DELPHI',Edit1.Text);
if 
Dlp<>0 or DLP<>0 then 
//افعل ماتريد
end; 



استفسار عن الجملة المشروطه if - ELARAPY - 26-04-2011

mohfa كتب :على السريع :
PHP كود :
var
Dlp,DLP:Integer;
begin
Dlp
:=Pos('Delphi',Edit1.Text);
DLP:=Pos('DELPHI',Edit1.Text);
if 
Dlp<>0 or DLP<>0 then 
//افعل ماتريد
end; 

لكن هذا سكون الكود كبير جدا لاني أحاول امنع ال Button من التفعيل في حالة وجود نص في ال edit

وهذا النص عبارة عن اسماء اشخاص ولكن ليس اسم او اثنين بل حوالي 20 اسم

ثانيا الاسماء عربيه

كنت اود كود ويتم وضع الاسماء كلها في كود واحد لو امكن


استفسار عن الجملة المشروطه if - mohfa - 26-04-2011

جرب هدا
كود :
function FindMe(S: string): boolean; //add as much strings as you want to this Static array const Me: array[1..3] of string = ('delphi','Delphi','DELPHI'); var i: integer; begin for i := 1 to 3 do begin // SameText is Case insensitive . result := SameText(S,Me[i]); if result // if True then break; // Stop the For Loop end; end;

للتجربة :
كود :
button2.Enabled:=FindMe(trim(edit1.Text));


والسلام عليكم


استفسار عن الجملة المشروطه if - kachwahed - 26-04-2011

إقتباس :التابع لا يعمل مع Delphi Xe ولا Delphi 2010
بلى أخي الكريم فقط ينبغي إضافة المكتبة StrUtils ضمن الـ Uses
والأفضل مع الإصدارات التي ذلك استخدام IndexText بنفس الطريقة:
PHP كود :
if IndexText(Edit1.Text, ['delphi', 'elarapy']) >= 0 then
    Button1
.Enabled := False; 
إقتباس :وهذا النص عبارة عن اسماء اشخاص ولكن ليس اسم او اثنين بل حوالي 20 اسم
20 اسم! كان عليك أن تقول ذلك منذ البداية...
لا أنصح بمثل هذه الطريقة لأجل ذلك الغرض
استخدام جدول من قاعدة بيانات.
بالتوفيق.