КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Процедуры и функции для работы с файлами
Типизированные файлы. Длина любого компонента типизированного файла постоянна, что дает возможность организовать прямой доступ к каждому компоненту. Перед первым обращением к процедурам ввода/вывода указатель файла указывает на компоненту с номером 0. После каждого чтения или записи указатель перемещается на следующую компоненту. Переменные в списках ввода/вывода должны иметь тот же тип, что и компоненты файла. Если этих переменных в списке несколько, то указатель будет смещаться на соответствующее количество компонент после каждой операции обмена данными между переменными и дисковым файлом. Такой доступ называется последовательным к компонентам файла. В Turbo Pascal имеется возможность организовать прямой доступ к каждой компоненте c помощью процедуры SEEK. Чтение очередных компонентов файла осуществляется с помощью процедуры READ (<файловая переменная>, <список ввода>); Список ввода содержит одну или более переменных такого же типа, что и компоненты файла. Файловая переменная должна быть объявлена предложением FILE OF… и связана с именем файла процедурой ASSIGN. Файл необходимо открыть процедурой RESET. Для записи данных в типизированный файл используется процедура WRITE (<файловая переменная>, <список вывода>); Список вывода содержит одно или более выражение того же типа, что и компоненты файла. Файловая переменная должна быть объявлена предложением FILE OF… и связана с именем файла процедурой ASSIGN. Файл необходимо открыть процедурой REWRITE или RESET. Например: Составить программу для ввода 20 вещественных чисел и записи их в виде файла на диске. Program Word; Const n=20; Var f: file of real; a: real; i: byte; BEGIN Assign (f, ‘e:\pz961\lpc.txt’); Rewrite (f); for i:=1 to n do Begin Writeln (‘Введите’,i,’-ое число‘); Readln (a); Write (f,a); End; Close (f); END.
Для смещения указателя к нужной компоненте файла используется процедура SEEK (<файловая переменная>, <N компонента>); <N компонента> - это выражение типа LONGINT, указывающее номер компонента. Первый компонент имеет номер 0. APPEND (<файловая переменная>); - открывает текстовый файл для расширения. TRUNCATE (<файловая переменная>); - уничтожает все компоненты файла, начиная с той на которую указывает указатель. IORESULT: Word - эта функция возвращает код, характеризующий результат последней операции ввода/вывода. Если операция завершилась успешно, то функция возвращает значение 0. FILEPOS (<файловая переменная>): Longint - эта функция возвращает текущую файловую позицию, то есть номер компоненты на которую установлен указатель. FILESIZE (<файловая переменная>): Logint - возвращает размер файла в байтах. EOF (<файловая переменная>): Boolean - эта функция возвращает значение True (истина), если указатель находится за последней компонентой файла. В противном случае функция возвращает значение False.
Дата добавления: 2014-01-04; Просмотров: 241; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |