home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / progm / cufs.zip / CKLENGTH.PAS < prev    next >
Pascal/Delphi Source File  |  1980-01-01  |  1KB  |  54 lines

  1.  
  2. {*************************************}
  3. {*  This Procedure will take input   *}
  4. {*  from the screen in a position    *}
  5. {*  specified by vertical position   *}
  6. {*  ,horizontal position. A maximum  *}
  7. {*  character length must also be    *}
  8. {*  passed.                          *}
  9. {*************************************}
  10.  
  11.  
  12. PROCEDURE CKLENGTH(VERT,HORZ,LENGTH:BYTE);
  13.  
  14. TYPE  STRING80 = ARRAY [1..80] OF CHAR;
  15. VAR I : 1..80;
  16.    FLAG : BYTE;
  17.    INPSTRING : CHAR;
  18.    ASC : BYTE;
  19.    WORKSTRING : STRING[80];
  20. BEGIN
  21. REPEAT
  22.   GOTOXY(VERT,HORZ); WRITE(LENGTH,' Characters Maximum Length');
  23.  
  24.     ASC:=0;      I:=0;WORKSTRING:='';INPSTRING:=CHR(32);
  25.    GOTOXY(VERT,HORZ+1);WRITE('[');
  26.      FOR FLAG:=1 TO LENGTH DO WRITE(' ');
  27.      WRITE(']'); GOTOXY(VERT+1,HORZ+1);
  28.        REPEAT
  29.         READ(KBD,INPSTRING);
  30.         IF INPSTRING = #8 THEN     {** Backspace **}
  31.          BEGIN
  32.           GOTOXY(VERT+I,HORZ+1); WRITE(' ');
  33.           GOTOXY(VERT+I,HORZ+1);
  34.           I:=I-1;
  35.          END
  36.         ELSE
  37.          BEGIN
  38.           I:=I+1;
  39.           GOTOXY(VERT+I,HORZ+1);       WRITE(INPSTRING);
  40.           WORKSTRING:=WORKSTRING+INPSTRING;
  41.           ASC:=ORD(INPSTRING);
  42.          END;
  43.         IF ASC=13 THEN I:=I-1;
  44.        UNTIL (ASC=13) OR (I=LENGTH+1);
  45.       IF I>LENGTH THEN  WRITE(CHR(7));
  46.     UNTIL (ASC=13);
  47. END;
  48.  
  49. {* MAIN DRIVER *}
  50. BEGIN
  51.  CLRSCR;
  52.   {** Pass Column, Row, &  Max Number of Characters **}
  53.  CKLENGTH(3,4,10);
  54. END.