home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / lan / spoolit / spoolout.inc < prev    next >
Text File  |  1986-08-21  |  1KB  |  77 lines

  1.  
  2. Procedure spoolout( fspec : _Lstring);
  3.  
  4. type
  5.    RegPack1 = record
  6.               AX,BX,CX,DX,BP,SI,DI,DS,ES,Flags : integer;
  7.  
  8.              end;
  9. var
  10.    Regs : Regpack1;
  11.    req : packed array [1..80] of byte;
  12.    rep : packed array [1..80] of byte;
  13.    h,i,v,j : integer;
  14.    z,l,k,q : byte;
  15. begin
  16.    with Regs do
  17.    begin
  18.      {Get the users PathBase}
  19.  
  20.       AX:=$E900;
  21.       DX:=5;
  22.       MSDOS (Regs);
  23.       i:=AX div 256;
  24.       v:=(AX-(i*256));
  25.       q:=Byte(v);
  26.  
  27.      {Setup the spool flags}
  28.  
  29.      AX:=$E000;
  30.      DS:=seg(req);
  31.      SI:=ofs(req);
  32.      ES:=seg(rep);
  33.      DI:=ofs(rep);
  34.      for i:=1 to 80 do req[i]:=$00;
  35.      rep[1]:=$06;
  36.      rep[1]:=$00;
  37.      req[1]:=$06;
  38.      req[2]:=$00;
  39.      req[3]:=$02;
  40.      req[4]:=$80;
  41.      req[5]:=$8;
  42.      req[6]:=$00;
  43.      Req[7]:=$1;
  44.      req[9]:=$00;
  45.      msdos(regs);
  46.  
  47.      {Spool the file to print}
  48.  
  49.       for I:=1 to 80 do req[i]:=$00;
  50.       h:=length(fspec);
  51.       z:=Byte(h);
  52.       l:=byte(h+3);
  53.       rep[1]:=l;
  54.       rep[2]:=$00;
  55.       req[1]:=l;
  56.       req[2]:=$00;
  57.       req[3]:=$03;
  58.       req[4]:=v;
  59.       req[5]:=z;
  60.       j:=1;
  61.       for i:=6 to (length(fspec)+5) do begin
  62.          req[i]:=ord(fspec[j]);
  63.          J:=J+1;
  64.       end;
  65.       AX:=$E000;
  66.       DS:=seg(req);
  67.       SI:=ofs(req);
  68.       ES:=seg(rep);
  69.       DI:=ofs(rep);
  70.       MSDOS (Regs);
  71.  
  72.  
  73. end;
  74.  
  75. End; {SpoolOut}
  76.  
  77.