Вверх ↑
Этот топик читают: Гость
Ответов: 1535
Рейтинг: 176
#16: 2012-08-19 19:52:52 ЛС | профиль | цитата
kacmem, сократил на 5 компонентов.

Add(HTTP_Get,14119341,245,203)
{
URL="http://forum.hiasm.com/forum_serv.php?q=10"
Wait=0
link(onDownload,12613505:doWork1,[])
AddHint(-101,-42,218,26,URL)
}
Add(MultiElement,12613505,287,210)
{
@Hint=#20:Получаем и разбираем|19:последние сообщения|18:с форума HiAsm.com|
link(onEvent1,2713802:doWork1,[])
link(onEvent2,2713802:doWork2,[])
link(onEvent3,2713802:doWork3,[])
AddHint(92,-36,133,39,@Hint)
}
BEGIN_SDK
Add(EditMulti,10566109,21,21)
{
EventCount=3
WorkCount=1
Width=433
Height=158
link(doWork1,6065964:doConvert,[(31,27)(31,41)])
}
Add(Charset,5939147,84,35)
{
Type=7
link(onCharset,205570:doEvent1,[])
}
Add(Replace,13732231,287,42)
{
SubStr=" "
DestStr="`"
link(onReplace,6350158:doMT,[(327,48)(327,55)])
AddHint(28,47,23,13,SubStr)
AddHint(22,64,18,13,DestStr)
}
Add(BlockFind,16035926,154,42)
{
IncludeBlock=1
StartBlock="hide f_last_topic"
EndBlock="call set_title"
link(onSearch,1498581:doSearch,[])
AddHint(-36,98,97,13,StartBlock)
AddHint(-24,79,75,13,EndBlock)
}
Add(BlockFind,1498581,196,42)
{
StartBlock="call"
EndBlock="
"
link(onSearch,9154793:doReplace,[])
link(onEndSearch,10566109:onEvent3,[(238,55)(238,41)])
AddHint(43,44,31,13,StartBlock)
AddHint(41,76,15,26,EndBlock)
}
Add(StreamConvertor,6065964,42,35)
{
Mode=6
link(onResult,5939147:doCharset,[])
}
Add(Hub,205570,126,35)
{
link(onEvent1,10566109:onEvent2,[(151,41)(151,34)])
link(onEvent2,16035926:doSearch,[])
}
Add(Replace,9154793,245,42)
{
SubStr="call addtopic 0 "
link(onReplace,13732231:doReplace,[])
AddHint(11,110,102,13,SubStr)
}
Add(MT_String,6350158,336,42)
{
Delimeter="`"
link(onResult,7205832:doString,[])
}
Add(FormatStr,7205832,378,42)
{
DataCount=8
Mask="%1;%3;%4;%6;%7;%8"
link(onFString,10566109:onEvent1,[(445,48)(445,27)])
}
END_SDK
Add(Timer,6024277,203,203)
{
Interval=15000
link(onTimer,14119341:doDownload,[])
AddHint(-11,39,45,13,Interval)
}
Add(MainForm,12009336,280,273)
{
Width=193
Height=72
Visible=1
Position=1
link(onCreate,1034573:doHide,[])
}
Add(TrayIcon,1034573,329,280)
{
Hint="Lite Forum Notify"
link(onClick,15935437:doWork2,[])
}
Add(MultiElement,2713802,329,210)
{
@Hint=#15:Что новенького?|
link(onEvent1,1966351:doWork1,[(370,216)(370,412)])
AddHint(52,10,102,13,@Hint)
}
BEGIN_SDK
Add(EditMulti,6679997,21,21)
{
EventCount=1
WorkCount=3
VarCount=1
Width=384
Height=291
link(doWork1,13518367:doAdd,[(46,27)(46,76)])
link(doWork2,13518367:doClear,[(42,34)(42,83)])
link(doWork3,1511066:doEnum,[(49,41)(49,146)])
link(Var1,15347605:Array,[(27,258)(349,258)])
}
Add(StrList,10377455,161,49)
{
@Hint=#9:Что имеем|
link(onChange,14994558:doEvent1,[(254,55)(254,117)(148,117)(148,272)])
link(Str,13518367:Text,[(167,37)(118,37)(118,127)(69,127)])
AddHint(49,17,71,13,@Hint)
}
Add(StrList,13518367,63,70)
{
@Hint=#12:Что получили|
AddHint(-6,-28,83,13,@Hint)
}
Add(If_else,910928,273,203)
{
Op2=Integer(0)
link(onTrue,15347605:doAdd,[])
link(onFalse,15114885:doReset,[(311,216)(311,184)(266,184)(266,153)])
link(Op1,15114885:Count,[])
AddHint(-41,44,21,13,Op2)
}
Add(ArrayEnum,1511066,77,140)
{
link(onItem,10702000:doEnum,[])
link(onEndEnum,10377455:doText,[(135,153)(135,76)])
link(Array,13518367:Array,[])
}
Add(ArrayEnum,10702000,175,140)
{
link(onItem,8215123:doCompare,[])
link(onEndEnum,910928:doCompare,[(220,153)(220,209)])
link(Array,10377455:Array,[])
}
Add(If_else,8215123,224,140)
{
link(onTrue,15114885:doNext,[])
link(Op1,6724611:Var3,[(230,128)(122,128)(122,181)])
link(Op2,10702000:Item,[(237,121)(215,121)(215,184)(181,184)])
}
Add(CounterEx,15114885,273,140)
{
Point(doReset)
}
Add(StrList,15347605,329,203)
{
@Hint=#11:Что выводим|
link(Str,6724611:Var2,[(335,194)(104,194)])
AddHint(47,16,83,13,@Hint)
}
Add(If_else,16774473,336,266)
{
Type=2
Op2=Integer(0)
link(onTrue,6679997:onEvent1,[(386,272)(386,27)])
link(Op1,15347605:Count,[])
AddHint(-42,19,21,13,Op2)
}
Add(GetDataEx,6724611,98,176)
{
Angle=3
link(Data,1511066:Item,[(83,181)])
}
Add(Hub,14994558,161,266)
{
link(onEvent1,16774473:doCompare,[])
link(onEvent2,15347605:doClear,[(318,279)(318,216)])
}
END_SDK
Add(PopupMenu,14220612,714,273)
{
Point(onSelectStr)
link(onClick,12016600:doRead,[(754,279)(754,272)])
link(onSelectStr,12687667:doCompare,[(754,286)(754,314)])
}
Add(HubEx,2975412,630,343)
{
link(onEvent,14220612:doAddItem,[(698,349)(698,293)])
}
Add(FormatStr,3358013,588,343)
{
DataCount=4
Mask="%1 ... [%4]"
link(onFString,2975412:doWork2,[])
}
Add(If_else,12687667,763,308)
{
Op2=String(Выход из программы)
link(onTrue,12009336:doClose,[(820,314)(820,249)(265,249)(265,300)])
link(onFalse,11245117:doCompare,[(803,321)(803,328)])
AddHint(-54,64,134,13,Op2)
}
Add(ArrayEnum,6279239,490,350)
{
@Hint=#14:Формируем меню|
link(onItem,14338799:doMT,[])
link(onEndEnum,1621155:doWork1,[(534,363)])
link(Array,16088423:Var2,[])
AddHint(8,-27,108,13,@Hint)
}
Add(If_else,11245117,812,322)
{
Op2=String(Очистить список последних сообщений)
link(onTrue,929000:doEvent1,[])
AddHint(96,33,165,26,Op2)
}
Add(ArrayRW,12016600,763,266)
{
link(onRead,13213564:doSplit,[])
link(Array,16088423:Var3,[(769,254)])
}
Add(MultiStrData,13213564,805,266)
{
Count=1
Direct=1
link(onPart1,11598826:doString,[])
}
Add(WinExec,13336334,889,259)
{
@Hint=#10:Направляем|9:в браузер|
AddHint(45,2,79,26,@Hint)
}
Add(FormatStr,11598826,847,266)
{
DataCount=1
Mask="http://forum.hiasm.com/forum.html?q=3&t=%1"
link(onFString,13336334:doShellExec,[])
AddHint(-103,-51,216,26,Mask)
}
Add(InfoTip,83858,518,84)
{
Info=#17:Lite Forum Notify|9:by kacmem|
Transparent=1
Width=113
Height=46
Margin=10
}
Add(Version,1969644,637,119)
{
Version="1.03"
Description="forum.hiasm.com notify"
E-mail="kacmem@bk.ru"
AddHint(43,-18,36,13,Version)
AddHint(42,1,122,13,Description)
AddHint(43,19,90,13,E-mail)
}
Add(DoData,5499376,651,280)
{
@Hint=#15:Координаты меню|
Data=Integer(3276850)
link(onEventData,14220612:doPopup,[])
AddHint(-17,-71,57,13,Data)
AddHint(-42,-53,108,13,@Hint)
}
Add(Hub,929000,854,322)
{
link(onEvent1,1966351:doWork2,[(880,328)(880,511)(368,511)(368,419)])
link(onEvent2,14045155:doWork1,[(892,335)(892,527)(259,527)(259,314)])
}
Add(MultiElement,14045155,280,308)
{
@Hint=#12:Смена иконки|6:в трее|
link(onEvent1,1034573:doIcon,[(320,314)(320,300)])
AddHint(-10,41,87,26,@Hint)
}
BEGIN_SDK
Add(EditMulti,2855519,21,21)
{
EventCount=1
WorkCount=2
Width=118
Height=116
link(doWork1,6586887:doWork1,[(31,27)(31,83)])
link(doWork2,6586887:doWork2,[(31,34)(31,90)])
}
Add(BitmapArray,1138859,84,35)
{
Bitmaps=[]
}
Add(ChanelToIndex,6586887,42,77)
{
link(onIndex,10845211:doRead,[])
}
Add(ArrayRW,10845211,84,77)
{
link(onRead,2855519:onEvent1,[(124,83)(124,27)])
link(Array,1138859:Array,[])
}
END_SDK
Add(MT_String,14338799,546,343)
{
link(onResult,3358013:doString,[])
}
Add(Str_Enum,11737780,588,392)
{
link(onEnum,2975412:doWork3,[(634,398)])
}
Add(DoData,9014424,546,392)
{
Data=String(-;Очистить список последних сообщений;-;Скрыть меню;-;Выход из программы)
link(onEventData,11737780:doEnum,[])
AddHint(-66,52,194,39,Data)
}
Add(HubEx,1621155,530,392)
{
link(onEvent,9014424:doData,[])
}
Add(MultiSetParam,11099866,420,406)
{
Parameters=#10:1;2;3; ;5 |9:1; ;3;4;5|
Count=5
link(onSet1,14220612:doClear,[(464,412)(464,300)])
link(onSet2,6279239:doEnum,[(471,419)(471,356)])
link(onSet3,14045155:doWork2,[(470,426)(470,459)(268,459)(268,321)])
link(onSet4,1621155:doWork2,[(492,433)(492,398)])
link(onSet5,15935437:doWork3,[(641,440)])
}
Add(ChanelToIndex,1966351,378,406)
{
link(onIndex,11099866:doSet,[])
}
Add(HubEx,15935437,637,280)
{
link(onEvent,5499376:doData,[])
}
Add(GetDataEx,16088423,490,249)
{
Angle=3
link(Data,2713802:Var1,[(335,254)])
}

карма: 1
Не так страшна ошибка, как опасность её не заметить.

1
Голосовали:kacmem
Ответов: 378
Рейтинг: 61
#17: 2012-08-19 20:01:43 ЛС | профиль | цитата
ser_davkin писал(а):
сократил на 5 компонентов
В меню добавляется пустой пункт, очистка с 10 раза (пока не пройдет следующее обновление) и т.д. Взялся сокращать, так сокращай без потерь...
------------ Дoбавленo в 20.01:
При выходе активируются открытые окна
карма: 0
0
Ответов: 1535
Рейтинг: 176
#18: 2012-08-19 20:05:32 ЛС | профиль | цитата
kacmem писал(а):
В меню добавляется пустой пункт
не заметил лишную точку с запятой.
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 378
Рейтинг: 61
#19: 2012-08-19 20:14:16 ЛС | профиль | цитата
ser_davkin писал(а):
не заметил лишнее точку с запятой
Лишний пункт ладно, а что со стабильностью
------------ Дoбавленo в 20.13:
[offtop]Спать ушел, у нас 3 ночи, все ответы завтра...[/offtop]
карма: 0
0
Гость
Ответов: 17029
Рейтинг: 0
#20: 2012-08-19 20:15:36 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2021-06-22 13:19:18
карма: 0

