freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

xxxx年哈工大計(jì)算機(jī)系暑期實(shí)踐項(xiàng)目-uce(參考版)

2025-07-31 09:00本頁(yè)面
  

【正文】 i16。 } else { GetHZ(s,hz_mat)。 /* 若超出屏幕范圍則返回 */ if(s[0]160 || s[1]160) { PutASCColor(x0,y0,s[0],color,bkcolor)。 /* 漢字字模數(shù)組 */ unsigned char Charact[70]={7,0,15,0}。具體函數(shù)如下:void PutCNColor(unsigned int x0,unsigned int y0, unsigned char *s,unsigned int color,unsigned int bkcolor) /* 在屏幕坐標(biāo)(x0,y0)處顯示彩色漢字的函數(shù) */{ register int i,j,k。只是漢字字模的讀取由函數(shù)GetHZ()函數(shù)來(lái)實(shí)現(xiàn)。void PutCNColor(...)。否則,以字符的 ASCII 碼為偏移量到內(nèi)存中找出 8x16 的 ASCII 字模的地址,然后把字模的內(nèi)容裝到數(shù)組 Charact[]中,最后用函數(shù) putimage()顯示出來(lái)。 /* 根據(jù)偏移量鎖定文件指針 */ read(hzk_p,bytes,32)。 /* 計(jì)算漢字的位碼 */ offset=(94*(qh1)+(wh1))*32L。 qh=incode[0]0xa0。具體函數(shù)如下:void GetHZ(char incode[],char bytes[]) /* 獲取漢字字模的函數(shù) */{ unsigned char qh,wh。什么是漢字的外碼呢?漢字的外碼就是漢字的區(qū)碼和位碼各加上160(0xa0)而得到的。在 UCDOS 中,漢字字模根據(jù)漢字的區(qū)位碼按順序一個(gè)區(qū)一個(gè)區(qū)的存儲(chǔ)。在顯示字符的時(shí)候也遇到同樣的細(xì)節(jié)問(wèn)題。而且這些操作要分成四個(gè)顯示頁(yè)面進(jìn)行。所以還需要很多繁瑣的操作。但是在內(nèi)存單元中又不能直接操作某個(gè)二進(jìn)制位,至少要以字節(jié)單位操作。}其中有一些細(xì)節(jié)問(wèn)題。 } } } outportb(0x3c4,0xff02)。jByteRight。 outportb(0x3c5,0x01k)。j++) { Store[j]=*(pBottom+j)。 for(j=ByteLeft+1。 outportb(0x3ce,4)。 *(pTop+ByteRight)=(*(pTop+ByteRight) amp。 *(pTop+ByteLeft)=(*(pTop+ByteLeft) amp。 outportb(0x3c4,2)。 Store[ByteRight]=*(pBottom+ByteRight) amp。 Store[ByteLeft]=*(pBottom+ByteLeft) amp。k++) { outportb(0x3ce,4)。 for(k=0。i++) { pTop=ptr+80*(i16)。 for(i=ScrollTop。 kLeft=ScreenLeft % 8。 ByteLeft=ScreenLeft/8。28 / 35 ScrollTop=ScreenTop+n*16+16。 if(n+2(ScreenBottomScreenTop+1)/16) return。 unsigned int ScrollTop,ScrollBottom。 unsigned char maskTop[]={0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe}。 unsigned char Store[80]。 unsigned char far *pBottom。具體函數(shù)如下:void ScrollWindowUp(unsigned int n){ unsigned char far *ptr=(unsigned char far *)0xa0000000L。然后從此行到最后一行,用直接取寫視屏 VRAM 的方法,把剩下的行,一行一行的數(shù)據(jù)搬到顯示區(qū)域的左上角。首先,本函數(shù)判斷傳遞來(lái)的參數(shù) n 是否超出顯示區(qū)域的范圍,若超出則不顯示直接返回。ShowCursor()和 RecorverCursor()函數(shù)再把光標(biāo)顯示出來(lái)。他們分別存儲(chǔ)當(dāng)前光標(biāo)的像素位子。于是顯示光標(biāo)的函數(shù) ShowCursor()和恢復(fù)光標(biāo)的函數(shù) RecoverCurso()就交替執(zhí)行,形成光標(biāo)閃爍的效果。而程序中是如何確定要顯示還是要恢復(fù)光標(biāo)呢?程序模塊中有一個(gè)全局變量 flag 他被初始化為 0,當(dāng) flag 為 0 并且光標(biāo)的位置不超出顯示區(qū)域時(shí),就調(diào)用顯示光標(biāo)的函數(shù) ShowCursor(),然后把 flag 設(shè)為 1。本函數(shù)有一個(gè)計(jì)算本函27 / 35數(shù)執(zhí)行次數(shù)的全局變量 HandlerTimes。說(shuō)明該行沒(méi)有節(jié)點(diǎn),這是只要添加一個(gè)節(jié)點(diǎn)即可。pEndpNext=pNewChar。 初始化函數(shù)void IMD(void)。 清顯示輸入重碼漢字提示區(qū)void ClearShowCode()。 設(shè)置全半角(熱鍵為 Ctrl+F9)void ShowCwordMsg(BYTE *s)。 在提示行顯示漢字編碼字符void SetIMD(int i)。int IsInTable(BYTE c)。 裝入漢字輸入法 IMD 文件WORD GetInputWord(BYTE *buf)。void Bar(int x,int y,int w,int h,int bkcolor)。 字符串的指針 顯示字符串void GPutsColor(unsigned int x0,unsigned int y0,unsigned char *s,unsigned int color,unsigned int bkcolor)。 x0,y0 位字符的坐標(biāo),s 為字符的 ASCII 碼,color,bkcolor 為字符的前景色和背景色在特定位置用特定顏色顯示ASCII 字符void PutCNColor(unsigned int x0,unsigned int y0, unsigned char *s,unsigned int color,unsigned int bkcolor)。 關(guān)閉漢字字模庫(kù)文件void OpenHZK(void)。若字符為漢字則 s1,s2分別為漢字的區(qū)位碼顯示字符(包括 ASCII 和漢字)25 / 35void GetHZ(char incode[],char bytes[])。n 為行數(shù) 從第 n 行后顯示區(qū)域下滾void GPutc(unsigned char s1,unsigned char s2)。n 為列數(shù) 清當(dāng)前行第 n 列后的所有字符void ScrollWindowUp(unsigned int n)。 獲取光標(biāo) y 軸位置void SetSpaceLine(unsigned int n)。 光標(biāo)下移unsigned int GetScreenX(void)。 光標(biāo)右移int CursorUp(void)。x,y 分別為光標(biāo)左上角的 x 和 y 坐標(biāo)坐標(biāo)定位int CursorLeft(void)。x,y 分別為光標(biāo)左上角的 x 和 y 坐標(biāo)恢復(fù)光標(biāo)顯示位置的圖像void interrupt far CursorHandler()。 允許表表的顯示void ShowCursor(unsigned int x,unsigned int y)。 獲得 ROM 中 ASCII 碼的地址void DisableCursor(void)。 初始化整個(gè)圖形輸出函數(shù)庫(kù)void FinishMission(void)。 鍵盤的操作應(yīng)用了消息的循環(huán)方法,通過(guò) kbhit()檢測(cè)是否有按鍵消息,若有則,使用分支結(jié)構(gòu)來(lái)處理各個(gè)消息(按鍵健碼) 。 原本還加入了鼠標(biāo)的支持() ,由于 Windows 2022 下 DOS 圖形模式下, 鼠標(biāo)指針不能正常顯示,而且也沒(méi)有比較好的解決方法(還有就是鼠標(biāo)的操作也比較 麻煩,這也是很重要的一條啊,呵呵) 。 使用 AddButton 函數(shù)將所要添加的按鈕組成一個(gè)雙向鏈表,便于按鈕的操作。 使用 AddMenuItem 函數(shù)來(lái)添加各菜單項(xiàng),具體使用參照前面的函數(shù)說(shuō)明。 (1)MainWin 為編輯器的主窗體;(2)AboutWin 為關(guān)于窗體;(3)MenuStyle 為菜單樣式;(4)MenuFile ,MenuEdit,MenuSearch 為各菜單;(5)pBtnHead 為按鈕鏈表的頭指針;(6)pCurrentBtn 代表當(dāng)前選擇的按鈕;(7)pCurrentMenu 代表當(dāng)前顯示的菜單。-實(shí)現(xiàn)當(dāng)前光條所在菜單項(xiàng)的功能(菜單項(xiàng)結(jié)構(gòu)所含的函數(shù)) ,各參數(shù)同上。-將菜單的光條向下移動(dòng),各參數(shù)同上。 (1)pMenu 為所在菜單的指針; (2)pButton 為菜單對(duì)應(yīng)的按鈕的指針(用以給出菜單的坐標(biāo)) 。void GoMenuUp(PMENU pMenu, PBUTTON pButton)。void UnSelectMenu(PMENU pMenu, PBUTTON pButton, int iNo)。-選擇菜單的某一菜單項(xiàng),即將光條移到該菜單項(xiàng)。函數(shù)返回值為新增加的菜單項(xiàng)的指針。-根據(jù)給定字符串作為菜單項(xiàng)名,增加一項(xiàng)菜單項(xiàng)。 (1)pMenu 為菜單的指針; (2)pButton 為對(duì)應(yīng)菜單的按鈕的指針(用來(lái)決定菜單的坐標(biāo)) 。void HideMenu(PMENU pMenu, PBUTTON pButton)。-顯示所指定的菜單。-將按鈕和菜單選擇向右移動(dòng),pButton 為當(dāng)前顯示的按鈕(這也是用來(lái)實(shí)現(xiàn)菜單功22 / 35能的函數(shù)) 。-將按鈕和菜單選擇向左移動(dòng),pButton 為當(dāng)前顯示的按鈕(這也是用來(lái)實(shí)現(xiàn)菜單功能的函數(shù)) 。 (1)pszTitle 為要搜索按鈕的名稱; (2)pButton 為當(dāng)前已經(jīng)選定的按鈕(需要將其恢復(fù)原狀用) ,否則置為 NULL; (3)pBtnHead 為按鈕鏈表中任意一個(gè)按鈕的指針作為頭指針;函數(shù)返回值為新選擇的按鈕指針。PBUTTON ChooseButton(char *pszTitle, PBUTTON pButton, PBUTTON pBtnHead)。void SetButtonBack(PBUTTON pButton)。void SetButtonDown(PBUTTON pButton)。void SetButtonUp(PBUTTON pButton)。 (1)pszTitle 為要搜索按鈕的名稱; (2)pButton 為按鈕鏈表中任意一個(gè)按鈕皆可。 (1)pszTitle 為所加按鈕的名稱; (2)pButton 為按鈕鏈表中的前一個(gè)按鈕; (3)pMenu 為所加按鈕所對(duì)應(yīng)的菜單的指針; (4)x 為所加按鈕左上角的 X 坐標(biāo); (5)y 為所加按鈕左上角的 Y 坐標(biāo); (6)bColor 為所加按鈕的前景色; (7)bBorderColor 為所加按鈕的邊框顏色; (8)bBackColor 為所加按鈕的背景色;函數(shù)返回值為所增加的按鈕的指針。─根據(jù)定義好的按鈕結(jié)構(gòu)來(lái)創(chuàng)建一個(gè)按鈕,并顯示在屏幕上,pButton 為按鈕結(jié)構(gòu)的指針。 (1)pWindow 為所要隱藏的窗體; (2)pCovered 為預(yù)先保存的屏幕區(qū)域。 void HideWindow(PWINDOW pWindow, void *pCovered)。void *CopyWindow(PWINDOW pWindow)。-根據(jù)給定的窗體標(biāo)題,定義好的窗體結(jié)構(gòu)來(lái)創(chuàng)建一個(gè)窗體,并顯示在屏幕上。typedef struct Menu * PMENU。 --菜單項(xiàng)亮條圖形緩沖的指針20 / 35}。 --指向第一個(gè)菜單項(xiàng)void far *pCovered。 --判斷菜單是否被顯示struct MenuStyle *pStyle。 --當(dāng)前指向第幾個(gè)菜單項(xiàng)BYTE bNum。 --寬度WORD wHeight。typedef struct MenuStyle * PMENUSTYLE。 --菜單項(xiàng)顏色}。 --邊框顏色BYTE bBackColor。 struct MenuStyle{BYTE bColor。typedef struct MenuItem MENUITEM。--包含的指向函數(shù)的指針struct MenuItem *pNext。 按鈕數(shù)據(jù)結(jié)構(gòu)示意圖: ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌│按鈕 1│─│按鈕 2│─│按鈕 3│─ ... ─│按鈕 N│┐ │ └───┘ └───┘ └───┘ └───┘│ └─
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1