Объявление переменной

Оценить
(1 голос)

В любой формуле, которая будет использовать переменную, первым делом следует объявить эту переменную. При объявлении под переменную резервируется необходимый объем памяти, величина которого зависит от используемого ею типа данных. Объявления переменных можно найти в окне Operator Tree редактора Formula, Editor, в разделе Variable Declarations (Объявление переменных), который показан на рис. 5.17.

Обратите внимание на то, что для каждого типа данных в Crystal Reports существует свой оператор объявления переменной. Вы заблаговременно должны продумать, данные какого типа будет хранить ваша переменная, и после этого соответствующим образом объявить ее. Например, при необходимости сделать так, чтобы от записи к записи отслеживалось имя клиента, вы должны объявить строковую переменную.

На заметку! В синтаксисе Crystal и Basic для работы с переменными используются различные операторы. Синтаксис Basic в Crystal Reports, так же как и в Microsoft Visual Basic, для объявления переменной требует применения оператора Dim. И так же, как в Visual Basic, вы здесь можете либо назначить переменной тип данных в операторе Dim, либо просто присвоить ей значение после оператора Dim без типа данных (в этом случае переменная автоматически принимает тип данных присвоенного ей значения). В силу такого сходства с Visual Basic переменные в синтаксисе Basic рассматриваться не будут, поскольку они достаточно хорошо описаны в документации по Visual Basic. Все, что мы дальше будем рассказывать о переменных, касается только синтаксиса Crystal.

Объявление переменной

Вы также должны выбрать для каждой переменной имя. Это может быть любое имя, главное, чтобы оно не начиналось с цифры, не содержало пробелов и не конфликтовало с зарезервированными словами языка формул Crystal Reports. Например, вы не можете использовать для переменных такие имена, как Date, ToText или Uppercase, поскольку они зарезервированы в языке формул Crystal Reports для обозначения встроенных функций (то, являются ли выбранные вами для переменных имена зарезервированными словами, легко понять, посмотрев, каким цветом они выделены в окне редактора Formula Editor — все зарезервированные слова Crystal Reports выделяет синим).

Чтобы объявить переменную, введите соответствующее ключевое слово объявления переменной и укажите после него имя, которое выбрали для данной переменной, например:

NumberVar BonusAmount;

Приведенный оператор объявляет числовую переменную BonusAmount, которой затем могут быть присвоены числовые значения. Точка с запятой в конце оператора отделяет этот оператор от следующего оператора в формуле (возможно, это будет оператор, присваивающий переменной какое-нибудь значение или проверяющий ее содержимое).

При желании использовать в формуле несколько переменных, вы можете объявить их все сразу, опять-таки не забыв разделить их с помощью точки с запятой, например, так:

NumberVar BonusAmount;

StringVar BonusCustName;

DateVar DateBonusReach;

Совет. Возможно, вам уже хорошо известно, как выполняется присваивание значений переменным в других языках программирования. Однако не забывайте о том, что Crystal Reports обрабатывает переменные несколько иным способом. Вы должны объявлять переменную в каждой формуле, в которой планируете ее использовать. Однако даже если вы объявите переменную и присвоите ей значение в одной формуле, а затем объявите ее снова в другой формуле, которая находится дальше в отчете, она сохранит значение из первой формулы. В отличие от многих других языков, многократное объявление одной и той же переменной в Crystal Reports не приводит к сбрасыванию ее значения в ноль или пустую строку (исключением являются разве что локальные переменные, речь о которых пойдет в следующем разделе). Это касается как синтаксиса Crystal, так и синтаксиса Basic. Даже если при разработке программ в Visual Basic вы привыкли однократно использовать оператор Dim, в синтаксисе Basic вы должны применять его в каждой формуле, в которой хотите сослаться на переменную. Если переменная была объявлена с помощью оператора Dim в одной формуле, повторное ее объявление в другой формуле не приведет к сбросу ее значения.

 

Область действия переменной
Присваивание значения переменной
Отображение содержимого переменной
Времена вычисления формул и проходы отчета
Библиотеки пользовательских функций

Добавить комментарий


Защитный код
Обновить