




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 系统需求分析文档管理系统是一个众多企业、事业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以文档管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间稍长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。在信息时代,企业、政府、学校、医院等各种类型的组织的知识都是以电子文件的形式存在的。这些文件的范围广泛、格式多样,是一个组织极其重要的资产。它们包括文件、图形、影像、网页、音频、视频、产品数据、研发文件、数据库表格、应用程序代码、合约等结构化或非结构化数据。根据Jupiter Research的报告,组织所产生的文件量每68个月便以双倍或更快的速率急增。大量无序的文件给组织的成员及硬件均造成了沉重的压力,严重影响了组织的有效运行。而使用计算机对文书档案信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高文书档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发一套这样的管理软件成为很有必要的事情。根据市场的需求,要求系统具有以下功能:1.处理大量的复合文档型的数据信息。2.通过系统查看文档内容。3.通过系统可以完成对文档一系列日常操作。4.保证系统的安全性、可靠性。2 总体设计2.1 项目规划文档管理系统由基本信息、文档管理、系统设置等几个功能模块组成,规划系统功能模块如下:基本信息:基本信息包括单位档案、文档类别2部分。文档管理:文档管理包括添加文档、修改文档、删除文档、文档浏览4部分。系统设置:系统设置包括用户管理、口令修改、日志管理、退出系统4部分。2.2 系统功能结构文档系统的功能结构如图1所示。图1 文档管理功能图2.3 设计目标本系统是根据中小企业的实际需求而开发的,完全能够实现企业对制度文档的自动化管理,通过本系统可以达到以下目标:系统运行稳定,安全可靠。界面设计美观,人机交互界面友好。信息查询灵活、方便、快捷、准确,数据存储安全可靠。操作员可以随时修改自己的口令。对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。数据保密性强,为每个用户设置相应的权限级别。3 系统设计3.1 开发及运行环境系统开发平台:Visual C+ 6.0数据库管理系统软件:SQL Server 2000运行平台:Windows xp/Windows 20003.2 数据库设计1数据库概要说明数据库WenDGL中包括单位表、类别表、文档表、日志表、用户表5个数据表。图2所示的即为本系统中数据库中的数据表结构图,该数据表结构图包含系统所有数据表。可以清晰地反应数据库信息。图2 数据库概要说明2主要数据表的结构数据库中的数据表请参见附录B。4 主要功能模块设计4.1 建立工程框架在Visual C+中建立文档管理系统的基本框架,步骤如下:(1)单击菜单“File-New”命令,打开“New”对话框,单击“Projects”选项卡,选择“MFC AppWizard(exe)”,输入工程名,并设置路径,如图3。图3 “New”对话框(2)单击“OK”按钮,弹出“MFC AppWizard-Step 1”对话框,如图4。图4 “MFC AppWizard-Step 1”对话框(3)选择“Dialog base”选项,单击“Next”按钮,在弹出的“MFC AppWizard-Step 2 of 4”对话框中,输入对话框标题,如图5所示。图5 “MFC AppWizard-Step 2 of 4”对话框(4)单击“Next”按钮,在接下来弹出的对话框中默认原有的选择项,最后设置好的对话框的属性如图6所示,单击“OK”按钮,新建工程成功。图6 工程属性4.2 封装数据库1添加ADO连接类本实例采用ADO来连接SQL Server数据库,在使用ADO技术时,需要导入一个ADO动态链接库msado15.dll,该动态库位于系统盘下的“Program Filesmon FilesSystemado”目录下。例如,如果您的系统盘为C盘,则该文件位于“C: Program Filesmon FilesSystemado”目录。在Visual C+中,需要使用预处理命令#import,将动态库导入到系统中,代码如下。#import E:Program Filesmon FilesSystemadomsado15.dll no_namespace rename(EOF,adoEOF)rename(BOF,adoBOF)添加一个用来连接的ADO的类。在系统菜单中选择“Insert-New Class”选项,打开“New Class”窗口,选择“Generic Class”,然后输入类名,即完成了类的添加。代码如下。创建ADO连接类。class ADOConn public:/添加一个指向Connection对象的指针_ConnectionPtr m_pConnection;/添加一个指向Recordset对象的指针_RecordsetPtr m_pRecordset;public:ADOConn();virtual ADOConn();/初始化-连接数据库void OnInitADOConn();/执行查询_RecordsetPtr& GetRecordSet(_bstr_t bstrSQL);/执行SQL语句BOOL ExecuteSQL(_bstr_t bstrSQL);/断开数据库连接void ExitConnect();实现ADO连接类函数和程序代码如下。void ADOConn:OnInitADOConn()/初始化OLE/库环境:CoInitialize(NULL);try/创建connection对象m_pConnection.CreateInstance(ADODB.Connection); /设置连接字符串_bstr_t strConnect=Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=WenDGL;Data Source=MRLZJ;/SERVER和UID,PWD的设置根据实际情况来设置m_pConnection-Open(strConnect,adModeUnknown);/捕捉异常catch(_error e)/显示错误信息AfxMessageBox(e.Description();_RecordsetPtr& ADOConn:GetRecordSet(_bstr_t bstrSQL)try/连接数据库,如果connection对象为空,则重新连接数据库if(m_pConnection=NULL)OnInitADOConn();/创建记录集对象m_pRecordset.CreateInstance(_uuidof(Recordset);/取得表中的记录 m_pRecordset-Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); catch(_error e)e.Description();/返回记录集return m_pRecordset;BOOL ADOConn:ExecuteSQL(_bstr_t bstrSQL)_variant_t RecordsAffected;try/是否已连接数据库 if(m_pConnection=NULL) OnInitADOConn();/connection对象的Execute方法(_bstr_t mandText, /VARIANT * RecordsAffected,long Options)/其中mandText是命令字符串,通常是SQL命令/参数RecordsAffected是操作完成后所影响的行数/参数Options表示mandText的类型,adCmdText-文本命令,adCmdTable-表名/adCmdProc-存储过程,adCmdUnknown-未知 m_pConnection-Execute(bstrSQL,NULL,adCmdText);return true;catch(_error e)e.Description();return false;void ADOConn:ExitConnect()/关闭记录集和连接 if(m_pRecordset!=NULL)m_pRecordset-Close();m_pConnection-Close();/释放环境:CoUninitialize();4.3 主窗口设计1菜单资源设计主窗口菜单设置的主要步骤如下:(1)单击“ResourceView”选项卡,右键单击“WordGLXT Resources”选项,在快捷菜单中选择“Insert”菜单项,弹出“Insert Resource”窗口,如图7所示。图7 “Insert Resource”窗口(2)选择“Menu”文件夹,单击“New”按钮,在WordGLXT Resources目录下新增一个Menu目录项,菜单ID为IDR_MENU1。然后,双击此菜单,对此菜单项的属性进行设计,如图8所示。图8 “Insert Resource”窗口2客户区设计(1)打开对话框IDD_WORDGLXT_DIALOG属性窗口,在对话框中添加1个Tree Control和1个RichEdit控件,右键单击Tree Control控件,将Has buttons/Has lines/Client edge/Lines at root选中,属性设置如表1所示。表1 属性表IDMemberVariablesTypeMemberIDC_TREE1CtrrCtrlm_treeID_RICHEDITICRichEditCtrlm_tichedit(2)预先在下边留出状态栏,声明Ctime、CstatusBarCtrl类对象实体,程序代码如下。CTime t;CStatusBarCtrl m_StatusBar;在程序中,引用外部变量。extern CWordGLXTApp theApp;在头文件中定义程序变量,代码如下。CString str;CString strWord;CString strText;void AddtoTree(HTREEITEM m_node);HTREEITEM arrays10,brrays20,hitem100;HTREEITEM m_root,temp;CDwxxb dwb;CZdmlb mlb;CZdxxb xxb;CRizhib zhi;CImageList m_treeImageList;(3)在OnInitDialog成员函数中,添加状态栏以及给Tree控件定义图标,添加数据,代码如下所示。 / TODO: Add extra initialization heredwb.Load_dep();mlb.Load_dep();xxb.Load_dep();m_treeImageList.Create(16,16,ILC_MASK,4,1);m_treeImageList.Add(theApp.LoadIcon(IDI_ROOTICON);m_treeImageList.Add(theApp.LoadIcon(IDI_CHILDICON1);m_treeImageList.Add(theApp.LoadIcon(IDI_CHILDICON2);m_treeImageList.Add(theApp.LoadIcon(IDI_CHILDICON4);m_tree.SetImageList(&m_treeImageList,LVSIL_NORMAL);m_root=m_tree.InsertItem(基本信息管理,0,0);AddtoTree(m_root);m_tree.Expand(m_root,TVE_EXPAND);m_StatusBar.EnableAutomation();m_StatusBar.Create(WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),this,0);int width=200,400;m_StatusBar.SetParts(4, &width0);m_StatusBar.SetText(长春市明日科技有限公司,0,0);CString StatusText;StatusText.Format(当前用户:%s,user.GetUsername();m_StatusBar.SetText(StatusText,0,1);t=CTime:GetCurrentTime();CString strdate;strdate.Format(当前日期:%s,t.Format(%y-%m-%d);m_StatusBar.SetText(strdate,0,2);return TRUE; / return TRUE unless you set the focus to a control(4)定义AddtoTree函数,将各表中数据按层次结构添加到Tree控件中,代码如下。void CWordGLXTDlg:AddtoTree(HTREEITEM m_node)int i,j;for(i=0;idwb.a_DWbh.GetSize();i+) arraysi=m_tree.InsertItem(dwb.a_DWmc.GetAt(i),1,1,m_node);for(j=0;jmlb.a_DWbh.GetSize();j+)if(atoi(dwb.a_DWbh.GetAt(i)=atoi(mlb.a_DWbh.GetAt(j)brraysj=m_tree.InsertItem(mlb.a_LBmc.GetAt(j),2,2,arraysi);for(i=0;ixxb.a_WDbh.GetSize();i+)for(j=0;jmlb.a_DWbh.GetSize();j+)if(atoi(xxb.a_DWbh.GetAt(i)=atoi(mlb.a_DWbh.GetAt(j)&atoi(xxb.a_LBbh.GetAt(i)=atoi(mlb.a_LBbh.GetAt(j)hitemi=m_tree.InsertItem(xxb.a_WDmc.GetAt(i),3,3,brraysj);m_tree.SetRedraw();(5)为Tree控件添加OnDblclkTree1双击事件,程序代码如下。void CWordGLXTDlg:OnDblclkTree1(NMHDR* pNMHDR, LRESULT* pResult) / TODO: Add your control notification handler code hereCString strWjian=;/读取当前节点temp = m_tree.GetSelectedItem();/将当前节点子节点付给temptemp = m_tree.GetChildItem(temp);if (temp != NULL)while (temp!= NULL)/取出temp中的文本strText = m_tree.GetItemText(temp);strWjian+=strText+n;/RichEdit控件显示数据m_richedit.SetWindowText(strWjian);/将temp的兄弟节点付给temptemp = m_tree.GetNextItem(temp,TVGN_NEXT);elsetemp = m_tree.GetSelectedItem();for(int i=0;ixxb.a_WDbh.GetSize();i+)if(temp=hitemi)/取出temp对应的文档路径strWord=xxb.a_WJlj.GetAt(i);/word应用程序 _Application app;/初始化连接app.CreateDispatch(word.Application);Documents doc;CVariant a (_T(strWord),b(false),c(0),d(true),aa(0),bb(1);_Document doc1;doc.AttachDispatch( app.GetDocuments();doc1.AttachDispatch(doc.Add(&a,&b,&c,&d);Range range;/求出文档的所选区域range = doc1.GetContent();/取出文件内容str = range.GetText();m_richedit.SetWindowText(str);/关闭app.Quit(&b,&c,&c);/释放环境app.ReleaseDispatch();*pResult = 0;(6)在Menu组合框中选择IDR_MENU1。单击工具栏中的“运行”按钮,看到系统的主界面如图9所示。图9 系统运行界面(7)打开ClassWizard窗口,为菜单项ID_MENULIULWD添加代码,实现文档浏览功能。void CWordGLXTDlg:OnMenuliulwd() / TODO: Add your mand handler code hereCString strd,strs;for(int i=0;iadoEOF=0)sqlzd+=(char*)(_bstr_t)m_AdoConn.m_pRecordset-GetCollect(name);sqlzd+= t;sqlzd+=(char*)(_bstr_t)m_AdoConn.m_pRecordset-GetCollect(DLsj);sqlzd+=t;sqlzd+=(char*)(_bstr_t)m_AdoConn.m_pRecordset-GetCollect(dz);sqlzd+=n;m_AdoConn.m_pRecordset-MoveNext();m_richedit.SetWindowText(sqlzd);m_AdoConn.ExitConnect();(9)为菜单项ID_EXIT添加代码,程序调用OnOK()函数关闭对话框,退出系统。void CWordGLXTDlg:OnExit() / TODO: Add your mand handler code hereOnOK();4.4 登录模块设计1实现目标登录模块功能是完成用户登录本系统的操作,用户登录对话框的设计如图10所示。图10 用户登录对话框2设计步骤(1)向项目中添加一个新Dialog资源,资源ID为IDD_DIALOGIN。在IDD_DLALOGIN对话框资源中单击鼠标右键,执行弹出快捷菜单的“Properties”菜单命令,打开“Dialog Properties”对话框。在“Dialog Properties”对话框中选择General选项卡,更改其“Caption”文本框内容为“用户登录”。(2)从Controls面板上向Dialog资源中添加2个Static、2个Edit,更改资源的属性,并为资源设置相对应的变量,如表2所示。表2 资源设置IDPropertiesMember VariablesTypeMemberIDC_EDIT1默认CStringm_nameIDC_ EDIT2PassWord TRUECStringm_pwdIDOKCaption 登录IDCANCELCaption 退出3代码分析(1)引用函数外部的变量。extern CUsers user;(2)在头文件定义程序变量。CString jb;CRizhib zhi;CTime t;(3)响应“登录”按钮的程序代码如下。void CDialogin:OnOK() / TODO: Add extra validation here/将对话框中编辑框的数据读取到成员变量中UpdateData(true);/检查数据有效性if(m_name=)MessageBox(请输入用户名);return;/如果读取数据和用户输入不同,则返回if(user.HaveCzy(m_name,m_pwd)!=1)MessageBox(用户名或密码错误!);return;user.SetUsername(m_name);/判断用户级别jb=1;if(user.HaveCzyjb(m_name,m_pwd,jb)=1)user.SetJB(jb);elseuser.SetJB(0);/读取当前系统时间t=CTime:GetCurrentTime();/将登录动作记录到日志表zhi.SetDLsj(t.Format(%y-%m-%d);zhi.SetName(user.GetUsername();zhi.SetDZ(登录);zhi.sql_insert();CDialog:OnOK();下面在主对话框中添加代码,使对话框在启动时首先打开登录对话框。在主窗口选择OnInitDialog函数,该函数将打开登录对话框,如果用户不是通过单击“登录”按钮关闭对话框,则调用OnOK函数关闭主对话框,具体代码如下。BOOL CWordGLXTDlg:OnInitDialog()CDialog:OnInitDialog();./ TODO: Add extra initialization hereCDialogin gin;if(gin.DoModal()!=IDOK)OnOK();.return TRUE; / return TRUE unless you set the focus to a control4.5 文档管理模块设计1实现目标用于查看、添加、修改、删除文档信息,文档管理对话框的设计如图11所示。图11 文档管理对话框2设计步骤(1)向项目中添加一个新Dialog资源,资源IDD_WDgldlg。在IDD_WDgldlg对话框资源中单击鼠标右键,执行弹出快捷菜单的“Properties”菜单命令,打开“Dialog Properties”对话框。在“Dialog Properties”对话框中选择General选项卡,更改其“Caption”文本框内容为“文档管理”。(2)从Controls面板上向Dialog资源中添加7个Static、7个Edit、2个Button、2个Radio、1个Tab、1个ListControl、1个bo、1个Group控件,更改资源的属性,并为资源设置相对应的变量,如表3所示。表3 资源设置IDPropertiesMember VariablesTypeMemberIDC_EDIT1默认CStringm_dwmcIDC_EDIT2默认CStringm_wdlbIDC_EDIT3默认intm_wdbhIDC_EDIT4默认CStringm_wdmcIDC_EDIT5默认CStringm_gjzIDC_EDIT6默认CEditm_wjljIDC_EDIT7默认CStringm_memoIDC_TAB1默认CTabCtrlm_tabIDC_LIST1View: Report; Align: leftCListCtrlm_listIDC_RADIO1Caption 添加IDC_RADIO2Caption 修改IDC_STATIC8Caption 选择IDC_BO1默认CboBoxm_boIDC_WJLJXZCaption .IDOKCaption 保存IDCANCELCaption 退出IDC_BUTTONDELCaption 删除3代码分析(1)使用函数外部的变量。extern CUsers user;(2)在头文件定义的变量。int wdbh;int lbbh;int dwbh;int str;/单选按钮CString strText;CDwxxb dwb;CZdmlb mlb;CZdxxb xxb;CRizhib zhi;CTime t;UINT tabindex;(3)添加OnInitDialog函数,此函数用于初始化Tab控件、为ListControl控件赋值,其代码如下:BOOL CWDgldlg:OnInitDialog() CDialog:OnInitDialog();m_hIcon = AfxGetApp()-LoadIcon(IDI_CHILDICON4);/ TODO: Add extra initialization hereSetIcon(m_hIcon, TRUE);TC_ITEM tci;tci.mask=TCIF_TEXT;tci.pszText=基本信息;m_tab.InsertItem(0,&tci);tci.pszText=信息删除;m_tab.InsertItem(1,&tci);dwb.Load_dep();mlb.Load_dep();xxb.Load_dep();t=CTime:GetCurrentTime();UpdateData(true);for(int i=0;ixxb.a_WDbh.GetSize();i+)m_bo.AddString(xxb.a_WDmc.GetAt(i);m_list.SetExtendedStyle(LVS_EX_FLATSB|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);m_list.InsertColumn(0,单位名称,LVCFMT_LEFT,100,0);m_list.InsertColumn(1,文档类别,LVCFMT_LEFT,100,1);m_list.InsertColumn(2,文档编号,LVCFMT_LEFT,100,2);m_list.InsertColumn(3,文档名称,LVCFMT_LEFT,100,3);m_list.InsertColumn(4,关键字,LVCFMT_LEFT,100,4);m_list.InsertColumn(5,文档路径,LVCFMT_LEFT,100,5);m_list.InsertColumn(6,备注,LVCFMT_LEFT,100,6);CString dwmc100,wdlb100,pp;/根据单位编号返回单位名称for(i=0;ixxb.a_WDmc.GetSize();i+)for(int j=0;jdwb.a_DWbh.GetSize();j+)if(atoi(xxb.a_DWbh.GetAt(i)=atoi(dwb.a_DWbh.GetAt(j)dwmci= dwb.a_DWmc.GetAt(j);/根据类别编号返回类别名称for(j=0;jadoEOF=0)m_list.InsertItem(0,);m_list.SetItemText(0,0,dwmci-1);m_list.SetItemText(0,1,wdlbi-1);m_list.SetItemText(0,2,(char*)(_bstr_t)m_AdoConn.m_pRecordset-GetCollect(wdbh);m_list.SetItemText(0,3,(char*)(_bstr_t)m_AdoConn.m_pRecordset-GetCollect(wdmc);m_list.SetItemText(0,4,(char*)(_bstr_t)m_AdoConn.m_pRecordset-GetCollect(gjz);m_list.SetItemText(0,5,(char*)(_bstr_t)m_AdoConn.m_pRecordset-GetCollect(wjlj);m_list.SetItemText(0,6,(char*)(_bstr_t)m_AdoConn.m_pRecordset-GetCollect(memo);i-;m_AdoConn.m_pRecordset-MoveNext();m_AdoConn.ExitConnect();/根据菜单选项使不同的单选按钮处于选中状态if(str=0)CButton* tempbutton = (CButton*)GetDlgItem(IDC_RADIO1);tempbutton-SetCheck(1);elseCButton* tempbutton = (CButton*)GetDlgItem(IDC_RADIO2);tempbutton-SetCheck(1);/调用SetCurTab()SetCurTab(tabindex);m_wdbh=1;UpdateData(false);return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSE(4)为“”按钮添加如下代码,使其查找文件路径。void CWDgldlg:OnWjljxz() / TODO: Add your control notification handler code hereCFileDialog file(true,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,All Files(*.*)|*.*| |,AfxGetMainWnd();if(file.DoModal()=IDOK)strText=file.GetPathName();m_wjlj.SetWindowText(strText);(5)当用户单击“保存”按钮时,将执行OnOK函数,代码如下。void CWDgldlg:OnOK() / TODO: Add extra validation hereUpdateData(true);if(m_dwmc=)MessageBox(单位名称不能为空);return;if(m_wdlb=)MessageBox(文档类别不能为空);return;if(m_wdmc=)MessageBox(文档名称不能为空);return;CString wjlj;m_wjlj.GetWindowText(wjlj);if(wjlj=)MessageBox(文档路径不能为空);return;int dw=0,lb=0;for(int i=0;idwb.a_DWbh.GetSize();i+)if(m_dwmc=dwb.a_DWmc.GetAt(i)dwbh=atoi(dwb.a_DWbh.GetAt(i);dw+;for(i=0;imlb.a_DWbh.GetSize();i+)if(dwbh=atoi(mlb.a_DWbh.GetAt(i) & m_wdlb=mlb.a_LBmc.GetAt(i)lbbh=atoi(mlb.a_LBbh.GetAt(i);lb+;if(dw=0)MessageBox(单位名称不存在);return;if(lb=0)MessageBox(文档类别不存在);return;if(xxb.HaveId(dwbh,lbbh,m_wdbh)=1)MessageBox(文档已存在);return;xxb.SetDWbh(dwbh);xxb.SetLBbh(lbbh);xxb.SetWDbh(m_wdbh);xxb.SetWDmc(m_wdmc);xxb.SetGJz(m_gjz);xxb.SetWJlj(strText);xxb.SetMemo(m_memo);xxb.SetTjrxm(user.GetUsername();switch(str)case 0:xxb.sql_insert();zhi.SetDLsj(t.Format(%y-%m-%d);zhi.SetName(user.GetUsername();zhi.SetDZ(添加文档);zhi.sql_insert();break;case 1:xxb.sql_update(m_wdbh);zhi.SetDLsj(t.Format(%y-%m-%d);zhi.SetName(user.GetUsername();zhi.SetDZ(修改文档);zhi.sql_insert();break;dw=0;lb=0;CDialog:OnOK();(6)为Radio控件添加消息响应函数,代码如下。void CWDgldlg:OnRadio1() / TODO: Add your control notification handler code herestr=0;void CWDgldlg:OnRadio2() / TODO: Add your control notification handler code herestr=1;(7)当用户单击“删除”按钮时,将执行OnButtondel函数,代码如下。void CWDgldlg:OnButtondel() / TODO: Add your control notification handler code hereUpdateData(true);CString wdmc;m_bo.GetLBText(m_bo.GetCurSel(),wdmc);for(int i=0;iShowWindow(SW_HIDE);GetDlgItem(IDC_BO1)-ShowWindow(SW_HIDE);GetDlgItem(IDC_BUTTONDEL)-ShowWindow(SW_HIDE);GetDlgItem(IDC_EDIT1)-ShowWindow(SW_SHOW);GetDlgItem(IDC_EDIT2)-ShowWindow(SW_SHOW);GetDlgItem(IDC_EDIT3)-ShowWindow(SW_SHOW);GetDlgItem(IDC_EDIT4)-ShowWindow(SW_SHOW);GetDlgItem(IDC_EDIT5)-S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校园绿化与自然景观对儿童身心健康的影响
- 光影与色彩搭配对氛围的塑造作用
- 人工智能优化企业成本控制策略
- 建筑工程人工费合同(标准版)
- 绿化缺苗补苗申请报告(3篇)
- 美容承诺合同(标准版)
- 小区亮化工程合同(标准版)
- 常年顾问服务合同(标准版)
- 丽江市众生安全培训课件
- DL-Norepinephrine-d6-生命科学试剂-MCE
- 快递设备安全培训
- 家具安装调试及施工进度保障措施
- 2024制冷系统管路结构设计指导书
- 《春》课后习题参考答案
- 品酒师(黄酒)理论知识考核要素细目表四级
- 山茱萸培训课件
- 健康照护师测试题及答案【300题】附有答案
- 西师版五年级上册数学全册教案设计
- 液压软管接头24°锥密封端软管接头规范指引
- 2024挡烟垂壁包工合同协议书
- 大学生校园网络安全文明主题
评论
0/150
提交评论