ورود

View Full Version : آموزش: استفاده از Case برای مقایسه رشته ها



یوسف زالی
دوشنبه 06 آبان 1392, 13:50 عصر
سلام.
هممون چند باری به این داستان برخوردیم که مثلا یک رشته رو با چند تا رشته مقایسه کنیم، متاسفانه Case اجازه چنین کاری رو نمی ده. ولی با استفاده از روشی که خواهم گفت می تونید این کار رو کنید، حتی می تونید اعداد اعشاری رو هم با استفاده Case مقایسه کنید.

برای این کار باید قبلش یک تابع بنویسید:


function CaseIndex(X: Variant; List: array of Variant): integer;
var
i: integer;
begin
Result := -1;

for i := low(List) to High(List) do
if VarCompareValue(X, List[i]) = vrEqual then
begin
Result := i;
Break;
end;
end;

دقت کنید که یونیت Variants در Use باشه.
و این طوری استفاده کنید:


case CaseIndex(Edit1.Text, ['salam', 100, 'A', 0.7, 10]) of
0: {Do Something};
1: {Do Something};
2: {Do Something};
3: {Do Something};
4: {Do Something};
else { = -1: Do Something};
end;


امیدوارم که از کدنویسی هاتون لذت ببرید.
:چشمک: