PDA

View Full Version : مشكل عجيب با case of



baby_tanhaa
دوشنبه 16 اردیبهشت 1387, 14:29 عصر
سلام
يه مشكل عجيب با case of دارم اونم اينكه چرا پارامتر وروديشو نميتونم از نوع استرينگ بدم
اگه واقعا نشه كه يه عيب خيلي بزرگه:گیج:

Amir_Safideh
دوشنبه 16 اردیبهشت 1387, 15:36 عصر
تا اونجا که من متوجه شدم نوع String رو نمیشه در قالب Case ---Of برد .فقط انواع Ordinal مثل Integer,Boolean,Character,... رو میشه در این قالب برد .
------------
موفق باشید .

farhad110
دوشنبه 16 اردیبهشت 1387, 16:36 عصر
با سلام. در حالت عادي استفاده از رشته در case مجاز نيست اما با استفاده از تابع زير ميتونيد اين كار رو انجام بديد:

function StringToCaseSelect
(Selector : string;
CaseList: array of string): Integer;
var cnt: integer;
begin
Result:=-1;
for cnt:=0 to Length(CaseList)-1 do
begin
if CompareText(Selector, CaseList[cnt]) = 0 then
begin
Result:=cnt;
Break;
end;
end;
end;

طريقه استفاده:

case StringToCaseSelect('Delphi',
['About','Borland','Delphi']) of
0:ShowMessage('You''ve picked About') ;
1:ShowMessage('You''ve picked Borland') ;
2:ShowMessage('You''ve picked Delphi') ;
end;