Enumeration (Перечисления)
Enumeration [name] [<constant> [Step <constant>]] #Constant1 #Constant2 [= <constant>] #Constant3 ... EndEnumeration EnumerationBinary [name] [<constant>] #Constant1 #Constant2 [= <constant>] #Constant3 ... EndEnumeration
Описание
Enumeration (Перечисление) очень удобны, если нужно быстро объявить последовательность констант без использования конкретных чисел. Первая константа в последовательности получит значение 0, следующая будет 1 и т.д Можно изменить значение первой константы и настроить шаг для каждой новой константы в перечислении. Если нужно, текущую константу можно изменить, задав посредством '=' новое значение для этой константы. Так как Enumeration допускают только целые числа, числа с плавающей запятой будут округлены к самому близкому целому числу.
Для идентификации Перечисления можно задать имя, что позволить продолжить данное Перечисление позже. Это позволяет сохранить целостность группы объектов, при объявлении их в различных местах кода.
Только для опытного пользователя: Зарезервированная константа #PB_Compiler_EnumerationValue содержит следующее значение Перечисления. Может быть полезна для сцепления нескольких Перечислений.
Команда EnumerationBinary может использоваться, чтобы создать Перечисление, подходящие для флагов. Первое значение пункта равняется 1.
Пример: простое Перечисление
Enumeration #GadgetInfo ; Будет 0 #GadgetText ; Будет 1 #GadgetOK ; Будет 2 EndEnumeration
Пример: Перечисление с шагом
Enumeration 20 Step 3 #GadgetInfo ; Будет 20 #GadgetText ; Будет 23 #GadgetOK ; Будет 26 EndEnumeration
Пример: Перечисление с динамическим изменением
Enumeration #GadgetInfo ; Будет 0 #GadgetText = 15 ; Будет 15 #GadgetOK ; Будет 16 EndEnumeration
Пример: Перечисление с именем
Enumeration Gadget #GadgetInfo ; Будет 0 #GadgetText ; Будет 1 #GadgetOK ; Будет 2 EndEnumeration Enumeration Window #FirstWindow ; Будет 0 #SecondWindow ; Будет 1 EndEnumeration Enumeration Gadget #GadgetCancel ; Будет 3 #GadgetImage ; Будет 4 #GadgetSound ; Будет 5 EndEnumeration
Пример: Получение следующего значения Перечисления
Enumeration #GadgetInfo ; Будет 0 #GadgetText ; Будет 1 #GadgetOK ; Будет 2 EndEnumeration Debug "Следующее значение enumeration: " + #PB_Compiler_EnumerationValue ; Выведет 3
Пример: Перечисление для двоичного файла
EnumerationBinary #Flags1 ; Будет 1 #Flags2 ; Будет 2 #Flags3 ; Будет 4 #Flags4 ; Будет 8 #Flags5 ; Будет 16 EndEnumeration