Вверх ↑
Этот топик читают: Гость
Ответов: 47
Рейтинг: 0
#151: 2017-05-23 10:36:07 ЛС | профиль | цитата
Как правильно сделать программу? Программа должна в фоне висеть и отслеживать появление окна Сохранить как, при появлении которого предложит транскрипцию имени файла. После согласия дожидаться пока пройдет команда вставка из буфера переведенной надписи в строку и закроется окно. Затем снова в режим ожидания. Понимаю что надо вставить цикл а как правильно сделать не понимаю.

Add(MainForm,2953706,21,105)
{
Visible=1
link(onCreate,8957594:doEnum,[])
}
Add(WinEnum,8957594,196,119)
{
VisibleOnly=1
link(onFindWindow,11643227:doCompare,[])
}
Add(StrMask,11643227,252,119)
{
Mask="*Укажите имя файла для записи*"
Point(doMask)
link(onTrue,16534726:doMessage,[(296,132)(296,223)(233,223)(233,314)])
}
Add(Message,16534726,245,308)
{
Caption="Сделать транскрипцию имени файла?"
Type=1
Icon=2
Point(onOK)
Point(onCANCEL)
link(Message,2603904:Var1,[(251,208)])
link(onOK,5391918:doEvent1,[(303,321)(303,265)])
link(onCANCEL,2953706:doClose,[(450,328)(450,205)(9,205)(9,132)])
}
Add(Edit,5043455,350,224)
{
Top=5
Width=400
Height=25
Font=[Verdana,12,3,0,204]
link(onChange,6566621:doMultiReplace,[])
link(Str,2603904:Var2,[])
}
Add(Clipboard,9682721,350,119)
{
}
Add(MultiReplace,6566621,469,224)
{
ReplaceList="Дверь левая =;ЭКРА=EKRA;Э=E; (Черн. 2,0)=F;/=_;СГК=SGK;Тяга верхняя=;(Оц. 2,0)=Z;\r\nДверь=;Швеллер=;Панель=;Угольник=;Уголок=;Крепление плиты=;ОНКУ=ONKU;\r\n(Оц. 2,5)=Z;(Оц. 1,5)=Z;Стенка задняя=;(крепление Rittal)=; (Черн. 1,5)=F;\r\nПлита=; Крышка=;(=;)=;(Черн. 1,5)=F;МП=MP;Упор=;Заглушка=; (Черн. 1,0)=F;\r\nСтенка=;(Черн. 3,0)=F;"
Mode=1
link(onResult,13454062:doValue,[])
link(Text,5043455:Text,[(475,219)(412,219)(412,268)(356,268)])
link(ReplaceList,8320363:Text,[(482,201)(440,201)])
}
Add(Memory,13454062,525,224)
{
link(onData,11828791:doTrim,[])
}
Add(Trim,11828791,602,224)
{
Mode=7
Point(Result)
link(onTrim,4621414:doEvent1,[(648,230)(648,234)])
}
Add(StrList,8320363,434,133)
{
Strings=#81:Дверь левая =;ЭКРА=EKRA;Э=E; (Черн. 2,0)=F;/=_;СГК=SGK;Тяга верхняя=;(Оц. 2,0)=Z;|69:Дверь=;Швеллер=;Панель=;Угольник=;Уголок=;Крепление плиты=;ОНКУ=ONKU;|73:(Оц. 2,5)=Z;(Оц. 1,5)=Z;Стенка задняя=;(крепление Rittal)=;(Черн. 1,5)=F;|42:Плита=; Крышка=;(=;)=;(Черн. 1,5)=F;МП=MP;|
link(FileName,3189570:Text,[(447,121)(468,121)])
}
Add(Edit,3189570,462,77)
{
Top=55
Width=355
Height=25
Font=[Verdana,12,1,0,204]
Visible=1
Text="Z:\z-=-CONFIG-=-\Macros\\transcript.txt"
Point(doAlign)
}
Add(GetDataEx,2603904,350,203)
{
link(Data,9682721:Text,[])
}
Add(Clipboard,1926085,714,224)
{
Point(PutText)
link(PutText,11828791:Result,[(720,212)(634,212)(634,264)(604,264)])
}
Add(Hub,5391918,308,259)
{
link(onEvent1,5043455:doText,[(327,265)(327,230)])
link(onEvent2,8320363:doLoad,[(378,272)(378,167)])
}
Add(Hub,4621414,672,224)
{
link(onEvent1,1926085:doPutText,[(702,230)(702,234)])
}



Редактировалось 3 раз(а), последний 2017-05-23 10:43:26
карма: 0

