Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Связывание имени файла с файловой переменнойСодержание книги
Поиск на нашем сайте
То есть мы должны объявить, что такому-то идентификатору (файловой переменной) соответствует имя файла на диске (включая устройство и путь). Для этого используется процедура Assign (в Делфи - AssignFile). Синтаксис: Assign(<файловая переменная, т е идентификатор>,<выражение строкового типа>); Примеры: Assign(tfu,'MyFile.txt'); Assign(fff,'.\dano.dat'); Assign(fara,'..\ff\ras2.dat'); Assign(fara,'D:\copy6\ras2.dat');Процедура Assign применяется одинаково ко всем файловым типам. Если при вызове Assign для текстового файла не указана файловая переменная, то подразумеваются стандартные переменные: Input - клавиатура и Output - экран. Если вызывать read, readln или write, writeln без указания файловой переменной, также ввод будет с клавиатуры, а вывод - на экран. Начало работы с файлом. Чтобы начать работу с файлом, нужно вызвать процедуру reset или rewrite. Синтаксис: Типизированные и текстовые файлы: Reset(<файловая переменная>); Пример: reset(db2); Открывается СУЩЕСТВУЮЩИЙ файл, который соединен с этой переменной процедурой Assign. Файловый указатель ставится на начало файла (позиция = 0). (После чего файл готов к чтению/записи первой записи). ReWrite(<файловая переменная>) Пример: rewrite(db2); Открывается новый пустой файл и ему присваивается имя, заданное в процедуре Assign. Если файл с таким именем уже существует, он очищается. Файловый указатель ставится на начало файла (позиция = 0). (После чего файл готов к записи первой записи, а после появления записей - к их чтению. При этом переставить файловый указатель можно либо процедурой reset, либо процедурой seek, описанной далее).Дополнительно - текстовые файлы можно открыть для добавления данных в конец файла: Append(<файловая переменная>); Например: Append(ftx); Удобно при налаживании программы выводить данные, используя пары: close; append; <записать порцию данных> close; append; <записать порцию данных>... и т д Если убрать close, то нет гарантии, что все данные, которые "записаны" останутся в файле на диске. Нетипизированные файлы. Reset(<файловая переменная>,[<размер записи>]); Пример: reset(fara,512); Примечания: Если размер записи не указан, подразумевается 128 байт (по умолчанию). Обычно размер записи равен размеру кластера на устройстве (для дискет - 512 байт) или 1 байт. ReWrite(<файловая переменная>,[<размер записи>]); Пример: rewrite(fara,512); Примечания - те же, что для reset. Чтение из файла Типизированные файлы Процедура Read(<файловая переменная>,<переменная - буфер чтения>, <переменная - буфер чтения>,...); Переменные должны быть объявлены как переменные того же типа, что и базовый тип файла. Исполнение этой процедуры: Байты файла, начиная от текущего положения файлового указателя, в количестве, соответствующем произведению длины базового типа на количество переменных копируются в переменные. Файловый указатель перемещается на это же количество байт вперед, к началу соответствущей записи. Ясно, что для чтения файла процедуру Read нужно исполнить многократно, обычно - в цикле. Для избежания аварии нужно каждый раз проверять - не стоит ли указатель на конце файла. Для этого есть функция eof(<файловая переменная>). Это - булевская функция. Она возвращает true, если файловый указатель находится в конце файла, т е дальше последнего байта файла и возвращает false - иначе. Пример программы. Убедимся, что файл, открытый процедурой rewrite Можно читать. var f1: file of double; buf: double; ii: byte; Begin Assign(f1, 'myfile.dub'); rewrite(f1); for ii:= 1 to 9 do begin buf:= 10*ii+ii/10; write(f1,buf); end; seek(f1,4); for ii:= 1 to 5 do begin buf:= 77.7; write(f1,buf); end; close(f1); reset(f1); While not eof(f1) do Begin read(f1,buf); writeln(buf); end; close(f1); End. (Файл MyFILE.DUB появился в той же папке, где Находится turbo.exe, а при запуске откомпилированного
|
||||
Последнее изменение этой страницы: 2017-02-07; просмотров: 157; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.135.67 (0.005 с.) |