Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Лекция №10. Файловый ввод и вывод




Содержание лекции:функции файлового ввода/вывода высокого уровня; функции файлового ввода/вывода низкого уровня; форматирование строк таблицы символов; обработка ошибок; форматирование строк таблицы символов

Цели лекции:изучение файловых функций ввода/вывода, записи данных в файл, считывания данных из файла, сохранение данных в файл в форме, доступной для редактора электронных таблиц или текстового редактора

Функции файлового ввода/вывода производят файловые операции записи и считывания данных. Функции файлового ввода/вывода расположены в палитре Functions → File I/O и предназначены для:

- открытия и закрытия файла данных;

- считывания и записи данных из/в файл(а);

- считывания и записи данных из/в файл(а) в виде таблицы символов;

- перемещения и переименования файлов и каталогов;

- изменения характеристик файла;

- создания, изменения и считывания файлов конфигурации.

Палитра функций файлового ввода/вывода, показанная ниже, разделена на три части: функции высокого уровня (high level File I/O), функции низкого уровня (low level File I/O) и подпалитра функций расширенных возможностей (advanced File I/O).

Функции файлового ввода/вывода высокого уровня. Функции файлового ввода/вывода высокого уровня расположены в верхней строке палитры Functions → File I/O. Они предназначены для выполнения основных операций по вводу/выводу данных. Использование функций файлового ввода/вывода высокого уровня позволяет сократить время и усилия программистов при записи и считывании данных в/из файл(а). Функции файлового ввода/вывода высокого уровня выполняют запись и считывание данных и операции закрытия и открытия файла. При наличии ошибок функции файлового ввода/вывода высокого уровня отображают диалоговое окно с описанием ошибок и предлагают на выбор: продолжить выполнение программы или остановить ее.

 

 

Рисунок 10.1 – Палитра функций файлового ввода/вывода

 

Функции файлового ввода/вывода высокого уровня включают в себя:

- Write to Spreadsheet File (запись в крупноформатный файл) – преобразует 2D или ID массив числовых данных одинарной точности в текстовую строку и записывает строку в новый или добавляет в уже существующий файл. При этом можно также транспонировать данные. ВП открывает или создает файл перед записью и после всех операций закрывает его. Этот ВП используется для создания текстовых файлов, читаемых большинством текстовых редакторов и редакторов электронных таблиц.

- Read From Spreadsheet File (чтение из крупномасштабного файла) – считывает определенное число строк от начального смещения start of read offset и преобразует данные в 2D массив числовых данных одинарной точности. ВП открывает файл перед чтением и после всех операций закрывает его. Этот ВП можно использовать для чтения таблицы символов, сохраненной в текстовом формате.

- Write Characters to File – записывает строку символов в новый файл или добавляет ее в уже существующий. ВП открывает или создает файл перед записью и после всех операций закрывает его.

- Read Characters From File – считывает количество символов number of characters от начального смещения start ofread offset. ВП открывает файл перед чтением и после всех операций закрывает его.

- Read Lines From File – считывает определенное число строк из текстового или бинарного файла с положения start of read offset. ВП открывает файл перед чтением и закрывает его после.

- Binary File – читает и записывает файл в бинарном формате. Данные могут быть целочисленного типа или числовыми данными одинарной точности с плавающей точкой.

Однако из-за того, что функции данного класса объединяют весь процесс работы с файлами в один ВП, переделать их под определенную задачу бывает трудно. Для специфических задач следует использовать функции файлового ввода/вывода низкого уровня.

Функции файлового ввода/вывода низкого уровня. Функции файлового ввода/вывода низкого уровня расположены в средней строке палитры Functions → FiIe I/O. Функции файлового ввода/вывода низкого уровня используются для создания нового или обращения к ранее созданному файлу, записи и считывания данных и закрытия файла. Функции низкого уровня работы с файлами поддерживают все операции, необходимые при работе с файлами.

Функции файлового ввода/вывода низкого уровня включают в себя:

Open/Create/Replace File (открыть/создать/переместить файл) – открывает, перезаписывает существующий файл или создает новый. Если file path (путь размещения файла) не указан, ВП выводит на экран диалоговое окно, в котором можно создать новый или выбрать уже существующий файл.

Read File – считывает данные из файла, определяемого по ссылке refnum, и выдает данные на поле вывода data, на поле count подается значение количества считываемых данных. Считывание данных начинается с места, определяемого элементами pos mode и pos offset, и зависит от формата файла.

Write File – записывает данные в файл, определяемый по ссылке refnum. Запись начинается с места, определяемого полями ввода данных pos mode и pos offset для файла потока байтовых данных и указателем конца файла для файла протоколированных данных.

Close File – закрывает указанный в ссылке refnum файл.

Обработка ошибок. Подпрограммы ВП и функции низкого уровня содержат информацию об ошибках. Для их обработки используются подпрограммы обработки ошибок, такие как Simple Error Handler VI (ВП Простой обработчик ошибок), расположенный в палитре Functions Time & Dialog. Поля ввода error in и вывода error out информации об ошибках используются в каждом ВП для обмена информацией об ошибках между ВП.

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

Сохранение данных в новом или уже существующем файле.

В файл, созданный (или открытый) с помощью функций файлового ввода/вывода, можно записать данные любого типа. При необходимости доступа к файлу со стороны других приложений или пользователей следует записывать данные в виде строки ASCII символов.

Доступ к файлу можно осуществить программным путем или с использованием диалогового окна. Для доступа к файлу с помощью диалогового окна на поле ввода file path подпрограммы ВП Open/Create/Replace File VI не следует подавать данные. Путь к файлу состоит из имени дисковода, двоеточия, обратного слэша, разделяющего директории, и имени файла. Например, H:\Laboratoria\lab1.vi в папке Laboratoria.

Форматирование строк таблицы символов. Для того чтобы записать данные в файл формата электронной таблицы, необходимо переформатировать строковые данные в строку таблицы, содержащую разделители, такие как символ табуляции. Cимвол табуляции Tab constant разделяет столбцы, а символ end of line разделяет строки. Оба символа расположены в палитре Functions → String.

Функция Format Into File предназначена для форматирования строк, путей к файлам, числовых и логических данных в текст, а также для записи текста в файл. Часто эта функция используется вместо двух операций – форматирования строки с помощью функции Format Into String или ВП Build Text Express VI и записи результата с помощью функций Write Characters To File (записать в файл) или Write File (записать файл).

Функция Format Into File предназначена для определения порядка, в котором данные записываются в тестовый файл.

Однако ее нельзя применять для добавления данных в файл или перезаписи существующего файла. Для этих операций используется функция Format Into String совместно с функцией Write File.

На рисунке 10.2 представлена блок-диаграмма, на которой подпрограмма ВП Open/Create/Replace File VI открывает файл. Цикл For выполняется пять раз. Функция Format Into String преобразует значения счетчика итераций и случайное число в строку. Также указываются символы Tab constant (табуляции) и End of Line Constant (конца строки) для создания двух столбцов и одной строки таблицы символов.

 

Рисунок 10.2 – Блок – диаграмма для открытия файла

 

Можно открыть данный текстовый файл в любом редакторе электронных таблиц для отображения на экране следующей таблицы:

 

Рисунок 10.3– Пример отображения текстового файла в виде таблицы

 

Дополнительные функции работы с файлами (Advanced File I/O) расположены в палитре Functions → File I/O → Advanced File Functions и предназначены для управления отдельными операциями над файлами.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...