home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
lan
/
spoolit
/
spoolout.inc
< prev
next >
Wrap
Text File
|
1986-08-21
|
1KB
|
77 lines
Procedure spoolout( fspec : _Lstring);
type
RegPack1 = record
AX,BX,CX,DX,BP,SI,DI,DS,ES,Flags : integer;
end;
var
Regs : Regpack1;
req : packed array [1..80] of byte;
rep : packed array [1..80] of byte;
h,i,v,j : integer;
z,l,k,q : byte;
begin
with Regs do
begin
{Get the users PathBase}
AX:=$E900;
DX:=5;
MSDOS (Regs);
i:=AX div 256;
v:=(AX-(i*256));
q:=Byte(v);
{Setup the spool flags}
AX:=$E000;
DS:=seg(req);
SI:=ofs(req);
ES:=seg(rep);
DI:=ofs(rep);
for i:=1 to 80 do req[i]:=$00;
rep[1]:=$06;
rep[1]:=$00;
req[1]:=$06;
req[2]:=$00;
req[3]:=$02;
req[4]:=$80;
req[5]:=$8;
req[6]:=$00;
Req[7]:=$1;
req[9]:=$00;
msdos(regs);
{Spool the file to print}
for I:=1 to 80 do req[i]:=$00;
h:=length(fspec);
z:=Byte(h);
l:=byte(h+3);
rep[1]:=l;
rep[2]:=$00;
req[1]:=l;
req[2]:=$00;
req[3]:=$03;
req[4]:=v;
req[5]:=z;
j:=1;
for i:=6 to (length(fspec)+5) do begin
req[i]:=ord(fspec[j]);
J:=J+1;
end;
AX:=$E000;
DS:=seg(req);
SI:=ofs(req);
ES:=seg(rep);
DI:=ofs(rep);
MSDOS (Regs);
end;
End; {SpoolOut}