《编程的奥秘》本人按 第四章实践与探索的要求 写的代码
来源:互联网 发布:ecshop安装数据库失败 编辑:程序博客网 时间:2024/05/22 08:23
3.(项目开发实践)设计程序行数统计软件
要求编写一个程序,可以自动统计一个VB .NET源代码文件的各种信息:
(1)程序代码总行数;
(2)注释行总数;
(3)空白行总数;
(4)手写代码总行数。
提示与分析:
VB .NET源代码文件其后缀名是“.vb”,是一个纯文本格式的文件。
VB .NET注释行以单引号开头,只统计成独立一行的注释。
对于窗体文件,VS .NET自动生成的代码均放置在“#Region " Windows 窗体设计器生成的代码 "”区域中,因此程序必须识别出这个区域,才可能计算出手写代码的总行数。对于为各种控件生成的事件代码框架,可以一并算做是手写代码。
建议按照以下过程开发此程序:
(1)开发出一个函数(为方便起见,暂命名为f1,读者在真正开发时,请起有意义的名字),传给它一个从VB .NET源代码文件中读出的一行,它能正确判断出语句的类型;
(2)开发出另一个函数f2,它接收一个VB .NET源代码文件名,在内部调用f1判断语句类型,并按语句类型分类统计;
(3)设计一个信息类Info,其中包含要统计的所有信息(上述的四个统计信息可以作为此类的四个属性);
(4)设计一个VB .NET源代码分析类,它包含f1和f2,以及其他一些辅助函数,完成源代码分析的全部功能,分析结果放在Info对象中返回;
(5)设计窗体,以可视化的形式表达出统计结果。
4.(项目开发实践)文件分割器
当使用软盘和U盘复制文件时,常常需要把一些大的文件进行分割。编写一个文件分割器,可以把任意一个文件按用户指定的大小拆分成多个文件,同时提供将分块文件合并为原始文件的功能。
这是一个典型的使用流技术的程序。
可以将一个文件以流的方式读入内存,再按照切分的大小读出数据,加上一个表示顺序的序号,再将其写入到文件中。
合并的过程则反之。但要注意程序应能检测文件的丢失,如果少了某个分块文件,程序应能提示用户文件已损坏。
5.(项目开发实践)UltraEdit是功能强大的文件编辑器,它可以用十六进制的方式直接编辑二进制文件,习题图4-3所示为编辑MyComputerExplorer.exe文件的情形。
习题图4-3 UltraEdit
请编写一个类似的二进制文件编辑器,克隆UltraEdit程序的功能,完成对一个二进制文件特定内容的查找、修改。
使用FileStream打开文件,并将其内容复制到MemorySteam或一个数组中,查找、修改均在内存中进行,退出时再将其写入文件。
代码下载地址:http://download1.csdn.net/down3/20070613/13150542783.rar
有两个没写注释大家多多海涵,代码一定有很多问题,如果那位朋友发现请指出纠正、
- 《编程的奥秘》本人按 第四章实践与探索的要求 写的代码
- PHP编程:探索字串的奥秘
- PHP编程:探索字串的奥秘
- PHP编程:探索字串的奥秘
- PHP编程:探索字串的奥秘
- 探索搜索引擎的奥秘
- 探索索引的奥秘
- 探索索引的奥秘
- 多线程编程的探索与实践(图)
- 探索恢复精灵的奥秘
- 探索高效jQuery的奥秘
- 探索高效jQuery的奥秘
- 探索高效jQuery的奥秘
- 探索高效jQuery的奥秘
- 从蛛丝马迹中探索氢弹的奥秘
- 探索Google App Engine背后的奥秘
- 带你探索条形码世界的奥秘
- 【jQuery】探索高效jQuery的奥秘
- 通过Robots.txt禁止搜索引擎收录的方法
- 现在是可以为csdn做点什么的时候了
- 华为的JAVA面试题
- JRuby1.0版正式发布
- 有人学习p2p资源一致性的维护吗
- 《编程的奥秘》本人按 第四章实践与探索的要求 写的代码
- 专访孙辉:大学数学系副教授挑战软件开发禁地(下)
- 在Windows上使用MySQL数据源
- 表格处理:换行还是不换行?
- 二叉树的生成与遍历演示,附源代码,在VC7.1下可编译运行通过。
- Zen Cart
- 简析JAVA的XML编程
- jsp内置对象集合
- AjaxFeeling框架讲解二(XMLHttpRequest对象详述)