![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обработка одного файла, создание другого на его основе. [D6, D7, WinXP]
Demonix © (2005-06-27 22:02:00)Здравствуйте мастера,
вот такая проблемка нарисовалась:
1.Есть исходный файл, текстовый, английский, рамер 16Мб и постоянно растет.
2. Есть определенные параметры в файле, которые нужно вывести форматированно в другой файл.
3. Как это сделать?
Конечный файл должен быть вида:
-------------------------------------------------------------
idx Run start_time stop_time Master
1 17 Wed Apr 20 01:50:34 Wed Apr 20 12:02:11 197631
2 ...
3 ...
4
и т.д. до конца файла.
-------------------------------------------------------------
В исходном фале очень много таких записей, около 300 штук, т.е. нужно создать табличку из 300 пунктов.
Пример исходного файла:
--------------------------------------------
=============== RUN 17 ===== FILE 1 ==================== NEW RUN
Program = MAIN v0.5.0 14 Apr. 2005 (Client-Server Edition). SYSTEM STATUS at: Wed Apr 20 01:50:34 2005
MASTER started with: TR = 4 MASK hex vector: FF 0 0 E 0 0 0 0 0 0 FF 0 0 0 FF FF
NO MONOPOLE has been Installed
BACKGROUND process Capture:
CP_polling...INT = 600 Sec
BELOW follows ON-LINE RUN file scedule:
Request to STOP SYSTEM (finish code # 1) was done at: Wed Apr 20 12:02:11 2005
LAST FILE Name = c0017.001
FINAL TOTAL COUNTERS : MASTER = 197631 MONOP = 0 CP = 61 LTS = 0
--------------- Bad Quality Final Capture: ---------------
Lost_WTim = 0 Naked_WTim = 0
Wrong_BPI = 0 Lost_EvNb = 0
Wrong_ChNb = 0 Doubl_ChNb = 0
Stop_Clust = 0 Outof_Trig = 8425
Lost_Mono = 0 TOO_LONG = 0
--------------- On-RUN CC-error Final Capture: -----------
NO CC ERRORS AT ALL
STOP LIM was done OK at: Wed Apr 20 12:02:11 2005
=======================================================
ferr (2005-07-01 18:50:00) [1]http://www.podgoretsky.com/ddp.html
Искать вот это: Работа с файлами Паскаля.
Virgo_Style (2005-07-01 18:47:00) [2]Ну, чтобы попроще - возьми два Memo, в первый загрузи исходный файл (
LoadFromFile(...)), в нем, в каждой строке (Memo.Lines.Strings[...]) ищи нужные символы (Pos(...)) и то, что тебе нужно - вырезай из исходной строки (copy(...)) и вставляй во второе Memo (Lines.Add(...)). В итоге ты сможешь сравнить, исходные данные и результат.
Результат сохранишь с помощьюSaveToFile(...);
Demonix (2005-07-01 17:29:00) [3]В том то и дело, чо чайник я в программировании, не знаю как файл построчно прочитать, может кинете примерчик как в файле найти определенный символ и скопировать его в другой файл?
А том я уже переделаю под себя
Спасибо
Erik1 (2005-06-28 15:05:00) [4]Можно парсер регулярных выражений использовать, писать быстрее будет.
Anatoly Podgoretsky (2005-06-28 14:23:00) [5]Demonix © (28.06.05 14:10) [3]
> Сделать такую обработку нужно всего 1 раз
Не запрещено и многократное использование. Если же запрещено то сделай запись в реестре или ини файле.
Digitman (2005-06-28 14:16:00) [6]
> Сделать такую обработку нужно всего 1 раз
иными словами, тебя интересует импорт данных из текстового файла в некую таблицу
текст.файл построчно читать умеешь ?
Virgo_Style (2005-06-28 14:15:00) [7]Например,
Читаешь файл построчно, находишь там значения нужных переменных, когда нашел все или блок закончился - формируешь строку и пишешь ее в свой файл.
Вроде ничего хитрого.
Demonix (2005-06-28 14:10:00) [8]Т.е. есть исходник здоровенный файл текстовый, в котором повторяется "пример" 300 раз, и в нем соотв-но меняются интересующие меня поля которые мне нужны в табличке. Сделать такую обработку нужно всего 1 раз.
ferr (2005-06-27 22:42:00) [9]Размер таблички менятся?
ferr (2005-06-27 22:15:00) [10]И в чём проблема?