к оглавлению

1. Введение в язык Clarion

Введение—Справочное руководство по языку

Clarion - интегрированная среда для разработки прикладных программ по обработке данных и информационных систем для ПК в операционной среде Windows. Язык программирования Clarion является основой этой среды. В этом руководстве, описание языка представлено кратко в модульном виде. Хотя это не учебник, когда нужно узнать точный синтаксис написания какого-либо оператора, объявления или функции следует в первую очередь обратиться к этому руководству.

Там, где это было возможно, представлены реальные примеры по каждому элементу.

Справочное руководство по языку

Построение книги

ГЛАВА 1Введение. Представляет собой введение в справочное пособие по языку Clarion. В нем содержится краткий обзор содержания каждой из глав и правила помогающие читателю понять соглашения, принятые при изложении материала книги.

ГЛАВА 2 – Формат исходного теста программы. Описывается общая структура программы на языке Clarion. Здесь приведены пунктуация, специальные символы, зарезервированные слова и подробное описание "строительных блоков" необходимых для создания модульной структурированной Clarion программы.

ГЛАВА 3 – Объявления переменных. Описывает все простые типы данных, используемые при объявлении переменных в Clarion-программах. Кроме того, проиллюстрированы и определены форматирующие маски, так называемые "шаблоны".

ГЛАВА 4 – Объявления составных структур данных. Описывает все составные структуры данных, используемые для объявления GROUP, CLASS, FILE, VIEW и QUEUE структуры в Clarion-программах.

ГЛАВА 5 – Объявления атрибутов описывает все атрибуты, которые модифицируют значения переменных и объектов.

ГЛАВА 6 - Окна описывает структуры APPLICATION и WINDOW и их компоненты.

ГЛАВА 7 - Отчеты описывает структуру REPORT и все ее компоненты.

ГЛАВА 8 – Элементы управления описывает все объекты, которые могут размещаться в структурах APPLICATION,WINDOW и REPORT.

ГЛАВА 9 – Атрибуты окон и печатных отчетов описывает все атрибуты, модифицирующие структуры APPLICATION, WINDOW и REPORT и элементы управления, которые они включают.

ГЛАВА 10 - Выражения определяется синтаксис, требующиеся для того, чтобы объединить переменные, процедуры и константы в числовые, строковые и логические выражения.

ГЛАВА 11 - Присвоение описывает все методы присвоения значения выражений переменным. Также здесь обсуждается операции BCD и автоматическая конвертация типов данных в языке Clarion.

ГЛАВА 12 – Управляющие операторы описываются сложные исполняемые операторы, управляющие последовательностью выполнения программ и операций.

ГЛАВА 13 – Встроенные процедуры. Описываются все встроенные библиотечные Clarion-процедуры.

ПРИЛОЖЕНИЕ A - DDE, OLE, and OCX описываются процедуры, с помощью которых осуществляется динамический обмен данными с другими параллельно выполняющимися приложениями (DDE), связывание и внедрение объектов (OLE) и связывание и внедрение пользовательских объектов(OCX).

ПРИЛОЖЕНИЕ B – Мнемонические имена событий описываются мнемонические имена событий для улучшения читабельности исходных текстов на Clarion.

ПРИЛОЖЕНИЕ C – Присвоение значений свойствам описываются все свойства доступные во время исполнения программы.

ПРИЛОЖЕНИЕ D – Сообщения об ошибках описываются все коды об ошибках времени выполнения и компиляции.

ПРИЛОЖЕНИЕ E – Наследование. Описываются операторы, которые используются только для совместимости с предыдущими версиями Clarion.

 

Соглашения и обозначения

Обозначения, используемые в синтаксических диаграммах:

Обозначение Значение

[ ] В квадратные скобки заключаются необязательные атрибуты и параметры.

( ) В круглые скобки заключается список параметров.

| | Вертикальными линиями ограничивается список параметров, из которых допустим только один параметр.

Примеры в этой книге набираются так:

IF NOT SomeDate !IF и NOT – ключевые слова

