Вверх ↑
Этот топик читают: Гость
Ответов: 497
Рейтинг: 16
#166: 2017-08-09 17:14:55 ЛС | профиль | цитата
кому как
карма: 1
        ]  
0
Ответов: 497
Рейтинг: 16
#167: 2017-08-09 21:49:44 ЛС | профиль | цитата
заметил в примерах Moved.sha
карма: 1
        ]  
0
Ответов: 37
Рейтинг: 0
#168: 2017-09-14 16:23:11 ЛС | профиль | цитата
В полях ввода (Edit) добавлен метод doSelectAll. Его долны включить в первом случае Label, во втором Button.
Не могу понять логику: если клик по Label метод срабатывает, если по Button -- нет. Более того, если сначала клик по кнопке, а потом по надписи, то перестает работать и она тоже. Помогите, пожалуйста разобраться. Вот схема:


Add(MainForm,2953706,14,56)
{
Width=165
Height=119
}
Add(Edit,3505346,252,63)
{
Left=90
Top=10
Point(doSelectAll)
}
Add(Label,1723204,126,63)
{
Left=35
Top=10
Width=34
Height=17
Cursor=2
Caption="Select"
link(onClick,3505346:doSelectAll,[(205,69)(205,83)])
}
Add(Edit,12504252,252,126)
{
Left=90
Top=40
Point(doSelectAll)
}
Add(Button,14354341,126,126)
{
Left=25
Top=40
Width=50
Height=25
Caption="Select"
link(onClick,12504252:doSelectAll,[(205,132)(205,146)])
}

карма: 0

0
Ответов: 4620
Рейтинг: 746
#169: 2017-09-14 16:55:05 ЛС | профиль | цитата
Просто выделеного текста не видно (или выделение снимается), если Edit не находится в фокусе ввода. Button снимает фокус ввода, Label - нет. Можно проверить, если при выделенном тексте нажать Tab. Вот так более понятно:

Add(MainForm,5056745,378,168)
{
Width=165
Height=119
}
Add(Edit,3505346,616,175)
{
Left=90
Top=10
Point(doSelectAll)
}
Add(Label,1723204,490,175)
{
Left=35
Top=10
Width=34
Height=17
Cursor=2
Caption="Select"
link(onClick,3505346:doSelectAll,[(569,181)(569,195)])
}
Add(Edit,12504252,616,238)
{
Left=90
Top=40
Point(doSetFocus)
Point(doSelectAll)
}
Add(Button,14354341,490,238)
{
Left=25
Top=40
Width=50
Height=25
Caption="Select"
link(onClick,8083612:doEvent1,[(548,244)(548,258)])
}
Add(Hub,8083612,574,252)
{
link(onEvent1,12504252:doSetFocus,[])
link(onEvent2,12504252:doSelectAll,[])
}
карма: 26

0
Ответов: 37
Рейтинг: 0
#170: 2017-09-14 17:01:18 ЛС | профиль | цитата
Большое спасибо! Теперь понял. Сам дошел до рабочей версии через "танец с бубном". Вот так:


Add(MainForm,2953706,203,105)
{
Width=165
Height=119
}
Add(Edit,3505346,441,112)
{
Left=90
Top=10
Point(doSetFocus)
Point(doSelectAll)
Point(onSetFocus)
link(onSetFocus,3505346:doSelectAll,[(485,132)(485,155)(428,155)(428,139)])
}
Add(Label,1723204,315,112)
{
Left=35
Top=10
Width=34
Height=17
Cursor=2
Caption="Select"
link(onClick,3505346:doSetFocus,[(394,118)(394,132)])
}
Add(Edit,12504252,441,175)
{
Left=90
Top=40
Point(onSetFocus)
Point(doSetFocus)
Point(doSelectAll)
link(onSetFocus,12504252:doSelectAll,[(485,195)(485,217)(432,217)(432,202)])
}
Add(Button,14354341,315,175)
{
Left=25
Top=40
Width=50
Height=25
Cursor=2
Caption="Select"
link(onClick,12504252:doSetFocus,[(394,181)(394,195)])
}