0
Ответов: 1535
Рейтинг: 176
#21: 2012-08-19 20:25:43 ЛС | профиль | цитата
г. ость, я знал, что можно провернуть подобное, но не думал, что в FormatStr возможен трюк с нумерацией.
kacmem писал(а):
При выходе активируются открытые окна
Что-то я этого не замечаю (xp_sp3)
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 378
Рейтинг: 61
#22: 2012-08-20 07:46:23 ЛС | профиль | цитата
г. ость писал(а):
code_28810.txt
г. ость, спасибо! Это круто

ser_davkin, твои корректировки приняты

ser_davkin писал(а):
Что-то я этого не замечаю (xp_sp3)
Винда такая Винда...

Версия программы обновилась. Смотрим и качаем в шапке темы.
карма: 0
0
Ответов: 1535
Рейтинг: 176
#23: 2012-08-20 08:38:37 ЛС | профиль | цитата
kacmem, и всё-таки, я бы не стал перебирать в меню строки повторно, а чтобы не загромождать схему хабами, решается с помощью MultiSetParam. И смену иконок можно решить на 1 компонент меньше. И того -3 компонента. Как пример, предыдущее схемное решение перезалил (только вставь иконки).
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 378
Рейтинг: 61
#24: 2012-08-20 08:43:36 ЛС | профиль | цитата
ser_davkin писал(а):
смену иконок можно решить на 1 компонент меньше
Так делал, но отказался от этого решения - иконки не выводятся. С IconsManager всё работает, но иконки очень низкого разрешения выводятся - отказался.
карма: 0
0
Разработчик
Ответов: 4697
Рейтинг: 426
#25: 2012-08-20 12:01:15 ЛС | профиль | цитата
Фух, поработал над чем мог. Упростил все, на поиск чего хватило часа. kacmem, принимай аппарат

  • Удалено автоматическое всплывание меню (кому нужно, тот вернет. Мне просто неудобно, когда что-то вылазит поверх экрана, пока я работаю).
  • Переделан мультик парсера страницы.
  • Переделан мультик отбора новых тем.
  • Переделано поведение кнопки "Очистить список сообщений".
  • Добавлено удаление кнопки темы из списка непрочитанных при клике по ней в меню.
  • Автор последнего сообщения отображается теперь справа от названия топика.
  • Различные мелкие няшности и примочки