0
Ответов: 47
Рейтинг: 0
#152: 2017-05-24 12:56:06 ЛС | профиль | цитата
Нужно из таблицы StringTable извлечь имена файлов и найти их в сетевой папке. Использую компонент перебор массива, он перебирает от первого до последнего все ОК. Во время перебирания списка, включается поиск фала по имени, вот в этот момент начинается проблема. Нашел он первое значение включил поиск ищет. В этот момент компонент перебор массива добрался до второго элемента шлет в поиск, а поиск занят еще первым значением, разумеется второе значение пролетает мимо. Как сделать что бы перебор массива ждал пока поиск закончится. Или как сделать что бы для каждого элемента массива имен файлов включался свой поиск параллельно. Много имен обычно не бывает.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#153: 2017-05-24 13:20:56 ЛС | профиль | цитата
Схема где ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 47
Рейтинг: 0
#154: 2017-05-24 13:28:18 ЛС | профиль | цитата
Вроде сам решил но все равно выложу
Add(MainForm,6001576,196,105)
{
Left=1780
Top=117
Height=537
Ctl3D=0
Caption="Поис"
BorderStyle=8
DragForm=0
ClientSize=0
Point(doVisible)
Point(Handle)
Point(onMouseUp)
link(onActivate,16582516:doEvent1,[])
link(onMouseUp,7684740:doEvent,[(247,132)(247,174)])
}
Add(Clipboard,2828579,266,56)
{
}
Add(FileSearch,13399579,721,238)
{
Ext=""
Dir="X:\"
link(onSearch,3259313:doEvent1,[(765,244)(765,209)])
link(onEndSearch,11625384:doEvent1,[(793,251)(793,230)])
link(Ext,1656694:Result,[(727,199)(768,199)])
}
Add(BlockFind,13826388,546,161)
{
StartBlock="."
EndBlock=")"
link(onSearch,16528152:doMultiReplace,[(592,167)(592,185)])
link(Text,9933363:Text,[(552,149)(524,149)(524,205)(496,205)])
}
Add(Trim,5415623,665,175)
{
Point(Result)
link(onTrim,4856865:doStrCat,[(705,181)(705,132)])
link(Text,16528152:Result,[(671,163)(645,163)(645,223)(612,223)])
}
Add(MultiReplace,16528152,606,179)
{
ReplaceList="(Черн. 1,0)=;\r\n(Черн. 1,5)=;\r\n(Черн. 2,0)=;\r\n(Черн. 2,5)=;\r\n(Черн. 3,0)=;\r\n(Черн.1,0)=;\r\n(Черн.1,5)=;\r\n(Черн.2,0)=;\r\n(Черн.2,5)=;\r\n(Черн.3,0)=;\r\n(Оц. 1,0)=;\r\n(Оц. 1,5)=;\r\n(Оц. 2,0)=;\r\n(Оц. 2,5)=;\r\n(Оц.1,0)=;\r\n(Оц.1,5)=;\r\n(Оц.2,0)=;\r\n(Оц.2,5)=;\r\nЭ=*;\r\n/=*;\r\n.=*;\r\n\r\n"
Mode=1
link(onResult,5415623:doTrim,[(655,185)(655,181)])
}
Add(StrCat,4856865,714,126)
{
Str1="*"
link(onStrCat,1656694:doStrCat,[(754,132)(754,134)])
link(Str2,5415623:Result,[(727,114)(699,114)(699,219)(671,219)])
}
Add(StrCat,1656694,762,128)
{
Str2="*"
link(onStrCat,547433:doEvent1,[(806,134)])
link(Str1,4856865:Result,[(768,116)(744,116)(744,170)(720,170)])
}
Add(Hub,3259313,777,203)
{
link(onEvent1,8203284:doText,[(829,209)(829,69)])
link(onEvent2,10556004:doCopy,[(854,216)(854,300)])
}
Add(DirTools,10556004,917,294)
{
link(Source,8203284:Caption,[(923,240)(874,240)])
link(Dest,9536904:Caption,[(930,239)(916,239)])
}
Add(Label,8203284,868,63)
{
Left=275
Top=465
Visible=1
}
Add(Label,9536904,910,60)
{
Left=205
Top=465
Visible=1
Caption="d:\\77\"
}
Add(Memo,1964101,329,105)
{
Top=5
Width=430
Height=455
Strings=#72:------------------------------------------------------------------------|
link(Str,2828579:Text,[(335,96)(272,96)])
}
Add(Edit,9933363,490,161)
{
Left=115
Top=475
Width=175
link(onChange,13826388:doSearch,[])
}
Add(Sleep,1091221,476,238)
{
link(onSleep,3748400:doCompare,[(524,244)(524,258)])
}
Add(Button,9019766,217,238)
{
Left=10
Top=475
Width=95
Caption="Запуск поиска"
link(onClick,16223429:doEvent1,[])
}
Add(GlobalVar,2234895,483,49)
{
Name="Количство строк"
}
Add(DoData,19012,415,76)
{
link(onEventData,2234895:doValue,[(451,82)(451,55)])
link(Data,15803316:Var2,[(421,50)(376,50)])
}
Add(Hub,16223429,294,238)
{
OutCount=3
link(onEvent1,3236246:doWork2,[])
link(onEvent2,19012:doData,[(382,251)(382,82)])
}
Add(GetDataEx,3845102,336,154)
{
link(Data,1964101:Count,[])
}
Add(ArrayRW,13915112,420,238)
{
Index=String(1)
link(onRead,1091221:doSleepMks,[])
link(Array,1964101:Array,[(426,194)(349,194)])
}
Add(GetDataEx,15803316,370,147)
{
Angle=2
link(Data,2951945:Var3,[(376,159)])
}
Add(Hub,11625384,833,224)
{
link(onEvent1,8691984:doData,[(859,230)(859,279)(828,279)(828,328)])
link(onEvent2,3236246:doWork1,[(859,237)(874,239)(874,289)(396,289)])
}
Add(DoData,8691984,840,322)
{
Data=String(1)
link(onEventData,1964101:doDelete,[(884,328)(884,226)(317,226)(317,125)])
}
Add(HubEx,3236246,392,238)
{
link(onEvent,13915112:doRead,[])
}
Add(If_else,3748400,539,252)
{
Type=1
Op2=String(1)
link(onTrue,10757009:doWork1,[(583,258)(583,306)(473,306)])
link(onFalse,9933363:doText,[(625,265)(625,230)(478,230)(478,167)])
link(Op1,2951945:Var2,[(545,211)(363,211)])
}
Add(GetDataEx,2951945,357,154)
{
Angle=3
link(Data,4017904:Var3,[])
}
Add(Hub,547433,812,126)
{
link(onEvent1,13399579:doSearch,[(838,132)(838,188)(709,188)(709,244)])
}
Add(Message,14404658,497,350)
{
Message="Чертежей для поиса не осталось!!!"
}
Add(IndexToChanel,7684740,266,168)
{
link(onEvent2,6001576:doClose,[(310,181)(310,157)(184,157)(184,132)])
}
Add(If_else,2320508,378,343)
{
link(onTrue,10757009:doWork2,[(454,349)(454,356)])
link(Op1,4017904:Var2,[(384,253)(356,253)])
}
Add(Hub,16582516,273,105)
{
link(onEvent1,1964101:doAdd,[])
link(onEvent2,2320508:doCompare,[(333,118)(333,349)])
}
Add(GetDataEx,4017904,350,154)
{
Angle=3
link(Data,3845102:Var3,[])
}
Add(HubEx,10757009,469,350)
{
link(onEvent,14404658:doMessage,[])
}


А вот так вот я решил

