当前位置:文档之家› 二进制文本编辑

二进制文本编辑

哈尔滨理工大学

毕业设计

题目:二进制文本编辑程序与设计

院、系:计算机科学与技术学院计算机系姓名:周德海

指导教师:李成严

系主任:唐远新

2011年06月20日

哈尔滨理工大学毕业设计(论文)评语

哈尔滨理工大学毕业设计(论文)任务书

哈尔滨理工大学学士学位论文

二进制文本编辑程序与设计

摘要

近年来,随着社会经济的快速发展,也给软件发展带来了更大的要求,原有的软件发展模式越来越不能满足发展的需求了,由此越来越多的问题凸现出来。由于对不同文件格式的读取与修改的困难,带来了很多的不便,这让用户很是苦恼,往往浪费了很多的时间,使效率大大的下降。二进制文本编辑器就是为了满足软件发展的需要与方便,使不同的文件能够在这款软件上进行编辑,修改,保存,查找等,以使用户能够方便快捷合理的进行软件的开发和适当的修补。二进制文本编辑器利用visual c++ 6.0软件开发环境来编程,利用MFC进行设计,使用c++语言开发软件。

二进制文本编辑程序经过需求分析,软件设计,编程实现,经过测试后,软件基本上满足要求。

关键词软件;二进制文本编辑器;c++语言;

- I -

哈尔滨理工大学学士学位论文

Binary text editor and design

Abstract

In recent years, with the rapid development of social economy, also to software development has brought more requirements, the original software development model is getting more and more can't meet the demand of the development, thus increasing problems of apparent. Because of different document formats read and modification of difficulty, brought a lot of inconvenience, this let the user is very distressed, often wasted a lot of time, the efficiency big decline. Binary text editor are in order to meet the needs of the development of software and convenient, make different files in this software can edit, modification, the preservation, etc, in order to find that users can quickly reasonable for the development of software and the proper repair. Binary text editor using visual c + + 6.0 software development environment to programming, using MFC design, use the c + + language development software.

Binary text editor after needs analysis, software design, programming achieve, through testing, software basically meet the requirements.

Keywords software;binary text editor;c++ language;

- II -

哈尔滨理工大学学士学位论文

目录

摘要…….......................................................................................................... I Abstract .......................................................................................................... II

第1章绪论 (1)

1.1 引言 (1)

1.2 目标 (1)

1.3 选题的目的和意义 (1)

1.4 论文研究内容 (2)

第2章需求分析 (3)

2.1软件需求分析 (3)

2.1.1 软件模块功能分析 (3)

2.1.2 软件程序功能分析 (4)

2.2 系统平台的选用 (4)

2.3 本章小结 (4)

第3章二进制文本编辑程序设计 (5)

3.1 c++语言介绍 (5)

3.2 visual c++ 介绍 (8)

3.3 系统设计 (10)

3.3.1 子系统设计 (10)

3.3.2 人机交互设计 (11)

3.3.3任务管理设计 (12)

3.4 对象设计 (12)

3.4.1 用户界面子模块 (12)

3.4.2 用户读取子模块 (13)

3.4.3 文件编辑子模块 (13)

3.4.4 文件保存子模块 (14)

3.4.5 字符串查找子系统 (14)

3.5 本章小结 (14)

第4章二进制文本编辑程序的实现 (15)

4.1 文件读取子模块 (16)

- III -

哈尔滨理工大学学士学位论文

4.2 文件编辑子模块的实现 (18)

4.3 文件保存子模块的实现 (19)

4.4 字符串查找子系统 (19)

4.5 本章小结 (20)

第5章二进制文本编辑程序软件的测试 (21)

5.1 文件读取模块的测试 (21)

5.2 文件的编辑模块的测试 (22)

5.3 文件保存模块的测试 (24)

5.4 文件查找功能的测试 (25)

5.5 本章小结 (26)

结论 (27)

致谢 (28)

参考文献 (29)

附录 (30)

- IV -

哈尔滨理工大学学士学位论文

第1章绪论

1.1引言

本论文是对二进制文本编辑器的功能的全面介绍与设计

1.2目标

为了更好的方便程序员与用户,为了更加的高效和简单,以丰富和完善软件功能,以满足在应用于开发中面临的困难与问题的解决。二进制文本编辑程序是一个简单、易用的工具,可通过文本、十六进制、十进制或二进制形式编辑任意文件,其一系列的编辑特性能有效提高您的工作效率。二进制文本编辑程序是一款小众软件,但可以编辑非常大的文件。

1.3选题的目的和意义

有些文本编辑器短小精悍,也有些文本编辑器提供了丰富、复杂的功能。例如,Unix和类Unix操作系统都提供了vi编辑器(或者是它的变种),但是也有部分操作系统提供了Emacs编辑器。Windows系统提供了非常简单的记事本,但是很多人,尤其是那些程序员们却更喜欢Windows下功能更丰富的其它编辑器。

专业的计算机用户使用的文本编辑器往往不限制打开文件的大小。这样的编辑器在编辑大文件时,启动仍然很快,而且它们还能够编辑超过内存大小的文件。而简单的文本编辑器通常直接把文件读至内存。这样在处理较大文件时速度较慢,对于更大的文件,则干脆无法处理。

专业的计算机需要处理大文件的能力。例如,系统管理员需要读取很长的日志文件;程序员需要修改很大的源代码文件,或者检查那种异乎寻常的大文件,比如用于存储整本词典的文件。

还有一些可编程编辑器采用REXX作为它们的脚本语言。这些编辑器支持在屏幕的底部直接输入命令或者REXX语句,人们通常认为这些编辑器是正统的编辑器。在这类编辑器中,最具代表性的是Xedit的后续产品,而Xedit是IBM在VM/CMS中的编辑器。一些vi的后续产品,如Vim,还支持折叠以及

- 1 -

哈尔滨理工大学学士学位论文

宏,而且在底部还有命令行。人们认为它们是另一类正统编辑器。

许多用于开发软件的文本编辑器支持源代码的语法高亮和自动完成,这样就能够使得程序更容易读写。程序编辑器通常还允许你选中一个子程序或者变量,然后跳转到它的定义部分,再跳回原来的位置。像ctags这样的附加工具就是专门用来定位定义部分的。

但是却很少发现有对不同文件格式的文件进行修改,编辑,保存等这样简单功能强大的软件编辑器,由此二进制文本编辑程序实现了这个要求,节省了时间,提高了效率。

1.4论文研究内容

本课题使用Visual Studio 6.0作为软件开发平台,应用微软基础类MFC来进行界面开发,实现了文件编辑,文件查找,文件保存,进制转换,文件修改等相关功能。

本论文共分五章,其中

第一章引言

部分帮助读者了解该文档的整体框架,并描述了文档基本约定和相关术语,起到导读全文的作用。

第二章综述

综述部分从总体上概述产品及其运行环境,以及产品用户对象和已知的约束、假设和依赖关系。

第三章而二进制文本编辑程序的设计

主要是通过系统设计和对象设计对软件进行设计,为实现做准备。

第四章软件实现

主要是对软件的各个模块进行代码实现工作。

第五章软件测试

软件实现后,就要测试软件的性能,就是对软件的各个功能模块的实现是否能够满足要求做相应的测试工作。

- 2 -

哈尔滨理工大学学士学位论文

第2章需求分析

2.1软件需求分析

二进制文本编辑程序是一款小型软件,功能是实现对不同文件格式的读取与编辑,保存和修改,以提高开发效率和提供使用的方便性。

2.1.1软件模块功能分析

二进制文本编辑程序是一款简单强悍的集编辑保存修改等于一身的应用软件。需求分析的任务是确定功能必须完成的工作,也就是对目标系统提出完整,准确,清晰,具体的要求。在经过大量的查阅和分析理解之后,基本清楚了二进制文本编辑程序的基本的功能要求。在这个软件中要实现以下几个独立的主要模块功能:

1. 文件读取功能:

即利用目标系统能通过读取功能,一方面能够显示文件的原来数据形式,另一方面也能够把原来的数据形式通过编码转化为用户很方便识别的十六进制数据,进而为用户方便的了解文件的存储数据。

2. 文件编辑功能:

即利用目标系统能通过编辑功能,把对读取的文件数据进行修改,添加,删除,进而实现对原文件的更新的功能,以方便用户能够对文件的方便的操作。

3文件保存功能:

即利用目标系统能通过保存功能,把对读取的文件数据进行修改和编辑过后的数据在保存回原文件,以实现对原文件的保存

4. 字符串查找功能:

即利用目标系统能通过查找功能,在读取文件过后,能够在查找对话框内,输入要查找的字符串,以显示字符串在原文中的位置,以方便用户对原文件的修改,删除,添加等功能。

除此之外,目标系统还增添一些小的插件功能。

1.进制转换计算器

即能通过此小巧计算器功能进行二进制,十进制,十六进制间相互的转化,以方便用户对原文件修改。

- 3 -

哈尔滨理工大学学士学位论文

2.计数器

即能通过此小巧的计算机功能能进行进制的加减乘除的运算,也能很方便的让用户对原文件的修改。

2.1.2软件程序功能分析

二进制文本编辑程序提供不同文件格式的读取,编辑,保存,修改等功能系统运行环境:

处理器:Intel Pentium 166MX或更高

内存:64MB

硬盘空间:20GB;

显卡:SVGA显示适配器

操作系统:Windows XP

2.2系统平台的选用

结合第2章第1节中对系统功能的需求分析,利用c++语言在Microsoft Visual Studio 6.0开发平台下进行用户界面的编制,操作平台为Windows XP。文中主要借助于MFC进行友好界面编制,利用类向导程序Class Wizard建立基于对话框的MFC应用程序。程序中利用MFC实现二进制文本编辑程序的基本功能。

本节概述了应用程序的创建原理和过程;结合本文研究的背景实例阐述了本系统在visual c++ 6.0平台下的设计思想。

2.3本章小结

本章主要介绍了二进制文本编辑程序的需求分析以及软件的各个模块和功能,还有二进制文本编辑程序对系统的要求等。

- 4 -

哈尔滨理工大学学士学位论文

第3章二进制文本编辑程序设计

在第2章中已经简要说明了本系统的基本功能。下面结合各部分的结构图进一步分析该系统模块具体实现的功能,从而分析该系统的所有功能。面向对象设计一般分为系统设计和对象设计,数据和过程被封装为类或对象的属性和操作;接口被封装成为对象间的消息;二体系结构的设计则表现为具有控制流程的对象间的协作。经过需求分析阶段的工作,已经清楚软件必须完成的工作,下面的工作就应该是决定“如何做”的问题。总体设计的基本目的就是“概括地说系统应该如何实现”。另一方面的主要工作是设计软件的结构,即确定软件都由哪些模块组成即木块之间的相互关系。

3.1c++语言介绍

(一)C++的发展过程:

第一阶段从80年代到1995年。这一阶段C++语言基本上是传统类型上的面向对象语言,在工业界使用的开发语言中占据了相当大份额;

第二阶段从1995年到2000年,这一阶段由于标准模板库(STL)和后来的Boost等程序库的出现,泛型程序设计在C++中占据了越来越多的比重性;

第三阶段从2000年至今,由于产生式编程和模板元编程的出现,C++出现了发展历史上又一个新的高峰,使C++已经成为当今主流程序设计语言中最复杂的一员。

(二)C++的子语言:

1、C子语言。C++支持C语言的几乎全部功能,主要是c89的部分,在语法上与C语言仅有极微妙的差别(如括号表达式的左右值性,具体请参考C++标准文献)。

2、面向对象的C++语言。C++语言原本不具备面向对象的设计功能,然而随着面向对象编程的概念的提出以及如Java等语言的发展成熟,C++语言也开发出了支持面向对象功能的版本.

3、泛型编程语言。C++强大(但容易失控的)模板功能使它能在编译期完成许多工作,从而大大提高运行期效率。

- 5 -

哈尔滨理工大学学士学位论文

4、STL(C++标准模板库,Standard Template Library)。随着STL的不断发展,它已经逐渐成为C++程序设计中不可或缺的部分,其效率可能比一般的native代码低些,但是其安全性与规范性使它大受欢迎。

此外,包含在TR1等中的C++0x将实现的新功能在开发和测试中。

(三)C++的优点:

1. 性能

性能有个两方面,算法速度和机器代码效率。一个算法可以定义为数据通过系统的概念化的路径,它描述一些点,在这些点上,数据能够被操作并可转换产生某个结果。例如,一个算法定义为获取一个字符串,计算字符串中的字符个数,并作为结果返回的过程。算法与

