Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
subjects:programming:pascal:file [2021/03/29 17:13] ¶ |
subjects:programming:pascal:file [2021/04/02 17:20] (текущий) ¶ |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Работа с файлами ====== | ====== Работа с файлами ====== | ||
- | Файлы бывают 3-х видов: | + | Файлы (//для Pascal//) бывают 3-х видов: |
* текстовые файлы<code pascal> | * текстовые файлы<code pascal> | ||
var fl:text; {текстовый файл} | var fl:text; {текстовый файл} | ||
Строка 14: | Строка 14: | ||
===== Основные процедуры ===== | ===== Основные процедуры ===== | ||
+ | ==== Режим открытия файла ==== | ||
* ''reset (fl);'' --- Открытие существующего файла для чтения при последовательном доступе. | * ''reset (fl);'' --- Открытие существующего файла для чтения при последовательном доступе. | ||
* ''rewrite (fl);'' --- Открытие создаваемого файла для записи в него информации; если файл с таким именем уже существует, то информация в нем стирается. | * ''rewrite (fl);'' --- Открытие создаваемого файла для записи в него информации; если файл с таким именем уже существует, то информация в нем стирается. | ||
* ''append (fl);'' --- Добавление информации в конец. | * ''append (fl);'' --- Добавление информации в конец. | ||
+ | ==== Работа с открытым файлом: основное ==== | ||
* ''Read (f, список переменных);'' --- Чтение из файла. | * ''Read (f, список переменных);'' --- Чтение из файла. | ||
* ''ReadLn (f, список переменных);'' --- Чтение из файла, но после прочтения данных пропускаются все оставшиеся символы в данной строке, включая метку конца строки. | * ''ReadLn (f, список переменных);'' --- Чтение из файла, но после прочтения данных пропускаются все оставшиеся символы в данной строке, включая метку конца строки. | ||
Строка 23: | Строка 25: | ||
* ''WriteLn (f, список переменных);'' --- Запись в конец файла + символа конца строки. | * ''WriteLn (f, список переменных);'' --- Запись в конец файла + символа конца строки. | ||
- | * Чтение до конца файла: оператор EOF (//end of file//). | + | ==== Работа с открытым файлом: дополнительное ==== |
- | * Чтение до конца строки: оператор EOL (//end of line//). | + | * Чтение до конца файла: оператор EOF (//end of file//). \\ ''eof(f);'' --- Возвращает ''True'', если достигнут конец **файла**. |
- | * ''eof(f);'' --- Возвращает ''True'', если достигнут конец **файла**. | + | * Чтение до конца строки: оператор EOL (//end of line//). \\ ''eoln(f);'' --- Возвращающая ''True'', если достигнут конец **строки**. |
- | * ''eoln(f);'' --- Возвращающая ''True'', если достигнут конец **строки**. | + | |
* ''erase(переменная_файла);'' --- Удалить файл. | * ''erase(переменная_файла);'' --- Удалить файл. | ||
* ''rename(переменная_файла,'новое имя файла');'' --- Переименовать файл. | * ''rename(переменная_файла,'новое имя файла');'' --- Переименовать файл. | ||
Строка 40: | Строка 41: | ||
<code pascal readtextfile.pas> | <code pascal readtextfile.pas> | ||
Program readtextfile; | Program readtextfile; | ||
- | Uses crt; | + | Uses crt; // Подключаем модуль для clrscr |
var | var | ||
fl:text; // Для связи программы с текстовым файлом. Файловые переменные, предназначенные для работы с текстовыми файлами, должны иметь тип данных Text. | fl:text; // Для связи программы с текстовым файлом. Файловые переменные, предназначенные для работы с текстовыми файлами, должны иметь тип данных Text. | ||
str:string; // Будем использовать для чтения строк из файла. | str:string; // Будем использовать для чтения строк из файла. | ||
begin | begin | ||
- | clrscr; | + | clrscr; // clrscr - очищает экран |
assign (fl, 'programs\text.txt'); // Теперь посредством файловой переменной «fl» мы можем управлять файлом «text.txt». | assign (fl, 'programs\text.txt'); // Теперь посредством файловой переменной «fl» мы можем управлять файлом «text.txt». | ||
reset (fl); // Инициация файла – это открытие файла для чтения, записи либо для чтения и записи одновременно. Процедура Reset говорит нам о том, что файл открывается только для чтения. | reset (fl); // Инициация файла – это открытие файла для чтения, записи либо для чтения и записи одновременно. Процедура Reset говорит нам о том, что файл открывается только для чтения. | ||
while not eof(fl) do begin // Цикл работает, пока текущая позиция не дойдёт до конца строки. | while not eof(fl) do begin // Цикл работает, пока текущая позиция не дойдёт до конца строки. | ||
- | read (fl,str); // Для того чтобы получить доступ к записям, хранящимся в файле, используются процедуры Read, Readln, Write, Writeln. В результате действия процедуры Read из файловой переменной «fl» будет прочитана информация и эта информация будет записана в строковую переменную «str». | + | readln (fl,str); // Для того чтобы получить доступ к записям, хранящимся в файле, используются процедуры Read, Readln, Write, Writeln. В результате действия процедуры Read из файловой переменной «fl» будет прочитана информация и эта информация будет записана в строковую переменную «str». |
write(str); // Вывод на экран. | write(str); // Вывод на экран. | ||
end; | end; | ||
close(fl); // Стандартная процедура закрытия файла. | close(fl); // Стандартная процедура закрытия файла. | ||
- | readln; | + | readln; // Ожидание ввода, т.е. нажатия "Enter" от пользователя. |
end. | end. | ||
</code> | </code> | ||
FIXME | FIXME |