Практика программирования (Бейсик, Си, Паскаль)



         

Красивые окна в текстовом режиме - часть 6


void s_out_v(char s,int rpt)

//s- размножаемый символ раз

// rpt - количество повторений

{

int row,col,i;

row=_ROW_CUR;

col=_COL_CUR;

BH=_PAGE;

DL=col;

BL=_ATTR;

CX=1;

for(i=row; i<row+rpt; i++)

{

AH=2; //номер подфункции установки курсора

DH=i; //номер строки

INT10h;

АН=9; //номер подфункции вывода символа

AL=s; //код выводимого символа

INT10h;

if(i==25) break;

}

set_cur(i,col+1); //перевод курсора правее колонки }

Программа sbox_abs — заполнение прямоугольной области заданным символом

Организуется цикл по количеству строк, в каждой из которых курсор устанавливается в начальную колонку строки и с помощью функции s_out_h выводится нужное количество символов по горизонтали. После заполнения области курсор переводится в левый верхний угол прямоугольника.

void sbox_abs(int rowl,int coll,int row2,int col2,char s)

// s - символ-заполнитель

// rowl,coll - левый верхний угол

// row2,col2. - правый нижний угол

Программа s_out_c — вывод строки с центровкой в заданной полосе

Функция определяет длину выводимой строки и сравнивает ее с длиной предоставляемой полосы. Если полоса задана с запасом, то вывод текста производится с позиции, отстоящей от начала полосы на половину разницы длин. В противном случае строка размещается с начала полосы.

void st_out__c(int row,int col,int nc,char *string)

// row,col - начало полосы,

//nc - длина полосы,

// string - выводимая строка

(

int ls,i;

ls=strlen(string);

i=(nc-ls)/2;

if(Is <= nc)

st_out_l(row,col+i,nc,string) ;

else

st_out_l(row,col,nc,&string[i]); }

Программа s_out_l — вывод строки в полосу с прижимом влево

Строка выводится посимвольно с начала полосы до тех пор, пока либо не будут исчерпаны все символы строки, либо не будет заполнена последняя позиция полосы. За пределами правой границы полосы вывод не производится.

void st_out_l{int row,int col,int nc,char *string)

// row,col - начало полосы,

// nc - длина полосы,

// string - выводимая строка




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