Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перечислимый тип в строку [D7, XP]


Megabyte ©   (2007-06-06 16:18:00) 

Есть собственный перечислимый тип. Надо его значение использовать как строку, в качестве параметра. Можно было бы забить, и просто строковый параметр юзать, но перечислимый тип нужен для использования в операторе выбора Case.
Что посоветуете?


ЮЮ   (2007-06-07 08:35:00) [1]

>Есть много ХП с одинаковыми входными параметрами
Точно уверен, что перечислил все и больше никогда новой ХП, вызываемой этой процедурой, не будет?

Это я к тому, что, ИМХО, не следует притягивать за уши перечислимый тип к именам ХП лишь из-за того, что case тебе так приглянулся.


Megabyte   (2007-06-07 08:28:00) [2]

Есть много ХП с одинаковыми входными параметрами. Соответственно надо реализовать для них вызовы реальных процедур с Дельфи. Делаю перечислимый тип с именами ХП.
В зависимости от нажимаемой кнопки на форме передаются параметры + название функции в качестве доп. параметра в датамодуль.А там всего лишь одна функция(вместо 14), которая использует в качестве строки имя перечислимого типа в построении запроса, а как собственно перечислимый тип, он используется в операторе выбора Case - для дальнейшей обработки(выходные данные ХП отличаются по струкруре и типам).


Johnmen   (2007-06-06 21:18:00) [3]


>  Надо его значение использовать как строку, в качестве параметра.

Кому надо? И почему надо?
Просто интересно...


Megabyte   (2007-06-06 16:56:00) [4]

Спасибо


MBo   (2007-06-06 16:23:00) [5]

GetEnumName


Джо   (2007-06-06 16:22:00) [6]

uses TypInfo;
...
type
 TMyEnum = (enYes,enNo);
...
var
 Enum: TMyEnum;
begin
 Enum := enYes;
 ShowMessage(GetEnumName(TypeInfo(TMyEnum),Integer(Enum)))
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо