|
5207
- 皇帝
- 1983-12-1
- 1542
- 2020
- 93
- 3909.8 M
|
发表者
t
T
发表于 2009-07-16 19:09
|只看楼主
MiniNote1.0代码分析系列第一篇 一、 写此系列的目的个人感觉MiniNote 比官方及其他的一个日记软件要好用。我也用过其他的软件,功能虽多但不实用,有些好功能如果处理的不好就是多余功能,造成浪费。2 个月以来MiniNote 没有再更新,期间购买了M8 ,也许是因为买了M8 的原因吧,没有兴趣再做这个软件了。主要是不知道开发这个软件为了什么,帮助别人?还是帮助自己?看到许多朋友借助MiniNote1.0 的源代码在学习M8 平台软件的开发,之前写过一个关于自己学习M8 开发的总结系列文章,还是得到了许多朋友的肯定,从基础入手提高了自己也帮助了别人。既然MiniNote1.0 有帮助于是就决定写几篇文章介绍一下MiniNote 的源代码,以便新手朋友能够更好的理解。二、 MiniNote1.0的框架介绍2.1软件功能MiniNote 最初是设计成日记软件,但在开发过程中扩展了一点点功能,增加了文本文件的读写。也就是说MiniNote 就二个功能模块:日志Ø日志列表Ø新增日志Ø编辑日志Ø删除日志文本编辑 Ø查看、编辑txt 、ini 看到这是不是觉得软件非常简单?是的本来就没啥东西,熟手用不了一天就能写出来,而且功能还要强大些。2.2软件技术结构对于MiniNote 来说主要的工作就是和文本打交道,无论是写日志还是编辑文本文件,所以技术核心在于字符的处理上。而别一方面的重点就是界面咯,这一块全部使用了M8SDK 的MZFC 。随便弄了一张图以便理解:  如图所示,MiniNote 的核心是基于MZFC 和文本存取器两个组件,当然MZFC 是一套组件。但在软件中其实就是一种类型的玩意,在此就不做区分了。是的,就这么简点的软件。2.2源码包的文档结构讲完了大的东西,对于拿到源码包的朋友可能会对在阅读代码时理解各个代码作用苦恼吧?是呀,看别人的程序确实有点难过,特别是MiniNote 写的还比较乱。在这里就整体的说明一下各个文件夹和文件的作用,这样需要时直奔文件就好了。先上图: 这是整个源码包的文档结构图,当然除去VS 带上的哪些东西哈。主要分成两部分:1、 软件源代码工程(MiniNote)1.1 头文件头文件是C/C++ 语言所必须的,就是类型的申明文件。对于一个良好的程序实体应该都会有头文件与实现文件,头文件可供外部调用使用,而源文件只做实现。所以大家会看到M8SDK 里会提供一堆的头文件,这样就可以调用里面的功能了。每个头文件说明如下表: 文件名 | 说明 | CpubFunction.h | 公共函数 | M8Note.h | 主程序头文件,即软件入口 | M8NoteEditWnd.h | 文本阅读及编辑窗口 | M8NoteFileReader.h | 文件存读器 | M8NoteMainWnd.h | 主窗口,即显示日记列表窗口 | M8NotePubDefine.h | 程序公共定义单元 | MiniFileDialog.h | 文件对话框:打开、保存等 | MiniUiList.h | 日志列表控件 | Resource.h | 资源单元 |
(表1) 1.2 源文件除了一些纯定义的头文件外,一般头文件都会对应一个源代码文件,C++ 中的源代码文件都是.CPP 文件。所有的程序逻辑及算法算在源文件里面实现了。MiniNote 中的源代码文件上表中的头文件可以进行对应。参考表1。1.3 资源文件对于像图标、字符、菜单等文件资源可以放入资源文件中,软件编绎时一并带上,这样软件就能在运行的时候显示各种资源了。所以大家会发现很多程序就一个exe ,但是一运行就会有各种图片和图标之类。在MiniNote 中使用的资源文件就一个: 文件名 | 说明 | MiniNote.rc | 资源文件哇,MiniNote1.0中只有版本控制的内容 |
(表2) 2、 打包CAB工程(MiniNoteSetup)Visual stidio 工具提供了cab 的打包工程,这个可以方便程序员为自己的程序制作cab 。MiniNote 采用了这个模板工具,但并不是非常好用,很多时候还是用别的工具打包会方便一些。所以就不多介绍这个东西了。有兴趣的朋友自己建一个试试就知道用法了。 篇结:本文大体的讲了下MiniNote1.0 咯,比较粗略,接下来的文章可能会具体一些,如果可能的话我会把几个重要的单元文件分别写文章介绍。目前能确定的是M8NoteFileReader 这个是会主要讲讲的。由于工作原因关系白天不能上网,只能晚上回家才能上网。点滴论坛也是我个人提供的一个论坛平台,没有其他人在维护,所以写文章也可以解决有朋友想交流找不到人的矛盾,呵呵。所以在论坛或者QQ 中的提问只要我能回答都会解答。当然如果高手能指教自然是更期待了。希望大家看过后觉得好帮顶顶,留几个交流方式:QQ :89387228 QQ 群:58105627 Email:mini188.com@qq.com 当然,可以到http://www.mini188.com上发贴,我在上论坛时会进行回复。
下载pdf浏览: - MiniNote1.0代码分析.pdf (, 下载次数:613)
|