Вверх ↑
Этот топик читают: Гость
Администрация
Ответов: 15294
Рейтинг: 1518
#16: 2007-10-17 20:37:12 ЛС | профиль | цитата
Кусок форума HiAsm, который отвечает за выборку тегов кода из поста юзера. От текста между тегами берется длинна и сравнивается с заданным диапозоном
code_7393.txt

карма: 26
0
файлы: 1code_7393.txt [686B] [427]
Ответов: 3514
Рейтинг: 184
#17: 2007-10-17 21:03:50 ЛС | профиль | цитата
Я честно говоря вообще не понял, как это работает... тем более, что не работает)


Add(EntryPoint,1424650,133,147)
{
link(onStart,784893:doOpen,[])
}
Add(FileRead,7227583,392,147)
{
Length=9999
link(onRead,4763686:doReplace,[(436,153)(436,300)(233,300)(233,447)])
link(FileID,9370913:FileID,[(398,135)(334,135)(334,191)(251,191)])
}
Add(CallFunc,14814741,294,147)
{
Args=1
Name="!feof"
IgnoreResult=1
link(onPrint,6294065:doWhile,[])
}
Add(File,784893,189,147)
{
FileName="hiasm.html"
Mode="w"
link(onOpen,9370913:doOpen,[])
}
Add(FileWrite,1324485,462,147)
{
link(FileID,784893:FileID,[(468,128)(238,128)(238,192)(195,192)])
}
Add(While,6294065,343,147)
{
link(onWhile,7227583:doRead,[])
}
Add(File,9370913,245,147)
{
FileName="http://pda.blogs.yandex.ru/search.xml?text=LIME+im"
Mode="r"
link(onOpen,14814741:doPrint,[])
}
Add(PregReplaceCallback,4763686,245,441)
{
Pattern="#<ul class="search-results">(.*?)</ul>#si"
link(onFindMatch,518251:doInline,[])
link(Text,7227583:Result,[(251,310)(398,310)])
}
Add(ArrayRead,11822144,343,441)
{
Index=1
link(onRead,12303453:doLength,[])
}
Add(Length,12303453,392,441)
{
link(onLength,5370210:doCompare,[])
}
Add(If_else,5370210,441,441)
{
Type=6
Op2=Integer(200000)
link(onTrue,1324485:doWrite,[(485,447)(485,300)(450,300)(450,153)])
link(Op1,2439355:Result,[])
link(Op2,9802239:Result,[(454,433)(496,433)])
}
Add(Inline,518251,294,441)
{
InlineCode=#34:global $db_attach, $db_posts_text;|
link(onInline,11822144:doRead,[])
}
Add(If_else,2439355,441,392)
{
Type=1
Op2=Integer(200000)
}
Add(If_else,9802239,490,392)
{
Type=2
Op2=Integer(100)
}
карма: 0
0
Администрация
Ответов: 15294
Рейтинг: 1518
#18: 2007-10-17 22:51:36 ЛС | профиль | цитата
Астрамак, в слудующий раз пост с кодом, вставленном вне соответствующих тегов будет удаляться
карма: 26
0
Ответов: 9906
Рейтинг: 351
#19: 2007-10-17 23:06:32 ЛС | профиль | цитата
А что кстати за вольности с пробелами в тегах CODE
карма: 9

0
Администрация
Ответов: 15294
Рейтинг: 1518
#20: 2007-10-17 23:10:55 ЛС | профиль | цитата
заменяются только два подряд стоящих. для всех прочих случаев нужно вставлять спецификаторы синтаксиса и все будет нормально
карма: 26
0
Ответов: 3514
Рейтинг: 184
#21: 2007-10-17 23:23:47 ЛС | профиль | цитата
Dilma, помоги, а?
карма: 0
0
Ответов: 9906
Рейтинг: 351
#22: 2007-10-17 23:25:49 ЛС | профиль | цитата
Dilma писал(а):
только два подряд стоящих

Это не очень допустимо в формате SHA-файла...
В св-ве StrList - это вообще катастрофа
Да и просто в строке пропадание пробелов - совсем не в тему
карма: 9

0
Администрация
Ответов: 15294
Рейтинг: 1518
#23: 2007-10-17 23:32:54 ЛС | профиль | цитата
Астрамак, ощущение такое, что пост прочитан не был:

Dilma писал(а):
Кусок форума HiAsm, который отвечает за выборку тегов кода из поста юзера. От текста между тегами берется длина и сравнивается с заданным диапазоном


Galkov писал(а):
Это не очень допустимо в формате SHA-файла...
В св-ве StrList - это вообще катастрофа

согласен
карма: 26
0
Ответов: 3514
Рейтинг: 184
#24: 2007-10-17 23:45:10 ЛС | профиль | цитата
Пост прочитан был, но толку нет.
Как мне получить не длину, а сам текст?
Как мне послать его дальше, в поток?
Правильно ли написан pattern в ручной замене найденного выражения?
Правильно ли я подключил всё это?
После плясок с бубном осталось вот это:
code_7395.txt

Мне почему то кажется, что ошибка в этом самом паттерн >_<
карма: 0
0
файлы: 1code_7395.txt [941B] [355]
Администрация
Ответов: 15294
Рейтинг: 1518
#25: 2007-10-18 10:15:26 ЛС | профиль | цитата
в примере 4 ошибки.
Основная ошибка тут:
onFindMatch=Событие происходит всякий раз при нахождение очередного совпадения регулярного выражения с частью строки и выдает массив соответствий в поток

карма: 26
0
Ответов: 3514
Рейтинг: 184
#26: 2007-10-18 19:08:25 ЛС | профиль | цитата
Млин... ну я в этом не бе, ни ме...
карма: 0
0
Администрация
Ответов: 15294
Рейтинг: 1518
#27: 2007-10-18 20:41:13 ЛС | профиль | цитата
Астрамак, если слова "выдает массив соответствий в поток" ни о чем не говорят, то следует вернуться к пакету Delphi и изучить термин "массив" и основные принципы работы с ним.
карма: 26
0
Ответов: 3514
Рейтинг: 184
#28: 2007-10-18 21:40:08 ЛС | профиль | цитата
Включим мозг. )
Массив отправляется в поток. Допустим, строку поиска по тексту я задал правильно.
Так. Нужно этот массив как-то обработать и придать ему человеческий вид.
так?
карма: 0
0
Администрация
Ответов: 15294
Рейтинг: 1518
#29: 2007-10-18 21:52:17 ЛС | профиль | цитата
Dilma писал(а):
Астрамак, в слудующий раз пост с кодом, вставленном вне соответствующих тегов будет удаляться


карма: 26
0
Ответов: 3514
Рейтинг: 184
#30: 2007-10-18 23:14:48 ЛС | профиль | цитата
Ёмаё... ну фиг с ним...
карма: 0
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)