home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / USCX / TURBO-06.ZIP / READDATE.INC < prev    next >
Text File  |  1985-02-23  |  6KB  |  185 lines

  1. function readdate(x,y:integer):xxxstr8;
  2. {  reads a string from the terminal from screen at position xy  }
  3. {    the string will contain a Valid date in format 00/00/00  }
  4. Var
  5.    hold : array [1..6] of char;
  6.    location : integer;
  7.    inchar : char;
  8.  
  9. begin
  10.    location := 1;
  11.    textcolor(black);
  12.    textbackground(lightgray);
  13.    gotoxy(x,y);
  14.    write('  /  /  ');
  15.    gotoxy(x,y);
  16.    while location<8 do
  17.       begin
  18.          read(kbd,inchar);
  19.          case location of
  20.             1:
  21.                begin
  22.                   gotoxy(x,y);
  23.                   if inchar in ['1','0',' '] then
  24.                      begin
  25.                         hold[1] := inchar;
  26.                         write(inchar);
  27.                         location := 2;
  28.                         gotoxy((x+1),y);
  29.                      end
  30.                   else
  31.                      begin
  32.                         write(chr(7));
  33.                      end;
  34.                end;
  35.             2:
  36.                begin
  37.                   gotoxy((x+1),y);
  38.                   if inchar in ['1'..'9','0'] then
  39.                      if hold[1]='1' then
  40.                         if inchar in ['1','2','0'] then
  41.                            begin
  42.                               hold[2] := inchar;
  43.                               write(inchar);
  44.                               location := 3;
  45.                            end
  46.                         else
  47.                            begin
  48.                               write(chr(7));
  49.                            end
  50.                      else
  51.                         begin
  52.                            write(inchar);
  53.                            hold[2] := inchar;
  54.                            location := 3;
  55.                         end
  56.                   else
  57.                      if ((inchar = chr(8)) or (inchar = chr(7))) then
  58.                         begin
  59.                            gotoxy(x,y);
  60.                            write(' ');
  61.                            location := 1;
  62.                            hold[1] := ' ';
  63.                            gotoxy(x,y);
  64.                         end
  65.                      else
  66.                         begin
  67.                            write(chr(7));
  68.                         end;
  69.                end;
  70.             3:
  71.                begin
  72.                   gotoxy((x+3),y);
  73.                   if inchar in ['1'..'3','0',' '] then
  74.                      begin
  75.                         hold[3] := inchar;
  76.                         write(inchar);
  77.                         location := 4;
  78.                         gotoxy((x+4),y);
  79.                      end
  80.                   else
  81.                      if ((inchar = chr(8)) or (inchar = chr(7))) then
  82.                         begin
  83.                            gotoxy((x+1),y);
  84.                            write(' ');
  85.                            location := 2;
  86.                            hold[2] := ' ';
  87.                            gotoxy((x+1),y);
  88.                         end
  89.                      else
  90.                         begin
  91.                            write(chr(7));
  92.                         end;
  93.                end;
  94.             4:
  95.                begin
  96.                   gotoxy((x+4),y);
  97.                   if inchar in ['1'..'9','0'] then
  98.                      begin
  99.                         hold[4] := inchar;
  100.                         write(inchar);
  101.                         location := 5;
  102.                         gotoxy((x+6),y);
  103.                      end
  104.                   else
  105.                      if ((inchar = chr(8)) or (inchar = chr(7))) then
  106.                         begin
  107.                            gotoxy((x+3),y);
  108.                            write(' ');
  109.                            location := 3;
  110.                            hold[3] := ' ';
  111.                            gotoxy((x+3),y);
  112.                         end
  113.                      else
  114.                         begin
  115.                            write(chr(7));
  116.                         end;
  117.                end;
  118.             5:
  119.                begin
  120.                   gotoxy((x+6),y);
  121.                   if inchar in ['1'..'9','0'] then
  122.                      begin
  123.                         hold[5] := inchar;
  124.                         write(inchar);
  125.                         location := 6;
  126.                         gotoxy((x+7),y);
  127.                      end
  128.                   else
  129.                      if ((inchar = chr(8)) or (inchar = chr(7))) then
  130.                         begin
  131.                            gotoxy((x+4),y);
  132.                            write(' ');
  133.                            location := 4;
  134.                            hold[4] := ' ';
  135.                            gotoxy((x+4),y);
  136.                         end
  137.                      else
  138.                         begin
  139.                            write(chr(7));
  140.                         end;
  141.                end;
  142.             6:
  143.                begin
  144.                   gotoxy((x+7),y);
  145.                   if inchar in ['1'..'9','0'] then
  146.                      begin
  147.                         hold[6] := inchar;
  148.                         write(inchar);
  149.                         location := 7;
  150.                      end
  151.                   else
  152.                      if ((inchar = chr(8)) or (inchar = chr(7))) then
  153.                         begin
  154.                            gotoxy((x+6),y);
  155.                            write(' ');
  156.                            location := 5;
  157.                            hold[5] := ' ';
  158.                            gotoxy((x+6),y);
  159.                         end
  160.                      else
  161.                         begin
  162.                            write(chr(7));
  163.                         end;
  164.                end;
  165.             7:
  166.                begin
  167.                   if ((inchar=chr(11)) or (inchar=chr(13))) then
  168.                      location := 8
  169.                   else
  170.                      if ((inchar=chr(8)) or (inchar=chr(7))) then
  171.                         begin
  172.                            gotoxy((x+7),y);
  173.                            write(' ');
  174.                            location := 6;
  175.                            hold[6] := ' ';
  176.                            gotoxy((x+7),y);
  177.                         end;
  178.                end;
  179.          end;
  180.       end;
  181.    readdate := hold[1]+hold[2]+'/'+hold[3]+hold[4]+'/'+hold[5]+hold[6];
  182.    textcolor(lightgray);
  183.    textbackground(black);
  184. end;
  185.