语言是独立的,所以在编程之前必须设计算法,编写一个快速程序的第一个步骤是设计良好的算法,能以最少的操作步骤得出问题的答案。第二个步是选择语言,这也影响程序的速度。

从性能的角度考虑,用汇编语言编写程序是最佳的选择,它是计算机能理解的自然语言。但是,几乎没有人用汇编语言编写完整的程序,因为这样做极其乏味。另一个最佳的选择是C语言。然而,由VC++提供的所有工具都产生C++,而不是C。使用VC++的向导可以生成大量的使用代码,而不必人工地编写代码。从编写程序的难易程度和程序的性能综合考虑,C++是最佳的选择。

C++性能良好,因为它被编译为机器代码。对于VBScript和Java等语言,代码在运行时由程序解释,而且每次运行程序时都要将代码转换为机器码,这样做效率比较低,不仅仅是已编译过的C++程序运行得较快,而且微软C++编译器已存在多年。这意味着微软的编译器程序员已经把许多优点集中到编译器上,以致于它能产生非常高效的机器码。因为C++是编译语言,而且非常自然,比VB更接近机器代码,所以由C++编译器产生的代码一定比VB的编译代码效率更高。

2. 错误处理

一个好的程序与一个伟大的程序的区别就是其是否具有良好的错误处理支持。实际上,如果在实现中首先进行错误处理,而不是在最后才进行,那么整个程序的开发和测试过程会更加完美。但是,错误处理只能与语言所支持的内容相一致。

VBScript具有基本的错误处理支持功能。在默认情况下,不能捕获VBScript中的错误。每次怀疑产生错误时,要调用On Error Resume Next功能,

- 6 -

哈尔滨理工大学学士学位论文

并检查Error对象。

而C++中的错误处理比较好,这是因为有“异常处理”,本章的后面部分将详细介绍。

3. 最小的依赖性

正如上面所说,C++是一种编译语言,即C++代码在执行之前已转换为机器码。只要此代码不依赖于外部的动态链接库(DLL),C++就可以在不需要安装额外程序的情况下移动到运行同样操作系统的其他机器和微处理器上,而移动Java程序时需要先安装Java运行期库。

4. 利用现有的代码

由于C和C++已经存在许多年了,现在有许多可利用的代码,你的服务器组件可以使用现有的C/C++代码或库。例如统计库和到老系统的C接口。

5. 最大化COM特征

COM与C++很接近,实际上,Don Box(COM的权威)在他的《Essential COM》一书的第一章写道:“COM就是更好的C++”。他说明了COM规范是如何从C++语言规律中产生出来的。通过理解C++,会对COM有更深的理解。

(四)c++标准

C++标准演变了许多年。C++模板是近几年来对此语言的一种扩展,模板是根据类型参数来产生函数和类的机制,有时也称模板为“参数化的类型”。使用模板,可以设计一个对许多类型的数据进行操作的类,而不需要为每个类型的数据建立一个单独的类。标准模板库(Standard Tempalte Library,STL )和微软的活动模板库(Active Tempalte Library,A TL )都基于这个C++语言扩展。

C++标准可分为两部分,C++语言本身和C++标准库。C++标准库对于Visual C++是相当新的,实际上微软只是在发布Visual C++ 5.0时去除了一些“bug”。标准库提供了标准的输入/输出、字符串、容器(如矢量、列表和映射等)、非数值运算(如排序、搜索和合并等)和对数值计算的支持。应该说,C/C++包含了相对少的关键字,而且很多最有用的函数都来源于库,C++标准库实现容器和算法的部分就是STL。

STL是数据结构和算法的一个框架,数据结构包括矢量、列表和映射等,算法包括这些数据结构的查找、拷贝和排序等。1994年7月,ANSI/ISO C++标准委员会投票决定接受STL为C++标准库的一部分,这个建议是根据Alex Stepanov、Meng Lee和David Musser这三人的编程和软件库研究提出的。STL的产生是为了满足通用性的设计目标,而不是为了提高性能。

- 7 -

哈尔滨理工大学学士学位论文

3.2visual c++ 介绍

Visual C++ 6.0,简称VC或者VC6.0,是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Visual C++是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C++1.0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了Visual C++.NET(Visual

C++7.0),但它的应用的很大的局限性,只适用于Windows 2000、Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C++6.0为平台。VC++6.0

