Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методички по лабам ОАП.doc
Скачиваний:
62
Добавлен:
27.03.2015
Размер:
5.26 Mб
Скачать

Функции обращения к базе данных

Перед тем как вводить остальные переменные, рассмотрим функции работы с базой данных:

  • rec – получает номер записи, удовлетворяющей заданному условию;

  • frec – получает номер записи, значение в заданной колонке которой наиболее точно соответствует указанному в вызове данной функции;  

  • val – получает значение поля из записи с указанным номером. 

Рис.4

Функция rec()

rec(условие),

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

Применительно к нашему случаю (см. рис.6) выражение «rec($Kod==PrizmaPodkladnaia.Код)» будет означать, что по выбранному коду «3.142.10» в БД «PrizmaPodkladnaia» будет вычислен соответствующий ему номер строки и присвоен переменной «n». На рис.5 n = 20.

Рис.5

Функция frec()

frec(аргумент_1, аргумент_2, аргумент_3, аргумент_4),

где аргумент_1 – колонка в базе данных, по которой осуществляется поиск (обязательно вещественного или целого типа); аргумент_2 – искомое значение; аргумент_3 – критерий поиска. Возможные значения: 0 – находится ближайшее значение;  -1 – находится ближайшее меньшее значение;  1 – находится ближайшее большее значение.  аргумент_4 – параметр, являющийся признаком упорядоченности данных в колонке, по которой производится поиск. Возможные значения: 0 – значения расположены неупорядоченно и поиск осуществляется по всем записям базы; 1 – колонка упорядочена, по возрастанию или по убыванию. Как только разница между искомым значением и значением в текущей колонке базы станет больше, чем в предыдущей, поиск прекращается.  Параметры аргумент_3 и аргумент_4 являются необязательными. Если они не указаны, то используются значения по умолчанию: аргумент_3 = 0 (искать ближайшее значение);  аргумент_4 = 0 (колонка неупорядоченная).

Например, frec(BASE.F1, 2.5, 1, 1)  Этот означает, что из базы данных BASE необходимо получить номер записи, для которой поле F1 содержит ближайшее большее значение по сравнению с 2.5 (значения в колонке F1 упорядочены). Если в базе данных нет записи, удовлетворяющей условию поиска, то функция возвращает значение 0.

Функция val()

val(номер_записи, поле_базы_данных),

где номер_записи – любое арифметическое выражение, значением которого является целое число,  поле_базы_данных – обращение к полю.

В нашем случае, например, выражение «val(n,PrizmaPodkladnaia.H)» означает, что в базе данных PrizmaPodkladnaia будет найдена строка с номером n и из нее будет взято значение H. На рис.5 это n = 20 и Н = 10.

Аналогично создаем все переменные, необходимые для построения 3D модели.

После ввода всех переменных таблица переменных примет следующий вид (рис.6).

Рис.6

Обратите внимание, что переменная «$Kod» помечена как внешняя, т.е. перед переменной стоит «». Это необходимо для дальнейшего создания диалога.

3. Построение параметрической 3D модели

В нашем случае 3D модель создается средствами T-FLEX CAD уже после задания всех переменных (рис.7).

Замечание. Перед созданием модели продумайте геометрические зависимости между элементами построения, иначе при выборе значений из базы данных могут произойти ошибки при перестроении модели.

Рис.7

4. Создание диалога

На этом шаге создается форма диалога, которая используется во время вставки модели как фрагмента. При вставке модели перед пользователем будет появляться окно, содержащее в себе стандартные элементы Windows (поля для ввода, выпадающие списки и т.д.), с помощью которых можно задать параметры вставляемого фрагмента.

Для создания элементов диалога выполните следующие действия:

  1. Перейдите в 2D окно и выберите пункт меню «Чертеж | Элемент управления».

  2. Создайте новую страницу, выбрав из появившегося автоменю пиктограмму («Создать страницу для элементов управления»).

  3. Выберите и задайте рамку, ограничивающую окно диалога.

В появившейся рамке создаются элементы управления. Часть из них («статический текст», «группа») никак не связана с переменными. Такие элементы служат для более понятного оформления диалога, пояснительных надписей. При их создании указывается место, где они располагаются, а потом вводится их название. Другая часть элементов связана с переменными. При их создании, кроме указания места их расположения, указывается переменная, с которой связан элемент. Для непосредственного ввода параметров можно использовать элементы «редактор» и «комбинированный список». «Комбинированный список» используется, если у переменной есть список значений.

В нашем случае есть два типа элементов управления: статический текст (название детали и надпись «Код») и комбинированный список (выбор значений кода).

  1. Для создания статического текста выберите пиктограмму и задайте расположение и параметры вводимого текста.

  2. Для ввода комбинированного списка воспользуйтесь пиктограммой .

  3. Измените размер страницы («Настройка | Размер страницы») так, чтобы ее размер равнялся размеру окна диалога.

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

– группа рамка с текстом, расположенным на уровне верхней границы

– переключатель (ДА/НЕТ) – позволяет устанавливать одно из двух значений для выбранной переменной в зависимости от состояния переключателя

– переключатель – используется, если для переменной существует более двух вариантов значений

После задания всех параметров окно диалога должно выглядеть следующим образом (рис.8)

Рис.8

Если понадобится изменить внешний вид элементов диалога, нажмите правую клавишу мыши на нужном элементе и выберите пункт «Свойства» или «Изменить».