А я чет не понял как сделать так, чтоб кнопки "начать" и "отменить" во время начала операции копирования поменяли свое состояние доступности(т.е. Enabled->Disabled, Disabled-> Enabled)
------------ Дoбавленo:
Ах да вот схема: #sha Add(MainForm,2953706,48,-10) { Width=512 Height=443 Caption="Updater1.0" Position=1 } Add(Edit,12914149,328,60) { @Hint=#25:Путь туды куды копировать| Left=5 Top=35 Width=425 Height=25 Font=[MS Sans Serif,10,0,0,1] Text="Путь к папке" AddHint(9,-38,156,13,@Hint) } Add(Label,13034121,48,74) { Left=5 Top=5 Width=494 Height=17 Caption="Введите в поле ниже путь к папке, которую надо обновить(туда куда копировать новые файлы)" } Add(Browse,11188591,223,102) { link(onBrowse,14882776:doStrCat,[]) } Add(Button,10421767,174,60) { @Hint=#15:Туды копировать| Left=440 Top=35 Width=60 Height=25 Caption="Выбрать" link(onClick,13543899:doBrowse,[]) AddHint(-1,-39,103,13,@Hint) } Add(StyleXP,6920419,48,-52) { } Add(Edit,14248607,342,102) { @Hint=#22:Путь туды откуда брать| Left=5 Top=100 Width=425 Height=25 Font=[MS Sans Serif,10,0,0,1] Text="Путь к папке" AddHint(51,-21,135,13,@Hint) } Add(Label,9901200,48,32) { Left=5 Top=70 Width=497 Height=27 Caption="Введите в поле ниже путь к папке, из которой надо брать новые файлы(то откуда брать новые файлы)" AutoSize=1 } Add(Button,1789080,174,102) { @Hint=#12:Оттуда брать| Left=440 Top=100 Width=60 Height=25 Caption="Выбрать" link(onClick,11188591:doBrowse,[]) AddHint(-35,44,82,13,@Hint) } Add(Button,7324329,146,200) { Left=5 Top=380 Width=135 Height=25 Caption="Начать" Point(doEnabled) link(onClick,1902390:doEvent1,[]) AddHint(-13,-29,51,13,Caption) } Add(Button,5578446,146,256) { Left=365 Top=380 Width=135 Height=25 Enabled=1 Caption="Отменить" Point(doEnabled) link(onClick,2575536:doEvent1,[]) AddHint(-13,41,65,13,Caption) } Add(Browse,13543899,223,60) { link(onBrowse,7618828:doStrCat,[]) } Add(Hub,1902390,188,200) { OutCount=6 link(onEvent1,6971642:doClear,[(293,206)(293,213)]) link(onEvent2,16764575:doStart,[(220,213)(220,206)]) link(onEvent3,11844946:doWork1,[(214,220)(214,245)(136,245)]) link(onEvent4,10571376:doClear,[(216,227)(216,535)]) link(onEvent5,855849:doWork3,[(214,234)(214,241)(136,241)]) link(onEvent6,11784257:doTimer,[(214,241)(214,294)(40,294)(40,332)]) } Add(StringTable,10571376,685,522) { Left=5 Top=145 Width=495 Height=195 Columns=#4:Файл|6:Размер|4:Путь| Redaction=1 Flat=1 } Add(Label,14347091,48,116) { Left=5 Top=130 Width=490 Caption="Обновленные файлы:" AutoSize=1 } Add(Label,73927,48,158) { Left=145 Top=370 Width=216 Height=37 Font=[MS Sans Serif,5,0,0,1] Caption="Данная операция может занять длительное время поэтому не пугайтесь если она вдруг зависнет!" AutoSize=1 } Add(StrCat,7618828,272,60) { Str2="" link(onStrCat,12914149:doText,[]) } Add(StrCat,14882776,272,102) { Str2="" link(onStrCat,14248607:doText,[]) } Add(StrCat,5745043,727,424) { link(onStrCat,2617486:doData,[(771,430)(771,418)(666,418)(666,430)]) link(Str1,3886008:Var1,[(733,299)(294,299)]) link(Str2,6534454:Var1,[(740,323)]) } Add(FileSearch,12366938,286,200) { Include=2 link(onSearch,12495545:doReplace,[]) link(onEndSearch,4813702:doEvent1,[(326,213)(326,283)]) link(Dir,3886008:Var2,[]) } Add(StrList,6971642,384,200) { } Add(FileSearch,10167679,419,284) { link(onSearch,2547099:doReplace,[]) link(Dir,6332170:Var2,[]) } Add(Replace,2547099,468,284) { link(onReplace,1203937:doValue,[]) link(Sub_str,6332170:Var3,[(481,265)]) } Add(GetDataEx,6332170,419,256) { link(Data,14248607:Text,[(432,197)(348,197)]) } Add(Replace,12495545,335,200) { link(onReplace,6971642:doAdd,[]) link(Sub_str,3886008:Var3,[(348,174)]) } Add(GetDataEx,3886008,286,165) { link(Data,11479293:Var1,[(299,139)]) } Add(ArrayEnum,1782633,566,284) { onBreakEnable=0 link(onItem,3994309:doCompare,[]) link(onEndEnum,10324423:doEvent1,[(606,297)(606,381)]) link(Array,702594:Var3,[(572,258)]) } Add(If_else,3994309,615,284) { link(onTrue,1782633:doStop,[(658,290)(658,330)(559,330)(559,297)]) link(Op2,6534454:Var3,[(628,272)(553,272)(553,328)]) } Add(Memory,1203937,510,284) { link(onData,1782633:doEnum,[]) } Add(StrCat,2373649,664,375) { link(Str1,12908538:Var3,[(670,363)]) link(Str2,6534454:Var2,[(677,353)(544,353)]) } Add(GetDataEx,6534454,531,319) { Angle=3 link(Data,1203937:Value,[(516,328)]) } Add(FileTools,13088458,664,480) { link(onEnd,12482480:doNext,[]) link(FileName,2373649:Result,[]) link(NewFileName,6146321:Var2,[(677,472)(684,472)]) } Add(Hub,10324423,615,375) { OutCount=3 link(onEvent1,2373649:doStrCat,[]) link(onEvent2,13088458:doCopy,[(647,388)(647,493)]) link(onEvent3,591551:doStrCat,[(641,395)(641,461)(603,461)(603,528)]) } Add(EventFromData,2617486,678,424) { link(onEvent,5745043:doStrCat,[]) } Add(DoData,5594371,790,424) { link(onEventData,1980889:doMax,[]) link(Data,4078096:getVar,[]) } Add(LineBreak,11799269,748,487) { Caption="2" link(Out,5594371:doData,[(784,493)(784,430)]) Primary=[6411655,-371,-49] } Add(Counter,12482480,713,480) { Max=10000000 link(onNext,1980889:doPosition,[(777,486)(777,423)]) } Add(MultiElementEx,591551,615,522) { link(onStrCat,10571376:doAdd,[]) link(Str1,15329069:Var2,[]) link(Str2,15329069:Var3,[(628,510)]) link(Str21,15329069:Var1,[(635,516)(616,516)]) } BEGIN_SDK Add(EditMultiEx,12299841,21,21) { WorkCount=#35:doStrCat=Создает строку для таблицы| EventCount=#40:onStrCat=Выдает в поток созданную строку| DataCount=#9:Str1=Файл|17:Str2=Размер файла|18:Str21=Путь к файлу| link(doStrCat,5767611:doStrCat,[(31,27)(31,139)]) } Add(StrCat,5767611,42,133) { Str2=";" link(onStrCat,5894107:doStrCat,[]) link(Str1,13189765:GetData,[]) } Add(StrCat,5894107,140,133) { link(onStrCat,14293971:doStrCat,[(183,139)(183,81)(142,81)(142,48)]) link(Str2,9866699:GetData,[]) } Add(StrCat,14293971,154,42) { Str2=";" link(onStrCat,713293:doStrCat,[]) } Add(StrCat,713293,210,42) { link(onStrCat,12299841:onStrCat,[(282,48)(282,27)]) link(Str2,12299841:Str21,[(223,32)(41,32)]) } Add(EventFromData,9866699,147,91) { link(onEvent,13608464:doRead,[]) } Add(FileAttributes,13608464,196,91) { Point(FileSize) link(onRead,4994337:doData,[]) link(FileName,12299841:Str2,[(202,30)(34,30)]) } Add(DoData,4994337,245,91) { link(onEventData,9866699:doData,[(289,97)(289,85)(135,85)(135,97)]) link(Data,13608464:FileSize,[(251,83)(236,83)(236,130)(223,130)]) } Add(EventFromData,13189765,42,84) { link(onEvent,16463911:doPart,[]) } Add(FilePart,16463911,84,84) { NameWOExt=1 link(onName,13189765:doData,[(124,97)(124,72)(35,72)(35,90)]) link(FileName,12299841:Str1,[(90,32)(27,32)]) } END_SDK Add(GetDataEx,15329069,608,501) { link(Data,6146321:Var1,[(621,461)]) } Add(GetDataEx,6146321,671,452) { link(Data,2617486:GetData,[]) } Add(ArrayEnum,4161970,475,396) { onBreakEnable=0 link(onItem,13235914:doCompare,[]) link(onEndEnum,16311364:doNext,[(515,409)(515,444)]) link(Array,702594:Var2,[(481,383)(404,383)]) } Add(If_else,13235914,524,396) { link(onTrue,4161970:doStop,[(567,402)(567,435)(463,435)(463,409)]) link(Op2,5770994:Value,[(537,384)(485,384)(485,440)(432,440)]) } Add(FileSearch,2707975,328,396) { link(onSearch,10912527:doReplace,[]) link(onEndSearch,6411655:In,[(368,409)(368,444)]) link(Dir,9775930:Var2,[]) } Add(Replace,10912527,377,396) { link(onReplace,5770994:doValue,[]) link(Sub_str,12908538:Var2,[(390,382)(418,382)]) } Add(Memory,5770994,426,396) { link(onData,4161970:doEnum,[]) } Add(GetDataEx,702594,391,249) { link(Data,6971642:Array,[]) } Add(GetDataEx,12908538,405,354) { Angle=3 link(Data,6332170:Var1,[(413,265)]) } Add(Hub,4813702,335,277) { OutCount=3 link(onEvent1,2707975:doSearch,[(361,283)(361,343)(316,343)(316,402)]) link(onEvent2,9174538:doSearch,[(359,290)(359,377)(304,377)(304,472)]) link(onEvent3,10167679:doSearch,[(384,297)(384,290)]) } Add(Counter,16311364,524,438) { Max=10000000 } Add(Thread,16764575,237,200) { Delay=1 FastStop=0 Point(doStopFlag) link(onExec,12366938:doSearch,[]) } Add(Hub,2575536,195,256) { OutCount=6 link(onEvent1,16764575:doStopFlag,[(223,262)(223,220)]) link(onEvent2,12366938:doStop,[(275,269)(275,213)]) link(onEvent3,2707975:doStop,[(274,276)(274,409)]) link(onEvent4,10167679:doStop,[(314,283)(314,297)]) link(onEvent5,9174538:doStop,[(269,290)(269,479)]) link(onEvent6,16626071:doWork1,[(220,297)(220,369)(106,369)]) } Add(GProgressBar,1980889,846,417) { Left=5 Top=340 Width=495 Height=30 Ctl3D=0 LightProgress=65280 DarkProgress=32768 Point(doMax) } Add(FileSearch,9174538,328,466) { Include=1 link(onSearch,3445223:doReplace,[]) link(Dir,9775930:Var1,[(341,433)(321,433)(321,377)]) } Add(GetDataEx,9775930,328,368) { link(Data,12908538:Var1,[(341,358)]) } Add(Dir,14162382,468,466) { } Add(Replace,3445223,384,466) { link(onReplace,12502631:doStrCat,[]) link(Sub_str,9775930:Var3,[(397,377)]) } Add(StrCat,12502631,426,466) { link(onStrCat,14162382:doDir,[]) link(Str1,11479293:Var2,[(432,326)(320,326)]) } Add(GetDataEx,11479293,307,130) { Angle=1 link(Data,12914149:Text,[(334,139)]) } Add(Timer,11784257,48,326) { Enable=1 link(onTimer,4074034:doCompare,[]) } Add(LineBreakEx,4708917,846,466) { Caption="Pos" Type=3 link(_Data,1980889:Position,[]) } Add(LineBreakEx,5306410,90,298) { Caption="Pos" Type=2 } Add(LineBreakEx,10615544,524,487) { Caption="Max" Type=3 link(_Data,16311364:Count,[]) } Add(LineBreakEx,4078096,790,389) { Caption="Max" Type=2 } Add(LineBreakEx,6142701,97,298) { Caption="Max" Type=2 } Add(If_else,4074034,90,326) { link(onTrue,8957637:doEvent1,[]) link(Op1,5306410:getVar,[]) link(Op2,6142701:getVar,[]) } Add(HubEx,11844946,132,242) { Angle=1 link(onEvent,5578446:doEnabled,[(136,262)]) } Add(Hub,8957637,132,326) { OutCount=3 link(onEvent1,11844946:doWork2,[(152,332)(152,295)(127,295)(127,255)]) link(onEvent2,855849:doWork2,[(163,339)(163,290)(132,290)]) link(onEvent3,16626071:doWork2,[(158,346)(158,381)]) } Add(HubEx,855849,132,207) { Angle=3 link(onEvent,7324329:doEnabled,[(136,206)]) } Add(HubEx,16626071,102,368) { Angle=2 link(onEvent,11784257:doStop,[(36,381)(36,339)]) }
|