Руководство разработчика. Hello World!

Материал из GedeminWiki
Версия от 17:30, 13 октября 2011; SYSDBA (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Со времен ветхого завета в мире программирования принято начинать знакомство с новой системой написанием простейшей программы вывода на экран строки "Hello World!". Будем придерживаться канонов. Читатель, уже знакомый с тем, как на Гедымине пишется программный код и создаются экранные формы, без малейших для себя последствий может пропустить эту главу. Мы же выполним следующие действия:

  1. Запустим Гедымин и подключимся к демо базе под учетной записью Administrator.
  2. В главном окне программы раскроем меню Сервис и вызовем команду Редактор скрипт-объектов.
  3. Найдем окно Проводник, в дереве выделим пункт Глобальные макросы[1] и нажмем правую кнопку мыши.
  4. Из появившегося меню выберем команду Добавить макрос, как показано на рисунке ниже:

<imgtag width="320px" link="on"> HelloWorld.AddMacros.png </imgtag>

Совет: При первом обращении Редактор скрипт-объектов может содержать вспомогательные окна, такие как: Список переменных, Стек вызовов, Сообщения и др. Для экономии экранного пространства их можно закрыть. Если вы случайно закрыли окно Проводника, вернуть на экран его можно с помощью комбинации горячих клавиш Ctrl-Alt-T или воспользовавшись меню Окна Редактора скрипт-объектов (не путайте с меню Окна главного окна Гедымина).

По выполнении вышеуказанных действий на рабочем поле Редактора скрипт-объектов откроется окно редактирования макроса.

<imgtag width="580px" link="on"> HelloWorld.AddMacros.Tab1.png </imgtag>

Пусть вас не смущает обилие полей ввода. В следующих главах мы подробно ознакомимся с предназначением каждого из них. А пока, наберем в поле Наименование макроса строку "Hello World!", а в поле Наименование функции – "HelloWorld" (Естественно, кавычки не являются частью строки и вводить их не следует. Они используются в тексте исключительно для выделения. Пробелы в имени функции недопустимы).

Далее, перейдем на вкладку Скрипт и наберем такой текст процедуры:

Option Explicit
Sub HelloWorld
  Application.MessageBox "Hello World!", "", vbOkOnly
End Sub

Результат наших усилий приведен ниже:

<imgtag width="580px" link="on"> HelloWorld.AddMacros.Tab2.png </imgtag>

По окончании ввода нажмем клавишу F9 для выполнения нашей программы. Если текст набран без синтаксических ошибок, то на экране появится следующее диалоговое окно:

<imgtag link="on"> HelloWorld.AddMacros.MsgBox.png </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"> HelloWorld.AddMacros.MsgBox2.png </imgtag>

Создаем экранную форму

Примечания

  1. Обратите внимание, что ветвь Глобальные макросы присутствует только в модуле APPLICATION. Выбор текущего модуля осуществляется из выпадающего списка над деревом объектов Проводника.
  2. При наборе текста процедуры, номера строк следует опустить.
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты