Вверх ↑
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
#1: 2016-10-11 10:14:14 ЛС | профиль | цитата
nesco,


Add(MainForm,2953706,77,147)
{
Point(onDblClick)
link(onDblClick,8567386:doWork,[])
}
Add(PopupMenuEx,7262289,231,154)
{
Menu=#10:Медосмотр.|15:Разряды\Звания.|9:Переводы.|18:Поощрения\Награды.|13:Соревнования.|1:-|10:Закончить.|
Font=[Consolas,11,1,0,204]
Bitmaps=[]
Point(doIdxEnabled)
Point(doEnablIdx)
}
Add(GlobalVar,4553378,154,133)
{
Name="FlagParol"
Data=Integer(0)
}
Add(InlineCode,8567386,154,168)
{
WorkPoints=#6:doWork|
EventPoints=#7:onPopUp|4:onEn|5:onDis|
DataPoints=#4:Flag|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|38: onPopUp, onEn, onDis : THI_Event;|22: Flag : THI_Event;|51: Procedure doWork(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|30:Procedure THiAsmClass.doWork;|14:var i:integer;|5:Begin|31: if toIntegerEvent(Flag)=1 then|41: for i:=0 to 4 do _hi_onEvent(onEn,i)|9: else|44: for i:=0 to 4 do _hi_onEvent(onDis,i);|33: _hi_onEvent(onPopUp); |4:end;|0:|4:end.|
link(onPopUp,7262289:doPopupHere,[(212,174)(212,160)])
link(onEn,7262289:doIdxEnabled,[])
link(onDis,7262289:doEnablIdx,[])
link(Flag,4553378:Var,[])
}
Работает через раз.
Это у меня в IC или в компоненте.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
vip
#1.1контекстная реклама от партнеров
Разработчик
Ответов: 26066
Рейтинг: 2120
#2: 2016-10-11 12:07:50 ЛС | профиль | цитата
Tad писал(а):
Работает через раз.

А что конкретно должно делать? Кстати, на точку doIdxEnabled нужно подавать MT-поток, описание последовательности есть в описании точки.
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#3: 2016-10-11 16:33:00 ЛС | профиль | цитата
nesco писал(а):
А что конкретно должно делать?
При каждом вызове PopUpMenuEx, если GlobalVar=0, по-моему должен быть разрешён только пункт "Закончить", а оно при 2,4,6 и т.д. вызове открывает все пункты.
Я смотрел по примеру из Каталога проектов. Не видно там МТ и в описании точки тоже.
Наверное придется ставить костыль на пропуск четных.

Редактировалось 3 раз(а), последний 2016-10-11 16:52:24
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26066
Рейтинг: 2120
#4: 2016-10-11 16:58:10 ЛС | профиль | цитата
Tad писал(а):
а оно при 2,4,6 и т.д. вызове открывает все пункты.

Это потому, что точка doEnableIdx работает триггерно.

Не знаю, зачем такие сложности, но вот так прекрасно работает
Схема

Add(MainForm,11743040,357,140)
{
Point(onDblClick)
link(onCreate,8215142:doFor,[])
link(onDblClick,7262289:doPopupHere,[(396,167)(396,139)])
}
Add(PopupMenuEx,7262289,525,133)
{
Menu=#10:Медосмотр.|15:Разряды\Звания.|9:Переводы.|18:Поощрения\Награды.|13:Соревнования.|1:-|10:Закончить.|
Font=[Consolas,11,1,0,204]
Bitmaps=[]
Point(doIdxEnabled)
Point(doEnablIdx)
}
Add(GlobalVar,4553378,469,91)
{
Name="FlagParol"
Data=Integer(0)
}
Add(For,8215142,420,154)
{
End=5
link(onEvent,6556370:doAdd,[])
}
Add(MT_Add,6556370,469,154)
{
Data=Integer(0)
link(onAdd,7262289:doIdxEnabled,[])
link(Data,4553378:Var,[])
}
[/scroll]
Редактировалось 1 раз(а), последний 2016-10-11 16:58:40
карма: 22

1
Голосовали:Tad
Ответов: 17
Рейтинг: 0
#5: 2017-01-02 10:24:14 ЛС | профиль | цитата
подскажите пожалуйста, как сделать, чтобы оно открывалось в заданной точке? по горизонтали задается точка, а вот по вертикали никак не получается

Нужно сдвинуть именно по вертикали в 35 от низа экрана, а по горизонтали должно быть 0
Код

