Tad писал(а): code_36978.txt и т.д. Ага, спасибо) Навалил всего и от души) Вроде вычистил ненужные мемори и удалил дублирующиеся функции. http://forum.hiasm.net/xf/attach/share/doordom2.zip Но один черт медленно работает, веню во всем построчный метод перебора, делал парсер яндекс бара (шттп гет), через сплошной поток строк из SearchInFile, все работает на очень большой скорости, сначала делал так же, но определение вхуз (tcp клиент) не работает таким методом((
------------ Дoбавленo в 00.11:
Решил короче все заново перелопатить, взял за основу многопоточный прокси чекер что крид выкидывал, и походу напортачил Выдает ровно столько результатов, сколько выставлено потоков и глохнет... Подскажите где напортачил? Make(delphi) ver(4.05 build 186) Add(MultiElementEx,7652017,1054,574) { @Hint=#31:Модуль MultiThreads_Checker_1.1| Mode=1 link(OnResult,16344680:doEvent1,[]) link(End,3306489:In,[]) link(get_ip_port,6487186:Var,[]) AddHint(180,-109,184,13,@Hint) } BEGIN_SDK Add(EditMultiEx,9746293,21,21) { WorkCount=#5:##add|9:##hdelete| EventCount=#8:OnResult|3:End| VarCount=#7:##count|13:##eventHandle| DataCount=#11:get_ip_port|0:| Width=1630 Height=851 VOffset=80 HOffset=140 Point(##add) Point(##hdelete) Point(##count) Point(##eventHandle) link(##add,12340182:doWork,[]) } Add(LineBreakEx,8666620,1466,101) { Caption="Result" Type=1 link(OnEvent,15049631:doSafeMode,[]) } Add(LineBreakEx,47105,1520,135) { Caption="End" Type=1 link(OnEvent,9746293:End,[(1594,141)(1594,114)]) } Add(SafeMode,15049631,1528,101) { Name="checker_result" link(onSafeMode,9746293:OnResult,[]) } Add(LineBreakEx,6281593,1271,534) { Caption="Result" } Add(LineBreakEx,7307885,49,196) { Caption="StartCheck" Type=1 link(OnEvent,6667049:doSafeMode,[(128,202)(128,181)]) } Add(LineBreakEx,12340182,54,101) { Caption="StartCheck" } Add(LineBreak,6639068,161,38) { Caption="get_ip_port" Type=1 link(Data,9746293:get_ip_port,[]) Primary=[8039361,13,104] } Add(SafeMode,6667049,134,175) { Name="checker_get_ip_port" link(onSafeMode,3700032:doData,[]) } Add(DoData,3700032,189,175) { link(onEventData,3013132:doCompare,[(244,181)(244,193)]) link(Data,8039361:Var,[(195,169)(180,169)]) } Add(Hub,10215304,677,180) { OutCount=5 link(onEvent1,9387456:doData,[(706,186)(706,188)]) link(onEvent2,16357934:In,[(748,193)(748,293)]) } Add(Thread,14975125,625,180) { Delay=1 FastStop=0 BusyEvent=1 link(onExec,10215304:doEvent1,[]) } Add(If_else,3013132,267,187) { link(onTrue,8080686:doEvent1,[(312,193)(312,163)]) link(onFalse,9654815:doCompare,[(317,200)(317,202)]) link(Op2,16764516:Value,[]) } Add(Memory,16764516,274,130) { } Add(Hub,8080686,325,157) { link(onEvent1,6214789:doWork,[(346,163)(346,159)]) link(onEvent2,16421175:doWork,[(346,170)(346,175)]) } Add(LineBreakEx,6214789,353,153) { Caption="End" } Add(LineBreakEx,3820589,533,194) { Caption="StopCheck" Type=1 link(OnEvent,14975125:doStop,[(616,200)(616,193)]) } Add(LineBreakEx,16421175,353,169) { Caption="StopCheck" } Add(FormatStr,4957244,1141,525) { DataCount=8 Mask="%1,%2,%3,%4" link(onFString,7593678:doEvent1,[(1214,531)(1214,540)]) link(Str1,3831849:Var,[]) link(Str3,6798492:Var,[]) link(Str4,12414457:Var,[]) } Add(StrList,2159738,770,119) { Strings=#9:http://=;|10:https://=;|6:www.=;|3:/=;| } Add(MultiReplace,117603,763,182) { link(ReplaceList,13927829:Var2,[]) } Add(Hub,7593678,1227,534) { OutCount=3 link(onEvent1,6281593:doWork,[]) link(onEvent2,1917053:doWork,[(1253,547)(1253,569)]) } Add(LineBreakEx,1917053,1264,563) { Caption="StartCheck" } Add(StrMask,9654815,336,196) { Mask="http*" link(onFalse,7516542:doStrCat,[]) link(onTrue,7695048:doWork3,[(431,224)]) } Add(StrCat,7516542,385,196) { Str1="http://" link(onStrCat,7695048:doWork2,[]) } Add(Memory,16482908,448,196) { @Hint=#15:Состояние хоста| link(onData,14975125:doStart,[(518,202)(518,186)]) } Add(HubEx,7695048,427,196) { link(onEvent,16482908:doValue,[]) } Add(DoData,9387456,721,182) { link(onEventData,117603:doMultiReplace,[]) link(Data,16081067:Var3,[(727,170)(592,170)(592,250)]) } Add(GetDataEx,16081067,448,245) { link(Data,16482908:Value,[]) } Add(HTTP_Get,9729894,294,406) { Wait=0 link(onDownload,1605886:doConvert,[]) link(URL,10781118:Result,[(300,394)(276,394)(276,450)(251,450)]) } Add(StrCat,10781118,245,406) { Str1="http://bar-navig.yandex.ru/u?ver=2&show=32&url=" link(onStrCat,9729894:doDownload,[]) link(Str2,4000629:Var3,[(258,257)]) } Add(Convertor,1605886,343,413) { Mode=11 link(onResult,2066129:doCharset,[]) } Add(Charset,2066129,392,413) { Type=7 link(onCharset,15115652:doSearch,[]) } Add(BlockFind,10626003,231,525) { IncludeBlock=1 StartBlock="<yaca url="" EndBlock=""/>" Point(onNotFind) link(onSearch,1983570:doMultiReplace,[]) } Add(MultiReplace,1983570,280,525) { link(onResult,15176407:doExec,[]) link(ReplaceList,834122:Var,[]) } Add(DoData,13501458,455,525) { Data=String(Нет) link(onEventData,11141711:doWork2,[]) } Add(DoData,12805414,455,567) { Data=String(Да) link(onEventData,11141711:doWork3,[(515,573)]) } Add(Memory,8570413,525,525) { @Hint=#15:Состояние хоста| link(onData,4957244:doString,[]) } Add(BlockFind,15115652,476,413) { IncludeBlock=1 StartBlock="value="" EndBlock=""/>" Point(onNotFind) link(onSearch,12563769:doValue,[]) link(onEndSearch,13443203:In,[(520,426)(520,444)(450,444)(450,461)]) } Add(Memory,12563769,539,413) { @Hint=#15:Состояние хоста| } Add(RE_Search,15176407,343,525) { ModifierR=1 Point(Matches) link(onMatch,13501458:doData,[]) link(onNotFound,10307742:doEvent1,[]) link(SourceStr,1983570:Result,[(349,516)(286,516)]) link(Expression,13863573:Var,[]) } Add(HubEx,11141711,511,525) { link(onEvent,8570413:doValue,[]) } Add(Hub,10307742,392,532) { link(onEvent1,12805414:doData,[(430,538)(430,573)]) link(onEvent2,10417390:doData,[(430,545)(430,615)]) } Add(DoData,10417390,455,609) { Data=String(0) } Add(LineBreak,4507184,154,406) { Caption="Start Yandex" link(Out,10781118:doStrCat,[]) Primary=[16357934,658,-119] } Add(LineBreak,7916522,539,462) { Caption="Тиц" Type=1 link(Data,12563769:Value,[]) Primary=[6798492,616,-70] } Add(LineBreak,562416,154,525) { Caption="Start клей" link(Out,10626003:doSearch,[]) Primary=[13443203,308,-70] } Add(LineBreak,9793537,525,574) { Caption="Клей" Type=1 link(Data,8570413:Value,[]) Primary=[12414457,637,-161] } Add(LineBreak,6106396,812,175) { Caption="http" Type=1 link(Data,13927829:Var3,[(818,173)]) Primary=[834122,-525,308] } Add(LineBreak,4340597,763,245) { Caption="Domain" Type=1 link(Data,117603:Result,[]) Primary=[13863573,-413,252] } Add(LineBreak,3187541,448,273) { Caption="http" Type=1 link(Data,4000629:Var2,[]) Primary=[3831849,693,168] } Add(GetDataEx,4000629,448,252) { link(Data,16081067:Var2,[]) } Add(GetDataEx,13927829,770,168) { link(Data,2159738:Text,[]) } END_SDK Add(MainForm,11326563,847,371) { Width=478 Height=480 Caption="" Position=1 } Add(Button,13777211,818,574) { Left=115 Top=45 Width=185 Height=30 Caption="Проверить" link(onClick,11304990:doFor,[]) } Add(Edit,12430023,1001,530) { Left=10 Top=50 Text="5" } Add(Label,6950492,847,455) { Left=65 Top=55 Width=47 Height=17 Caption="Потоков" } Add(For,11304990,994,574) { Start=1 End=5 link(onEvent,7652017:##add,[]) link(End,12430023:Text,[]) } Add(LineBreak,334677,992,461) { Caption="get_ip_port" Type=1 link(Data,8737633:GetData,[]) Primary=[6487186,62,36] } Add(TCP_Server,5234581,847,413) { Port=5 } Add(EventFromData,8737633,992,419) { link(onEvent,10645816:doData,[]) } Add(Timer,6989260,707,371) { Interval=100 link(onTimer,3105876:doData,[]) } Add(FormatStr,13623212,798,371) { DataCount=1 Mask="Прокси чекер 1.1; Активных модулей: %1;" link(onFString,11326563:doCaption,[]) } Add(LineBreakEx,5700589,1054,625) { Caption="CountMTCheck" Type=3 link(_Data,7652017:##count,[]) } Add(LineBreakEx,14012912,753,344) { Caption="CountMTCheck" Type=2 } Add(ChangeMon,3105876,753,371) { link(onData,13623212:doString,[]) link(Data,14012912:getVar,[]) } Add(LineBreak,9944522,947,623) { Caption="End" link(Out,16276923:doPush,[]) Primary=[3306489,152,-42] } Add(StrList,3673357,1120,377) { Strings=#12:parfumeco.ru|13:stockihome.ru|12:k-magic38.ru|19:http://the-sever.ru|12:divasalon.su|12:apk-group.ru|15:tktechnology.ru|17:tktechnologija.ru|14:elektrostil.su|14:novinkaomsk.ru|22:nasha-mebel-kotovsk.ru|15:zooplaneta55.ru|18:grillandveggies.ru|11:mingryaz.ru|14:tsm-kuzbass.ru|11:ekopro74.ru|9:kct-nn.ru|18:technology-info.ru|12:soundmaxi.ru|12:zaptorg74.ru|11:eat-meat.ru|15:mimaki-kazan.ru|13:falke-shop.ru|11:perm-zuk.ru|14:zuki-moscow.ru|13:tourismrus.ru|8:ekt46.ru|10:t-proff.ru| Point(doGetString) Point(onGetString) Point(IdxToSelect) link(onGetString,8737633:doData,[(1165,390)(1165,484)(980,484)(980,425)]) } Add(InfoTip,14774,966,350) { Info=#27:Список ip:port для проверки| Width=218 Height=151 } Add(Hub,6078942,1084,419) { link(onEvent1,3673357:doGetString,[]) link(onEvent2,3673357:doDelete,[(1109,432)(1109,397)]) } Add(DoData,10645816,1037,419) { Data=Integer(0) link(onEventData,6078942:doEvent1,[]) } Add(Stack,16276923,994,623) { link(onPop,7652017:##hdelete,[(1040,636)(1040,587)]) link(Data,7652017:##eventHandle,[(1000,615)(1067,615)]) } Add(Timer,9657903,948,641) { Interval=30 link(onTimer,16276923:doPop,[(987,647)(987,636)]) } Add(Edit,9371808,1274,539) { Left=10 Top=15 Width=290 Text="" Alignment=2 } Add(Hub,16344680,1239,574) { link(onEvent1,9371808:doText,[(1263,580)(1263,545)]) link(onEvent2,9855146:doAdd,[(1263,587)(1263,657)]) } Add(Memo,9855146,1274,651) { Left=10 Top=80 Width=290 Height=320 ScrollBars=2 }
|