Помогите с решением простой задачи пожалуйста
Есть файл с разными блоками данных, нужно переписать в другой файл информацию из определенных блоков.
Помимо прочего в этом файле есть 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, время: 08:07. |