如何在阅读一行时将光标放在前面,以便 AtEndOfStream 检查工作
How to bring the cursor on the front while reading a line so that AtEndOfStream check works
我有一个包含 10 条记录的文件。我正在尝试使用下面的内容阅读它。现在发生的事情是我需要从第一行循环查找一些公司名称并需要使用该名称创建一个文件(这就是我在 if 循环中所做的)。
在 Else
中,我需要对所有行进行一些数据挖掘,包括已读取的第一行。现在因为 ReadLine
读取一行然后将光标留在行尾(在下面的情况下光标将在测试之后),所以在下面的读取顺序将被 1 弄乱,或者第一行或最后一行将被遗漏(取决于您重新阅读该行的位置)。
这只是为了测试(请保留这个。这是文中引用的示例)
Set tsIn = fso.OpenTextFile("F:kushal94c.csv", 1)
Do While Not tsIn.AtEndOfStream
If firstRead Then
l = tsIn.Skipline ' skip the header row
l = tsIn.Readline
dim tsOut : Set tsOut = fso.CreateTextFile("..\HCR Files\" & _
ucase(formatFileDate(getSafeString(l))) & ".e", true, tristatefalse)
Else
l = tsIn.Readline
l = left(l, (len(l) - 1))
l = split(l, chr(34) & "," & chr(34))
'All other stuff
End if
Loop
Dim tsOut, firstRead
Set tsIn = fso.OpenTextFile("F:kushal94c.csv", 1)
If Not tsIn.AtEndOfStream Then tsIn.Skipline 'skip the header row
firstRead = True
Do While Not tsIn.AtEndOfStream
l = tsIn.Readline
'save the first line
If firstRead Then
Set tsOut = fso.CreateTextFile("..\HCR Files\" & _
ucase(formatFileDate(getSafeString(l))) & _
".e", true, tristatefalse)
firstRead = False
End If
l = left(l, (len(l) - 1))
l = split(l, chr(34) & "," & chr(34))
'etc etc
Loop
我有一个包含 10 条记录的文件。我正在尝试使用下面的内容阅读它。现在发生的事情是我需要从第一行循环查找一些公司名称并需要使用该名称创建一个文件(这就是我在 if 循环中所做的)。
在 Else
中,我需要对所有行进行一些数据挖掘,包括已读取的第一行。现在因为 ReadLine
读取一行然后将光标留在行尾(在下面的情况下光标将在测试之后),所以在下面的读取顺序将被 1 弄乱,或者第一行或最后一行将被遗漏(取决于您重新阅读该行的位置)。
这只是为了测试(请保留这个。这是文中引用的示例)
Set tsIn = fso.OpenTextFile("F:kushal94c.csv", 1)
Do While Not tsIn.AtEndOfStream
If firstRead Then
l = tsIn.Skipline ' skip the header row
l = tsIn.Readline
dim tsOut : Set tsOut = fso.CreateTextFile("..\HCR Files\" & _
ucase(formatFileDate(getSafeString(l))) & ".e", true, tristatefalse)
Else
l = tsIn.Readline
l = left(l, (len(l) - 1))
l = split(l, chr(34) & "," & chr(34))
'All other stuff
End if
Loop
Dim tsOut, firstRead
Set tsIn = fso.OpenTextFile("F:kushal94c.csv", 1)
If Not tsIn.AtEndOfStream Then tsIn.Skipline 'skip the header row
firstRead = True
Do While Not tsIn.AtEndOfStream
l = tsIn.Readline
'save the first line
If firstRead Then
Set tsOut = fso.CreateTextFile("..\HCR Files\" & _
ucase(formatFileDate(getSafeString(l))) & _
".e", true, tristatefalse)
firstRead = False
End If
l = left(l, (len(l) - 1))
l = split(l, chr(34) & "," & chr(34))
'etc etc
Loop