资源描述
有2个txt文件
txt1:123
txt2:456
一个按钮一个text
怎么点击按钮 读取txt1+txt2在text(123456)
恩,这样
Private Sub Command1_Click()
Dim intTxt1 as double
Dim intTxt2 as double
intTxt1=Cdbl(text1.text)
intTxt2=Cdbl(text2.text)
lblCaption.caption = intTxt1 & intTxt2
End Sub
你提的问题不清楚,是2个txt文件还是2个文本框,如果是2个txt文件就要用到读取文件的操作了。如:open 文件名 as # 1
2011-10-31 08:51 killserver007 | 一级
'读取
Private Sub Command1_Click()
Dim fn As Long, StrRead As String
Dim aStr As String
fn = FreeFile()
aStr = ""
'路径可以用 App.Path & "\aa.txt" 表示程序所在目录的aa.txt文件
Open "d:\aa.txt" For Input As #fn
Do While Not EOF(fn)
Line Input #fn, StrRead
aStr = aStr & StrRead & vbCrLf
Loop
Close #fn
'解密方法解密aStr
'...
Text1.Text = aStr '解密后的aStr
End Sub
'保存
Private Sub Command2_Click()
Dim fn As Long, aStr As String
aStr = Text1.Text
'用自己的加密方法加密aStr
'...
fn = FreeFile()
Open "d:\aa.txt" For Output As #fn
'Print语句会覆盖文件中原有数据
Print #fn, aStr '加密后的aStr
Close #fn
End Sub
三门县海游镇平海路99号紫云山庄61幢1单元202室
三门县海游镇平海路97号紫云山庄61幢2单元204室
三门县海游镇平海路98号紫云山庄61幢2单元24室
三门县海游镇平海路99号紫云山庄61幢三单元2053室
2011-10-31 09:02 pdprf | 四级
Private Sub Command1_Click()
Open "txt1路径" For Input As #1 '读取路径到文本
While Not EOF(1)
Line Input #1, S
txt1= txt1 & S & vbCrLf
Wend
Open "txt2路径" For Input As #1 '读取路径到文本
While Not EOF(1)
Line Input #1, S
txt2= txt2 & S & vbCrLf
Wend
Text1.Text = txt1 & vbcrlf & txt2 '将读取内容放入文本框'
Close #1 '关闭#1号文件
End Sub
2011-10-31 09:38 imkarayi | 二级
'添加 Text1 Command1
'确认在C盘目录下存在 txt1 和 txt2
Option Explicit
Private Sub Command1_Click()
Dim fBuf1() As Byte, fBuf2() As Byte
Dim fName1 As String, fName2 As String
Dim fNo1 As Integer, fNo2 As Integer
Dim fSize1 As Long, fSize2 As Long
Dim Out1 As String, Out2 As String
fName1 = "c:\txt1" '设定文件1的路径
If Dir(fName1) Then Exit Sub '如果文件1不存在,退出
fNo1 = FreeFile '获取未使用的文件号
Open fName1 For Binary Access Read As #fNo1 '二进制方式读取文件1
fSize1 = LOF(fNo1) '获取文件1长度
ReDim fBuf1(fSize1 - 1) As Byte '重定义文件1的缓冲数组
Get #fNo1, , fBuf1() '读取文件1的所有数据
Close #fNo1 '关闭文件1
fName2 = "c:\txt2" '设定文件2的路径
If Dir(fName2) Then Exit Sub '如果文件不2存在,退出
fNo2 = FreeFile '获取未使用的文件号
Open fName2 For Binary As #fNo2 '二进制方式读取文件2
fSize2 = LOF(fNo2) '获取文件1长度
ReDim fBuf2(fSize2 - 1) As Byte '重定义文件1的缓冲数组
Get #fNo2, , fBuf2 '读取文件1的所有数据
Close #fNo2 '关闭文件1
Out1 = StrConv(fBuf1, vbUnicode) '文件1的缓冲数组转换为字符串
Out2 = StrConv(fBuf2, vbUnicode) '文件1的缓冲数组转换为字符串
Text1.Text = Out1 & Out2 '合并后输出到Text1
End Sub
Private Sub Form_Load()
Command1.Caption = "读取" '设定按键1的标题
Text1.Text = "" '清空Text1的内容
End Sub
VB读取TXT每一行
2011-8-5 20:07
提问者:﹏時洸機 | 浏览次数:290次
就是将TXT内的内容的每一行 显示在 text1中,text1设置为多行显示
还有 j将text2中得内容 每一行保存为txt
问题补充:
请不要 复制粘贴一些网上的 代码,那些我都看过了 ,都不大符合我想要的
写一个sub
sub GetTxt()
dim TempStr$
open "TXT路径,自己填" for input as #1
do while not eof(1)
line input #1,TempStr
text1.text=text1.text & TempStr & vbcrlf
loop
close #1
end sub
'调用示例
private sub command1_click()
gettxt
end sub
'第二个,还是写一个sub
sub SaveTxt()
open "这里写一个txt的路径,如c:\1.txt" for output as #1
print #1,text2.text
close #1
end sub
'调用示例
private sub command2_click()
savetxt
end sub
没有vb调试,如果有小问题,自己调试下
2011-8-5 20:36 xjnzhidao | 十二级
open "c:\1.txt" for input as #1
while not eof(1)
line input #1,s
text1.text=text1.text & s & vbcrlf
wend
close #1
'保存text2
open "c:\1.txt" for output as #1
print #1,text2.text
close #1
VB中读取文本文件中的每一行,处理后写入另一个文本文件
2010-5-10 23:57
提问者:bhmr | 悬赏分:100 | 浏览次数:880次
1:vb中读取一个文本文件
2:将每一行字符“name”后的所有内容运行某个字符转换函数(现成存在在,架设为函数abc)
3:将每一行原来的内容+字符“name”后经过函数转换好的内容写入另一个文本文件
4: 每个文本文件大约有1万行左右
问题补充:
如果该行中没有name需要跳过该行
主要是文件比较大,都是1万行以上的
Private Sub Command1_Click()
Open App.Path + "\1.txt" For Input As #1
Open App.Path + "\2.txt" For Binary As #2
Do While Not EOF(1)
Dim tmp, tmp2 As String
Dim l As Long
Line Input #1, tmp
l = InStr(1, tmp, "name")
tmp2 = Mid(tmp, 1, l - 1) & "name" & 你的函数ABC(Mid(tmp, l + 4)) & vbCrLf
Put #2, , tmp2
Doevents '防程序卡死
Loop
Close #1
Close #2
End Sub
我是可以写,不过处理10000行。。。估计没效率方法
期待高手我也学习学习…………
Private Sub Command1_Click()
Open App.Path + "\1.txt" For Input As #1
Open App.Path + "\2.txt" For Binary As #2
Do While Not EOF(1)
Dim tmp, tmp2 As String
Dim l As Long
Line Input #1, tmp
l = InStr(1, tmp, "name")
tmp2 = Mid(tmp, 1, l - 1) & "name" & 你的函数ABC(Mid(tmp, l + 4)) & vbCrLf
Put #2, , tmp2
Doevents '防程序卡死
Loop
Close #1
Close #2
End Sub
赞同
0
| 评论
2010-5-11 00:56 欧联科技 | 三级
其实你的问题可以换个思路来解决啊,为什么要写个新的文件了,你可以把你的文本文件装载到文本框,然后利用文本查找和文本替换的方法来修改文本,然后将结果写成文件就可以啦。
赞同
0
| 评论
2010-5-11 01:02 warmice5255 | 一级
可以用fso对象进行操作。打开2个文本,边读边写。1W行业不是很多
赞同
0
| 评论
2010-5-11 07:39 cushionyoung | 五级
dim op() as string,temp1 as string,temp as string,i as long
open 文件路径1 for input as #1
open 文件路径2 for output as #2
do while not eof(1)
i=i+1
line input #1,temp'按行读取
temp1=temp
op=split(temp,"name")'将读取的行按name拆分,name后的写入数组op
if ubound(op)>0 then'该行存在name
temp=op(ubound(op))'取出name后的字符串
temp=abc(temp)''你的处理函数
print #2,temp1 & temp
label1.caption="已完成" & i & "行"'加个label显示进度
doevents'行太多了,防止程序假死
loop
close #2
close #1
Dim appdisk$, aa$, tmpstr$(), i&, n& 'str 别把它当变量名称使用
Private Sub Command1_Click()
appdisk = Trim(App.Path) '你不判断的话qq.txt在c:\时便会出错
If Right(appdisk, 1) <> "\" Then appdisk = appdisk & "\"
If Dir(appdisk & "qq.txt") <> "" Then
Open appdisk & "qq.txt" For Input As #1
n = 0
While Not EOF(1)
ReDim Preserve tmpstr$(n)
Line Input #1, aa
tmpstr(n) = aa
n = n + 1
Wend
Close #1
For i = 0 To n - 1
Print tmpstr(i)
Next i
Else
MsgBox "无此文件"
End If
End Sub
Text1.Text = Join(Str, vbCrLf) '显示所有内容
展开阅读全文