FreeBasic
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.

enum (перечисление)

Участников: 2

Перейти вниз

enum (перечисление) Empty enum (перечисление)

Сообщение  Eric-S Ср Окт 01, 2008 6:13 am

Кто-нибудь разбираеться с перечислениями enum?
Расскажите, пожалуйста, по подробнее, что там к чему.

В исходнике, с которым я хочу разобраться, есть enum и меня интересует, во что и как я могу преобразовать.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 40
Откуда : Россия, Санкт-Петербург

http://eric50.narod.ru

Вернуться к началу Перейти вниз

enum (перечисление) Empty Re: enum (перечисление)

Сообщение  justar Ср Окт 01, 2008 5:41 pm

Enum - это пользовательский тип данных, в определении которого явно перечисляются все возможные значения. Перечисление может быть в явном виде:
Код:

ENUM TDayOfWeek
mon
tue
wed
thu
fri
sat
sun
END ENUM
либо в виде констант:
Код:

ENUM TColor
Red = 1
Green = 2
Blue = 3
Различия этих объявлений только в том, что в первом случае значениям будут сопоствленны целые числа в порядке перечисления (1, 2, 3 и т.д.), а во втором - конкретные значения, выбранные программистом.
После объявления перечисляемого типа можно обычным образом объявлять переменные:
Код:
DIM AS TDayOfWeek ThisDay, LastDay
DIM rgb AS TColor

и пользоваться ими обычным образом, помня, что переменная может принимать только значения, перечисленные в объявлении типа:
Код:

ThisDay = wed
INPUT LastDay
IF LastDay > ThisDay THEN PRINT "Ошибка, прошедший день должен бытт меньше текущего"
SELECT CASE LastDay
CASE mon
CASE tue
END SELECT
ThisDay = LastDay + 1
PRINT ThisDay
Так как перечисляемые значения фактически являются именованными константами, следующие выражения эквивалентны:
ThisDay = wed и ThisDay = 3
rgb = Green и rgb = 2
Соотвественно, переменными перечисляемого типа можно пользоваться как обычными переменными типа INTEGER в рамках области перечисленных целочисленных значений.

justar

Сообщения : 135
Дата регистрации : 2008-05-12
Возраст : 49
Откуда : Кишинёв, Республика Молдоа

Вернуться к началу Перейти вниз

enum (перечисление) Empty Re: enum (перечисление)

Сообщение  Eric-S Ср Окт 01, 2008 10:31 pm

Респект! Понял. Всё элементарно.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 40
Откуда : Россия, Санкт-Петербург

http://eric50.narod.ru

Вернуться к началу Перейти вниз

Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения