Спасибо, буду курить... ------------ Дoбавленo в 22.53:46.165.5.26 писал(а): как соединить файлы с маркером Пока материал не изучил... С помощью метода художественного втыка, таки сделал... Сжатие указанной папки в файл и распаковка в указанную папку. Add(Application,2033267,693,189) { } Add(MainForm,2953706,49,231) { Width=341 Height=331 BorderStyle=1 Position=1 } Add(Edit,11641370,210,91) { Left=80 Top=40 Width=240 Text="" ReadOnly=0 link(onChange,9241815:doValue,[]) } Add(Button,15167945,119,91) { Left=10 Top=40 Width=60 Caption="Pack" link(onClick,5279826:doBrowse,[]) } Add(Browse,5279826,167,91) { Title="Select Pack Folder" NewStyle=0 NewDirButton=1 link(onBrowse,11641370:doText,[]) } Add(FileSearch,16211729,462,147) { @Hint=#32:Перебор файлов в выбранной папке| Include=2 link(onSearch,2497688:doEvent1,[]) link(onEndSearch,14728150:doEvent1,[]) link(Dir,9983045:Var,[]) } Add(Label,11727181,742,147) { @Hint=#29:Имя тетущего файла для сжатия| Left=15 Top=105 Width=305 AddHint(58,-44,183,13,@Hint) } Add(FileStream,6417429,602,154) { link(onLoad,12372662:doCompress,[(646,160)(646,202)(590,202)(590,237)]) } Add(Hub,2497688,574,147) { OutCount=3 link(onEvent1,13002273:doReplace,[]) link(onEvent2,6417429:doOpen,[]) link(onEvent3,6417429:doClose,[]) } Add(StreamPack,5291126,742,231) { DataCount=#4:name|4:file| link(onPack,9160003:doCopyFromStream,[]) link(name,11727181:Caption,[]) link(file,6997951:Stream,[(755,219)(733,219)(733,271)(699,271)]) } Add(LZMA,12372662,602,231) { NumFastBytes=100 Point(onError) Point(onProgress) Point(onProgressMax) Point(NumFastBytes) link(onStream,15457678:doEvent1,[(639,237)(639,230)]) link(Stream,6417429:Stream,[]) link(onError,7666746:doGetString,[]) link(onProgress,658387:doPosition,[]) link(onProgressMax,658387:doMax,[]) link(NumFastBytes,16246606:Position,[(615,215)(398,215)]) } Add(FileStream,9160003,826,210) { Mode=2 AutoCopy=0 Point(doPosition) Point(doCopyFromStream) link(FileName,15365676:Var,[]) } Add(Message,8038993,917,203) { Caption="Error" Icon=1 } Add(StrList,7666746,875,196) { @Hint=#11:Коды ошибок| Strings=#38:Невозможно установить параметры сжатия|28:Входной поток очень короткий|20:Ошибка данных потока|24:Неверные свойства потока|0:| Point(onGetString) Point(doGetString) link(onGetString,8038993:doMessage,[]) AddHint(53,60,83,13,@Hint) } Add(LineBreak,3813054,777,217) { @Color=16755200 link(Out,9160003:doClose,[]) Primary=[9017036,-238,-63] } Add(GlobalVar,14501088,420,35) { Name="file" Data=String() } Add(GlobalVar,15365676,826,182) { Name="file" Data=String() } Add(Edit,13358558,420,63) { Left=80 Top=70 Width=240 Text="" ReadOnly=0 link(Str,14501088:Var,[]) } Add(Label,10395854,119,231) { Left=15 Top=75 Width=60 Height=17 Caption="Pack file" } Add(MultiElementEx,9020048,343,91) { @Hint=#26:Выбор файла для сохранения| link(onSelectFile,6126339:doEvent1,[]) AddHint(-107,-44,166,13,@Hint) } BEGIN_SDK Add(EditMultiEx,12351079,21,35) { WorkCount=#45:doOpenDialog=Отрывает диалог сохранения файла| EventCount=#56:onSelectFile=Событие после выбора и проверки имени файла| Width=433 Height=116 link(doOpenDialog,12776169:doPart,[(49,41)(49,104)]) } Add(SDialog,12729386,182,98) { Filter="Аривы .arh|*.arh" FileName="" Point(FileName) link(onExecute,7281363:doValue,[]) } Add(FormatStr,753480,139,98) { DataCount=1 Mask="%1.arh" Point(FString) link(onFString,12729386:doExecute,[]) } Add(GlobalVar,7281363,232,98) { Name="file" Data=String() link(onValue,8038178:doFileExists,[]) } Add(FileTools,8038178,280,77) { link(onEnd,12229368:doCompare,[]) link(FileName,13304793:Var,[]) } Add(If_else,12229368,322,77) { Op2=Integer(1) link(onTrue,8038178:doDelete,[(366,83)(366,67)(268,67)(268,97)]) link(onFalse,12351079:onSelectFile,[(436,90)(436,41)]) } Add(GlobalVar,13304793,280,42) { Name="file" Data=String() } Add(FilePartElm,12776169,91,98) { Point(Part) link(onPart,753480:doString,[]) } END_SDK Add(Hub,6126339,385,91) { link(onEvent1,13358558:doText,[(409,97)(409,69)]) link(onEvent2,8651271:doEvent1,[]) } Add(Button,4267202,126,378) { Left=15 Top=170 Caption="Unpack" link(onClick,5748844:doBrowse,[]) } Add(Edit,14149603,238,378) { Left=80 Top=170 Width=240 Text="" link(onChange,4717789:doExecute,[]) } Add(LZMA,9541520,651,490) { Point(onError) Point(onProgress) Point(onProgressMax) link(onStream,12115393:doEvent1,[(688,496)(688,489)]) link(Stream,3188131:file,[(657,450)(552,450)]) link(onError,8468926:doGetString,[]) link(onProgress,2114059:doPosition,[]) link(onProgressMax,2114059:doMax,[]) } Add(Browse,5748844,182,378) { Title="Select directory for unpacking" NewStyle=0 link(onBrowse,14149603:doText,[]) } Add(ODialog,4717789,294,378) { Filter="Аривы .arh|*.arh" link(onExecute,6699180:doText,[]) } Add(FileStream,15990580,420,378) { link(onLoad,9710618:doRepeat,[]) } Add(MemoryStream,6997951,693,231) { link(onCopy,5291126:doPack,[]) } Add(Repeat,9710618,490,378) { Type=5 link(onRepeat,3188131:doUnPack,[]) link(Op1,15990580:Size,[(496,366)(476,366)(476,432)(433,432)]) link(Op2,15990580:Position,[(503,358)(469,358)(469,424)(440,424)]) } Add(StreamUnPack,3188131,539,378) { DataCount=#4:name|4:file| link(onUnPack,12582555:doEvent1,[]) link(Stream,15990580:Stream,[(545,366)(528,366)(528,440)(426,440)]) } Add(Hub,12582555,588,378) { link(onEvent1,11912842:doData,[]) link(onEvent2,9541520:doDeCompress,[(617,391)(617,503)]) } Add(DoData,11912842,630,378) { link(onEventData,262591:doEvent1,[]) link(Data,3188131:name,[(636,366)(577,366)(577,424)(545,424)]) } Add(FileStream,16576570,763,476) { Mode=1 AutoCopy=0 Point(doCopyFromStream) link(FileName,10514405:FString,[]) } Add(FormatStr,10514405,763,420) { Mask="%2\%1" Point(FString) link(onFString,9519986:doText,[]) link(Str2,12617946:Var2,[]) } Add(ProgressBar,2114059,721,504) { Left=15 Top=265 Width=305 ProgressColor=16711680 Point(doMax) } Add(Dir,15765206,861,378) { Point(onError) } Add(Hub,262591,679,378) { link(onEvent1,1177527:doPart,[]) link(onEvent2,10514405:doString,[(707,391)(707,426)]) } Add(LineBreak,4183425,238,427) { Caption="2" Type=1 link(Data,14149603:Text,[]) Primary=[9783369,532,-91] } Add(Message,5512458,861,462) { Caption="Error" Icon=1 } Add(StrList,8468926,812,455) { @Hint=#11:Коды ошибок| Strings=#38:Невозможно установить параметры сжатия|28:Входной поток очень короткий|20:Ошибка данных потока|24:Неверные свойства потока|0:| Point(onGetString) Point(doGetString) link(onGetString,5512458:doMessage,[]) AddHint(53,60,83,13,@Hint) } Add(FilePartElm,1177527,735,378) { Mode=0 link(onPart,15329636:doString,[]) } Add(FormatStr,15329636,798,378) { Mask="%2\%1" Point(FString) link(onFString,15765206:doDir,[]) link(Str2,12617946:Var3,[(811,365)]) } Add(GetDataEx,12617946,770,360) { link(Data,9783369:Var,[]) } Add(Hub,15457678,644,224) { link(onEvent1,2033267:doProcessMessages,[(672,230)(672,195)]) link(onEvent2,6997951:doCopy,[]) } Add(Replace,13002273,693,147) { link(onReplace,11727181:doText,[]) link(Sub_str,3127697:Result,[]) } Add(ProgressBar,658387,651,245) { Left=15 Top=130 Width=305 ProgressColor=-16777203 Point(doMax) } Add(Hub,8651271,420,98) { link(onEvent1,3127697:doStrCat,[]) link(onEvent2,16211729:doSearch,[(452,111)(452,153)]) } Add(StrCat,3127697,700,98) { Str2="" link(Str1,12462639:Var,[]) } Add(GlobalVar,9241815,259,91) { Name="comr_fold" link(onValue,9020048:doOpenDialog,[]) } Add(GlobalVar,9983045,469,119) { Name="comr_fold" } Add(GlobalVar,12462639,700,70) { Name="comr_fold" } Add(Label,12768151,119,287) { Left=15 Top=210 Width=58 Height=17 Caption="Unpack file" } Add(Hub,12115393,693,483) { link(onEvent1,8341577:doProcessMessages,[(714,489)(714,461)]) link(onEvent2,16576570:doCopyFromStream,[]) } Add(Application,8341577,721,455) { } Add(Label,9519986,861,420) { Left=15 Top=235 Width=305 Height=20 } Add(Hub,14728150,504,154) { link(onEvent1,9017036:In,[]) link(onEvent2,6449715:doMessage,[(528,167)(528,244)]) } Add(Edit,6699180,362,378) { Left=80 Top=205 Width=240 Text="" ReadOnly=0 link(onChange,15990580:doOpen,[]) } Add(TrackBar,16246606,392,168) { Left=90 Top=10 Width=235 Height=20 Max=273 Min=5 Position=100 Point(doHint) } Add(Label,7559356,119,182) { Left=10 Top=15 Width=78 Height=17 Caption="Сompres quality" } Add(StyleXP,7260468,49,273) { } Add(Message,6449715,539,238) { Message="Finish" }
Прошу указать на ошибки, недочеты и т.п.
|