PDA

View Full Version : سوال: از بین بردن حساسیت حروف کوچک و بزرگ در تابع Pos



Mask
یک شنبه 28 فروردین 1390, 23:28 عصر
با سلام
چطور میتونم این حساسیت رو از بین ببرم ... که نمونه زیردر حالت ali و Ali و AlI و aLi و ...
جواب yes رو برگردونه.
ممنون.

var i:byte;
begin
i:=POS('ali',Edit1.Text);
if i<>0 then
ShowMessage('Yes')
else
ShowMessage('No');
end;

mohsen24000
یک شنبه 28 فروردین 1390, 23:39 عصر
var i:byte;
s:string;

begin
s:=Edit1.Text;

i:=POS('ali',LowerCase(s));
if i<>0 then
ShowMessage('Yes')
else
ShowMessage('No');
end;

Mahmood_M
دوشنبه 29 فروردین 1390, 00:08 صبح
حروف کوچک و بزرگ دو حروف متفاوت هستند و کد اسکی متفاوتی دارند ، برای حل مشکلتون می تونید ابتدا تمام حروف رو کوچک یا تمام حروف رو بزرگ کنید و بعد جستجو رو انجام بدید ، مثال :
var
I : Integer;
begin
I := Pos('ALI', UpperCase(Edit1.Text));
if I <> 0 then
ShowMessage('Yes')
else
ShowMessage('No');
end;

تابع UpperCase تمام حروف متن ورودی رو بزرگ میکنه و متن حاصل ( با حروف بزرگ ) رو برگشت میده ، تابع LowerCase هم برای کوچک کردن حروف استفاده میشه .

اگر متن اول ( در اینجا " Ali " ) هم مشخص نیست می تونید مثلا به این صورت عمل کنید :
I := Pos(UpperCase(Edit1.Text), UpperCase(Edit2.Text));
if I <> 0 then
ShowMessage('Yes')
else
ShowMessage('No');
دستور بالا مکان متن درون Edit1 رو درون Edit2 مشخص میکنه .

موفق باشید ...

ویرایش : جوابها همزمان شد !