Вверх ↑
Этот топик читают: Гость
Ответов: 463
Рейтинг: 9
#1: 2010-03-09 23:27:27 ЛС | профиль | цитата
Помогите пожалуйста!
Мозги уже все сломал, в принципе задача такая:

в текстовом поле набирается текст, каждая строка проверяется
после добавления новой строки , ВЕСЬ текст добавляется в браузер
code_17250.txt

браузер выводит почему-то только последнюю строку а не весь текст набитый в поле
------------ Дoбавленo в 23.29:
вроде элементарное, а решить не могу схемно
карма: 0

0
файлы: 1code_17250.txt [559B] [79]
Ответов: 970
Рейтинг: 270
#2: 2010-03-09 23:32:09 ЛС | профиль | цитата
Точка doFromText загружает текст из потока, а не добавляет новую строку. В HTML перенос строки обзначаеться <br>

code_17251.txt
карма: 0

1
файлы: 1code_17251.txt [506B] [140]
Голосовали:ajaxii
Ответов: 463
Рейтинг: 9
#3: 2010-03-09 23:45:34 ЛС | профиль | цитата
спасибо!!!

------------ Дoбавленo в 11.14:
Add(HilightMemo,16182127,175,133)
{
Top=360
Width=1062
Height=165
Align=2
Font=[Courier New,8,0,0,1]
HilightFont=[Courier New,8,0,0,1]
Point(SearchStr)
Point(ReplaceStr)
link(onChange,13077628:doEvent1,[])
}
Add(WebBrowser,12273575,602,329)
{
Width=1062
Height=360
Align=2
Point(doFromText)
Point(doPrint)
Point(doPreview)
}
Add(Replace,12947311,483,371)
{
SubStr="
"
DestStr="<br>"
link(onReplace,940816:doEvent,[])
}
Add(FormatStr,9813062,560,168)
{
DataCount=1
Mask="<em>%1:</em>"
Point(FString)
link(onFString,1715397:doWork2,[(593,174)(593,251)])
}
Add(IndexToChanel,6139159,406,189)
{
Point(Index)
link(onEvent1,9813062:doString,[(548,195)(548,174)])
link(onEvent2,8973016:doString,[(541,202)(541,223)])
link(Index,2468841:Value,[(412,177)(503,177)])
}
Add(Case,9204514,315,91)
{
Value=String(()
DataOnTrue=Integer(1)
link(onNextCase,7271182:doCase,[(363,97)(363,41)])
link(onTrue,14364543:doEvent,[])
}
Add(Case,7271182,378,35)
{
Value=String())
DataOnTrue=Integer(0)
link(onTrue,13408609:doWork1,[(473,48)])
}
Add(Memory,2468841,497,133)
{
}
Add(HubEx,13408609,469,133)
{
link(onEvent,2468841:doValue,[])
}
Add(Hub,13077628,252,133)
{
link(onEvent1,9204514:doCase,[(290,139)(290,97)])
link(onEvent2,6139159:doEvent,[(336,146)(336,195)])
}
Add(FormatStr,8973016,553,217)
{
DataCount=1
Mask="</i>%1 </i>"
link(onFString,1715397:doWork1,[(597,223)])
}
Add(HubEx,1715397,593,245)
{
Angle=1
link(onEvent,10393099:doEvent,[(597,300)])
}
Add(Debug,940816,532,371)
{
link(onEvent,12273575:doFromText,[(559,377)(559,363)])
}
Add(Debug,10393099,525,294)
{
link(onEvent,12947311:doReplace,[(471,300)(471,377)])
}
Add(Debug,14364543,385,98)
{
link(onEvent,13408609:doWork2,[(422,104)(422,153)(458,153)(458,139)])
}


Задача такая:
1)если слово в скобках, то оно выделяется тэгами <u> , </u>
2) если стоит : то строка (текущая, до знака : ) выделяется тэгом <b> ,</b>

возможно ли такое? я пробовал очень много схем и комбинаций, перепробовал почти все из вкладки строки...
Есть решение такой задачи. Логика примерная в схеме
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#4: 2010-03-10 11:21:34 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2025-01-17 15:14:07
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#5: 2010-03-10 11:52:45 ЛС | профиль | цитата
1) делается простым replace
2) а это уже посложнее будет: если честным парсингом не заниматься, то нужно менять все блоки от любого символа до двоеточия на тот же самый блок, но со вставленными <b>. Поможет blockfind
карма: 26
1
Голосовали:ajaxii
Ответов: 463
Рейтинг: 9
#6: 2010-03-10 12:17:44 ЛС | профиль | цитата
Dilma писал(а):
если честным парсингом не заниматься

это как? посимвольно?
можно хоть алгоритмик.. ?

решение с блоками = оптимальное но частное, хотя может и сгодится... Огромное СПАСИБО!
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#7: 2010-03-10 12:33:37 ЛС | профиль | цитата
ajaxii писал(а):
можно хоть алгоритмик.. ?

- перебираем символы исходного текста
- если это ":", то
--- идем от текущего символа двигаясь назад до первой не буквы или до начала строки
--- обрамляем найденный блок тегами <b>
- возвращаемся в начало алгоритма
карма: 26
0
Ответов: 463
Рейтинг: 9
#8: 2010-03-10 15:15:41 ЛС | профиль | цитата
code_17263.txt

