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

正文內(nèi)容

四、設(shè)備與文件管理應(yīng)用程序設(shè)計(jì)-wenkub

2022-08-15 17:31:02 本頁面
 

【正文】 p m_Bitmap。 ? 接著在內(nèi)存位圖中進(jìn)行繪制 。 ? 其中 CBitmap是 MFC提供的一個(gè)表示位圖文件的位圖類,一個(gè)位圖具有它的類型、大小和顏色值等 。 } 下一頁 上一頁 停止放映 第 19/44頁 例 39 雙緩沖顯示位圖程序 ? 在程序設(shè)計(jì)中,普通的繪圖方法是一個(gè)圖形一個(gè)圖形地直接繪制到屏幕上,這樣做的缺點(diǎn)是會引起屏幕閃爍。 return 1。 } void OnCdclose(CString m_Letter) //關(guān)閉光驅(qū)子函數(shù) { CString new_letter = m_Letter。 //關(guān)閉光驅(qū) mciSendCommand(,MCI_CLOSE,MCI_WAIT,0)。 } if ( !mciSendCommand(0,MCI_OPEN,flags,(unsigned long)amp。 //光驅(qū)類型參數(shù)為 CD_AUDIO if (cDrive 1) { szDriveName[0] = cDrive。 //光驅(qū)盤符變量 strcpy(szDriveName, X:)。 下一頁 上一頁 停止放映 第 16/44頁 源程序 include include include //MCI API函數(shù)頭文件 pragma ment(lib,winmm) void CD_OpenCloseDrive(BOOL bOpenDrive, TCHAR cDrive){ MCI_OPEN_PARMS op。 DWORD dwTrack。 } MCI_OPEN_PARMS。 WORD wReserved0。 ② 編寫命令行式的程序,格式為: 光驅(qū)操作命令 光驅(qū)號 操作參數(shù) ③ 接收命令行的 argv[1]參數(shù),代表光驅(qū)盤符,和 argv[2]參數(shù),代表操作命令( O表示打開,C表示關(guān)閉); ④ 根據(jù) argv[2]參數(shù)的值,分別傳遞 argv[1]參數(shù)調(diào)用函數(shù) OnCdopen打開光驅(qū)和 OnCdclose關(guān)閉光驅(qū)。如大型機(jī)的前端機(jī), PC機(jī)的 Intel 8090( I/O通道)等。 優(yōu)點(diǎn): I/O操作處理速度快。 ? 目前在塊設(shè)備的 I/O系統(tǒng)中,采用 DMA方式。 優(yōu)點(diǎn) : 速度快,提高了資源的利用率。 ? 由于 CPU速度比 I/O設(shè)備速度高得多,而循環(huán)測試 I/O方式使得 CPU與外部設(shè)備只能串行工作,因此 CPU絕大部分時(shí)間都處于等待 I/O設(shè)備完成的循環(huán)測試中, CPU資源浪費(fèi)極大。 下一頁 上一頁 停止放映 第 4/44頁 設(shè)備和內(nèi)存之間數(shù)據(jù)傳輸方式 ? 操作系統(tǒng)的設(shè)備管理程序通過四種控制方式完成設(shè)備與內(nèi)存之間的數(shù)據(jù)傳送。 1.程序直接控制方式 2.中斷控制方式 3. DMA方式 4.通道方式 下一頁 上一頁 停止放映 第 5/44頁 ( 1)循環(huán)探測 I/O方式 ? 通過設(shè)置一個(gè)測試 I/O設(shè)備 “ 忙 /閑 ” 狀態(tài)標(biāo)志的觸發(fā)器。 優(yōu)點(diǎn): 管理簡單 缺點(diǎn): 浪費(fèi)了 CPU資源 下一頁 上一頁 停止放映 第 6/44頁 ( 2)中斷處理方式 ? 為了克服循環(huán)測試方式的缺點(diǎn)( CPU必須不斷主動測試 I/O設(shè)備是否空閑),引入中斷處理技術(shù)。 缺點(diǎn) : I/O操作還依賴于 CPU,如果 I/O處理頻繁,CPU也將很忙。它是一種簡單的通道方式,即在硬件的支持下,通過占用總線控制權(quán),實(shí)現(xiàn)信息交換。 缺點(diǎn): DMA方式只能完成簡單的數(shù)據(jù)傳輸,不能滿足更復(fù)雜的 I/O操作要求,在大、中型計(jì)算機(jī)系統(tǒng)中,普遍采用 I/O處理機(jī)來管理外部設(shè)備和主存之間的信息交換。在通道方式下, I/O處理變成了處理機(jī)之間的通訊問題。 下一頁 上一頁 停止放映 第 12/44頁 解題思路 ? 使用“ ”中的媒體控制接口 (MCI) API函數(shù); ? MCI_OPEN_PARMS //打開光驅(qū)參數(shù)結(jié)構(gòu)體 ? MCI_STATUS_PARMS //光驅(qū)狀態(tài)參數(shù)結(jié)構(gòu)體 ? ZeroMemory函數(shù) //光驅(qū)參數(shù)賦零,將光驅(qū)類型 //參數(shù)設(shè)為 CD_AUDIO ? mciSendCommand函數(shù) //發(fā)送設(shè)備打開命令 ? 根據(jù)命令參數(shù)打開光驅(qū)和關(guān)閉光驅(qū) ? 最后釋放設(shè)備存儲。 LPCSTR lpstrDeviceType。 typedef struct tag MCI_STATUS_PARMS { //光驅(qū)狀態(tài)參數(shù) DWORD dwCallback。 } MCI_STATUS_PARMS。 //光驅(qū)打開參數(shù)結(jié)構(gòu) MCI_STATUS_PARMS st。 ::ZeroMemory(amp。 = szDriveName。op) ) //發(fā)送設(shè)備打開命令 { = MCI_STATUS_READY。 //釋放設(shè)備存取 } } 下一頁 上一頁 停止放映 第 17/44頁 子函數(shù)源程序 void OnCdopen(CString m_Letter) //打開光驅(qū)子函數(shù) { CString new_letter = m_Letter。 //取得輸入光驅(qū)盤符 CD_OpenCloseDrive(TRUE, new_letter[0])。 } if( argv[2][0]==?O? ) OnCdopen(argv[1])。 ? 采用雙緩沖技術(shù) 可 以減少屏幕的閃爍。 ? 通過 MemDC的函數(shù) CreateCompatibleDC建立與屏幕顯示兼容的內(nèi)存顯示設(shè)備 。 ? 繪制完成后通過 pDC的函數(shù) BitBlt將內(nèi)存中的圖拷貝到屏幕上進(jìn)行顯示 。 //定義一個(gè)位圖對象 int nWidth=500。 //建立一個(gè)與屏幕顯示兼容的位圖 (amp。 //畫圓 (100,100)。MemDC,0,0,SRCCOPY)。 下一頁 上一頁 停止放映 第 24/44頁 文件 有關(guān)概念 ? 文件 – 一組相關(guān)信息的集合,文件具有一定的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)、分類屬性和訪問權(quán)限。 下一頁 上一頁 停止放映 第 25/44頁 文件系統(tǒng) ? 文件管理程序和所管理的全部文件(文件與目錄的集合)。 – NTFS采用壓縮存儲方式,具有文件權(quán)限的管理功能,能夠更好地管理文件。文件的邏輯結(jié)構(gòu)是用戶所觀察到的文件組織形式,是用戶可以直接處理的數(shù)據(jù)及結(jié)構(gòu),它獨(dú)立于物理特性,又稱為文件組織( FILE ORGANIZATION)。其中GetLogicalDrives函數(shù)的格式為: DWORD GetLogicalDrives(VOID); ②通過提取 dwDriveList的每一位,得到所有盤符; ③調(diào)用 API函數(shù) GetDriveType判別每一盤符的類型,其中 GetDriveType函數(shù)的格式為: UINT GetDriveType(int nDrive) 下一頁 上一頁 停止放映 第 31/44頁 程序 include include void main() { int nPos = 0。 //取得我的電腦的所有盤 CString cTmp。 1) { cTmp = strDrive。 //取得每個(gè)盤的類型 switch (nType) { case DRIVE_REMOVABLE:{ cout可移動盤 endl。 } case DRIVE_REMOTE:{ cout網(wǎng)絡(luò)盤 endl。 } case DRIVE_RAMDISK:{ coutRAM盤 endl。 } } nCount++。 } 下一頁 上一頁 停止放映 第 32/44頁 程序運(yùn)行結(jié)果 下一頁 上一頁 停止放映 第 33/44頁 例 311 判別指定文件或文件夾屬性 算法分析 1. 從命令行輸入指定的文件或目錄名稱,可以包含通配符 ( “*” 和“ ?”)。 下一頁 上一頁 停止放映 第 34/44頁 解題思路 ? 本應(yīng)用用到 MFC的 CFileFind類的 FindFile、 FindNextFile、 GetFileName、 GetFilePath、IsDirectory、 IsReadOnly和 GetCreateTime函數(shù); ? 還用到 CTime類的 GetYear、 GetMonth、 GetDay函數(shù)取得文件建立的時(shí)間(年、月、日)。 BOOL bWorking = (argv[1])。 if(( )) cout 目錄 endl。 (fileTime)。 } } 下一頁 上一頁 停止放映 第 36/44頁 程序運(yùn)行結(jié)果 下一頁 上一頁 停止放映 第 37/44頁 例 312 讀取位圖文件屬性程序 ? 算法分析 ① 從命令行輸入指定的位圖文件名稱; 命令格式為: 命令 位圖文件名 ② 定義位圖文件頭結(jié)構(gòu)變量 BitmapFileHeader; ③ 定義位圖信息結(jié)構(gòu)變量 BitmapInfo; ④ 打開指定文件; ⑤ 使用函數(shù) fread分別讀取位圖文件頭和位圖信息; ⑥ 關(guān)閉指定文件。 //文件類型 DWORD bfSize。 // } 。 下一頁 上一頁 停止放映 第 41/44頁 Fread函數(shù) 函數(shù) fread的格式如下: size_t fread( void *buffer, //文件緩沖區(qū) size_t size, //緩沖區(qū)塊長度 size_t count
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1