用 VB 进行文本文件的再处理
越来越多的人开始认识到 Internet 这一信息资源的巨大宝库,但是把信息从网上下载下来
后,繁杂多样的文件格式却给整理、使用带来相当大的麻烦。有的由于系统平台的变化,
甚至显示出来是一团乱糟糟东西。那么要想更好、更方便地利用网络资源,一个得力的文
本文件处理工具就显得非常必要。如果四处去寻找一个这样的工具,不仅不容易,找到后
可能并不符合我们的要求,但是如果你有 VB,那么为什么不自己开发一个这样的工具程序
呢?相信我,这并不困难,只要你已经对 VB 有所了解,一个方便实用的小工具已经在等
着你了! 先来分析一下这个程序要完成的主要任务吧,象这样的文本处理,可以归纳为两
种形式,就是替换和清除,如果把清除看成是替换成空的话,那么唯一个任务就是替换了。
就替换面言,可能会有以下几种形式:
1、将一段文字替换成另一段
2、将某两个特殊标识符之间的文字替换成另外一些文字
3、将某两个特殊标识符之间的文字按照某种规律进行转换
搞清这几个任务,我们就可以着手编程了。一个好的程序员,不应每次都是从零做起,平
常一些基础模块的积累,可以增加我们制作大程序的信心。下面我先对程序中用到的我的
基础库中的内容进行一下介绍,然后再解决每一个具体问题。
一、准备过程
1、字符串处理函数(StrHead)
用 VB 来实现这个程序,首先要解决的是如何方便地进行字符串处理,VB 中原有的函数
InStr 和 Mid,使用起来并不方便,我利用这两个函数编写出一个新的函数:StrHead,该函
数根据指定的断点字符将字符串截断,断点前的字符串被返回,后面部分保留在原字符串
中,该函数可以完成大部分字符串操作。函数代码如下:
Public Function StrHead(ss As String,
ByVal c As String) As String
Dim i As Long
i = InStr(ss, c)
If i > 0 Then
StrHead = Mid(ss, 1, i - 1)
ss = Mid(ss, i + Len(c))
Else
StrHead = ss
ss = ""
End If
End Function
2、文本文件类(TextFile)
程序中涉及到很多文件操作,为了方便,可以先将对文件操作的过程封装到一个类中,这
样不仅可以提高编程效率,还可以大大减少出错的机会。因为本课题主要是面对文本文件
的,这样我们只编写一个处理文本文件读写类(TextFile)就可以了,该类的几个主要功能
函数列在下面:
' 文本文件类(TextFile.cls)
Option Explicit
Dim FileNum As Integer
' 打开文件用于写
Public Function OpenWrit(fn As String) As Boolean