文档库 最新最全的文档下载
当前位置:文档库 › win32编写记事本要点

win32编写记事本要点

win32编写记事本要点
win32编写记事本要点

华北科技学院

课程设计说明书

专业:网络工程

课程名称: 汇编课程设计班级:

姓名: 学号:

设计题目: 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组件中的文本内容是否有变化,从而确定是保存后退出还是直接退出。

11.查找对话框和文本编辑显示区

名称:_Init

说明:该模块主要是注册和初始化查找框的结构,建立工具栏、状态栏以及文本编辑显示区。

12.查找模块

名称:_FindText

说明:该模块主要是设置查找范围,设置查找选项,显示查找框并高亮显示查找到的内容。

13.替换文本

名称:_ReplaceText和_ReplaceAll

说明:调用查找模块找到需要替换的文本,然后决定是否进行替换或全部替换。

14.设置字体

名称:_SetFont和_ChooseFont

说明:通过调用系统字体的对话框来设置richEdit组件中的文本字体和颜色等。

15.重新排列窗口位置

名称:_ResizeWindow

说明:计算及调整工具栏,状态栏以及Richedit控件位置。

16.设置背景色

名称:_ChooseColor

说明:通过调用系统背景色的设置框来设置richEdit组件中的文本背景颜色等

2、算法说明

主要设计算法的说明

1.窗口建立的算法设计(_WinMain)

(1)、获得应用程序的句柄,同时加载菜单、加速键菜单,用LoadLibray函数来装入库,以便用richEdit的类名来创建控件。

(2)、注册窗口类。在此之前,需要对窗口参数清零,然后对窗口进行初始化,包括加载鼠标类型,加载标题栏图标,设置窗口的尺寸和风格,获得窗口过程的地址等。

(3)、建立窗口,保存窗口句柄。在此期间,需要指明窗口的具体大小和窗口出现的位置,窗口的类名、标题、风格、附加风格以及窗口所属的具体模块。

(4)、通过使用ShowWindow函数显示窗口。

(5)、通过使用UpdateWindow函数刷新窗口客户区。

(6)、消息循环。通过不断的接收消息和处理消息来完成窗口中发生的一切操作。在窗口

程序结束之前需要使用FreeLibrary来释放库。

2.窗口过程的算法设计(_ProcWinMain)

窗口过程是窗口中文本实现功能的核心部分,其中WM_COMMAND是实现所有命令的基础,它控制着菜单项与文本编辑区的一一对应联系关系。当然主要是通过if-elseif-else-endif语句实现多分支的选择,通过对子程序的调用实现相应的操作。

3.菜单的算法设计

菜单的实现主要是编写rc资源文件→程序中声明菜单项→窗口建立中加载菜单项→窗口过程中设置菜单项功能。

菜单项中几个典型例子的算法设计

1.新建的算法设计

新建时需要考虑到的问题有:原文件是否保存,清空文本编辑区内容,设置标题栏的标题。首先通过调用子程序_CheckModify来检查文本内容与上次保存或建立时有无变化。若有,则调用_SaveFile来保存文件;若没有,则用CloseHandle函数来关闭现在的文件以及该文件的线程,设置文件的句柄为0。然后调用_SetCaption子程序来设置新建文件的标题,调用_SetStatus来设置新建窗口的菜单项的可用状态。

2.另存为的算法设计

另存为的实现要经过初始化另存为对话框,打开另存为对话框,创建新文件,保存文件。在初始化另存为对话框时,为了防止之前程序遗留下来的垃圾数据的影响,应该先用RtlZeroMemory函数将所有参数置零,然后对所需要的参数进行设置。设置好另存为对话框后使用GetSaveFileName函数来调出并显示。之后进行新文件的创建,创建成功则保存文

件,创建失败则输出创建失败信息。

四、编码和测试

1、界面显示

1、记事本整体运行结果主界面如图所示:

2、记事本第一部分界面如图所示(标题):

3、记事本第二部分界面如图所示(菜单):

4、记事本第三部分界面如图所示(工具栏):

5、记事本第四部分界面如图所示(文本编辑区):

6、记事本第五部分界面如图所示(状态栏):

2、内容界面显示1、文件菜单

(1)打开界面

(2)保存界面

(3)退出界面(如果文本有改动则是这样,如果没改动则直接关掉)

2、编辑菜单

(1)查找界面

3、格式菜单

(1)字体界面

(2)背景颜色界面

4、帮助菜单

(1)关于记事本界面

(2)帮助界面

五.总结与体会

本次实验给我感触真是深刻呀,首先自己在没接触过WIN32的前提下来做这次实验,让我感觉到一定的困难和困惑,其次是32位汇编和我们所学知识的16位汇编在本质上有大大的区别,让我原本以为能借助16位汇编的大部分知识来模仿的愿望打破,最后就是汇编软件的差异让我无从适应,以前我们都是用asm汇编软件进行编写,我觉得对那个软件还算是比较熟悉吧,但是这次32位汇编编写记事本,我用到了新的一种汇编软件,radasm,虽然没有什么本质上的软件不同,但是作为我来说,好像换了个环境一样,一下子没法下手了,这样,在汇编开始之前,我就觉得本次实验不简单,对我来说是件很困难的事情。

在以上问题上,我在实验中逐渐解决,方法很多,比如问老师,请教同学,或者上网查看有关资料,在此其中,我知道了win32汇编是在windows系统下的用32位汇编编写程序,和我们所在的dos环境下编写有着不同,就这样,我慢慢进入了对32汇编的了解和操作,我在这次实验中了解到了很多关于以前我不知道的知识,我不断的学习新的汇编知识,同时用着刚知道不久的汇编知识来动手做记事本,就这样不断接收,不断运用,让我感受到了自己的进步,从不了解到了解,从不会编到会编,当然在这其中也遇上了不少的问题,比如很多符号不认识,很多函数不认识,最后通过查资料(win32API大全),我逐个解决了这些问题,win32API大全里面包含了几乎所有32位汇编的函数和有关东西,在这次实验中给我很大的帮助和大多数的知识。

