Помогите с решением простой задачи пожалуйста
Есть файл с разными блоками данных, нужно переписать в другой файл информацию из определенных блоков.
Помимо прочего в этом файле есть N количество блоков вида: [1] ... ... ... [2] ... ... ... [n] ... ... ... При чём идут они точно друг за другом и после последнего блока известна строка. Другими словами у меня должен получится цикл типа: while(!fr.AtEndOfstream) { try{ ReadLine = fr.ReadLine(); if(ReadLine == "") { continue; } } catch(e) { break; } if(ReadLine = [1]) { do { ReadLine = fr.ReadLine(); if(ReadLine == "") { continue; } f.WriteLine(ReadLine); } while(ReadLine != /\[2]/) } } но понятно что получается полная хня. ) В общем нужна помощь пожалуйста ):help: |
Maolis, я сделал такой файл...
data.txt [1] ... ... ... [2] ...1 ...2 ...3 [3] ... ... ... И такую программку...
tmp ;;;;[ 27.11.2014 15:00 ]
n
s file="d:\box\data.txt"
s o=##class(%File).%New(file)
d o.Open("RS")
s exit=0
s find=0
while 'o.AtEnd,'exit {
s str=o.ReadLine()
if 'find {
s find=$locate(str,"\[2\]")
continue
}
s exit=$locate(str,"\[\d+\]")
w:'exit !,str
}
k o
q
Получился такой вывод информации LVB>d ^tmp ...1 ...2 ...3 |
по-другому немного решил проблему. Спасибо, закрыт
|
| Часовой пояс GMT +3, время: 19:32. |