home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Jason Aller Floppy Collection
/
341.img
/
TCS161S.ZIP
/
PRINTTXT.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1989-10-07
|
6KB
|
179 lines
procedure printtext (sector:integer);
var q:message;
x,bub,done:boolean;
n,m,t,w,b,y,mm,i,apexiscool,e:integer;
p:byte;
s,a,cornerstone,sunbane:string;
cs,css,keithmillerisafag:char;
kay,thegog:char;
begin
reloadtext (sector,q);
writeln (^B);
n:=1;
repeat
mm:=0;
repeat
if length(q.text[n])>0 then begin
p:=0;
mm:=mm+1;
s:=copy(q.text[n],mm,1);
if s='|' then p:=mm
else p:=0;
if p>0 then begin
cornerstone:=copy(q.text[n],p+1,1);
sunbane:=copy(q.text[n],p+2,1);
a:=(upcase(cornerstone[1]))+(upcase(sunbane[1]));
if
(a='00') or (a='01') or (a='02') or (a='03') or (a='04') or (a='05') or
(a='06') or (a='07') or (a='08') or (a='09') or (a='10') or (a='11') or
(a='12') or (a='13') or (a='14') or (a='15') or (a='16') or (a='17') or
(a='18') or (a='19') or (a='20') or (a='21') or (a='22') or (a='23') or
(a='KE') or (a='UN') or (a='CL') or (a='TI') or (a='DA'){ or (a='B0') or
(a='B1') or (a='B2') or (a='B3') or (a='B4') or (a='B5') or (a='B6') or
(a='B7')} or ((a[1]='P') and (valu(a[2])>0))
then begin
if
(a='00') or (a='01') or (a='02') or (a='03') or (a='04') or (a='05') or
(a='06') or (a='07') or (a='08') or (a='09') or (a='10') or (a='11') or
(a='12') or (a='13') or (a='14') or (a='15') or (a='16') or (a='17') or
(a='18') or (a='19') or (a='20') or (a='21') or (a='22') or (a='23') then
begin
delete (q.text[n],p+1,2);
b:=valu(a);
case b of
16:case curattrib of
0..15:b:=curattrib;
16..31:b:=curattrib-16;
32..47:b:=curattrib-32;
48..63:b:=curattrib-48;
64..79:b:=curattrib-64;
80..95:b:=curattrib-80;
96..111:b:=curattrib-96;
112..127:b:=curattrib-111;
end;
17:case curattrib of
0..15:b:=curattrib+16;
16..31:b:=curattrib;
32..47:b:=curattrib-16;
48..63:b:=curattrib-32;
64..79:b:=curattrib-48;
80..95:b:=curattrib-64;
96..111:b:=curattrib-80;
112..127:b:=curattrib-96;
end;
18:case curattrib of
0..15:b:=curattrib+32;
16..31:b:=curattrib+16;
32..47:b:=curattrib;
48..63:b:=curattrib-16;
64..79:b:=curattrib-32;
80..95:b:=curattrib-48;
96..111:b:=curattrib-64;
112..127:b:=curattrib-80;
end;
19:case curattrib of
0..15:b:=curattrib+48;
16..31:b:=curattrib+32;
32..47:b:=curattrib+16;
48..63:b:=curattrib;
64..79:b:=curattrib-16;
80..95:b:=curattrib-32;
96..111:b:=curattrib-48;
112..127:b:=curattrib-64;
end;
20:case curattrib of
0..15:b:=curattrib+64;
16..31:b:=curattrib+48;
32..47:b:=curattrib+32;
48..63:b:=curattrib+16;
64..79:b:=curattrib;
80..95:b:=curattrib-16;
96..111:b:=curattrib-32;
112..127:b:=curattrib-48;
end;
21:case curattrib of
0..15:b:=curattrib+80;
16..31:b:=curattrib+64;
32..47:b:=curattrib+48;
48..63:b:=curattrib+32;
64..79:b:=curattrib+16;
80..95:b:=curattrib;
96..111:b:=curattrib-16;
112..127:b:=curattrib-32;
end;
22:case curattrib of
0..15:b:=curattrib+96;
16..31:b:=curattrib+80;
32..47:b:=curattrib+64;
48..63:b:=curattrib+48;
64..79:b:=curattrib+32;
80..95:b:=curattrib+16;
96..111:b:=curattrib;
112..127:b:=curattrib-16;
end;
23:case curattrib of
0..15:b:=curattrib+111;
16..31:b:=curattrib+96;
32..47:b:=curattrib+80;
48..63:b:=curattrib+64;
64..79:b:=curattrib+48;
80..95:b:=curattrib+32;
96..111:b:=curattrib+16;
112..127:b:=curattrib;
end;
end;
if b=0 then ansicolor (0);
if (b<>0) then ansicolor (b);
end;
end;
if a='KE' then
begin
delete (q.text[n],p+1,1);
delete (q.text[n],p+1,1);
write ('*');
getstr (2);
end;
if a='UN' then
begin
delete (q.text[n],p+1,1);
delete (q.text[n],p+1,1);
write (urec.handle);
end;
if a='TI' then
begin
delete (q.text[n],p+1,1);
delete (q.text[n],p+1,1);
write (timestr(now));
end;
if a='DA' then
begin
delete (q.text[n],p+1,1);
delete (q.text[n],p+1,1);
write (datestr(now));
end;
if a='CL' then
begin
delete (q.text[n],p+1,1);
delete (q.text[n],p+1,1);
if (ansigraphics in urec.config) then write (#27+'[2J') else
write (^L);
end;
if ((a[1]='P') and (valu(a[2])>0)) then
begin
delete (q.text[n],p+1,1);
delete (q.text[n],p+1,1);
apexiscool:=valu(a[2]);
delay (apexiscool*1000);
end;
end else write (s);
end;
until mm=length(q.text[n]);
writeln;
n:=n+1;
until break or (n>q.numlines) or hungupon;
x:=xpressed; bub:=break;
writeln (^B^M);
xpressed:=x; break:=bub;
ansicolor (urec.regularcolor)
end;