Visual C++6.0不仅是一个C++ 编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。

Visual C++是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C++1.0后,随着其新版本的不断问世,Visual

C++已成为专业程序员进行软件开发的首选工具。

虽然微软公司推出了Visual C++.NET(Visual C++7.0),但它的应用的很大的局限性,只适用于Windows 2000,Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C++6.0为平台。

Visual C++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。

Visual C++它大概可以分成三个主要的部分:

1.Developer Studio,这是一个集成开发环境,我们日常工作的99%都是在它上面完成的,再加上它的标题赫然写着“Microsoft Visual C++”,所以很多人理所当然的认为,那就是Visual C++了。其实不然,虽然Developer Studio提供了一个很好的编辑器和很多Wizard,但实际上它没有任何编译和链接程序的功能,真正完成这些工作的幕后英雄后面会介绍。我们也知道,Developer Studio并不是专门用于VC的,它也同样用于

- 8 -

哈尔滨理工大学学士学位论文

VB,VJ,VID等Visual Studio家族的其他同胞兄弟。所以不要把Developer Studio当成Visual C++,它充其量只是Visual C++的一个壳子而已。这一点请切记!

2.MFC。从理论上来讲,MFC也不是专用于Visual C++,Borland C++,C++Builder和Symantec C++同样可以处理MFC。同时,用Visual

C++编写代码也并不意味着一定要用MFC,只要愿意,用Visual C++来编写SDK程序,或者使用STL,ATL,一样没有限制。不过,Visual C++本来就是为MFC打造的,Visual C++中的许多特征和语言扩展也是为MFC

而设计的,所以用Visual C++而不用MFC就等于抛弃了Visual C++中很大的一部分功能。但是,Visual C++也不等于MFC。

3.Platform SDK。这才是Visual C++和整个Visual Studio的精华和灵魂,虽然我们很少能直接接触到它。大致说来,Platform SDK是以Microsoft C/C++编译器为核心(不是Visual C++,看清楚了),配合MASM,辅以其他一些工具和文档资料。上面说到Developer Studio没有编译程序的功能,那么这项工作是由谁来完成的呢?是CL,是NMAKE,和其他许许多多命令行程序,这些我们看不到的程序才是构成Visual Studio 的基石。

- 9 -

哈尔滨理工大学学士学位论文

3.3系统设计

系统设计主要完成系统整体机构的设计,包括将子系统非配到处理器和任务,选择实现数据管理,界面支持和任务管理的设计策略,为系统设计合适的控制机制等。

3.3.1子系统设计

1.划分子系统

子系统来源于分析中的类,关系,和行为的映射。作为系统的高层模块,子系统在设计时也应遵循软件设计的基本策略,如模块化,功能独立,信息隐藏等。子系统应该具有清晰明确的接口,使子系统能通过接口进行正确的通信;子系统中的类应该只和该子系统中的其他累协作。根据第二章的需求分析,二进制文本编辑程序的子系统可划分如下:

图3-1 软件子系统

2. 处理并发操作

对象—行为模式可能包含存在于子系统或对象之间的并发事件的信息。对于不是同时活动的对象,可以在同一个处理器应将上实现,不需要并发处理。而某些对象可能同步作用于事件,它们被称为并发的对象,必须考虑同步措施,这时有以下两种解决方案:

将并发子系统分配到不同的处理器。

将并发子系统分配到相同的处理器并由系统提供同步控制

3. 描述子系统件的通信

对象—关系模型表示了对象间的协作关系,子系统可以看做是高层的模块,有必要定义子系统件的协作关系。可以将“对象协作”模型扩展用于子系统。子系统件的交互模式是复杂的,以下是每个子系统间的交互关系图。

- 10 -

哈尔滨理工大学学士学位论文

图3-2 子系统件通信

3.3.2人机交互设计

需求分析阶段已经对系统的各个功能模块进行了详细的分析与说明,在系统设计阶段需据此考虑人机交互。一般在需求分析阶段确定人及交互的属性和外部服务,在设计阶段则给出有关人机交互的所有系统成分,包括用户如何操作系统,系统如何响应命令,系统显示信息与报表的格式,等等。

不同用户类型的用户要求亦不相同,一般可按技术熟练程度,工作性质和访问权限对用户进行分类,精良照顾到所有用户的合理要求,并优先满足特权用户的需要,各类用户的工作流程与习惯也不相同。通常在设计一个新命令系统时,

