
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
要怎么实现? 展开
文本文件1.txt 的内容是:
a 12345
b 23456
c 47859
我在输入框text1.text输入:a
按确定
那么输入框text2.text输出:12345
我在输入框text1.text输入:b
按确定
那么输入框text2.text输出:23456
要怎么实现? 展开
3个回答
展开全部
对于你这道题,我觉得最好还是用读写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或相关转换函数进行转换后再使用
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或相关转换函数进行转换后再使用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询