Add(MainForm,11743040,70,133)
{
Point(onDblClick)
link(onCreate,8684336:doOperation,[(212,153)(212,244)])
}
Add(Screen,3266209,315,154)
{
}
Add(Math,8684336,322,238)
{
OpType=1
Op2=20
link(Op1,3266209:Height,[])
}
Add(StrCatDelim,16467415,322,294)
{
Delimiter="+"
Str1="0"
Str2="0"
link(onStrCatDlm,9032915:doEvent1,[(359,300)(359,356)])
link(Str2,8684336:Result,[(335,282)(328,282)])
}
Add(BitBtn,62399,252,293)
{
Left=125
Top=45
Width=60
Caption="Старт"
Bitmap=[ZIP3604000078DA8D935948945114C76F51540F4110D4ABD08BB441103D465442143E940516865351B49AED8B1A4C8B8631444F6A99E9580825D5D8A695A6E5366E636EA994E93494CD34CD52A3C3CC7CDFAF93235190D4811FF77EE7FECF3DE77CF7DE95F1CBA6A8315B26C40AB3C699A462A20BE3EBBF1B1398D7EBC5E1708CE1F3F9F85FEBE8E8E070C64596EFBACC829D852CDC738B1529B91C359AE8EAEA9A30CEEFF793B43F9D6907FA5187FCA8F3215409A8A7C203E12ACC38666747EA190281C01FB12E978BF9DB7250A747501722A8521D25A9D4B0E01744AE9CE2B368A893019618AEE0F178C662755D67DD3E13CA1846E58BAE45782DB40BBDC23B61709CCFC2132123C4C694ECB1786B530B938F3B51C530B70A2697C35419177488AE8D681D3638F81112DECBFC8D500B53523FD1D9D94D8A310F95033165609392A69BE1B66877F78BEEB1D0285AE1B117A6D5CBF7CBA84FDD855399D7D878221F5500F34A74FADC1A83DF3482610D4F18F6F6C1CC0A5825FDD4CADEEA9120F5A987420D6C49CB6753DA7526DD105D2ECC29D2595AA6B1E185464883F6E108C3A33A56C95D60971A9FC362E96D7659F43F249DBD41624611F175B0EB19240B09A2592DE348047ABEC1A88C9621A94DE66B2467A2F4BE5DF46B5BC170CE4C765E29C9F29FD2A5B7D46A5993F86E97F6D73BA20BC3A370A40136CB39E5982DB8DD6E16157CA578082E354396F88D2F43580783F47C0A62730469FF10A4BC3F48CDBB20039F4729947388CD75FEBAD745772A48941A1ADC5022E7532864364630D686C9B446385F1FC1D4AA912D3E73AFCEFA668DD247D57FD476CB5249DCD311DA64CBB7DFA1F32BB439A1C5199D0F88CF266B711501EE95BFFA6B7F030343246559303CFCC2E53EC921F7F727A6DE085B2D2E0C59F7B1DB1DFF7C835EAF8F3AAB8D9BF7AA28BE5B497D936DC237FC038637488F]
link(onClick,16467415:doStrCatDlm,[(310,299)(310,300)])
}
Add(PopupMenuEx,8812862,392,294)
{
Menu=#9:Настройка|15:Выход из сеанса|10:Выключение|
Bitmaps=[]
Point(doPopup)
}
Add(Edit,757083,413,350)
{
Left=35
Top=40
Width=80
Height=25
}
Add(Hub,9032915,364,350)
{
link(onEvent1,757083:doText,[])
link(onEvent2,8812862:doPopup,[(385,363)(385,321)])
}


Редактировалось 6 раз(а), последний 2017-01-02 10:37:02
карма: 0

0
Ответов: 8888
Рейтинг: 823
#6: 2017-01-02 11:00:58 ЛС | профиль | цитата
makcum15, всё прекрасно работает
схемка