SomeDate = TODAY() !SomeDate – имя переменной

END !TODAY и END – ключевые слова

КЛЮЧЕВЫЕ СЛОВА ЯЗЫКА CLARION Все слова, набранные ПРОПИСНЫМИ БУКВАМИ, являются ключевыми словами языка Clarion.

ИменаПеременных Используются и прописные и строчные буквы.

Комментарии Преимущественно строчными буквами.

Эти соглашения призваны улучшить читаемость и понимание примеров.

 

Формат описания элементов языка

Каждый элемент языка программирования Clarion, упомянутый в этом руководстве, печатается ЗАГЛАВНЫМИ буквами. Информация по компонентам языка приводится в виде синтаксической диаграммы, подробного описания и примера исходного текста.

Элементы описываются логически сгруппированными на основании иерархических связей между ними. Поэтому оглавление книги не упорядочено по алфавиту. Обычно типы и структуры данных приводятся в начале главы, за ними следуют их атрибуты, а исполняемые операторы и функции – в конце.

Формат описания, используемый в этом руководстве, иллюстрируется синтаксической диаграммой, приведенной ниже.

 

КЛЮЧЕВОЕ СЛОВО (краткое описание назначения)

[метка] КЛЮЧЕВОЕ СЛОВО( | параметр1 | [ параметр2 ] ) [АТТРИБУТ1( )] [АТТРИБУТ2( )]

| список |

| альтернатив |

 

КЛЮЧЕВОЕ СЛОВО Краткое описание того, что делает данное ключевое слово.

параметр1 Полное описание параметра1, и то, как он связан с параметром2 и КЛЮЧЕВЫМ СЛОВОМ.

список альтернатив Полное описание альтернативных значений параметр1 и то, как он связан с параметром2 и КЛЮЧЕВЫМ СЛОВОМ.

параметр2 Полное описание параметра2, и то как он связан с параметром2 и КЛЮЧЕВЫМ СЛОВОМ. Если параметр заключен в квадратные скобки [ ], он является необязательным и может быть опущен.

АТТРИБУТ1 Предложение, описывающее связь АТТРИБУТА1 с КЛЮЧЕВЫМ СЛОВОМ.

АТТРИБУТ2 Предложение, описывающее связь АТТРИБУТА2 с КЛЮЧЕВЫМ СЛОВОМ.

Краткое описание того, что реализует КЛЮЧЕВОЕ СЛОВО. Часто, КЛЮЧЕВОЕ СЛОВО представляет собой атрибут ключевого слова, которое описывалось в предыдущем тексте. Иногда КЛЮЧЕВОЕ СЛОВО не имеет параметров и/или атрибутов.

Генерируемые события: Здесь перечисляются события, если они генерируются КЛЮЧЕВЫМ СЛОВОМ.

Тип возвращаемого события: Тип возвращаемого значения, если КЛЮЧЕВОЕ СЛОВО является функцией.

Сообщения об ошибках: Если при использовании КЛЮЧЕВОГО СЛОВА возможно возникновение ошибочных ситуаций, которые можно обнаружить функциями ERROR и ERRORCODE, то они перечисляются здесь.

Связанные процедуры: Если КЛЮЧЕВОЕ СЛОВО описывает структуру данных, процедуры, которые выполняются в этой структуре данных, указываются здесь.

Пример:

FieldOne = FieldTwo + FieldThree !Это пример исходного текста

FieldThree = KEYWORD(FieldOne,FieldTwo) ! Комментарии следуют за знаком "!"

Смотри также: Другие соответствующие ключевые слова и темы

 

Соглашения Clarion

Стандартная дата

Стандартная дата – это количество дней, прошедших с 28 декабря 1800 года. Диапазон возможных дат с 1 января 1801 года (стандартная дата 4) по 31 декабря 9999 года (стандартная дата 2994626). Вне этого диапазона, функции, работающие с датами, будут возвращать неправильное значение. Кроме того, календарь стандартных дат учитывает високосные годы в этом диапазоне. Остаток от деления стандартной даты на 7 дает день недели (0 – воскресение, 1 – понедельник и т.д.)