[burl=http://iassasin.narod.ru/work/lfn_a.zip]lfn_a.zip[/burl]
------------ Дoбавленo в 11.32:
Ну и как это выглядит в Ubuntu (удивлен, что удалось совершить всю доработку прямо под вайном ):
watch
------------ Дoбавленo в 12.00:
kacmem, если эта программа задумывалась как очень простой и однокликовой, то этого вполне уже достаточно. Если же немного больше, то нужна такая тонкая настройка некоторых параметров, таких как показ всплывающего меню при поступлении новых сообщений. Добавление опционального звука, если появляются новые сообщения. Иконку можно бы другую. Добавить список избранных тем, за которыми слежение ведется всегда. Добавить авторизацию для зарегистрированных пользователей, чтобы слежение происходило еще и для ЛС. Одним словом, поработать есть над чем
карма: 10
1
Голосовали:kacmem
Ответов: 378
Рейтинг: 61
#26: 2012-08-20 12:57:20 ЛС | профиль | цитата
Assasin писал(а):
kacmem, принимай аппарат
Спасибо конечно, но пока не могу Не работает у меня схема твоя (WinXP, VirtualBox)... Смотрю в чём затык...
------------ Дoбавленo в 12.56:
Assasin писал(а):
Автор последнего сообщения отображается теперь справа от названия топика
Assasin писал(а):
Ну и как это выглядит
Также и выглядит только авторы теперь выровнены...
Assasin писал(а):
если эта программа задумывалась как очень простой и однокликовой
Именно так
карма: 0
0
Разработчик
Ответов: 4697
Рейтинг: 426
#27: 2012-08-20 13:23:11 ЛС | профиль | цитата
kacmem, проверил в WinXP виртуалке - работает
карма: 10
0
Ответов: 378
Рейтинг: 61
#28: 2012-08-20 19:01:54 ЛС | профиль | цитата
Assasin писал(а):
проверил в WinXP виртуалке - работает
А у меня пока нет, сижу в поисках...
------------ Дoбавленo в 19.01:
Assasin, к сожалению не успеваю сегодня разобрать твой вариант, завтра обязательно займусь...
карма: 0
0
Разработчик
Ответов: 4697
Рейтинг: 426
#29: 2012-08-20 20:09:28 ЛС | профиль | цитата
[offtop]
kacmem писал(а):
Assasin, к сожалению не успеваю сегодня разобрать твой вариант, завтра обязательно займусь...

Хех! То, что я сделал за час, не могут разобрать за целый день Мне стоит пересмотреть свои методы построения схем.[/offtop]
карма: 10
0
Ответов: 1535
Рейтинг: 176
#30: 2012-08-21 12:40:35 ЛС | профиль | цитата
kacmem, у меня на XP_sp3 вариант от Assasin работает не хуже других.
карма: 1
Не так страшна ошибка, как опасность её не заметить.

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