Вверх ↑
Этот топик читают: Гость
Ответов: 902
Рейтинг: 27
#1: 2015-02-11 03:28:03 ЛС | профиль | цитата
Здравствуйте.
Собрал небольшую схему для обрезания ссылки.
Если например ссылка имеет вид:
http://yandex.ru/yandsearch?clid=9582&tex
или
http://www.yandex.ru/yandsearch?clid=9582&tex
То она обрезается до:
yandex.ru

Можно ли как-то упростить схему, чтоб не использовать кучу компонентов?
Может можно как-то тоже самое сделать с помощью например регулярного выражения?

code_35097.txt
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1code_35097.txt [1.2KB] [168]
Ответов: 12
Рейтинг: 1
#2: 2015-02-11 03:54:30 ЛС | профиль | цитата
code_35098.txt
Такой вариант подходит?
карма: 0

1
файлы: 1code_35098.txt [630B] [155]
Голосовали:juk
Ответов: 902
Рейтинг: 27
#3: 2015-02-11 04:31:23 ЛС | профиль | цитата
А если в блоке нет: www. работать будет?
Например с таким адресом?
http://financis-invest.org/
Думаю нет.
Но, это уже чуть ближе.
------------ Дoбавленo в 04.31:
Wkalik, По вашему аналогу, сделал так:

Add(MainForm,2953706,448,217)
{
}
Add(WebBrowser,14620706,581,182)
{
Top=75
Width=975
Height=410
URL=""
Silent=0
Point(NewWindow)
Point(doStop)
Point(Navigate)
Point(doSavePage)
Point(doFromText)
Point(doVisible)
Point(PHandle)
Point(Handle)
link(onProgress,614901:doCompare,[(671,209)(671,321)])
}
Add(StrMask,614901,791,315)
{
Mask="http://www*"
link(onFalse,200439:doSearch,[])
link(onTrue,16517046:doSearch,[(835,328)(835,370)])
link(Str,1300584:Var2,[(797,299)(734,299)])
}
Add(GetDataEx,1300584,728,273)
{
Angle=3
link(Data,14620706:CurrentURL,[(587,278)])
}
Add(HubEx,13715869,931,322)
{
link(onEvent,16760219:doCaption,[])
}
Add(PagePanel,16760219,980,322)
{
Width=980
Height=510
Point(doCaption)
}
Add(BlockFind,16517046,847,364)
{
IncludeBlock=1
StartBlock="www."
EndBlock="/"
link(onSearch,13715869:doWork2,[(905,370)(905,328)])
link(Text,1300584:Var3,[(853,278)])
}
Add(BlockFind,200439,847,315)
{
IncludeBlock=1
StartBlock="//"
EndBlock="/"
link(onSearch,13715869:doWork1,[(935,321)])
link(Text,1300584:Var1,[(853,267)(734,267)])
}


Плюсану Вам, спасибо за помощь.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1239
#4: 2015-02-11 13:00:05 ЛС | профиль | цитата
juk писал(а):
По вашему аналогу, сделал так:
Так делать не надо.
Ссылка - это обычный Path, а для его обработки есть компонент FilePartElm
code_35100.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
файлы: 1code_35100.txt [773B] [110]
Голосовали:juk
Ответов: 902
Рейтинг: 27
#5: 2015-02-11 16:09:42 ЛС | профиль | цитата
Tad, Спасибо за совет, тоже возьму на вооружение, но мне надо без: http://www.
А, почему не надо так как я сделал?
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 4630
Рейтинг: 749
#6: 2015-02-11 16:20:56 ЛС | профиль | цитата
Здесь есть компонент URLParser - может пригодиться.
карма: 26

0
Ответов: 16884
Рейтинг: 1239
#7: 2015-02-11 16:46:46 ЛС | профиль | цитата
Каюсь. Про
juk писал(а):
но мне надо без: http://www.
-не заметил.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 4698
Рейтинг: 426
#8: 2015-02-11 16:53:15 ЛС | профиль | цитата
juk, попробуй, не проверял.
Add(PagePanel,6803796,714,315)
{
Width=980
Height=510
Point(doCaption)
}
Add(WebBrowser,14620706,420,189)
{
Top=75
Width=975
Height=410
URL=""
Silent=0
Point(NewWindow)
Point(doStop)
Point(Navigate)
Point(doSavePage)
Point(doFromText)
Point(doVisible)
Point(PHandle)
Point(Handle)
link(onProgress,7580591:doExec,[(534,216)(534,321)])
}
Add(RE_Search,7580591,616,315)
{
Expression="http://(www.)?(.+?)/"
Point(Matches)
link(onMatch,2386975:doRead,[])
link(SourceStr,14620706:CurrentURL,[(622,281)(426,281)])
}
Add(ArrayRW,2386975,665,315)
{
Index=Integer(1)
link(onRead,6803796:doCaption,[])
link(Array,7580591:Matches,[(671,303)(657,303)(657,359)(643,359)])
}
карма: 10
0
Ответов: 902
Рейтинг: 27
#9: 2015-02-11 17:30:56 ЛС | профиль | цитата
Assasin, Спасибо! Это то, что нужно! Всё работает.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
9
Сообщение
...
Прикрепленные файлы
(файлы не залиты)