Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 218; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.198 (0.01 с.) |