Учебник Turbo Pascal. Введение - Ввод данных из внешнего файла

ОГЛАВЛЕНИЕ

Ввод данных из внешнего файла

Следующая программа предназначена для ввода данных в программу из внешнего текстового файла table.dat, созданного программой file_of_values, и вывода их на принтер.

Листинг 1.14. Ввод данных из внешнего файла

program get_file;
const
    FF = #12; {Код управляющего символа «прогон страницы»}
var
    in_file, out_fi1e: Text;
    k, count: Word;
    ss: string[80];
begin
    Assign(in_file, 'c:\user\ivanov\table.dat');
    Reset(in_file);
    Assign(out_file, 'prn');
    Rewrite(out_file);
    count := 0;
    
    {Вывод на печать пустых строк}
    for k := 1 to 3 do
        WriteLn(out_file);
    
    {В следующем цикле считывается из входного файла и выводится на печать заголовок таблицы (4 строки)}
    for k := 1 to 4 do
    begin
        ReadLn(in_file, ss);
        WriteLn(out_file, ss);
    end;
    count := 0;
    
    {Считывание из внешнего файла и вывод на печать таблицы значений}
    while not Eof(in_file) do
    begin
        ReadLn(in_file, ss);
        WriteLn(out_file, ss);
        Inc(count):
        if count = 44 then
        begin
            count := 0;
            Write(out_file, FF);
            for к ;= 1 to 4 do
                WriteLn(out_file);
        end;
    end;
    
    Write(out_file, FF);
    Close(out_file);
    Close(in_file);
end.

Считывание файла происходит в цикле while. Данный цикл выбран потому, что он допускает крайний случай — если файл пуст, то цикл не выполняется вообще. Функция Eof модуля System возвращает значение true, если текущая позиция в файле находится за последним его элементом. Таким образом, операторы цикла будут выполняться до тех пор, пока мы не доберемся до конца файла in_file.

Зарезервированное слово string определяет строковые переменные. Объявление ss как переменной типа string[80] означает, что ss является строкой, содержащей до 80 символов. Без параметра [n] максимально допустимая длина строки по умолчанию составляет 255 символов. Таким образом, предложение

var  SS:   string;

объявляет ss строкой, длина которой может быть до 255 символов.

В этой программе через каждые 45 строк в текст вставляется специальный управляющий символ «прогон страницы». Код этого символа содержится в константе FF.

ВНИМАНИЕ Каждый файл, открытый программой, следует закрывать процедурой Close. Это защитит внешние файлы от аварийных ситуаций. Можно сказать, что это — признак хорошего тона в программировании.