Константы

Константа - элемент кода, значение которого устанавливается один раз и в процессе выполнения программы не изменяется. Константы могут быть определены в глобальном пространстве имён, в собственных пространствах имён, в классах, процедурах, функциях и свойствах.

Константы пространств имён доступны в рамках пространств имён, а также во всех дочерних элементах кода. Константы, объявленные в классах, могут иметь модификатор доступа, который определит их область видимости. Константы, объявленные в процедурах/функциях/свойствах, доступны для использования только внутри них.

Все константы должны быть описаны в специальном разделе, который начинается с зарезервированного слова Const. Тип константы не указывается, а определяется автоматически при анализе значения константы. Если константа определяется в классе, то ключевое слово Const указывается для каждой отдельной константы.

Имеется возможность определить константу путём вычисления выражения на основании ранее определённых констант. В выражениях могут использоваться все математические операции (+, -, /, *, div, mod), логические операции (not, or, and, xor) и операции отношения.

Const
    <идентификатор1> = <значение1>;
    <идентификатор2> = <значение2>;

Class <класс>: Object
    Const <идентификатор1> = <значение1>;
    Const <идентификатор2> = <значение2>;
    
End Class <класс>;

Зарезервированные константы

В Fore имеется ряд зарезервированных констант, имеющих фиксированное значение. В коде данные константы подсвечиваются как ключевые слова.

Наименование Описание константы
True Возвращает логическое значение «Истина».
False Возвращает логическое значение «Ложь».
Null Предоставляет пустую ссылку, которая не ссылается ни на один объект. При установке в качестве значения приводит к сбросу значения и освобождению ресурсов, которые были затрачены на хранение значения. Null в качестве значения может быть задан для переменных, имеющих один из следующих типов данных:
  • системный или пользовательский объект;
  • интерфейс;
  • Variant;
  • Array.
При попытке указать Null в качестве значения переменной, имеющей простой тип данных, генерируется исключительная ситуация.

Пример

Const
    _globlaVersion = 1.0;
    _globlaName = "Programm";

Namespace TestNamespace
Const
    _FileName = "Output";
    _Path = "c:\Work\";
    _Max = 255;
    _Min = 0;

    Public Class Test: Object
        Public Const _clsConst1 = 1;
        Const _clsConst2 = "#FF0000";

        Public Property FilePath(Index: Integer): String
            Get
            Const
                _ext0 = "xml";
                _ext1 = "txt";
                _ext2 = "dat";
            Begin
                If Index = 0 Then
                    Return _Path + _FileName + '.' + _ext0;
                Elseif Index = 1 Then
                    Return _Path + _FileName + '.' + _ext1;
                Else
                    Return _Path + _FileName + '.' + _ext2;
                End If;
            End Get
        End Property FilePath;

        Public Function GetColor(_Default: Boolean = True): String;
        Const
            _funcConst = "#FFFF00";
        Begin
            If _Default Then
                Return _clsConst2;
            Else
                Return _funcConst;
            End If;
        End Function GetColor;
    End Class Test;
End Namespace TestNamespace;

См. также:

Руководство по языку Fore | Переменные