#include #include #include "tcclib.h" int GetLine( char *ptr, int dsize, int start ) { register int ch; register int j=start; register int x; register int i; register int y; x = wherex(); y = wherey(); AtSay( x, y, ptr ); while (j <= dsize) { gotoxy( x+j, y ); switch( ch = GComm() ){ case ESC: ptr[start] = '\0'; return( -1 ); case CR: case LF: return(strlen(ptr)); case BS: if ( j ) j--; case DEL: ch = strlen(ptr); for (i=j; ij; --i) ptr[i] = ptr[i-1]; ptr[j] = ' '; gotoxy( x, y ); Say( ptr ); break; case HOME: j = 0; break; case END: j = strlen(ptr); break; case LEFT: if (j) { j--; } break; case RIGHT: if (j= 32 && ch <= 127 ) { ptr[j++] = ch; putch(ch); } } break; } } return( 0 ); }