亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 屏幕函數(shù).txt

?? 屏幕顯示功能
?? TXT
?? 第 1 頁 / 共 3 頁
字號:
Turbo C2.0的字符屏幕函數(shù)主要包括文本窗口大小的設定、窗口顏色的設置、窗口文本的清除和輸入輸出等函數(shù)。

    1.文本窗口的定義
    Turbo C2.0默認定義的文本窗口為整個屏幕, 共有80列(或40列)25行的文本單元, 每個單元包括一個字符和一個屬性, 字符即ASCII 碼字符, 屬性規(guī)定該字符的顏色和強度。
    Turbo C2.0可以定義屏幕上的一個矩形域作為窗口, 使用window()函數(shù)定義。窗口定義之后, 用有關窗口的輸入輸出函數(shù)就可以只在此窗口內(nèi)進行操作而不超
出窗口的邊界。
    window()函數(shù)的調(diào)用格式為:
     void window(int left, int top, int right, int bottom);
    該函數(shù)的原型在conio.h 中 (關于文本窗口的所有函數(shù)其頭文件均為conio.h,后面不再說明)。 函數(shù)中形式參數(shù)(int left,  int top)是窗口左上角的坐標,(int right, int  bottom)是窗口的右下角坐標, 其中(left,  top)和(right,bottom) 是相對于整個屏幕而言的。 Turbo C 2.0規(guī)定整個屏幕的左上角坐標為(1, 1), 右下角坐標為(80, 25)。并規(guī)定沿水平方向為 X軸, 方向朝右; 沿垂直方向為 Y軸, 方向朝下。若window()函數(shù)中的坐標超過了屏幕坐標的界限, 則窗口的定義就失去了意義, 也就是說定義將不起作用, 但程序編譯鏈接時并不出錯。
    另外, 一個屏幕可以定義多個窗口, 但現(xiàn)行窗口只能有一個(因為DOS為單任務操作系統(tǒng)), 當需要用另一窗口時, 可將定義該窗口的window() 函數(shù)再調(diào)用一次, 此時該窗口便成為現(xiàn)行窗口了。
    如要定義一個窗口左上角在屏幕(20, 5)處, 大小為30列15行的窗口可寫成:
     window(20, 5, 50, 25);

    2. 文本窗口顏色的設置
    文本窗口顏色的設置包括背景顏色的設置和字符顏色的設置, 使用的函數(shù)及其調(diào)用格式為:
    設置背景顏色:  void textbackground(int color);
    設置字符顏色:  void textcolor(int color);
    有關顏色的定義見表1。
                  表1. 有關顏色的定義
━━━━━━━━━━━━━━━━━━━━━━━━━━━
  符號常數(shù)         數(shù)值      含義         字符或背景
───────────────────────────
  BLACK             0         黑          兩者均可
  BLUE              1         蘭          兩者均可
  GREEN             2         綠          兩者均可
  CYAN              3         青          兩者均可
  RED               4         紅          兩者均可
  MAGENTA           5        洋紅         兩者均可
  BROWN             6         棕          兩者均可
  LIGHTGRAY         7        淡灰         兩者均可
  DARKGRAY          8        深灰         只用于字符
  LIGHTBLUE         9        淡蘭         只用于字符
  LIGHTGREEN        10       淡綠         只用于字符
  LIGHTCYAN         11       淡青         只用于字符
  LIGHTRED          12       淡紅         只用于字符
  LIGHTMAGENTA      13       淡洋紅       只用于字符
  YELLOW            14       黃           只用于字符
  WHITE             15       白           只用于字符
  BLINK             128      閃爍         只用于字符
━━━━━━━━━━━━━━━━━━━━━━━━━━━

窗口內(nèi)文本的輸出函數(shù) 
 int cprintf("<格式化字符串>", <變量表>); 
 int cputs(char *string); 
 int putch(int ch); 
    cprintf()函數(shù)輸出一個格式化的字符串或數(shù)值到窗口中。它與printf() 函 
