Создание констант и переменных в VFP
« Назад Константы разделяются на буквальные и именованные. Буквальная константа – это одно из возможных значений данных. Например: 1.2, .T., "Дата и время" – буквальные константы числового, логического и символьного типов. Именованная константа – это элемент языка, значение которого не может быть изменено на этапе выполнения программы. Директива #DEFINE CONSTNAME eExpressionопределяет именованную константу CONSTNAME. Константа создается и получает значение на этапе компиляции. Использование констант приводит к экономии памяти, снижению временных затрат и в ряде случаев к упрощению программы. Параметр: eExpression – выражение типа Character, Numeric, Currency, Date, DateTime или Logical. Всякий раз, когда константа CONSTNAME обнаруживается в выражении, вычисляется eExpression и полученный результат используется в качестве значения константы. Замечания:
#define SQRT 4 && Теперь функция SQRT( ) недоступна ? SQRT && Напечатает: 4 ? Sqrt(4) && Вызовет ошибку #undef SQRT ? Sqrt(4) && Напечатает: 2.00 Пример. Значение константы SOMECONST переопределяется. #define SOMECONST x * Sqrt(y) x = 2 y = 4 ? SOMECONST && Напечатает: 4.00 x = 1 y = 9 ? SOMECONST && Напечатает: 3.00 Созданная define-константа доступна только в породившей ее программе. Так, если константа определена в методе или обработчике события формы, то она доступна только в внутри этих процедур. Однако если define-константа определена в Include-файле, и этот файл выбран для формы (Form – Include File…), то константа доступна во всех методах и обработчиках событий формы. Значение define-константы нельзя изменить, например располагая ее имя в левой части оператора присваивания. Попытка изменения define-константы в результате присваивания ей значения приведет к генерации ошибки. Директива #UNDEF CONSTNAMEосвобождает define-константу CONSTNAME. После ее исполнение имя CONSTNAME воспринимается как имя несуществующей переменной. |