通过这次实验我还明白了一点,对于自己现在学过的编程语言,每一种都有着自己独特的特点,也感受到了计算机行业在生活中和工作中的重要性,因为我们生活中很多东西(比如记事本,word文档等)都是通过开发语言所编写出来的,通过win32汇编编写记事本,我重新对汇编有了一个层次的认识,起初我觉得汇编是面向硬件的,没有其他高级语言方便,但是通过这次我改变了自己的观点,在某种程度上,汇编也有着自己的好的一方面,能为用户和程序员免去不少的步骤和麻烦,因此我也更加深刻的理解了这几门语言的优缺点:汇编重在运行速率,但是在代码上编写难度大;Java编写难度大,但是可跨平台操作,比起汇编运行速率稍逊;C语言重在编写系统软件。

这次课设,我深刻的体会到了自己真是无知,对除了书本知识以外的知识所知不多,也体现了自己的孤弱寡闻,见识太少,肚子里油水太少,太少,这次程序让我初步掌握了Win32的基础知识,这虽然为以后从事计算机工作打下了一点基础,但我更看要的是这期间解决问题过程的思维方法:分析问题,收集信息,耐心仔细。在看到自己不足的同时,我在后面的学习中或者编程中,我会提醒自己,要想编程,在于积累知识更多的知识和动手能力,要想编好一个程序,最重要的是程序完成后的调试。

附录:程序主要代码

1、头文件主代码

; Include 文件定义 (lib目录中有全部导入库)(include目录中有各种头文件) Include windows.inc

Include gdi32.inc ;图形,设备等有关的函数

Includelib gdi32.lib

Include user32.inc

Includelib user32.lib

Include kernel32.inc

Includelib kernel32.lib ;里面包括所有控制台函数

Include Comdlg32.inc

Includelib Comdlg32.lib

Include comctl32.inc

Includelib comctl32.lib

; 数据段

; Equ 等值定义

ICO_MAIN equ 1000h

IDM_MAIN equ 2000h

IDA_MAIN equ 2001h

;---------------------文件菜单项---------------

IDM_NEW equ 2101h

IDM_OPEN equ 2102h

IDM_SAVE equ 2103h

IDM_SAVEAS equ 2104h

IDM_PAGESETUP equ 2105h

IDM_EXIT equ 2106h

;---------------------编辑菜单项---------------

IDM_UNDO equ 2201h

IDM_COPY equ 2203h

IDM_CUT equ 2204h

IDM_PASTE equ 2205h

IDM_SELALL equ 2206h

IDM_FIND equ 2207h

IDM_REPLACE equ 2208h

;---------------------格式菜单项---------------

IDM_FONT equ 2301h

IDM_BKCOLOR equ 2302h

;---------------------查看菜单项---------------

IDM_TOOLBAR equ 2401h

IDM_STATE equ 2402h

;---------------------帮助菜单项---------------

IDM_ABOUT equ 2501h

IDM_TOHELP equ 2502h

;---------------------主菜单项目---------------

IDM_FILE equ 3100h

IDM_EDIT equ 3200h

IDM_FORMAT equ 3300h

IDM_CHECK equ 3400h

IDM_HELP equ 3500h

.data?

;变量定义

hInstance dd ? ;句柄

hWinMain dd ? ;主窗口

hMenu dd ?

hWinEdit dd ?

hFile dd ?

hWinStatus dd ?

hWinToolbar dd ?

hIcoMain dd ?

hFindDialog dd ?

hReplaceDialog dd ?

dwBoolean dd ?

dwCustColors dd 16 dup (?)

szFileName db MAX_PATH dup (?)

szBuffer db 1024 dup (?)

dwFontColor dd ?

dwBackColor dd ?

dwOption dd ?

stLogFont LOGFONT

F_TOOLBAR equ 00000001h

F_STATUSBAR equ 00000002h

; 查找替换对话框变量定义

idFindMessage dd ?

stFind FINDREPLACE

szFindText db 100 dup (?)

szReplaceText db 100 dup (?)

.const ;常量定义FINDMSGSTRING db 'commdlg_FindReplace',0

szClassName db '我的程序',0 ;窗口类名称szCaptionMain db '记事本',0 ;程序名称szCaption db '提醒',0

szCaption1 db '关于',0

szCaption2 db '帮助',0

szMenuName db '菜单栏',0

szMenuFile db '文件(&F)',0

szMenuEdit db '编辑(&I)',0

szMenuFormat db '格式',0

szMenuCheck db '查看',0

szMenuHelp db '帮助',0

szFilter db '(*.txt)',0,'*.txt',0,'All Files(*.*)',0,'*.*',0,0 szDefExt db 'txt',0

szSaveCaption db '保存为',0

szNewTitle db '新建任务',0

szDllEdit db 'RichEd20.dll',0 ;定义richedit控件dwStatusWidth dd 50,100,200,300,350,-1

szFont db '宋体',0

szCharsFormat db '总长度:%d',0

szLinesFormat db '总行数:%d',0

szLineFormat db '行:%d',0

szColFormat db '列:%d',0

szClassEdit db 'RichEdit20A',0

szReplace db '替换',0

szReplaceAll db '全部替换',0

szFindNext db '查找下一个',0

szNotFound db '字符串未找到!',0

szNoName db '无标题',0

szErrOpenFile db '无法打开文件!',0

szTitleFormat db '记事本',0

szErrCreateFile db '无法建立文件!',0

szModify db '文件已修改,是否保存?',0

szHasModify db '已修改',0

szNotModify db '未修改',0

szToHelp db '请联系我们',0

szAbout db '初学,初写,只供商讨',0

stToolbar equ this byte

;以下为工具栏中的按钮设置和定义

TBBUTTON ;图标代表的新建按钮

TBBUTTON ;图标代表的打开按钮

TBBUTTON ; 图标代表的保存按钮

TBBUTTON 0,0,TBSTATE_ENABLED,TBSTYLE_SEP,0,0,-1> ;分隔条

TBBUTTON TBBUTTON TBBUTTON TBBUTTON <0,0,TBSTATE_ENABLED,TBSTYLE_SEP,0,0,-1>

TBBUTTON TBBUTTON <0,0,TBSTATE_ENABLED,TBSTYLE_SEP,0,0,-1>

TBBUTTON TBBUTTON <0,0,TBSTATE_ENABLED,TBSTYLE_SEP,0,0,-1>

NUM_BUTTONS equ 13

2、asm主要代码

(1)构建窗口

