浅显基础教程
电脑操作教程
电脑怎样拨号上网
怎么做个人网页
怎样做局域网
Word教程(文字处理)
图形图象处理入门
经典进步教程
怎样运用代理服务器
怎么做无盘作业站
Photoshop教程
Dreamweaver3教程
Flash4&5教程
Firework3教程
Frontpage2000教程
Authware教程
Office2000教程
怎么制造动画图片
OICQ&ICQ运用办法

高手学习攻略

硬件晋级技巧
CGI教程
ASP教程

PHP教程

注册表运用技巧
路由器的设置
vwin建造攻略
SQL
最近更新:
相关内容

用VB完结多文件查找与替换功用


文摘:
  文件中特定字符串的寻觅与替换是一种极端常见的操作,在Win95中,能够很容易地运用"写字板"、"Word"等软件的"替换"功用在某个文件中完结寻觅替换的作业,而假如要在多个文件中进行寻觅替换,则需费一翻精力。针对这一问题,笔者用Visual Basic 5.0编制了一个小程序,运用它能够快速地完结在多个文件中查找与替换的使命。

正文:
  众所周知,文本文件中特定字符串的寻觅与替换是一种极端常见的操作,在Win95中,能够很容易地运用"写字板"、"Word"等软件的"替换"功用在某个文件中完结寻觅替换的作业,但是假如想在许多文件中查找某个字符串并进行替换就不是一件轻松的作业了,假如你没有满足的耐性,恐怕是无法完结这个作业的。而在平常的学习作业中又常常会遇到需求在多个文件中进行寻觅替换的状况,特别是从Internet上很多下载网页后,常常要对下载的页面做一些简略的批量修正,如将太小的字体变大、将扎眼的背景色变成柔软的利于常时刻阅读的色彩等。

  针对这一问题,笔者用Visual Basic 5.0编制了一个小程序,运用它能够快速地完结在多个文件中查找与替换的使命。

一、关键技术阐明
为完结上述使命,主要有下面两个问题需求处理:

1、怎么在一个文件中进行字符串的查找与替换;
  处理这个问题的基本思路是即将处理的文件读入内存,对文件进行扫描,找出匹配的字符串,然后进行替换。这一作业咱们能够借助于RichTextBox控件来完结。
首要运用RichTextBox控件的LoadFile办法将文件读入文本框,然后用Find办法在 RichTextBox 控件中查找给定的字符串,在找到匹配的字符串后,能够经过设定SelStart、SelLength特点选中查找文本,最终将替换字符串赋值给SelText,这样就完结了一次寻觅替换的使命。重复上述进程,即可将文件中一切匹配的字符串替换掉。

2、怎么处理多个文件
  在VB中有多种办法能够用来获取文件名列表,如运用FileListBox控件、CommonDialog控件或运用OLE拖动,这儿咱们选用CommonDialog控件来完结。

  在运用CommonDialog控件之前,首要要进行一些设置作业:将Flags特点设定为 cdlOFNAllowMultiselect,即答应挑选多个文件;依据详细需求设置Filter特点来决议"翻开文件"对话框答应显现的文件类型;给MaxFileSize特点赋予较大的值,以便FileName特点可包容较多的文件名。设置完结后调用ShowOpen即可显现"翻开文件"对话框让用户挑选文件,在对话完毕后查看FileName特点以获取选中的文件名。
需求留意的是,CommonDialog控件将用户选中的一切文件名都保存在FileName这个简略字符型特点中,文件名之间用空格分隔,因此在进行替换处理之前有必要首要用程序将每个文件名取出。

二、程序实例
1、窗体布局
  新建一个工程,在Form1上放置两个指令按钮cmdChooseFiles、cmdOk,Caption特点别离为"挑选文件"和"开端寻觅替换";放置两个标签,Caption别离为"查找字符串"和"替换字符串";放置两个文本框txtSearch和txtReplace;放置一个RichTextBox控件和一个CommonDialog控件,控件名取缺省名即可。窗体布局如下图:

