Порядок выполнения работы




1. Напишите программу, открывающую для чтения не существующий файл последовательного доступа. Ознакомьтесь с диагностикой системы.

2. Напишите программу, открывающую для записи несуществующий файл. Внесите в текст комментарии действий программы. Убедитесь, что после завершения ее работы создался новый файл.

3. Напишите программу, открывающую для записи существующий файл. С помощью оператора Print # выполните запись в файл некой информации. Закройте файл. Внесите в текст комментарии действий программы

4. Объявите в программе некоторую переменную из числа исходных данных вашей таблицы, откройте ранее записанный файл, считайте в режиме отладки в объявленную переменную записанные в файл данные оператором Input #, контролируя считанные значения в окне локальных переменных.

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

6. Откройте файл в режиме Append. Сделайте запись в файл новой информации и закройте файл.

7. Откройте файл только для чтения и убедитесь, что файл содержит как предыдущую, так и новую записи.

8. Создайте файл с произвольным доступом. Запишите в него информацию. Закройте файл.

9. Напишите программу чтения информации из файла произвольного доступа. Внесите в текст комментарии действий программы. Проконтролируйте правильность ее работы.

10. Выберите тип файла для хранения исходных данных вашей таблицы. Создайте его и запишите в файл все исходных данные вашей таблицы.

11. Удалите исходные данные из таблицы, считайте их из созданного вами файла заново и занесите их в таблицу. Проконтролируйте правильность считывания информации в вашу таблицу.

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

13. Подключите созданную вами программу в качестве метода созданного вами класса.

14. Проверьте правильность комментариев с учетом изменений в тексте программы, дополните и, при необходимости, скорректируйте их.

Контрольные вопросы

1. Как организован последовательный файл?

2. Как организован файл произвольного доступа?

3. Что нужно сделать для того, чтобы начать работу с файлом?

4. В чем заключается отличие в обращении к элементу данных последовательного файла и файла произвольного доступа?

5. Как определить факт достижения конца файла?

6. Как создать файл?

7. Чем отличается формат оператора Print от формата оператора Put?

8. Как указать, что файл открывается только для чтения?

9. Как определить номер свободного канала для открытия файла?

10. Как закрыть файл и в какой момент данные оказываются на диске?

Отчет о работе

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

Лабораторная работа №8

Ввод с клавиатуры и вывод на экран в VBA

Методические указания

При программировании обмена с клавиатурой и дисплеем можно воспользоваться специальными встроенными функциями InputBox и MsgBox языка VBA, предназначенными именно для этой цели. В отличие от обычных файловых операторов ввода-вывода эти функции позволяют стандартно, то есть так, как это принято в большинстве программ Windows, оформлять действия по вводу и выводу. В некотором смысле эти функции можно рассматривать как дополнительные операторы ввода – вывода, работающие по специальным правилам.

Предназначенная для ввода данных с клавиатуры функция InputBox выводит на экран диалоговое окно, содержащее сообщение, и поле ввода, устанавливает режим ожидания ввода текста пользователем или нажатия кнопки, а затем возвращает в программу значение типа String, содержащее текст, введенный в поле. Формат записи функции:

InputBox(prompt[,title][,default][,Xpos][,Ypos][,helpfile,context])

Здесь prompt – строковое выражение, которое будет отображаться как сообщение в диалоговом окне; title - сообщение, отображаемое в заголовке окна (если оно опущено, то отображается имя приложения); default – сообщение, которое будет выводиться в строке при запуске; Xpos и Ypos задают положение окна на экране; helpfile и context – соответственно имя файла и номер раздела справочной системы.

Функция MsgBox выводит на экран диалоговое окно с сообщением и ожидает нажатия кнопки пользователем. Значение нажатой кнопки возвращается как число типа Integer. Формальная запись функции, которая не анализирует вид нажатой кнопки и вызывается как процедура, выглядит так:

MsgBox prompt[,buttons][,title][, helpfile,context]

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