Для хранения стандартных дат обычно используются переменные типа LONG с шаблоном даты (@D). Дата, введенная по шаблону, имеющему две цифры года, по умолчанию попадает в столетний диапазон +20 лет – 80 лет от текущего года. Например, введя 01/01/01 - получим 01/01/2001, если текущий год (по системным часам) больше чем 1980, и 01/01/1901 - если текущий год 1980 или раньше.

В Btrieve Record Manager и некоторых других файловых системах для этого используется тип переменной DATE. Перед выполнением любых математических функций или функций, работающих с датами, тип данных DATE неявно преобразуется в LONG, содержащий стандартную дату Clarion. Поэтому тип данных DATE следует использовать для совместимости с внешними файловыми системами, в остальных случаях целесообразно использование LONG.

Смотри также: Шаблоны дат, DAY, MONTH, YEAR, TODAY, SETTODAY, DATE

Стандартное время

Стандартное время – это количество сотых долей секунды, истекших с полуночи +1. Допустимый диапазон значений от 1 (означающий полночь) 8 640 000 (означающее 23:59:59.99). Стандартное время 1 соответствует точно полуночи, что позволяет использовать 0 для определения того факта, что в поле с шаблоном времени ничего не вводилось. Хотя время выражается с точностью сотой секунды, системные часы обновляются с частотой 18,2 раза в секунду (приблизительно каждые 5,5 сотых секунды).

Для хранения стандартного времени обычно используются переменные типа LONG с шаблоном времени (@T). В Btrieve Record Manager для этого используется тип данных TIME. Перед выполнением любых математических функций или функций, работающих со временем, тип данных TIME неявно преобразуется в LONG, содержащий стандартное время Clarion. Поэтому тип данных TIME следует использовать для совместимости с Btrieve Record Manager, в остальных случаях целесообразно использование LONG.

Смотри также: Шаблоны времени, CLOCK, SETCLOCK

Кодировка клавиш Clarion

Формат кодировки раскладки клавиатуры Windows

Каждая клавиша клавиатуры имеет свой код. Коды – это 16-ти битные значения, где первые 8 бит (значения от 0 до 255) означают клавишу, которая была нажата, а вторые 8 бит означают положение клавиш Shift, Ctrl и Alt. Коды, возвращаемые процедурами KEYCODE() и KEYBOARD(), используют следующий формат:

| A | C | S | CODE |

Биты: 10 9 8 7 0

CODE – Нажатая клавиша

A – Бит клавиши Alt

C – Бит клавиши Ctrl

S – Бит клавиши Shift

Вычисление цифрового значения кода клавиши обычно не нужно, так как большинство возможных комбинаций перечислено как выражения EQUATE в KEYCODES.CLW (примените к файлу INCLUDE и используйте его вместо чисел для лучшей читабельности кода).

KEYCODES.CLW

Коды клавиш представлены мнемоническими метками. Файл меток сравнений (KEYCODES.CLW) является исходным файлом Clarion и содержит выражения EQUATE для каждого кода. Этот файл находится в каталоге \LIBSRC.

Он может включаться в исходный текст PROGRAM путем размещения в секцию глобальных данных выражения:

INCLUDE('KEYCODES.CLW')

Этот файл включает EQUATE выражения для большинства кодов клавиш поддерживаемых Windows. Эти EQUATE хорошо использовать для улучшения читабельности, когда вам нужно сравнивать коды нажатых клавиш.

Смотри также: KEYCODE, KEYBOARD, KEYCHAR, KEYSTATE, SETKEYCODE, ALERT, ALRT.

к оглавлению

Знаете ли Вы, что процедурная абстракция, процедура - это наиболее известный в программировании тип абстракции. Всякий, кто применял для выполнения функции подпрограмму, реализовывал тем самым процедурную абстракцию. Процедуры объединяют в себе методы абстракции через параметризацию и спецификацию, позволяя абстрагировать отдельную операцию или событие.

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution