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

正文內(nèi)容

第6章數(shù)據(jù)和文檔-文庫吧資料

2025-07-26 12:25本頁面
  

【正文】 這些對象在整個運行過程中都有效。 ( 6)調(diào)用視圖對象的 CView::OnInitialUpdate虛函數(shù)對視圖進(jìn)行初始化操作。注意與 AddDocTemplate函數(shù)的區(qū)別, AddDocTemplate函數(shù)建立的是“類”之間的聯(lián)系。 ( 3)構(gòu)造視圖對象,并創(chuàng)建視圖窗口,也不顯示。 1. 創(chuàng)建空文檔 應(yīng)用程序類的 InitInstance函數(shù)在調(diào)用了 AddDocTemplate函數(shù)之后,會通過CWinApp:: ProcessShellCommand間接調(diào)用 CWinApp的另一個非常有用的成員函數(shù)OnFileNew,并依次完成下列工作: ( 1)構(gòu)造文檔對象,但并不從磁盤中讀數(shù)據(jù)。圖中的數(shù)字表示該項的含義與 表 。 \n 3 通用對話框的文件過濾器正文 \n 4 通用對話框的文件擴(kuò)展名 \n 5 在注冊表中登記的文檔類型標(biāo)識 Ex_SDI Document 6 在注冊表中登記的文檔類型名稱 但對于 MDI來說,上述的字串分別由 IDR_MAINFRAME和 IDR_EX_MDITYPE(若項目名為 Ex_MDI)組成;其中, IDR_MAINFRAME表示窗口標(biāo)題,而 IDR_EX_MDITYPE表示后 6項內(nèi)容。若該子串為空,則文檔名為默認(rèn)的“無標(biāo)題” Ex_SDI\n 2 新建文檔的類型名。 表 文檔模板字符串的含義 IDR_MAINFRAME的子串 串號 用 途 Ex_SDI\n 0 應(yīng)用程序窗口標(biāo)題 \n 1 文檔根名。 } 2. 文檔模板字串資源 從前面的單文檔模板類可以看出,為了能將菜單、加速鍵、圖標(biāo)等資源加載到應(yīng)用程序框架中,這些資源的標(biāo)識符都設(shè)為了 IDR_MAINFRAME。 m_pMainWnd = pMainFrame。 // 創(chuàng)建主框架窗口 CMainFrame* pMainFrame = new CMainFrame。 pDocTemplate = new CMultiDocTemplate( IDR_EX_MDITYPE, // 資源 ID RUNTIME_CLASS(CEx_MDIDoc), // 文檔類 RUNTIME_CLASS(CChildFrame), // MDI文檔窗口類 RUNTIME_CLASS(CEx_MDIView))。 } 類似的,多文檔模板類 CMultiDocTemplate的構(gòu)造函數(shù)也有相同的定義。 // 視圖類 AddDocTemplate(pDocTemplate)。 文檔模板和字串資源 1. 文檔模板 文檔應(yīng)用程序框架是在程序運行時就開始構(gòu)造的,在單文檔應(yīng)用程序(設(shè)為 Ex_SDI)的應(yīng)用程序類 InitInstance函數(shù)中,可以看到這樣的代碼: BOOL CEx_SDIApp::InitInstance() { … CSingleDocTemplate* pDocTemplate。 ( 4)打開 MFC ClassWizard的 Member Variables頁面,為 IDC_STATIC_TITLE控件添加 Value類型變量 m_strTitle,為 IDC_EDIT1控件添加 Value類型變量m_strContent。”靜態(tài)文本控件和 [取消 ]按鈕,將 [確定 ]按鈕標(biāo)題改為“退出”。 ( 2)將對話框的標(biāo)題設(shè)為“使用 CFile”。 } CFile類 CFile示例 如圖 ,單擊 [瀏覽 ]按鈕,將彈出文件“打開”對話框,從中選擇一個文件時,編輯框上方顯示出該文件的路徑名、創(chuàng)建時間和文件大小,并在編輯框中顯示出該文件的內(nèi)容。 if( CFile::GetStatus( szFileName, status ) ) // 該文件已存在,直接打開 { bOpenOK = ( szFileName, CFile::modeWrite )。 BOOL bOpenOK。例如下面的代碼: CFile theFile。 rStatus用來存放文件狀態(tài)信息,它是一個 CFileStatus結(jié)構(gòu)類型,該結(jié)構(gòu)具 有下列成員: CTime m_ctime 文件創(chuàng)建日期和時間 CTime m_mtime 文件最后一次修改日期和時間 CTime m_atime 文件最后一次訪問日期和時間 LONG m_size 文件大小的字節(jié)數(shù) BYTE m_attribute 文件屬性 char m_szFullName[_MAX_PATH] 文件名 CFile類 需要說明的是, static形式的 GetStatus函數(shù)將獲得指定文件名的文件狀態(tài),并將文件名復(fù)制至 m_szFullName中。 若指定文件的狀態(tài)信息成功獲得,該函數(shù)返回 TRUE,否則返回 FALSE。 static BOOL PASCAL GetStatus( LPCTSTR lpszFileName, CFileStatusamp。 BOOL GetStatus( CFileStatusamp。 另外,函數(shù) void SeekToBegin( )和 DWORD SeekToEnd( )分別將文件指針移動到文件開始和結(jié)尾位置,對于后者還將返回文件的大小。參數(shù) lOff用來指定文件指針移動的字節(jié)數(shù), nFrom表示指針移動方式,它可以是 CFile::begin(從文件的開始位置)、 CFile::current(從文件的當(dāng)前位置)或 CFile::end(從文件的最后位置,但 lOff必須為負(fù)值才能在文件中定位,否則將超出文件)等。 此函數(shù)用來定位文件指針的位置,若要定位的位置是有效的,則此函數(shù)將返回從文件開始的偏移量。對于文本文件,每行的換行符也被計算在內(nèi)。 此函數(shù)將緩沖區(qū)的數(shù)據(jù)寫到文件中。需要說明的是,這個返回值可能小于 nCount,這是因為可能到達(dá)了文件的結(jié)尾。它們相關(guān)函數(shù)的原型如下: UINT Read( void* lpBuf, UINT nCount )。 與文件“打開”相反的操作是“關(guān)閉”,可以使用 Close函數(shù)來關(guān)閉一個文件對象,若該對象是在堆內(nèi)存中創(chuàng)建的,還需調(diào)用 delete來刪除它(不是刪除物理文件)。 } 代碼中,若文件創(chuàng)建打開有任何問題, Open函數(shù)將在它的最后一個參數(shù)中返回 CFileException(文件異常類)對象, TRACE宏將顯示出文件名和表示失敗原因的代碼。fileException ) { TRACE( Can39。 CFileException fileException。 CFile類 例如,下面的代碼將顯示如何用讀寫方式創(chuàng)建一個新文件: char* pszFileName = c:\\test\\。 CFile::shareDenyWrite 禁止其他線程寫此共享文件,若其他線程用相關(guān)方式打開過此文件,則創(chuàng)建失敗。 CFile::shareDenyNone 共享文件的讀和寫,若其他線程用相關(guān)方式打開過此文件,則創(chuàng)建失敗。 CFile::modeWrite 打開文件只寫。 CFile::modeRead 打開文件只讀。 CFile::modeNoTruncate 與 CFile::modeCreate組合。函數(shù) Open操作成功時返回 TRUE,否則為 FALSE。 nOpenFlags用來指定文件打開的標(biāo)志,它的值見表。 ( 2) CFile類的 Open函數(shù)原型如下: BOOL Open( LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError = NULL )。 需要說明的是:函數(shù) RemoveAll是刪除數(shù)組中的所有元素,而函數(shù) RemoveAt( int nIndex, int nCount = 1)則表示要刪除數(shù)組中從序號為 nIndex元素開始的,數(shù)目為nCount的元素。i++) delete (i)。 for (int i=0。 ( pa2 = new CAge( 40 ) )。 CAge* pa2。 例如,下面代碼是一個 CObArray的刪除示例: CObArray array。 ( 2)若對象元素是在堆內(nèi)存中創(chuàng)建的,則使用 delete操作符刪除每一個對象元素。 // 元素 0 ( new CAge( 40 ) )。 // CObArray::GetAt示例 CObArray array。 // 獲取元素 0 array[0] = new CAge( 30 )。 // 添加一個元素 ( new CAge( 40 ) )。 CAge* pa。函數(shù)返回加入的第一個元素的序號。參數(shù) newElement表示要添加的相應(yīng)類型的數(shù)據(jù)元素。如果調(diào)用的函數(shù) SetSize的參數(shù) nGrowBy 的值大于 1,那么擴(kuò)展內(nèi)存將被分配。 src )。 向簡單數(shù)組集合類添加一個元素,可使用成員函數(shù) Add和 Append,它們的原型如下: int Add( CObject* newElement )。 其中,參數(shù) nNewSize用來指定新的元素的數(shù)目 (必須大小或等于 0)。它們的原型如下: void SetSize( int nNewSize, int nGrowBy = 1 )。 // 使用默認(rèn)的內(nèi)存塊大小 CObArray* pArray = new CObArray。 CWordArray CWordArray( )。 CStringArray CStringArray( )。
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1