win32编写记事本要点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华北科技学院
课程设计说明书
专业:网络工程
课程名称: 汇编课程设计班级:
姓名: 学号:
设计题目: win32编写记事本
设计时间: 2011-12-05 至2011-12-16 评语: ________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:____评阅教师:_____
课程设计报告的要求
1、需求分析:描述问题,简述课题要解决的问题是什么,有什么要求和限制条件。
2、总体设计(程序设计组成框图、流程图)
3、详细设计(模块功能说明(如函数功能、入口及出口参数说明,过程调用关系描述等))
4、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施
5、测试结果,用几组测试数据进行测试算法设计的正确性。
6、附录。源程序清单和结果:源程序要加注释。结果要包括测试数据和运行结果。
《汇编语言》课程设计案例
一、问题陈述及其需求分析
要求:在windows系统下利用32位汇编编写一个简单但功能能实现的记事本。
内容:在利用32位汇编编写记事本的时候,考虑到很多问题:
(1)首先最重要的是汇编软件的选择,刚开始用asm2011软件编写,最终不行,最后参考资料,如坚持用它的话,必须用代码编写资源代码才能使用;因此为了方便,区别于dos系统下的汇编,我采用了Radasm汇编软件。
(2)其次是记事本的编辑,由于记事本我们大家都常见,曾经也用过高级语言编写过,例如java,因此对其格式很了解,但是还有一个问题就是,我们将如何用汇编这种语言来编写记事本呢,例如如何编写记事本基本框架,编写菜单栏,建立菜单项,添加文本编辑区及建立文本编辑区。(3)最后当然最重要的还是记事本具体的架构和主要功能的实现,例如记事本中的简单功能,复制,剪切,粘贴之类的;同时还要写出检测功能,以达到对其文本区得以正常编辑及功能的正常使用。
(4)最后还有一点,就是自己的体会和感想,首次接触32位汇编语言设计,这让自己对其知识模块有了一定的了解,通过参考资料,以及网上有关知识,让自己的程序编程有了一定了的提高。
Win32编写记事本基本功能如下:
记事本包括很多东西,其中最重要的是菜单,它包括:文件,编辑,格式,查看,帮助。
文件菜单中提供以下功能:
1、新建 (&N)\tCtrl+N
2、打开(&O)\tCtrl+O
3、保存(&S)\tCtrl+S
4、另存为(&A)\tCtrl+Alt+S
5、退出
编辑菜单中提供以下功能: 1、撤销 (&U)\tCtrl+Z
2、复制(&C)\tCtrl+C
3、剪切(&T)\tCtrl+X
4、粘贴(&V)\tCtrl+V
5、全选(&A)\tCtrl+A
6、查找(&F)\tCtrl+F
7、替换(&H)\tCtrl+H 格式菜单中提供以下功能: 1、字体 2、背景颜色
查看菜单中提供以下功能: 1、工具栏 2、状态栏
帮助菜单中提供以下功能: 1、关于记事本 2、帮助
二、总体设计
1、思路流程图:
结束
用控件建立菜单和文本区的响应关系
在窗口中添加文本编辑区
构造菜单栏
构建记事本窗口
开始
2、窗口建立流程图:
3、记事本的总体结构流程图:
消息循环
刷新窗口客户区
显示窗口
建立窗口 注册窗口类 得到应用程序的句柄
菜单资源
结束
文本编辑区相应变化
菜单和文本编辑区一一对应响应 运行窗口过程 _ProcWinMain
添加richEdit 控件(文本编辑区)
构建窗口
开始
对应反馈相
应的操作
4、其他比较重要的功能流程图: (1)、新建流程图: (2)、另存为流程图:
三、详细设计
1、模块简介 1.程序头文件 名称:记事本.inc
说明:程序头文件主要包含了文件的定义,ID 等值定义,变量定义以及记事本基本功能提示定义。 2.菜单资源文件 名称:记事本.rc
开始
调用_CheckModify 子程序
文本区内容是否有变化
Y
调用_SaveFile 子程序,保存文件
N
调用CloseHandle 关闭文件及相应文件进程
调用_SetCaption 来
设置新建文件的标题调用_SetStatus 来设置 菜单项的可用状态
结束
开始
初始化另存为对话框
显示另存为对话框
创建新文件
新文件创建成功 ?Y
调用_SaveFile 子程序,保存文件
N
输出错误信息
结束
说明:菜单资源文件主要定义了记事本的菜单和菜单项、菜单和菜单项的关系、菜单加速键命令及菜单项的地址。
3. 窗口模块
名称:_WinMain
说明:该模块是搭建整体框架,贯穿整体的主要部分,更是核心部分,它关系着窗口的显示,菜单和文本编辑区的加载,窗口过程的调用等。
4.窗口过程
名称:_ProcWinMain
说明:是该程序的核心部分,也是窗口的重要组成部分,其中设定了窗口的一些窗口命令,而且还在窗口命令中建立了菜单和文本编辑区richEdit组件的联系。
5.文件的读写
名称:_ProcStream
说明:该模块主要是实现richEdit组件中文本的读写操作。
6.检查文本有无改变
名称:_CheckModify
说明:检查richEdit组件中的文本内容是否有变化,从而确定是否进行离开、新建操作。
7.打开文件
名称:_OpenFile
说明:通过调用系统打开对话框来选择已存在的要打开的文件。打开过程使用_ProcStream 子程序(已完成文件的读写过程)。
8.保存文件
名称:_SaveFile
说明:通过向窗口发送输出流操作的消息,同时调用_ProcStream进行写操作,以达到保存文件的目的。
9.另存为
名称:_SaveAs
说明:首先通过调用保存文件对话框来确定要保存文件的名称和位置,然后调用_SaveFile 来保存文件。
10.退出
名称:_Quit
说明:通过调用_CheckModify来检查richEdit组件中的文本内容是否有变化,从而确定是保存后退出还是直接退出。