Форум: "Основная";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];
ВнизОбработка одного файла, создание другого на его основе. Найти похожие ветки
← →
Demonix © (2005-06-27 22:02) [0]Здравствуйте мастера,
вот такая проблемка нарисовалась:
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-06-27 22:15) [1]И в чём проблема?
← →
ferr © (2005-06-27 22:42) [2]Размер таблички менятся?
← →
Demonix © (2005-06-28 14:10) [3]Т.е. есть исходник здоровенный файл текстовый, в котором повторяется "пример" 300 раз, и в нем соотв-но меняются интересующие меня поля которые мне нужны в табличке. Сделать такую обработку нужно всего 1 раз.
← →
Virgo_Style © (2005-06-28 14:15) [4]Например,
Читаешь файл построчно, находишь там значения нужных переменных, когда нашел все или блок закончился - формируешь строку и пишешь ее в свой файл.
Вроде ничего хитрого.
← →
Digitman © (2005-06-28 14:16) [5]
> Сделать такую обработку нужно всего 1 раз
иными словами, тебя интересует импорт данных из текстового файла в некую таблицу
текст.файл построчно читать умеешь ?
← →
Anatoly Podgoretsky © (2005-06-28 14:23) [6]Demonix © (28.06.05 14:10) [3]
> Сделать такую обработку нужно всего 1 раз
Не запрещено и многократное использование. Если же запрещено то сделай запись в реестре или ини файле.
← →
Erik1 © (2005-06-28 15:05) [7]Можно парсер регулярных выражений использовать, писать быстрее будет.
← →
Demonix © (2005-07-01 17:29) [8]В том то и дело, чо чайник я в программировании, не знаю как файл построчно прочитать, может кинете примерчик как в файле найти определенный символ и скопировать его в другой файл?
А том я уже переделаю под себя
Спасибо
← →
Virgo_Style © (2005-07-01 18:47) [9]Ну, чтобы попроще - возьми два Memo, в первый загрузи исходный файл (
LoadFromFile(...)
), в нем, в каждой строке (Memo.Lines.Strings[...]
) ищи нужные символы (Pos(...)
) и то, что тебе нужно - вырезай из исходной строки (copy(...)
) и вставляй во второе Memo (Lines.Add(...)
). В итоге ты сможешь сравнить, исходные данные и результат.
Результат сохранишь с помощьюSaveToFile(...)
;
← →
ferr © (2005-07-01 18:50) [10]http://www.podgoretsky.com/ddp.html
Искать вот это: Работа с файлами Паскаля.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.056 c