Если генерируется несколько кнопок, то узнать, какая из них была нажата, можно в результате анализа возвращаемого функцией MsgBox значения (см. табл. 9). В этом случае она вызывается через оператор присваивания, а ее параметры заключаются в круглые скобки:

Rezult = MsgBox (prompt[,buttons][,title][, helpfile,context])

Одноименные с функцией InputBox аргументы имеют тот же самый смысл, а значение buttons определяется как сумма констант, задающих число и тип отображаемых кнопок, тип используемого значка и основную кнопку.

На рис 9 показан внешний вид диалоговых окон для ввода информации, создаваемых функцией InputBox. Если пользователь нажмет кнопку ОК или клавишу Enter, то функция вернет строку, набранную пользователем в рабочем окне. При нажатии кнопки Cancel возвращается пустая строка.

Внешний вид диалоговых окон, создаваемых функцией MsgBox, показан на рис. 10.

Пример 25. Программа, задающая с клавиатуры первую и вторую записи в файле " Зарплата.hhh":

Open " Зарплата.hhh" For Output As #1

'Запрос данных с клавиатуры

Rezult = InputBox("Фамилия И.О. сотрудника", "Учебник")

Print #1, Rezult

'Второй запрос данных с клавиатуры

Rezult = InputBox("Ставка заработной платы", "Учебник")

Print #1, Val(Rezult)

Close #1

Рис. 9. Внешний вид окон, создаваемых функцией InputBox

Таблица 8. Константы аргумента buttons

Идентификатор константы Значение Пояснение
Количество и вид кнопок
VbOKOnly   Только кнопка OK
VbOKCancel   Кнопки OK и Отмена
VbAbortRetryIgnore   Кнопки Стоп, Повтор, Пропустить
VbYesNoCancel   Кнопки Да, Нет, Отмена
VbYesNo   Кнопки Да и Нет
VbRetryCancel   Кнопки Повтор и Отмена
Информационные значки
VbCritical   Ошибка
VbQuestion   Вопрос
VbExclamation   Утверждение
VbInformation   Информация
Основная кнопка
VbDefaultButton1   Кнопка 1
VbDefaultButton2   Кнопка 2
VbDefaultButton3   Кнопка 3
VbDefaultButton4   Кнопка 4

Таблица 9. Возвращаемые значения функции MsgBox

Идентификатор константы Значение Пояснение
VbOK   Нажато OK
VbCancel   Нажато Отмена
VbAbort   Нажато Прервать
VbRetry   Нажато Повторить
VbIgnore   Нажато Пропустить
VbYes   Нажато Да
VbNo   Нажато Нет

Пример 26. Чтение содержимое созданного файла:

Open " Зарплата.hhh" For Input As #1

Input #1, Rezult

'Выдача первой записи на экран

MsgBox "Фамилия И.О. сотрудника" & Chr(10) & Chr(13) & Rezult, _

vbOKOnly + vbExclamation, "Учебник"

Input #1, d

'Выдача второй записи на экран и обработка факта нажатия клавиш

j = MsgBox("Ставка заработной платы" & Chr(10) & Chr(13) & Str(d), _

vbYesNoCancel + vbExclamation, "Учебник")

Close #1

Ячейка j этой программы после ее выполнения содержит или число 6 (константа VbYes), если в процессе выполнения была нажата кнопка Да, или число 7 (константа VbNo), если была нажата кнопка Нет, или число 2 (константа vbCancel), если была нажата кнопка Отмена.

Задание

Используйте согласованный с преподавателем вариант задания (табл. 1), выполненную на его основе таблицу Excel, написанную программу вычислений в таблице и созданный на ее основе класс, включая методы работы с файлом. Изучите методы работы с функциями InputBox и MsgBox. Научитесь организовывать диалог с пользователем. Научитесь подключать созданные программы к пользовательскому классу.

Рис. 10. Внешний вид сообщений, выдаваемых функцией MsgBox



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-04-01 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: