已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录摘要2引言31 系统需求分析42 总体设计52.1 项目规划52.2 系统功能结构52.3 设计目标53 系统设计63.1 开发及运行环境63.2 数据库设计64 主要功能模块设计74.1 建立工程框架74.2 封装数据库94.3 主窗口设计124.4 登录模块设计214.5 文档管理模块设计245 系统测试与实现365.1 系统登录365.2 基本信息375.2.1 单位文档375.2.2 文档类别385.3 文档管理385.3.1 添加文档385.3.2 修改文档405.3.3 删除文档405.3.4 文档浏览405.4 系统设置405.4.1 用户管理405.4.2 口令修改415.4.3 日志管理42附录a 参考文献43附录b 数据表46浅谈文档管理系统的设计与实现摘要文档管理实际就是文件的制作、修改、传递、签定、保存、销毁、存档等一系统操作。文档管理是企业经营管理中不可缺少的组成部分。通过文档信息管理系统的使用,实现文档管理自动化管理的目标,为企业提供了安全、可靠、开放、高效的文档管理功能,不仅方便了文档管理的日常操作,而且必免了手工管理中的一系列错误的发生,提高了企业的办公效率和企业文件管理的综合水平。目前,大多数文档管理系统在实现了企业各部门日常文件管理的基本功能之外,还增设了很多的新功能用以满足文档管理电子化、标准化的新要求;功能强大的档案查询模块,大大方便了管理者日常文档的查找工作,解决传统管理中的查找困难、查找耗时等问题。使用现代化的文档管理系统满足了企业“无纸化”办公的求要,实现通过计算机对文档管理全程跟踪的目标。【关键词】文档管理系统、无纸化浅谈文档管理系统的设计与实现引言文档管理系统的全面应用,克服了企业传统文档管理方法的缺点,提高管理部门的日常办公效率,增强了企业内部协同合作的能力;文档管理系统的应用,方便管理者有效管理文档的同时,大大提高了文档查找效率,进而提高了企业的综合效率。本设计逐一介绍开发本系统系统的步骤:系统分析、系统设计、系统实现、系统维护。在系统分析中先后用数据流图、数据字典、系统的功能结构图分析了系统所需的各种数据。在系统的设计中,详细的展现了系统的各个功能模块。所需的数据库表及表字段。菜单的设计等。在系统的实现中,给出了实现表单中相应的功能控件的事件及代码。以及菜单实现的方法。文章的最后则给出了本系统的主要功能源代码。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 filescommon filessystemado”目录下。例如,如果您的系统盘为c盘,则该文件位于“c: program filescommon filessystemado”目录。在visual c+中,需要使用预处理命令#import,将动态库导入到系统中,代码如下。#import e:program filescommon 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/com库环境: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(_com_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(_com_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 commandtext, /variant * recordsaffected,long options)/其中commandtext是命令字符串,通常是sql命令/参数recordsaffected是操作完成后所影响的行数/参数options表示commandtext的类型,adcmdtext-文本命令,adcmdtable-表名/adcmdproc-存储过程,adcmdunknown-未知 m_pconnection-execute(bstrsql,null,adcmdtext);return true;catch(_com_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;ccomvariant 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 command 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 command 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个combo、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_combo1默认ccomboboxm_comboidc_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_combo.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);x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年统编版八年级语文下册期末学情评估卷(含答案)
- 农业学校中餐考试题及答案
- 廉政公署考试题及答案
- 倾倒铝水安全培训课件
- 值班主任培训课件模板
- 二卷理综试卷及答案
- 企业安全环保大培训心得课件
- 小学五年级语文上册综合性学习后反思改进课件
- 小学五年级语文上册第三单元单元红色旅游介绍课件
- 深度解析(2026)《GBT 34080.2-2017基于云计算的电子政务公共平台安全规范 第2部分:信息资源安全》
- 生鲜联营合同范本
- 2025年华中科技大学职工队伍公开招聘备考题库完整答案详解
- 2025年下半年贵州遵义市市直事业单位选调56人笔试考试备考题库及答案解析
- 水电分包协议合同范本
- 2025重庆川仪自动化股份有限公司招聘56人笔试参考题库附带答案详解(3卷合一版)
- 2025年初级社会工作者考试《社会工作综合能力》真题及答案解析
- 论文发表合同协议
- 货架租用合同范本
- 《SJT 11319-2005锡焊料动态条件氧化渣量定量试验方法》(2025年)实施指南
- 还建房出售合同范本
- 2025年无人机航拍理论题库(含答案)
评论
0/150
提交评论