數(shù)的用法完全一樣, 區(qū)別在于cprintf()函數(shù)的輸出受窗口限制, 而printf() 函 
數(shù)的輸出為整個屏幕。 
    cputs()函數(shù)輸出一個字符串到屏幕上, 它與puts()函數(shù)用法完全一樣,  只 
是受窗口大小的限制。 
    putch()函數(shù)輸出一個字符到窗口內(nèi)。 
    注意: 
     (1) 使用以上幾種函數(shù),  當輸出超出窗口的右邊界時會自動轉(zhuǎn)到下一行的 
開始處繼續(xù)輸出。當窗口內(nèi)填滿內(nèi)容仍沒有結(jié)束輸出時, 窗口屏幕將會自動逐行 
上卷直到輸出結(jié)束為止。 


    上表中的符號常數(shù)與相應的數(shù)值等價, 二者可以互換。例如設定蘭色背景可以使用textbackground(1),  也可以使用textbackground(BLUE), 兩者沒有任何區(qū)別, 只不過后者比較容易記憶, 一看就知道是蘭色。

    Turbo C另外還提供了一個函數(shù), 可以同時設置文本的字符和背景顏色, 這 
個函數(shù)的調(diào)用格式為: 
     void textattr(int attr); 
    其中: attr的值表示顏色形式編碼的信息, 每一位代表的含義如下: 
位 7   6   5   4   3   2   1   0 
   B   b   b   b   c   c   c   c 
   ↓  ┕━━━┙  ┖─────┘ 
  閃爍  背景顏色      字符顏色 
    字節(jié)低四位cccc設置字符顏色(0到15), 4~6三位bbb設置背景顏色(0到7), 
