Дан файл токого содержания:
- Код: Выделить всё
*-------------->
---
--@*>column<*#(Столбик 1)--line#3(--)--line#51(--)--*>column<*
---
--@*>column<*#(Столбик 2)--line#2564(-<amount>-<*amount>-)--line#3210(--)--*>column<*
---
--@*>column<*#(Столбик 3)--line#12(--)--line#21(--)--*>column<*
---
--@*>column<*#(Столбик 4)--line#129(--)--line#215(-<amount>-<*amount>-)--*>column<*
---
*--------------<
"-" - инфа не имеющая отношения к проблеме (кол. обсолютно разное, из-за этого размер файла от 300 до 3000 колобайт)
"@*>column<*#" - начало столбика
"*>column<*" - конец столбика
"line#" - строка и её номер, после решетки
"<amount>" - "<*amount>" - начало и конец ключевой записи
И из этого файла нужно найти слово "line#" и от скобки до скобки найти "<amount>", почему только от скобки до скобки, потому что в инфе не имеющей отношения к проблеме такая запись тоже встречается, но она нам не нужна.
В ключевой записи "<amount>" сравнить инфу с заданной, и если инфа соответствует, то вернутя выше и найти "@*>column<*#" и от него найти "*>column<*" и всё это скопировать в новый файл и тд. дописывая в один и тот же файл.
Новый файл должен выглядеть так:
- Код: Выделить всё
@*>column<*#(Столбик 2)--line#2564(-<amount>-<*amount>-)--line#3210(--)--*>column<*
@*>column<*#(Столбик 4)--line#129(--)--line#215(-<amount>-<*amount>-)--*>column<*
Как это всё сделать ума не прилажу. Пробовал InStr, но для больших файлов не подходит. Считываю весь файл в массив,
- Код: Выделить всё
Dim TheBytes() As Byte, SourceFile As String
SourceFile = "путь к файлу"
ReDim TheBytes(FileLen(SourceFile) - 1)
Open SourceFile For Binary As #1
Get #1, , TheBytes()
Close #1
а как дальше не знаю.
Прошу отнестись с пониманием и помочь в решении проблемы или кодом с примерной задачей, очень нужно!