А.Н. Павлов. Высокоуровневые методы информатики и программирования

 

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 меньше.

           

 

Hosted by uCoz