第7位B設置字符是否閃爍。假如要設置一個蘭底黃字, 定義方法如下: 
          textattr(YELLOW+(BLUE<<4)); 
    若再要求字符閃爍, 則定義變?yōu)? 
          textattr(128+YELLOW+(BLUE<<4); 
    注意: 
      (1) 對于背景只有0 到7 共八種顏色, 若取大于7 小于15的數(shù), 則代表的 
顏色與減 7后的值對應的顏色相同。 
      (2) 用textbackground()和textcolor() 函數(shù)設置了窗口的背景與字符顏 
色后, 在沒有用clrscr()函數(shù)清除窗口之前, 顏色不會改變,   直到使用了函數(shù) 
clrscr(), 整個窗口和隨后輸出到窗口中的文本字符才會變成新顏色。 
      (3) 用textattr()函數(shù)時背景顏色應左移4位, 才能使3位背景顏色移到正 
確位置。 


4. 有關屏幕操作的函數(shù)

    void clrscr(void);   清除當前窗口中的文本內(nèi)容,  并把光標定位在窗口
                         的左上角(1, 1)處。
    void clreol(void);   清除當前窗口中從光標位置到行尾的所有字符,  光
                         標位置不變。
    void gotoxy(x, y);   該函數(shù)很有用,  它用來定位光標在當前窗口中的位
                         置。這里x, y是指光標要定位處的坐標(相對于窗口
                         而言), 當x, y超出了窗口的大小時, 該函數(shù)就不起
                         作用了。

     int gettext(int xl, int yl, int x2, int y2, void *buffer);
     int puttext(int x1, int y1, int x2, int y2, void *buffer);
    gettext()函數(shù)是將屏幕上指定的矩形區(qū)域內(nèi)文本內(nèi)容存入buffer 指針指向
的一個內(nèi)存空間。內(nèi)存的大小用下式計算:
     所用字節(jié)大小=行數(shù)*列數(shù)*2
其中:
     行數(shù)=y2-y1+1        列數(shù)=x2-x1+1
    puttext()函數(shù)則是將gettext()函數(shù)存入內(nèi)存buffer中的文字內(nèi)容拷貝到屏
幕上指定的位置。
    int movetext(int x1, int x2, int y2, int x3, int y3);
    movetext()函數(shù)將屏幕上左上角為(x1, y1), 右下角為(x2, y2)的一矩形窗
口內(nèi)的文本內(nèi)容拷貝到左上角為(x3, y3)的新的位置。該函數(shù)的坐標也是相對于
整個屏幕而言的。
    注意:
    1. gettext()函數(shù)和puttext()函數(shù)中的坐標是對整個屏幕而言的,  即是屏
幕的絕對坐標, 而不是相對窗口的坐標。
    2. movetext()函數(shù)是拷貝而不是移動窗口區(qū)域內(nèi)容, 即使用該函數(shù)后,  原
位置區(qū)域的文本內(nèi)容仍然存在。

    例3.
     include 
     main()
     {
          int i;
          char *f[]={"Load    F3", "Pick  Alt-F3", "New    ",
                     "Save    F2", "Write to    ", "Directory",
                     "Change dir", "Os shee    ", "Quit Alt-X"};
          char buf[9*14*2];
          clrscr();
          textcolor(YELLOW);
          textbackground(BLUE);
          clrscr();
          gettext(10, 2, 24, 11, buf);
          window(10, 2, 24, 11);
          textbackground(RED);
          textcolor(YELLOW);
          clrscr();
          for(i=0; i<9; i++)
          {
               gotoxy(1, i++);
               cprintf("%s", f[i]);
          }
          getch();
          movetext(10, 2, 24, 11, 40, 10);
          puttext(10, 2, 24, 11, buf);
          getch();
     }
    下面再介紹一些函數(shù):
     void highvideo(void);    設置顯示器高亮度顯示字符。
     void lowvideo(void);     設置顯示器低亮度顯示字符。
     void normvideo(void);    使顯示器返回到程序運行前的顯示方式。
     int wherex(void);        這兩個函數(shù)返回當前窗口下光標的x, y坐標。
     int wherey(void);

   Turbo C提供了非常豐富的圖形函數(shù), 所有圖形函數(shù)的原型均在graphics. h中, 本節(jié)主要介紹圖形模式的初始化、獨立圖形程序的建立、基本圖形功能、圖形窗口以及圖形模式下的文本輸出等函數(shù)。另外, 使用圖形函數(shù)時要確保有顯示器圖形驅(qū)動程序*BGI, 同時將集成開發(fā)環(huán)境Options/Linker中的Graphics lib選
為on, 只有這樣才能保證正確使用圖形函數(shù)。
    1. 圖形模式的初始化
    不同的顯示器適配器有不同的圖形分辨率。即是同一顯示器適配器, 在不同模式下也有不同分辨率。因此, 在屏幕作圖之前, 必須根據(jù)顯示器適配器種類將顯示器設置成為某種圖形模式, 在未設置圖形模式之前, 微機系統(tǒng)默認屏幕為文
本模式(80列, 25行字符模式), 此時所有圖形函數(shù)均不能工作。設置屏幕為圖形模式, 可用下列圖形初始化函數(shù):
     void far initgraph(int far *gdriver, int far *gmode, char *path);
    其中gdriver和gmode分別表示圖形驅(qū)動器和模式, path是指圖形驅(qū)動程序所在的目錄路徑。有關圖形驅(qū)動器、圖形模式的符號常數(shù)及對應的分辨率見表2。圖形驅(qū)動程序由Turbo C出版商提供, 文件擴展名為.BGI。根據(jù)不同的圖形
適配器有不同的圖形驅(qū)動程序。例如對于EGA、 VGA 圖形適配器就調(diào)用驅(qū)動程序
EGAVGA.BGI。

               表2. 圖形驅(qū)動器、模式的符號常數(shù)及數(shù)值
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     圖形驅(qū)動器(gdriver)          圖形模式(gmode)
   ───────────     ───────────    色調(diào)  分辨率
    符號常數(shù)    數(shù)值           符號常數(shù)     數(shù)值
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    CGA          1            CGAC0           0          C0   320*200
                              CGAC1           1          C1   320*200
                              CGAC2           2          C2   320*200
                              CGAC3           3          C3   320*200
                              CGAHI           4          2色  640*200
───────────────────────────────────
    MCGA         2            MCGAC0          0          C0   320*200
                              MCGAC1          1          C1   320*200
                              MCGAC2          2          C2   320*200
                              MCGAC3          3          C3   320*200
                              MCGAMED         4          2色  640*200
                              MCGAHI          5          2色  640*480
───────────────────────────────────
    EGA          3            EGALO           0         16色  640*200
                              EGAHI           1         16色  640*350
───────────────────────────────────
    EGA64        4            EGA64LO         0         16色  640*200
                              EGA64HI         1          4色  640*350
───────────────────────────────────
    EGAMON       5            EGAMONHI        0          2色  640*350
───────────────────────────────────
    IBM8514      6            IBM8514LO       0        256色  640*480
                              IBM8514HI       1        256色 1024*768
───────────────────────────────────
    HERC         7            HERCMONOHI      0          2色  720*348
───────────────────────────────────
    ATT400       8            ATT400C0        0          C0   320*200
                              ATT400C1        1          C1   320*200
                              ATT400C2        2          C2   320*200
                              ATT400C3        3          C3   320*200
                              ATT400MED       4          2色  320*200
                              ATT400HI        5          2色  320*200
───────────────────────────────────
    VGA          9            VGALO           0         16色  640*200
                              VGAMED          1         16色  640*350
                              VGAHI           2         16色  640*480
───────────────────────────────────
    PC3270       10           PC3270HI        0          2色  720*350
───────────────────────────────────
    DETECT       0            用于硬件測試
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    

 


    例4. 使用圖形初始化函數(shù)設置VGA高分辨率圖形模式
     #include 
     int main()
     {
          int gdriver, gmode;
          gdriver=VGA;
          gmode=VGAHI;
          initgraph(&gdriver, &gmode, "c:\\tc");
          bar3d(100, 100, 300, 250, 50, 1);       /*畫一長方體*/
          getch();
          closegraph();
          return 0;
     }

    有時編程者并不知道所用的圖形顯示器適配器種類, 或者需要將編寫的程序用于不同圖形驅(qū)動器, Turbo C提供了一個自動檢測顯示器硬件的函數(shù),  其調(diào)用
格式為:
     void far detectgraph(int *gdriver, *gmode);
    其中gdriver和gmode的意義與上面相同。

    例5. 自動進行硬件測試后進行圖形初始化
     #include 
     int main()
     {
          int gdriver, gmode;
          detectgraph(&gdriver, &gmode);     /*自動測試硬件*/
          printf("the graphics driver is %d, mode is %d\n", gdriver,
                 gmode);       /*輸出測試結(jié)果*/
          getch();
          initgraph(&gdriver, &gmode, "c:\\tc");
                               /* 根據(jù)測試結(jié)果初始化圖形*/
          bar3d(10, 10, 130, 250, 20, 1);
          getch();
          closegraph();
          return 0;
      }

    上例程序中先對圖形顯示器自動檢測, 然后再用圖形初始化函數(shù)進行初始化設置, 但Turbo C提供了一種更簡單的方法,  即用gdriver= DETECT 語句后再跟initgraph()函數(shù)就行了。采用這種方法后, 上例可改為:

    例6.
     #include 
     int main()
     {
          int gdriver=DETECT, gmode;
          initgraph(&gdriver, &gmode, "c:\\tc");
          bar3d(50, 50, 150, 30, 1);
          getch();
          closegraph();
          return 0;
     }
    另外, Turbo C提供了退出圖形狀態(tài)的函數(shù)closegraph(), 其調(diào)用格式為:
     void far closegraph(void);
    調(diào)用該函數(shù)后可退出圖形狀態(tài)而進入文本方式(Turbo C 默認方式), 并釋放用于保存圖形驅(qū)動程序和字體的系統(tǒng)內(nèi)存。

    2. 獨立圖形運行程序的建立
    Turbo C對于用initgraph()函數(shù)直接進行的圖形初始化程序, 在編譯和鏈接時并沒有將相應的驅(qū)動程序(*.BGI)裝入到執(zhí)行程序, 當程序進行到intitgraph()語句時, 再從該函數(shù)中第三個形式參數(shù)char *path中所規(guī)定的路徑中去找相應的
驅(qū)動程序。若沒有驅(qū)動程序, 則在C:\TC中去找, 如C:\TC中仍沒有或TC不存在,
將會出現(xiàn)錯誤:
     BGI Error: Graphics not initialized (use 'initgraph')
    因此, 為了使用方便, 應該建立一個不需要驅(qū)動程序就能獨立運行的可執(zhí)行圖形程序,Turbo C中規(guī)定用下述步驟(這里以EGA、VGA顯示器為例):
    1. 在C:\TC子目錄下輸入命令:BGIOBJ EGAVGA
    此命令將驅(qū)動程序EGAVGA.BGI轉(zhuǎn)換成EGAVGA.OBJ的目標文件。
    2. 在C:\TC子目錄下輸入命令:TLIB LIB\GRAPHICS.LIB+EGAVGA
    此命令的意思是將EGAVGA.OBJ的目標模塊裝到GRAPHICS.LIB庫文件中。
    3. 在程序中initgraph()函數(shù)調(diào)用之前加上一句:
       registerbgidriver(EGAVGA_driver):
該函數(shù)告訴連接程序在連接時把EGAVGA的驅(qū)動程序裝入到用戶的執(zhí)行程序中。
    經(jīng)過上面處理,編譯鏈接后的執(zhí)行程序可在任何目錄或其它兼容機上運行。假設已作了前兩個步驟,若再向例6中加 registerbgidriver()函數(shù)則變成:
    例7:
     #include
     #include
     int main()

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美高清hd18日本| 欧美国产欧美综合| 国产精品狼人久久影院观看方式| 亚洲精选在线视频| 国产乱码精品一品二品| 精品视频1区2区3区| 中文字幕一区三区| 国产在线播精品第三| 欧美日韩五月天| 综合久久一区二区三区| 国产真实乱对白精彩久久| 欧美日韩黄色影视| 亚洲男人的天堂在线aⅴ视频| 激情深爱一区二区| 日韩一级完整毛片| 日韩经典中文字幕一区| 色婷婷国产精品| 亚洲欧洲三级电影| 高清久久久久久| 国产午夜亚洲精品理论片色戒| 日韩成人免费看| 欧美日韩一级黄| 亚洲sss视频在线视频| 91麻豆国产精品久久| 国产精品视频一二三| 国产一区二区在线看| 精品国产髙清在线看国产毛片| 东方欧美亚洲色图在线| 精品sm在线观看| 九九久久精品视频| 欧美成人欧美edvon| 青青草97国产精品免费观看| 91精品蜜臀在线一区尤物| 亚洲成国产人片在线观看| 欧美伊人久久大香线蕉综合69 | 日韩电影在线观看电影| 欧美日产国产精品| 日本一区中文字幕| 欧美α欧美αv大片| 久99久精品视频免费观看| 精品国产免费一区二区三区四区| 九色porny丨国产精品| 久久久久久日产精品| 国产成人免费视频精品含羞草妖精| 国产亚洲欧洲997久久综合| 国产成人av一区| 国产精品成人免费精品自在线观看| 成人激情图片网| 亚洲免费av网站| 欧美精品第1页| 精品一区二区在线播放| 国产欧美综合色| 91免费小视频| 首页综合国产亚洲丝袜| 久久综合给合久久狠狠狠97色69| 国产成人福利片| 亚洲精品国产成人久久av盗摄 | 在线不卡中文字幕| 久久91精品久久久久久秒播| 日本一区二区三区四区在线视频| 97久久人人超碰| 奇米影视一区二区三区小说| 久久人人超碰精品| 色综合久久中文字幕| 婷婷开心激情综合| 久久久久久一二三区| 91免费国产在线观看| 另类欧美日韩国产在线| 国产精品免费网站在线观看| 欧美日韩国产一二三| 国产精品综合一区二区三区| 曰韩精品一区二区| 欧美成人性战久久| 色哟哟精品一区| 日本欧美一区二区在线观看| 国产精品国产三级国产三级人妇 | 国内外成人在线视频| 成人欧美一区二区三区小说| 日韩欧美123| 日本韩国欧美一区| 国产一区二区电影| 亚洲 欧美综合在线网络| 国产欧美日本一区视频| 91精品国产色综合久久ai换脸| 99久久婷婷国产综合精品电影| 青草av.久久免费一区| 亚洲青青青在线视频| 国产亚洲精久久久久久| 91.com在线观看| 色综合咪咪久久| 欧美日韩在线播| 成人免费视频视频在线观看免费| 午夜免费久久看| 亚洲精品视频在线| 国产精品美女久久久久aⅴ国产馆| 91精品国产色综合久久不卡蜜臀 | 一区二区三区在线播放| 国产免费成人在线视频| 精品国产伦一区二区三区观看体验| 欧美中文字幕一二三区视频| av亚洲精华国产精华| 国产在线精品一区在线观看麻豆| 午夜精品久久一牛影视| 亚洲免费观看高清完整版在线 | 日本高清成人免费播放| yourporn久久国产精品| 国产精品一二二区| 国模无码大尺度一区二区三区| 肉色丝袜一区二区| 亚洲成人一区二区在线观看| 一区二区三区中文字幕精品精品| 中文字幕一区二区不卡| 国产精品丝袜一区| 国产精品区一区二区三| 中日韩av电影| 17c精品麻豆一区二区免费| 亚洲欧洲精品一区二区三区不卡| 国产精品久久三| 国产精品久久久久婷婷| 国产精品丝袜在线| 国产精品乱码一区二三区小蝌蚪| 国产日韩欧美麻豆| 国产精品久久久久国产精品日日| 欧美激情一区不卡| 自拍偷拍国产精品| 一区二区免费在线| 视频在线观看国产精品| 蜜臀av一区二区| 国产一区二区福利| 成人妖精视频yjsp地址| 91麻豆国产精品久久| 欧美午夜视频网站| 欧美一卡在线观看| 国产无遮挡一区二区三区毛片日本| 亚洲国产精品国自产拍av| 成人免费在线播放视频| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲福利国产精品| 精品综合久久久久久8888| 粉嫩嫩av羞羞动漫久久久| 色婷婷av一区二区三区软件| 欧美美女黄视频| 久久久噜噜噜久久人人看| 亚洲免费毛片网站| 久久av中文字幕片| 成人高清视频在线| 欧美久久久一区| 午夜久久久久久电影| 激情五月激情综合网| 91视频在线观看| 日韩三级电影网址| 国产精品欧美一区喷水| 香港成人在线视频| 国产91对白在线观看九色| 欧美性感一类影片在线播放| 精品国精品自拍自在线| 日韩美女久久久| 久久精品噜噜噜成人88aⅴ| 成人一区二区三区视频| 欧美久久久久久久久| 国产欧美精品一区二区色综合朱莉 | 欧美精品一区二| 亚洲激情在线播放| 国产乱一区二区| 欧美人与禽zozo性伦| 日本一区二区动态图| 日本成人在线视频网站| 丁香激情综合五月| 日韩美女天天操| 亚洲夂夂婷婷色拍ww47| 国产麻豆9l精品三级站| 欧美日韩成人综合在线一区二区| 国产精品女主播av| 蜜桃精品视频在线| 欧洲色大大久久| 欧美国产精品一区二区| 日韩国产在线观看一区| 色视频欧美一区二区三区| 国产女主播一区| 久久99深爱久久99精品| 欧美性受xxxx| 亚洲欧美日韩在线播放| 成人永久aaa| 国产色一区二区| 狠狠色丁香婷综合久久| 91精品国产一区二区三区蜜臀| 亚洲综合图片区| 色婷婷香蕉在线一区二区| 亚洲国产高清aⅴ视频| 久久99久久久久久久久久久| 欧美一区二区在线免费播放| 亚洲成人av电影| 国产欧美一区二区精品仙草咪| 日产国产欧美视频一区精品| 欧美日韩一级视频| 香蕉乱码成人久久天堂爱免费| 欧美影片第一页| 丝袜诱惑亚洲看片| 欧美三级欧美一级| 亚洲第一激情av|