您的位置:首页 > 其它

插入替换删除文本文件中的某一行

2008-07-15 12:15 453 查看


'在网上找了关于这方面的资料,发现跟本用不起来

'后来我拷下来,一个一个调试,终于达到预想的效果

'立此存照2008-7-15Jason

PrivateSubForm_Load()
DimstrtempAsString
OpenApp.Path&"/18XX.txt"ForInputAs#1
DoUntilEOF(1)
LineInput#1,strtemp
Text1.Text=Text1.Text+strtemp+vbCrLf
Loop

Close#1
EndSub

PrivateSubCommand1_Click()'读取不含注解的第几行
DimStrtmpAsString'定义Strtmp为字符型
Dimflag1AsBoolean'定义标识符
DimiAsLong'定义i为长型
DimaAsLong'定义a为长型
Dimxxxx

OpenApp.Path&"/18XX.txt"ForInputAs#1'打开文件路径
i=0'标识关
DoWhileNotEOF(1)'开始循环
LineInput#1,Strtmp'行输入

IfMid(Strtmp,1,1)="#"Then'如果某一行的前四个字符为"■■■■"
Else
i=i+1
Ifi=Val(Text3.Text)Then'i值从文本框输入数字
Text1.Text=Strtmp'显示结果
ExitDo
EndIf
TimeDelay200'累加延时读入
Text4.Text=i+1'累加
Ifi>=Val(Text4.Text)Then

EndIf
EndIf
Loop
Close#1
EndSub

'■■■■■■■■■■■■■■■■■■■■■■■■删除一行■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
PrivateSubCommand3_Click()
CallDELETE(App.Path&"/18XX.txt","~",Val(Text5.Text))'调用删除子程序
EndSub
'strSourceFile原始文件完整名
'strTargetFile生成新文件的完整名
'intRow操作的行数
SubDELETE(strSourceFileAsString,strTargetFileAsString,intRowAsLong)
DimfilenumAsInteger
DimfileContentsAsString
DimfileInfo()AsString
DimiAsInteger
DimjAsInteger
Dimaa
filenum=FreeFile
OpenstrSourceFileForBinaryAs#filenum
fileContents=Space(LOF(filenum))
Get#filenum,,fileContents
Closefilenum
fileInfo=Split(fileContents,vbCrLf)'取出源文件行数,按照回车换行来分隔成数组

filenum=FreeFile
'IfDir(strTargetFile,vbNormal)<>""Then'这句的意是,如果想要建立的临时文件同名的文件存在的话,就把已存在的文件删除

'KillstrTargetFile
'EndIf
DimFilestr()AsString

'删除一行代码块
strTargetFile="1409.txt"'把临时文件命名为1409.txt
OpenstrTargetFileForAppendAs#filenum'以追加的方式打开文件
'循环每一行
Fori=0ToUBound(fileInfo)-1'行循环至结束
Ifi<>intRow-1Then
Print#filenum,fileInfo(i)
EndIf
Next
Close#filenum
aa=strSourceFile
KillstrSourceFile'把原来的文件删除
NamestrTargetFileAsaa'把临时文件名改为原来的文件名

Text1.Text=""'清空text1
DimstrtempAsString
OpenApp.Path&"/18XX.txt"ForInputAs#1'把所有内容读入text1,以观看结果
DoUntilEOF(1)
LineInput#1,strtemp
Text1.Text=Text1.Text+strtemp+vbCrLf
Loop
Close#1

'MsgBox"删除完成!"
EndSub
'■■■■■■■■■■■■■■■■■■■■■■■■删除一行■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

'■■■■■■■■■■■■■■■■■■■■■■■■替换一行■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
PrivateSubCommand4_Click()
CallCOVER(App.Path&"/18XX.txt",Text2.Text,Val(Text5.Text))
EndSub
'strSourceFile原始文件完整名
'strTargetFile生成新文件的完整名
'intRow操作的行数
SubCOVER(strSourceFileAsString,strTargetFileAsString,intRowAsLong)
DimfilenumAsInteger
DimfileContentsAsString
DimfileInfo()AsString
DimiAsInteger
DimjAsInteger
Dimaa
filenum=FreeFile
OpenstrSourceFileForBinaryAs#filenum
fileContents=Space(LOF(filenum))
Get#filenum,,fileContents
Closefilenum
fileInfo=Split(fileContents,vbCrLf)
'取出源文件行数,按照回车换行来分隔成数组

filenum=FreeFile
'IfDir(strTargetFile,vbNormal)<>""Then
'KillstrTargetFile
'EndIf
DimFilestr()AsString

'替换一行代码块
strTargetFile="1409.txt"
OpenstrTargetFileForAppendAs#filenum
'循环每一行
Fori=0ToUBound(fileInfo)-1

Ifi=intRow-1Then
Print#filenum,Text2.Text
Else
Print#filenum,fileInfo(i)'保留原来的行,位置后移一位
EndIf
Nexti
Close#filenum

aa=strSourceFile
KillstrSourceFile
NamestrTargetFileAsaa

Text1.Text=""
DimstrtempAsString
OpenApp.Path&"/18XX.txt"ForInputAs#1
DoUntilEOF(1)
LineInput#1,strtemp
Text1.Text=Text1.Text+strtemp+vbCrLf
Loop
Close#1

'MsgBox"替换完成!"
EndSub
'■■■■■■■■■■■■■■■■■■■■■■■■替换一行■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

'■■■■■■■■■■■■■■■■■■■■■■■■插入一行■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
PrivateSubCommand5_Click()
CallINSERTTXT(App.Path&"/18XX.txt",Text6.Text,Val(Text5.Text))
EndSub
'strSourceFile原始文件完整名
'strTargetFile生成新文件的完整名
'intRow操作的行数
SubINSERTTXT(strSourceFileAsString,strTargetFileAsString,intRowAsLong)
DimfilenumAsInteger
DimfileContentsAsString
DimfileInfo()AsString
DimiAsInteger
DimjAsInteger
Dimaa
filenum=FreeFile
OpenstrSourceFileForBinaryAs#filenum
fileContents=Space(LOF(filenum))
Get#filenum,,fileContents
Closefilenum
fileInfo=Split(fileContents,vbCrLf)
'取出源文件行数,按照回车换行来分隔成数组

filenum=FreeFile
'IfDir(strTargetFile,vbNormal)<>""Then
'KillstrTargetFile
'EndIf
DimFilestr()AsString

'插入一行代码块
strTargetFile="1409.txt"
OpenstrTargetFileForAppendAs#filenum
'循环每一行

Fori=0ToUBound(fileInfo)-1
Ifi=intRow-1Then
Print#filenum,Text6.Text
Else

EndIf
Print#filenum,fileInfo(i)'保留原来的行,位置后移一位
Nexti
Close#filenum

aa=strSourceFile
KillstrSourceFile
NamestrTargetFileAsaa

Text1.Text=""
DimstrtempAsString
OpenApp.Path&"/18XX.txt"ForInputAs#1
DoUntilEOF(1)
LineInput#1,strtemp
Text1.Text=Text1.Text+strtemp+vbCrLf
Loop
Close#1

'MsgBox"插入完成!"
EndSub
'■■■■■■■■■■■■■■■■■■■■■■■■插入一行■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

PrivateSubCommand6_Click()
UnloadMe
End
EndSub

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