start: call _WinMain ;调用子程序_WinMain (窗口程序)invoke ExitProcess,NULL ;调用程序退出函数,返回为空

;窗口建立的主要步骤,也就是建立记事本显示框架的部分

_WinMain proc

Local @stWndClass:WNDCLASSEX ;创建了一个窗口属性的结构变量,WNDCLASS的扩展类Local @stMsg:MSG ;消息变量

Local @hAccelerator,@hRichEdit

;第一步,得到应用程序的句柄(GetModelHandle)句柄函数

Invoke GetModuleHandle,NULL ;置句柄函数为空

Mov hInstance,eax ;hInstance现在指向的是窗口的句柄,获得实力句柄并保存invoke LoadMenu,hInstance,IDM_MAIN ;加载菜单,hInstance是用GetModuleHandle 获取的句柄实例,第二个参数

Mov hMenu,eax ;指定需要装入的菜单ID,函数返回菜单句柄

Invoke LoadAccelerators,hInstance,IDA_MAIN ;加载快捷键

Mov @hAccelerator,eax

Invoke LoadLibrary,offset szDllEdit;用LoadLibrary函数装入RichEdit控件(链接库)Mov @hRichEdit,eax

;第二步,注册窗口类

Invoke RtlZeroMemory,addr @stWndClass,sizeof @stWndClass ;将窗口参数全部填零Invoke LoadIcon,hInstance,ICO_MAIN ;加载图标Mov @stWndClass.hIcon,eax

Mov @stWndClass.hIconSm,eax ;hIconSm为窗口类关联的小图标

Invoke LoadCursor,0,IDC_ARROW ;加载鼠标类型为标准的箭头形状

Mov @stWndClass.hCursor,eax

Push hInstance ;句柄入栈Pop @stWndClass.hInstance

Mov @stWndClass.cbSize,sizeof WNDCLASSEX ;获取WNDCLASSEX准确的大小

Mov @stWndClass.style,CS_HREDRAW or CS_VREDRAW ;窗口的风格,决定宽、高改变时,重画窗口

Mov @stWndClass.lpfnWndProc,offset _ProcWinMain ;指定基于这个类建立的窗口的过程地址,重中之重(前者为窗口处理函数的指针)

Mov @stWndClass.hbrBackground,COLOR_BTNFACE+1

Mov @stWndClass.lpszClassName,offset szClassName

Invoke RegisterClassEx,addr @stWndClass ;注册语句,注册之前,要先填写RegisterClassEx的(需要部分)参数窗口结构

;第三步,建立窗口

Invoke CreateWindowEx,NULL,offset szClassName,offset

szCaptionMain,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,700,500\

NULL,hMenu,hInstance,NULL

Mov hWinMain,eax ;保存窗口句柄到hWinMain中

;--------------------------------------------------------------------------

;第四步,显示窗口

Invoke ShowWindow,hWinMain,SW_SHOWNORMAL ;正常显示并激活窗口

;第五步,刷新窗口客户区

Invoke UpdateWindow,hWinMain ;更新窗口;第六步,消息循环

.while TRUE

Invoke GetMessage,addr @stMsg,NULL,0,0 ;消息循环的基础,获取消息

.break .if eax == 0

Invoke TranslateAccelerator,hWinMain,@hAccelerator,addr @stMsg ;检查消息结构中的消息

.if eax == 0

Invoke TranslateMessage,addr @stMsg ;处理键盘消息

Invoke DispatchMessage,addr @stMsg ;将消息发送到窗口对应的窗口过程,过程返回此函数才返回,开始新一轮的循环

.endif

.endw

Invoke FreeLibrary,@hRichEdit ;使用FreeLibrary函数将库释放

ret

_WinMain endp

(2)建立窗口过程,供Windows回调使用

_ProcWinMain proc uses ebx edi esi hWnd,uMsg,wParam,lParam ; hWnd是接收

消息的窗口的句柄,uMsg是接收的消息

;wParam 和 lParam 只是附加参数,以方便传递更多的和该消息有关的数据。;wParam是系统当前活动窗口的子参数

Local @stRange:CHARRANGE

Mov eax,uMsg

.if eax ==WM_SIZE ;主窗口的客户区大小Invoke _ResizeWindow

.elseif eax ==WM_NOTIFY ;按鼠标动作后将文字在“插入”和“改写”之间切换Mov eax,lParam

Mov eax,[eax + NMHDR.hwndFrom]

.if eax == hWinEdit

Invoke _SetStatus

.endif

;处理菜单、加速键消息

.elseif eax ==WM_COMMAND ;控件发送的消息

Mov eax,wParam

Movzx eax,ax ;将16位的ax扩展为32位的eax

.if eax == IDM_NEW

Invoke _CheckModify ;调用子程序_CheckModify

.if eax

.if hFile

Invoke CloseHandle,hFile ;关闭原来的文件

Mov hFile,0

.endif

Mov szFileName,0

Invoke SetWindowText,hWinEdit,NULL ;设置窗口的标题文字Invoke _SetCaption

Invoke _SetStatus

.endif

.elseif eax == IDM_OPEN

Invoke _CheckModify

.if eax

Call _OpenFile ;调用打开子程序

.endif

.elseif eax == IDM_SAVE

invoke _SaveFile

.elseif eax == IDM_SAVEAS

invoke _SaveAs

.elseif eax ==IDM_EXIT

Call _Quit

.elseif eax ==IDM_UNDO

Invoke SendMessage,hWinEdit,EM_UNDO,0,0

.elseif eax ==IDM_COPY

Invoke SendMessage,hWinEdit,WM_COPY,0,0

.elseif eax ==IDM_CUT

Invoke SendMessage,hWinEdit,WM_CUT,0,0

.elseif eax ==IDM_PASTE

Invoke SendMessage,hWinEdit,WM_PASTE,0,0

.elseif eax ==IDM_SELALL

Mov @stRange.cpMin,0

Mov @stRange.cpMax,-1

Invoke SendMessage,hWinEdit,EM_EXSETSEL,0,addr @stRange

.elseif ax ==IDM_FIND

And stFind.Flags,not FR_DIALOGTERM

Invoke FindText,addr stFind

.if eax

Mov hFindDialog,eax

.endif

.elseif eax ==IDM_REPLACE

And stFind.Flags,not FR_DIALOGTERM

