即使有“,”也不会读不出来啊, 给你举个例子: Private Sub Command1_Click() Dim strInput As String Open ("c:\a.txt") For Input As #1 '循环读取处理前文件的内容直到结束。 Do While Not EOF(1) Line Input #1, strInput MsgBox strInput Loop End Sub 刚才我看了你的问题,写了这段程序试了一下没问题。a.txt的内容为 abc a,b,c a;b;c a,b,c a;b;c 不知道我的回答是否满足你的要求?
问题真是奇怪,是不是:用 line input #1,变量,读回一行,所有逗号都可以读入。
dkiller, 用二进制读,然后自己编程分析!!!
line input 就是行读命令
以下为我看了你的问题后写的程序 只要建立一个窗体并建立一个List box就可以了! 读出的字符串装在S()字符串数组中! vb6测试通过!'"1.txt"为装有所要查找的字符串的文件Open "D:\1.txt" For Input As #1 Dim Common As Boolean Dim Start, Endl As Integer Dim St As String Dim Count As Long Line Input #1, St Start = 1Do Common = False If InStr(Start, St, ",") Then Start = InStr(Start, St, ",") + 1 Count = Count + 1 Common = True End If Loop Until Common = False'以上为统计逗号的个数 '以下将每个以逗号分割的字符串写入 S()As String 中 Dim S() As String ReDim S(Count) Count = 0 Endl = 1 Start = 1 Do Common = False If InStr(Start, St, ",") Then Start = InStr(Start, St, ",") + 1 Count = Count + 1 S(Count) = Mid(St, Endl + 1, Start - Endl - 2) Endl = Start Common = True End If Loop Until Common = FalseFor n = 1 To Count List1.AddItem S(n) Next n如果我的程序还可以就给我一点分吧!!!
上文有一点问题,我先道歉,改成下文所述就100%正确了!Private Sub Form_Click() '"1.txt"为装有所要查找的字符串的文件Open "D:\1.txt" For Input As #1 Dim Common As Boolean Dim Start, Endl As Integer Dim St As String Dim Count As Long Line Input #1, St Start = 1 If Right(St, 1) <> "," Then St = St & "," Do Common = False If InStr(Start, St, ",") Then Start = InStr(Start, St, ",") + 1 Count = Count + 1 Common = True End If Loop Until Common = False'以上为统计逗号的个数 '以下将每个以逗号分割的字符串写入 S()As String 中 Dim S() As String ReDim S(Count) Count = 0 Endl = 1 Start = 1 Do Common = False If InStr(Start, St, ",") Then Start = InStr(Start, St, ",") + 1 Count = Count + 1 S(Count) = Mid(St, Endl, Start - Endl - 1) Endl = Start Common = True End If Loop Until Common = FalseFor n = 1 To Count List1.AddItem S(n) Next n End Sub
Line input #1, strLineData
'写入文件 FileNum = FreeFile Open sFile For Binary Access Write As FileNum Put #FileNum, , str 'str 为你的字符串即可 Close #FileNum 读可以用input$()我在pb辅助开发工具 是实现了。 [email protected]
如果不想改写文件程序的话,就用binary打开,自己编程判断
给你举个例子:
Private Sub Command1_Click()
Dim strInput As String
Open ("c:\a.txt") For Input As #1
'循环读取处理前文件的内容直到结束。
Do While Not EOF(1)
Line Input #1, strInput
MsgBox strInput
Loop
End Sub
刚才我看了你的问题,写了这段程序试了一下没问题。a.txt的内容为
abc
a,b,c
a;b;c
a,b,c
a;b;c
不知道我的回答是否满足你的要求?
用二进制读,然后自己编程分析!!!
只要建立一个窗体并建立一个List box就可以了!
读出的字符串装在S()字符串数组中!
vb6测试通过!'"1.txt"为装有所要查找的字符串的文件Open "D:\1.txt" For Input As #1
Dim Common As Boolean
Dim Start, Endl As Integer
Dim St As String
Dim Count As Long
Line Input #1, St
Start = 1Do
Common = False
If InStr(Start, St, ",") Then
Start = InStr(Start, St, ",") + 1
Count = Count + 1
Common = True
End If
Loop Until Common = False'以上为统计逗号的个数
'以下将每个以逗号分割的字符串写入 S()As String 中
Dim S() As String
ReDim S(Count)
Count = 0
Endl = 1
Start = 1
Do
Common = False
If InStr(Start, St, ",") Then
Start = InStr(Start, St, ",") + 1
Count = Count + 1
S(Count) = Mid(St, Endl + 1, Start - Endl - 2)
Endl = Start
Common = True
End If
Loop Until Common = FalseFor n = 1 To Count
List1.AddItem S(n)
Next n如果我的程序还可以就给我一点分吧!!!
'"1.txt"为装有所要查找的字符串的文件Open "D:\1.txt" For Input As #1
Dim Common As Boolean
Dim Start, Endl As Integer
Dim St As String
Dim Count As Long
Line Input #1, St
Start = 1
If Right(St, 1) <> "," Then St = St & ","
Do
Common = False
If InStr(Start, St, ",") Then
Start = InStr(Start, St, ",") + 1
Count = Count + 1
Common = True
End If
Loop Until Common = False'以上为统计逗号的个数
'以下将每个以逗号分割的字符串写入 S()As String 中
Dim S() As String
ReDim S(Count)
Count = 0
Endl = 1
Start = 1
Do
Common = False
If InStr(Start, St, ",") Then
Start = InStr(Start, St, ",") + 1
Count = Count + 1
S(Count) = Mid(St, Endl, Start - Endl - 1)
Endl = Start
Common = True
End If
Loop Until Common = FalseFor n = 1 To Count
List1.AddItem S(n)
Next n
End Sub
'写入文件
FileNum = FreeFile
Open sFile For Binary Access Write As FileNum
Put #FileNum, , str 'str 为你的字符串即可
Close #FileNum
读可以用input$()我在pb辅助开发工具 是实现了。
[email protected]