Обучающая программа — Создание прикладной программы в LabWindows/CVI, страница 13

Решения этих дополнительных упражнений находятся в \cvi\tutorial\solutions. Если у Вас возникла проблема с выполнением одного из упражнений, но Вы хотели бы посмотреть следующую тему, используйте для продолжения решение  предыдущего упражнения.

Базовый проект

Все осуществляемое в этой главе строится на основе проекта sample6, которым Вы закончили занятие обучающей программы Главы 8. Если Вы не закончили предыдущую главу, сделайте это сейчас. Если Вы успешно выполнили обучающую программу Главы 8, начинаете с проекта Sample6 из директории SOLUTIONS. Проект sample6 создаёт форму волны и выводит её на граф, когда пользователь щелкает на кнопке Acquire. Как только Вы вывели данные, Вы можете найти и выделить максимальные и минимальные значения, кликнув на кнопке Max & Min.


Проект использует типовые возможности драйверов приборов для создания данных. Интерфейс пользователя для проекта представлен на рис. 9-1.

Рис. 9-1. Типовой Интерфейс Пользователя

Упражнение 1: Добавление средства управления канала

Две из наиболеетипичных функций, которые Вы будете использовать в LabWindows/CVI – это SetCtrlVal и GetCtrlVal. Эти функции используются, чтобы устанавливать и восстановить текущее состояние контроля в файле LabWindows/CVI .uir. Например, Вы можете использовать GetCtrlVal, чтобы восстановить поток значений числового контроля так, чтобы Вы могли выяснять, какой выбор сделал пользователь при установке слайда. Для придания слайду управления определенного положения или значения используется функция SetCtrlVal.

Назначение

Т.к. Вы используете виртуальный осциллограф, чтобы вывести Ваши данные, Вы можете предоставить конечному пользователю Вашей программы возможность самому выбирать канал.


Типовой драйвер осциллографа может читать два канала и более. Вы должны изменить .uir файл базового проекта, включив управление выбора канала, как показано на рисунке 9-2, и изменить исходный код, чтобы правильно выбрать соответствующий канал.

Рис. 9-2. Вид интерфейса пользователя при выборе управления каналом.

Пояснения

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

• Используйте функцию GetCtrlVal в callback функции AcquireData, чтобы выявить выбранный пользователем канал.

• Используйте значение управления выбора канала в функции Read Waveform, вызываемой драйвером осциллографа.

Решение: EXER1. PRJ

Упражнение 2: Установка свойств интерфейса пользователя программным путём.

Каждое средство управления в файлах .uir, которые Вы создаете, имеет множество атрибутов управления, которые Вы можете установить, чтобы настроить его вид и свойства. Когда Вы создаёте ваш интерфейс пользователя, Вы устанавливаете свойства в окнах для редактирования средств управления. Например, Вы можете устанавливать шрифт, размер и цвет текста для ярлыка в редакторе интерфейса пользователя.

Вы можете использовать GetCtrlAttribute и SetCtrlAttribute, чтобы установить свойства средства управления во время выполнения программы методом, подобном тому, который Вы использовали для установки и выбора значений средства управления. Поэтому Вы можете не только создавать интерфейс пользователя, Вы можете динамически изменять вид и свойства средства управления во время работы.

Библиотеке интерфейса пользователя существуют сотни атрибутов, определённых как константы, типа ATTR_LABEL_BGCOLOR для установки цвета фона ярлыка. Используйте эти константы в функциях GetCtrlAttribute и SetCtrlAttribute.

Назначение

В этом упражнении Вы будете использовать функцию SetCtrlAttribute, чтобы изменить действие коммандной кнопки на интерфейсе пользователя. Т.к. командная кнопка Max & Min не будет работать правильно, пока не появились данные, необходимо отключить действие кнопки Max & Min до тех пор, пока пользователь не щелкнет на Acquire кнопке. Используйте функцию SetCtrlAttribute для включения кнопки Max & Min, когда пользователь щелкнет на кнопке Acquire.

Пояснения