trains_hr.gif
 


В ПОМОЩЬ СТУДЕНТУ И ШКОЛЬНИКУ

 


Горбачев Л.И. Основы программирования в среде Turbo Pascal.

[НАЗАД]  [ДАЛЕЕ]

3. Текстовые файлы.

   Особым типом файлов являются текстовые файлы. Эти файлы содержат некоторый текст, который состоит из обычных символов (например, букв алфавита, цифр). Символы текстового файла разбиты на строки, подобно тому, как они записываются на бумаге.

   Структура текстовых файлов отличается от структуры обычных файлов тем, что содержимое текстового файла рассматривается как последовательность символьных строк переменной длины, разделенных специальной комбинацией, называемой "конец строки". Как правило, эта комбинация строится из управляющего кода "CR - carriage return - перевод каретки" (символ #13), за которой, возможно, следует управляющий код "LF - line feed - перевод строки" (символ #10). Текстовый файл завершается специальным кодом "конец файла" (символ #26).

Описание текстового файла имеет следующий вид:

var имя_файла: text;

Здесь text - стандартный идентификатор, точно такой же, как real, char и т.п.

   Отличие текстового файла (типа text) от файла типа char (или string) заключается в том, что текстовый файл состоит из последовательности строк различной длины, каждая из которых содержит величины типа char и заканчивается специальным символом конца строки. Для определения конца строки используется функция:

Eoln(var F: text): boolean;

   Она принимает значение True, если достигнут конец строки, и значение False - в противном случае. Если в Eoln параметр F опущен, то подразумевается использование стандартного файла ввода Input. Для работы с текстовыми файлами наряду с выше рассмотренными процедурами и функциями (кроме Seek, FilePos, FileSize) используются следующие стандартные процедуры:

  • Append(F) - открытие уже существующего текстового файла F для добавления данных в конец файла.
  • WriteLn(F, X1[, X2,..., Xn]) - запись в текстовый файл F значений переменной X1 (передача строки символов в текстовый файл из программы), или несколько строк из переменных X1,..., Xn.
  • ReadLn(F, X1[, X2,..., Xn]) - считывают в переменную X1 (передача данных в программу из текстового файла) строку символов файла F (или несколько строк в переменные X1,..., Xn).

   3.1. Запись данных в текстовый файл.

   Для записи данных в текстовый файл в программе необходимо выполнить следующие действия:

  1. открыть новый файл для записи (Rewrite);
  2. вывести данные из программы в файл (Write);
  3. закрыть файл для записи (Close);
Пример: Программа, с помощью которой происходит запись в новый (текстовый) файл данных о студентах.
[program OutFile]

   3.2. Чтение данных текстового файла.

   Для чтения данных текстового файла в программе необходимо выполнить следующие действия:

  1. открыть файл для чтения (Reset);
  2. ввести данные файла в программу (Read);
  3. закрыть файл для чтения (Close).
Пример: Программа, с помощью которой происходит чтение данных текстового файла.
[program InpFile]

   3.3. Добавление данных в файл.

   Пусть необходимо к уже существующему файлу добавить ряд элементов. Для этого надо выполнить следующие действия:

  1. открыть уже существующий файл процедурой Reset;
  2. записать дополнительные данные (Write);
  3. закрыть файл (Close);
Пример: Программа, с помощью которой можно добавлять информацию в текстовый файл.
[program AppFile]

   3.4. Изменение элементов текстового файла.

   Изменение информации в текстовом файле осуществляется с помощью переписывания строк (с изменением или нет) одного файла в другой:

  1. открывается корректируемый ("старый") файл (Reset);
  2. открывается "новый" файл для записи информации (Rewrite);
  3. считывается строка из "старого" файла (ReadLn). Далее данную строку изменяют (или не изменяют);
  4. измененную (или не измененную) строку записывают в "новый" файл (WriteLn). Третий и четвертый пункты повторяют до тех пор, пока не наступит конец файла;
  5. закрываются "новый" и "старый" файлы (Close);
  6. удаляется "старый" файл (Erase);
  7. "новому" файлу присваивается "старое" имя, т.е. "новый" файл переименовывается (Rename).
Пример: Пусть на диске существует файл TEXT.TXT, содержащий строки текста. Программа, с помощью которой происходит редактирование строк текстового файла.
[program EditTxtFile]

Пример: Программа, определяющая существование файла (с определенным пользователем именем) на диске. Директива компилятора {$I-} исключает завершение работы программы в случае возникновения ошибки при открытии файла процедурой Reset. Это дает возможность с помощью функции IOResult обнаружить на этапе выполнения наличие ошибок. Следующая директива компилятора {$I+} отменяет установку ранее выполненной директивы.
[program ErrToFile]

Пример: Процедура вывода файлов текущего каталога на экран. Допустим, в разделе описаний, описана следующая структура:
type Stud = record
Fam : string[10];
Name : string[10];
Age : 0..150;
end;
var FStud : file of Stud; GrRec : Stud;
FileName : string[30];

   Для вывода всех файлов текущего каталога можно использовать процедуру FindFile.
...
Procedure FindFile;
Var FZap : SearchRec;
begin
FindFirst('*.*', AnyFile, FZap);
while DosError = 0 do
begin
Write(FZap.Name, ' ');
FindNext(FZap);
end;
WriteLn;
end;
...

[НАЗАД]  [ДАЛЕЕ]


Главная
Новости
TurboPascal
Учебное пособие
Лекции
Исходники
Математика
Книги
Лекции
Шпоры
ЦТ и ЕГЭ
Физика

Книги

Шпоры
ЦТ и ЕГЭ

Литература

Сочинения

Краткие содержания

Другое
Мой родной край
Фотогалерея
Форум
Ссылки

Гостевая






 

                                        © Copyright(c) 2004 Amro Group. All rights reserved

 

Hosted by uCoz