Язык Lotus Script. Компоненты языка LotusScript. Построение операторов языка LotusScript, страница 10

Хотя в языке LotusScript отсутствует такой тип данных, как дата/время, возможность работы с данными, тем не менее, существует: в LotusScript имеется полный набор функций для обработки данных даты/времени. Работая в LotusScript с данными даты/ времени всегда определяйте их как данные типа Variant. Допустимые в LotusScript даты лежат в диапазоне от 1/1/100 до 12/31/9999. Даты хранятся в виде чисел с плавающей точкой удвоенной точности, где целая часть числа представляет дату (число -657 434 соответствует дате 1/1/100, число 0 - дате 12/30/1899 и число 2 958 465 — дате 12/30/9999), а дробная часть числа представляет время. Например, дате 4/20/97 соответствует число 35540. Формула для вычисления этого значения имеет следующий вид:

Print "Today's number is " S CDbl(Date)

Здесь стоит повторить еще раз, работая с датами в LotusScript, определяйте их как данные типа Variant.

В LotusScript, так же как и в языке формул, тип данных, хранимых в переменной типа Variant, может изменяться в зависимости от того, какие данные заносятся в эту переменную. Это и полезно, и опасно одновременно. Можно очень легко забыть, данные какого типа находятся в настоящий момент в переменной типа Variant. В листинге 22.15 демонстрируется, как переменная leopard типа Variant может изменить свою "окраску".

Листинг 22.15. Изменение типа данных, хранимых в переменной типа Variant

Dim leopardv as Variant

leopardv = "a string variable"

Print "The leopard is now " S leopardv

leopardv = 12453

Print "The leopard is now " & leopardv

leopardv = $233,543.353

Print "The leopard is now " & leopardv

Функции

Функция — это именованная процедура, которая принимает аргументы (необязательно) и возвращает значение. В LotusScript имеется ряд предопределенных, встроенных функций, например,Input, Month и Today. Разработчик не может изменять эти встроенные функции. Однако он может создавать свои собственные функции. Каждая функция принимает определенные параметры и возвращает некоторое значение. Поскольку у функции есть возвращаемое значение, а возвращаемое значение является данными определенного типа, при работе со значениями, возвращаемыми функциями, необходимо быть осторожным.

Писать свои собственные функции очень просто: необходимо в объявлении присвоить функции имя, определить аргументы, которые она может принимать, и определить тип данных возвращаемого значения. В листинге 22.16 приведен пример объявления как функции, так и подпрограммы.

Подпрограммы

Подпрограмма (называемая также sub) — это, как и функция, именованная процедура. Различие заключается в том, что подпрограмма не возвращает никакого значения. Однако она может принимать аргументы.

Листинг 22.16. Объявления функции и подпрограммы

Dim myVar As String

myVar = "hello there" 'занести значение в переменную myVar

' следующая строка печатает значение, возвращаемое функцией mySub

Print "The return value from myFunction is: " S myFunction( myVar )

mySub( myVar ) 'эта строка вызывает подпрограмму, печатающую сообщение

Function myFunction( the input As String ) As String

myFunction = Ucase( the input )

End Function

Sub mySub( the input As String)

Print "mySub printed this: " S theinput

End Sub

Объекты

Объектами являются рабочее пространство, страницы рабочего пространства, пиктограммы из панели пиктограмм, пиктограммы баз данных и страница Репликатора. Это объекты, на которые можно ссылаться и которые можно описывать. Подобно предметам материального мира, объекты Notes имеют свойства, которые можно изменять или просматривать; для каждого объекта имеется список действий, которые можно выполнять с помощью данного объекта или над данным объектом.

Очень важным понятием в объектно-ориентированных языках является понятие вместимости. Внутри одних объектов могут быть другие объекты. О базе данных Domino (расширение .NSF) часто говорят как о хранилище объектов. База данных Domino является контейнером для таких объектов, как формы, представления, документы и т.д. А каждый из этих объектов содержит, в свою очередь, другие объекты. Представление содержит объект столбец. Документ содержит объект элемент (поле).