![汇编语言课程设计win32编写记事本_第1页](http://file4.renrendoc.com/view/1399b8bd52badaf3326a4847bb7b55c9/1399b8bd52badaf3326a4847bb7b55c91.gif)
![汇编语言课程设计win32编写记事本_第2页](http://file4.renrendoc.com/view/1399b8bd52badaf3326a4847bb7b55c9/1399b8bd52badaf3326a4847bb7b55c92.gif)
![汇编语言课程设计win32编写记事本_第3页](http://file4.renrendoc.com/view/1399b8bd52badaf3326a4847bb7b55c9/1399b8bd52badaf3326a4847bb7b55c93.gif)
![汇编语言课程设计win32编写记事本_第4页](http://file4.renrendoc.com/view/1399b8bd52badaf3326a4847bb7b55c9/1399b8bd52badaf3326a4847bb7b55c94.gif)
![汇编语言课程设计win32编写记事本_第5页](http://file4.renrendoc.com/view/1399b8bd52badaf3326a4847bb7b55c9/1399b8bd52badaf3326a4847bb7b55c95.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华北科技学院课程设计说明书课程名称:汇编语言班级:计算机B08-1姓名:_李鹏飞___学号:__4231__设计题目:___win32编写记事本___设计时间:_6月23日_至_7月1日__指导教师:_____杜杏菁_________________评 语:_____________________________________________________________________________________________________________________________________________________________________________________________________评阅成绩:__ __评阅教师:_____一、课程设计目的进行程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平。二、课程设计要求.要求编写并调试通过一个小型软件,实现对软件或硬件的操作。2.遵循模块化、结构化的程序设计方法。要求程序必须正确。程序简明易懂,多运用输入输出提示,出错信息及必要的注释。要求程序结构合理,语句使用得当。适当追求编程技巧和程序运行效率。三、课程设计题目:win32编写记事本四、课题分析WINDOW记事本的编写,要求能实现基本菜单框架并打开窗口, 有能力的同学可以编写进行数据录入并保存的代码五、流程图:开 始加载头文件加载数据段编译代码设计窗体编译生成文件结 束六、程序源代码:.386.modelflat,stdcalloptioncasemap:noneincludeincludeincludelibincludeincludelibincludeincludelibincludeincludelibincludeincludelibICO_MAINEQU1000h;图标IDM_MAINEQU2000h;菜单IDA_MAINEQU2000h;加速键IDM_NEWEQU2101h;新建IDM_OPENEQU2102h;打开IDM_SAVEEQU2103h;保存IDM_SAVEASEQU2104h;另存为IDM_EXITEQU2105h;退出IDM_UNDOEQU2201h;撤销IDM_CUTEQU2203h;剪切IDM_COPYEQU2204h;复制IDM_PASTEEQU2205h;粘贴IDM_DELETEEQU2206h;删除IDM_FINDEQU2207h;查找IDM_REPLACEEQU220Ah;替换IDM_SELECTALLEQU220Bh;全选IDM_FONTEQU2301h;字体IDM_STATUSBAREQU2401h;状态栏IDM_HELPEQU2501h;帮助主题IDM_ABOUTEQU2502h;关于IDM_MENUHELPEQU2601h;菜单信息.datahInstanceddhWinMainddhMenuddhWinStatusddhWinEditddhFileddhFindDialogddhRichEditdddwFontColorddidFindMessageddstFindFINDREPLACE<>szFindTextdb100dup()szReplaceTextdb100dup()szFileNamedbMAX_PATHdup()stLogFontLOGFONT<>dwOptiondd.dataF_STATUSBARequ00000001hdllEditdb"",0errTitledb"错误",0noRichEditdb"无法找到"classNamedb"TextEditor",0captionMaindb"文本编辑器",0classEditdb"RichEdit20A",0fontFacedb"Fixedsys",0modifydb"你已经改动过啦,要不要存一下",0filterdb"文本文件(*.txt)",0,"*.txt",0,"所有文件",0,"*.*",0,0defExtdb"txt",0titleFormatdb"%s-我的记事本",0errCreateFiledb"咦!出现问题了!",0errOpenFiledb"咦!怎么打不开!",0notFounddb"不给力啊,找不到!",0noNamedb"还没起名字",0timeFormatdb"%02d:%02d:%02d",0charsFormatdb"字节数:%d",0lineFormatdb"行:%d",0colFormatdb"列:%d",0helpTitledb"帮助",0helpTextdb"Sorry!无法提供任何帮助",0aboutTitledb"关于记事本",0aboutTextdb"我的记事本",0ah,0dh,"作者:李鹏飞",0ah,0dh,"2010年07月01日",0ah,0dh,0dwStatusWidthdd100,200,300,400,-1dwMenuHelp dd0,IDM_MENUHELP,0,0FINDMSGSTRING db "commdlg_FindReplace",0.code;====================================================================================================_CheckModifyStatePROCinvokeSendMessage,hWinEdit,EM_GETMODIFY,0,0获取控件内容是否改变的信息.if eax!=0MB_YESNOCANCELorMB_ICONQUESTION.ifeax==IDYEScall _SaveFile;有待改动.elseif eax==IDCANCELmoveax,FALSEret.endif.endifmoveax,TRUEret_CheckModifyStateENDP;====================================================================================================;Richedit 的流出操作_StreamProcOutPROCusesebxediesi_dwCookie,lpBuffer,NumBytes,pBytesinvokeWriteFile,hFile,lpBuffer,NumBytes,pBytes,0xoreax,1;如果ReadFile或WriteFile 返回1(成功),则最终eax返回0,说明操作成功ret_StreamProcOutENDP;====================================================================================================;Richedit 的流入操作_StreamProcInPROCusesebxediesi_dwCookie,lpBuffer,NumBytes,pBytesinvokeReadFile,hFile,lpBuffer,NumBytes,pBytes,0xoreax,1;如果ReadFile或WriteFile 返回1(成功),则最终eax返回0,说明操作成功ret_StreamProcInENDP;====================================================================================================设置字体和字体的颜色_SetFontPROC_lpszFont,_dwFontSize,_dwColorlocal@stCf:CHARFORMATinvokeRtlZeroMemory,addr@stCf,sizeof @stCf开始填充stCf结构movmov
@,sizeof@stCf@,CFM_SIZEorCFM_FACEorCFM_BOLDorCFM_COLOR;字段掩码,用来指定结构中哪些字段是有效的push _dwFontSizepop @push _dwColorpop @mov @,0invokelstrcpy,addr@,_lpszFontinvokeSendMessage,hWinEdit,EM_SETTEXTMODE,1,0设置工作模式invokeSendMessage,hWinEdit,EM_SETCHARFORMAT,SCF_ALL,addr@stCf ;为控件中的全部文本设置指定的格式ret_SetFontENDP;====================================================================================================查找文字_FindText PROClocal @stFindText:FINDTEXTEX;设置查找区域invokeSendMessage,hWinEdit,EM_EXGETSEL,0,addr.if &FR_DOWNpush @ pop @
@
;向下查找将这个选择区域的结束位置用做下一次查找的起始点.endifmov@ ;一直查找到全部文本的最后设置查找选项mov@,offsetszFindTextmovecx,andecx,FR_MATCHCASEorFR_DOWNorFR_WHOLEWORD查找并把光标设置到找到的文本上invokeSendMessage,hWinEdit,EM_FINDTEXTEX,ecx,addr@stFindText;ecx中存储的是搜索选项.if eax==-1movecx,hWinMain.if hFindDialogmovecx,hFindDialog.endifinvokeMessageBox,ecx,addrnotFound,NULL,MB_OKorMB_ICONINFORMATIONret.endif找到文本以后,文本的位置在FINDTEXTEX结构的chrgText字段中返回,chrgText字段是一个CHARRANGE结构,直接在EM_EXSETSEL消息中使用它将选择区域设置到找到的文字上invokeSendMessage,hWinEdit,EM_EXSETSEL,0,addr@invokeSendMessage,hWinEdit,EM_SCROLLCARET,NULL,NULL卷动文字,以便找到的文本能够出现在用户的视野中ret_FindText ENDP;====================================================================================================保存文件,如果没有打开或创建文件则另存为_SaveFilePROClocal@stES:EDITSTREAM.if !hFilecall _SaveAs.if !eaxret.endif.endifmov@,FALSE;在Richedit的流操作中写文件mov@,NULLmov@,offset_StreamProcOut;回调函数invokeSendMessage,hWinEdit,EM_STREAMOUT,SF_TEXT,addr@stES流出操作,文本格式是简单的文本格式invokeSendMessage,hWinEdit,EM_SETMODIFY,FALSE,0设置修改状态moveax,TRUEret_SaveFile ENDP;=====================================================================================================;另存为_SaveAslocallocal
PROC@stOF:OPENFILENAME@stEs:EDITSTREAMinvokeRtlZeroMemory,addr@stOF,sizeof@stOF显示"保存文件"对话框填充stOF结构mov@,sizeof@stOFpushhWinMainpop@;所属窗口mov@,offsetfilter;指定文件名筛选字符串mov@,offsetszFileNamemov@,MAX_PATH;指定lpstrFile参数指向的缓冲区的长度,260mov@,OFN_PATHMUSTEXIST;路径必须存在mov@,offsetdefExt;默认扩展名mov@,NULL;标题为“另存为”invokeGetSaveFileName,addr@stOF.if eax创建新文件invokeCreateFile,addrszFileName,GENERIC_READorGENERIC_WRITE,\;存取方式:为读写FILE_SHARE_READ,\共享属性:允许其他进程同时以读方式打开文件0,\安全属性:无法被继承CREATE_ALWAYS,\创建新文件,如果文件已经存在则清除原文件FILE_ATTRIBUTE_NORMAL,\文件属性:普通文件0文件模板句柄.if eax!=INVALID_HANDLE_VALUEpush eax.if hFile有打开的文件invokeCloseHandle,hFile.endifpop eax保存文件mov hFile,eax;文件句柄callcallcallmovret.else
_SaveFile_SetCaption_SetStatuseax,TRUEinvokeMessageBox,hWinMain,addrerrCreateFile,NULL,MB_OKorMB_ICONERROR.endif.endifmoveax,FALSEret_SaveAs ENDP;=====================================================================================================;打开及输入文件_OpenFile PROClocal @stOF:OPENFILENAMElocal @stES:EDITSTREAMinvokeRtlZeroMemory,addr@stOF,sizeof@stOF;显示“打开文件”对话框mov@,sizeof@stOFpush hWinMainpop@mov@,offsetfiltermov@,offsetszFileNamemov@,MAX_PATHmov@,OFN_FILEMUSTEXISTorOFN_PATHMUSTEXIST
;文件必须存在invokeGetOpenFileName,addr@stOF.if eax;创建文件invokeCreateFile,addrszFileName,GENERIC_READorFILE_SHARE_READ,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0打开存在的文件,当文件不存在时函数会返回失败.if eax==INVALID_HANDLE_VALUEinvokeMessageBox,hWinMain,addrerrOpenFile,NULL,MB_OKorMB_ICONSTOPret.endifpush eax.if hFileinvokeCloseHandle,hFile.endifpopeaxmovhFile,eax读入文件mov@,TRUE;在Richedit的流操作中读文件mov@,NULLmov@,offset_StreamProcIninvokeSendMessage,hWinEdit,EM_STREAMIN,SF_TEXT,addr@stES流入操作,文本格式是简单的文本格式invokeSendMessage,hWinEdit,EM_SETMODIFY,FALSE,0设置修改状态call _SetCaptioncall _SetStatus.endifret_OpenFile ENDP;=====================================================================================================;选择字体_ChooseFontlocal
PROC@stCF:CHOOSEFONTinvokeRtlZeroMemory,addr@stCF,sizeof@stCFmov @,sizeof@stCFpush hWinMainpop @mov @,offsetstLogFont
;指定字体的名称和属性push dwFontColorpop @mov @,CF_SCREENFONTSorCF_INITTOLOGFONTSTRUCTorCF_EFFECTS字体列表中只显示屏幕字体,对话框中显示“效果”复选框invokeChooseFont,addr@stCF.ifeaxpush@pop dwFontColormov;用户选择的字体大小,单位是1/10磅shl eax,1invoke_SetFont,addr.endifret_ChooseFont ENDP;=====================================================================================================设置标题栏的显示内容_SetCaptionPROClocal@szBuffer[1024]:byte.if szFileName如果当前是某一文件,则显示文件名moveax,offsetszFileName.elsemoveax,offsetnoName否则显示未命名.endifinvokewsprintf,addr@szBuffer,addrtitleFormat,eaxinvokeSetWindowText,hWinMain,addr@szBufferret_SetCaption ENDP;=====================================================================================================设置菜单项,状态栏的状态和信息_SetStatusPROClocal@stRange:CHARRANGElocal@dwLines,@dwLine,@dwLineStartlocal @szBuffer[256]:bytelocal @stST:SYSTEMTIME在状态栏显示行列信息invokeGetWindowTextLength,hWinEditinvokewsprintf,addr@szBuffer,addrcharsFormat,eaxinvokeSendMessage,hWinStatus,SB_SETTEXT,2,addr@szBuffer总字节数invokeSendMessage,hWinEdit,EM_EXGETSEL,0,addr@stRange获取选定区域invokeSendMessage,hWinEdit,EM_EXLINEFROMCHAR,0,-1得知指定的字符位于哪一行中mov@dwLine,eaxinvokeSendMessage,hWinEdit,EM_LINEINDEX,eax,0获取指定行的起始字符的位置movsub ecx,eaxinc ecx显示给用户的列号从1开始编号invokewsprintf,addr@szBuffer,addrcolFormat,ecxinvokeSendMessage,hWinStatus,SB_SETTEXT,1,addr@szBuffer光标所在位置的列inc @dwLine显示给用户的行号从1开始invokewsprintf,addr@szBuffer,addrlineFormat,@dwLineinvokeSendMessage,hWinStatus,SB_SETTEXT,0,addr@szBuffer光标所在位置的行根据情况改变菜单项的状态mov.if eax==@ ;选中区域为空则复制粘贴删除不可用invokeEnableMenuItem,hMenu,IDM_COPY,MF_GRAYEDinvokeEnableMenuItem,hMenu,IDM_CUT,MF_GRAYED.elseinvokeEnableMenuItem,hMenu,IDM_COPY,MF_ENABLEDinvokeEnableMenuItem,hMenu,IDM_CUT,MF_ENABLED.endifinvokeIsClipboardFormatAvailable,CF_TEXT判断剪贴板的格式是否是文本格式.if eax如果剪贴板有内容则可以粘贴invokeEnableMenuItem,hMenu,IDM_PASTE,MF_ENABLED.elseinvokeEnableMenuItem,hMenu,IDM_PASTE,MF_GRAYED.endifinvokeGetWindowTextLength,hWinEdit.if eax如果可以全选invokeEnableMenuItem,hMenu,IDM_SELECTALL,MF_ENABLED.elseinvokeEnableMenuItem,hMenu,IDM_SELECTALL,MF_GRAYED.endifinvokeSendMessage,hWinEdit,EM_GETMODIFY,0,0.ifeax如果可以保存invokeEnableMenuItem,hMenu,IDM_SAVE,MF_ENABLED.elseinvokeEnableMenuItem,hMenu,IDM_SAVE,MF_GRAYED.endif.if dwOption&F_STATUSBAR如果选中了状态栏invokeCheckMenuItem,hMenu,IDM_STATUSBAR,MF_CHECKED.elseinvokeCheckMenuItem,hMenu,IDM_STATUSBAR,MF_UNCHECKED.endifret_SetStatusENDP;=====================================================================================================_Resize PROClocal @stRect:RECTlocal @stRectTemp:RECTlocal @dwWidth,@dwHeight取得窗口客户区的大小invokeGetClientRect,hWinMain,addr@stRectmovsubmov @dwWidth,eaxmovsubmov @dwHeight,eax计算及调整状态栏.if dwOption&F_STATUSBARinvokeShowWindow,hWinStatus,SW_SHOWinvokeMoveWindow,hWinStatus,0,0,0,0,TRUEinvokeGetWindowRect,hWinStatus,addr@stRectTempmovsubsub @dwHeight,eax.elseinvokeShowWindow,hWinStatus,SW_HIDE.endif调整Richedit控件位置invoke,@dwWidth,@dwHeight,TRUEret_Resize ENDP;=====================================================================================================_Quit PROCinvoke_CheckModifyState.if eaxinvokeDestroyWindow,hWinMaininvokePostQuitMessage,NULL;产生一条WM_QUIT消息.if hFile如果有打开的文件则关闭invokeCloseHandle,hFile.endif.endifinvokeKillTimer,hWinMain,1取消定时器ret_Quit ENDP;=====================================================================================================_CreateWindowPROC注册“查找”对话框消息,初始化“查找”对话框的结构mov,sizeofstFind;结构的长度pushhWinMainpop;指定所属窗口mov,FR_DOWN;把“方向”单选钮设置为“向下”mov
,offsetszFindText;lpstrFindWhat
指向包含查找字符串的指针mov
,sizeofszFindText
;wFindWhatLen指示lpstrFindWhat 缓存区的长度mov ,offsetszReplaceText ;指向包含替换为字符串的指针mov ,sizeofszReplaceText;lpstrReplaceWith 缓存区的长度invokeRegisterWindowMessage,addrFINDMSGSTRING注册自定义的消息mov idFindMessage,eax;eax中返回消息ID建立状态栏invokeCreateStatusWindow,SBARS_SIZEGRIPorWS_CHILDorWS_VISIBLE,\;显示状态栏右下角的斜条NULL,hWinMain,2父窗口为hWinMain,状态栏控件的ID为2,初始化字符串为NULLmovhWinStatus,eaxinvokeSendMessage,hWinStatus,SB_SETPARTS,5,offsetdwStatusWidth ;分成四栏建立输出文本窗口客户区立体边框WS_CHILDORWS_VISIBLEORWS_VSCROLLORORES_MULTILINEorES_NOHIDESEL,\可以编辑多行文字,失去键盘输入焦点的时候仍然显示选择区域hWinMain,0,hInstance,NULL;0指定的是子窗口的ID号movhWinEdit,eaxor dwOption,F_STATUSBAR注释invoke_SetCaption设置标题invoke_SetStatus设置状态栏invoke_SetFont,addrfontFace,9*20,0注释在使用多行Edit控件时,父窗口发送EM_SETEVENTMASK消息给RichEdit控件,指定它对哪些消息感兴趣;wParam必须为0,ENM_CHANGE发送EN_CHANGE通知 NM_SELCHANGE发送EN_SELCHANGE通知invokeSendMessage,hWinEdit,EM_SETEVENTMASK,0,ENM_CHANGEorENM_SELCHANGEorENM_MOUSEEVENTSinvokeSendMessage,hWinEdit,EM_EXLIMITTEXT,0,-1设置控件中能够容纳字符的总数,0FFFFFFFFh(-1)字节invokeSendMessage,hWinMain,EM_EMPTYUNDOBUFFER,0,0清空undo,redo队列ret_CreateWindowENDP;====================================================================================================;窗口过程_ProcWinMainlocallocallocallocallocallocal
PROC usesebxediesihWnd,uMsg,wParam,lParam@stRange:CHARRANGE@stST:SYSTEMTIME@szBuffer[128]:byte@pt:POINThPopup:DWORD@stES:EDITSTREAMmov eax,uMsg.ifeax==WM_CREATEpush hWndpop hWinMaininvoke_CreateWindowinvokeSetTimer,hWinMain,1,300,NULL设置定时器.elseif eax==WM_DROPFILES拖放文件call _CheckModifyState.ifeax==FALSEcall _SaveFile.endifinvokeDragQueryFile,wParam,0,addrszFileName,128获取文件的路径invokeCreateFile,addrszFileName,GENERIC_READorFILE_SHARE_READ,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0;打开文件movhFile,eaxmov@,TRUE
;在Richedit
的流操作中读文件mov@,NULLmov@,offset_StreamProcIninvokeSendMessage,hWinEdit,EM_STREAMIN,SF_TEXT,addr@stES流入操作,文本格式是简单的文本格式invokeSendMessage,hWinEdit,EM_SETMODIFY,FALSE,0设置修改状态call _SetCaptioncall _SetStatus.elseifeax==WM_TIMERinvokeGetLocalTime,addr@stSTmovzxmovzxmovzxinvokewsprintf,addr@szBuffer,addrtimeFormat,eax,ebx,ecxinvokeSendMessage,hWinStatus,SB_SETTEXT,3,addr@szBuffer.elseifeax==WM_SIZEinvoke_Resize.elseifeax==WM_NOTIFYmov eax,lParammov eax,[eax+].if eax==hWinEditinvoke_SetStatus.endifpush esimov esi,lParamassumeesi:ptr NMHDR.if[esi].code==EN_MSGFILTER鼠标滑轮发送的消息assumeesi:ptrMSGFILTER.if[esi].msg==WM_RBUTTONDOWNinvokeGetMenu,hWinMain获取窗口主菜单句柄invokeGetSubMenu,eax,1获取弹出式子菜单的句柄movhPopup,eaxinvoke_SetStatusmov edx,[esi].lParam位置信息mov ecx,edxand edx,0FFFFhshr ecx,16mov @,edxmov @,ecxinvoke ClientToScreen,hWinMain,addr@ptinvoke TrackPopupMenu,hPopup,TPM_LEFTALIGNor,NULL,hWinMain,NULL.endif.endifpop esi.elseif eax==WM_MENUSELECTinvokeMenuHelp,WM_MENUSELECT,wParam,lParam,lParam,hInstance,hWinStatus,offsetdwMenuHelp.elseifeax==WM_COMMANDmov eax,wParammovzx eax,ax.ifeax==IDM_OPENinvoke_CheckModifyState.ifeax;eax==TRUE说明没有被修改call _OpenFile.endif.elseifeax==IDM_NEWinvoke_CheckModifyState.if eax.if hFileinvokeCloseHandle,hFilemov hFile,0.endifmovszFileName,0invokeSetWindowText,hWinEdit,NULLinvoke_SetCaptioninvoke_SetStatus.endif.elseif eax==IDM_SAVEcall _SaveFile.elseif eax==IDM_SAVEAScall _SaveAs.elseif eax==IDM_EXITcall _Quit.elseif eax==IDM_UNDOinvokeSendMessage,hWinEdit,EM_UNDO,0,0.elseif eax==IDM_SELECTALLmov@,0mov@,-1invokeSendMessage,hWinEdit,EM_EXSETSEL,0,addr@stRange.elseif eax==IDM_COPYinvokeSendMessage,hWinEdit,WM_COPY,0,0.elseif eax==IDM_CUTinvokeSendMessage,hWinEdit,WM_CUT,0,0.elseif eax==IDM_PASTEinvokeSendMessage,hWinEdit,WM_PASTE,0,0.elseif eax==IDM_FINDand,notFR_DIALOGTERM;FR_DIALOGTERM代表取消按钮invokeFindText,addrstFind.if eaxmovhFindDialog,eax.endif.elseif eax==IDM_FONTinvoke_ChooseFont.elseif eax==IDM_STATUSBARxordwOption,F_STATUSBAR注释invoke_Resize.elseif eax==IDM_HELPinvokeMessageBox,NULL,offsethelpText,offsethelpTitle,MB_OKorMB_ICONQUESTION.elseif eax==IDM_ABOUTinvokeMessageBox,NULL,offsetaboutText,offsetaboutTitle,MB_OK.endif.elseif eax==idFindMessage.if &FR_DIALOGTERMmovhFindDialog,0.elseinvoke_FindText.endif.elseif eax==WM_ACTIVATE窗口激活moveax,wParam.if (ax==WA_CLICKACTIVE)||(ax==WA_ACTIVE)由鼠标点击激活或被鼠标点击以外的方法激活invokeSetFocus,hWinEdit.endif.elseif eax==WM_CLOSEcall _Quit.elseinvokeDefWindowProc,hWnd,uMsg,wParam,lParamret.endifxoreax,eaxret_ProcWinMain ENDP;====================================================================================================_WinMainPROClocal@stWndClass:WNDCLASSEXlocal@stMsg:MSGlocal@hAcceleratorinvokeGetModuleHandle,NULL ;得到应用程序的句柄movhInstance,eaxinvokeLoadMenu,hInstance,IDM_MAIN ;加载菜单,IDM_MAIN指定要装入的菜单资源IDmovhMenu,eax ;eax返回菜单句柄invokeLoadAccelerators,hIns
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年合伙企业策划干股加入协议书格式
- 2025年典范个人土地交易合同模板
- 2025年双方自愿离婚协议书模板(两个孩子)
- 2025年化工公司员工合同书
- 2025年企业园区租赁合同策划样本
- 2025年甲方与协作单位合同范文
- 2025年办公设备维修保养服务合同范本
- 2025年土地使用权出让合同样本
- 2025年招投标流程中合同风险防范与控制实践
- 2025年供应链协作协议样本
- 包装材料及纸制品生产建设项目可行性实施报告
- 财务收支月报表excel模板
- 国标充电协议报文整理
- 水饺类产品质量检验作业指导书
- 电力变压器计算单
- 红外测温培训
- 新型城市化建设中城乡结合部存在的问题及解决方案
- 质性研究(陈向明)PPT精选文档
- 市政小三线施工方案(共22页)
- 静压桩机、钻孔灌注桩、沉槽机CAD图形
- 野外土名描述实例
评论
0/150
提交评论