Руководство разработчика. Hello World!
Со времен ветхого завета в мире программирования принято начинать знакомство с новой системой написанием простейшей программы вывода на экран строки "Hello World!". Будем придерживаться канонов. Читатель, уже знакомый с тем, как на Гедымине пишется программный код и создаются экранные формы, без малейших для себя последствий может пропустить эту главу. Мы же выполним следующие действия:
- Запустим Гедымин и подключимся к демо базе под учетной записью Administrator.
- В главном окне программы раскроем меню Сервис и вызовем команду Редактор скрипт-объектов.
- Найдем окно Проводник, в дереве выделим пункт Глобальные макросы[1] и нажмем правую кнопку мыши.
- Из появившегося меню выберем команду Добавить макрос, как показано на рисунке ниже:
<imgtag width="320px" link="on">
</imgtag>
Совет: При первом обращении Редактор скрипт-объектов может содержать вспомогательные окна, такие как: Список переменных, Стек вызовов, Сообщения и др. Для экономии экранного пространства их можно закрыть. Если вы случайно закрыли окно Проводника, вернуть на экран его можно с помощью комбинации горячих клавиш Ctrl-Alt-T или воспользовавшись меню Окна Редактора скрипт-объектов (не путайте с меню Окна главного окна Гедымина).
По выполнении вышеуказанных действий на рабочем поле Редактора скрипт-объектов откроется окно редактирования макроса.
<imgtag width="580px" link="on">
</imgtag>
Пусть вас не смущает обилие полей ввода. В следующих главах мы подробно ознакомимся с предназначением каждого из них. А пока, наберем в поле Наименование макроса строку "Hello World!", а в поле Наименование функции – "HelloWorld" (Естественно, кавычки не являются частью строки и вводить их не следует. Они используются в тексте исключительно для выделения. Пробелы в имени функции недопустимы).
Далее, перейдем на вкладку Скрипт и наберем такой текст процедуры:
Option Explicit Sub HelloWorld Application.MessageBox "Hello World!", "", vbOkOnly End Sub
Результат наших усилий приведен ниже:
<imgtag width="580px" link="on">
</imgtag>
По окончании ввода нажмем клавишу F9 для выполнения нашей программы. Если текст набран без синтаксических ошибок, то на экране появится следующее диалоговое окно:
<imgtag link="on">
</imgtag>
Ура! Наше первое приложение успешно работает.
Обращаемся к базе данных
Пусть мы и достигли поставленной цели, но очевидно, что однострочная процедура вряд ли позволит нам составить даже самое поверхностное впечатление о возможностях платформы. Давайте усложним задачу и заставим нашу программу приветствовать не только весь мир, но и лично пользователя. Персональную информацию, имя учетной записи, возьмем непосредственно из базы данных. Код второй версии процедуры HelloWorld выглядит следующим образом[2]:
01 Option Explicit 02 Sub HelloWorld 03 Dim gdcUser 04 Set gdcUser = Designer.CreateObject(Application,_ 05 "TgdcUser", "") 06 gdcUser.SubSet = "ByID" 07 gdcUser.ID = IBLogin.UserKey 08 gdcUser.Open 09 10 Application.MessageBox "Hello World!" & vbCrLf &_ 11 "Hello " & gdcUser.ObjectName & "!", _ 12 "", vbOkOnly 13 14 Designer.DestroyObject(gdcUser) 15 End Sub
Прежде чем привести нашу процедуру в действие поясним некоторые нюансы.
Мы можем обращаться к функциям и параметрам Гедымина через набор глобальных объектов. В данном случае используются три таковых: глобальный объект Designer предназначен для динамического создания и уничтожения объектов в процессе работы программы, IBLogin – содержит параметры текущего подключения к базе данных, а Application – среди прочих – обладает функцией вывода на экран окна с сообщением.
В четвертой строке представленного кода, вызовом метода Designer.CreateObject, создается бизнес-объект типа TgdcUser и, для дальнейшего обращения, сохраняется в объявленной строкой выше переменной gdcUser. В шестой строке мы указываем, что будем работать только с одной записью, которую отыщем по идентификатору. В следующей строке мы передаем бизнес-объекту этот идентификатор, взяв его из свойства IBLogin.UserKey. В восьмой строке мы открываем набор данных методом gdcUser.Open и используем считанное из базы имя при формировании текста приветствия и выводе его на экран (строки с десятой по двенадцатую). И, наконец, закончив работу с бизнес-объектом, в четырнадцатой строке мы удаляем его с помощью метода Designer.DestroyObject.
Теперь, когда код процедуры уже не представляет для нас загадки, можем смело нажимать клавишу F9 и созерцать на экране результат наших трудов:
<imgtag link="on">
</imgtag>