- 11 -

哈尔滨理工大学学士学位论文

应先做一些参考和比较,尽量遵循用户的界面的一般原则和规范。

由于二进制文本编辑程序只是一款短小精悍的软件系统,对于它在设计过程中就会相对容易一些,它不不需要考虑不同的用户要求,也不必考虑不同的用户,因为只要是基本会操作计算机的用户,对这款软件就会很容易的进行,但这并不是说就可以放松对界面的要求,相反,它与其它大型软件一样,也要充分的考虑对界面的优化,以方便用户的使用,从而提高用户的使用效率

3.3.3任务管理设计

引进任务管理部件,有两点原因。以是由于在多用户,任务或读线程操作系统上开发应用程序的需要;二是通过任务描述目标软件系统中个子系统件的通信和协同时,映入任务概念能简化某些应用的设计和编码,以下是管理并发任务对象的策略:

确定任务的特征。

定义一个协调者任务和与之关联的对象。

集成其他任务和协调者。

任务管理部件的设计一般遵循如下的步骤和策略:

识别由事件驱动和时间驱动的任务

识别关键性任务,任务优先级以及任务管理类

定义任务

如:

任务名称:文件编辑

描述:此任务提供用户对文件的修改

通信方式:从内存中读取数据,然后对其进行编辑

3.4对象设计

3.4.1用户界面子模块

创建系统功能的外部模型设计模型主要是考虑软件的数据结构、总体结构和过程性描述,界面设计一般只作为附属品,只有对用户的情况有所了解,才能设计出有效的用户界面;根据终端用户对未来系统的假想(简称系统假想)设计用户

- 12 -

哈尔滨理工大学学士学位论文

模型,最终使之与系统实现后得到的系统映象(系统的外部特征)相吻合,用户才能对系统感到满意并能有效的使用它;建立用户模型时要充分考虑系统假想给出的信息,系统映象必须准确地反映系统的语法和语义信息。总之,只有了解用户、了解任务才能设计出好的人机界面。

确定为完成此系统功能人和计算机应分别完成的任务

任务分析有两种途径。一种是从实际出发,通过对原有处于手工或半手工状态下的应用系统的剖析,将其映射为在人机界面上执行的一组类似的任务;另一种是通过研究系统的需求规格说明,导出一组与用户模型和系统假想相协调的用户任务。

设计任何一个机界面,一般必须考虑系统响应时间、用户求助机制、错误信息处理和命令方式四个方面。系统响应时间过长是交互式系统中用户抱怨最多的问题,除了响应时间的绝对长短外,用户对不同命令在响应时间上的差别亦很在意,若过于悬殊用户将难以接受;用户求助机制宜采用集成式,避免叠加式系统导致用户求助某项指南而不得不浏览大量无关信息;错误和警告信息必须选用用户明了、含义准确的术语描述,同时还应尽可能提供一些有关错误恢复的建议。此外,显示出错信息时,若再辅以听觉(铃声)、视觉(专用颜色)刺激,则效果更佳;命令方式最好是菜单与键盘命令并存,供用户选用。

基于以上考虑在二进制文本编辑程序的界面设计中,在菜单一览中,有文件,编辑,工具,帮助等,而且还设计有一些常用的模块的图标在界面中显示,以方便用户的使用,对于使用是术语也是尽量的贴近原意,而不至于产出二义性。在用户界面的颜色上,界面尽可能的醒目,而又不易于产生疲劳。

3.4.2用户读取子模块

二进制文本编辑程序的读取要包括大部分的文件格式,需要应用不同的类与对象,在用户界面中,只会显示一个图标,点击它就会出现一个对话框,可以从中选择用户要使用的文件。如果文件存在的话,就会再界面中一半的界面显示文件的原来数据的存放形式,另一半界面则显示对读取文件的十六进制显示。

3.4.3文件编辑子模块

文件编辑子模块实现对原来数据的修改,删除,添加的功能。在读取完文件过后,在界面中的一半十六进制的显示中,移动鼠标在不同的数据上,会很明显的指明你要修改的数据。利用键盘就可以轻松的输入你要输入的数据,同时亦可

- 13 -

相关主题
文本预览
相关文档 最新文档