Add(MainForm,2953706,21,105)
{
Width=350
Height=544
Caption="Поиск чертежей и моделей"
Icon=[ZIPBE25000078DAED5A07545557BAA65947AC8428F65E2936441454442C205DAA208A28029641C482540B2A28BD8B88741041111B2A46C712C71E11310AF69A801AA308DCF3BF6F9F7D6F0467E6ADBCB7B2266FD67A247FF6BDE7DEB3F7B7BFFFFBCBBE277272F2F8474B4B0EFFED27973B584E4E554E4E6E180C97E45CE4F875F16F909C5CD7BF70FB0FFA93979A22332525A5568A8A8AADF15AE1ABEFB5979797FF06635758477C87EDB21DAC0D8CDDA3A4A0A0A028BD4F36E7EFF963DF67EBB5FAEA5E05AC87291594A49FB175DAE17D078C5DF0992A5EF76CDF5AA9FF881ECAEA06C3BB4DB4D1E969B458BFB755F0DC214BD6CD1A30A4F922A7578CB1B8B266E29133CBC7E595BA8F4ECA74D5088D7118E1BBD678C0E2F913D4E6E90EEC3A43AD4BFB09DDBBB4D7ECD2A1F5D00E6D94FAB55652E88E75BAB1F5D89E61CAB0BF343386A5274C1BA6C364A1A4203F18F70E55516EA3DEA3737BEDF1FD3A4F5F38B98F6DB0E550F754574DFF22AF7151E5BEFA599703A61DBEBBD5F0C2E330A38A5711C68FEBA24D5E7F8C3379DF94E6F05948B6965406E9DB34C7FF2C40C743883713844407A27043A91910ED9C4E4284A1D0B46B5AC3C7F0A91F5E6F99FCAADA5FA7E6A6EFF80AECF9E27E378D13890E23F2038C07EE76D7EB1D6D375E2DD47642CF90C553FA06FFD57040E8C2F16A69C0FC3396F8DC4A41FE47D3612A3FE43A683DA85CA3F7BC2E74E67B499C698390622550B205510A334BA2DDF38852ED89D25D88B29612E52D27DABF86287F35D17729447B9CE86EF034FB66F0956EAC1EEBF131CC50A8CDF0A3E7BBFDE851941BDD8F5A4277772DA08AEDB6746B93195D0F9C45D7FD0CE8D6467DBA133099AA42A6D083D019F4247C16BD8931A65F12CD845F932D858FC99692CF4916925F234C24398E6384F66DDBD0800103A877AFDED4B16347FAA6435B9A3B54850ADCA6D02F7B3C49D8BF81E8D026A2C3A1B02DFCF5919D44073016E17DEE5AA2785BA26C1FA2023FA21853BAEB3F79BE0C7CC6825106259E630FDD09D017AA36CDA1FBB12EF42C7C0EBD4EB0A1DA446BFA9064490D69F34848C71C7B6DBE583A38CA70C6FC4BB0D65F894A80A33410164292E240AA4B5B45CB8D4653A74E9D68D4A851A4AEAE4E1A1A1A346CD830EAD1A307B56BD39A526C279090EB8F79BCC171305126C6CC55C0896B39EB30EF66F0BF1E6B80FB740FA2E3D14449B6F483FF646719FE17A1537C298BE1584694064C396EB8DF93633A84394AB0E712CC7718F31F054727C2894E619E13E0E8541CB8DA4A54086E32B18F12BCDEEF4F8D0521F43472190D515321353535D2D4D2244D60677B607B1939622475ECD0815217E891B017B872802F1BB60F7AC9580CACC0B31B7C25415349E6DC1261C50144B1A6747BE3642719FE27C1934C25594E123A9B48F4FD7E60C69E4F4660AFDBA13FECE94414B06F832F83F0D9163E1687E0332FA2839BB9BF0BBCB9460F6C20217F0D7D4AF3A2232B67535B703C64C810D2D2D26A61FDFBF7A7516A9DE8FD4E531298DE13A1FB74F09EBB11AFA1FB78E0DE6D0DADDB704BC57792AD38FE3833AA0AD25B28C37F6BEDF8410D19CEF574103C9FCDC27736732C85BE9CD782B53C76F60363217C52B09CFB27CF1DEB81ABEC05E07E3E7873104D021FD6459893D7E401A4ACACFC9B6E468E1C2962D7D4D4A4AE5DBB5298853A09290C9F03D7CBDF0BE14FF076F500F489BDEC75E5981976B69764ECB1709DC8FFFD60BD4532FCDFAFD0EA5A9F66F7944AA0B32260CE74020E7BA961EE43E07BB70B9F270B9FE5006FEE023E8AE6CC2D1B061D36EEB1A7EA90D934A27B2751E743870C1531AB6BA88BE3C08103A947970EF470CB1CE8D58E6BA5187E2D043F65D0E751F0970F4BB697EAC89A5B227C7280C7EFFD66FCA75AF66FF536D9E62C15407BA57E1C4B6E338C59E0B9E602B849C61EF07E1FB8CE7692E26EB90F017BFF94388F4A96E8423BAD6828629571CEB8673E60F87BF6EC498E637A52531CF8DC038D2780E313E03D15F3E67A72ED66AFE77865D853ACF8FB62F8295AC4BFA879FEFF39CA385DC85F2C5019F69DC5E671F9627BC1C3F58344D7F611DD3E8A3DB2B59C44AE5BE007FFC23E4768C78296EB0F1273E5F0E1C345DC4C436C1FCC171DA1A993DE33B157F092B1107C303DB2FCB2082374930F7F479A70EDC8B0FF861FFA8F9E4B0F43F49634C77F2F40779D50B004F8B772CDE4B97C31A66F968B0B57125D88217A7A9EE812349AB1947F57AA1F01F89BA0E59A903934FC5B65EAD5AB9754EF1CFF88112368D0A041A4D9AB0B7D8E039EBD761C17CBF5FBA0F534CC737417F09973DCA90CBB143FD37E02AE1771FC355FE1BFBC72ACAB50E026D08910AE7F1976C63FC39787B82807F60B094415C05E730A7A422D4C75E0BA07FF5C3BB67408DA516EDF163A1F20E64A996E187E1515150AB7D440CE816EF6D871AC17D2B02672767924F2A41BC72A8B59113B2C498AFF00F0C798514DD0E416F8CB166B387DCE7416A884E59A2552ED2CF86299F0ED6D603E1F0FFDA04E9D466EAD3A82EFE2FBFB1C441F4910176FA32C68E59481A8599D7FCBF7B2DCC3F0F7E8AA4CD59B6693C0E23603588FC442FBC8CD07D6705DC69972EC8C778699ED858D2CBFC6037F21E233D2981E064F5ED61C7FE9424D870F29B6021D80160F7A4B396775CC8BE7CA4C47E44FDC7B1AFC1F842F8A9047BF431DBB7B0C7E87EF331C09BD153DDB6A4223BB77A45E88518697F1AEA1A9216A88D53187717D484802BE345B9ED36E94601EECA1FA22AE211E92593E75E4DADC652CE61A8A07FF71E662DE17F3E7CE99F42468D2F2E6F88FB96A3AD4469908940FCCA5A82179F0C1FE95BC2E15ADE61A617190837A702A52BA077C760935EFCE311292EDA83E7E1E957B4D26D6EFB01E816167FA61FB603EE8D2B9139579E823E7037722309E84FE6E15103D384974261DF51275F224F652821C7A290FBCC3E7F1D63C8FB27AC67CC36A11C7EFD5423F4BB41C5E6E33027ED4A363C13C07654B733ACB95B9AEBCD761B9281D3E29837E8AB197C3E0E35A1A09DFE7D0FB48070A9CAD29F63B227E601EA53E4ADC47BF7EFD68C2C0EEF481F537C7E0B7A3B087C8033FA066FD085D4682E398B9C069CA8DC56914B0275848CD5C8A1FBC851BD1E360DD16FC9F5CAA65F73C445F10F2B0E732D4924C683A7721EFCDB2702D0F79ED0872C31168B57407D165F419E7C1D5E9505147928AFDF4327F0B4D19DC83E71D4D9EF3D5A5F855555529CE460BBA072F99D0C6A56CCE7B35EC6C06D18E995FE295E99DD5A9481BAE79863D1EDA89C5FEF2813FCC889E05E9AE6A81DF7D8CEDD3804942630EB09EDC22CD8B0BB9654BE3F708B0E6C13FCC472C668F633F8758CDF6A186437E7423770BA97656A6C183074BB1F3D865EFFBA976A19F765920C7BAF218AC2A459F80BC53530E7D603FA95807754FECF96380371FF3A67848756F2AF60CA27F0A38FE17C1BADE2DF02F1B63F73C7092F0791FB47284D5605769EE91E6D00C275E17597C1C409CED677EC19AA7E348285E4B1FF7BA53FA0A63EA809E52D66332D3D4D0A4DE7D7AD3064BD627AF80DED05FDF41DEAAC8C1980FEDC18F5B6672FC7B31672AB889436C64429729C81BEC3C9582B559AD8E31E1F877CCF807FCA73CC7D8BD0AD113DEA720AFEDC7BE8BBD5BF6394CF7AC0FCD63FD28B47910318D7C43451B49B8984E75092EE436693075EFDE1DDC8F10FB65869FD5DFDEDDBFA1FBD1CB483806ED1D83F61E9F01FFD07D7519EFDBF2FC784F5B88790B59EC41AB695827CE5EAC55146DC2B967237A5B86FF7990EEEA16F8BDC6D8D56E9922D4C5629FD9E0FB5820EFD558ECB2DE92F5B8A793703FF26631B839068D1D43AD2E8FA5A6B2447A5A104A5AFD54C5DE8C694656B7589FBC04FB92A4C29F49E0B51C39E73A74730B7DEE77C95C17B2DE9E693CC5915F63BA67DA89F90A7F367CB8C3885E074D5CDB12FF58DB77DBA60A2F76628E2CF07D7C9398D3291F5AC9474DC8F3E0E71416578750BFF6FF55EC59842C376A40CD3DEF6D42AADDBA88BA97D55A86BFA76A37BAB66E3A7481584C0217D7A19BABA94495C8FB6C4FB2DE4656639351176258DF060CF1D0423C7C10873102BD6A242C17BA089B416FBEC27FDA6B9CED87ED5385A73BCC4860317B34485A579DA47E603DA91B8F03F63ED3457C2F64CCA75F136D28769E1675EBD6959FADA01FD6F7B0B8B5D31E468DDBE7F0FA598A9C79750F7226B82F8BE5F548863FC9F24B8FC0349000FC89C81971582B85C504F6158DEB39DEA27EBEC67FC263ACF5C71DD384C7A1A6D49809AC873748B13A3733A996B21771FCE87704F40CB5E8199CC6F711733C8B5D66CC0FDFAA7E43970AE34928444F8BF30C5D67F10AFC77C07D74B3BE52EC112CA41A32E7B11A0DBDC681BF7868201ABE8B01FE88B99C7FE8E74D90CEFA16F577D958AB4F610692275B4DE9133B0FB19A9BE5CA7B398699E59A3427DE9F3363BD23CEEF4DA976F46CDB5C1AA1D645D40CC3CEF4C3CE8C9606E3A8E907D4D16B88D56CD4F4CBD07B5511B417C4794E96F63532DCF1D21E81C5498A33E73BDE86EB895984543FDB8DA82E58C7FF6BFCF5C0FF7CBB05BD63FBCF75E7E744F4F362FDCA41CD4D877E72D15364B13D208ED0BF37E2DA155F0352E9D259C42D3BDFF6EDDD8BCE04DA907018F1721DF86F22DF5F49E6AF93810DFD0625DA70ACC9D04A823DC7D73CDFC862368A9931D77F0E72D33643E0D7FE07FC9F81FFE54E6B7ABDD384F70AEC2C990E5F2046290778D397F0711F7BBF12DA5F8C9EC792CEAD32203D5D5D11B7ACD79CAB35881A587F5D8A3E231BB9E026E296F9227D39EF0718EF2C4613E0DB34D4AF2467CE7982CD17ECCC7EC36ECCF79705FEB6CDA0BAC0092DF1BB8FB56A089B26F929C2869E841890903E9FFF66C2FAC46CCC9FC5B0C32799D051D662B11E0B389BBE8B34A72C2F332A2F2BA34345451412144456C633E9820FCE572C7FEF9AC3FBB28BACD740AF176BFEA51F4EB094D65629D6D866B8A3FF09F65DB3B1EE7211FFDBC0AFF8771F63D5B063AAA42ECA9EEEAF9B086E9D397E96F7D31DB91F98B13AC62C0DDA4F99478F37CFA1F80DCBE9EEEDDBF4E0DE3D7AF3EA154A723035B17865393116717A09F9FE2674138739E32C789E675A177B0253A966A478FF157619FE0CE8387406BDF3D70E6C8EFF38C3BF6D8AE45DCC7CBAE73B919AF602F301F4AA88CF2F98F17AB78D784E15D0F3D7272FA44B3E469493964A551577E8714D0DDDAFAAA28A404B70CF720AF067A35E9EC5B92DCB9773CF7AE158A61F7B1E07AC3F4876E13A62311065D2123BF3DF4EE00E9F29F63DB4177579EB0C7AEF3FBE25FEA5A3E736841B49DEC52DA02A3F03FA9864C36376AF0B3FE73163BFCDA5B33E1ABDC03E0F7A1B6187526F4BE7CACBA9EA4E25BD7CF68CCAF3D2A83ECC946B83E93C99C5FE067E1E673DBCC8BB19E758E476B6D8CF8BF898B1334B04D314FC9EC0F210D6DF8D357743B3A988BB62C452B41D7D08D00D688EFFEFDEDA236AB74CCF7C19A477E8B6B7F6DFDE459BBD17B1B3DF0818E7A9B67C846604585382153D0E9A49F11B57D18DAB57E93EB4F3ECC913BAB4D9950416FFAC87646774D466312E59ACEE59C4CF6A7BDD78AF968EB9D3C127B8A00C4FFEFB669A1BF70BABBDA82BB4D358CCF7146A20A1ED869F286C562DAE3FFCBC59CFE39F3D6C386ED35BEEA8B386526D946996E8EBEC95FCF71931D731FDCCC7D97B017D4A70A273BEA694BD27856E5EBB4A8F6AAAE9FA8573F42C12F8994633191EC4FDDEC51C7B92038F0596C7716617A2E622468CA9317C163500DFE71D86F4699B01BD0F9D4EB59BA7D31BE4905721D3E945A03E55AFD7C96A0A9FAED5B8CDB03745CE56A128A34E4D71B35AFD8B6735E233929F76CE5E2FEC7612C4DF3933BDF86F9D191E24803B49CA02E1F50E2B21D9C34A283B7A947EB87153E4FE64FCA68F4DE1264FD177DD844E4E229F1408B1A6D194601684985DD1183DCBF5976DD317BE0AD15FFACC5F77DDFDF51342EFF8682755786B1F80CF4FDD5E3DE15A858F4ECD1D1F9D9F2A7D747EBDB77652C38F1BF41BAFACD276FB9DCF793AC386C2BA5FF1D1B1465F5623C459DF12E22DCE0949D6C54292555A538265F89BEDB303F6396886FAFBAEAE3F5252429515155455592959E9B1D4F48F78E0553ABFA7C2CD559A1DEF6FD0E9591DA03BB2D24FA7D3EFB8AD35FA2DAB39B3673F9C3871E2C9914307F9DAE9F41B95BE686CC72B5E5AADC6756F277B86D641414161A0A58545DCA573E7845BD7AED1B9336728212EEED5645D5DB53FF1399FB2B9A96991EDBC79046C34D3C8A869EC9831456DDBB6D5923ED363BEE98BB3F9ACE90606FB7685857FAE61F9FEC50BAAFFE5178A8E882850525252FCB39E51B66FDFBE9FFFFAF5753EAB5691A5991939CF9F4F7A9326D1441D9D47E8CB2270AEF2EED3A74FAEC1B4691FCCCD4C8573A7CBE905345FFBFA0D3D7FF488DDB3E8776AB4ADBCBC7CE7FFC1F3CBDFF58C13DC3B5CBB7C5972AFB29232D2D26853602005F8F9D1DC39730437D745C2AA152B2413C66B93D9DCB9425E56163DA9AEA69F516BDFFEFC335D3A7F9E860C1EECCA9EC14A3526DF2C1728499F9F2AE36C3C5C435DDDCFDCD4ECA08A8A4A9B3FD2016BBCBD7DCE9E3EDDF46365A570E5D245CAD8B3870EE4E551E9C18314B6752BB92E58402B3C3CC45AF5E0EE5D91FBBA376FE87D6D2D9DFFEE3B5AE6EE5E3D74C85047454545F65C96C5410F581FC4CA28E58ECAD60306F44F7271767E181F1D2D99676575B75BB76EEDFE600DB532323434F45EB162E73A9F3545EBD7ACC9D8B669734E6A52D28DD3C78F0BFEEBD60949B1B15471F3263D7AF040ACB5B5C0FF4B5D1DDD45FE59E8E2424E4E4E8DB6B6B69583070D2AFD5655B5A85FDFBE7F339836F5C50A4F4FC97670B06CC91272B4B76FDC1C1C9CAE3D6EBCD2BF2330466B6AB65FEBE3B3263622B2FED4B1E322FE87C0FFE2E9538EFFED5BD116C23FA3478FA6A54B970A4E8E8E1402FDC1A7C4F2818EB636811B21D0CFEFFEAEB01DF68EB6F64AFFCEE0EED0AE83A2FB62B7DDBEDEDE4DFBF6EC11AE7EFF3D3D86FE59EE61FA67F85F3E794AB15151E48798F1F2F4449C980A96E6E62C868464E4D6E4F8F8102787F9DFFC59C9B5B5626B8551C3868F9DAAA7176266627271A5A7E7AFC024405B5479EB16BD823FDE21167E7AFD9A2A6FDF96204E9E1717141C0ADAB871E1D021433AFF5FFA1F42D4D4D4DA686968F41F3F668CB9BEAEAEEF0C03835DE62626513696969BAC2D2C5C671BCD9C307EECD86E0A720A0A72FFFFF7DFFE11FB43A63E234F62C63E23EDE26463D0FF723CF31F3AD64BC7876C9CC2AE77A27AE948F4650C92EBFB888F72F2FC7ACB11FF2A8A6310BB01E319B929E2582F27DE2FF28EF1BF00FD6C1AFF]
link(onCreate,1964101:doAdd,[(103,125)(103,118)])
}
Add(Clipboard,2828579,161,49)
{
}
Add(ArrayEnum,11200585,161,182)
{
link(onItem,13826388:doSearch,[(261,188)(261,153)])
link(Array,1964101:Array,[(167,162)(174,162)])
}
Add(Button,748021,77,182)
{
Left=5
Top=470
Caption="Поиск"
link(onClick,521194:doEvent1,[(117,188)(117,181)])
}
Add(Hub,521194,126,175)
{
link(onEvent1,11200585:doEnum,[(150,181)(150,188)])
}
Add(StrCat,1656694,545,114)
{
Str2="*"
link(onStrCat,10733217:doEvent1,[(590,120)(590,118)])
link(Str1,4856865:Result,[(551,102)(527,102)(527,156)(503,156)])
}
Add(StrCat,4856865,497,112)
{
Str1="*"
link(onStrCat,1656694:doStrCat,[(537,118)(537,120)])
link(Str2,5415623:Result,[(510,100)(482,100)(482,205)(454,205)])
}
Add(Trim,5415623,448,161)
{
Point(Result)
link(onTrim,4856865:doStrCat,[(488,167)(488,118)])
link(Text,16528152:Result,[(454,149)(428,149)(428,209)(395,209)])
}
Add(MultiReplace,16528152,389,165)
{
ReplaceList="(Черн. 1,0)=;\r\n(Черн. 1,5)=;\r\n(Черн. 2,0)=;\r\n(Черн. 2,5)=;\r\n(Черн. 3,0)=;\r\n(Черн.1,0)=;\r\n(Черн.1,5)=;\r\n(Черн.2,0)=;\r\n(Черн.2,5)=;\r\n(Черн.3,0)=;\r\n(Оц. 1,0)=;\r\n(Оц. 1,5)=;\r\n(Оц. 2,0)=;\r\n(Оц. 2,5)=;\r\n(Оц.1,0)=;\r\n(Оц.1,5)=;\r\n(Оц.2,0)=;\r\n(Оц.2,5)=;\r\nЭ=*;\r\n/=*;\r\n.=*;\r\n\r\n"
Mode=1
link(onResult,5415623:doTrim,[(438,171)(438,167)])
}
Add(BlockFind,13826388,329,147)
{
StartBlock="."
EndBlock=")"
link(onSearch,16528152:doMultiReplace,[(375,153)(375,171)])
}
Add(Memo,1964101,154,112)
{
Top=5
Width=315
Height=455
link(Str,2828579:Text,[(160,96)(167,96)])
}
Add(Hub,10733217,595,112)
{
link(onEvent1,3057202:doPush,[(640,118)(640,195)])
link(onEvent2,13659289:doSleepMks,[(621,125)(621,177)(541,177)(541,230)])
}
Add(Stack,3057202,679,189)
{
link(onPop,2094306:doEvent1,[(727,202)(727,265)])
link(Data,1656694:Result,[(685,175)(594,175)(594,158)(551,158)])
}
Add(Label,8203284,910,161)
{
Left=275
Top=465
Visible=1
}
Add(Label,9536904,1036,165)
{
Left=205
Top=465
Visible=1
Caption="d:\\77\"
}
Add(DirTools,10556004,973,259)
{
link(Source,8203284:Caption,[(979,212)(916,212)])
link(Dest,9536904:Caption,[(986,217)(1042,217)])
}
Add(FileSearch,13399579,770,259)
{
Ext=""
Dir="\\192.168.50.253\\общие документы\"
link(onSearch,2853466:doEvent1,[])
link(onEndSearch,2294743:doMessage,[(818,272)(818,314)])
link(Ext,6725221:Var3,[(776,240)])
}
Add(Message,2294743,833,308)
{
Message="Поиск завершен"
}
Add(Hub,2853466,847,259)
{
link(onEvent1,8203284:doText,[(885,265)(885,167)])
link(onEvent2,10556004:doCopy,[(917,272)(917,265)])
}
Add(Sleep,13659289,553,224)
{
Delay=60
link(onSleep,3057202:doPop,[(632,230)(632,202)])
}
Add(Hub,2094306,735,259)
{
link(onEvent1,13399579:doSearch,[])
}
Add(GetDataEx,6725221,756,235)
{
Angle=3
link(Data,5406730:Var3,[])
}
Add(GetDataEx,5406730,749,235)
{
Angle=3
link(Data,3057202:Value,[(685,240)])
}


вот только он в сетевой папке по IP не хочет искать, если её прицепить как сетевой диск то все Ок. Как правильно прописать путь по IP?

Редактировалось 1 раз(а), последний 2017-05-24 13:41:04
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#155: 2017-05-24 14:22:56 ЛС | профиль | цитата
SaturN26 писал(а):
Как сделать что бы перебор массива ждал пока поиск закончится.
Выбросить FileSearch вообще.
У компонента DirTools открыть точку
*doExists=Проверяет наличие на диске папки или файла с именем Source и выдает в потоке onOK: 1 - если папка существует, 2 - если файл существует, и 0 - при отсутствии таковых|1|

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
Голосовали:SaturN26
Ответов: 47
Рейтинг: 0
#156: 2017-05-24 15:15:58 ЛС | профиль | цитата
А как искать файлы в сетевой папке по IP?
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#157: 2017-05-24 17:44:54 ЛС | профиль | цитата
SaturN26, встречный вопрос : Что такое IP ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 47
Рейтинг: 0
#158: 2017-05-25 07:56:08 ЛС | профиль | цитата
Да уж безграмотно написал. Попробую по другому. В сети есть компьютер я знаю его IP на нем есть расшаренная папка Общие документы. Как грамотно сделать что бы искало файлы Там.
карма: 0

0
Ответов: 47
Рейтинг: 0
#159: 2017-05-29 15:32:52 ЛС | профиль | цитата
Как сделать что бы программа постоянно висела в фоне и отслеживала появление определенного окна?

--- Добавлено в 2017-05-29 16:09:46

SaturN26 писал(а):
Как сделать что бы программа постоянно висела в фоне и отслеживала появление определенного окна?


Все не надо Сам сделал



Add(Service,2953706,21,105)
{
Wait=0
link(onStart,15951871:doTimer,[(114,111)(114,132)])
}
Add(Message,734446,441,42)
{
Message="Продолжить отслеживание?"
Caption="Обнаружено окно Сохранения"
Type=2
Point(onYES)
Point(onNO)
link(onNO,2953706:doStop,[(485,62)(485,86)(9,86)(9,111)])
}
Add(WinEnum,9926409,245,105)
{
VisibleOnly=1
link(onFindWindow,16183853:doCompare,[])
}
Add(StrMask,16183853,308,105)
{
Mask="*Укажите имя*"
Point(doMask)
link(onTrue,734446:doMessage,[(390,118)(390,48)])
}
Add(Timer,15951871,161,126)
{
link(onTimer,9926409:doEnum,[(219,132)(219,111)])
}



Редактировалось 1 раз(а), последний 2017-05-29 16:09:46
карма: 0

0
Ответов: 47
Рейтинг: 0
#160: 2017-08-08 10:06:59 ЛС | профиль | цитата
Здравствуйте! Как сделать что бы окно формы привязалось к определенному окну и перемещалось за ним если его сдвигать?
карма: 0

0
Ответов: 497
Рейтинг: 16
#161: 2017-08-08 15:30:37 ЛС | профиль | цитата
я вот так всегда делаю

только вот что!!!! почему после переназначения родительского окна хэндле родителя равен 0 ?

Add(MainForm,2953706,504,161)
{
Name="test"
Point(Handle)
}
Add(ChildForm,7406409,455,161)
{
link(Data1,441285:Var1,[(461,149)(433,149)])
}
BEGIN_SDK
Add(EditMulti,10119223,21,21)
{
WorkCount=1
DataCount=1
VarCount=1
Width=447
Height=277
link(Var1,779679:Handle,[(27,218)(104,218)])
link(doWork1,3418446:doData,[(70,27)(70,202)])
}
Add(MainForm,779679,98,42)
{
Left=35
Top=105
Width=646
Height=23
BorderStyle=0
Point(Handle)
}
Add(Edit,10177834,175,189)
{
Width=646
Height=23
Align=5
Color=0
Font=[MS Sans Serif,8,0,16777215,1]
link(onChange,7400989:doCaption,[])
}
Add(WinTools,7400989,280,161)
{
Point(doCaption)
link(Handle,10119223:Data1,[(286,91)(27,91)])
}
Add(DoData,3418446,119,196)
{
link(onEventData,10177834:doText2,[])
link(Data,7400989:CaptionText,[(125,184)(205,184)(205,211)(286,211)])
}
END_SDK
Add(SetParent,4898195,455,224)
{
link(onSetParent,16273976:doEvent1,[])
link(Handle,1681077:Var2,[])
}
Add(Button,2151865,259,224)
{
Left=145
Top=10
Caption="start"
link(onClick,1627804:doExec,[])
}
Add(WinExec,1627804,322,224)
{
FileName="notepad.exe"
link(onExec,6392700:doFind,[])
}
Add(FindWindow,6392700,399,224)
{
ClassName="Notepad"
SkipParam=1
link(onFind,4898195:doSetParent,[])
}
Add(PosWindow,10245666,602,224)
{
link(Handle,1681077:Var3,[(608,208)])
}
Add(GetDataEx,1681077,455,203)
{
link(Data,7406409:Var1,[])
}
Add(Hub,16273976,539,224)
{
OutCount=4
link(onEvent1,10245666:doLeft,[])
link(onEvent2,10245666:doTop,[])
link(onEvent3,1665774:doFindChild,[(581,244)(581,293)])
link(onEvent4,1924086:In,[])
}
Add(FindWindow,1665774,595,280)
{
ClassName="Edit"
SkipParam=1
Point(ChildHandle)
link(onFind,8471118:doTop,[])
link(ParentHandle,441285:Var3,[(601,268)])
}
Add(GetDataEx,441285,427,263)
{
Angle=3
link(Data,6392700:Handle,[(405,268)])
}
Add(PosWindow,8471118,658,273)
{
Top=22
}
Add(LineBreak,7427954,392,161)
{
link(Out,7406409:doWork1,[])
Primary=[1924086,273,84]
}

карма: 1
        ]  
0
Ответов: 824
Рейтинг: 138
#162: 2017-08-09 00:43:43 ЛС | профиль | цитата
Привязка своего окна к любому другому

