*Пример работы компонента WinFTP в режиме браузера с возможностью закачки файлов Make(delphi) ver(4.05 build 186) Add(MainForm,2953706,28,189) { Width=355 Height=380 Caption="WinFTP_Browser" Icon=[ZIP5E07000078DA9D957D4CCC711CC73FA7B5DB0C6D9667939487860AC31835C268C83FC434270FE7314E539E56774925E2AAC32AE9F95233E7546875EA3A2AD5B51E14773DB9693DC9D444F587FA79D76DB9BA07F2B9CFF7B7DBEFF3F9BCF7F9BEBE9F7D7F442CFC66CEA4A1276D67134D27A2255878458EA47D3F64F3D9345E5BC51DE5FF57056798D4D26EF82AAED240D4984CB472AC73FFB87EC278B736EE9261E3FE9B9916997BFDC56C41E60C3FE9B46B92A9979F58F8A44DF2164FE425B3BD12CCCFC4999D8A659D88216EB4092965B29775480E57C95805654733CCB91AC3BE3EE13DA25A297DE65529674A2ED9DBDE7A0D9D4561F9C8BCAA31EC2EE90D88A22BE8E833575E5B9EB679CAE23B72E82C8B2C446650A761DF95D98A2836A8BFAF4ABF9D4F5C27276F9C60275440676554193223FA0CFB3E5917A260A5CF5C71CAF6F12696D495D00908A049641A734E613F9EC08E722D7CAD5443F4D9CC3DECACDD94BF9FECEF158300D418E326681D7AE20451ABCBEAA3C81D22F203A43C4E8E0F4A400099901AE34067132AC351CE09C8C260C0F92D03BAAC3E8876E4B9531997AA7904322070F7C7281F63982B54857D1FB8D333A0CB4A7D7FC7BB23A4F6A68721E620C38CA601C33060AEE6DD783532A206593525ED7D7F9A4AFD2738C5CFB2943A68A5460C276882982EAB66E9D1066FD6AB60F325CF1CAC73B7D815EC8114360856C00EFF2B313489436FCDE5D508175C78646597BB7545D141D7CAF33E75818754FCDB8D37BF68845003B1F0DE81C8BEC188DE4149DFA06E3FD0D19DC6943CCED28CD50E6FDD5DAA2F84D605AA3A121F7F7D5AD1236FFBF6148D312671E9CEB3A2F236A790B3AED8835BEB1BA609977549CA7BF3553F1539EDF1EECA63BAC4D0DE73A1D31BC97D63D745455D9CB0D8935F7E32BE2158D91657D42D2DEF48143586AC2DF55C93ED3C82ABECEEC20A6980E99BA7A42529BDD65F5CC5CB50F1C54D61818DA16E35BE0E451E362F3744C558B60B2D3509DBD432D13F5E86859AC8529520B5F64AC087AB01EF389EF9BB0FE7B8BECC70EBCCBBF81F576B6B534AFD27F1E7BA18D5C7A87A756C4BF583BF9630050C7593C5F0629A19FA4556D48FFF1AC4E4C3CB8204F8020A8C2AB0B0CC10676339239F8F5A86FACD181A6433F41B8F6D0882] Position=1 Point(onClose) link(onClose,2715431:doClose,[]) } Add(WinFTP,2715431,126,203) { Directory="." Point(onConnect) Point(doFindFile) Point(onFindFile) Point(FoundFileName) Point(Host) Point(Username) Point(Password) Point(FoundIsDirectory) Point(FoundFileSize) Point(onEndFind) Point(doDirectory) Point(onReadProgress) PColor(RemoteName,16711935) link(onError,2183670:MassageErr,[(182,209)(182,181)]) link(onRead,13747370:doEvent1,[]) link(LocalName,11593033:Stream,[]) link(RemoteName,10337905:Var2,[]) link(onConnect,8694977:doEvent1,[]) link(onFindFile,15262315:FindFiles,[(182,230)(182,356)]) link(Host,12011467:Text,[(146,153)(174,153)]) link(Username,14409903:Text,[(153,161)(216,161)]) link(Password,2731123:Text,[(160,168)(258,168)]) link(onEndFind,7657126:doData,[(173,237)(173,391)]) link(onReadProgress,10005645:doEvent1,[]) } Add(Button,12335799,28,147) { Left=105 Top=320 Width=65 Font=[MS Sans Serif,8,1,0,1] TabOrder=-1 Caption="Connect" link(onClick,2715431:doOpen,[(107,153)(107,209)]) } Add(LED,12343517,252,175) { Left=5 Top=10 Width=20 Height=20 Shape=1 ColorOn=65280 ColorOff=32768 ColorBlick=65280 } Add(Edit,12011467,168,105) { Left=80 Top=10 Width=260 Color=11392726 Font=[MS Sans Serif,8,1,0,1] Ctl3D=1 Text="ftp.narod.ru" } Add(Edit,14409903,210,105) { Left=80 Top=35 Width=260 Color=15780518 Font=[MS Sans Serif,8,1,0,1] Ctl3D=1 Text="" } Add(Edit,2731123,252,105) { Left=80 Top=60 Width=260 Color=14994175 Font=[MS Sans Serif,8,1,0,1] Ctl3D=1 Text="" Password=0 } Add(Label,1921820,28,77) { Left=30 Top=12 Width=45 Height=17 Font=[MS Sans Serif,8,1,0,1] Caption="Host:" AutoSize=1 Alignment=1 } Add(Label,1091313,28,91) { Left=5 Top=62 Width=70 Height=17 Font=[MS Sans Serif,8,1,0,1] Caption="Password:" AutoSize=1 Alignment=1 } Add(Label,7774056,28,105) { Left=5 Top=37 Width=70 Height=17 Font=[MS Sans Serif,8,1,0,1] Caption="UserName:" AutoSize=1 Alignment=1 } Add(Hub,8694977,189,217) { link(onEvent1,12343517:doOn,[(240,223)(240,195)]) link(onEvent2,5017039:doEvent1,[(213,230)(213,251)]) } Add(StringTableMT,11844232,357,343) { Left=5 Top=85 Width=335 Height=230 Color=13036287 Font=[MS Sans Serif,8,1,0,1] Columns=#12:FileName=200|12:FileSize=100| ColumnClick=1 Flat=1 TextBkColor=13036287 BkColor=13036287 AssignedIList=0 IconsCheck=[] MiscIcons=[] Icons=[] Point(CountIcons) Point(IconsFileName) Point(EndIdxIcons) Point(doMT_InsertIcon) Point(doSort) Point(doClearIcons) Point(onDblClick) Point(doSetFocus) link(onDblClick,1471333:doWork2,[]) } Add(DoData,7657126,266,385) { Data=Integer(1) link(onEventData,11844232:doSort,[]) } Add(Hub,5017039,224,245) { InCount=2 OutCount=5 link(onEvent1,11844232:doClear,[(347,251)(347,356)]) link(onEvent2,11844232:doClearIcons,[(337,258)(337,398)]) link(onEvent3,9719045:doWork2,[]) link(onEvent4,15262315:UpDir,[(257,272)(257,349)]) link(onEvent5,2715431:doFindFile,[(248,279)(248,295)(115,295)(115,237)]) } Add(StrPart,3867472,420,350) { Char=";" Point(Right) Point(Left) link(onSplit,14547828:doCase,[]) link(Str,11844232:Select,[(426,338)(400,338)(400,421)(370,421)]) } Add(Case,14547828,462,350) { Value=String() link(onNextCase,9538748:doEvent1,[]) link(onTrue,14998358:doEvent1,[(504,363)(504,450)(22,450)(22,265)]) } Add(Hub,8906518,651,357) { OutCount=6 PColor(onEvent6,4227072) link(onEvent1,12874183:doData,[(676,363)(676,315)(539,315)(539,174)]) link(onEvent2,15764066:doData,[(702,370)(702,96)(407,96)(407,160)]) link(onEvent3,11593033:doOpen,[(710,377)(710,80)(109,80)(109,111)]) link(onEvent4,14977054:doWork2,[(685,384)(685,306)(549,306)(549,216)]) link(onEvent5,9719045:doWork3,[(693,391)(693,297)(620,297)]) link(onEvent6,2715431:doReadFile,[(676,398)(676,455)(108,455)(108,223)]) } Add(FileStream,11593033,126,105) { Mode=1 PColor(FileName,8388863) link(FileName,224026:Value,[(132,92)(99,92)(99,445)(608,445)]) } Add(StatusBarEx,15653931,651,154) { EnablePBar=0 PanelPBar=1 PanelHintPBar=0 ColorPBar=8388608 Panels=#5: =120|5: =200| Point(doMax) Point(doVisiblePBar) Point(doPosPBar) link(Panel,12760194:Value,[]) } Add(Hub,13747370,301,210) { OutCount=4 link(onEvent1,11593033:doClose,[(327,216)(327,96)(115,96)(115,118)]) link(onEvent2,14977054:doWork1,[(336,223)(336,209)]) link(onEvent3,3556958:doData,[]) link(onEvent4,11844232:doSetFocus,[(327,237)(327,405)]) } Add(ChanelToIndex,14977054,560,203) { link(onIndex,15653931:doVisiblePBar,[(610,209)(610,181)]) } Add(DoData,3109455,63,238) { PColor(Data,16711935) link(onEventData,2715431:doDirectory,[]) link(Data,10337905:Var1,[(69,86)]) } Add(Hub,14998358,35,259) { link(onEvent1,3109455:doData,[(56,265)(56,244)]) link(onEvent2,5017039:doEvent2,[(213,272)(213,258)]) } Add(Hub,10005645,574,238) { link(onEvent1,15653931:doPosPBar,[(620,244)(620,188)]) link(onEvent2,9719045:doWork1,[(620,251)]) } Add(Application,11596973,651,259) { Wait=1 } Add(DoData,12874183,560,168) { PColor(Data,4227327) link(onEventData,15653931:doMax,[]) link(Data,3867472:Right,[(566,152)(477,152)(477,400)(426,400)]) } Add(Memory,12760194,658,105) { Default=Integer(0) } Add(DoData,3556958,420,224) { Data=String(Finish) link(onEventData,15293281:doWork3,[(466,230)]) } Add(MultiElementEx,2183670,196,175) { @Hint=#12:MessageError| } BEGIN_SDK Add(EditMultiEx,4470868,21,21) { WorkCount=#10:MassageErr| Width=181 Height=144 link(MassageErr,9579324:doRead,[(31,27)(31,111)]) } Add(StrList,6494328,42,35) { Strings=#0:|23:Нет доступа к Интернэту|101:Ошибка создания FTP-сессии%13%10Проверьте правильность ввода параметров%13%10Host, UserName, Password|22:Ошибка доступа к папке|24:Ошибка файловой операции|23:Ошибка доступа к файлу |0:|1: | } Add(ArrayRW,9579324,56,105) { link(onRead,1614930:doReplace,[]) link(Array,6494328:Array,[]) } Add(Message,7730470,154,105) { Caption="Внимание!" Icon=3 } Add(Replace,1614930,105,105) { SubStr="%13%10" DestStr="\r\n" link(onReplace,7730470:doMessage,[]) } END_SDK Add(MultiElementEx,15262315,266,343) { @Hint=#42:Add Icons, FileNames and FileSize In Table| link(AddTable,11844232:doAdd,[]) link(InserIcon,11844232:doMT_InsertIcon,[(317,356)(317,384)]) link(CountIcon,11844232:CountIcons,[(272,333)(248,333)(248,429)(377,429)]) link(IdxIcon,11844232:EndIdxIcons,[(279,326)(239,326)(239,436)(384,436)]) link(FoundFile,2715431:FoundFileName,[(286,320)(132,320)]) link(IsDirectory,2715431:FoundIsDirectory,[(293,313)(139,313)]) link(FileSize,2715431:FoundFileSize,[(300,306)(146,306)]) } BEGIN_SDK Add(EditMultiEx,10714895,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,2832232:doAdd,[(38,27)(38,188)]) link(FindFiles,14526233:doCompare,[(31,34)(31,118)]) } Add(Icon,12726663,196,63) { Icon=[ZIP7E03000078DA63606004420101062029C190C1CCC020C6C0C0A001C44021060506883808383033E0001F3F7EBCF6FCF975BCE0EEDDBB70F51F4E2D4B2304A64D9B86AC7E665A1A7E0404C8EAFFBF3983059D99F9FFCC198869E8EA2F6EFC7F1C8CD64EB0AEF4929ABD4165D2DCFFFDD9FF1F6DC4AA3EA23ACC33DBD335C5618DA3266BCF1AAE1D4FB9AEFCE73EF109680256F57F6BA341A6ED9CFFC2CB42B1348F6BDD75A07A2002099E3983A97EDFF4D8FFD5C1FF0FADFB9619E0176929B0FC84C6E2598ABBCF01D563353F636BF8FB42B7FFCBBB801695879BF29604729D6CE27A3315977AA0BF78526FAB26AF92F4DFC620B45038CB996B770DD7B3E9405D58D5FFFBF7CFA8FBA548C3FFC4B5FFB9DC6F98C65B732E29E4BAD5CFF5661650B6B1B111533DD00AFEF2FF491BFF73457D3609AB03722108A21E08D0D5FFBF92BB698FDFE22F0E93AF02D9FF3E3E86472E50F1810307E0EA81F1F80F1B00AA04796DA6315031904B503DD05860D00315031330727A3E3373265604540F4CC6C88A0F30FEFF4F16660662F6FFFF010A9DBA61] } Add(FormatStr,1819537,371,119) { DataCount=3 Mask="%1;%2;%3" link(onFString,15184602:doWork2,[]) link(Str1,9938925:Var2,[]) link(Str2,13805234:Var2,[]) link(Str3,10714895:FileSize,[(391,30)(55,30)]) } Add(IndexToChanel,11530009,140,112) { Point(Index) link(onEvent1,2037753:doAdd,[]) link(onEvent2,1188562:doAdd,[]) link(Index,10714895:IsDirectory,[(146,84)(48,84)]) } Add(Icon,4478638,245,63) { Icon=[ZIP5606000078DAAD535F288351143FDB9292464AC432227F4A126F9E9467AF5EBD0D89C494C87F1219B62493B4922225854864D142F6C603E5C183795114DA3CECFBAEDFFDAECDC73E9BB4D3B97777E7FBDD7BCF3DE7F723D2919E8C46C26F269DE9890A89283555FC6F34103D21568C1820642211E7E6D2531CCC12CB4240D3D00E3C6B602BA37733BD6723AD6B3DA57335B97D25A96D39B1C595D0BC1482E78DED5BBCAC70F2C8C958C775D07A23596FF8ACAC83356BB788EB1A16146CC1C421B0A50E0F627DF752BF4FEEF7F159594BB55B0F881B9A16156C91CD0D6CC5FC0562932F92ED55B6BDF259594B7507CF888B34884AA68F5BAF58A5D38B58A4D77BDE31236B058BDBBBEF780E4CCB061EF88C472AD8B2D9D3D1471E03FC8723BDFCF103F3E81E4AA414AC7CEEDC1E60337EC91190ED7E792320ABCF0556555CBC8AA91284A1322864CEC8AE28FAF7A6E161E183704DAC1EE374A0903BC5CBF8C5EE4454C7C018690D7CA3140C3363C3C09E7E26CB790C6A53AE8AC7D586786565F99B85F91C85CC201D384A16A7D822388DE6A2392096A657B92EF1556C11BC161A00B9345DAD04C16DA103104CD3D56A00BFC35A00C9345DAD089C1C450F91AA0057A268225219A0574C5D640F6EA3E082CBC81C194EBD7DF31F86BE849B2508EF8C2A11B4F2378DC050B198FCC196F84BE5FFFAD2A1C658D16F43F7A5B541E04F54AFFD00712CBAE9] } Add(FormatStr,15554159,399,154) { Mask="%1;%2" link(onFString,465856:doWork2,[]) link(Str1,8106406:Var2,[]) link(Str2,13805234:Var3,[(412,37)]) } Add(Hub,5979313,336,147) { link(onEvent1,1406171:doWork2,[]) link(onEvent2,15554159:doString,[]) } Add(Hub,7657834,336,112) { link(onEvent1,10294293:doWork2,[]) link(onEvent2,1819537:doString,[]) } Add(StrMask,7927520,91,112) { Mask="." link(onFalse,11530009:doEvent,[]) } Add(StrMask,14526233,49,112) { Mask=".." link(onFalse,7927520:doCompare,[]) } Add(FormatStr,16129135,427,189) { DataCount=1 Mask="%1;.." link(onFString,465856:doWork3,[(473,195)]) link(Str1,8106406:Var3,[(433,44)]) } Add(Hub,5623200,336,182) { link(onEvent1,1406171:doWork3,[(480,188)]) link(onEvent2,16129135:doString,[]) } Add(Icon,12659176,294,63) { Icon=[ZIP7E03000078DA63606004420101062029C190C1CCC020C6C0C0A001C440210605068838083830330C59A073345C737F10EF3229F7090104557A3DAE0DFFD0E57AB79C78C54092A062887AA0B1C4980C014037DB5E2B002222D503CD373D9D0644DAEB22F12803CA024D062A46437874196C8A95DF618B8C8022041D2FB2561382806C62DCAFBACB1318474092F898753F503D80E9EAFF7F24CCCFC0F0479E81E1873D10D723F001A0D803A0D807101FA8EE2F921E00C10A5B68] } Add(HubEx,1406171,476,147) { Angle=3 link(onEvent,10294293:doWork3,[]) } Add(HubEx,10294293,476,112) { Angle=3 link(onEvent,10714895:InserIcon,[(480,34)]) } Add(GetDataEx,9938925,371,39) { Angle=3 link(Data,10714895:IdxIcon,[(34,44)]) } Add(GetDataEx,8106406,399,39) { Angle=3 link(Data,9938925:Var3,[]) } Add(HubEx,15184602,469,119) { Angle=3 link(onEvent,10714895:AddTable,[(473,27)]) } Add(HubEx,465856,469,154) { Angle=3 link(onEvent,15184602:doWork3,[]) } Add(GetDataEx,13805234,378,32) { Angle=3 link(Data,10714895:FoundFile,[(41,37)]) } Add(MT_AddData,2037753,189,112) { link(onAdd,7657834:doEvent1,[]) link(Data1,7359735:Var2,[]) link(Data2,12726663:Icon,[]) } Add(GetDataEx,7359735,189,46) { Angle=3 link(Data,10714895:CountIcon,[(27,51)]) } Add(MT_AddData,1188562,238,119) { link(onAdd,5979313:doEvent1,[(313,125)(313,153)]) link(Data1,3924106:Var2,[]) link(Data2,4478638:Icon,[]) } Add(GetDataEx,3924106,238,46) { Angle=3 link(Data,7359735:Var3,[]) } Add(MT_AddData,2832232,287,182) { link(onAdd,5623200:doEvent1,[]) link(Data1,3924106:Var3,[(293,51)]) link(Data2,12659176:Icon,[]) } END_SDK Add(DoData,15764066,420,154) { PColor(Data,16711935) link(onEventData,15293281:doWork2,[]) link(Data,3653777:Var2,[]) } Add(HubEx,9719045,616,259) { link(onEvent,11596973:doProcessMessages,[]) } Add(Button,4239912,355,304) { Left=175 Top=320 Width=65 Font=[MS Sans Serif,8,1,0,1] TabOrder=-1 Caption="ReadFile" link(onClick,1471333:doWork1,[(410,310)]) } Add(HubEx,1471333,406,350) { link(onEvent,3867472:doSplit,[]) } Add(Hub,9538748,511,350) { link(onEvent1,2544973:doFileName,[(542,356)(542,370)]) link(onEvent2,2544973:doExecute,[]) } Add(SDialog,2544973,553,357) { Title="Сохранить" Point(doFileName) Point(FileName) PColor(FileName,16711935) link(onExecute,224026:doValue,[]) link(FileName,3688905:Var3,[(559,331)]) } Add(HubEx,15293281,462,154) { link(onEvent,15653931:doText,[]) } Add(GetDataEx,3688905,511,326) { Angle=2 PColor(Data,16711935) link(Data,3867472:Left,[(517,393)(433,393)]) } Add(GetDataEx,3653777,420,81) { Angle=1 PColor(Data,16711935) link(Data,3688905:Var2,[(517,86)]) } Add(GetDataEx,10337905,133,81) { Angle=1 PColor(Data,16711935) link(Data,3653777:Var1,[]) } Add(Memory,224026,602,357) { link(onData,8906518:doEvent1,[]) }