程序設(shè)計與框架I課程設(shè)計報告-跨區(qū)間無縫線路設(shè)計及其養(yǎng)護維修.doc_第1頁
程序設(shè)計與框架I課程設(shè)計報告-跨區(qū)間無縫線路設(shè)計及其養(yǎng)護維修.doc_第2頁
程序設(shè)計與框架I課程設(shè)計報告-跨區(qū)間無縫線路設(shè)計及其養(yǎng)護維修.doc_第3頁
程序設(shè)計與框架I課程設(shè)計報告-跨區(qū)間無縫線路設(shè)計及其養(yǎng)護維修.doc_第4頁
程序設(shè)計與框架I課程設(shè)計報告-跨區(qū)間無縫線路設(shè)計及其養(yǎng)護維修.doc_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第一章 題目及程序功能設(shè)計說明程序設(shè)計與框架I課程設(shè)計報告題目:模擬計算器學院:軟件學院專業(yè):軟件工程班級:113301學號:20113792 20113817 20113811姓名:劉秀儀 鄭曉雪 張佳指導老師:韓旭明設(shè)計日期:2013年12月23日第一章 題目及程序功能設(shè)計說明目錄第一章 題目及程序功能設(shè)計說明11.1題目:利用MFC框架編寫簡易計算器11.2程序功能設(shè)計1第二章 程序涉及的知識點22.1 SetWindowText22.2 按鈕控件22.3 編輯框數(shù)據(jù)的輸出與獲取22.4 Updatedata函數(shù)3第三章 功能設(shè)計43.1 功能設(shè)計4第四章 詳細設(shè)計64.1 詳細設(shè)計6第五章 部分窗體界面及代碼清單215.1 窗體界面215.2 代碼清單21第六章 體會及總結(jié)34第七章 參考文獻351第一章 題目及程序功能設(shè)計說明第一章 題目及程序功能設(shè)計說明1.1題目:利用MFC框架編寫簡易計算器要求使用MFC框架在VC6.0環(huán)境下編寫一個簡易的計算器,支持任意位數(shù)的加減乘數(shù),正負轉(zhuǎn)換,并且實現(xiàn)C功能。1.2程序功能設(shè)計使用MFC AppWizard創(chuàng)建基于對話框的Windows應用程序,應用程序要求通過單擊相應的菜單項同樣可以實現(xiàn)算術(shù)加、減、乘和除的運算。計算器上數(shù)字09為一個控件數(shù)組,加、減、乘、除為一個控件數(shù)組這個模擬計算器即可以通過按鈕輸入數(shù)字,又可以通過鍵盤輸入數(shù)字,它包含三個編輯框,其中兩個是輸入數(shù)字的,一個是用來輸出結(jié)果的,計算功能基本上是用系統(tǒng)內(nèi)部函,程序可以能自動判斷輸入數(shù)據(jù)的正確性,保證不出現(xiàn)多于一個小數(shù)點、以0開頭等不正?,F(xiàn)象,基于MFC庫類對對話框界面的設(shè)計,通過創(chuàng)建類成員函數(shù)成員變量,編輯控件創(chuàng)建消息映射,調(diào)用消息函數(shù)完成數(shù)據(jù)的輸入輸出,實現(xiàn)計算功能,生成簡單的應用軟件。2第2章 程序涉及的知識點第二章 程序涉及的知識點2.1 SetWindowText BOOL SetWindowText(HWNDhwnd,LPCTSTRlpString);參數(shù)說明:hWnd,要改變文本內(nèi)容的窗口或控件的句柄;lpString,指向一個空結(jié)束的字符串的指針,該字符串將作為窗口或控件的新文本。返回值:如果函數(shù)成功,返回值為非零;如果函數(shù)失敗,返回值為零。2.2 按鈕控件按鈕窗口(控件)在MFC中使用CButton表示,CButton包含了三種樣式的按鈕,PushButton,CheckBox,RadioBox。所以在利用CButton對象生成按鈕窗口時需要指明按鈕的風格。創(chuàng)建按鈕:BOOLCButton:Create(LPCTSTRlpszCaption,DWORDdwStyle,constRECT&rect,CWnd*pParentWnd,UINTnID);其中l(wèi)pszCaption是按鈕上顯示的文字,dwStyle為按鈕風格,除了Windows風格可以使用外(如WS_CHILD|WS_VISUBLE|WS_BORDER)。2.3 編輯框數(shù)據(jù)的輸出與獲取編輯框數(shù)據(jù)的輸出與獲取有兩種方法,第一種,為編輯框關(guān)聯(lián)一個CONTROL類型的類,假如是m_OutResult,那么要獲取數(shù)據(jù),就先定義一個CString類的對象,假如為m_Data;那么m_OutResult.GetWindowText(m_Data);此時,m_Data就存儲有編輯框里的內(nèi)容。輸出就用SetWindowText函數(shù),如CString m_Data=”abcdefg”;m_OutResult.SetWindowText(m_Data);或者把括號里的m_Data換成“abcdefg”。第二種方法是直接為編輯框關(guān)聯(lián)一個VALUE的類型,有CString,double,int等等類型,假如為CString類型,名也為OutResult;此時如果要獲取該編輯框信息就調(diào)用UpdateData(FALSE);調(diào)用之后,OutResult就存儲有編輯框里的信息了。如果要輸出的話,比如要輸出”abcdefg”,那么就是下面語句:OutResult=”abcdefg”;UpdateData(TRUE);這樣就更新數(shù)據(jù)到編輯框里了,可以推斷,如果編輯框里只是int類型,那么就選int;而double就是double。2.4 Updatedata函數(shù)UpdateData(true); 用窗體上控件中的內(nèi)容來更新和控件相關(guān)連的變量的值(只能更新value類型的變量) 。UpdateData(false); 和上面的正好相反,以Edit為例,當你在程序中改變了m_strName變量的內(nèi)容的時候,如果你想讓那個Edit也顯示更新后的 m_strName,就必須調(diào)用UpdateData(false)。UpdateData(TRUE)是將控件的狀態(tài)傳給其關(guān)聯(lián)的變量,當然你要為控件關(guān)聯(lián)上變量才行。 UpdateData(FALSE)是將控件的關(guān)聯(lián)變量的值傳給控件并改變控件狀態(tài)。 UpdateData刷新的是當前對話框。UpdateData(true);/用于將屏幕上控件中的數(shù)據(jù)交換到變量中。 UpdateData(false);/用于將數(shù)據(jù)在屏幕中對應控件中顯示出來。使用UpdateData()函數(shù)時,當前界面上所有綁定了的變量(即通過MFC ClassWizard給控件添加了對應的變量)都會被UpdateData(TRUE)更新成對應控件中的內(nèi)容;同樣所有綁定了變量的控件中的內(nèi)容也會 UpdateData(FALSE)更新成對應變量中的內(nèi)容。第3章 功能設(shè)計第三章 功能設(shè)計3.1 功能設(shè)計首先從加法開始:void CMyDlg:OnButton1()/ TODO: Add your control notification handler code hereUpdateData();double n_result;n_result = m_num1 + m_num2;m_result = n_result;char sz20;sprintf(sz,%f,m_result);m_CResult.SetWindowText(sz); UpdateData() 是MFC的窗口函數(shù),用來刷新數(shù)據(jù)的,由于我們進行基本運算需要更新數(shù)據(jù) 所以必須添加這個函數(shù)。n_result = m_num1 + m_num2; m_result = n_result; char sz20; sprintf(sz,%f,m_result); 以上代碼是進行 加法的基本語句,然后數(shù)組保存并格式化打印輸出。m_CResult.SetWindowText(sz);此句是把結(jié)果輸出在之前用CEdit類創(chuàng)建的對象m_CResult,m_CResult調(diào)用SetWindowText(sz);把結(jié)果顯示在編輯框中。剩下的減法 乘法和除法也是大同小異。這里所有加減乘除的代碼:4第4章 詳細設(shè)計第四章 詳細設(shè)計4.1 詳細設(shè)計1、 首先打開VC,選擇MFC AppWizardexe,設(shè)定好路徑和工程名(這里我設(shè)置工程名為為“My”)。這里要注意的是在創(chuàng)建向?qū)Р襟E1的時候,我們選擇“基本對話框。”。2、基本對話框建立完成。此時我們把當前頁面上原配的控件按Delete全部清除(如下圖)。3、 我們按照MFC自帶的控件選項進行我們本次計算器的控件添加(以下是控件)。 我們在原先清空的界面中依次用上圖控件畫出一個基本的計算器頁面(如下圖)。當然作為“所見即所得”的MFC控件設(shè)計,干凈整齊的界面是基本要求,甚至會影響用戶的心情。 上圖我們用按鈕控件添加一共15個按鈕,分別是數(shù)字“ 0 9” 以及 “+ - * /”。每個控件“屬性”都有屬于它自己的ID,默認的按鈕按鍵為IDC_BUTTON0,而且Cap當然我們?yōu)榱恕邦櫭剂x”,對控件ID進行修改成我們?nèi)菀妆嬲J的(也可以不改),添加完控件并修改ID之后。(如下圖)。4、 這里我們把數(shù)字按鈕0 設(shè)置ID為IDC_BUTTON14_NUM0,其他的依次類推。完成修改ID后,就需給控件添加消息響應了,基本操作可以是直接雙擊控件,便會有向?qū)崾?。MFC默認下了的響應信息都為On_開頭,而且以下顯示的是數(shù)字5的消息響應.之后所有的依次類推,這步驟一般不對成員函數(shù)名稱做任何修改,直接點擊OK即可。之后就會跳轉(zhuǎn)到具體的代碼實現(xiàn)過程 這里我們依次給每一個控件添加消息響應函數(shù)(以下僅列出一部分)。 5、添加的控件消息響應函數(shù)。編輯框控件的ID是:IDC_EDIT1;IDC_EDIT2;IDC_EDIT3。還有 加減乘除的控件添加當初沒有進行名字的設(shè)置,默認為:void CMyDlg:OnButton1()/加;void CMyDlg:OnButton2()/減;void CMyDlg:OnButton3()/乘;void CMyDlg:OnButton4()/除。 在開始第二步之前有一項工作時必須要做的,那便是添加3個成員變量和一個CEdit類的變量。具體添加方法,就是右鍵主對話框CMyDlg-Add Member Variable,也可以是在菜單欄中選擇“查看”-“建立類向?qū)А薄?這里我們把3個編輯框控件內(nèi)的變量都改變?yōu)閐ouble型的(因為進行四則運算難免出現(xiàn)小數(shù)點),之后再在控件IDC_EDIT3中選擇Add Variable,并且數(shù)據(jù)類型選擇Control類型此時變量自動改為了CEdit類,這步的意思是說,我們把編輯框控件3的設(shè)置為CEdit類并且設(shè)置一個成員對象是m_CResult。6、控件消息響應函數(shù)具體代碼添加部分。加法:void CMyDlg:OnButton1()/ TODO: Add your control notification handler code hereUpdateData();double n_result;n_result = m_num1 + m_num2;m_result = n_result;char sz20;sprintf(sz,%f,m_result);m_CResult.SetWindowText(sz); UpdateData() 是MFC的窗口函數(shù),用來刷新數(shù)據(jù)的。由于我們進行基本運算需要更新數(shù)據(jù) 所以必須添加這個函數(shù)。n_result = m_num1 + m_num2; m_result = n_result; char sz20; sprintf(sz,%f,m_result); 以上代碼是進行加法的基本語句,然后數(shù)組保存并格式化打印輸出。m_CResult.SetWindowText(sz);此句是把結(jié)果輸出在之前用CEdit類創(chuàng)建的對象m_CResult,m_CResult調(diào)用SetWindowText(sz);把結(jié)果顯示在編輯框中。剩下的減法、乘法、除法和加法差不多。所有加減乘除的代碼:void CMyDlg:OnButton1()/ TODO: Add your control notification handler code hereUpdateData();double n_result;n_result = m_num1 + m_num2;m_result = n_result;char sz20;sprintf(sz,%f,m_result);m_CResult.SetWindowText(sz);void CMyDlg:OnButton2()/ TODO: Add your control notification handler code hereUpdateData();double n_result;n_result = m_num1 - m_num2;m_result = n_result;char sz20;sprintf(sz,%f,m_result);m_CResult.SetWindowText(sz);void CMyDlg:OnButton3()/ TODO: Add your control notification handler code hereUpdateData();double n_result;n_result = m_num1 * m_num2;m_result = n_result;char sz20;sprintf(sz,%f,m_result);m_CResult.SetWindowText(sz);void CMyDlg:OnButton4()/ TODO: Add your control notification handler code hereUpdateData();double n_result;n_result = m_num1 / m_num2;m_result = n_result;char sz20;sprintf(sz,%f,m_result);m_CResult.SetWindowText(sz);7、由于我們預設(shè)了2個編輯框所想實現(xiàn)的功能是,如在編輯框1內(nèi)輸入一個輸入30,然后再編輯框2內(nèi)輸入另一個數(shù)字20,并且再進行運算。那么存在一個問題。這個問題其實困惑了我很久,那就是,如何用判斷用戶是在哪個編輯框上輸入了數(shù)字,所以我們需要給程序加入一個功能,那便是判斷用戶是在編輯框1輸入,還是編輯框2內(nèi)輸入。 那么我們想,在日常我們用電腦的過程中,一般都是用鼠標去點擊編輯框來進行一系列操作。那么我可以加入一個鼠標左鍵點擊WM_LBUTTONDOWN消息和一個 EN_SETFOCUS事件來響應這個鼠標消息。 EN_SETFOCUS為判斷焦點事件(通俗點說,那便是判斷光標在什么地方)這樣一來,一切邏輯都理順了。我們用戶用鼠標選擇并點擊編輯框的時候,我們用WM_LBUTTONDOWN消息去響應,然后與此同此,我們把響應的和EN_SETFOCUS聯(lián)系起來,我們預設(shè)一個全局變量nEditFlag ,作為在EN_SETFOCUS函數(shù)里的一個 標記,并在鼠標點下的時候用nEditFlag 去表示編輯框目前被選定的狀態(tài),nEditFlag =1 的時候我們就判斷用戶選擇了編輯框1 ,再者當nEditFlag =2的時候說明編輯框2被選定。這里我告訴大家如何添加 事件 EN_SETFOCUS,由于EN_SETFOCUS是一個判斷焦點的,所以對象應該是編輯框1和編輯框2里添加,所以我們回到對話框編輯頁面?!坝益I編輯框1”-點擊“事件”- “選擇EN_SETFOCUS”(這里程序默認的響應函數(shù)是OnsetfocusEdit1)。依次類推我們也給編輯框2添加事件響應函數(shù)OnsetfocusEdit2,方法同上,如下圖:設(shè)置好之后,我們還要做一些初始化工作,在程序運行之初,我們先初始化nEditFlag = 0;OnInitDialog()內(nèi)進行初始化;我們只需在OnInitDialog()函數(shù)中加入一nEditFlag = 0;就可以了。之后我們再為兩個事件響應函數(shù)進行OnsetfocusEdit1()和OnsetfocusEdit2()添加代碼。 當用戶選定編輯框1的時候,nEditFlag = 1;當用戶選定編輯框2的時候,nEditFlag = 2;而鼠標消息WM_LBUTTONDOWN具體代碼如下:這里由于代碼都大同小異,所以就用數(shù)字按鈕1,2來進行簡要說明。用if語句去判斷標記常量 nEditFlag 從而給判斷是m_num1還是m_num2進行操作這里m_num1是編輯框1內(nèi)的數(shù)字,m_num2是編輯框2內(nèi)的數(shù)字,剩下了39代碼以上大同小異。m_num2=m_num2*10+1; 很多人會問這步是說明意思,這步乍看貌似有點一頭霧水(當初我也是這樣)但是仔細看看還是能看明白的。比方說 用戶想打出自然數(shù)“234”。用戶第一次點的數(shù)字是2 那么此時對應代碼執(zhí)行是這段m_num2=m_num2*10+2; 那么m_num2 = 0*10 +2 (初始化時m_num2 = 0)。之后如果在點擊3的時候執(zhí)行的代碼是m_num2=m_num2*10+3; (此時經(jīng)過第一步m_num2已經(jīng)為2了,再點了3 結(jié)果為m_num2= 2*10+3 = 23);最后點擊4 執(zhí)行的代碼是m_num2=m_num2*10+4;(23*10 +4=234)。32第5章 部分窗體界面及代碼清單 第五章 部分窗體界面及代碼清單5.1 窗體界面5.2 代碼清單/ MyDlg.cpp : implementation file/#include stdafx.h#include My.h#include MyDlg.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CAboutDlg dialog used for App Aboutint nEditFlag;double num1;double num2;class CAboutDlg : public CDialogpublic:CAboutDlg();/ Dialog Data/AFX_DATA(CAboutDlg)enum IDD = IDD_ABOUTBOX ;/AFX_DATA/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CAboutDlg)protected:virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support/AFX_VIRTUAL/ Implementationprotected:/AFX_MSG(CAboutDlg)/AFX_MSGDECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg)/AFX_DATA_INITvoid CAboutDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CAboutDlg)/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)/AFX_MSG_MAP(CAboutDlg)/ No message handlers/AFX_MSG_MAPEND_MESSAGE_MAP()/ CMyDlg dialogCMyDlg:CMyDlg(CWnd* pParent /*=NULL*/): CDialog(CMyDlg:IDD, pParent)/AFX_DATA_INIT(CMyDlg)m_num1 = 0.0;m_num2 = 0.0;m_result = 0.0;/AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);void CMyDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CMyDlg)DDX_Control(pDX, IDC_EDIT3, m_CResult);DDX_Text(pDX, IDC_EDIT1, m_num1);DDX_Text(pDX, IDC_EDIT2, m_num2);DDX_Text(pDX, IDC_EDIT3, m_result);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CMyDlg, CDialog)/AFX_MSG_MAP(CMyDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTON2, OnButton2)ON_BN_CLICKED(IDC_BUTTON3, OnButton3)ON_BN_CLICKED(IDC_BUTTON4, OnButton4)ON_BN_CLICKED(IDC_BUTTON5, OnButton5)ON_BN_CLICKED(IDC_BUTTON6, OnButton6)ON_BN_CLICKED(IDC_BUTTON7, OnButton7)ON_BN_CLICKED(IDC_BUTTON8, OnButton8)ON_BN_CLICKED(IDC_BUTTON11, OnButton11)ON_BN_CLICKED(IDC_BUTTON9, OnButton9)ON_BN_CLICKED(IDC_BUTTON10, OnButton10)ON_BN_CLICKED(IDC_BUTTON13, OnButton13)ON_BN_CLICKED(IDC_BUTTON14, OnButton14)ON_BN_CLICKED(IDC_BUTTON15, OnButton15)ON_BN_CLICKED(IDC_BUTTON1, OnButton1)ON_EN_SETFOCUS(IDC_EDIT1, OnSetfocusEdit1)ON_EN_SETFOCUS(IDC_EDIT2, OnSetfocusEdit2)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CMyDlg message handlersBOOL CMyDlg:OnInitDialog()CDialog:OnInitDialog();nEditFlag = 0;/ Add About. menu item to system menu./ IDM_ABOUTBOX must be in the system command range.ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR);pSysMenu-AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);/ Set the icon for this dialog. The framework does this automatically/ when the applications main window is not a dialogSetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small icon/ TODO: Add extra initialization herereturn TRUE; / return TRUE unless you set the focus to a controlvoid CMyDlg:OnSysCommand(UINT nID, LPARAM lParam)if (nID & 0xFFF0) = IDM_ABOUTBOX)CAboutDlg dlgAbout;dlgAbout.DoModal();elseCDialog:OnSysCommand(nID, lParam);/ If you add a minimize button to your dialog, you will need the code below/ to draw the icon. For MFC applications using the document/view model,/ this is automatically done for you by the framework.void CMyDlg:OnPaint() if (IsIconic()CPaintDC dc(this); / device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);/ Center icon in client rectangleint cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;/ Draw the icondc.DrawIcon(x, y, m_hIcon);elseCDialog:OnPaint();/ The system calls this to obtain the cursor to display while the user drags/ the minimized window.HCURSOR CMyDlg:OnQueryDragIcon()return (HCURSOR) m_hIcon;void CMyDlg:OnButton2() / TODO: Add your control notification handler code hereUpdateData(true);if(nEditFlag=1)m_num1=num1*10+1;else if(nEditFlag=2)m_num2=num2*10+1;UpdateData(FALSE);void CMyDlg:OnButton3() / TODO: Add your control notification handler code hereUpdateData(true);if(nEditFlag=1)m_num1=num1*10+2;else if(nEditFlag=2)m_num2=num2*10+2;UpdateData(FALSE);void CMyDlg:OnButton4() / TODO: Add your control notification handler code hereUpdateData(true);if(nEditFlag=1)m_num1=num1*10+3;else if(nEditFlag=2)m_num2=num2*10+3;UpdateData(FALSE);void CMyDlg:OnButton5() / TODO: Add your control notification handler code hereUpdateData(true);if(nEditFlag=1)m_num1=num1*10+4;else if(nEditFlag=2)m_num2=num2*10+4;UpdateData(FALSE);void CMyDlg:OnButton6() / TODO: Add your control notification handler code hereUpdateData(true);if(nEditFlag=1)m_num1=num1*10+5;else if(nEditFlag=2)m_num2=num2*10+5;UpdateData(FALSE);void CMyDlg:OnButton7() / TODO: Add your control notification handler code hereUpdateData(true);if(nEditFlag=1)m_num1=num1*10+6;else if(nEditFlag=2)m_num2=num2*10+6;UpdateData(FALSE);void CMyDlg:OnButton8() / TODO: Add your control notification handler code hereUpdateData(true);if(nEditFlag=1)m_num1=num1*10+7;else if(nEditFlag=2)m_num2=num2*10+7;UpdateData(FALSE);void CMyDlg:OnButton11() / TODO: Add your control notification handler code hereUpdateData(true);if(nEditFlag=1)m_num1=num1*10+0;else if(nEditFlag=2)m_num2=num2*10+0;UpdateData(FALSE);void CMyDlg:OnButton9() / TODO: Add your control notification handler code hereUpdateData(true);if(nEditFlag=1)m_num1=num1*10+8;else if(nEditFlag=2)m_num2=num2*10+8;UpdateData(FALSE);void CMyDlg:OnButton10() / TODO: Add your control notification handler code hereUpdateData(true);if(nEditFlag=1)m_num1=num1*10+9;else if(nEditFlag=2)m_num2=num2*10+9;UpdateData(FALSE);/*void CMyDlg:OnButton12() / TODO: Add your control notification handler code here*/void CMyDlg:OnButton13() / TODO: Add your control notification handler code hereUpdateData();double n_result;n_result = m

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論