Главная Новые темы Список тем Задать вопрос Поиск  

Форум "Delphi"


Паскаль, Делфи


 #0 ID © 04.08.06 15:46:46 - 04.08.06 16:28:16

пеервод перечисляемого типа в String



Как решить задачку:


type

 TYourEnumType = (One, Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten);
 TY = set of TYourEnumType;
...
procedure TForm1.SpeedButton1Click(Sender: TObject);
 var
   t :TY;
   s: string;

 begin
   t:=[One, Two, Three];
   s:= ? //результат должен быть 'One, Two, Three'
 end;
Цитата

 #1 Deep © 04.08.06 16:24:11

  s:= ? //результат должен быть 'One, Two, Three'

только через if    

if One in t then s := 'One';
if Two in t then s := 'Two';
.....
 #2 ID © 04.08.06 16:26:23

разобрался.
Мой вариант:

procedure TForm1.SpeedButton1Click(Sender: TObject);
 var
 i: Integer;
 t :TY;
 begin
 t:=[One, Two, Three];

  for i := Ord(Low(TYourEnumType)) to Ord(High(TYourEnumType)) do
   if  TYourEnumType(i) in t then ShowMessage(GetEnumName(TypeInfo(TYourE­numType),  i ));
end;


 #3 ID © 04.08.06 16:28:16

если есть более оптимальный, поделитесь, пожалуйста  




  • Написать ответ

    Имя: Регистрация HTML?
    smiles смайлики
    Потом перейти в:    
    паутина



      ©  webest.net, 2002-2007  

    top.mail.ru
    » Бесплатный счетчик посещений
    » Рейтинг сайтов