КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Работа с файламиФайл – это поименованная область памяти на внешнем носителе (магнитный диск, лента и т.п.), содержащая некоторые данные или программу. При открытии файлу ставится в соответствие канал с определенным номером. Каждый открытый файл имеет свой канал. Функция FreeFile () возвращает номер свободного канала (номер, или дескриптор файла), который можно использовать для очередного открываемого файла. Реализуются три типа доступа к файлам: 1) последовательный (Sequential) – для чтения и записи текстовых файлов, 2) произвольный (Random) – для чтения и записи текста или структурированных двоичных файлов с записями фиксированной длины, 3) двоичный (Binary) – для чтения и записи произвольно структурированных файлов. Для открытия файла с последовательным доступом используется команда Open ИМЯ_ФАЙЛА For РЕЖИМ_РАБОТЫ As #НОМЕР_ФАЙЛА, где – ИМЯ_ФАЙЛА – имя с расширением и маршрутом (полным путем); режимы работы: 1) Append: – файл открывается для помещения в него записей, если он уже содержит какие то записи, то новые помещаются в конец файла; 2) Input – файл открывается для чтения из него записей; 3) Output: – файл открывается для помещения в него записей; НОМЕР_ФАЙЛА – целое число между 1 и 255, предварительно определяемое с помощью функции FreeFile; обращение к файлу из программы выполняется под этим номером. После того, как файл обработан, его закрывают командой Close #НОМЕР_ФАЙЛА. Доступ к файлу возможен между командами Open и Close. Для помещения записи в файл используется команда Print #НОМЕР_ФАЙЛА, ПЕРЕМЕННАЯ [, ПЕРЕМЕННАЯ ]... Для чтения записи из файла используются следующие команды: 1) чтение одной строки: Line Input #НОМЕР_ФАЙЛА, str_Переменная 2) чтение всего файла в строковую переменную (strText): strText = Input$ (LOF(НОМЕР_ФАЙЛА), НОМЕР_ФАЙЛА), где LOF() – функция определения длины файла в байтах; 3) чтение последовательности определенного количества символов: Input #НОМЕР_ФАЙЛА, ПОЛЕ_ДАННЫХ_1 [, ПОЛЕ_ДАННЫХ_2]... Функция EOF(#НОМЕР_ФАЙЛА) возвращает логическое значение ИСТИНА (1), если достигнуто окончание файла, и значение ЛОЖЬ (0) – в противном случае. Открытие файла для произвольного доступа осуществляется командой Open ИМЯ_ФАЙЛА For Random [ Acces ДОСТУП ] As #НОМЕР_ФАЙЛА [Len = ДЛИНА_ЗАПИСИ], где параметр Acces задает режим доступа к файлу: Read - чтение, Write - запись, Read Write - чтение и запись (без указания параметра также чтение и запись). Для записи используется команда Put #НОМЕР_ФАЙЛА, НОМЕР_ЗАПИСИ, ПЕРЕМЕННАЯ для считывания команда Get #НОМЕР_ФАЙЛА, НОМЕР_ЗАПИСИ, ПЕРЕМЕННАЯ Открытие файла для двоичного доступа осуществляется командой Open ИМЯ_ФАЙЛА For Binary [ Acces ДОСТУП ] As #НОМЕР_ФАЙЛА, длина записи не указывается, т. к. обмен происходит побайтно; для ввода и вывода используются те же операторы Get и Put, но вместо номера записи указывается номер байта.
|