home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / TURBOPAS / TKERMIT.LBR / KCMD.PQS / KCMD.PAS
Pascal/Delphi Source File  |  2000-06-30  |  4KB  |  110 lines

  1.  
  2.   procedure parse; (* separate the words on the command line *)
  3.  
  4.     begin (* parse *)
  5.       line_command := '';
  6.       arg1 := '';
  7.       arg2 := '';
  8.       arg3 := '';
  9.       ltrim(line_buffer);
  10.       if length(line_buffer) > 0 then
  11.         rtrim(line_buffer);
  12.       if length(line_buffer) > 0 then
  13.         begin
  14.           if pos(' ',line_buffer) > 0 then
  15.             line_command := copy(line_buffer,1,pos(' ',line_buffer))
  16.           else
  17.             line_command := line_buffer;
  18.         end;
  19.       if pos(' ',line_buffer) > 0 then
  20.         delete(line_buffer,1,pos(' ',line_buffer))
  21.       else
  22.         line_buffer := '';
  23.       ltrim(line_buffer);
  24.       if length(line_buffer) > 0 then
  25.         begin
  26.           if pos(' ',line_buffer) > 0 then
  27.             arg1 := copy(line_buffer,1,pos(' ',line_buffer))
  28.           else
  29.             arg1 := line_buffer;
  30.         end;
  31.       if pos(' ', line_buffer) > 0 then
  32.         delete(line_buffer,1,pos(' ',line_buffer))
  33.       else
  34.         line_buffer := '';
  35.       ltrim(line_buffer);
  36.       if length(line_buffer) > 0 then
  37.         begin
  38.           if pos(' ',line_buffer) > 0 then
  39.             arg2 := copy(line_buffer,1,pos(' ',line_buffer))
  40.           else
  41.             arg2 := line_buffer;
  42.         end;
  43.       if pos(' ', line_buffer) > 0 then
  44.         delete(line_buffer,1,pos(' ',line_buffer))
  45.       else
  46.         line_buffer := '';
  47.       ltrim(line_buffer);
  48.       if length(line_buffer) > 0 then
  49.         begin
  50.           if pos(' ',line_buffer) > 0 then
  51.             arg3 := copy(line_buffer,1,pos(' ',line_buffer))
  52.           else
  53.             arg3 := line_buffer;
  54.         end;
  55.     end; (* parse *)
  56.  
  57. (*----------------------------------------------------------------*)
  58.  
  59.   procedure prompt; (* write the prompt message *)
  60.  
  61.     begin
  62.       write('TKermit>');
  63.     end;
  64.  
  65. (*----------------------------------------------------------------*)
  66.  
  67.   procedure get_cmd_line; (* read the command line *)
  68.  
  69.     begin
  70.       readln(line_buffer);
  71.       if length(line_buffer) > 0 then
  72.         begin
  73.           parse;
  74.           case line_command[1] of
  75.             'C','c' : term;
  76.             'D','d' : dir;
  77.             'E','e' : begin
  78.                         case line_command[2] of
  79.                           'R','r' : delfile;
  80.                           'X','x' : quit;
  81.                         end; (* case *)
  82.                       end;
  83.             'B','b','L','l','F','f' : finish;
  84.             'G','g' : begin
  85.                         clrscr;
  86.                         state := get_file;
  87.                         receive;
  88.                       end;
  89.             'H','h' : help;
  90.             'Q','q' : quit;
  91.             'R','r' : begin
  92.                         clrscr;
  93.                         state := receive_init;
  94.                         receive;
  95.                       end;
  96.             'S','s' : begin
  97.                         case line_command[2] of
  98.                           'E','e' : case line_command[3] of
  99.                                       'N','n' : send;
  100.                                       'T','t' : set_param;
  101.                                     end; (* case *)
  102.                           'H','h' : show;
  103.                         end; (* case *)
  104.                       end; (* case s *)
  105.             else
  106.                 writeln('Unimplemented command, type Help for list of commands.');
  107.           end; (* case *)
  108.         end;
  109.     end;
  110.