решение с блоком не помогает , он не может как видно "на лету" блок определить или я опять где-то накосячил
Dilma писал(а):
все блоки от любого символа до двоеточия на тот же самый блок
не даст только последний символ перед двоеточием?
если задать * то он просто все строки будет менять (по-логике должен) до двоеточия, а мне нужно только одну строку.?


неужто только парсером это решаемо? (пример такого парсера думаю содрать из помощи схема "Тэг".
------------ Дoбавленo в 17.59:
посмотрите пожалуйста, где у меня ошибка? (про гены шутка устарела)
------------ Дoбавленo в 07.37:
и .... тишина
карма: 0

0
файлы: 1code_17263.txt [1.6KB] [92]
Гость
Ответов: 17029
Рейтинг: 0
#9: 2010-03-13 13:16:42 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2025-01-17 15:14:07
карма: 0

0
Ответов: 463
Рейтинг: 9
#10: 2010-03-13 13:27:40 ЛС | профиль | цитата
Dilma писал(а):
Dilma писал(а):

- перебираем символы исходного текста
- если это ":", то
--- идем от текущего символа двигаясь назад до первой не буквы или до начала строки
--- обрамляем найденный блок тегами <b>
- возвращаемся в начало алгоритма



но ввод -то происходит "на лету" , блок еще не знает как со строкой поступить.
Получается что нужно исходный текст проверять построчно? и каждую строчку уже посимвольно?
тогда как отделить строку от строки? ставить маску на клавишу ввода? и ставить промежуточную память (для каждой строки) или начинать перебор построчно начиная перебор снажатия любой клавиши?


простите, я совсемне понимаю ... Если файл читать, то там попроще для меня логика построения схемы, перебираю построчно, а там уже все понятно... Но если ввод текста , я уже "поплыл"/
------------ Дoбавленo в 13.40:
Add(HilightMemo,16182127,154,196)
{
Top=360
Width=1062
Height=165
Align=2
Font=[Courier New,8,0,0,1]
HilightFont=[Courier New,8,0,0,1]
Point(PositionX)
link(onChange,13077628:doEvent1,[])
}
Add(WebBrowser,12273575,847,392)
{
Width=1062
Height=360
Align=2
Point(doFromText)
Point(doPrint)
Point(doPreview)
}
Add(Replace,12947311,686,385)
{
SubStr="
"
DestStr="<br>"
link(onReplace,12273575:doFromText,[(825,391)(825,426)])
}
Add(Hub,13077628,231,196)
{
link(onEvent1,2835764:doCompare,[(263,202)(263,139)])
}
Add(PointHint,13348942,504,91)
{
Info=#36: перебираем символы исходного текста|19:- если это ":", то |83:--- идем от текущего символа двигаясь назад до первой не буквы или до начала строки|39:--- обрамляем найденный блок тегами <b>|33:- возвращаемся в начало алгоритма|0:|
VAlign=0
HAlign=0
Width=470
Height=74
}
Add(If_else,2835764,280,133)
{
Op2=String(:)
link(onTrue,168119:doStrCat,[(331,139)(331,209)])
link(onFalse,1412781:doWork1,[(420,146)])
}
Add(For,6898919,182,315)
{
Step=-1
link(onStop,12411906:doStrCat,[])
link(Start,16182127:PositionX,[(188,278)(181,278)])
}
Add(StrCat,168119,350,203)
{
Str2="</b>"
link(onStrCat,6898919:doFor,[(394,209)(394,265)(170,265)(170,321)])
}
Add(StrCat,12411906,273,322)
{
Str2="<b>"
link(onStrCat,1412781:doWork2,[])
link(Str1,16182127:Text,[(279,282)(160,282)])
}
Add(HubEx,1412781,416,322)
{
link(onEvent,12947311:doReplace,[(495,328)(495,391)])
}


карма: 0

0
Ответов: 4641
Рейтинг: 334
#11: 2010-03-13 14:05:28 ЛС | профиль | цитата
ajaxii, вся проблемма это в
ajaxii писал(а):
если стоит : то строка (текущая, до знака : ) выделяется тэгом <b> ,</b>

если ты вместо этого сделаешь не двоеточие, а например в начале и в конце фигурные скобки { } то все ок.
просто назад неудобно откатываться...
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 463
Рейтинг: 9
#12: 2010-03-13 14:07:18 ЛС | профиль | цитата
Ravilr, потому и непросто! другими символами закрывая и открываю строку, очень легко оперировать, но вот найти начало строки очень непросто
карма: 0

0
Ответов: 4641
Рейтинг: 334
#13: 2010-03-13 15:12:48 ЛС | профиль | цитата
ajaxii писал(а):
но вот найти начало строки очень непросто

просто!!!!!!!..начало строки.. в основном начинается как символами 1013 а точнее заканчивается предыдущая
но вот самая первая строка...это сложнее
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Разработчик
Ответов: 26324
Рейтинг: 2147
#14: 2010-03-13 16:06:21 ЛС | профиль | цитата
Ravilr писал(а):
1013

Точно... А не 1310 Насколько мне известно, то весь KOL построен на символьной последовательности #13#10 или 0D0A
карма: 22

0
Ответов: 4641
Рейтинг: 334
#15: 2010-03-13 17:10:03 ЛС | профиль | цитата
nesco писал(а):
Точно... А не 1310



короче
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)