Add(MainForm,11743040,476,168)
{
Point(onDblClick)
}
Add(Screen,3266209,525,217)
{
}
Add(BitBtn,62399,476,273)
{
Left=15
Top=10
Width=60
Caption="Старт"
Bitmap=[ZIP3604000078DA8D935948945114C76F51540F4110D4ABD08BB441103D465442143E940516865351B49AED8B1A4C8B8631444F6A99E9580825D5D8A695A6E5366E636EA994E93494CD34CD52A3C3CC7CDFAF93235190D4811FF77EE7FECF3DE77CF7DE95F1CBA6A8315B26C40AB3C699A462A20BE3EBBF1B1398D7EBC5E1708CE1F3F9F85FEBE8E8E070C64596EFBACC829D852CDC738B1529B91C359AE8EAEA9A30CEEFF793B43F9D6907FA5187FCA8F3215409A8A7C203E12ACC38666747EA190281C01FB12E978BF9DB7250A747501722A8521D25A9D4B0E01744AE9CE2B368A893019618AEE0F178C662755D67DD3E13CA1846E58BAE45782DB40BBDC23B61709CCFC2132123C4C694ECB1786B530B938F3B51C530B70A2697C35419177488AE8D681D3638F81112DECBFC8D500B53523FD1D9D94D8A310F95033165609392A69BE1B66877F78BEEB1D0285AE1B117A6D5CBF7CBA84FDD855399D7D878221F5500F34A74FADC1A83DF3482610D4F18F6F6C1CC0A5825FDD4CADEEA9120F5A987420D6C49CB6753DA7526DD105D2ECC29D2595AA6B1E185464883F6E108C3A33A56C95D60971A9FC362E96D7659F43F249DBD41624611F175B0EB19240B09A2592DE348047ABEC1A88C9621A94DE66B2467A2F4BE5DF46B5BC170CE4C765E29C9F29FD2A5B7D46A5993F86E97F6D73BA20BC3A370A40136CB39E5982DB8DD6E16157CA578082E354396F88D2F43580783F47C0A62730469FF10A4BC3F48CDBB20039F4729947388CD75FEBAD745772A48941A1ADC5022E7532864364630D686C9B446385F1FC1D4AA912D3E73AFCEFA668DD247D57FD476CB5249DCD311DA64CBB7DFA1F32BB439A1C5199D0F88CF266B711501EE95BFFA6B7F030343246559303CFCC2E53EC921F7F727A6DE085B2D2E0C59F7B1DB1DFF7C835EAF8F3AAB8D9BF7AA28BE5B497D936DC237FC038637488F]
link(onClick,15241351:doCalc,[])
}
Add(PopupMenuEx,8812862,609,315)
{
Menu=#9:Настройка|15:Выход из сеанса|10:Выключение|
Bitmaps=[]
Point(doPopup)
}
Add(Edit,757083,609,273)
{
Left=85
Top=10
Width=80
}
Add(Hub,9032915,574,273)
{
link(onEvent1,757083:doText,[])
link(onEvent2,8812862:doPopup,[(595,286)(595,342)])
}
Add(MathParse,15241351,525,273)
{
DataCount=3
MathStr="%1*65536 + (%2 - %3)"
ResultType=0
link(onResult,9032915:doEvent1,[])
link(X1,10749273:Value,[(531,258)(489,258)])
link(X2,3266209:Height,[])
link(X3,10140930:Value,[(545,258)(573,258)])
}
Add(Memory,10749273,483,217)
{
Default=Integer(0)
}
Add(Memory,10140930,567,217)
{
Default=Integer(35)
}
карма: 19

0
Ответов: 9906
Рейтинг: 351
#7: 2017-01-02 12:14:45 ЛС | профиль | цитата
Леонид, второй день подряд ты ставишь меня в тупик
Зачем от высоты экрана отнимать 35, и ставить это в X-координату открытия меню -- не пойму

--- Добавлено в 2017-01-02 12:19:45

Если сильно не вылизывать, то демка лучше выглядит вот так:

Add(MainForm,2953706,322,49)
{
Width=600
Height=500
Position=1
Point(Left)
Point(Top)
Point(Width)
Point(Height)
Point(onResize)
link(onResize,12160853:doEvent1,[])
}
Add(DoData,10969410,406,133)
{
link(onEventData,10229735:doMax,[])
link(Data,2953706:Width,[(412,103)(342,103)])
}
Add(DoData,10948770,504,133)
{
link(onEventData,8994016:doMax,[])
link(Data,2953706:Height,[(510,96)(349,96)])
}
Add(Hub,12160853,371,70)
{
link(onEvent1,10948770:doData,[(494,76)(494,139)])
link(onEvent2,10969410:doData,[(396,83)(396,139)])
}
Add(TrackBar,8994016,553,119)
{
Left=410
Top=45
Width=30
Align=3
Max=1000
TickCount=20
Kind=1
TickMarks=1
ThumbLength=20
Point(doMax)
}
Add(TrackBar,10229735,455,119)
{
Left=410
Top=45
Width=30
Align=4
Max=1000
TickCount=20
TickMarks=1
ThumbLength=20
Point(doMax)
}
Add(Button,5794527,322,210)
{
Left=15
Top=10
Width=74
Height=41
Caption="Show PopUp Menu"
Flat=0
link(onClick,12050451:doCalc,[])
}
Add(PopupMenuEx,8812862,511,189)
{
Menu=#9:Настройка|15:Выход из сеанса|10:Выключение|
Bitmaps=[]
Point(doPopup)
}
Add(MathParse,12050451,441,210)
{
DataCount=4
MathStr="(%1+%3) + (%2+%4)<<16"
link(onResult,8812862:doPopup,[])
link(X1,2953706:Left,[(447,187)(328,187)])
link(X2,2953706:Top,[(454,180)(335,180)])
link(X3,10229735:Position,[])
link(X4,8994016:Position,[(468,173)(559,173)])
}
Как мне кажется

Редактировалось 1 раз(а), последний 2017-01-02 12:19:45
карма: 9

0
Ответов: 17
Рейтинг: 0
#8: 2017-01-02 14:18:19 ЛС | профиль | цитата
Леонид, чтото не выходит.. должна быть внизу же
ccc.png

--- Добавлено в 2017-01-02 14:20:43

Galkov, мне нужно чтобы меню открылось в нужной точке, которая рассчитывается от расширения экрана (высота), то есть в 35 от нижнего края

Редактировалось 1 раз(а), последний 2017-01-02 14:20:43
карма: 0

0
Ответов: 17
Рейтинг: 0
#9: 2017-01-02 15:19:40 ЛС | профиль | цитата
все, спасибо за советы, разобрался
карма: 0

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