карма: 0

0
Ответов: 47
Рейтинг: 0
#171: 2017-09-20 09:23:40 ЛС | профиль | цитата
Здравствуйте! Использую компонент Add(MultiReplace)Мне нужно что бы он в тексте нашел и заменил цифру ноль с пробелами по бокам (ПРОБЕЛ НОЛЬ ПРОБЕЛ) как это сделать? Он все нули в тексте меняет
карма: 0

0
Ответов: 2059
Рейтинг: 131
#172: 2017-09-20 09:37:04 ЛС | профиль | цитата
Может лучше регулярными выражениями решать такие задачи?
RE_Replace
Схему не привожу, потому что, что там рисовать.
Полезнее самому разобраться, как пишется выражение.

Из ТЗ не видно, что необходим MultiReplace.

Add(MainForm,2953706,21,105)
{
Height=836
}
Add(Memo,3230479,196,70)
{
Left=5
Top=10
Width=245
Height=320
Strings=#11: Андрей Дай|15: ВТОРАЯ КНИГА|19: Интервью первое.|149: – Я не очень , 0 же именно 0 меня 0 . Поэтому вопросы задавать не буду... Мне сказали, что после разговора с Вами, сомнений больше не останется...|301: – Я не очень... – словно попугай, повторил с неуверенностью в голосе молодой мужчина в дорогом костюме. Ему не шел этот костюм – словно с чужого плеча. Он чувствовал себя неуверенно в этом шикарном кабинете, и его смущало присутствие молчаливого «серого» человека с блокнотом на коленях сидящего в |85: Повисла такая пауза, 0 которую говорят, как о моменте рождения сотрудника милиции.|146: – Петр Дмитриевич... не рекомендовал называть имена.... Вы понимаете, – «серый» выговорил это таким тоном, что сразу стало понятно: это приказ!|194: – Ну, тогда... – я снова развел 0 , выключил диктофон и выжидающе посмотрел на «серого». Тот взялся за края своего блокнота и поморщился. Видимо, это неудачное интервью ему ни чем хорошим не |
}
Add(Button,2679056,287,21)
{
Left=290
Top=20
link(onClick,7827341:doReplace,[(331,27)(331,104)(184,104)(184,181)])
}
Add(Edit,9019050,287,63)
{
Left=270
Top=65
Width=95
Text=" 0 "
}
Add(Edit,13349010,286,117)
{
Left=270
Top=105
Width=95
Text="777"
}
Add(Replace,7827341,196,175)
{
link(onReplace,12688602:doAdd,[(240,181)(240,219)(185,219)(185,256)])
link(Str,3230479:Text,[])
link(Sub_str,9019050:Text,[(209,135)(293,135)])
link(Dest,13349010:Text,[(216,162)(292,162)])
}
Add(Memo,12688602,197,250)
{
Left=20
Top=345
Width=245
Height=320
}




Редактировалось 1 раз(а), последний 2017-09-20 09:58:14
карма: 6

0
Ответов: 47
Рейтинг: 0
#173: 2017-09-20 10:01:09 ЛС | профиль | цитата
Все получилось! Спасибо большое!
карма: 0

0
Ответов: 2059
Рейтинг: 131
#174: 2017-09-20 10:06:44 ЛС | профиль | цитата