2、程序代码
为Form1增加如下代码:
Dim FileNames() As String '文件名列表数组,下标从1开端
Dim FileCount As Long '文件名列表中的文件名总数
Private Sub cmdChooseFiles_Click()
Dim i As Long,y As Long,Dim z As Long
With CommonDialog1
.Flags = cdlOFNAllowMultiselect '答应挑选多个文件
.Filter = "HTM Files|*.HTM" '只显现HTM文件,可依据需求改动
.MaxFileSize = 10000 'FileName特点的最大长度,可依据需求改动
.ShowOpen '显现"翻开文件"对话框
If .filename = "" Then
'如挑选了"撤销"按钮,则将FileCount置为0并回来
FileCount = 0
Exit Sub
End If
.filename = .filename & " " '在FileName最终增加一个空格,以便处理
'以下从FileName特点中逐一读取文件名,并放入FileNames数组中
z = 1
y = 0
For i = 1 To Len(.filename)
i = InStr(z, .filename, " ")
If i = 0 Then
Exit For
End If
ReDim Preserve FileNames(y)
FileNames(y) = Mid(.filename, z, i - z)
If y > 0 Then '如有多个文件,则在每个文件名前加上完好的途径
FileNames(y) = FileNames(0) & "\" & FileNames(y)
End If
z = i + 1
y = y + 1
Next i
If y = 1 Then '如FileName只包括一个文件名,则将其赋给FileName(1)
'并将FileCount置为1
ReDim Preserve FileNames(1)
FileNames(1) = FileNames(0)
FileCount = 1
Else '不然依据文件数确认FileCount的值
FileCount = y - 1
End If
End With
End Sub
Private Sub cmdOk_Click()
Dim i As Long
Dim SearchString As String '查找字符串
Dim ReplaceString As String '替换字符串
Dim StartPosition As Long '查找字符串在文件中呈现的方位
Dim SearchLength As Long '查找字符串长度
SearchString = Trim(txtSearch)
ReplaceString = Trim(txtReplace)
SearchLength = Len(SearchString)
With RichTextBox1
For i = 1 To FileCount '以下顺次处理FileNames数组中的文件
RichTextBox1.LoadFile FileNames(i), rtfText '读入文件
StartPosition = .Find(SearchString) '寻觅查找字符串
If StartPosition <> -1 Then '假如找到,则履行替换操作
.SelStart = StartPosition
.SelLength = SearchLength
.SelText = ReplaceString
.SaveFile FileNames(i), rtfText '写入文件
End If
Next i
End With
MsgBox "转化完毕!", vbExclamation
End Sub
3、程序阐明
(1)运转程序后,单击"挑选文件"按钮挑选文件,并别离输入查找和替换字符串,然后单击"开端寻觅替换"按钮,即可主动进行作业。
(2)因为篇幅有限,程序没有进行任何错误处理,实际运用前,应参加必要的错误处理代码,如:在未选中文件前、未输入查找和替换字符串前使"开端寻觅替换"按钮失效;在某个文件中没有找到查找字符串时给予提示并越过该文件等。
(3)可在程序中参加进展指示条(可运用ProgressBar控件),使界面愈加友爱。
(4)程序对每个文件仅替换第一个匹配的字符串,如需求替换一切匹配的字符串,只需参加简略几句代码即可完结。
(5)本程序用Visual Basic 5.0编写,在Pwin95、Pwin97环境下运转正常。
  本文取自:《软件世界》1999年第5期

用VB完结多文件查找与替换功用
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
教程站
收集整理



月光软件代码下载编程文档电脑教程vwin优化网址导航网络文学游戏六合日子休闲写作范文安妮宝物站内查找
电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏抢手游戏体育运动手机专区业余爱好影视沙龙
音乐六合数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区当地风情各行各业

月光软件站·版权一切