Форум: "Основная";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];
ВнизМожно ли индексированно обратиться к перечисляемому типу? Найти похожие ветки
← →
Ega23 (2003-12-23 10:45) [0]Type
TExecKind = (ekOpen, ekExec,ekCmd, ekApp, ekNone, ekInfo, ekHelp);
Писать функцию перевода? Но ведь наверняка внутри ekOpen=0, ekExec=1 и т.д.
← →
TUser (2003-12-23 10:46) [1]Писать функцию перевода.
← →
Skier (2003-12-23 10:46) [2]
> ? Но ведь наверняка внутри ekOpen=0, ekExec=1 и т.д.
Угу.
А зачем тебе всё это ?
← →
Silver Alex (2003-12-23 10:48) [3]можно Ord(ekOpen), а если у тебя Delphi 7 вообще можно писать
TExecKind = (ekOpen=10, ekExec=23,ekCmd=34, ekApp=56, ekNone=78, ekInfo=81, ekHelp=99);
← →
Ega23 (2003-12-23 10:48) [4]Да если бы можно было, код красивше получался....
Ладно, спасибо.
← →
Ega23 (2003-12-23 10:49) [5]
> можно Ord(ekOpen), а если у тебя Delphi 7 вообще можно писать
>
> TExecKind = (ekOpen=10, ekExec=23,ekCmd=34, ekApp=56, ekNone=78,
> ekInfo=81, ekHelp=99);
О! То что надо!
← →
wicked (2003-12-23 10:51) [6]или так
const values: array [TExecKind] of integer = (0, 1, 2, 3 etc)
кстати, очень часто в исходниках vcl встречается...
← →
Sandman25 (2003-12-23 10:55) [7]Кстати, можно и наоборот.
TExecKind(0) возвратит первый элемент типа.
Удобно при использовании компонентов с ItemIndex для выбора из списка.
← →
Dred2k (2003-12-23 12:29) [8]> Ega23 © (23.12.03 10:45)
Да можно. Приводи к типу и все. Почти как массив. ;)
uses TypInfo;
type
TExecKind = (ekOpen, ekExec,ekCmd, ekApp, ekNone, ekInfo, ekHelp);
procedure TForm1.Button1Click(Sender: TObject);
var tmp : TExecKind;
begin
tmp := TExecKind(5);
ShowMessage(GetEnumName(TypeInfo(TExecKind), Integer(tmp)));
end;
← →
PVOzerski (2003-12-23 12:42) [9]Я проще делаю: если знаю, что значения данного типа мне придется использовать в ариметических операциях, делаю его подмножеством целого, а возможные значения определяю как константы (а в сущности, и тип не нужен).
const
ekOpen=0;
ekExec=1;
ekCmd=2;
ekApp=3;
ekNone=4;
ekInfo=5;
ekHelp=6;
type
TExecKind=ekOpen..ekHelp;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.016 c