/*** Short driver module**/ main(){clrscr();box(1,1,23,79);box(2,2,21,77);box(3,3,19,75);box(4,4,17,73);box(5,5,15,71);box(6,6,13,69);box(7,7,11,67);box(8,8,9,65);box(9,9,7,63);box(10,10,5,61);box(11,11,3,59);box(12,12,1,57);poscur(24,1);} /************************************************************* BOX **----------------------------------------------------------** Written by: Jeff Ebert 7/01/87 ** Modified by: xxxxxxxxxx ** ** Please modify me! ** Possible Enhancements include but are not limited to: ** 1) Variable box character styles [1 line or 2] ** 2) Error checking ** 3) Color options ** ** ** This function builds a simple double frame for a menu. ** The function is passed the parameters for the upper ** left corner row, upper left corner column the height ** of the frame and the width. ** *************************************************************/#include #define ULCOR 201#define URCOR 187#define LLCOR 200#define LRCOR 188#define VBAR 186#define HBAR 205#define ESC 27 box(row, col, hgt, wdth)int row, col, hgt, wdth; {int x, y; poscur(row,col);putchar(ULCOR);for(x = col + 1; x <=(col + wdth -1); x++)putchar(HBAR);putchar(URCOR); for(x = row + 1; x <=(row + hgt - 1); x++){poscur(x,col);putchar(VBAR);poscur(x,col+wdth);putchar(VBAR);}poscur(x,col);putchar(LLCOR);for(x= col + 1; x <=(col + wdth -1); x++)putchar(HBAR);putchar(LRCOR);} /********************************************************* POSCUR **------------------------------------------------------** This function positions the cursor at the specified ** x,y coordinate. It uses the ANSI standard ESCAPE ** sequence to produce the desired effect. Its not the ** fastest way to position the cursor, but perhaps the ** most portable. ** *********************************************************/poscur(xcor,ycor)int xcor,ycor;{ printf("%c[%d;%dH",ESC,xcor,ycor);} /********************************************************* CLRSCR **------------------------------------------------------** This function positions the cursor at the specified ** x,y coordinate. It uses the ANSI standard ESCAPE ** sequence to produce the desired effect. Its not the ** fastest way to position the cursor, but perhaps the ** most portable. ** *********************************************************/clrscr(){ printf("%c[2J",ESC);}

评论