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

• Начните с отключения командной кнопки Max & Min в редакторе интерфейса пользователя.

• Используйте функцию SetCtrlAttribute из Библиотеки Интерфейса Пользователя, чтобы включить кнопку Max & Min.

• Атрибут, который Вы должны установить - dimmed.

Решение: EXER2. PRJ

Упражнение 3: Сохранение формы сигнала на диске

Пользователи постоянно работают с большими объёмами данных и нуждаются в их сохранении на диске для дальнейшего использования. В LabWindows/CVI существует набор функций в ANSI C библиотеке для чтения и записи файлов данных. Если Вы уже знакомы с ANSI C, Вы знаете эти функции как stdio библиотеку. В дополнение к stdio библиотеке, LabWindows имеет собственный набор функций ввода - вывода в библиотеке I/O and Formatting. Библиотека была первоначально развита для DOS-версии LabWindows и включена здесь для совместимости с существующими программами.

Назначение

Используйте файл функции Ввода - вывода в ANSI C библиотеке, чтобы сохранить массив данных как текстовый файл в директории C:\cvi\tutorial. Пишите программу так, чтобы файл перезаписывался каждый раз, когда Вы получаете данные. Не добавляйте данные в конец файла, поскольку они будут добавляться к уже существующим.

Пояснения

• Помните, что Вы должны сначала открыть файл, прежде чем Вы сможете записать его.

• Открывают файл как текстовый, чтобы позже можно было просмотреть его содержание в любом текстовом редакторе.

• Открывают файл флагом Create/Open и не ставят флаг Append, чтобы файл каждый раз перезаписывался.

• Используйте функцию fprintf в цикле, чтобы записывать данные на диск.

Решение: EXER3. PRJ

Упражнение 4: Использование всплывающих меню

Библиотека Интерфейса Пользователя имеет набор меню, называемых всплывающими. Они обеспечивают быстрый и легкий способ вывода информации на экран без закрытия файла. В обучающей программе Главы 5 Вы использовали всплывающее меню для вывода случайного множества чисел на граф (YGraphPopup). Вы можете также использовать всплывающие меню для подтверждения выбора пользователем выбора, вывода сообщения и др.

Одно из наиболее используемых меню - Выбор Файла. С помощью этого меню Вы можете сохранять или загружать файлы по мере написания программы. Поэтому всякий раз, когда ваша программа должна записать или считать файл,

Вы можете использовать меню Выбор Файла, показанное на рисунке 9-3.


Рис. 9-3. Меню выбора файла.

Назначение


Добавьте кнопку Save в .uir файл так, чтобы массив данных был сохранён только после того, как нажата эта кнопка. Когда пользователь щелкнет на кнопкеSave, должно появиться окно, в котором пользователь может определять диск, директорию и имя файла данных. Когда закончите, ваш .uir файл должен выглядеть так, как показано на рисунке 9-4.

Рис. 9-4. Законченный Интерфейс Пользователя

Пояснения

• Когда Вы создадите кнопкуSave, назначьте для неё функцию callback.

• Вы должны поместить исходный код, который Вы создали в упражнении 3 для записи массива на диск, в функцию callback.

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

Решение: EXER4. PRJ

Упражнение 5: Случайности при использовании интерфейса пользователя

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

Средство управления интерфейса пользователя может производить много различных типов случаев. Например, случай левого или правого щелчка мыши. Или случай двойного щелчка левой кнопки. Фактически, событий в LabWindows/CVI может быть больше, чем количество щелчков мыши. Каждый раз, когда случается одно из этих событий, выполняется функция callback, вызываемая интерфейсом. Ниже приведён список всех событий, производимых LabWindows/CVI.