Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

Работа со строками   Найти похожие ветки 

 
Tornado ©   (2004-04-13 10:41) [0]

Подскажите плиз как можно осуществить следующую задачу: имеется текстовой файл такого содержания (часть файла, на самом деле список большой):

Mailbox Name          Locn Last Checked In     Login Comments
---------------------------------------------------------------
01101-n.novgorod        P  18.03.04   13:50      ln  ПО Ларина    nov-01-vtg-diagnost-ne  L  18.03.04    8:04      ln  Лаборатория  krasov                                               диагностики,                                                      Некрасов     nov-01-vtg-diagnost-sh  L  18.03.04    7:59      ln  Нач.  
ishko                                                лаборатории                                                       диагностики,                                                      Шишко

Т.е. если длинный адрес то он переносится на след. строку, тоже самое с полем Comments. А мне нужно поместить в таблицу эти данные, т.е. в поле adres наименование адреса, в поле Locn букву которая после адреса (L или P) и так далее. Проблем бы не было если бы все писалось в строку...а как тут быть даже и не знаю, может есть способ?


 
Tornado ©   (2004-04-13 10:44) [1]

блин все растянулось неправильно :(((

вот так должно быть примерно:

Mailbox Name Locn Last Checked In     Login Comments
-----------------------------------------------------
какой-то     L    18.03.04  13.50     In   Лаборатория    
Adress                                     диагностики


 
TButton ©   (2004-04-13 10:46) [2]

use the CODE


 
piople ©   (2004-04-13 10:46) [3]

Пользуйся базой данных или в крайнем случае инициализационные файлы.


 
Tornado ©   (2004-04-13 10:47) [4]

>>> piople ©   (13.04.04 10:46) [3]

это лог-файл, мне его и нужно забить в базу


 
TButton ©   (2004-04-13 10:47) [5]

ну. WordWrap - false
отключи перенос по словам в блокноте.


 
piople ©   (2004-04-13 10:49) [6]

Удалено модератором
Примечание: 7 дней RO за мат


 
Tornado ©   (2004-04-13 10:53) [7]

>>>

piople ©   (13.04.04 10:49) [6]

да блин (не буду матом :) есть такой вот лог, который создает левая прога, мне его надо обработать вышеописанным образом


 
Tornado ©   (2004-04-13 10:54) [8]

>>> TButton ©   (13.04.04 10:47) [5]

попробую пасиб


 
Anatoly Podgoretsky ©   (2004-04-13 10:56) [9]

Это эниксовсовский формат, разделение строк символом LF
Загони в TStringList


 
Семен Сорокин ©   (2004-04-13 10:57) [10]

2Tornado
считывай посточно, раскидывай по полям, ориентируйся на позицию символа, дополняй в случае незаверншенности следующей строкой - все должно быть достаточно прозрачно.


 
Jack128 ©   (2004-04-13 11:02) [11]


> Tornado ©  
 А какое отношение WordWrap имеет к содержимому текстового файла? Или ты думаешь, что отмена WordWrap"a удалит из твоего файла лишнии #13#10?  Или все таки изначально формулировка

> Т.е. если длинный адрес то он переносится на след. строку
была несколько неправильной? ;-)


 
Tornado ©   (2004-04-13 11:13) [12]

>>> Jack128 ©   (13.04.04 11:02) [11]

WordWrap конечно тут не причем :) думаю нужно идти по пути предложенному Anatoly Podgoretsky ©   (13.04.04 10:56) [9]...формулировка правильная


 
Tornado ©   (2004-04-13 11:13) [13]

>>> Jack128 ©   (13.04.04 11:02) [11]

WordWrap конечно тут не причем :) думаю нужно идти по пути предложенному Anatoly Podgoretsky ©   (13.04.04 10:56) [9]...формулировка правильная


 
han_malign ©   (2004-04-13 11:29) [14]

У тебя есть обязательные поля (Locn, Last Checked In), по ним ты можешь определить первая это строка или строка с продолжением разбитых имен.
Формат табличный, и для каждой разбитой на несколько строк ячейки, ты должен выделид подстроку этой ячейки и добывить к предыдущей. При на хождении следущей строки с заполнеными обязательными полями(или окончанию файла), считаешь что накопление данных по ячейкам предыдущей записи закончено, и отправляешь в базу.
Формат тапблицы абсолютно прозрачен, полей мало, тебе нужно всего две буферных строки для накопления полей Mailbox Name, Login Comments (ну и еще две для хранения Locn, Last Checked In)...


 
han_malign ©   (2004-04-13 11:30) [15]

Ух, сколько помарок, мой личный рекорд пожалуй...


 
Tornado ©   (2004-04-13 11:50) [16]

>> han_malign ©   (13.04.04 11:29) [14]

эх примерчик бы махонький :)


 
Anatoly Podgoretsky ©   (2004-04-13 11:54) [17]

Tornado ©   (13.04.04 11:13) [13]
Если не веришь, то открой лог каким либо шестнадцатиричным редактором и посмотри.


 
panov ©   (2004-04-13 11:58) [18]

Т.е. если длинный адрес то он переносится на след. строку,

т.е. файл содержит2 строки вместо одной? Ты в этом точно уверен?
Если да, то как определил?


 
Tornado ©   (2004-04-13 12:02) [19]

>>> Anatoly Podgoretsky ©   (13.04.04 11:54) [17]

ну почему же не верю? ояень даже верю и теперь думаю как это реализвать, какие функции использовать...

>>> panov ©   (13.04.04 11:58) [18]

Точно, это же обычный лог, в него эта левая супер-программа пишет данные именно в таком виде, как будто есть невидимая таблица и длины строк не хватает для длинных адресов или кмментариев, она и переносит их на следущую строку...Это видно в обычном блокноте


 
panov ©   (2004-04-13 12:04) [20]

>Tornado ©   (13.04.04 12:02) [19]

Это видно в обычном блокноте

А это как раз и не есть правильно.
Я вот не уверен, что у тебя строка переносится...
Смотри содержимое в FAR, например, отключив перенос длинных строк, в HEX виде, в конце-кончов...



Страницы: 1 вся ветка

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.026 c
11-1061807748
electric
2003-08-25 14:35
2004.05.02
Как в KOL отправить письмо?


1-1081945561
Андрей Сенченко
2004-04-14 16:26
2004.05.02
Спасите тормоза :)


1-1082001109
gweep
2004-04-15 07:51
2004.05.02
Explorer и Delphi


4-1078857378
Tofig Gasanov
2004-03-09 21:36
2004.05.02
Нестандартные окна..


1-1082110062
Ivolg
2004-04-16 14:07
2004.05.02
Часы