home *** CD-ROM | disk | FTP | other *** search
-
- 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}
-