Add(MainForm,4021115,154,133)
{
Height=836
}
Add(Memo,3230479,329,98)
{
Left=5
Top=10
Width=245
Height=320
Strings=#11: Андрей Дай|15: ВТОРАЯ КНИГА|19: Интервью первое.|149: – Я не очень , 0 же именно 0 меня 0 . Поэтому вопросы задавать не буду... Мне сказали, что после разговора с Вами, сомнений больше не останется...|301: – Я не очень... – словно попугай, повторил с неуверенностью в голосе молодой мужчина в дорогом костюме. Ему не шел этот костюм – словно с чужого плеча. Он чувствовал себя неуверенно в этом шикарном кабинете, и его смущало присутствие молчаливого «серого» человека с блокнотом на коленях сидящего в |85: Повисла такая пауза, 0 которую говорят, как о моменте рождения сотрудника милиции.|146: – Петр Дмитриевич... не рекомендовал называть имена.... Вы понимаете, – «серый» выговорил это таким тоном, что сразу стало понятно: это приказ!|194: – Ну, тогда... – я снова развел 0 , выключил диктофон и выжидающе посмотрел на «серого». Тот взялся за края своего блокнота и поморщился. Видимо, это неудачное интервью ему ни чем хорошим не |
}
Add(Button,2679056,420,49)
{
Left=290
Top=20
link(onClick,11678055:doMultiReplace,[(464,55)(464,132)(317,132)(317,209)])
}
Add(Memo,12688602,330,278)
{
Left=20
Top=345
Width=245
Height=320
}
Add(MultiReplace,11678055,329,203)
{
link(onResult,12688602:doAdd,[(373,209)(373,247)(318,247)(318,284)])
link(Text,3230479:Text,[])
link(ReplaceList,11540359:Text,[(342,194)(384,194)])
}
Add(StrList,11540359,378,140)
{
Strings=#8: 0 =777;|8: , = 55;|
}



Редактировалось 1 раз(а), последний 2017-09-20 10:13:46
карма: 6

0
Ответов: 47
Рейтинг: 0
#175: 2017-10-13 10:17:47 ЛС | профиль | цитата
Прошу помочь! Как грамотно сделать ожидание определенного окна с нужным заголовком! При появлении которого например выходило бы сообщение. Нужное мне окно 1С выдает все время с разным временным интервалом.
карма: 0

0
Ответов: 8886
Рейтинг: 823
#176: 2017-10-13 11:12:39 ЛС | профиль | цитата
SaturN26,
Схемка


Add(MainForm,2953706,133,49)
{
}
Add(FindWindow,14796849,238,154)
{
SkipParam=2
}
Add(WinEnum,5129929,238,105)
{
link(onFindWindow,10744834:doCompare,[])
}
Add(Edit,16355204,182,63)
{
Left=95
Top=10
Width=165
Text="блокнот"
link(onChange,1940176:doString,[])
}
Add(Timer,5446144,182,105)
{
link(onTimer,5129929:doEnum,[])
}
Add(StrMask,10744834,287,105)
{
Mask="*окно*"
Point(doMask)
link(onTrue,14234333:doEvent1,[])
}
Add(FormatStr,1940176,238,63)
{
DataCount=1
Mask="*%1*"
link(onFString,10744834:doMask,[(277,69)(277,118)])
}
Add(Hub,14234333,336,112)
{
link(onEvent1,5129929:doStop,[(359,118)(359,146)(228,146)(228,125)])
link(onEvent2,1740016:doMessage,[])
}
Add(Message,1740016,371,119)
{
Caption="Обнаружен"
}
Add(Button,5509700,133,91)
{
Left=25
Top=10
Caption="Поиск"
link(onClick,5446144:doTimer,[(172,97)(172,111)])
}
Add(Button,5721002,133,133)
{
Left=275
Top=10
Caption="Стоп"
link(onClick,5446144:doStop,[(172,139)(172,118)])
}

карма: 19

