Вверх ↑
Этот топик читают: Гость
Ответов: 55
Рейтинг: 1
#1: 2009-11-23 21:05:01 ЛС | профиль | цитата
Здравствуйте.
У меня такой вопрос: имеется файл с текстом "2009/11/11 15:46:43 PNMT(LOCAL) LINK CONNECT SYSTEM +"
необходимо при загрузке из файла привести его к такому виду "2009/11/11 ;15:46:43; PNMT(LOCAL) LINK; CONNECT ; SYSTEM ; +" для добавления в таблицу.
Пожалуйста подскажите как это сделать.
карма: 0

0
Ответов: 175
Рейтинг: 10
#2: 2009-11-23 21:14:04 ЛС | профиль | цитата
Add(MainForm,2953706,28,147)
{
Width=953
Height=524
}
Add(Edit,6627945,210,84)
{
Left=80
Top=10
Width=505
Text="2009/11/11 15:46:43 PNMT(LOCAL) LINK CONNECT SYSTEM +"
}
Add(Button,1563799,133,154)
{
Left=35
Top=145
link(onClick,16190010:doReplace,[])
}
Add(Replace,16190010,217,154)
{
SubStr=" "
DestStr=";"
link(onReplace,1639420:doText,[])
link(Str,6627945:Text,[(223,135)(216,135)])
}
Add(Edit,1639420,315,154)
{
Left=80
Top=40
Width=510
Text=""
link(onChange,6398121:doAdd,[])
}
Add(StringTable,6398121,455,154)
{
Left=190
Top=105
Width=650
Columns=#1:1|1:2|1:3|1:4|1:5|1:6|1:7|1:8|1:9|
}


карма: 1

0
Ответов: 55
Рейтинг: 1
#3: 2009-11-23 21:25:39 ЛС | профиль | цитата
Дело в том, что после каждой части текса имееися по 5-8 пробелов и в вашем примере они заполняются ";" в результате получаем "2009/11/11 ;;;;15:46:43;;;;;; PNMT(LOCAL) LINK;;;;;;;; CONNECT ;;; SYSTEM ;;;;;;;;+"
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#4: 2009-11-23 21:37:06 ЛС | профиль | цитата
ssnik74, выложи хотя бы строчки три из своего текстового файла
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 55
Рейтинг: 1
#5: 2009-11-23 21:44:03 ЛС | профиль | цитата
Вот:
2009/11/11 15:45:49 MAINT ON STATUS +

2009/11/11 15:45:59 RESET PMC<-PNMT(LOC) SYSTEM +

2009/11/11 15:46:27 STARTUP +

2009/11/11 15:46:39 PNMS(P2) LINK CONNECT(10.187.7.3) SYSTEM +

2009/11/11 15:46:43 PNMT(LOCAL) LINK CONNECT SYSTEM +

2009/11/11 15:47:11 MAINT OFF CONTROL +

2009/11/11 15:47:14 MAINT OFF STATUS +

2009/11/11 15:47:27 PNMT(LOCAL) LINK DISCONNECT SYSTEM +
------------ Дoбавленo в 21.45:
только почемуто в сообщении сразу все пробелы удалились
------------ Дoбавленo в 21.46:
пробую еще раз
2009/11/11 15:45:49 MAINT ON STATUS +

2009/11/11 15:45:59 RESET PMC<-PNMT(LOC) SYSTEM +

2009/11/11 15:46:27 STARTUP +
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#6: 2009-11-23 22:00:04 ЛС | профиль | цитата
ssnik74, выложи в тегах code
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 175
Рейтинг: 10
#7: 2009-11-23 22:07:52 ЛС | профиль | цитата
пропусти строку последовательно через несколько фильтров, которые меняют, к примеру 8 пробелов на ;, затем 7 пробелов на ; и т.д.

а то, что ты выложил у меня корректно формируется и вписывается в таблицу



code_15794.txt
карма: 1

0
файлы: 1code_15794.txt [1.1KB] [130]
Ответов: 55
Рейтинг: 1
#8: 2009-11-23 22:11:56 ЛС | профиль | цитата
заменяю пробелы"%"

2009/11/11%15:45:59%RESET PMC<-PNMT(LOC)%%%%%%%%%%%SYSTEM %%+

2009/11/11%15:46:27%STARTUP%%%%%%%%%%%%%+

2009/11/11%15:46:39%PNMS(P2) LINK%%%%%%%%%%%CONNECT(10.187.7.3)%%%%%SYSTEM%%+

2009/11/11%15:46:43%PNMT(LOCAL) LINK%%%%%%%%CONNECT%%%%%SYSTEM%%+

и еще каждая строка разделена от следующей пустой строкой.
------------ Дoбавленo в 22.16:
Спасибо a0005d26f попробую.
карма: 0

0
Ответов: 171
Рейтинг: 19
#9: 2009-11-23 22:20:51 ЛС | профиль | цитата
Да просто в таблице strDelimeter поставить пробел и всё
code_15795.txt
карма: 0

0
файлы: 1code_15795.txt [900B] [196]
Ответов: 16884
Рейтинг: 1239
#10: 2009-11-23 22:29:24 ЛС | профиль | цитата
ssnik74, Насколько я понял, к примеру, все + должны собраться в 7-ой колонке ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 5446
Рейтинг: 323
#11: 2009-11-23 22:44:00 ЛС | профиль | цитата
ssnik74, организуй цикл: заменять "два пробела" на "один пробел" пока длина строки не перестанет меняться, а потом пробелы на ; меняй - и voila! Примерно так:
code_15796.txt
карма: 1

0
файлы: 1code_15796.txt [802B] [223]
Ответов: 5227
Рейтинг: 587
#12: 2009-11-23 22:44:51 ЛС | профиль | цитата
code_15797.txt

карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
файлы: 1code_15797.txt [1KB] [200]
Ответов: 55
Рейтинг: 1
#13: 2009-11-23 23:00:46 ЛС | профиль | цитата
Огромное человеческое спасибо всем ответившим.

карма: 0

0
Ответов: 294
Рейтинг: 64
#14: 2009-11-23 23:15:35 ЛС | профиль | цитата
Мои пять копеек)) :


Add(MainForm,2953706,224,161)
{
Width=544
Height=466
}
Add(Button,1563799,287,161)
{
Left=5
Top=10
link(onClick,4904811:doEnum,[])
}
Add(Edit,10934076,343,112)
{
Left=65
Top=10
Width=465
Text="2009/11/11 15:46:43 PNMT(LOCAL) LINK CONNECT SYSTEM +"
}
Add(Str_Enum,4904811,343,161)
{
Delimiter=" "
link(onEnum,1882590:doCompare,[])
link(onEndEnum,15415781:doReplace,[(383,174)(383,230)])
link(String,10934076:Text,[])
}
Add(StrMask,1882590,399,161)
{
link(onFalse,13842263:doAdd,[])
}
Add(Replace,15415781,448,224)
{
SubStr="
"
DestStr=";"
link(onReplace,3274943:doAdd,[])
link(Str,13842263:Text,[])
}
Add(StrList,13842263,448,161)
{
}
Add(StringTable,3274943,504,224)
{
Left=5
Top=40
Width=525
Height=385
Columns=#1:1|1:2|1:3|1:4|1:5|1:6|1:7|1:8|1:9|
}



----------------------
И для нескольких строк соответственно:


Add(MainForm,14728885,357,168)
{
Width=554
Height=293
link(onCreate,14913261:doEnum,[])
}
Add(RichEdit,7413787,406,112)
{
Left=5
Top=10
Width=535
Height=110
Strings=#55:2009/11/11 15:45:59 RESET PMC<-PNMT(LOC) SYSTEM +|0:|35:2009/11/11 15:46:27 STARTUP +|0:|65:2009/11/11 15:46:39 PNMS(P2) LINK CONNECT(10.187.7.3) SYSTEM +|0:|62:2009/11/11 15:46:43 PNMT(LOCAL) LINK CONNECT SYSTEM +|
}
Add(Str_Enum,4904811,511,182)
{
Delimiter=" "
link(onEnum,1882590:doCompare,[])
link(onEndEnum,15812135:doEvent1,[(551,195)(551,251)])
}
Add(StrMask,1882590,560,182)
{
link(onFalse,13842263:doAdd,[])
}
Add(Replace,15415781,616,245)
{
SubStr="
"
DestStr=";"
link(onReplace,3274943:doAdd,[])
link(Str,13842263:Text,[])
}
Add(StrList,13842263,616,182)
{
}
Add(StringTable,3274943,665,245)
{
Left=5
Top=125
Width=535
Height=125
Columns=#1:1|1:2|1:3|1:4|1:5|1:6|1:7|1:8|1:9|
}
Add(ArrayEnum,14913261,420,182)
{
link(onItem,6499278:doCompare,[])
link(Array,7413787:Array,[])
}
Add(Hub,15812135,560,245)
{
link(onEvent1,15415781:doReplace,[])
link(onEvent2,13842263:doClear,[(602,258)(602,195)])
}
Add(StrMask,6499278,462,182)
{
link(onFalse,4904811:doEnum,[])
}


карма: 0

0
Ответов: 55
Рейтинг: 1
#15: 2009-11-24 16:11:54 ЛС | профиль | цитата
Tad писал(а):
Насколько я понял, к примеру, все + должны собраться в 7-ой колонке ?

Точно так Tad, как Вы и написали. Все должно располагаться по колонкам, т.е. кое где должны остаться пустые колонки(в зависимости от текста), а "+" должен располагаться всегда в последней.
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)