Add(MainForm,2953706,770,245)
{
Width=413
Height=125
Caption="Привязка окна"
Point(doLeft)
Point(doTop)
Point(Handle)
link(onCreate,2252219:doPopup,[])
}
Add(Button,9831433,175,147)
{
Left=15
Top=10
Width=80
Caption="Привязать"
Point(doEnabled)
link(onClick,11523607:doMessage,[])
}
Add(Button,1053009,175,280)
{
Left=105
Top=10
Width=80
Enabled=1
Caption="Отвязать"
Data=String(Привязано к окну: Непривязано!)
Point(doEnabled)
link(onClick,7994391:doEvent1,[])
}
Add(LED,12120273,770,168)
{
Left=205
Top=5
}
Add(WinInfo,13885701,518,273)
{
Point(Left)
Point(Top)
link(onWinInfo,10919155:doEvent1,[])
link(Handle,3559114:Value,[])
}
Add(MouseEvent,8125040,371,98)
{
Point(Handle)
}
Add(Keyboard,4072279,336,154)
{
Key=1
link(onReadKey,13694263:doEvent,[])
}
Add(Timer,11522873,287,154)
{
Interval=25
Enable=1
link(onTimer,4072279:doReadKey,[])
}
Add(IndexToChanel,13694263,385,154)
{
Point(Data)
link(onEvent2,11955218:doEvent1,[])
link(Data,8125040:Handle,[])
}
Add(Hub,11955218,434,161)
{
OutCount=4
link(onEvent1,3559114:doValue,[])
link(onEvent2,11522873:doStop,[(501,174)(501,202)(277,202)(277,167)])
link(onEvent3,6387108:In,[])
link(onEvent4,15099386:In,[])
}
Add(Memory,3559114,518,161)
{
link(onData,4379711:doWinInfo,[])
}
Add(LineBreak,5435867,371,273)
{
Caption="run"
link(Out,14033660:doStart,[])
Primary=[15099386,91,-91]
}
Add(ChanelToIndex,1914937,126,147)
{
link(onIndex,9831433:doEnabled,[])
}
Add(ChanelToIndex,15926829,126,280)
{
link(onIndex,1053009:doEnabled,[])
}
Add(Hub,4183155,294,287)
{
OutCount=4
link(onEvent1,12036244:In,[])
link(onEvent2,8365406:In,[])
link(onEvent3,1914937:doWork2,[(347,307)(347,335)(109,335)(109,160)])
link(onEvent4,15926829:doWork1,[(340,314)(340,328)(116,328)(116,286)])
}
Add(LineBreak,2657671,28,147)
{
Caption="dis"
link(Out,13361741:doEvent1,[])
Primary=[6387108,434,28]
}
Add(Hub,13361741,70,147)
{
link(onEvent1,1914937:doWork1,[])
link(onEvent2,15926829:doWork2,[(102,160)(102,293)])
}
Add(Hub,10919155,574,273)
{
link(onEvent1,10135828:doCalc,[])
link(onEvent2,440256:doCalc,[])
}
Add(WinInfo,4379711,595,161)
{
Point(Left)
Point(Top)
link(onWinInfo,12667640:doEvent1,[])
}
Add(WinInfo,12704085,679,168)
{
Point(Left)
Point(Top)
link(onWinInfo,12120273:doChangeValue,[])
link(Handle,6271307:getVar,[])
}
Add(LineBreak,12112241,721,175)
{
Caption="off"
link(Out,12120273:doOff,[])
Primary=[12036244,-385,112]
}
Add(FastMathParse,10135828,602,273)
{
DataCount=3
MathStr="%3 - (%2 - %1)"
link(onResult,2953706:doLeft,[])
link(X1,13885701:Left,[(608,264)(566,264)(566,320)(538,320)])
link(X2,4379711:Left,[])
link(X3,12704085:Left,[(622,243)(699,243)])
}
Add(FastMathParse,440256,679,280)
{
DataCount=3
MathStr="%3 - (%2 - %1)"
link(onResult,2953706:doTop,[])
link(X1,13885701:Top,[(685,250)(559,250)(559,313)(545,313)])
link(X2,4379711:Top,[(692,236)(622,236)])
link(X3,12704085:Top,[(699,258)(706,258)])
}
Add(Thread,14033660,427,273)
{
Delay=10
link(onExec,13885701:doWinInfo,[])
}
Add(Hub,7994391,266,280)
{
link(onEvent1,14033660:doStop,[])
link(onEvent2,4183155:doEvent1,[])
}
Add(WinTools,2252219,833,252)
{
link(Handle,2573575:getVar,[])
}
Add(LineBreakEx,3097492,770,308)
{
Caption="MyHDL"
Type=3
link(_Data,2953706:Handle,[])
}
Add(LineBreakEx,2573575,833,217)
{
Caption="MyHDL"
Type=2
}
Add(LineBreakEx,6271307,679,133)
{
Caption="MyHDL"
Type=2
}
Add(Label,9557937,903,161)
{
Left=15
Top=45
Width=365
Height=35
Caption="Привязано к окну: Непривязано!"
AutoSize=1
}
Add(FormatStr,5444884,819,161)
{
DataCount=1
Mask="Привязано к окну:\r\n%1\r\n"
link(onFString,14312587:doWork2,[])
link(Str1,4379711:Caption,[(825,124)(587,124)(587,201)(608,201)])
}
Add(Hub,12667640,637,161)
{
link(onEvent1,5444884:doString,[])
link(onEvent2,12704085:doWinInfo,[])
}
Add(LineBreak,16043449,840,133)
{
link(Out,14312587:doWork1,[(886,139)])
Primary=[8365406,-504,161]
}
Add(HubEx,14312587,882,161)
{
link(onEvent,9557937:doText,[])
}
Add(Message,11523607,231,147)
{
Message="Для привязки этого окна к любому\r\nдругому - нажмите "Ок" и кликните\r\nпо целевому окну.\r\n\r\nПродолжить?"
Caption="Внимание!"
Type=1
Point(onOK)
link(onOK,11522873:doTimer,[])
}
Для привязки нажать кнопку "привязать" и кликнуть по целевому окну.

Редактировалось 2 раз(а), последний 2017-08-09 00:51:45
карма: 1

0
Ответов: 497
Рейтинг: 16
#163: 2017-08-09 01:52:47 ЛС | профиль | цитата
sashaoli, ну немного подправить и будет самое оно
оно


