27-02-2010, 04:50 PM
أخي moh38 يمكنك أن تفهم ان التعامل مع الـ Enum (نوع من الأنماط :: Type énumérés)
على أساس ترتيبها (Ord) في تعريف النمط (Type) , لاحظ هدا المثال :wacko: :
الأن لعرض الـ Enum في String Result مثلا :
نقوم بكتابة دالة بسيطة ترجع الـ String المكافئ للـ Ord المقابل له في TColor
الأن كتوظيف للدالة Enum2Str :
بدمج المشاركة #2 & #5 يمكنك بكل سهول تصحيح الكود بنفسك .
أ ر جـ و ا أن تكون الفكرة قد وصلت .. بالتوفيق ,,
على أساس ترتيبها (Ord) في تعريف النمط (Type) , لاحظ هدا المثال :wacko: :
PHP كود :
Type
Tcolor = (Red,Black,White,Green);
Var
Color: Tcolor;
begin
Color:= Low(Tcolor);
ShowMessage(IntToStr(Ord(Color)));
Inc(Color);
ShowMessage(IntToStr(Ord(Color)));
Dec(Color);
ShowMessage(IntToStr(Ord(Color)));
end;
نقوم بكتابة دالة بسيطة ترجع الـ String المكافئ للـ Ord المقابل له في TColor
PHP كود :
Type
Tcolor = (Red,Black,White,Green);
Function Enum2Str(MyColor : Tcolor):String;
begin
case MyColor of
Green : Result:='Green';
White : Result:='White';
Red : Result:='Red';
Black : Result:='Black';
end;
end;
PHP كود :
Var
Color: Tcolor;
begin
Color := Tcolor(2);//White
case Color of
Tcolor(0):
ShowMessage(Enum2Str(Color));
Tcolor(1):
ShowMessage(Enum2Str(Color));
Tcolor(2):
ShowMessage(Enum2Str(Color));
Tcolor(3):
ShowMessage(Enum2Str(Color));
end;
end;
أ ر جـ و ا أن تكون الفكرة قد وصلت .. بالتوفيق ,,
I'M Fly Like A G6

