Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 21.22.doc
Скачиваний:
2
Добавлен:
11.07.2019
Размер:
102.4 Кб
Скачать

7. Печать текстовых файлов.

Вывод файла на печать - один из завершающих этапов обработки данных, предоставляющий информацию пользователям в удобной форме. Форматирование выводимых данных - важнейшая особенность программ печати. Большие возможности по форматированию документальной информации предоставляют текстовые редакторы, системы управления базами данных, генераторы отчётов. Для того чтобы продемонстрировать возможности форматирования данных средствами Турбо Паскаля приведем простую программу постраничной печати текстового файла в двух вариантах:

program print_text; {Печать текстового файла}

uses Printer;

var f:text; {Исходный файл}

c:char;s,nm:string;

j,p:word;

const bel=#7;FF=#12;

BEGIN writeln('ПЕЧАТЬ ТЕКСТА ');writeln;write('Имя файла:');readln(nm);

if nm<>'' then

begin {открытие f с контролем существования файла}

assign(f,nm);{$I-} reset(f);{$I+}

if IOResult<>0 then begin writeln('Ошибка');halt end {конец открытия f} ;

j:=1;p:=1;repeat {цикл печати}if j mod 50=0 then

begin writeln(LST,FF);writeln(bel,'Конец страницы ',p:3);

writeln('Печатать следующую страницу(Y/N)?',bel);

readln(c);if upcase(c)<>'Y' then

begin close(f);halt end;p:=p+1;

for j:=1 to 35 do

write(LST,' ');writeln(LST,'-',p,'-');j:=1

end;readln(f,s);writeln(LST,s);inc(j);

until eof(f) {конец цикла печати};writeln(LST,FF);close(f)

end

END{print_text}.

program print_text2;

{Вариант программы print_text с выводом LST на экран}

var f,LST:text;c:char;s,nm:string;j,p:word;

const bel=#7;FF=#12;

BEGIN writeln('ПЕЧАТЬ ТЕКСТА ');writeln;

write('Имя файла:');readln(nm);if nm<>'' then

begin assign(f,nm);{$I-} reset(f);{$I+}

if IOResult<>0 then begin writeln('Ошибка');halt end;

assign(LST,'con');rewrite(LST);j:=1;p:=1;

repeat if j mod 50=0 then

begin writeln(LST,FF);writeln(bel,'Конец страницы ',p:3);

writeln('Печатать следующую страницу(Y/N)?',bel);

readln(c);if upcase(c)<>'Y' then

begin close(f);halt end;p:=p+1;for j:=1 to 35 do

write(LST,' ');writeln(LST,'-',p,'-');j:=1

end;readln(f,s);writeln(LST,s);inc(j);

until eof(f);writeln(LST,FF);close(f)

end

END{print_text2}.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]