wxWidgets移植开发代码统计程序-《跟我学wxWidgets开发》系列教程

第六章 代码统计程序的移植

 
本章我们来一起把我以前用C#写的一个简单的代码统计工具,通过wxWidgets移植到各个操作系统平台。这个程序将包含以下和wxWidgets相关的知识点:
⑴wxDirDialog文件夹对话框的使用
⑵wxGauge进度条控件的使用
⑶wxThread多线程的使用
⑷通过wxDir进行文件遍历
⑸通过wxTextFile按行读取文件内容
 
最终程序截图:
 
 
 

 
代码地址:
http://code.google.com/p/wxlinestatistics/
由于google代码不再开放download功能,请大家以svn方式进行代码下载。
 
6.1 开发过程
这个工程要实现的功能很简单,就是统计所选目录下的源代码的行数,把代码简单的区分为“实际代码”、“基本注释”、“空行”。
    工程实际包含只两个步骤,第一是遍历所选择的文件夹,第二是获取遍历文件的内容,然后按行读取,最后执行代码分析。
    在这个工程里,因为wxTextFile不会对二进制文件进行区分,所以我们需要对文件类型进行筛选,把不符合统计要求的非代码文件忽略掉。在实现这一点上,我采取了一个非常简单的判断方法:
1)定义一个文件类型列表字符串(以下简称EXT),以“|”隔开,如“*.h|*.c|*.cpp|*.rc”
2)截取获取到的文件名的扩展名(简称A),然后在上面定义的EXT中寻找,如包含A,则当成源代码文件处理,否则忽略跳过。
 
    需要说明的是,在实际应用中,我们不能用上面这样的简单方法来判断,更安全更合理的方法是,把EXT通过wxStringTokenizer分割成wxArrayString数组,然后再在数组里寻找是否包含A,如果包含说明是源代码文件,否则不是。这个功能改造我留给大家当成作业自行实现,相信这会帮助你更好地学习和掌握wxWidgets。
 
6.1.1 建立工程
打开CodeBlocks,按照本教程3.2章节新建一个wxWidgets工程,此处工程类型我们选择wxDialog类型。
 
初始工程预览图(等待截图)
 
6.1.2 程序窗体布局设计
既然是移植项目,我们按照原来的程序界面照搬就好了。这个程序除了一个进度条,没有其他特别的,就用普通的wxBoxSizer,里面依次加上控件就可以了。
 

工程界面设计预览图
 
6.1.3 程序结构流程设计



郑重声明:
除特别声明为转载内容外,本站所有内容均为作者原创,谢绝任何单位和个人不经许可的复制和转播!
对于确有转载需要的,请先与作者联系,在获得允许后烦请在转载时保留文章出处。
本文出自Lupin's Blog:http://www.cnzui.com/archives/1087