Краткое пособие по языку INFORMIX-4GL

Краткое пособие по языку INFORMIX-4GL

Краткое пособие по языку INFORMIX-4GL.
Соглашения о Языке 4GL и Начальные Понятия.
Программа на языке 4GL может состоять из нескольких файлов (модулей) с исходными текстами на 4GL. К ней так же относятся файлы с описанием используемых экранных форм, которые компилируются отдельно. Имя каждого модуля должно иметь расширение .4gl (например, module1.4gl), а имя файла с описанием экранных форм должно иметь расширение .per (например, form2.per). Каждый модуль содержит описания переменных и несколько процедурных блоков function (подпрограммы) и report (блоки печати). В программе должен быть один блок main - главный блок, начинающийся с ключевого слова main. На него будет передаваться управление при старте программы. Формат записи операторов 4GL свободный. Можно писать все подряд на одной строке, один оператор на нескольких строках, слова операторов можно разделять произвольным количеством пробелов и комментариев. Никакими значками (типа ;) операторы разделять не нужно. Окончание операторов определяется по контексту. Весь набор ключевых слов языка зарезервирован, их нельзя занимать для других целей (на имена объектов и переменных 4GL). Компилятору языка безразлично, большими или маленькими буквами пишутся операторы. Он их не различает.
Комментарии обозначаются знаками
{ комментарий },
или знаком # - до конца строки,
или знаком -- (два знака минус) до конца строки.

Объекты, Используемые в INFORMIX-4GL. 1. Объекты SQL 2. Переменные 4GL 3. Программные Имя базы данных простая переменная функция Имя таблицы переменная типа "запись" отчет Имя столбца массив метка Имя индекса Имя псевдотаблицы Имя синонима ( database-name простые переменные function ) ( table-name переменная типа запись report ) ( column-name массивы label ) ( index-name ) ( view-name ) ( synonim-name ) 4. Имена операторов 5. Объекты экранного обмена. и курсоров window statement-id - изготовленный оператор form cursor-name - курсор screen-field screen-record screen-array 1.Идентификаторы INFORMIX. Каждый объект 4GL имеет имя (идентификатор) - это слово, состоящее из букв, цифр, и знаков подчеркивания (_), начинающееся с буквы или знака (_). В INFORMIX-4GL не различаются маленькие и большие буквы. Поэтому i_Un103Tt и I_UN103TT - одно и тоже имя. 1.Области Действия Имен Переменных: ·Локальная переменная - объявлена внутри блока function, main, report. Действует внутри блока, в котором объявлена. ·Модульная переменная должна быть объявлена в самом начале модуля с исходным текстом вне любого блока report, function или main. Действует внутри всего модуля (за исключением блоков, в которых это имя переобъявлено и является для них локальным). ·Глобальные переменные - объявляются с помощью оператора GLOBALS в начале модулей. Действуют во всех модулях с исходным текстом, в которых есть соответствующее объявление этих переменных. 1.Область действия имен КУРСОРОВ и Изготовленных Операторов от точки их объявления (DECLARE, PREPARE) и до конца модуля. 1.Область действия имен Окон, Форм, Функций, Отчетов - во всей программе. В Языке 4GL Есть Такие Операторы: Операторы SQL Организация программы MAIN FUNCTION REPORT Объявления переменных DEFINE GLOBALS Присвоения LET INITIALIZE Программные CALL EXIT GOTO RETURN FOR LABLE CASE WHILE RUN IF CONTINUE SLEEP Перехват прерываний WHENEVER DEFER Динамическое создание операторов PREPARE EXECUTE FREE Манипуляция "курсором" DECLARE OPEN FOREACH PUT CLOSE FETCH FLUSH Экранный обмен MENU OPEN FORM DISPLAY ARRAY OPTIONS DISPLAY FORM SCROLL OPEN WINDOW CLOSE FORM INPUT ARRAY CURRENT WINDOW DISPLAY PROMPT CLEAR INPUT ERROR CLOSE WINDOW CONSTRUCT MESSAGE Генерация отчетов START REPORT OUTPUT TO REPORT FINISH REPORT Типы Переменных и Операторы Описания Переменных в 4GL. В языке 4GL имеются простые переменные, переменные типа запись и массивы. Простые переменные бывают следующих типов: INTEGER CHAR(n) DATE SMALLINT DECIMAL(m,n) DATETIME ед_врем1 TO ед_врем2 REAL MONEY(m,n) INTERVAL ед_врем1 TO ед_врем2 FLOAT где ед_врем1, ед_врем2 - единицы измерения времени {YEAR,MONTH,DAY,HOUR,MINUTE,SECOND,FRACTION(n)} где FLOAT = DOUBLE PRECISSION Переменная типа запись описывается при помощи конструкции RECORD ... END RECORD или конструкции LIKE имя_таблицы.* Переменная типа массив имеет описатель ARRAY [i,j,k] OF type, где type - тип простой переменной, конструкция RECORD, или конструкция ARRAY. Для описания переменных служит оператор DEFINE: DEFINE simw char (200), j,i,k INTEGER, ff FLOAT # Здесь объявлены символьная переменная simw длиной 200 байт, # целые i,j,k, и ff - восьмибайтовое с плавающей точкой DATABASE zawod DEFINE doljno RECORD # объявляется запись doljno, состоящая из 4 простых переменных dolzn CHAR(20), # должность zarplmin LIKE kadry.zarplata, zarplmax money(16,2), # зарплата vakansii int # вакансии END RECORD # Здесь заканчивается объявление записи doljno # Переменную можно оъявить с ключевым словом LIKE column_name. # переменная zarplmin получает такой же тип, что и столбец # zarplata таблицы kadry из базы данных zawod DEFINE rrr RECORD LIKE kadry.* # Переменную типа запись тоже можно объявить с ключевым словом # LIKE. Здесь объявлена запись rrr, содержащая элементы, имею- # щие те же самые названия и те же самые типы что и столбцы # таблицы kadry Элементами записи могут быть массивы. Можно обьявить массив элементов типа RECORD. DEFINE zap RECORD a LIKE kadry.tabnom, b array[8] OF REAL END RECORD, massiw ARRAY[2,15] OF RECORD kolwo INT, tip CHAR(8) END RECORD # massiw объявлен как массив записей. Каждая запись состоит # из двух простых элементов - kolwo и tip Индексы массивов пишутся в квадратных скобках. На элементы записей можно ссылаться по его имени, если не допускается двусмысленности, иначе их необходимо уточнять именем записи, отделяя его точкой (.) от простого имени.

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...