vb怎样查找文本文件每一行的第一个字符

比如:文本文件1.txt的内容是:a12345b23456c47859我在输入框text1.text输入:a按确定那么输入框text2.text输出:12345我在输入框... 比如:
文本文件1.txt 的内容是:
a 12345
b 23456
c 47859
我在输入框text1.text输入:a
按确定
那么输入框text2.text输出:12345
我在输入框text1.text输入:b
按确定
那么输入框text2.text输出:23456
要怎么实现?
展开
 我来答
0871love
2008-05-16 · TA获得超过3518个赞
知道大有可为答主
回答量:1418
采纳率:50%
帮助的人:1754万
展开全部
对于你这道题,我觉得最好还是用读写INI文件来实现,要比你这个容易多了
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" ( _
ByVal lpApplicationName As String, _
lpKeyName As Any, _
ByVal lpDefault As String, _
ByVal lpRetunedString As String, _
ByVal nSize As Long, _
ByVal lpFileName As String) As Long

Private Declare Function SaveINIS Lib "kernel32" Alias "WritePrivateProfileStringA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, _
ByVal lpString As Any, _
ByVal lplFileName As String) As Long
第一个API用来读INI文件,第二个用来写INI文件
编写读INI的函数:
Function GetINI(ByVal AppName As String, ByVal KeyName As String, FilePath As String) As String
Dim RetStr As String
RetStr = String(255, Chr(0))
GetINI = Left(RetStr, GetPrivateProfileString(AppName, ByVal KeyName, "", RetStr, Len(RetStr), FilePath))
GetINI = Trim(GetINI)
End Function

写的简单点:
直接用
SaveINIS lpApplicationName, lpKeyName, lpString, lplFileName
参数说明
lpApplicationName:分组名(节点)
lpKeyName:关键字名
lpString:关键字的值
lplFileName:配置文件的文件名(带路径)
举例:
SaveINIS "Settings","A","12345","D:\MySet.ini"
SaveINIS "Settings","B","23456","D:\MySet.ini"
文件中的存放格式为:
[Settings]
A=12345
B=23456
读取:
S=GetINI("Settings", "A","D:\MySet.ini") '得到S=12345
S=GetINI("Settings", "B","D:\MySet.ini") '得到S=23456
注意,获取的值均为字符串型,如果是数值并要参与计算,请用Val或相关转换函数进行转换后再使用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秋色烽火
2008-05-16 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1.5万
采纳率:37%
帮助的人:1.3亿
展开全部
Sub FindKeyword(ByVal kw As String)
Dim Stream$, filepath$ '建立变量
filepath = IIf(Right$(App.Path, 1) <> "\" And Right$(App.Path, 1) <> "/", App.Path & "\answer.txt", App.Path & "answer.txt")
'生成读入文本路径
Open filepath For Input As #1 '读取
Do While Not EOF(1) '直到文件尾部
Line Input #1, Stream '行模式读取
If Not EOF(1) Then '判断是否到最后一行
Line Input #1, Stream '读取下一行
If Mid$(Stream, 1, 1) = Text1.Text Then
Text2.Text = Mid$(Stream, 2) '输出结果
End If
Else
Exit Do '直接退出do循环
End If
Stream = "" '初始化变量 : 清空
Loop
Close #1
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lxz1969
2008-05-16 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8524
采纳率:33%
帮助的人:1.2亿
展开全部
dim r as string
open "C:\1.txt" for input as #1
do while not eof(1)
line input #1,r
if left(r,1)=text1.text then
text2.text=right(r,len(r)-2)
exit do
end if
loop
close #1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式