0
Ответов: 47
Рейтинг: 0
#177: 2017-10-13 12:36:51 ЛС | профиль | цитата
Add(WinEnum,15183997,112,112)
{
link(onFindWindow,16591790:doCompare,[])
}
Add(StrMask,16591790,154,112)
{
Mask="*PUNCH5*"
link(onTrue,14133403:doEvent1,[])
}
Add(Beep,13816496,203,182)
{
Freq=0
Duration=250
link(onBeep,9797060:doEvent1,[])
}
Add(KeyEvent,5196460,280,182)
{
Code=83
Alt=1
}
Add(Beep,571694,203,245)
{
Freq=0
Duration=250
link(onBeep,3758567:doEvent1,[])
}
Add(KeyEvent,15655188,280,245)
{
Code=84
}
Add(Hub,9797060,252,182)
{
link(onEvent1,5196460:doPress,[])
link(onEvent2,571694:doBeep,[(278,195)(278,223)(191,223)(191,251)])
}
Add(WinTools,2918202,112,175)
{
link(Handle,12389501:Var2,[])
}
Add(Hub,14133403,203,119)
{
link(onEvent1,2918202:doActive,[(226,125)(226,160)(100,160)(100,195)])
link(onEvent2,13816496:doBeep,[(229,132)(229,160)(191,160)(191,188)])
}
Add(Hub,3758567,252,245)
{
link(onEvent1,15655188:doPress,[])
link(onEvent2,13603924:doBeep,[(278,258)(278,278)(193,278)(193,300)])
}
Add(Beep,13603924,203,294)
{
Freq=0
Duration=250
link(onBeep,6084232:doEvent1,[])
}
Add(KeyEvent,13458488,280,287)
{
Code=39
}
Add(Beep,10258048,203,343)
{
Freq=0
Duration=250
link(onBeep,12140656:doEvent1,[])
}
Add(KeyEvent,63502,280,343)
{
Code=40
}
Add(Hub,6084232,252,294)
{
link(onEvent1,13458488:doPress,[(274,300)(274,293)])
link(onEvent2,10258048:doBeep,[(278,307)(278,329)(192,329)(192,349)])
}
Add(Hub,12140656,252,343)
{
link(onEvent1,63502:doPress,[])
link(onEvent2,7957734:doBeep,[(278,356)(278,378)(195,378)(195,398)])
}
Add(KeyEvent,8698248,280,392)
{
Code=13
}
Add(Beep,7957734,203,392)
{
Freq=0
Duration=250
link(onBeep,8367007:doEvent1,[])
}
Add(Hub,8367007,252,392)
{
link(onEvent1,8698248:doPress,[])
link(onEvent2,5446144:doTimer,[(278,405)(278,440)(191,440)(191,475)])
}
Add(WinEnum,5077514,266,469)
{
VisibleOnly=1
Point(ParentHandle)
link(onFindWindow,8178258:doCompare,[])
}
Add(StrMask,8178258,329,469)
{
Mask="*Turret*"
link(onTrue,6894242:doEvent1,[(405,482)(405,440)])
}
Add(GetDataEx,12389501,112,147)
{
link(Data,15183997:Handle,[])
}
Add(WinTools,4506880,268,531)
{
link(Handle,5077514:Handle,[(274,513)(272,513)])
}
Add(Timer,5446144,203,469)
{
link(onTimer,5077514:doEnum,[])
}
Add(Hub,6894242,420,434)
{
OutCount=4
link(onEvent1,4506880:doClose,[(446,440)(446,499)(256,499)(256,558)])
link(onEvent2,5077514:doStop,[(446,447)(446,468)(254,468)(254,489)])
link(onEvent3,12104363:doMessage,[])
}
Add(Message,12104363,469,448)
{
Message="Стоп"
Caption="Информация"
}


Не понимаю почему не выходит сообщение СТОП, команда закрыть найденое окно проходит а сообщение не выходит. Чую это как то связано с эмуляцией нажатий кнопок, что то там не то

Редактировалось 2 раз(а), последний 2017-10-13 12:40:42
карма: 0

0
Ответов: 8886
Рейтинг: 823
#178: 2017-10-13 15:49:04 ЛС | профиль | цитата
SaturN26, KeyEvent работает с окном, Handle которого подан на верхнюю одноимённую точку
карма: 19

0
Ответов: 47
Рейтинг: 0
#179: 2017-10-13 15:51:01 ЛС | профиль | цитата
Но сообщение почему не выходит? К KeyEvent вопроса нет кнопки эмулируются.
карма: 0

