|
||||||||||||||||||||||||||||||||||||||||||||||||
|
Глава 4 В прошлой главе мы с вами закончили создание нашей первой программы. Пора двигаться дальше, но, прежде чем начинать писать новую программу, нужно научиться понимать то, с чем мы работаем. Проще говоря - заглянуть в теоретическую часть программирования. Итак, язык, на котором мы с вами пишем программы, называется не PowerBuilder, (т.к. PowerBuilder - это среда разработки программного обеспечения) а PowerScript. Он представляет собой структурную систему синтаксиса, включающую в себя объектно-ориентированное коллекции операторов, команд, встроенных и определенных пользователем функций, блоки операторов и команд SQL и т.д. Сценарии PowerScript пишутся для событий объектов приложения, которыми вы хотите управлять. Рассмотрим некоторые его компоненты. Объекты. Объект PowerBuilder - это компонент приложения, обладающий определенным набором характеристик и поведением. Характеристики объекта называются атрибутами (иначе свойствами). Поведение объекта определяется его методами, которые представляют собой набор событий, возникающих в объекте и системе при выполнении каких либо действий с объектом или системой, и набор функций, выполняемых этим объектом. Некоторые объекты, называемые объектами-контейнерами могут включать в себя (нести на себе) другие объекты. Например, на окно можно положить элемент управления вкладками ("табпейдж"), на нем разместить элемент группировки, на котором располагаются несколько переключателей ("радиобатонов"). Атрибуты объекта описывают то, как он будет выглядеть, будет ли он видим на экране, или будет скрыт от пользователя, его цвет, размеры, положение на экране, будет ли пользователь иметь возможность изменять размеры объекта или нет, и т.д. Подавляющее большинство атрибутов объекта задается разработчиком при создании приложения, но так же можно изменять атрибуты объекта и в процессе работы приложения. Для этого PowerScript, как и практически все современные языки программирования, использует точечную нотацию. Синтаксис точечной нотации заключается в том, что слева на право, через точку перечисляются все объекты-контейнеры, включающие в себя необходимый объект, потом указывается сам объект, и, после последней точки, указывается необходимый атрибут, метод или функция. Например: w_main.cb_open.Visible = True. Методы объектов мы рассмотрим несколько позже. Переменные. Технически, переменная - это поименованная область памяти
компьютера, которая имеет строго определенную адресацию и может содержать значение определенной длинны
и типа данных. Для использования переменной в коде приложения необходимо ее явное
объявление
1.
Это необходимо для выделения памяти под эту переменную и исключения ошибок несовместимости типов
данных. Объявление переменной имеет следующий синтаксис: Переменные имеют три
2 области видимости : Global, Instance и Local. Переменные глобальные и инстансные (областей видимости Global и Instance)
объявляются в специально отведенном подокне ScriptPainter`а среды (рис.1). Переменные локальные
(области видимости Local) могут объявляться в любом месте кода любого события или функции. Для удобства
и повышения читаемости кода переменные должны иметь значащие названия. Хорошим тоном считается добавление
в начало имени переменной двух буквенного префикса и знака подчеркивания (_). Первая буква префикса,
в этом случае определяется областью видимости переменной (g - Global, i - Instabce, l - Local),
а вторая - определяется типом данных переменной. Знак подчеркивания выполняет функцию разделителя для
лучшей читаемости кода. Например, gi_nomer - будет глобальная переменная с типом
данных Integer, id_summa - инстансная переменная с типом данных Decimal,
а ls_name - локальная с типом String. Так же хорошим тоном программирования
считается размещение всех объявлений локальных переменных в начале кода события или функции. Рис. 1 Константы. Константы являются неким подвидом переменных, значение которых
нельзя изменить. При компиляции приложения значения констант жестко прошиваются в таблицу адресации.
Области видимости констант аналогичны областям видимости переменных. Способ объявления констант
отличается от объявления переменных только добавлением ключевого слова Constant
в начало объявления и тем, что константы нельзя объявлять в одной строке через запятую. Так при
объявлении Функции. Функция в PowerScript - это блок кода, который выполняет определенную последовательность действий и может быть многократно использован в приложении. Например, если вам нужно в определенной ситуации проверять наличие соединения с БД и эта проверка состоит из нескольких строк кода, то вместо того, чтобы каждый раз писать эти несколько строк, вам достаточно написать их один раз, создав функцию, а потом просто вызывать ее в нужной ситуации. Существуют встроенные и пользовательские функции PowerScript. Встроенные функции, такие как GetParent() или Reverse(), являются функциями среды или системы, а пользовательские - это те функции, которые вы создаете самостоятельно при разработке приложения. Пользовательские функции имеют две области видимости - Global и Object. Глобальные функции, как и глобальные переменные, доступны из любой точки приложения, а объектные (Object) - доступны в пределах объекта, которому они принадлежат, или в качестве метода этого объекта. Рис. 2 События. События происходят (включаются) тогда, когда пользователь с помощью
элементов управления (клавиатуры, мыши и иных устройств ввода-вывода) или система воздействует на объект.
При возникновении события инициируется код, записанный в обработчике события. PowerBuilder имеет
множество обработчиков событий, отвечающих за выполнение кода при возникновении широчайшего спектра
событий операционной системы и приложения. Так же PowerBuilder позволяет пользователю (программисту)
создавать свои события. Кроме того, события можно вызывать (порождать, инициировать) непосредственно
из кода в процессе выполнения приложения. Для этого в PowerScript существуют две встроенные функции
- TriggerEvent() и PostEvent(). Местоимения. В Главе 1 я уже затрагивал тему местоимений. Местоимение, в
PowerScript, это четыре зарезервированных ключевых слова (This, Parent, ParentWindow и Super)
позволяющих сократить точечную нотацию при обращении к свойствам и методам объекта. Так, чтобы
обратиться к свойству кнопки расположенной на закладке элемента управления вкладками, которая лежит
на окне из события Clicked этой кнопки, вместо синтаксиса: Единицы PowerBuilder. Все размеры визуальных объектов в PowerBuilder измеряются в собственных единицах измерения - PBU (PowerBuilder Unit). Для перевода этих единиц в пиксели и обратно используются встроенные функции UnitsToPixels() и PixelsToUnits(). Синтаксис этих функций очень хорошо описан в справке PowerBuilder, по этому я не буду его описывать. Типы данных. В PowerBuilder типы данных делятся на стандартные типы данных и перечислимые типы данных. Последние представляют собой предопределенное множество значений, как правило, совпадающих с названием атрибута, функции или метода объекта и заканчивающееся восклицательным знаком(!). Они применяются для передачи аргументов функциям, присвоения значений атрибутам и т.д. Стандартные типы данных описаны в таблице.
Преобразование типов данных. Очень часто необходимо преобразовать какое
либо значение из одного типа данных в другой. Для этого используются те же ключевые слова, что и
для объявления типа данных переменной. Например, если мы имеем число в строковом формате, а нам
нужно произвести с ним какие либо математические действия, то перевод осуществляется с помощью
ключевого слова Decimal (для десятичного числа) или Integer (для целого). Например: Ну вот, теперь мы имеем некий минимальный теоретический базис, необходимый для программиста. В следующей главе я постараюсь описать одно из главнейших преимуществ среды PowerBuilder, в разработке программного обеспечения для работы с базами данных, над другими языками программирования - объект DataWindow и технологию его работы и использования.
1 Единственный язык программирования не требующий явного объявления
переменных, который я знаю, это Microsoft Visual Basic. С одной стороны это может показаться удобным
- не нужно заботится об объявлениях, а с другой стороны это сильно затрудняет написание и отладку
приложения и повышает вероятность ошибки, которую очень сложно отыскать.
2 На самом деле существует четвертая область видимости - Shared, но ее
можно рассматривать тогда, когда ваши знания в программировании достигнут определенного, весьма
высокого уровня. Последнее обновление: 11.08.2016 |
|
||||||||||||||||||||||||||||||||||||||||||||||
(c)2002-2025 Ikar Ikar Home Center ICQ: 167220388 | ||||||||||||||||||||||||||||||||||||||||||||||||
На сайте могут быть опубликованы рекламные материалы и ссылки. Всю ответственность за содержание рекламных материалов, текстов ссылок и контент рекламируемых сайтов несет рекламодатель. |