Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Педогогический практикум (1 семестр).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
76.15 Кб
Скачать

Особенности синтаксиса qForm Условный оператор if() в qForm

В QForm используется условный оператор if(), имеющий следующий синтаксис:

...

<!--//if(<условие_срабатывания_оператора>){--> [Текст_в_случае_выполнения_if]

<!--//}else{--> [Текст_в_случае_выполнения_else] <!--//}-->

...

 

<!-- ИЛИ возможен упрощенный вариант оператора:-->

 

...

<!--//if(<условие_срабатывания_оператора>){--> [Текст_в_случае_выполнения_if] <!--//}-->

...

Название

Описание

Примечание

Текст_в_случае_выполнения_if

Текст, который будет вставлен в случае выполнения оператора if

Текст_в_случае_выполнения_else

Текст, который будет вставлен в случае выполнения оператора else

Может отсутствовать часть с else — присутствовать только часть с if

Важно! Условный оператор if() допустимо использовать в любом месте формы (особенность QForm), кроме тэга include. Внутри этого тэга условный оператор не воспринимается.

Переменные qForm и их обозначения

Переданные в xml-файл переменные обозначаются как {{<имя_переменной>}}. Пример использования:

<!-- Файл передающий (часть кода) -->

...

<include src="[имя_принимающего_файла].xml" eqkey="ogt" />

...

 

 

<!-- Файл принимающий (часть кода). Здесь передавалась и принимается переменная {{eqkey}} -->

...

<field name="eqtype" prompt="Тип оборудования" type="hidden" maxlength="255" default="{{eqkey}}" />

...

Название

Описание

имя_принимающего_файла

Имя файла, в который передается переменная(-ые)

Подробно пространство переменных описано в одноименной статье «Многообразие пространства имен».

Условные обозначения на qWiki

Для простоты на QWiki приняты следующие условные обозначения:

Обозначение

Расшифровка

<tag>

Условное обозначение тэга в тексте

@attr

Условное обозначение атрибута в тексте

[некоторое_значение]

Условное обозначение описания переменной или атрибута в коде в квадратных скобках «[» и «]»

Важно: условное выделение значений переменных и атрибутов в коде — […] — несколько изменено в силу особенностей синтаксиса XML (чтобы не путать с тэгами). Описание в коде могут отстоять от соседних символов (через пробел или табуляцию), могут не отстоять. Где есть промежуток — использование этих символов допустимо, где нет промежутка — недопустимо.

Важно: тэги, о которых изложено в таблицах, обычно идут в той последовательности, в которой они исторически идут в xml-форме. Чтобы упростить разбор ваших кодов другим программистам, настоятельно рекомендуем использовать ту же последовательность тэгов, что и в таблицах.

Общий вид файла на языке qForm

Подробное описание QForm было дано в предыдущей статье. С точки зрения разработки QForm осуществляет быструю генерацию xml-форм в соответствии с таблицей БД, для взаимодействия с которой создается форма. Общий вид генерируемой формы имеет вид:

<?xml version="1.0" encoding="utf-8"?>

<!-- Описание формы ввода информации. Версия 1.0.3 -->

<qform version="2.0.2" debug="1">

 

<!-- Необходимые директивы препроцессора (необязательно) -->

 

<database>

<!-- Параметры основной подключаемой БД -->

</database>

<list rowsperpage="50" hidenewrec="0" hidetoolbars="0">

<text>

<windowtitle>Пример списка для создания форм</windowtitle> <!--(!)-->

<title>Пример списка для создания форм</title>

<before>Ниже представлен пример списка</before>

<after></after> <!--(!)-->

<help key="[имя_help-файла]"></help>

</text>

<sql key="id">

<![CDATA[

<!-- Запрос к БД, генерирующий список -->

]]>

</sql>

<cols defaultsort="[Поле_сортировки_по_умолчанию]">

<colorcol field="[Поле_выделения_цветом]"/>

 

<!-- Перечень отображаемых колонок списка -->

 

<!-- Пример:

<col field=”[field_name]”

caption=”[column_name]” hidden=”1” searchable=”0” type=”date” … />

-->

 

</cols>

<legend>

<color index="kolya">Запланировано</color>

<color index="2">В процессе</color>

<color index="1">Завершено, но экзамен не сдан</color>

<color index="10">Завершено</color>

 

<icon index="ok">Экзамен сдан</icon>

<!-- Подсказки по условным обозначениям и цветовой легенде -->

 

<icon index="ok">Экзамен сдан</icon>

</legend>

</list>

<form width="640">

<text>

<windowtitle>Пример формы</windowtitle>

<title>Пример формы</title>

<before>Первые два поля обязательны для заполнения!</before>

<after>Выше перечислены поля формы нашего примера</after>

<help key="[имя_help-файла]"></help>

</text>

<tab name="General" caption="Основное" >

 

<!-- Если вкладка одна, то опускают этот тег, оставляя только <elements …/> -->

 

<elements>

 

<!-- Список полей (теги <field …/>) и других элементов (например, <br …/>,

<html …/>, <text …/>) первой вкладки формы -->

 

<!-- Пример:

<field name=”[field_name_form]” prompt=”[field_name_in_form]”

type=”dropdown([type_of_field_form])” extended=”1” … />

-->

 

</elements>

</tab>

 

<tab name="Trainings" caption="Обучение">

<elements>

<list src="[Название_встроенного_списка]">

 

<!-- Вложенный (встроенный) список. Необязательная вкладка в форме. Внутри тега <list …/>

содержится список параметров, передаваемых во вложенный список -->

 

</list>

</elements>

</tab>

</form>

</qform>

Условные обозначения: (!) — Пока не включено в релиз

Название

Описание

Примечание

имя_help-файла

Имя подключаемой к списку/форме справочной html-страницы

Необязательно

Поле_сортировки_по_умолчанию

Поле, по которому по умолчанию будет отсортирован список

По умолчанию asc, можно не указывать

Поле_выделения_цветом

Переменная из основного запроса или поле в таблице, которая содержит значение индекса цвета

Необязательно

field_name

Имя поля или переменная из запроса, значение которого показывается в ячейке в списке

column_name

Название колонки

field_name_form

Имя поля, в которое будет записано указанное в форме значение

field_name_in_form

Название поля в форме

type_of_field_form

Вид поля в форме

Название_встроенного_списка

Имя файла встроенного списка