Ivann писал(а):
погоду xml можно с агента приделатьIvann писал(а):
или с яндекса. гугл на крайнякДа много откуда можно... и не только погоду)) Учитывая не только простоту получения информации, но и минимальное потребление трафика.
Я выкладывал основу (управляющую программу - Widgets_Panel.sha), а виджеты - только как пример, как раз для того, чтобы каждый желающий мог добавлять свое (можно будет в шапку этой темы добавлять удачное).
То есть смысл не в представленных виджетах, а в возможности управлять ими (не надо запускать/останавливать/прописывать в автозагрузку каждый в отдельности).
Да, кстати, для скачавших - запускать надо Widgets_Panel.exe, а не отдельное из папки Widgets.
Вот шаблон виджета с минимальным набором функционала для работы с Widgets_Panel:
[color=rgb(169, 169, 169)](добавил проверку на отсутствие Widgets.ini, чтобы запускался отдельно, иначе AlphaBlend=0. А так - 2 элемента можно снести, ибо Widgets_Panel сама проверяет наличие Widgets.ini и если нет - создает перед запуском виджетов)[/color]
Add(MainForm,11329518,161,28)
{
Left=15
Top=15
Width=141
Height=160
Caption="Test"
BorderStyle=3
TaskBar=1
DragForm=0
Point(doTop)
Point(doLeft)
Point(doAlphaBlendValue)
Point(Handle)
Point(onClose)
Point(Width)
Point(Height)
link(onCreate,6014317:doEvent1,[])
link(onClose,13727198:doAnimate,[(202,55)(202,125)])
}
Add(Hub,6014317,210,42)
{
link(onEvent1,1955442:In,[(231,48)(231,27)])
}
Add(LineBreak,7209742,42,56)
{
Caption="onCreate"
link(Out,11296966:doWork1,[])
Primary=[1955442,196,-35]
}
Add(MultiElement,11296966,112,56)
{
link(onEvent1,11329518:doTop,[])
link(onEvent2,11329518:doLeft,[])
link(onEvent3,11329518:doAlphaBlendValue,[])
link(Data1,1317105:Var1,[(118,41)(37,41)(37,96)])
}
BEGIN_SDK
Add(EditMulti,13553469,21,21)
{
EventCount=3
WorkCount=1
DataCount=1
Width=307
Height=326
link(doWork1,1031696:doEvent1,[(42,27)(42,120)])
}
Add(Application,12901992,112,65)
{
}
Add(FilePartElm,12539328,112,114)
{
link(onPart,12049958:doEvent1,[])
link(FileName,12901992:AppFileName,[])
}
Add(Hub,1031696,56,114)
{
OutCount=4
link(onEvent1,12539328:doPart,[])
link(onEvent2,14225378:doRead,[(91,127)(91,176)])
link(onEvent3,648306:doRead,[(85,134)(85,218)])
link(onEvent4,5885415:doWrite,[(79,141)(79,309)])
}
Add(Hub,12049958,154,114)
{
link(onEvent1,6330342:doValue,[(182,120)(182,71)])
link(onEvent2,1160293:doEnum,[])
}
Add(Ini,14225378,112,170)
{
FileName="Widgets.ini"
Section="Main"
Key="left_position"
link(onResult,13553469:onEvent2,[(290,176)(290,34)])
}
Add(Ini,648306,112,212)
{
FileName="Widgets.ini"
Section="Main"
Key="alphablend"
link(onResult,13510055:doCompare,[(152,218)(152,218)])
}
Add(GlobalVar,6330342,189,65)
{
Name="FileName"
}
Add(ArrayEnum,1160293,203,121)
{
link(onItem,13553469:onEvent1,[(280,127)(280,27)])
link(Array,12901992:Params,[(209,106)(125,106)])
}
Add(GlobalVar,13112692,126,261)
{
Name="FileName"
}
Add(Ini,5885415,112,296)
{
FileName="Widgets.ini"
Section="Run_Widgets_Handles"
link(Key,13112692:Var,[])
link(Value,13553469:Data1,[(139,286)(154,286)(154,337)(27,337)])
}
Add(If_else,13510055,161,212)
{
Op2=Integer(0)
link(onTrue,14464355:doData,[(205,218)(205,195)])
link(onFalse,16073908:doWork3,[(313,225)])
}
Add(DoData,14464355,217,189)
{
Data=Integer(255)
link(onEventData,16073908:doWork2,[])
}
Add(HubEx,16073908,309,189)
{
Angle=3
link(onEvent,13553469:onEvent3,[(313,41)])
}
END_SDK
Add(LineBreakEx,4081394,133,119)
{
Caption="h"
Type=3
link(_Data,1317105:Var2,[(139,109)(167,109)])
}
Add(LineBreakEx,10232988,238,91)
{
Caption="h"
Type=2
}
Add(WindowAnimation,13727198,238,119)
{
Step=2
Type=10
Mode=1
link(Handle,10232988:getVar,[])
}
Add(GetDataEx,1317105,161,91)
{
link(Data,11329518:Handle,[])
}
Так что свои идеи можно не описывать словами, а показывать в схемах
![](/img/smilies/icon_smile.gif)