Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Перечисляемый тип. Преобразование в число.


Автор: Avers 25.11.2008, 11:26
Детский вопрос:
Как преобразовать перечисляемый тип в число и наоборот?

Автор: Alexeis 25.11.2008, 11:38
попробуй привести его к байту smile и преобразуй как байт.

Автор: CodeMonkey 25.11.2008, 11:38
Посмотрите TypInfo.pas, в частности GetEnumName/GetEnumValue.

Добавлено через 48 секунд
Ой, требовалось в число, а не в строку smile  тогда да, простым преобразованием типов.

Автор: Avers 25.11.2008, 11:42
Цитата(Alexeis @  25.11.2008,  11:38 Найти цитируемый пост)
попробуй привести его к байту  и преобразуй как байт.

можно чуть подробнее?  smile 
Например число в TMsgDlgBtn.

Добавлено через 2 минуты и 45 секунд
Тип в число получилось простым ord'ом, а вот наоборот ни как :(

Автор: Rrader 25.11.2008, 12:56
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  Btn: TMsgDlgBtn;
begin
  { В число - нумерация с нуля }
  Btn := mbOK;
  ShowMessage(IntToStr(Integer(Btn)));
  { Присвоим Btn значение mbCancel - номер 3 }
  Btn := TMsgDlgBtn(3);
  if Btn = mbCancel then
    ShowMessage('Btn = mbCancel');
end;

Автор: Avers 27.11.2008, 09:41
Благодарю) заработало)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)