Используя VB6, как я могу проверить, находится ли подстрока в начале другой строки? - PullRequest
0 голосов
/ 21 ноября 2011

Мне нужно пройти через текстовый файл и проверить, начинается ли начало каждой строки с «Атрибут».Как мне это сделать в VB6?

Ответы [ 4 ]

2 голосов
/ 21 ноября 2011

Используйте регулярное выражение. Вы должны будете включить библиотеку регулярных выражений VBScript в свои ссылки.

Dim reg As new Scripting.Regex().
reg.Pattern = "^Attribute"
If reg.Match(line) Then
     ' Do Something
End If
1 голос
/ 21 ноября 2011

Вы можете попробовать что-то вроде этого (код не проверен) -

Dim ParseDate, AllLinesStartWithAttribute, fso, fs
AllLinesStartWithAttribute = False
Set fso = CreateObject("Scripting.FileSystemObject")
Set fs = fso.OpenTextFile("c:\yourfile", 1, True)
Do Until fs.AtEndOfStream
    If Left(fs.ReadLine, 9) <> "Attribute" Then
       AllLinesStartWithAttribute = False
       Exit Do
    End If
Loop
fs.Close
Set fs = Nothing

После запуска кода, если значение AllLinesStartWithAttribute установлено в значение true, все строки в вашем файле начинаются с «Атрибут». Обратите внимание, что этот код чувствителен к регистру.

1 голос
/ 21 ноября 2011
Dim sInput As String, check as Boolean
check = true
Open "myfile" For INPUT As #txtFile
While Not EOF(txtFile)
   Input #txtFile, sInput
   If Not Mid(sInput,1,9) = "ATTRIBUTE" Then
       check = false
   End if
   sInput = ""
Wend
Close #txtFile

Если в конце check = true, все строки начинаются с «ATTRIBUTE», иначе - нет.

0 голосов
/ 30 ноября 2011
Dim fso As New FileSystemObject
Dim ts As TextStream
Dim str As String

Set ts = fso.OpenTextFile(MyFile)
Do While Not ts.AtEndOfStream
    str = ts.ReadLine
    If InStr(str, "Attribute") = 1 Then
        ' do stuff
    End If
Loop
...