powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Парсинг текстового файла??
15 сообщений из 15, страница 1 из 1
Парсинг текстового файла??
    #33964178
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня.
Мне приходят текстовые файлы которые нужно парсить.
Читаю их построчно вот так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
	Const ForReading =  1 
	dim fso
	dim file
	dim string
	
	string = ""

	set fso = CreateObject("Scripting.FileSystemObject")
	set file = fso.OpenTextFile("D:\Test.txt", ForReading, False)

	Do While file.AtEndOfStream <> True
		string = file.Readline
                MsgBox string
		If Replace(string," ","") = "TestString" Then Exit Do
	Loop
Проблема... при проходе по файлу MsgBox выдаёт пустые строки (даже "Test String" на которой должен отвалиться не читает),
но если руками создать файл в блокноте и скопировать туда содержиммое исходника, то всё на ура проходит...
Вопрос в чём могут быть грабли и как можно поправить??
Спасибо.
З.Ы. Очень нужно :)
...
Рейтинг: 0 / 0
Парсинг текстового файла??
    #33964233
А почему ты не объявляешь типы переменных и имя переменной совпадает с названием типа String
попробуй так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
	Const ForReading =  1 
	dim fso as Object
	dim fl as Object
	dim str as String
	
	str = ""

	set fso = CreateObject("Scripting.FileSystemObject")
	set fl = fso.OpenTextFile("D:\Test.txt", ForReading, False)

	Do Until fl.AtEndOfStream 
		str = fl.Readline
                MsgBox str
		If Replace(str," ","") = "TestString" Then Exit Do
	Loop
...
Рейтинг: 0 / 0
Парсинг текстового файла??
    #33964246
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробую счаз...
Но как я постил выше всё работает ЕСЛИ СОЗДАТЬ ПУСТОЙ ФАЙЛ В БЛОКНОТЕ И КОПИРНУТЬ ТУДА ИСХОДНИК...
Т.е проблема судя по всему в кодировке, но не уверен.
Кто ни будь знает как решить??
...
Рейтинг: 0 / 0
Парсинг текстового файла??
    #33964274
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, уточнение... под исходником везде выше понимается исходный текстовый файл который нужно парсить :)
...
Рейтинг: 0 / 0
Парсинг текстового файла??
    #33964321
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Примеры файлов:
Вот этот исходный
...
Рейтинг: 0 / 0
Парсинг текстового файла??
    #33964327
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот этот созданный блокнотом
...
Рейтинг: 0 / 0
Парсинг текстового файла??
    #33964332
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В обоих файлах условие выхода из цыкла
Код: plaintext
If Replace(string," ","") = "15:4223Aug2006" Then Exit Do
...
Рейтинг: 0 / 0
Парсинг текстового файла??
    #33964399
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как то криво файлы прицепились :(
Вот новая ссылка (архив rar 1Kb) Test.txt - исходный, TestN.txt - после блокнота.
...
Рейтинг: 0 / 0
Парсинг текстового файла??
    #33964620
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХЕЛР мне! 8/
...
Рейтинг: 0 / 0
Парсинг текстового файла??
    #33964845
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не уж то ни кто не знает??
...
Рейтинг: 0 / 0
Парсинг текстового файла??
    #33964870
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не буду говорить что идеал, но работает

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Public Sub Test()
    Const ForReading =  1 
    Dim fso As Object
    Dim file As Object
    Dim strIn As String
    Dim x() As Byte
    Dim strOut As String

    
    strIn = ""

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set file = fso.OpenTextFile("D:\3\Test.txt", ForReading, False)

    Do While file.AtEndOfStream <> True
        strIn = file.Readline
        strOut = ""
        x = StrConv(strIn, vbFromUnicode)
            For i =  1  To UBound(x) Step  2 
            strOut = strOut + Chr$(x(i))
        Next
        Debug.Print strOut
    Loop

End Sub
...
Рейтинг: 0 / 0
Парсинг текстового файла??
    #33965065
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по тому, что первый код у этого экзальтированного Деда работал, он его запускал как VBScript. Поэтому твой вариант не катит.
...
Рейтинг: 0 / 0
Парсинг текстового файла??
    #33965243
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну тогда еще проще

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    Const ForReading =  1 
    Const TristateTrue = - 1 
    Dim fso
    Dim fl
    Dim strin
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set fl = fso.OpenTextFile("D:\3\Test.txt", ForReading, False, TristateTrue)

    Do While fl.AtEndOfStream <> True
        strin = fl.Readline
        MsgBox strin
    Loop
...
Рейтинг: 0 / 0
Парсинг текстового файла??
    #33965555
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to HandKot:
Спасибо. Просто с fso знаком не очень.

to Antonariy
Простите, но повода для хамства не давал...
...
Рейтинг: 0 / 0
Парсинг текстового файла??
    #33966072
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения. Что вас возмутило?
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Парсинг текстового файла??
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]