Invoke ReplaceText,addr stFind

.if eax

mov hFindDialog,eax

.endif

.elseif eax ==IDM_FONT

Invoke _ChooseFont

.elseif eax ==IDM_BKCOLOR

Invoke _ChooseColor

.elseif eax ==IDM_TOOLBAR

Xor dwOption,F_TOOLBAR

Invoke _ResizeWindow

.elseif eax ==IDM_STATE

Xor dwOption,F_STATUSBAR

Invoke _ResizeWindow

.elseif eax ==IDM_ABOUT

Invoke MessageBox,hWinMain,addr szAbout,addr szCaption1,MB_OK

.elseif eax == IDM_TOHELP

Invoke MessageBox,hWinMain,addr szToHelp,addr szCaption2,MB_OK

.endif

.elseif eax ==idFindMessage

.if stFind.Flags & FR_DIALOGTERM

Mov hFindDialog,0

.else

Invoke _FindText

endif

;设置初始状态光标闪烁

.elseif eax ==WM_ACTIVATE

Mov eax,wParam

.if (ax ==WA_CLICKACTIVE ) || (ax == WA_ACTIVE)

Invoke SetFocus,hWinEdit

.endif

.elseif eax ==WM_CREATE

Push hWnd

Pop hWinMain

Invoke _Init

.elseif eax ==WM_CLOSE

Call _Quit

.else

Invoke DefWindowProc,hWnd,uMsg,wParam,lParam ;把该窗口过程接收到的参数传递给缺省的窗口处理函数

ret

.endif

Xor eax,eax

ret

_ProcWinMain endp

End start

(3)保存过程

;保存文件

_SaveFile proc

Local @stES:EDITSTREAM

.if ! hFile

