home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / TURBOPAS / TURBO9.ZIP / DTA.INC < prev    next >
Encoding:
Text File  |  1984-07-10  |  2.1 KB  |  139 lines

  1.  
  2. function getword(var line:stringtype) : stringtype;
  3.  
  4. var
  5.   word : stringtype;
  6.   pos1 : integer;
  7.  
  8. begin
  9.    while pos(' ',line) = 1 do
  10.       delete (line,1,1);
  11.  
  12.    pos1 := pos(' ',line);
  13.  
  14.    if (pos1 <> 0 ) then
  15.    begin
  16.       word := copy(line,1,pos1-1);
  17.       delete(line,1,pos1);
  18.    end
  19.  
  20.    else
  21.    begin
  22.       word := line;
  23.       line := '';
  24.    end;
  25.  
  26.    getword := word;
  27.  
  28. end;
  29.  
  30. procedure getdta;
  31.  
  32. begin
  33.   inline
  34.     ( $b4/$2f/          {mov ah,2f}
  35.       $cd/$21/          {int,21}
  36.       $89/$1e/bx/       {mov (bx),bx  }
  37.       $8c/$c3/          {mov bx,es }
  38.       $89/$1e/es        {mov (es),bx  }
  39.         )
  40.    end;
  41.  
  42.  
  43.  
  44. procedure getfile(var file_search);
  45.  
  46. var
  47.    i,j : integer;
  48.  
  49.  
  50. begin
  51.  
  52.  
  53.    begin;
  54.       inline  (
  55.          $8b/$56/$04/    {mov dx,[bp+04]}
  56.          $81/$c2/$01/$00/{add dx,0001}
  57.          $b9/$00/$00/    {mov cx,0000}
  58.          $b4/$4e/        {mov ah,4e}
  59.          $cd/$21/        {int 21h }
  60.          $a2/al          {mov (al),al}
  61.            )
  62.    end;
  63.  
  64.  
  65.  
  66.  
  67.    i := 30;
  68.    filename := '';
  69.  
  70.    if (al <> 02) and (al <> 18) then
  71.    begin
  72.  
  73.       while mem[es:bx+i] <> 0 do
  74.       begin
  75.         filename := concat(filename,chr(mem[es:bx+i]) );
  76.         i := i +1;
  77.       end;
  78.    end;
  79. end;
  80.  
  81. procedure getnext;
  82.  
  83. begin
  84.       begin
  85.       inline  (
  86.          $b4/$4f/        {mov ah,4f}
  87.          $cd/$21/        {int 21h }
  88.          $a2/al          {mov (al),al}
  89.            )
  90.       end;
  91.  
  92.    i := 30;
  93.    filename := '';
  94.  
  95.    if (al <> 02) and (al <> 18) then
  96.    begin
  97.  
  98.       while mem[es:bx+i] <> 0 do
  99.       begin
  100.         filename := concat(filename,chr(mem[es:bx+i]) );
  101.         i := i +1;
  102.       end;
  103.    end;
  104. end;
  105.  
  106. procedure save_dta;
  107.  
  108. var
  109.    i:integer;
  110.  
  111. begin
  112.  
  113.    for i := 0 to 127 do
  114.      dta[i]  := mem[es:bx+i] ;
  115. end;
  116.  
  117.  
  118. procedure restore_dta;
  119.  
  120. var
  121.    i:integer;
  122. begin
  123.  
  124.    for i := 0 to 127 do
  125.      mem[es:bx+i] :=  dta[i];
  126. end;
  127.  
  128. procedure write_dta;
  129.  
  130. var
  131.    i:integer;
  132. begin
  133. writeln;
  134.  
  135.    for i := 0 to 70 do
  136.      write(chr(mem[es:bx+i]) );
  137.      writeln;
  138. end;
  139.