Назначение и краткая характеристика встроенного языка

Вид материалаДокументы

Содержание


Формат программного модуля
Формат операторов
Имена переменных, процедур и функций
Зарезервированные слова
Структура программного модуля
Подобный материал:
1   2   3   4   5   6

Формат программного модуля


Исходный текст программного модуля может состоять из операторов и комментариев.

Комментарии


Комментарий используется для размещения в исходном тексте программно­го модуля всякого рода пояснений к работе модуля. В тексте программного модуля комментарий начинается парой символов "//" и заканчивается концом строки. Это значит, что комментарий можно начинать с начала строки или записывать его после оператора на той же строке. После начала комментария писать оператор на той же строке нельзя, необходимо закончить комментарий концом строки.

Формат операторов


Операторы имеют вид стандартного обращения к процедуре, за исключени­ем оператора присваивания (А=В;) и управляющих конструкций (таких как Для, Пока, Если). Между собой операторы обязательно следует разделять сим­волом ";" ( точкой с запятой). Конец строки не является признаком конца опе­ратора, т. е. операторы могут свободно переходить через строки и продолжаться на другой строке. Можно располагать произвольное число операторов на од­ной строке, разделяя их символом ";".

Операторы языка в программном модуле можно подразделить на две кате­гории: операторы объявления переменных и исполняемые операторы. Операторы объявления переменных создают имена переменных, которыми манипулируют исполняемые операторы. Любой исполняемый оператор может иметь метку, используемую в качестве точки перехода в операторе Перейти.

В общем случае формат оператора языка следующий:

~метка:Оператор[(параметры)] [ДобКлючевоеСлово];

В качестве меток используются специальные идентификаторы, начинаю­щиеся с символа '~' (тильда) и состоящие из последовательности букв, цифр и символов '_'. Чтобы пометить оператор, надо поместить перед ним метку и сле­дующий за ней символ ":".

Пример:

~метка:А=В;

Имена переменных, процедур и функций


Именем переменной, объявленной процедуры или функции может быть лю­бая последовательность букв, цифр и знаков подчеркивания "_", начинающаяся с буквы или знака подчеркивания "_". Вновь создаваемые имена не должны совпадать с зарезервированными словами языка или именами существующих процедур и функций, доступных на момент выполнения. Распознавание имен переменных, процедур и функций ведется без учета регистра букв.

Зарезервированные слова


Приведенные далее ключевые слова являются зарезервированными и не могут использоваться в качестве создаваемых имен переменных и объявляе­мых процедур и функций. В данном варианте языка каждое из ключевых слов имеет два представления — русское и английское. Английское представление является традиционным для языков программирования. Ключевые слова в русском и английском представлении могут свободно смешиваться в одном исходном тексте. Регистр букв ключевых слов не имеет значения. Ниже приведен список ключевых слов в обоих вариантах представления.

Если

If

He

Not

Дата

Date

Тогда

Then

Знач

Val

Формат

Format

ИначеЕсли

Elsif

СтрДлина

StrLen

Разм

Dim

Иначе

Else

СокрЛ

TrimL

Вопрос

Do Query Box

КонецЕсли

Endlf

СокрП

TrimR

Контекст

Context

Цикл

Do

Лев

Left

Перем

Var

Для

For

Прав

Right

Перейти

Goto

По

To

Сред

Mid

Возврат

Return

Пока

While

Цел

Int

Продолжить

Continue

Функция

Function

Окр

Round

Прервать

Break

КонецПроцедуры

EndProcedure

Число

Number

И

And

КонецФункции

EndFunction

Строка

String

Или

Or

Предупреждение

DoMessageBox

КонецЦикла

EndDo

Процедура

Procedure

Структура программного модуля


Структуру программного модуля можно подразделить на следующие разде­лы:
  • раздел определения переменных;
  • раздел процедур и функций;
  • раздел основной программы.

В конкретном программном модуле любой из разделов может отсутствовать.

Раздел определения переменных размещается от начала текста модуля до первого оператора Процедура или оператора Функция или любого исполняе­мого оператора. В этом разделе могут находиться только операторы объявления переменных Перем. Переменные не являются типом метаданных, они содержат значения которые могут изменяться во время выполнения программы. Они существуют в оператирной памяти и исчезают (в отличии от констант) при окончании работы модуля (процедуры) или после окончания работы системы.

Раздел процедур и функций размещается от первого оператора Процедура или оператора Функция до любого исполняемого оператора вне тела описания процедур или функций. Отдельные действия, выполняемые в модуле, оформляются как процедуры или функции и имеют имя. Отличие процедур от функций: процедуры выполняют некоторую задачу, например, напечатать документ. Функции выполняют вычисления и передают системе результат, например, вычислить дату и передать ее для дальнейшей обработки в процедуру.

Раздел основной программы размещается от первого исполняемого опера­тора вне тела процедур или функций до конца модуля. В этом разделе могут находиться только исполняемые операторы. Раздел основной программы ис­полняется в момент запуска модуля на выполнение (см. «Виды программных модулей»). Обычно в разделе основной программы имеет смысл размещать операторы инициализации переменных какими-либо конкретными значениями, которые необходимо провести до первого вызова любой из процедур или функ­ций модуля.

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

// Раздел переменных ГЛОБАЛЬНЫЙ МОДУЛЬ Перем совет; //*********************************************************************** //Раздел процедур и функций // Предопределенная процедура Процедура ПриЗавершенииРаботыСистемы() Если Вопрос ("Работа программы закончена?","Да+Нет") = "Нет" Тогда СтатусВозврата (0); КонецЕсли; КонецПроцедуры ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Процедура СоветДня () Предупреждение (совет,10); КонецПроцедуры /////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// Процедура ЗапросКоличестваВПодборе(Выб,Конт) Экспорт //интерактивно выставляем количество Если Выб.ПометкаУдаления() = 1 тогда // товар помечен на удаление Предупреждение("Нельзя выбирать помеченные на удаления товары!"); Возврат; //прекращаем работу процедуры КонецЕсли; Кол=1; //Объявили переменную для ввода количества и присвоили ей значении= "1" Если ВвестиЧисло(Кол,"Введите количество",10,2) =1 Тогда Конт.НоваяСтрока(); // Добавляем строку в табличную часть Конт.Товары = Выб; //Товар из Выб в добавленную строку Конт.Количество=Кол; //Количество - туда же КонецЕсли; КонецПроцедуры ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Процедура Выч_суммы_накл(Конт) Экспорт и Конт.Сумма=Конт.Цена*Конт.Количество; Конт.НДС=(Конт.Цена*Конт.Количество/(Конт.СтавкаНДС+100.00))*Конт.СтавкаНДС; КонецПроцедуры //*********************************************************************** // Раздел инициализации Совет = "Не забудьте правильно установить бухгалтерские итоги!" "Для журналов -- удобный интервал дат! "; //инициализация переменной СоветДня(); // вызов процедуры //*****************************************************************