0
Ответов: 8886
Рейтинг: 823
#180: 2017-10-13 17:57:59 ЛС | профиль | цитата
SaturN26, а-а


Add(MainForm,2953706,133,105)
{
}
Add(WinEnum,15183997,189,49)
{
link(onFindWindow,16591790:doCompare,[])
}
Add(StrMask,16591790,231,49)
{
Mask="*блокнот*"
link(onTrue,14133403:doEvent1,[])
}
Add(Beep,13816496,280,119)
{
Freq=500
Duration=250
link(onBeep,9797060:doEvent1,[])
}
Add(KeyEvent,5196460,357,119)
{
Code=65
}
Add(Beep,571694,280,182)
{
Freq=600
Duration=250
link(onBeep,3758567:doEvent1,[])
}
Add(KeyEvent,15655188,357,182)
{
Code=65
}
Add(Hub,9797060,322,119)
{
link(onEvent1,5196460:doPress,[])
link(onEvent2,571694:doBeep,[(347,132)(347,174)(270,174)(270,188)])
}
Add(WinTools,2918202,189,112)
{
link(Handle,15183997:Handle,[])
}
Add(Hub,14133403,280,56)
{
OutCount=3
link(onEvent1,2918202:doActive,[(330,62)(330,92)(177,92)(177,132)])
link(onEvent2,15183997:doStop,[(305,69)(305,41)(179,41)(179,69)])
link(onEvent3,13816496:doBeep,[(305,76)(305,111)(270,111)(270,125)])
}
Add(Hub,3758567,322,182)
{
link(onEvent1,15655188:doPress,[])
link(onEvent2,13603924:doBeep,[(347,195)(347,223)(270,223)(270,237)])
}
Add(Beep,13603924,280,231)
{
Freq=700
Duration=250
link(onBeep,6084232:doEvent1,[])
}
Add(KeyEvent,13458488,357,224)
{
Code=65
}
Add(Beep,10258048,280,280)
{
Freq=800
Duration=250
link(onBeep,12140656:doEvent1,[])
}
Add(KeyEvent,63502,357,280)
{
Code=65
}
Add(Hub,6084232,322,231)
{
link(onEvent1,13458488:doPress,[(351,237)(351,230)])
link(onEvent2,10258048:doBeep,[(347,244)(347,272)(270,272)(270,286)])
}
Add(Hub,12140656,322,280)
{
link(onEvent1,63502:doPress,[])
link(onEvent2,7957734:doBeep,[(347,293)(347,321)(270,321)(270,335)])
}
Add(KeyEvent,8698248,357,329)
{
Code=65
}
Add(Beep,7957734,280,329)
{
Duration=250
link(onBeep,8367007:doEvent1,[])
}
Add(Hub,8367007,322,329)
{
link(onEvent1,8698248:doPress,[])
link(onEvent2,5446144:doTimer,[(347,342)(347,398)(270,398)(270,412)])
}
Add(WinEnum,5077514,343,406)
{
VisibleOnly=1
Point(ParentHandle)
link(onFindWindow,8178258:doCompare,[])
}
Add(StrMask,8178258,406,406)
{
Mask="*блокнот*"
link(onTrue,6894242:doEvent1,[])
}
Add(WinTools,4506880,343,462)
{
link(Handle,5077514:Handle,[(349,450)(349,450)])
}
Add(Timer,5446144,280,406)
{
Interval=250
Enable=1
AutoStop=1
link(onTimer,5077514:doEnum,[])
}
Add(Hub,6894242,448,413)
{
OutCount=4
link(onEvent1,12104363:doMessage,[])
link(onEvent4,5077514:doStop,[(473,440)(473,447)(333,447)(333,426)])
}
Add(Message,12104363,476,413)
{
Message="Стоп"
Caption="Информация"
link(onMessage,4506880:doClose,[(515,419)(515,503)(333,503)(333,489)])
}
Add(Button,15888353,133,49)
{
Left=75
Top=40
link(onClick,15183997:doEnum,[])
}

карма: 19

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