Add(MainForm,16595783,840,273)
{
Width=413
Height=125
Caption="Привязка окна"
Point(doLeft)
Point(doTop)
Point(Handle)
link(onCreate,2252219:doPopup,[])
}
Add(Button,9831433,245,175)
{
Left=15
Top=10
Width=80
Caption="Привязать"
Point(doEnabled)
link(onClick,11523607:doMessage,[])
}
Add(Button,1053009,133,301)
{
Left=105
Top=10
Width=80
Enabled=1
Caption="Отвязать"
Data=String(Привязано к окну: Непривязано!)
Point(doEnabled)
link(onClick,7994391:doEvent1,[])
}
Add(LED,12120273,840,196)
{
Left=205
Top=5
}
Add(WinInfo,13885701,588,301)
{
Point(Left)
Point(Top)
link(onWinInfo,10919155:doEvent1,[])
link(Handle,15600096:Var2,[])
}
Add(MouseEvent,8125040,441,126)
{
Point(Handle)
}
Add(Keyboard,4072279,406,182)
{
Key=1
link(onReadKey,13694263:doEvent,[])
}
Add(Timer,11522873,357,182)
{
Interval=25
Enable=1
link(onTimer,4072279:doReadKey,[])
}
Add(IndexToChanel,13694263,455,182)
{
Point(Data)
link(onEvent2,11955218:doEvent1,[])
link(Data,8125040:Handle,[])
}
Add(Hub,11955218,504,189)
{
OutCount=4
link(onEvent1,3559114:doValue,[])
link(onEvent2,11522873:doStop,[(571,202)(571,230)(347,230)(347,195)])
link(onEvent3,6387108:In,[])
link(onEvent4,15099386:In,[])
}
Add(Memory,3559114,588,189)
{
link(onData,1106389:doWork2,[])
}
Add(LineBreak,8148742,329,294)
{
Caption="run"
link(Out,14033660:doStart,[])
Primary=[15099386,203,-84]
}
Add(ChanelToIndex,1914937,196,175)
{
link(onIndex,9831433:doEnabled,[])
}
Add(ChanelToIndex,15926829,84,301)
{
link(onIndex,1053009:doEnabled,[])
}
Add(Hub,4183155,252,308)
{
OutCount=4
link(onEvent1,12036244:In,[])
link(onEvent2,8365406:In,[])
link(onEvent3,1914937:doWork2,[(278,328)(278,261)(184,261)(184,188)])
link(onEvent4,15926829:doWork1,[(278,335)(278,321)(72,321)(72,307)])
}
Add(LineBreak,4404419,98,175)
{
Caption="dis"
link(Out,13361741:doEvent1,[])
Primary=[6387108,434,28]
}
Add(Hub,13361741,140,175)
{
link(onEvent1,1914937:doWork1,[])
link(onEvent2,15926829:doWork2,[(172,188)(172,314)])
}
Add(Hub,10919155,644,301)
{
link(onEvent1,10135828:doCalc,[])
link(onEvent2,440256:doCalc,[])
}
Add(WinInfo,4379711,665,189)
{
Point(Left)
Point(Top)
link(onWinInfo,12667640:doEvent1,[])
link(Handle,15600096:Var3,[(671,177)(634,177)(634,236)])
}
Add(WinInfo,12704085,749,196)
{
Point(Left)
Point(Top)
link(onWinInfo,12120273:doOn,[(811,202)(811,216)])
link(Handle,6271307:getVar,[])
}
Add(LineBreak,9189513,791,203)
{
Caption="off"
link(Out,12120273:doOff,[])
Primary=[12036244,-497,105]
}
Add(FastMathParse,10135828,672,301)
{
DataCount=3
MathStr="%3 - (%2 - %1)"
link(onResult,16595783:doLeft,[])
link(X1,13885701:Left,[(678,292)(636,292)(636,348)(608,348)])
link(X2,4379711:Left,[])
link(X3,12704085:Left,[(692,271)(769,271)])
}
Add(FastMathParse,440256,749,308)
{
DataCount=3
MathStr="%3 - (%2 - %1)"
link(onResult,16595783:doTop,[])
link(X1,13885701:Top,[(755,278)(629,278)(629,341)(615,341)])
link(X2,4379711:Top,[(762,264)(692,264)])
link(X3,12704085:Top,[(769,286)(776,286)])
}
Add(Thread,14033660,385,294)
{
Delay=10
link(onExec,13858008:doCompare,[])
}
Add(Hub,7994391,224,301)
{
link(onEvent1,14033660:doStop,[])
link(onEvent2,4183155:doEvent1,[])
}
Add(WinTools,2252219,903,280)
{
link(Handle,2573575:getVar,[])
}
Add(LineBreakEx,3097492,840,336)
{
Caption="MyHDL"
Type=3
link(_Data,16595783:Handle,[])
}
Add(LineBreakEx,2573575,903,245)
{
Caption="MyHDL"
Type=2
}
Add(LineBreakEx,6271307,749,161)
{
Caption="MyHDL"
Type=2
}
Add(Label,9557937,973,189)
{
Left=15
Top=45
Width=365
Height=35
Caption="Привязано к окну: Непривязано!"
AutoSize=1
}
Add(FormatStr,5444884,889,189)
{
DataCount=1
Mask="Привязано к окну:\r\n%1\r\n"
link(onFString,14312587:doWork2,[])
link(Str1,4379711:Caption,[(895,152)(657,152)(657,229)(678,229)])
}
Add(Hub,12667640,707,189)
{
link(onEvent1,5444884:doString,[])
link(onEvent2,12704085:doWinInfo,[])
}
Add(LineBreak,14747337,910,161)
{
link(Out,14312587:doWork1,[(956,167)])
Primary=[8365406,-616,154]
}
Add(HubEx,14312587,952,189)
{
link(onEvent,9557937:doText,[])
}
Add(Message,11523607,301,175)
{
Message="Для привязки этого окна к любому\r\nдругому - нажмите "Ок" и кликните\r\nпо целевому окну.\r\n\r\nПродолжить?"
Caption="Внимание!"
Type=1
Point(onOK)
link(onOK,11522873:doTimer,[])
}
Add(WinEnum,13584128,455,238)
{
Point(GetActiveWindow)
}
Add(If_else,13858008,462,294)
{
link(onTrue,14201392:doEvent1,[])
link(onFalse,1656688:doWork1,[(510,307)(510,370)])
link(Op1,13584128:GetActiveWindow,[])
link(Op2,15600096:Var1,[(475,279)(535,279)(535,236)])
}
Add(GetDataEx,15600096,588,231)
{
link(Data,3559114:Value,[])
}
Add(Hub,14201392,525,294)
{
link(onEvent1,4852313:In,[])
link(onEvent2,13885701:doWinInfo,[])
}
Add(ChanelToIndex,1656688,518,364)
{
link(onIndex,10726870:doData,[])
}
Add(LineBreak,4524203,588,168)
{
link(Out,1106389:doWork1,[(634,174)])
Primary=[6126647,77,203]
}
Add(ChangeMon,10726870,567,364)
{
link(onData,15137313:doEvent,[])
}
Add(IndexToChanel,15137313,616,364)
{
link(onEvent2,6126647:In,[])
}
Add(HubEx,1106389,630,189)
{
link(onEvent,4379711:doWinInfo,[])
}
Add(LineBreak,13705759,469,371)
{
link(Out,1656688:doWork2,[])
Primary=[4852313,84,-77]
}

карма: 1
        ]  
0
Ответов: 47
Рейтинг: 0
#164: 2017-08-09 08:12:31 ЛС | профиль | цитата
Спасибо!!!
карма: 0

0
Ответов: 824
Рейтинг: 138
#165: 2017-08-09 15:38:14 ЛС | профиль | цитата
RAWY_EX писал(а):
ну немного подправить и будет самое оно

Нет, не оно, а "огород городить" - тогда да, оно.
карма: 1

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)