С для профессиональных программистов



         

Прикладная часть TSR-программы. - часть 7


frame[num].cury++;

if(frame[num].curx < 0) frame[num].curx = 0;

if(frame[num].curx+frame[num].startx > frame[num].endx-2)

frame[num].curx--;

window_xy(num, frame[num].curx, frame[num].cury);

return c.i;

/* Очистить до конца строки */

void window_cleol(num)

int num;

register int i, x, y;

x = frame[num].curx;

y = frame[num].cury;

window_xy(num, frame[num].curx, frame[num].cury);

for(i=frame[num].cury; i<frame[num].endy-1; i++)

window_putchar(num,' ');

window_xy(num, x, y);

/* Переместить курсор вверх на одну строку.

Возвратить не ноль в случае успеха и 0 в противном случае.

*/

window_upline(num)

int num;

if(frame[num].curx>0)  frame[num].curx--;

window_xy(num, frame[num].curx, frame[num].cury);

return 1;

return 0;

/* Переместить курсор вниз на одну строку.

Возвратить не ноль в случае успеха и 0 в противном случае.

*/

window_downline(num)

int num;

if(frame[num].curx<frame[num].endx-frame[num].startx-1)  frame[num].curx++;

window_xy(num, frame[num].curx, frame[num].cury);

return 1;

return 1;

/* назад на один символ */

window_bksp(num)

int num;

if(frame[num].cury>0)

frame[num].cury--;

window_xy(num, frame[num].curx, frame[num].cury);

window_putchar(num, ' ');

frame[num].cury--;

window_xy(num, frame[num].curx, frame[num].cury);

/***************************************************************/

/* Дополнительные функции                                                                                                                  */

/***************************************************************/

/* Вывести строку с указанными атрибутами */

void write_string(x, y, p, attrib)

int x, y;

char *p;

int attrib;

register int i;

char far *v;

v=vid_mem;

v += (x*160) + y*2; /* вычислить адрес */

for(i=y; *p; i++)

*v++ = *p++;  /* записать символ */

*v++ = attrib;  /* записать атрибуты */




Содержание  Назад  Вперед