用delphi编写的记事本代码.

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, ComCtrls, ExtCtrls, ToolWin, ImgList; type TForm1 = class(TForm MainMenu1: TMainMenu; RichEdit1: TRichEdit; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; FontDialog1: TFontDialog; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; N7: TMenuItem; N8: TMenuItem; N9: TMenuItem; N10: TMenuItem; N11: TMenuItem; N12: TMenuItem; N13: TMenuItem; N14: TMenuItem; N15: TMenuItem; N16: TMenuItem; N17: TMenuItem; N18: TMenuItem; N19: TMenuItem; N20: TMenuItem; PopupMenu1: TPopupMenu; FindDialog1: TFindDialog; N21: TMenuItem; PrintDialog1: TPrintDialog; N22: TMenuItem; N23: TMenuItem; N24: TMenuItem; N25: TMenuItem; N26: TMenuItem; N27: TMenuItem; N28: TMenuItem; N31: TMenuItem; N32: TMenuItem; S1: TMenuItem; Timer1: TTimer; StatusBar2: TStatusBar; ToolBar1: TToolBar; ToolButton1: TToolButton; ToolButton2: TToolButton; ToolButton3: TToolButton; ToolButton4: TToolButton; ToolButton5: TToolButton; ToolButton6: TToolButton; ToolButton7: TToolButton; ToolButton8: TToolButton; ToolButton9: TToolButton; ToolButton10: TToolButton; ToolButton11: TToolButton; ToolButton12: TToolButton; ToolButton13: TToolButton; ImageList1: TImageList; procedure N2Click(Sender: TObject; procedure N3Click(Sender: TObject; procedure N7Click(Sender: TObject; procedure N8Click(Sender: TObject; procedure N9Click(Sender: TObject; procedure N14Click(Sender: TObject; procedure N21Click(Sender: TObject; procedure N16Click(Sender: TObject; procedure N17Click(Sender: TObject; procedure N18Click(Sender: TObject; procedure N12Click(Sender: TObject; procedure N20Click(Sender: TObject; procedure N6Click(Sender: TObject; procedure S1Click(Sender: TObject; procedure FindDialog1Find(Sender: TObject; procedure Timer1Timer(Sender: TObject; procedure N24Click(Sender: TObject; procedure N25Click(Sender: TObject; procedure N26Click(Sender: TObject; procedure N27Click(Sender: TObject; procedure N28Click(Sender: TObject; procedure RichEdit1MouseMove(Sender: TObject; Shift:

java 记事本程序设计报告

Xxx学校 JAVA程序设计课程设计报告 课题: 记事本 姓名: 学号: 同组姓名: 专业班级: 指导教师: 设计时间

目录 一、系统描述 (3) 二、分析与设计 (4) 1. 分析 (4) 2. 功能模块划分 (4) 3. 功能模块流程图 (5) 4. 各模块的关键代码 (5) 三、系统测试 (7) 四、心得体会 (10) 五、参考文献 (10) 六、附录 (11)

一、系统描述 Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。 在本程序设计中,因为需要开发的是记事本程序,规模较小,内容较少,所以选择了适合初学者使用的eclipse开发工具。

java课设记事本说明书

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2012年秋季学期 Java 课程设计 题目:记事本系统设计 专业班级: 姓名: 学号: 指导教师: 成绩:

目录 摘要 (1) 序言 (2) 正文 (3) 1.系统设计与分析 (3) 2.详细设计 (3) 3.系统测试 (14) 4.软件使用说明书 (17) 设计总结 (18) 参考文献 (19) 致谢 (20) 附录(程序源代码) (21)

摘要 本次课程设计的题目是用java语言编写记事本程序,要求是:用图形界面实现;含有简单的文字编辑功能,如:剪切、复制、粘贴、删除;还能实现保存、另存为、查找、替换等功能。 本程序主要用到了Java swing组件和事件监听器,还用到了文件的输入输出流。记事本的界面参考了Windows中的记事本界面,并且根据课程设计要求做了适当的调整。 关键字:记事本程序;Java语言;Jcreator

序言 Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。 在本程序设计中,因为需要开发的是记事本程序,规模较小,内容较少, 所以选择了适合初学者使用的JCreator开发工具。

JAVA简单记事本程序设计实验报告(带源码).

JAVA程序设计 实验报告 院系:信息工程系 专业:计算机应用技术 班级:11计算机01班 姓名:Civen 任课教师:XXX 实验题目:JA V A简单记事本程序设计

目录 目录 (1) 一、引言 (2) 1.1 课程设计目的 (2) 1.2 题目说明 (2) 1.3 开发工具介绍 (2) 二、总体设计 ......................................................................... - 4 - 2.1系统开发平台.............................................................. - 4 - 2.2 系统流程图 (4) 2.3功能结构图.................................... 错误!未定义书签。 2.4数据库设计.................................... 错误!未定义书签。 三、详细说明 (4) 3.1 系统实施................................................................... - 11 - 四、系统的调试和运行 (9) 五、课程设计总结 (9) 六、参考文献 (9) 附录(源程序代码) (10)

一、引言 1.1 课程设计目的 1) 复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握; 2) 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和 实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力; 3) 培养学生在项目开发中团队合作精神,创新意识及能力。 1.掌握窗口、菜单等高级组件的应用。 2.掌握Java Swing的使用方法。 3.了解GUI应用程序的创建过程与方法。 1.2 题目说明 课题:学生成绩管理 4.功能要求: 编写一个简单记事本程序,要求包含以下菜单项 文件新建、打开、保存、退出 编辑剪切、拷贝、粘贴、查找 帮助关于 5.实现文件和编辑菜单里的功能 1.3 开发工具介绍 Eclipse是一种可扩展的开放源代码IDE。2001年11月,IBM公司捐出价值4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。Eclipse允许在同

如何用记事本编写一个简单的java代码

如何用记事本编写一个简单的j a v a代码 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

一:怎么用记事本写第一个java代码 第一步:新建txt文档 首先我们在F盘新建一个txt文档,并命名为,如下图所示: 第二步:编写代码 我们双击打开:如下图所示 第三步:编写好代码 我们在记事本中写代码,写好后如下所示:

然后我们同时按Ctrl+s键保存,然后关闭记事本即可 上面的源代码如下: public class Test{//这里的Test为类名,这里类名要与我们刚才新建的记事本的名字必须一致,首字母大写 public static void main(String[] args){//java中的主函数的写法 "HelloWorld");//java中的输出语句写法 } } 第三步:打开控制台界面 我们在计算机中,打开如下图界面,

然后在这里,输入cmd,并按回车,然后弹出如图所示

第四步:在控制台中运行并输出 我们用鼠标点击一下里面黑色部分,然后输入F:然后回车,然后再输入javac 然后回车,最后输入java Test,就可以看到结果了,如下图所示:

红色圈出来部分就是结果了 二:温馨提示: 1,上面演算中在控制台中首先输入F:的原因是因为我在F盘建立一个文本文档,并命名为,如果你是把你的文档文档建立在D盘,则应该输入D: 以此类推。 2,如果你是在F盘下的CH文件夹建立一个记事本,并命名为,则输入的情况如下, cd CH表示转到CH这个文件夹下,然后再输入回车,再输入java Test 就可以看到运行结果了

用记事本编写整人小程序

不需要任何编程基础,不需要任何编程软件,只需使用电脑里自带的记事本软件就可以轻松编写出整人的小程序,甚至是病毒。。。。。。 首先,单击右键,新建一个文本文档,输入:msgbox"你是猪!" 然后,点击文件->另存为->保存类型:所有文件->文件名xxxx.vbs,名字随便起,但一定要记得把后缀名改为 .vbs。

然后打开刚保存的xxxx.vbs

哈哈,很好玩吧,双引号里的内容”你是猪!”可以随意更改,但双引号一定要用英文输入法来写。嗯,下面正式开始整人。。。。。。 按照前面说的,在记事本上输入如下图,并保存为55.vbs。

其中wscript.Sleep 500为停留500毫秒,可随便更改 下面这段代码就是一个启动关机程序的东东,300这个数是指300秒倒计时,这个数字也可以随便改,这段代码也可以独立保存出来作为一个关机程序 dim WSHshell set WSHshell = wscript.createobject("wscript.shell") WSHshell.Run "cmd.exe /c shutdown -s -t 300" 打开这个文件,如果你点击“是”,你就会进入一个死循环中,就是不断地弹出对话框。解决方法是按下Alt+Ctrl+Delete键,选择“进程”,把wscript.exe结束掉。如果点击“否”,

则进入关机倒计时,解决方法是点击“开始”->“运行”,在对话框里输入shutdown -a ,再点击“确定”即可。 最后嘛,把这文件创建桌面快捷方式,然后把图标换了,换成QQ什么的,你懂的,呵呵。。。。。。当然,这种VBS编程还有很多好玩的地方,比如病毒,我也收藏有几个,由于我是一等一的良好市民,就不写上来了。 最后再送上一个程序: dim a do a=inputbox("输入123,否则关机。") if a="123" then msgbox" 很遗憾,你中招了,这是整人程序,你就等着关机吧" WSHshell.Run "cmd.exe /c shutdown -s -t 300" wscript.sleep 1000 exit do else msgbox"乖点,输入123" end if loop

编写一个记事本程序_要求:_用图形用户界面实现。_能实现编辑、保存、另存为、查找替换等功能。

import java.io.*; import java.util.Calendar; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class NoteBook extends JFrame implements ActionListener,ItemListener,WindowListener,MouseListener{ Container c = this.getContentPane(); JMenuBar jmb = new JMenuBar(); JColorChooser jcc = new JColorChooser(); JMenu jm1 = new JMenu("文件(F)"); JMenu jm2 = new JMenu("编辑(E)"); JMenu jm3 = new JMenu("格式(O)"); JMenu jm4 = new JMenu("查看(V)"); JMenu jm5 = new JMenu("帮助(H)"); JMenuItem jmi1 = new JMenuItem("新建(N)"); JMenuItem jmi2 = new JMenuItem("打开(O)"); JMenuItem jmi3 = new JMenuItem("保存(S)"); JMenuItem jmi4 = new JMenuItem("退出(X)"); JMenuItem jmi5 = new JMenuItem("撤消(U)"); JMenuItem jmi6 = new JMenuItem("复制(C)"); JMenuItem jmi7 = new JMenuItem("粘贴(P)"); JMenuItem jmi8 = new JMenuItem("剪切(T)"); JMenuItem jmi12 = new JMenuItem("日期和时间"); JMenuItem jmi9 =m new JMenuItem("字体(E)"); JCheckBoxMenuItem jcbmi = new JCheckBoxMenuItem("自动换行(W)"); JMenuItem jmi10 = new JMenuItem("删除(S)"); JMenuItem jmi11 = new JMenuItem("背景颜色(H)"); JTextArea jta = new JTextArea(15,15); JScrollPane jsp = new JScrollPane(jta); //PupolMenu pm = new Pupolmenu(); NoteBook(){ this.addWindowListener(this); c.setLayout(new BorderLayout()); c.add(jmb,BorderLayout.NORTH); this.setTitle("新建文本文档"); jmb.add(jm1); jm1.setMnemonic('f'); jm1.addActionListener(this); jmb.add(jm2); jm2.setMnemonic('e'); jmb.add(jm3); jm3.setMnemonic('o'); jmb.add(jm4);

记事本

目录 第1章课程设计目的与要求 (1) 1.1设计目的 (1) 1.2实验环境 (1) 1.3预备知识 (1) 1.4设计要求 (1) 第2章课程设计内容 (2) 2.1 课题描述 (2) 2.2 系统设计 (3) 2.2.1功能分析 (3) 2.2.2面向对象设计 (4) 2.2.2类成员描述 (6) 2.3程序实现 (8) 2.3.1源码分析 (9) 2.3.2运行结果 (14) 第3章总结 (15) 参考文献 (16)

第1章课程设计目的与要求 1.1设计目的 将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼: (1)进一步巩固、加深学生所学专业课程《JAVA语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。 (2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。 (3)利用所学知识,开发小型应用系统,掌握运用JAVA语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。 (4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 (5)掌握面向对象程序设计的方法。 (6)熟练掌握JAVA语言的基本语法,灵活运用各种数据类型。 (7)进一步掌握在集成环境下如何调试程序和修改程序。 1.2实验环境 硬件要求能运行Windows 操作系统的微机系统。JAVA语言应用程序开发软件使用:VJAVA 系统,或其他JAVA语言应用程序开发软件。 1.3预备知识 熟悉JAVA语言程序设计的基本知识及VJAVA编辑器的使用方法。 1.4设计要求 1.仔细分析设计题目,画出程序流程图,编写程序源代码。 2.积极上机调试源程序,增强编程技巧与调程能力。 3.认真书写课程设计预习报告,课程设计说明书。 4.遵守课程设计要求和机房管理制度,服从指导教师的安排,确保课程设计的顺利完成课程设计内容。

键盘使用说明书完整版

一、键盘简介键盘是计算机使用者向计算机输入数据或命令的最基本的设备。常用的键盘上有 101 个键或 103 个键,分别排列在四个主要部分:打字键区、功能键区、编辑键区、小键盘区。 现将键盘的分区以及一些常用键的操作说明如下: ( 一) 打字键区 它是键盘的主要组成部分,它的键位排列与标准英文打字机的键 位排列一样。该键区包括了数字键、字母键、常用运算符以及标点符号键,除此之外还有几个必要的控制键。下面对几个特殊的键及用法作简单介绍。 键的名称 主要功能说明 空格键 键盘上最长的条形键。每按一次该键,将在当前光标的位置上空 出一个字符的位置。 [Enter ↙]回车键 (1)每按一次该键,将换到下一行的行首输入。就是说,按下该键后,表示输入的当前行结束,以后的输入将另起一行。 (2)或在输入完命令后,按下该键,则表示确认命令并执行。[CapsLock] 大写字母锁定键 在打字键区右边。该键是一个开关键,用来转换字母大小写状态。每按一次该键,键盘右上角标有CapsLock 的指示灯会由不亮变成发亮,或由发亮变成不亮。这时:(1) 如果 CapsLock 指示灯发亮,则

键盘处于大写字母锁定状态: 1) 这时直接按下字母键,则输入为大写 字母;2) 如果按住 [Shif] 键的同时,再按字母键,输入的反而是小写字母。(2) 如果这时CapsLock 指示灯不亮,则大写字母锁定状态被取消。[Shift]换档键 换档键在打字键区共有两个,它们分别在主键盘区(从上往下数,下同)第四排左右两边对称的位置上。 (1)对于符号键(键面上标有两个符号的键,例如:等,这些键也 称为上下档键或双字符键)来说,直接按下这些键时,所输入的是该 键键面下半部所标的那个符号(称为下档键); 如果按住 [Shift] 键同时再按下双字符键,则输入为键面上半 部所标的那个符号(称为上档键)。如: [Shift]+=% (2)对于字母键而言:当键盘右上角标有 CapsLock 的指示灯不亮时,按住 [Shift] 键的同时再按字母键,输入的是大写字母。例如:CapsLock 指示灯不亮时,按 [Shift]+S键会显示大写字母S [ ←BackSpace]退格删除键 在打字键区的右上角。每按一次该键,将删除当前光标位置的 前一个字符。 [Ctrl]控制键 在打字键区第五行,左右两边各一个。该键必须和其它键配合 才能实现各种功能,这些功能是在操作系统或其他应用软件中进行设定的。例如: 文案大全

C++记事本课程设计

课程设计 本科生通用 题目:编程类课程设计 设计项目:记事本程序设计 专业班级: 学号: 姓名: 成绩:导师签字: 2014 年12月11日

任务书 设计题目: 记事本程序设计 要求: 设计一个软件记事本,能够记录用户输入的信息,并能实现保存输入信息,查看备忘信息。该记事本具有输入、修改、删除、查看信息的功能。具有日历功能,可以根据时间,标记备忘信息,方便用户使用。 日程安排: 12月8日:确定设计题目,查阅相关资料 12月9日:根据功能设计整体方案,划分系统各个模块功能 12月10日:建立工程,编写程序实现设计方案的功能 12月11日:调试程序,完善界面设计,书写设计报告

目录 第一章概述 (3) 1.1 设计目的 (3) 1.2 设计背景 (3) 第二章设计过程 (4) 2.1 设计框图 (4) 2.2 设计步骤 (4) 2.2.1 建立工程 (4) 2.2.2 向对话框添加控件 (4) 2.2.3 添加变量 (5) 2.2.4 编程 (5) 2.2.5 调试运行 (5) 设计结论 (7) 参考文献 (7) 附件(程序) (8)

第一章概述 1.1设计目的 使学生熟悉VC++6.0编译环境,了解面向对象的编程策略。 深入了解和掌握MFC原理与方法。 提升学生的编程技巧及编程能力。 以实际问题为切入点,锻炼学生运用VC++编程解决实际问题的能力。 培养学生的设计创新意识。 1.2设计背景 1.2.1 软件记事本简介 记事本是一个很有用的程序,主要操作包括对文件的储存,修改等,有编辑功能:包括剪贴、复制等,有对字体修改等。记事本可以提醒用户一些重要的事项,可以方便用户的生活。 1.2.2 VC++ 6.0简介 Visual C++6.0由Microsoft开发, 它不仅是一个VC++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。Microsoft的主力软件产品。Visual C++是一个功能强大的可视化软件开发工具。 1.2.3 C++语言简介 C++是在C语言的基础上开发的一种集面向对象编程、泛型编程和过程化编程于一体的编程语言。应用较为广泛,是一种静态数据类型检查的,支持多重编程的通用程序设计语言。它支持过程化程序设计,数据抽象,面向对象设计,制作图标等多种程序设计风格。

日历记事本程序代码

运行界面:

// CalendarWindow类 package others; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; import java.io.*; import java.awt.SplashScreen; public class CalendarWindow extends JFrame implements ActionListener,MouseListener,FocusListener { Calendar calendar; int year,month,day; CalendarMessage calendarMessage; CalendarPad calendarPad; NotePad notePad; JTextField showYear,showMonth; JTextField showDay[]; CalendarImage calendarImage; String picturename;//图像名称; String getPicture_address; Alarm alarm; JButton nextYear,previousYear,nextMonth,previousMonth; JButton saveDailyRecord,deleteDailyRecord,readDailyRecord,changeBackground; File dir; Color backColor=Color.white; public CalendarWindow() { dir= new File("./dailyRecord"); dir.mkdir(); showDay = new JTextField[42]; for(int i=0;i

用Java程序编写一个记事本程序的设计报告

用Java程序编写一个记事本程序的 设计报告 学习中心(点):泾阳学习中心 专业:计算机科学与技术 层次:专升本 姓名:李永固 批次: 112

目录 一、设计分析 (1) 二、程序结构 (1) 三、各模块的功能及程序说明 (2) 1、类设计 (2) 2、主要功能代码实现 (4) 四、源程序 (9) 五、操作方法 (20) 六、试验结果 (20) 七、设计体会 (22)

用Java程序编写一个记事本程序的设计报告 一、设计要求 1.用图形用户界面实现。 2.能实现编辑、保存、另存为、查找替换等功能。 二、程序结构 流程图: 图1基本流程图

本Java文本编辑器功能设计如下: 图2基本功能图 三、各模块的功能及程序说明 1、类设计 (1)类MiniText ,包括initTextPane方法初始化面板,initMenu()方法初始化菜单,initAboutDialog()方法初始化关于对话框,initToolBar()方法初始化工具栏,initRightKey()方法初始化右键设置,等方法。类成员如下:

(2)类Loading (实现登陆)类成员如下:

(3)类runtime (实现时间同步) 类成员如下: (4)类MainFunction (包含主函数) 类成员如下: 2、主要功能代码实现 (1)登陆界面: class Loading extends JWindow implements Runnable { Thread dluThread=null; private JProgressBar progress; public Loading() { setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));//设置光标为等待状态JPanel dlu = new JPanel(new BorderLayout()); URL url = getClass().getResource("/images/loading.jpg"); if(url != null){ dlu.add(new JButton(new ImageIcon(url)), BorderLayout.CENTER); } progress = new JProgressBar(1,100); progress.setStringPainted(true); progress.setBorderPainted(true); progress.setBackground(Color.white); progress.setForeground(Color.green); dlu.add(progress,BorderLayout.SOUTH); setContentPane(dlu); //设置窗口属性为登陆面板属性 Dimension screen = getToolkit().getScreenSize(); pack(); //显示登陆界面 setLocation(screen.width/4,screen.height/4); //设置登陆界面始终在屏幕中间显示 } public void start(){ // this.toFront(); dluThread=new Thread(this); dluThread.start(); } public void run(){ show();

vb课程设计记事本程序的编写

1 选题的背景与意义 记事本创建的背景 通过一学期的vb课程学习,理解并掌握了许多相关知识,知道了面向对象程序设计的基本概念和可视化程序设计的基本方法。为了更好地掌握与运用vb 中最常用的有关窗体和各种控件的运用、菜单、工具栏、对话框、状态栏、的设计以及文件操作等技术,因此在在学完该课程之后,设计了一个能够编辑编辑文本文档、RichText 文档,其文字处理能力类似于Word的简易记事本。 记事本创建的意义 该记事本具有操作简单,易懂灵活,一目了然的特点,同时由于运用了RichText控件,因此能够打开和编辑任意大的文档,运用起来比windows自带的记事本方便的多。从而为那些计算机技术应用并不熟练但需要使用计算机快速编辑和修改文档的用户提供了便利。同时该程序的编写也使得自己的知识掌握的更见牢固。 2 系统详细设计 主要功能 能够编辑文本文档,其文字处理功能类似于Word。 具有打开、保存、新建和退出文件功能。 具有剪切、复制、粘贴、设置文字的字体以及大小、颜色、对齐等文字编功能。以及字符串的查找功能。 打印功能。

要点的实现既使用技术 首先,在创建程序是应先设置窗体大小和编辑框的大小。 '窗体的加载事件 Private Sub Form_Load() = 0 = 0 = - 4000 = - 5000 = "宋体" '程序运行时字体是宋体 End Sub '设置编辑框的大小和位置 Private Sub Form_Resize() = 60 = 20 = - 100 = - 100 End Sub 第二,程序设计过程中必须先在窗体中添加CommonDialog和RichText控件。 如左图所示。CommonDialog控件的应用使得它提 供了如打开和保存文件,设置打印选项,选择颜 色和字体等操作的一组标准对话框,使我们通过 对话框填写的方式来实现上述操作。RichText控 件的使用是编辑和打开的文件大小不受限制。有 利于文件的编辑。

JAVA课程设计-编写一个记事本程序

Java语言程序设计B报告 题目:编写一个记事本程序 一.要求:用图形用户界面实现。能实现编辑、保存、另存为、查找替换等功能。提示:使用文件输入输出流。 二.课程设计思路。 设计两个类,一个记事本的类(JSB),具有程序的要求和功能再创建一个课设的主类(KESHE),在主类中创建一个JSB类的对象,就可以直接在编译器中运行程序。 在主界面中设计一个Frame容器,并在其中加入一个下拉菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。 三.课程设计实现功能结构图。 3.1“文件”菜单。

3.2“编辑”菜单。

四.记事本实现功能代码实现。 4.1.界面设计。 主要代码: f=new Frame(s); p1=new TextArea(""); f.setSize(400,600); f.setBackground(Color.white); f.setVisible(true); menubar=new MenuBar(); menu1=new Menu("文件"); menu2=new Menu("编辑"); item1=new MenuItem("新建"); item2=new MenuItem("打开"); item3=new MenuItem("保存"); item4=new MenuItem("另存为"); item5=new MenuItem("退出"); item6=new MenuItem("全选"); item7=new MenuItem("复制"); item8=new MenuItem("剪切"); item9=new MenuItem("粘贴"); menu1.add(item1); menu1.add(item2);

模拟记事本程序

北京理工大学珠海学院课程设计说明书 2012—2013学年第2学期 题目: 模拟记事本程序 学院:计算机学院 专业班级: 学号: 学生姓名: 指导教师: 成绩: 时间: 2013年5月 22日

北京理工大学珠海学院 课程设计任务书 2012—2013学年第2学期 学生姓名: 专业班级: 指导教师:工作部门: 一、课程设计题目 模拟记事本程序 二、课程设计内容 用文本命令行界面模拟记事本功能:包括编辑、保存、另存为、复制、粘贴、查找、替换等功能。 三、进度安排 (1)1-2学时,选定题目、分析需求、理解需求; (2)3-4学时,程序设计,定义数据类型、数据处理方式; (3)5-10学时,编写程序、调试、测试; (4)11-12学时,编写设计报告; (5)13-16学时,答辩。 四、基本要求 (1)只能使用C++语言,源程序要有适当的注释,使程序容易阅读 (2)至少采用文本菜单界面(如果能采用图形菜单界面更好) (3)学生可自动增加新功能模块(视情况可另外加分) (4)建立文件操作类、界面显示类及相关接口类,用文件读写实现。 (5)写出课程设计报告,应不少于3000字(不含附录),同一组学生只需提交1份,但必须在报告中列明分工。 课程负责人签名: 年月日

课程设计分工安排 课程设计成绩评定表

模拟记事本摘要 本程序采用纯C++编写,用文本命令行界面模拟记事本功能:包括编辑、保存、另存为、复制、粘贴、查找、替换等功能。运用了vector容器来充当寄存器,还用 #include实现文件的读入读出 关键词:面向对象;模拟记事本;文件读写;编辑、保存、另存为、复制、粘贴、查找、替换 目录 第一章设计内容 (1) 第二章总体设计 (5) 2.1模块化设计 (5) 2.2程序运行示意图 (5) 第三章详细设计 (5) 3.1数据结构设计 (6) 3.2程序模块设计 (6) 3.3流程图 (10) 第四章调试与测试 (10) 4.1调试过程中的主要问题 (10) 4.2测试结果 (10) 参考文献 (13) 心得体会 (13)

软件安装部署说明书

西京学院校园信息化平台安装部署说明书 (过渡版本)

文件修订历史 模板修订历史

目录 1 安装规划 (5) 2 系统概述 (5) 2.1 硬件 (5) 2.2 软件 (5) 2.3 安装顺序 (5) 3 数据库服务器安装设置(1台) (6) 3.1 操作系统注意事项 (6) 3.2 安装及设置Oracle(企业版) (7) 3.3 拷贝数据 (7) 3.4 创建数据库及数据库用户 (7) 3.5 数据库用户授权及创建作业任务 (8) 4 应用服务器安装设置(4台) (8) 4.1操作系统注意事项 (8) 4.2 安装及设置IIS6.0 (9) 4.3 安装.net framework 2.0 (11) 4.4 安装Oracle客户端 (11) 5 数据库接收(同步)程序安装设置................................................... 错误!未定义书签。 5.1 拷贝程序文件 .............................................................................. 错误!未定义书签。 5.2 配置运行参数 .............................................................................. 错误!未定义书签。 5.3 重新启动程序 .............................................................................. 错误!未定义书签。 6 信息化平台系统安装设置 ............................................................ 错误!未定义书签。 6.1 拷贝程序文件 .............................................................................. 错误!未定义书签。 6.2 配置运行参数 .............................................................................. 错误!未定义书签。 6.3 重新启动程序 .............................................................................. 错误!未定义书签。 6.4 用户管理系统 (12) 7 信息化系统安装设置 (19) 7.1 拷贝文件 (19) 7.2创建IIS服务 (19) 7.3 IIS权限设置 (19)

最新JAVA课程设计-编写一个记事本程序

1 2 Java语言程序设计B报告 3 4 5 6 题目:编写一个记事本程序 7 8 9 10 一.要求:用图形用户界面实现。能实现编辑、保存、另存为、查找替换11 等功能。提示:使用文件输入输出流。 12 二.课程设计思路。 13 14 设计两个类,一个记事本的类(JSB),具有程序的要求和功能再创建一个15 课设的主类(KESHE),在主类中创建一个JSB类的对象,就可以直接在编译器16 中运行程序。 17 在主界面中设计一个Frame容器,并在其中加入一个下拉18 菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。 19 三.课程设计实现功能结构图。 20

3.1“文件”菜单。 21 22

23 24 3.2“编辑”菜单。 25

26 四.记事本实现功能代码实现。 27

4.1.界面设计。 28 29 主要代码: 30 f=new Frame(s); 31 p1=new TextArea(""); 32 f.setSize(400,600); 33 f.setBackground(Color.white); 34 f.setVisible(true); 35 menubar=new MenuBar(); 36 menu1=new Menu("文件"); 37 menu2=new Menu("编辑"); 38 item1=new MenuItem("新建"); 39 item2=new MenuItem("打开"); 40 item3=new MenuItem("保存"); 41 item4=new MenuItem("另存为"); 42 item5=new MenuItem("退出"); 43 item6=new MenuItem("全选"); 44 item7=new MenuItem("复制"); 45 item8=new MenuItem("剪切");

相关文档
相关文档 最新文档