예제 #1
0
void ahelpkey()

{
	int 	x,i,lgscr,page;
	byte	ch;

	if (vstate(0)==4) smallscr(NO);
	
	if (equipment(0)==7) {
				page =0;	
				smallscr(NO);
				}
		else	     {
				page =3;
				}

	vpage(page);
	crttim=0;
	lgscr = (tvmaxc==39) ? TRUE:FALSE;

	for (i=0; i<10; ++i) {

		helptop(page);		
		for (x=0;;++x) {
			ch=*(helpkey[i]+x);
			if (ch==0) break;
			if (ch=='_') {
				if (lgscr) rprints(foreg,page,"\n \t \t  ");
				else rputcinc(' ',0,foreg,NO,page);
				}
			else  rputcinc(ch,0,foreg,NO,page);

			if ((ch==LF) && (lgscr)) putch(LF);   /* 2nd LF */
				
		}

		curset(23,5,page);
		if (i<9) {
				rprints(foreg,page,"Do you want the next page (Y/N) ? ");
				x=getyn();
				if (x==NO) break;
				}
		else 	{
			       	rprints(foreg,page,"Hit any key to return  ");
				getkey();
				}
		}

	bright;			/* Restore page 0 */

	if (page==0) {
			if (SMALLMSK(maskp)) smallscr(NO);
			else largescr(NO);
			
			dspmsk();
			}
}
예제 #2
0
void sedscp()

{	int ch,x,d=0xff;
	byte key;

	Smallscr(NO);
	crttim=0;		/*  disable dimming   */
	rcvi();

	__sedscp=0;

	color2=HILO(STDCOLOR);

dsc1:   lchar=segetc();

dsc2:		while ( (kbhit()) || (d==0) ||(__sedscp) ) {

		   if (__sedscp) {
		   	key=__sedscp;
		   	__sedscp=0;
		   	}
                   else key=kbin();

			if (key==KCLEAR) {
					 __sedscp=0;
					 return;
					 }

			if (key=='C'){ 
					smallscr(NO);
					d=0xff;
					 }

			if (key=='S') d=0;

			if (key==' ') {
				d ^= 0xff;
				rcvi();
				}
			}
	
		ch=segetc();

		x=dscp(ch);

		switch (x) {
			case 1:
				goto dsc1;
			case 2:
				goto dsc2;
			}
}