s "); switch((unsigned char) diskinfo.fi_fatid) { case 0xFD: printf("360K low density "); break; case 0xF9: printf("1.2 Meg high density "); break; default: printf("unformatted "); flag = 1; } if (!flag) { printf(" sectors per cluster %5d ", diskinfo.fi_sclus); printf(" number of clusters %5d ", diskinfo.fi_nclus); printf(" bytes per sector %5d ", diskinfo.fi_bysec); } return 0; } 函数名: getfillpattern 功 能: 将用户定义的填充模式拷贝到内存中 用 法: void far getfillpattern(char far *upattern); 程序例: #include #include #include #include int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode; int maxx, maxy; char pattern[8] = {0x00, 0x70, 0x20, 0x27, 0x25, 0x27, 0x04, 0x04}; /* initialize graphics and local variables */ initgraph(&gdriver, &gmode, ""); /* read result of initialization */ errorcode = graphresult(); if (errorcode != grOk) /* an error occurred */ { printf("Graphics error: %s ", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); /* terminate with an error code */ } maxx = getmaxx(); maxy = getmaxy(); setcolor(getmaxcolor()); /* select a user defined fill pattern */ setfillpattern(pattern, getmaxcolor()); /* fill the screen with the pattern */ bar(0, 0, maxx, maxy); getch(); /* get the current user defined fill pattern */ getfillpattern(pattern); /* alter the pattern we grabbed */ pattern[4] -= 1; pattern[5] -= 3; pattern[6] += 3; pattern[7] -= 4; /* select our new pattern */ setfillpattern(pattern, getmaxcolor()); /* fill the screen with the new pattern */ bar(0, 0, maxx, maxy); /* clean up */ getch(); closegraph(); return 0; } 函数名: getfillsettings 功 能: 取得有关当前填充模式和填充颜色的信息 用 法: void far getfillsettings(struct fillsettingstype far *fillinfo); 程序例: #include #include #include #include / the names of the fill styles supported */ char *fname[] = { "EMPTY_FILL", "SOLID_FILL", "LINE_FILL", "LTSLASH_FILL", "SLASH_FILL", "BKSLASH_FILL", "LTBKSLASH_FILL", "HATCH_FILL", "XHATCH_FILL", "INTERLEAVE_FILL", "WIDE_DOT_FILL", "CLOSE_DOT_FILL", "USER_FILL" }; int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode; struct fillsettingstype fillinfo; int midx, midy; char patstr[40], colstr[40]; /* initialize graphics and local variables */ initgraph(&gdriver, &gmode, ""); /* read result of initialization */ errorcode = graphresult(); if (errorcode != grOk) /* an error occurred */ { printf("Graphics error: %s ", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); /* terminate with an error code */ } midx = getmaxx() / 2; midy = getmaxy() / 2; /* get information about current fill pattern and color */ getfillsettings(&fillinfo); /* convert fill information into strings */ sprintf(patstr, "%s is the fill style.", fname[fillinfo.pattern]); sprintf(colstr, "%d is the fill color.", fillinfo.color); /* display the information */ settextjustify(CENTER_TEXT, CENTER_TEXT); outtextxy(midx, midy, patstr); outtextxy(midx, midy+2*textheight("W"), colstr); /* clean up */ getch(); closegraph(); return 0; }
函数名: get |