Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Вывод текстового файла через параллельный порт

Автор: Helena 28.11.2007 22:46

Добрый день!
Подскажите пожалуйста, как можно вывести текстовый файл используя порт ввода/вывода и регистры: данных, статуса, управления?
Вот пример программы:

 Program PrintTextFile;
const
maxline=250;
Base:word=$48;
DR:word=0;
SR:word=1;
CR:word=2;
var
f:text;
filename:string;
s:string;
ch:char;
lines:array [1..maxline] of string;
i,j:word;
cntlines:word;
status:word;
control:word;

Procedure PrintChar(s:string); forward;
Procedure PrintTxt(s:string);
begin
write('Name File:');
readln(Filename);
assign(f,Filename);
reset(f);
cntlines:=0;
repeat
readln(f,s);
inc(cntlines);
lines[cntlines]:=s;
for i:=1 to cntlines do
begin
s:=lines[i];
for j:=1 to length(s) do
PrintChar(s[j]);
end;
until eof(f);
close(f);
end;
Procedure PrintChar;
begin
status:=port[SR];
if status and 10000000b=1 then
for j:=1 to length(s) do
begin
printchar(s[j]);
port[DR]:=s[j];
end;
end;
Procedure ControlPort;
begin
control:=port[CR];
if control or 01111111b=0 then
port[CR]:=control or 01111111b=0;
if control and 10000000b=1 then
port[CR]:=control and 10000000b=1;
if control or 01111111b=0 then
port[CR]:=control or 01111111b=0;
end.

Автор: Helena 7.12.2007 1:02

Я уже сама разобралась smile.gif