А.Н. Павлов. Высокоуровневые методы информатики и программирования
4.5.2. Запись данных в последовательный файл
В рассматриваемом примере, на форме 2 используется командная кнопка (Co3 – имя кнопки) с наименованием «Сохранить данные» для того, чтобы вызвать событие обращения к файловой системе Windows для записи данных в файл последовательного доступа. На рис. 28 представлены программные коды процедуры? выполняющей действия по записи данных в файл, которая находится в форме 2 (F2) проекта (Project1).
Рис. 28. Программные коды для записи данных в последовательный файл
Процедура Sub Co3_Click() содержит операторы, с помощью которых организовано:
- вывод на экран пользователя диалогового окна для ввода пути к файлу в текстовую строку. Для этой цели использован оператор присвоения и стандартная функция InputBox(), Переменной y присваивается значение текстовой строки, которую заполняет пользователь. На рис. 29 показан внешний вид диалогового окна, которое вызывается функцией InputBox(). Аргументами этой функции являются: сообщение пользователю о том, что следует ввести; текст, который должен быть расположен в информационной строке (стандартное диалоговое окно имеет две кнопки и строку для ввода текста).
Рис. 29. Диалоговое окно, которое формируется при использовании функции InputBox()
При работе с диалоговым окном необходимо анализировать, какую кнопку нажал пользователь. Логика блока проверки нажатия кнопки пользователем основана на использовании условного оператора If … Then…Else и представлена на рис. 30.
Рис. 30. Логика работы с диалоговым окном при записи данных в файл
В том случае, если пользователь заполняет текстовое поле в диалоговом окне и нажимает на кнопку “OK”, тогда начинает работать блок записи данных в текстовый файл с именем Fio.txt. Путь к файлу в данном примере содержит переменная y = “C:\Pavlov_A_N\Fio.txt”. Обратите внимание, что пользователь выбрал директорию (папку) на диске C:\ с видоизмененным наименованием по отношению к рекомендации в тексте сообщения. Пользователь указал имя папки «Pavlov_A_N», которая находится на его компьютере.
Запись данных осуществляется после того, как будет объявлен путь к файлу с помощью оператора Open, который записан во второй строке после оператора Else (см. рис. 28). Данные, которые были накоплены в массиве Mas() имеют конечное значение, количество передаваемых данных накапливается в переменной i – это счетчик данных. Передача из массива Mas(j) текущего значения j-го данного на носитель информации (в примере запись осуществляется на жесткий диск C:\) проводится в цикле. Циклические процессы с конечным (известным) числом данных организуются в программах с помощью операторов For и Next. Синтаксис цикла со счетчиком таков:
For [Переменная, которая определена в программе в качестве счетчика] =
To [Число, задающее значение счетчика, при котором цикл завершается] Step [размер шага счетчика (например, шаг равен 2)], если шаг счетчика равен 1, то ключевое слово Step можно не использовать.
После оператора For записываются операторы, которые выполняют действия над переменными. В примере записан только один оператор - Print #1, Mas(j), обеспечивающий передачу текущего значения переменной на носитель.
Завершается цикл оператором Next [Переменная, обозначающая счетчик]. Использовать переменную в операторе Next – не обязательно.
В рассматриваемом примере переменная i – накапливает количество значений, которые находятся в массиве, а так как индекс массива j начинается с нуля, то в счетчике оператора Next задается число циклов на 1 меньше.