home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
progm
/
cufs.zip
/
CKLENGTH.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1980-01-01
|
1KB
|
54 lines
{*************************************}
{* This Procedure will take input *}
{* from the screen in a position *}
{* specified by vertical position *}
{* ,horizontal position. A maximum *}
{* character length must also be *}
{* passed. *}
{*************************************}
PROCEDURE CKLENGTH(VERT,HORZ,LENGTH:BYTE);
TYPE STRING80 = ARRAY [1..80] OF CHAR;
VAR I : 1..80;
FLAG : BYTE;
INPSTRING : CHAR;
ASC : BYTE;
WORKSTRING : STRING[80];
BEGIN
REPEAT
GOTOXY(VERT,HORZ); WRITE(LENGTH,' Characters Maximum Length');
ASC:=0; I:=0;WORKSTRING:='';INPSTRING:=CHR(32);
GOTOXY(VERT,HORZ+1);WRITE('[');
FOR FLAG:=1 TO LENGTH DO WRITE(' ');
WRITE(']'); GOTOXY(VERT+1,HORZ+1);
REPEAT
READ(KBD,INPSTRING);
IF INPSTRING = #8 THEN {** Backspace **}
BEGIN
GOTOXY(VERT+I,HORZ+1); WRITE(' ');
GOTOXY(VERT+I,HORZ+1);
I:=I-1;
END
ELSE
BEGIN
I:=I+1;
GOTOXY(VERT+I,HORZ+1); WRITE(INPSTRING);
WORKSTRING:=WORKSTRING+INPSTRING;
ASC:=ORD(INPSTRING);
END;
IF ASC=13 THEN I:=I-1;
UNTIL (ASC=13) OR (I=LENGTH+1);
IF I>LENGTH THEN WRITE(CHR(7));
UNTIL (ASC=13);
END;
{* MAIN DRIVER *}
BEGIN
CLRSCR;
{** Pass Column, Row, & Max Number of Characters **}
CKLENGTH(3,4,10);
END.