Tad писал(а):
mcmega, все команды (вернее маски команд) запиши в StrList и применяй для анализа StrMask(Хотя было-бы неплохо (прямо просится) добавить в компонент маску на '0123456789ABCDEF' (hex))
mcmega писал(а)
Не могу найти, где данные из скачанного файла хранятся или хотя бы как сохранить файл скачанный на диск без вызова диалогового окна (сохранить как) в папку с программой и именем как на сервере FTP?
я бы советовал сохранять временный файл под именем, например, myprog.hex (меньше линков и не надо выделять имя файла)
И очень просто рашается вопрос с диалоговым окном.
А пример есть, как это реализовать, я до этого не дорос ещё))
Это то, как сейчас ловятся символы с порта:
#pas
Add(ChildGroupBox,2155202,455,308)
{
}
BEGIN_SDK
Add(EditMulti,3644092,42,14)
{
EventCount=2
WorkCount=3
DataCount=1
Width=1161
Height=550
VOffset=140
HOffset=783
link(doWork1,5075557:doEnum,[(49,160)(49,111)])
link(doWork2,15329165:doEvent2,[(240,167)(240,62)])
link(doWork3,5711268:doEvent1,[])
}
Add(GroupBox,3298344,52,364)
{
Left=270
Top=97
Width=250
Height=315
Font=[Arial,8,0,0,204]
ParentFont=0
Caption="Работа с устройством"
MakeTrans(Caption)
}
Add(Hub,14099877,1176,161)
{
InCount=6
OutCount=1
link(onEvent1,3644092:onEvent2,[])
}
Add(Label,15124748,52,322)
{
Left=10
Top=77
Width=131
Height=17
Caption="Файл для загрузки в МК"
MakeTrans(Caption)
}
Add(FormatStr,3442130,1008,182)
{
DataCount=1
Mask="%1\r\n"
link(onFString,14099877:doEvent4,[])
}
Add(DoData,8956965,1057,42)
{
Data=String(U)
link(onEventData,14099877:doEvent1,[(1163,48)(1163,167)])
}
Add(LED,16636578,611,42)
{
Left=218
Top=22
ColorOn=65280
ColorOff=32768
link(onChange,10202083:doCompare,[])
}
Add(Hub,15844996,581,91)
{
OutCount=3
link(onEvent1,3203028:doStop,[(906,97)(906,55)])
link(onEvent2,16636578:doOn,[(603,104)(603,62)])
link(onEvent3,15354148:doData,[(605,111)(605,139)])
}
Add(Timer,3203028,1001,42)
{
Interval=10
Enable=1
AutoStop=500
link(onTimer,8956965:doData,[])
}
Add(If_else,14640087,944,42)
{
Type=5
Op2=String(. . .)
link(onTrue,3203028:doTimer,[])
link(Op1,3644092:Data1,[(950,28)(831,28)])
}
Add(Edit,16180008,777,168)
{
Left=5
Top=94
Width=210
Color=15532012
Text=""
link(onChange,13567403:doEvent1,[])
}
Add(ODialog,4589588,707,175)
{
Filter="HEX|*.hex|All|*.*"
Title=""
link(onExecute,5711268:doEvent2,[])
}
Add(ArrayRW,8215120,952,280)
{
link(onRead,3442130:doString,[(996,286)(996,188)])
link(Array,10437469:Array,[])
}
Add(ProgressBar,4490674,917,231)
{
Left=5
Top=117
Width=240
Height=15
Color=32768
Max=0
ProgressColor=65280
Point(doMax)
}
Add(Hub,10485665,889,280)
{
OutCount=3
link(onEvent1,8215120:doRead,[])
link(onEvent2,4490674:doPosition,[(910,293)(910,237)])
link(onEvent3,8761821:doWork1,[(915,300)(915,342)])
}
Add(DoData,15046238,868,238)
{
link(onEventData,4490674:doMax,[])
link(Data,10437469:Count,[(874,229)(951,229)])
}
Add(Counter,11329908,847,280)
{
Min=-1
Max=999999999
Default=-1
link(onNext,10485665:doEvent1,[])
}
Add(Thread,14788567,728,280)
{
Delay=10
link(onExec,11329908:doNext,[])
}
Add(StrList,10437469,938,161)
{
}
Add(InfoTip,16125333,658,147)
{
Info=#19:Загрузка в Hex в МК|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|
Width=393
Height=207
}
Add(Case,3948753,273,329)
{
@Hint=#4:XOFF|
Value=Integer(19)
link(onNextCase,10816665:doCase,[(313,335)(313,314)])
link(onTrue,8761821:doWork2,[])
AddHint(-14,-17,42,13,@Hint)
}
Add(Case,10816665,322,308)
{
@Hint=#3:XON|
Value=Integer(17)
link(onTrue,13512245:doWork3,[(361,321)])
AddHint(-10,-18,38,13,@Hint)
}
Add(Convertor,2904597,231,329)
{
Mode=3
link(onResult,3948753:doCase,[])
}
Add(Str_Enum,5075557,56,105)
{
@Hint=#15:БЛОК ОБР|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|
Delimiter=""
link(onEnum,7814260:doEvent1,[])
AddHint(-12,-33,117,13,@Hint)
}
Add(MemFifo,556140,161,112)
{
Count=7
link(onData,9050649:doStrCat,[(221,118)(221,105)(142,105)(142,230)])
}
Add(Case,9865424,196,224)
{
@Hint=#2:g+|
Value=String(g+)
link(onNextCase,12968234:doStrCat,[])
link(onTrue,15329165:doEvent1,[(233,237)(233,55)])
AddHint(-3,-17,27,13,@Hint)
}
Add(StrCat,9050649,154,224)
{
link(onStrCat,9865424:doCase,[])
link(Str1,556140:Value2,[(160,184)(174,184)])
link(Str2,556140:Value1,[])
}
Add(StrCat,12968234,238,224)
{
link(onStrCat,8849332:doCase,[])
link(Str1,556140:Value3,[(244,184)(181,184)])
}
Add(Case,8849332,280,224)
{
@Hint=#3:pf+|
Value=String(pf+)
link(onNextCase,8579177:doCase,[])
link(onTrue,13512245:doWork2,[(317,237)(317,286)])
AddHint(-4,-17,30,13,@Hint)
}
Add(Case,8579177,322,224)
{
@Hint=#3:pe+|
Value=String(pe+)
link(onNextCase,2030600:doStrCat,[])
link(onTrue,13512245:doWork1,[(361,237)])
AddHint(-5,-17,33,13,@Hint)
}
Add(StrCat,2030600,364,224)
{
link(onStrCat,597639:doCase,[])
link(Str1,556140:Value4,[(370,179)(188,179)])
}
Add(Case,597639,406,224)
{
@Hint=#4:c45b|
Value=String(c45b)
link(onNextCase,15125236:doStrCat,[])
link(onTrue,15844996:doEvent1,[(447,237)(447,97)])
AddHint(-12,-17,39,13,@Hint)
}
Add(HubEx,13512245,357,280)
{
link(onEvent,14788567:doStart,[])
}
Add(Hub,13567403,819,168)
{
OutCount=4
link(onEvent1,11274202:doEvent1,[])
link(onEvent2,12885066:doEvent1,[(885,181)(885,195)])
link(onEvent3,15046238:doData,[(851,188)(851,244)])
link(onEvent4,11329908:doReset,[(840,195)(840,300)])
}
Add(HubEx,8761821,705,336)
{
Angle=3
link(onEvent,14788567:doStop,[(709,293)])
}
Add(Hub,7814260,98,105)
{
link(onEvent1,2904597:doConvert,[(125,111)(125,335)])
link(onEvent2,556140:doValue,[])
}
Add(Hub,7127512,910,42)
{
link(onEvent1,14640087:doCompare,[])
link(onEvent2,3644092:onEvent1,[(1194,55)(1194,160)])
}
Add(Button,3907127,664,175)
{
Left=215
Top=102
Width=30
Font=[MS Sans Serif,8,1,0,1]
Caption=". . ."
link(onClick,4589588:doExecute,[])
}
Add(Button,10902509,766,42)
{
Left=5
Top=21
Width=210
Height=25
Caption="Подключиться"
Point(doCaption)
MakeTrans(Caption)
link(onClick,14024516:doCompare,[(805,48)(805,111)])
AddHint(-27,-23,89,13,Caption)
}
Add(Button,1594928,1074,189)
{
Left=5
Top=134
Width=115
Font=[MS Sans Serif,8,1,0,1]
Caption="Запись Flash"
Data=String(pf\r\n)
MakeTrans(Caption)
link(onClick,14099877:doEvent5,[])
AddHint(-17,34,80,13,Caption)
}
Add(Button,15836405,1074,245)
{
Left=130
Top=134
Width=115
Font=[MS Sans Serif,8,1,0,1]
Caption="Запись EEPROM"
Data=String(pe\r\n)
MakeTrans(Caption)
link(onClick,14099877:doEvent6,[(1141,251)(1141,202)])
AddHint(-17,34,101,13,Caption)
}
Add(Hub,15329165,259,49)
{
InCount=2
OutCount=1
link(onEvent1,16636578:doOff,[])
}
Add(DoData,9632157,700,28)
{
Data=String(Отключиться)
link(onEventData,6926084:doEvent1,[(737,34)(737,48)])
}
Add(If_else,10202083,658,42)
{
Op2=Integer(1)
link(onTrue,9632157:doData,[(695,48)(695,34)])
link(onFalse,12416381:doData,[(695,55)(695,69)])
}
Add(Hub,6926084,742,42)
{
InCount=2
link(onEvent1,10902509:doCaption,[])
link(onEvent2,9909713:doData,[])
}
Add(DoData,12416381,700,63)
{
Data=String(Подключиться)
link(onEventData,6926084:doEvent2,[(737,69)(737,55)])
}
Add(DoData,13252608,861,105)
{
Data=String(g\r\n)
link(onEventData,14099877:doEvent2,[(1154,111)(1154,174)])
}
Add(If_else,14024516,812,105)
{
Op2=String(Отключиться)
link(onTrue,13252608:doData,[])
link(onFalse,15833368:doData,[(852,118)(852,48)])
link(Op1,9909713:GetData,[])
}
Add(DoData,15833368,861,42)
{
link(onEventData,7127512:doEvent1,[])
}
Add(EventFromData,9909713,812,49)
{
}
Add(ListBox,5957109,1008,224)
{
Left=15
Top=162
Width=220
Height=130
}
Add(Hub,11274202,896,168)
{
link(onEvent1,10437469:doClear,[])
link(onEvent2,5957109:doClear,[(977,181)(977,237)])
}
Add(Hub,12885066,896,189)
{
link(onEvent1,10437469:doLoad,[])
link(onEvent2,5957109:doLoad,[(977,202)(977,258)])
}
Add(Hub,5711268,749,168)
{
InCount=2
OutCount=1
link(onEvent1,16180008:doText,[])
}
Add(Label,4265659,52,275)
{
Left=10
Top=55
Width=144
Height=17
Caption="Текущая версия прошивки:"
MakeTrans(Caption)
}
Add(Label,6378927,623,231)
{
Left=160
Top=56
Width=79
Height=17
Caption=""
Alignment=1
}
Add(Case,4317059,581,224)
{
@Hint=#4:c45b|
Value=String(mr0000)
link(onNextCase,6378927:doText,[(618,230)(618,237)])
AddHint(-5,-18,39,13,@Hint)
}
Add(StrCat,15125236,455,224)
{
link(onStrCat,3457596:doStrCat,[])
link(Str1,556140:Value5,[(461,171)(195,171)])
}
Add(StrCat,3457596,497,224)
{
link(onStrCat,4701450:doStrCat,[])
link(Str1,556140:Value6,[(503,163)(202,163)])
}
Add(StrCat,4701450,539,224)
{
link(onStrCat,4317059:doCase,[])
link(Str1,556140:Value7,[(545,156)(209,156)])
}
Add(DoData,15354148,616,133)
{
Data=String(mr0000\r\n)
link(onEventData,14099877:doEvent3,[(1145,139)(1145,181)])
}
Add(StrMask,8607245,483,462)
{
}
Add(StrList,13008570,420,455)
{
}
END_SDK
А это работа с FTP
#pas
Add(ChildGroupBox,12770962,378,322)
{
}
BEGIN_SDK
Add(EditMulti,13159196,21,70)
{
EventCount=1
WorkCount=1
Width=636
Height=501
VOffset=147
HOffset=500
link(doWork1,13619925:doEvent1,[])
}
Add(GroupBox,365837,37,371)
{
Left=5
Top=2
Width=258
Height=369
Caption="Обновления на сайте"
MakeTrans(Caption)
}
Add(Button,15340873,85,210)
{
@Hint=#26:Подключиться к FTP серверу|
Left=10
Top=16
Width=190
Height=30
Caption="Подключиться к серверу"
Data=Integer(0)
link(onClick,16612106:doOpen,[])
}
Add(Button,8613638,406,371)
{
Left=10
Top=331
Width=190
Height=30
Caption="Загрузить обновление"
MakeTrans(Caption)
link(onClick,22349:doWork3,[(445,377)])
}
Add(Label,8174238,36,420)
{
Left=10
Top=50
Width=136
Height=17
Caption="Устройства и обновления"
MakeTrans(Caption)
}
Add(WinFTP,16612106,196,210)
{
@Hint=#21:Работа с FTP сервером|
Host="185.28.20.123"
Username="u811458263.update"
Password="1Qaz2Wsx3Edc"
Directory="."
Point(onConnect)
Point(doFindFile)
Point(onFindFile)
Point(FoundFileName)
Point(FoundIsDirectory)
Point(FoundFileSize)
Point(onEndFind)
Point(doDirectory)
Point(onReadProgress)
PColor(RemoteName,16711935)
link(onError,8955230:MassageErr,[(236,216)(236,188)])
link(onRead,257687:doEvent1,[])
link(LocalName,11527279:Stream,[])
link(RemoteName,3920754:Var2,[])
link(onConnect,7219869:doEvent1,[])
link(onFindFile,5830101:FindFiles,[(258,237)(258,363)])
link(onEndFind,15245205:doData,[(258,244)(258,398)])
}
Add(LED,10513770,294,182)
{
Left=210
Top=16
Width=30
Height=30
ColorOn=65280
ColorOff=32768
ColorBlick=65280
}
Add(Hub,7219869,266,224)
{
link(onEvent1,10513770:doOn,[(287,230)(287,202)])
link(onEvent2,12702542:doEvent1,[(287,237)(287,272)])
}
Add(DoData,15245205,287,392)
{
Data=Integer(1)
link(onEventData,14496573:doSort,[])
}
Add(Hub,12702542,294,266)
{
InCount=2
OutCount=4
link(onEvent1,14496573:doClear,[(359,272)(359,363)])
link(onEvent2,14496573:doClearIcons,[(359,279)(359,405)])
link(onEvent3,5830101:UpDir,[(325,286)(325,384)(275,384)(275,356)])
link(onEvent4,16612106:doFindFile,[(317,293)(317,325)(184,325)(184,244)])
}
Add(StrPart,10114046,469,371)
{
Char=";"
Point(Right)
Point(Left)
link(onSplit,13548607:doEvent1,[])
link(Str,14496573:Select,[(475,359)(451,359)(451,428)(384,428)])
}
Add(Case,8101332,546,371)
{
Value=String()
link(onNextCase,9404152:doEvent1,[])
link(onTrue,2940043:doEvent1,[(585,384)(585,364)(94,364)(94,272)])
}
Add(Hub,9404152,595,371)
{
link(onEvent1,11527279:doOpen,[(619,377)(619,217)(184,217)(184,118)])
link(onEvent2,16612106:doReadFile,[(619,384)(619,217)(184,217)(184,230)])
}
Add(FileStream,11527279,196,112)
{
Mode=1
PColor(FileName,16711935)
link(FileName,6704352:Var3,[(202,100)(251,100)])
}
Add(Hub,257687,336,217)
{
OutCount=3
link(onEvent1,11527279:doClose,[(358,223)(358,238)(184,238)(184,125)])
link(onEvent2,8755687:doOn,[])
link(onEvent3,14496573:doSetFocus,[(359,237)(359,412)])
}
Add(DoData,11751105,133,245)
{
PColor(Data,16711935)
link(onEventData,16612106:doDirectory,[])
link(Data,3920754:Var1,[(139,163)])
}
Add(Hub,2940043,105,266)
{
link(onEvent1,11751105:doData,[(126,272)(126,251)])
link(onEvent2,12702542:doEvent2,[])
}
Add(MultiElementEx,8955230,245,182)
{
@Hint=#32:Сообщения об ошибках подключения|
}
BEGIN_SDK
Add(EditMultiEx,10796018,21,21)
{
WorkCount=#10:MassageErr|
Width=181
Height=144
link(MassageErr,1977508:doRead,[(31,27)(31,111)])
}
Add(StrList,8138722,42,35)
{
Strings=#0:|23:Нет доступа к Интернету|101:Ошибка создания FTP-сессии%13%10Проверьте правильность ввода параметров%13%10Host, UserName, Password|15:Доступ запрещён|24:Ошибка файловой операции|23:Ошибка доступа к файлу |0:|1: |
}
Add(ArrayRW,1977508,56,105)
{
link(onRead,10129075:doReplace,[])
link(Array,8138722:Array,[])
}
Add(Message,7735763,154,105)
{
Caption="Внимание!"
Icon=3
}
Add(Replace,10129075,105,105)
{
SubStr="%13%10"
DestStr="\r\n"
link(onReplace,7735763:doMessage,[])
}
END_SDK
Add(MultiElementEx,5830101,287,350)
{
@Hint=#42:Add Icons, FileNames and FileSize In Table|
link(AddTable,14496573:doAdd,[])
link(InserIcon,14496573:doMT_InsertIcon,[(348,363)(348,391)])
link(CountIcon,14496573:CountIcons,[(293,338)(342,338)(342,428)(391,428)])
link(IdxIcon,14496573:EndIdxIcons,[(300,338)(342,338)(342,428)(398,428)])
link(FoundFile,16612106:FoundFileName,[(307,393)(202,393)])
link(IsDirectory,16612106:FoundIsDirectory,[(314,393)(209,393)])
link(FileSize,16612106:FoundFileSize,[(321,393)(216,393)])
}
BEGIN_SDK
Add(EditMultiEx,6780904,21,21)
{
WorkCount=#5:UpDir|9:FindFiles|
EventCount=#8:AddTable|9:InserIcon|
DataCount=#9:CountIcon|7:IdxIcon|9:FoundFile|11:IsDirectory|8:FileSize|
Width=482
Height=214
link(UpDir,4752475:doAdd,[(38,27)(38,188)])
link(FindFiles,5577188:doCompare,[(31,34)(31,118)])
}
Add(Icon,9901193,196,63)
{
Icon=[ZIP7E03000078DA63606004420101062029C190C1CCC020C6C0C0A001C44021060506883808383033E0001F3F7EBCF6FCF975BCE0EEDDBB70F51F4E2D4B2304A64D9B86AC7E665A1A7E0404C8EAFFBF3983059D99F9FFCC198869E8EA2F6EFC7F1C8CD64EB0AEF4929ABD4165D2DCFFFDD9FF1F6DC4AA3EA23ACC33DBD335C5618DA3266BCF1AAE1D4FB9AEFCE73EF109680256F57F6BA341A6ED9CFFC2CB42B1348F6BDD75A07A2002099E3983A97EDFF4D8FFD5C1FF0FADFB9619E0176929B0FC84C6E2598ABBCF01D563353F636BF8FB42B7FFCBBB801695879BF29604729D6CE27A3315977AA0BF78526FAB26AF92F4DFC620B45038CB996B770DD7B3E9405D58D5FFFBF7CFA8FBA548C3FFC4B5FFB9DC6F98C65B732E29E4BAD5CFF5661650B6B1B111533DD00AFEF2FF491BFF73457D3609AB03722108A21E08D0D5FFBF92BB698FDFE22F0E93AF02D9FF3E3E86472E50F1810307E0EA81F1F80F1B00AA04796DA6315031904B503DD05860D00315031330727A3E3373265604540F4CC6C88A0F30FEFF4F16660662F6FFFF010A9DBA61]
}
Add(FormatStr,5779506,371,119)
{
DataCount=3
Mask="%1;%2;%3"
link(onFString,4170084:doWork2,[])
link(Str1,14690881:Var2,[])
link(Str2,11898375:Var2,[])
link(Str3,6780904:FileSize,[(391,30)(55,30)])
}
Add(IndexToChanel,13699347,140,112)
{
Point(Index)
link(onEvent1,16261089:doAdd,[])
link(onEvent2,1823088:doAdd,[])
link(Index,6780904:IsDirectory,[(146,84)(48,84)])
}
Add(Icon,13770332,245,63)
{
Icon=[ZIP5606000078DAAD535F288351143FDB9292464AC432227F4A126F9E9467AF5EBD0D89C494C87F1219B62493B4922225854864D142F6C603E5C183795114DA3CECFBAEDFFDAECDC73E9BB4D3B97777E7FBDD7BCF3DE7F723D2919E8C46C26F269DE9890A89283555FC6F34103D21568C1820642211E7E6D2531CCC12CB4240D3D00E3C6B602BA37733BD6723AD6B3DA57335B97D25A96D39B1C595D0BC1482E78DED5BBCAC70F2C8C958C775D07A23596FF8ACAC83356BB788EB1A16146CC1C421B0A50E0F627DF752BF4FEEF7F159594BB55B0F881B9A16156C91CD0D6CC5FC0562932F92ED55B6BDF259594B7507CF888B34884AA68F5BAF58A5D38B58A4D77BDE31236B058BDBBBEF780E4CCB061EF88C472AD8B2D9D3D1471E03FC8723BDFCF103F3E81E4AA414AC7CEEDC1E60337EC91190ED7E792320ABCF0556555CBC8AA91284A1322864CEC8AE28FAF7A6E161E183704DAC1EE374A0903BC5CBF8C5EE4454C7C018690D7CA3140C3363C3C09E7E26CB790C6A53AE8AC7D586786565F99B85F91C85CC201D384A16A7D822388DE6A2392096A657B92EF1556C11BC161A00B9345DAD04C16DA103104CD3D56A00BFC35A00C9345DAD089C1C450F91AA0057A268225219A0574C5D640F6EA3E082CBC81C194EBD7DF31F86BE849B2508EF8C2A11B4F2378DC050B198FCC196F84BE5FFFAD2A1C658D16F43F7A5B541E04F54AFFD00712CBAE9]
}
Add(FormatStr,349504,399,154)
{
Mask="%1;%2"
link(onFString,10598204:doWork2,[])
link(Str1,13352788:Var2,[])
link(Str2,11898375:Var3,[(412,37)])
}
Add(Hub,16135669,336,147)
{
link(onEvent1,14022850:doWork2,[])
link(onEvent2,349504:doString,[])
}
Add(Hub,14266579,336,112)
{
link(onEvent1,2562782:doWork2,[])
link(onEvent2,5779506:doString,[])
}
Add(StrMask,14539725,91,112)
{
Mask="."
link(onFalse,13699347:doEvent,[])
}
Add(StrMask,5577188,49,112)
{
Mask=".."
link(onFalse,14539725:doCompare,[])
}
Add(FormatStr,7087194,427,189)
{
DataCount=1
Mask="%1;.."
link(onFString,10598204:doWork3,[(473,195)])
link(Str1,13352788:Var3,[(433,44)])
}
Add(Hub,2067646,336,182)
{
link(onEvent1,14022850:doWork3,[(480,188)])
link(onEvent2,7087194:doString,[])
}
Add(Icon,6023958,294,63)
{
Icon=[ZIP7E03000078DA63606004420101062029C190C1CCC020C6C0C0A001C440210605068838083830330C59A073345C737F10EF3229F7090104557A3DAE0DFFD0E57AB79C78C54092A062887AA0B1C4980C014037DB5E2B002222D503CD373D9D0644DAEB22F12803CA024D062A46437874196C8A95DF618B8C8022041D2FB2561382806C62DCAFBACB1318474092F898753F503D80E9EAFF7F24CCCFC0F0479E81E1873D10D723F001A0D803A0D807101FA8EE2F921E00C10A5B68]
}
Add(HubEx,14022850,476,147)
{
Angle=3
link(onEvent,2562782:doWork3,[])
}
Add(HubEx,2562782,476,112)
{
Angle=3
link(onEvent,6780904:InserIcon,[(480,34)])
}
Add(GetDataEx,14690881,371,39)
{
Angle=3
link(Data,6780904:IdxIcon,[(34,44)])
}
Add(GetDataEx,13352788,399,39)
{
Angle=3
link(Data,14690881:Var3,[])
}
Add(HubEx,4170084,469,119)
{
Angle=3
link(onEvent,6780904:AddTable,[(473,27)])
}
Add(HubEx,10598204,469,154)
{
Angle=3
link(onEvent,4170084:doWork3,[])
}
Add(GetDataEx,11898375,378,32)
{
Angle=3
link(Data,6780904:FoundFile,[(41,37)])
}
Add(MT_AddData,16261089,189,112)
{
link(onAdd,14266579:doEvent1,[])
link(Data1,3369112:Var2,[])
link(Data2,9901193:Icon,[])
}
Add(GetDataEx,3369112,189,46)
{
Angle=3
link(Data,6780904:CountIcon,[(27,51)])
}
Add(MT_AddData,1823088,238,119)
{
link(onAdd,16135669:doEvent1,[(313,125)(313,153)])
link(Data1,1892348:Var2,[])
link(Data2,13770332:Icon,[])
}
Add(GetDataEx,1892348,238,46)
{
Angle=3
link(Data,3369112:Var3,[])
}
Add(MT_AddData,4752475,287,182)
{
link(onAdd,2067646:doEvent1,[])
link(Data1,1892348:Var3,[(293,51)])
link(Data2,6023958:Icon,[])
}
END_SDK
Add(HubEx,22349,441,357)
{
link(onEvent,10114046:doSplit,[(458,363)(458,377)])
}
Add(LED,8755687,441,210)
{
Left=210
Top=331
Width=30
Height=30
ColorOn=65280
ColorOff=32768
ColorBlick=65280
}
Add(Hub,13619925,56,217)
{
OutCount=3
link(onEvent1,16612106:doClose,[])
link(onEvent2,10513770:doOff,[(78,230)(78,195)])
link(onEvent3,15423454:doDelete,[(79,237)(79,461)])
}
Add(StringTableMT,14496573,371,350)
{
Left=10
Top=67
Width=240
Height=240
Color=16777215
Columns=#10:Имя=170==0|15:Размер, Б=65==1|
ColumnClick=1
ColumnWidth=0
MinColWidth=0
MaxColWidth=0
Flat=1
TabGridFrame=0
Grid=0
TextBkColor=15532012
BkColor=15532012
ShadowColor=-16777200
AssignedIList=0
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(CountIcons)
Point(EndIdxIcons)
Point(doMT_InsertIcon)
Point(doSort)
Point(doClearIcons)
Point(onDblClick)
Point(doSetFocus)
link(onClick,8755687:doOff,[(422,356)(422,223)])
link(onDblClick,22349:doWork2,[])
}
Add(Hub,13548607,518,371)
{
link(onEvent1,8101332:doCase,[])
link(onEvent2,12673398:doData,[(539,384)(539,440)])
}
Add(DoData,12673398,546,434)
{
PColor(Data,16711935)
link(onEventData,13159196:onEvent1,[(637,440)(637,223)])
link(Data,9741319:Var2,[(552,426)(496,426)])
}
Add(GetDataEx,9741319,490,410)
{
Angle=3
PColor(Data,16711935)
link(Data,15829686:Var3,[])
}
Add(InfoTip,7402917,23,167)
{
Info=#7:Закрыть|10:FTP-сессию|
Frame=1
Height=25
}
Add(InfoTip,10578249,667,195)
{
Info=#20:Имя скачанного файла|
Frame=1
Width=85
}
Add(InfoTip,12085295,443,328)
{
Info=#16:a - размер файла|13:b - имя файла|
Frame=1
Width=92
Height=25
}
Add(FileTools,15423454,483,441)
{
DelToRecycle=1
PColor(FileName,16711935)
link(FileName,15829686:Var2,[])
}
Add(InfoTip,9231877,331,181)
{
Info=#18:Статус подключения|
Frame=1
Width=71
}
Add(InfoTip,1765928,422,181)
{
Info=#17:Закачка завершена|
Frame=1
Width=71
}
Add(GetDataEx,3920754,203,158)
{
Angle=1
PColor(Data,16711935)
link(Data,6704352:Var1,[])
}
Add(GetDataEx,15829686,483,410)
{
Angle=3
PColor(Data,16711935)
link(Data,10114046:Left,[(482,415)])
}
Add(GetDataEx,6704352,245,158)
{
Angle=1
PColor(Data,16711935)
link(Data,9741319:Var3,[(509,163)(509,415)])
}
END_SDK