Из функций:
1. Загрузка всех (уменьшенных) фото из папки в низ экрана для выбора (есть)
2. Выбор фото с низа экрана (есть)
3. Увеличение - уменьшение выбранного фото скроллом (есть не доделано(ограничения))
4. Перетаскивание увеличенного фото для детального рассмотрения любого места (нет)
При загрузке больших фото зависает.
Add(MainForm,2953706,497,84)
{
Width=588
Height=562
Point(onResize)
Point(Width)
Point(Height)
link(onCreate,4671295:doCreate,[])
}
Add(Browse,3943615,189,245)
{
link(onBrowse,2411667:doStart,[])
}
Add(ScrollBar,10306937,154,294)
{
Top=509
Width=572
Align=4
Point(doMax)
link(onPosition,12231462:doOperation,[])
}
Add(ChildPanel,10991711,294,245)
{
link(onEvent1,14372147:In,[(334,251)(334,237)])
link(onEvent2,16756548:doSplit,[])
}
BEGIN_SDK
Add(EditMulti,14936708,21,21)
{
EventCount=2
WorkCount=2
Width=384
link(doWork1,629660:doEvent1,[(95,27)(95,55)])
link(doWork2,6519368:doLeft,[(291,34)(291,55)])
}
Add(Panel,6519368,301,42)
{
Top=429
Width=572
Height=80
Align=4
Point(doLeft)
Point(doWidth)
}
Add(GridLayout,6040355,161,63)
{
Name="MyFoto"
Space=1
Padding=1
Rows=1
Cols=10000
}
Add(ChildPanelEx,4906259,161,105)
{
Mode=1
link(onClick,11020911:doStrCatDlm,[])
}
BEGIN_SDK
Add(EditMultiEx,7988892,21,21)
{
WorkCount=#5:##add|
EventCount=#7:onClick|
VarCount=#7:##count|6:Bitmap|5:Width|6:Height|12:##eventIndex|
Width=216
Height=130
Point(##add)
Point(##count)
Point(##eventIndex)
link(##add,16568985:doLoad,[(165,27)(165,76)])
link(Bitmap,16568985:ImageBitmap,[(34,110)(181,110)])
}
Add(Panel,15504431,98,42)
{
Left=1
Top=1
Width=94
Height=78
Layout="parent.MyFoto"
Point(onMouseDown)
link(onMouseDown,11818399:doWork2,[])
}
Add(Image,16568985,175,70)
{
Width=64
Height=48
Align=5
Point(ImageWidth)
Point(ImageHeight)
Point(onMouseDown)
link(onMouseDown,11818399:doWork3,[(222,83)])
}
Add(HubEx,11818399,218,49)
{
Angle=3
link(onEvent,7988892:onClick,[(222,27)])
}
END_SDK
Add(Hub,629660,119,49)
{
OutCount=3
link(onEvent1,15731616:doCalc,[])
link(onEvent2,4906259:##add,[(144,62)(144,111)])
link(onEvent3,6040355:doResize,[])
}
Add(MathParse,15731616,217,49)
{
DataCount=1
MathStr="(%1 + 1)*65"
ResultType=0
link(onResult,14064246:doEvent1,[])
link(X1,4906259:##count,[(223,37)(207,37)(207,171)(167,171)])
}
Add(Hub,14064246,259,49)
{
link(onEvent1,14936708:onEvent1,[(280,55)(280,27)])
link(onEvent2,6519368:doWidth,[])
}
Add(StrCatDelim,11020911,238,105)
{
Delimiter=";"
link(onStrCatDlm,14936708:onEvent2,[(355,111)(355,34)])
link(Str2,4906259:##eventIndex,[(251,93)(223,93)(223,160)(195,160)])
}
END_SDK
Add(Math,12231462,196,294)
{
OpType=2
Op2=-1
ResultType=0
link(onResult,10991711:doWork2,[(277,300)(277,258)])
}
Add(MultiElementEx,2411667,238,245)
{
link(onClear,10991711:doWork1,[])
}
BEGIN_SDK
Add(EditMultiEx,10766479,21,21)
{
WorkCount=#7:doStart|
EventCount=#7:onClear|8:onBitmap|
VarCount=#9:ArrayName|
Width=811
Height=305
link(doStart,11569590:doEvent1,[(60,27)(60,76)])
link(ArrayName,16253885:Array,[(27,194)(419,194)])
}
Add(FileSearch,2629711,105,91)
{
SubDir=1
link(onSearch,11342127:doCompare,[])
}
Add(StrMask,11342127,154,91)
{
Mask="*.jpg"
link(onFalse,8264849:doCompare,[])
link(onTrue,14426004:doWork2,[(193,104)(193,139)])
}
Add(StrMask,8264849,196,91)
{
Mask="*.png"
link(onFalse,11212944:doCompare,[])
link(onTrue,14426004:doWork1,[(235,104)])
}
Add(StrMask,11212944,238,91)
{
Mask="*.bmp"
link(onFalse,3744750:doCompare,[])
link(onTrue,4819888:doWork1,[(277,104)])
}
Add(StrMask,3744750,280,91)
{
Mask="*.ico"
link(onTrue,4798306:doWork1,[(333,104)])
}
Add(Hub,11569590,70,70)
{
OutCount=3
link(onEvent2,16253885:doClear,[])
link(onEvent3,2629711:doSearch,[(95,90)(95,97)])
}
Add(HubEx,4798306,329,133)
{
link(onEvent,6088522:doEvent1,[])
}
Add(HubEx,14426004,231,133)
{
link(onEvent,4819888:doWork2,[])
}
Add(HubEx,4819888,273,133)
{
link(onEvent,4798306:doWork2,[])
}
Add(PictureStream,7710705,378,140)
{
link(onLoad,14014110:doEvent1,[])
}
Add(StrList,16253885,399,70)
{
}
Add(Hub,6088522,343,133)
{
OutCount=4
link(onEvent1,16253885:doAdd,[(368,139)(368,76)])
link(onEvent2,7710705:doLoad,[])
link(onEvent3,14623730:doClear,[(368,153)(368,181)(459,181)(459,153)])
link(onEvent4,7607464:doClear,[(616,160)(616,209)])
}
Add(Bitmap,14623730,462,140)
{
Point(Width)
Point(Height)
}
Add(MathParse,14211502,630,266)
{
MathStr="max(%1/64,%2/48)"
link(onResult,2662179:doOperation,[])
link(X1,7301285:Var2,[])
link(X2,6428436:Var2,[])
}
Add(Hub,14014110,427,140)
{
link(onEvent1,14623730:doLoad,[])
link(onEvent2,5769377:doCompare,[(452,153)(452,202)])
}
Add(If_else,5769377,469,196)
{
Type=4
link(onTrue,563537:doData,[])
link(onFalse,257529:doRotate,[(515,209)(515,244)])
link(Op1,14623730:Width,[])
link(Op2,14623730:Height,[])
}
Add(DoData,563537,539,196)
{
link(onEventData,16292802:doWork2,[])
link(Data,14019394:Var3,[(545,187)])
}
Add(Img_Rotate,257529,525,238)
{
Angle=90
Point(Width)
Point(Height)
link(onResult,16292802:doWork3,[(578,244)])
link(Bitmap,14019394:Var2,[])
}
Add(GetDataEx,14019394,525,182)
{
Angle=3
link(Data,14623730:Bitmap,[(468,187)])
}
Add(HubEx,16292802,574,196)
{
link(onEvent,5185820:doEvent1,[])
}
Add(Bitmap,7607464,623,196)
{
Point(Width)
Point(Height)
}
Add(Hub,5185820,588,196)
{
link(onEvent1,7607464:doLoad,[])
link(onEvent2,14211502:doCalc,[(613,209)(613,272)])
}
Add(Math,2662179,679,266)
{
OpType=3
ResultType=0
link(onResult,4482075:doOperation,[])
link(Op1,7301285:Var3,[(685,250)])
}
Add(Math,4482075,721,266)
{
OpType=3
ResultType=0
link(onResult,5434879:doResize,[])
link(Op1,6428436:Var3,[(727,243)])
link(Op2,14211502:Result,[(734,257)(669,257)(669,305)(636,305)])
}
Add(GetDataEx,6428436,637,238)
{
link(Data,7607464:Height,[])
}
Add(GetDataEx,7301285,630,245)
{
link(Data,7607464:Width,[])
}
Add(Resize,5434879,777,266)
{
link(onResult,10766479:onClear,[(821,272)(821,27)])
link(Bitmap,7607464:Bitmap,[(783,236)(629,236)])
link(Width,2662179:Result,[(790,256)(770,256)(770,312)(685,312)])
link(Height,4482075:Result,[(797,249)(759,249)(759,305)(727,305)])
}
END_SDK
Add(ChildPanel,9875868,140,245)
{
link(onEvent1,3943615:doBrowse,[])
}
BEGIN_SDK
Add(EditMulti,14531194,21,21)
{
EventCount=1
WorkCount=5
link(doWork1,11924214:doText,[(84,27)(84,48)])
link(doWork2,1826267:doText,[(53,34)(53,62)])
link(doWork3,7642970:doText,[(72,41)(72,160)])
link(doWork4,4940809:doText,[(41,48)(41,174)])
link(doWork5,12801913:doText,[(63,55)(63,111)])
}
Add(Panel,7107764,217,105)
{
Width=572
Height=30
Align=2
}
Add(Edit,11924214,147,42)
{
Left=87
Top=5
Width=65
Text=""
}
Add(Edit,1826267,84,56)
{
Left=155
Top=5
Width=65
Text=""
}
Add(Button,13383947,245,49)
{
Left=5
Top=5
Width=60
Caption="Картинки"
link(onClick,14531194:onEvent1,[(299,55)(299,27)])
}
Add(Edit,7642970,123,154)
{
Left=432
Top=5
Width=65
Text=""
}
Add(Edit,4940809,60,168)
{
Left=500
Top=5
Width=65
Text=""
}
Add(Edit,12801913,105,105)
{
Left=282
Top=5
Width=65
Text=""
}
END_SDK
Add(Image,8056131,560,259)
{
Top=30
Width=572
Height=399
Align=5
ViewStyle=0
HalfTone=1
Point(ImageWidth)
Point(ImageHeight)
link(Bitmap,9404777:Var1,[])
}
Add(ArrayRW,9603763,392,259)
{
link(onRead,2689443:doLoad,[])
link(Array,2411667:ArrayName,[(398,248)(384,248)(384,289)(244,289)])
}
Add(MultiStrData,16756548,343,252)
{
link(onPart1,4035501:In,[(387,258)(387,237)])
link(onPart2,9603763:doRead,[])
}
Add(Img_Bmp,9658700,483,259)
{
Point(X)
Point(Y)
link(onDraw,11138633:doEvent1,[])
link(Bitmap,6520501:Var1,[(489,131)])
link(X,2953706:Width,[])
link(Y,2953706:Height,[])
}
Add(MultiElementEx,2689443,441,259)
{
link(onLoad,9658700:doDraw,[])
link(Width,1258831:Var1,[(447,153)])
link(Height,3957441:Var1,[(454,159)])
}
BEGIN_SDK
Add(EditMultiEx,9079375,21,21)
{
WorkCount=#6:doLoad|
EventCount=#6:onLoad|
DataCount=#5:Width|6:Height|
Width=468
Height=228
VOffset=28
HOffset=273
link(doLoad,2967321:doLoad,[])
}
Add(PictureStream,2967321,35,49)
{
link(onLoad,10371477:doEvent1,[])
}
Add(Bitmap,15371914,112,49)
{
Point(Width)
Point(Height)
}
Add(MathParse,6809718,280,175)
{
DataCount=4
MathStr="max(%1/%3,%2/%4)"
link(onResult,7796600:doOperation,[])
link(X1,13716034:Var2,[])
link(X2,11208816:Var2,[])
link(X3,9079375:Width,[])
link(X4,9079375:Height,[])
}
Add(Hub,10371477,77,49)
{
link(onEvent1,15371914:doLoad,[])
link(onEvent2,12584131:doCompare,[(102,62)(102,111)])
}
Add(If_else,12584131,119,105)
{
Type=4
link(onTrue,4407436:doData,[])
link(onFalse,14227182:doRotate,[(165,118)(165,153)])
link(Op1,15371914:Width,[])
link(Op2,15371914:Height,[])
}
Add(DoData,4407436,189,105)
{
link(onEventData,6098012:doWork2,[])
link(Data,15364125:Var3,[(195,96)])
}
Add(Img_Rotate,14227182,175,147)
{
Angle=90
Point(Width)
Point(Height)
link(onResult,6098012:doWork3,[(228,153)])
link(Bitmap,15364125:Var2,[])
}
Add(GetDataEx,15364125,175,91)
{
Angle=3
link(Data,15371914:Bitmap,[(118,96)])
}
Add(HubEx,6098012,224,105)
{
link(onEvent,4005828:doEvent1,[])
}
Add(Bitmap,6865210,273,105)
{
Point(Width)
Point(Height)
}
Add(Hub,4005828,238,105)
{
link(onEvent1,6865210:doLoad,[])
link(onEvent2,6809718:doCalc,[(263,118)(263,181)])
}
Add(Math,7796600,329,175)
{
OpType=3
ResultType=0
link(onResult,10107152:doOperation,[])
link(Op1,13716034:Var3,[(335,159)])
}
Add(Math,10107152,371,175)
{
OpType=3
ResultType=0
link(onResult,10054688:doResize,[])
link(Op1,11208816:Var3,[(377,152)])
link(Op2,6809718:Result,[(384,166)(319,166)(319,214)(286,214)])
}
Add(GetDataEx,11208816,287,147)
{
link(Data,6865210:Height,[])
}
Add(GetDataEx,13716034,280,154)
{
link(Data,6865210:Width,[])
}
Add(Resize,10054688,427,175)
{
link(onResult,9079375:onLoad,[(466,181)(466,55)])
link(Bitmap,6865210:Bitmap,[(433,145)(279,145)])
link(Width,7796600:Result,[(440,165)(420,165)(420,221)(335,221)])
link(Height,10107152:Result,[(447,158)(409,158)(409,214)(377,214)])
}
END_SDK
Add(Bitmap,4671295,574,84)
{
HWidth=1900
HHeight=1300
FillColor=16777215
Point(doCreate)
Point(Width)
Point(Height)
}
Add(LineBreak,5371810,98,301)
{
link(Out,10306937:doMax,[])
Primary=[14372147,252,-70]
}
Add(Resize,3532230,560,399)
{
HalfTone=1
Point(Result)
link(onResult,11138633:doEvent2,[(604,405)(604,303)(520,303)(520,272)])
link(Bitmap,6520501:Var2,[(566,328)(545,328)])
link(Width,15810925:Var1,[])
link(Height,15810925:Var2,[])
}
Add(MultiElement,15810925,567,343)
{
link(onEvent1,11439949:In,[])
link(onEvent2,12365408:In,[])
link(onEvent3,7901736:In,[])
link(Data1,8056131:ImageWidth,[])
link(Data2,8056131:ImageHeight,[])
link(onEvent4,12322004:In,[])
link(onEvent5,4771942:In,[])
link(Data3,1258831:Var2,[])
link(Data4,3957441:Var2,[])
}
BEGIN_SDK
Add(EditMulti,2684423,21,21)
{
EventCount=5
WorkCount=3
DataCount=4
VarCount=2
Width=895
Height=305
link(doWork1,9686388:doEvent1,[(56,27)(56,167)])
link(doWork2,2587832:doEvent1,[(47,34)(47,265)])
link(doWork3,4959482:doEvent1,[(42,41)(42,76)])
link(Var1,12039662:Var,[])
link(Var2,14568160:Var,[])
}
Add(Math,14102861,336,217)
{
Op2=190
ResultType=0
link(onResult,2263704:doEvent1,[])
link(Op1,15649169:Var2,[])
}
Add(Math,5424257,315,266)
{
OpType=1
Op2=190
ResultType=0
link(onResult,2263704:doEvent2,[(391,272)(391,230)])
link(Op1,15649169:Var1,[(321,208)])
}
Add(Memory,3522577,336,168)
{
link(onData,12305009:doClear,[(413,174)(413,149)(107,149)(107,125)])
}
Add(DoData,6022518,203,161)
{
link(onEventData,344254:doCompare,[])
link(Data,13281545:Var,[])
}
Add(Hub,9686388,70,161)
{
OutCount=5
link(onEvent1,15389502:doEvent1,[])
link(onEvent2,14102861:doOperation,[(139,174)(139,223)])
link(onEvent3,1995944:doEvent1,[])
link(onEvent4,10477583:doOperation,[(493,188)(493,244)])
link(onEvent5,15010800:doEvent1,[(287,195)(287,293)])
}
Add(GetIndexData,13281545,203,112)
{
link(Data1,2684423:Data1,[(209,49)(27,49)])
link(Data2,9985550:Value,[])
}
Add(If_else,344254,252,161)
{
Op2=Integer(0)
link(onFalse,9511301:doEvent1,[])
}
Add(Memory,9985550,210,63)
{
Default=Integer(0)
}
Add(Memory,12305009,119,112)
{
Default=Integer(1)
link(onData,13146780:doEvent1,[])
}
Add(Hub,9511301,301,168)
{
InCount=2
OutCount=1
link(onEvent1,3522577:doValue,[])
}
Add(Hub,13146780,168,112)
{
InCount=2
OutCount=1
link(onEvent1,13281545:doIndex,[])
}
Add(Memory,908435,119,63)
{
Default=Integer(0)
link(onData,13146780:doEvent2,[(159,69)(159,125)])
}
Add(Hub,4959482,63,70)
{
OutCount=4
link(onEvent1,908435:doClear,[])
link(onEvent2,1186928:doClear,[])
link(onEvent3,8749319:doData,[(434,90)(434,76)])
link(onEvent4,5357024:doData,[(459,97)(459,104)])
}
Add(Hub,2587832,70,259)
{
OutCount=5
link(onEvent1,15389502:doEvent2,[(149,265)(149,174)])
link(onEvent2,5424257:doOperation,[])
link(onEvent3,1995944:doEvent2,[(503,279)(503,188)])
link(onEvent4,1284103:doOperation,[])
link(onEvent5,15010800:doEvent2,[(278,293)(278,300)])
}
Add(Memory,2242945,462,217)
{
link(onData,8320673:doEvent1,[])
}
Add(GetDataEx,15649169,336,203)
{
link(Data,3522577:Value,[])
}
Add(Hub,2263704,434,217)
{
InCount=2
OutCount=1
link(onEvent1,2242945:doValue,[])
}
Add(Hub,15389502,161,161)
{
InCount=2
OutCount=1
link(onEvent1,6022518:doData,[])
}
Add(Math,10477583,749,238)
{
Op2=130
ResultType=0
link(onResult,11560279:doEvent1,[])
link(Op1,13356484:Var2,[])
}
Add(Math,1284103,728,280)
{
OpType=1
Op2=130
ResultType=0
link(onResult,11560279:doEvent2,[(791,286)(791,251)])
link(Op1,13356484:Var1,[(734,222)])
}
Add(Memory,14423892,749,182)
{
link(onData,4813960:doClear,[(786,188)(786,157)(513,157)(513,132)])
}
Add(DoData,6023450,609,175)
{
link(onEventData,1888233:doCompare,[])
link(Data,14466124:Var,[])
}
Add(GetIndexData,14466124,609,119)
{
link(Data1,2684423:Data2,[(615,70)(34,70)])
link(Data2,13206573:Value,[])
}
Add(If_else,1888233,658,175)
{
Op2=Integer(0)
link(onFalse,12143972:doEvent1,[])
}
Add(Memory,13206573,616,70)
{
Default=Integer(0)
}
Add(Memory,4813960,525,119)
{
Default=Integer(1)
link(onData,6266131:doEvent1,[])
}
Add(Hub,12143972,714,182)
{
InCount=2
OutCount=1
link(onEvent1,14423892:doValue,[])
}
Add(Hub,6266131,574,119)
{
InCount=2
OutCount=1
link(onEvent1,14466124:doIndex,[])
}
Add(Memory,1186928,525,70)
{
Default=Integer(0)
link(onData,6266131:doEvent2,[(565,76)(565,132)])
}
Add(Memory,11214341,833,238)
{
link(onData,9654361:doEvent1,[])
}
Add(GetDataEx,13356484,749,217)
{
link(Data,14423892:Value,[])
}
Add(Hub,1995944,567,175)
{
InCount=2
OutCount=1
link(onEvent1,6023450:doData,[])
}
Add(Hub,15010800,378,287)
{
InCount=2
OutCount=1
link(onEvent1,3867502:In,[])
}
Add(Hub,8320673,504,217)
{
link(onEvent1,9511301:doEvent2,[(530,223)(530,206)(289,206)(289,181)])
link(onEvent2,11349483:In,[])
}
Add(Hub,9654361,882,238)
{
link(onEvent1,12143972:doEvent2,[(908,244)(908,223)(702,223)(702,195)])
link(onEvent2,2684423:onEvent3,[(906,251)(906,41)])
}
Add(Hub,11560279,798,238)
{
InCount=2
OutCount=1
link(onEvent1,11214341:doValue,[])
}
Add(DoData,8749319,791,70)
{
link(onEventData,2684423:onEvent4,[(869,76)(869,48)])
link(Data,2684423:Data3,[(797,46)(41,46)])
}
Add(DoData,5357024,840,98)
{
link(onEventData,2684423:onEvent5,[(894,104)(894,55)])
link(Data,2684423:Data4,[(846,60)(48,60)])
}
Add(LineBreak,6313450,819,21)
{
link(Out,2684423:onEvent1,[])
Primary=[3867502,-413,266]
}
Add(LineBreak,6348758,854,28)
{
link(Out,2684423:onEvent2,[])
Primary=[11349483,-315,196]
}
Add(LineBreak,5761364,833,280)
{
Type=1
link(Data,11214341:Value,[])
Primary=[14568160,-805,14]
}
Add(LineBreak,3181206,462,259)
{
Type=1
link(Data,2242945:Value,[])
Primary=[12039662,-441,14]
}
END_SDK
Add(Hub,11138633,532,259)
{
InCount=2
OutCount=1
link(onEvent1,8056131:doLoad,[])
}
Add(MultiElement,9404777,560,210)
{
link(Data1,6877755:Var2,[])
link(Data2,6888144:Var,[])
}
BEGIN_SDK
Add(EditMulti,8891751,21,21)
{
WorkCount=2
DataCount=2
VarCount=1
Width=188
Height=130
HOffset=126
link(doWork1,8790142:doClear,[(45,27)(45,55)])
link(doWork2,7164231:doClear,[(40,34)(40,104)])
link(Var1,4114310:Var,[])
}
Add(GetIndexData,4114310,147,84)
{
link(Data1,8891751:Data1,[])
link(Data2,8891751:Data2,[])
}
Add(Memory,8790142,70,42)
{
Default=Integer(0)
link(onData,15161591:doEvent1,[(110,48)(110,90)])
}
Add(Memory,7164231,70,91)
{
Default=Integer(1)
link(onData,15161591:doEvent2,[])
}
Add(Hub,15161591,119,84)
{
InCount=2
OutCount=1
link(onEvent1,4114310:doIndex,[])
}
END_SDK
Add(GetDataEx,6877755,560,126)
{
Angle=1
link(Data,4671295:Bitmap,[(580,131)])
}
Add(GetDataEx,6520501,539,126)
{
Angle=1
link(Data,6877755:Var1,[])
}
Add(Hub,15700939,483,357)
{
link(onEvent1,15810925:doWork3,[])
link(onEvent2,9472209:In,[])
}
Add(Hub,4554431,350,336)
{
link(onEvent1,1235613:doEvent1,[(382,342)(382,335)])
link(onEvent2,15810925:doWork1,[])
}
Add(Hub,14331155,350,357)
{
link(onEvent1,1235613:doEvent2,[(390,363)(390,342)])
link(onEvent2,15810925:doWork2,[(402,370)(402,356)])
}
Add(Hub,1235613,399,329)
{
InCount=2
OutCount=1
link(onEvent1,5246695:In,[])
}
Add(InlineCode,12360657,70,371)
{
@Hint=#24:Глобальный перехват мыши|
EventPoints=#2:ev|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|38:uses kol,Share,Debug,windows,messages;|0:|4:type|27: tagMSLLHOOKSTRUCT = record|12: pt:TPoint;|18: mouseData:dword;|14: flags:dword;|13: time:dword;|23: dwExtraInfo:^Cardinal|5: end;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|17: ev:THI_Event;|0:|23: constructor Create;|33: destructor Destroy; override;|0:|5: end;|0:|14:var H:THandle;|20: hac:THiAsmClass;|0:|14:implementation|0:|49:function hook(code,w,l:integer):Lresult; stdcall;|15:var str:string;|25: ll:tagMSLLHOOKSTRUCT;|15: d:LongWord;|5:begin|38: ll := tagMSLLHOOKSTRUCT(pointer(l)^);|0:|26: d := ll.mouseData shr 16;|46: if d and $8000 ‹› 0 then d := d or $FFFF0000;|0:|30: str := Int2Str(w)+Int2Str(d);|25: _hi_OnEvent(hac.ev,str);|38: result := CallNextHookEx(H,code,w,l);|4:end;|0:|31:constructor THiAsmClass.Create;|5:begin|18: inherited Create;|13: hac := self;|48: H := SetWindowsHookEx(14, @hook, hInstance, 0);|82: if H = 0 then messagebox(ReadHandle,'Ошибка перехвата мыши','ERROR',mb_iconhand);|4:end;|0:|31:destructor THiAsmClass.Destroy;|5:begin|24: UnhookWindowsHookEx(H);|19: inherited Destroy;|4:end;|0:|4:end.|
link(ev,15461887:doEvent1,[])
}
Add(Case,2237443,189,371)
{
Value=String(522120)
link(onNextCase,890736:doCase,[])
link(onTrue,4554431:doEvent1,[(233,384)(233,342)])
}
Add(Case,890736,238,371)
{
Value=String(522-120)
link(onTrue,14331155:doEvent1,[(320,384)(320,363)])
}
Add(LineBreak,15792974,56,245)
{
link(Out,9875868:doWork1,[])
Primary=[12365408,581,105]
}
Add(LineBreak,12305260,91,252)
{
link(Out,9875868:doWork2,[])
Primary=[7901736,581,105]
}
Add(LineBreak,8721220,56,259)
{
link(Out,9875868:doWork3,[])
Primary=[12322004,581,105]
}
Add(LineBreak,3775188,91,266)
{
link(Out,9875868:doWork4,[])
Primary=[4771942,581,105]
}
Add(LineBreak,7972318,560,441)
{
Type=1
link(Data,3532230:Result,[])
Primary=[6888144,7,-259]
}
Add(Hub,15461887,119,371)
{
link(onEvent1,2237443:doCase,[])
link(onEvent2,7776311:In,[])
}
Add(GetDataEx,1258831,581,148)
{
link(Data,4671295:Width,[])
}
Add(GetDataEx,3957441,588,154)
{
link(Data,4671295:Height,[])
}
Add(LineBreak,9317552,511,399)
{
link(Out,3532230:doResize,[])
Primary=[11439949,161,-56]
}
Add(LineBreak,3183484,511,210)
{
link(Out,9404777:doWork1,[])
Primary=[9472209,0,154]
}
Add(LineBreak,11282015,483,217)
{
link(Out,9404777:doWork2,[])
Primary=[5246695,-56,112]
}
Add(LineBreak,6774262,441,357)
{
link(Out,15700939:doEvent1,[])
Primary=[4035501,-42,-126]
}
Add(LineBreak,6299042,56,273)
{
link(Out,9875868:doWork5,[])
Primary=[7776311,91,105]
}