Tad писал(а):
Вот это я не смог сделать на стандартных компонентах. Не вводи людей в заблуждение
Работа со строками -- это не то, чего не умеет HiAsm ...
Add(VisualStrings,1954375,266,196)
{
Lines=#32:АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ|
Height=25
}
Add(Str_Enum,7131583,266,238)
{
Delimiter=""
link(onEnum,9974776:doWork1,[])
link(String,1954375:Text,[])
}
Add(MainForm,2790490,175,217)
{
Width=421
Height=423
Caption="УГАДАЙ СЛОВО! (c)Tad"
BorderStyle=1
Position=1
link(onCreate,15828471:doEvent1,[])
}
Add(GridLayout,4496329,385,238)
{
Name="grid"
Padding=20
Rows=8
Cols=4
}
Add(StrList,14861164,329,126)
{
Strings=#8:АБАЗИНЕЦ|8:АБАЗИНКА|8:АББАТИСА|8:АБДРАГАН|8:АБДУКТОР|8:АБДУКЦИЯ|8:АБЕЛЬМОШ|8:АБЗЕТЦЕР|8:АБИССАЛЬ|8:АБОЛИЦИЯ|8:АБОРИГЕН|8:АБРАКСАС|8:АБРИКОЛЬ|8:АБРОКОМА|8:АБСОРБЕР|8:АБСТРАКТ|8:АБСЦИССА|8:АБУТИЛОН|8:АБЫРВАЛГ|8:АВАЛЬМАН|8:АВАНГАРД|8:АВАНЛОЖА|8:АВАНПОРТ|8:АВАНПОСТ|8:АВАНРЕЙД|8:АВАНТЮРА|8:АВАНФОСС|8:АВАРИЙКА|8:АВАРТАНА|8:АВГУСТАЛ|8:АВИАБАЗА|8:АВИАМАЯК|8:АВИАПАРК|8:АВИАПОЛК|8:АВИАРЕЙС|8:АВИАТИКА|8:АВИДИТЕТ|8:АВИОНИКА|8:АВИФАУНА|8:АВРИКУЛА|8:АВСТЕРИЯ|8:АВСТРИЕЦ|8:АВСТРИЯК|8:АВТАРКИЯ|8:АВТОБАЗА|8:АВТОГРАД|8:АВТОГРАФ|8:АВТОДЕЛО|8:АВТОДРОМ|8:АВТОКЛАВ|8:АВТОКЛУБ|8:АВТОКРАН|8:АВТОКРАТ|8:АВТОЛИСТ|8:АВТОМАКС|8:АВТОПАРК|8:АВТОПЛУГ|8:АВТОСАНИ|8:АВТОСТОП|8:АВТОТРОФ|8:АВТОХТОН|8:АВТОШАРЖ|8:АВЮТОРГА|8:АГАРИКУС|8:АГАРЯНИН|8:АГАРЯНКА|8:АГАСТРИЯ|8:АГЕВСТИЯ|8:АГЕНЕЗИЯ|8:АГЕНТУРА|8:АГЕРАТУМ|8:АГИТАТОР|8:АГИТАЦИЯ|8:АГЛОССИЯ|8:АГНОСТИК|8:АГОНОМАЛ|8:АГОРАНОМ|8:АГРАМАНТ|8:АГРАМЕНТ|8:АГРАРНИК|8:АГРЕССИЯ|8:АГРЕССОР|8:АГРОМЕТР|8:АГРОПРОМ|8:АГРОСЕТЬ|8:АГУКАНЬЕ|8:АДВЕКЦИЯ|8:АДГЕРЕНТ|8:АДДЕНДУМ|8:АДДИКЦИЯ|8:АДДУКТОР|8:АДДУКЦИЯ|8:АДЕНОЗИН|8:АДЕНОИДЫ|8:АДЖАСТЕР|8:АДЖИВИКА|8:АДЖИЛИТИ|8:АДИАБАТА|8:АДИАНТУМ|8:АДИНАМИЯ|8:АДИПОЗИТ|8:АДНЕКСИТ|8:АДОНИЗИД|8:АДОНИЛЕН|8:АДОНИТИС|8:АДОРАЦИЯ|8:АДОРНИСТ|8:АДРЕСАНТ|8:АДСОРБАТ|8:АДСОРБЕР|8:АДЪЮВАНТ|8:АДЪЮСТАЖ|8:АДЪЮТАНТ|8:АДЫГЕЙКА|
Point(doGetString)
Point(onGetString)
link(onGetString,2649284:doSlovo,[])
}
Add(Random,10848744,266,154)
{
Max=113
link(onRandom,14861164:doGetString,[])
}
Add(Hub,15828471,224,231)
{
link(onEvent1,10848744:doRandomize,[(255,237)(255,167)])
link(onEvent2,7131583:doEnum,[])
}
Add(Button,4492406,175,147)
{
Left=5
Top=20
Width=180
Font=[MS Sans Serif,8,1,0,1]
Caption="ВЫБЕРИТЕ СЛОВО"
Data=Integer(0)
link(onClick,6896369:doEvent1,[])
}
Add(For,3816765,266,112)
{
End=31
link(onEvent,9974776:doWork2,[(319,118)(319,251)])
}
Add(Hub,6896369,224,147)
{
link(onEvent1,3816765:doFor,[(254,153)(254,118)])
link(onEvent2,10848744:doRandom,[])
}
Add(Label,10519816,532,133)
{
Left=25
Top=150
Width=4
Height=4
Font=[Consolas,16,1,255,204]
Caption=""
}
Add(Label,8418764,490,140)
{
Left=15
Top=285
Width=185
Font=[MS Sans Serif,8,1,32768,1]
Caption=""
AutoSize=1
Alignment=2
}
Add(Label,977090,448,147)
{
Left=20
Top=225
Width=4
Height=4
Font=[MS Sans Serif,10,1,16711680,1]
Caption=""
}
Add(ChildGroupBox,9974776,329,238)
{
link(onEvent1,2649284:doBukva,[(375,244)(375,146)])
}
BEGIN_SDK
Add(EditMulti,9966731,21,21)
{
EventCount=1
WorkCount=3
Width=90
Height=102
VOffset=21
link(doWork1,7040909:##add,[])
link(doWork2,7040909:##select,[])
link(doWork3,6240180:doVisible,[(31,62)(31,83)])
}
Add(GroupBox,6240180,42,77)
{
Left=205
Top=10
Width=200
Height=365
Color=65535
Font=[MS Sans Serif,8,1,0,1]
Visible=1
Caption="Выберите букву"
Point(doVisible)
}
Add(ChildPanelEx,7040909,42,35)
{
Mode=1
link(onChange,9966731:onEvent1,[(92,41)(92,48)])
}
BEGIN_SDK
Add(EditMultiEx,9722140,21,14)
{
WorkCount=#5:doOff|5:##add|8:##select|
EventCount=#8:onChange|
DataCount=#3:Str|
Width=279
Height=158
VOffset=14
Point(##add)
Point(##select)
link(doOff,7826995:doWork1,[(179,34)])
link(##add,1047353:doText,[(53,41)(53,55)])
link(##select,334160:doReset,[(36,48)(36,69)])
}
Add(Panel,82034,28,119)
{
Top=10
Width=40
Height=40
Font=[MS Sans Serif,8,1,0,1]
Layout="parent.parent.grid"
BorderWidth=0
BevelInner=0
}
Add(Label,1047353,133,49)
{
Left=11
Top=10
Width=30
Height=30
Color=5832630
Font=[Courier New,18,1,0,204]
TabOrder=-1
Caption=""
AutoSize=1
Alignment=2
CaptionOnClick=0
Point(doColor)
link(onClick,7826995:doWork2,[])
}
Add(Switch,334160,77,56)
{
DataOn=Integer(255)
DataOff=Integer(5832630)
Point(doOn)
link(onSwitch,1047353:doColor,[])
}
Add(Hub,13361652,196,49)
{
link(onEvent1,9722140:onChange,[(233,55)(233,34)])
link(onEvent2,334160:doOn,[(217,62)(217,99)(65,99)(65,76)])
}
Add(HubEx,7826995,175,49)
{
link(onEvent,13361652:doEvent1,[])
}
END_SDK
END_SDK
Add(MultiElementEx,2649284,385,133)
{
link(onSlovo,10519816:doText,[])
link(onCalck,8418764:doText,[])
link(onEnd,977090:doText,[])
link(onAlf,9974776:doWork3,[(424,160)(424,279)(319,279)(319,258)])
}
BEGIN_SDK
Add(EditMultiEx,4493217,21,14)
{
WorkCount=#7:doSlovo|7:doBukva|
EventCount=#7:onSlovo|7:onCalck|5:onEnd|5:onAlf|
Width=524
Height=312
VOffset=119
link(doSlovo,5195614:doEvent1,[(32,139)(32,69)])
link(doBukva,4551538:doValue,[(39,146)(39,139)])
}
Add(Position,15036598,168,133)
{
ZeroPos=0
link(onSearch,12474451:doCompare,[])
link(Str,731645:Value,[])
link(Target,7225069:Var2,[])
}
Add(Delete,3854665,322,133)
{
Position=0
Count=1
link(onDelete,992139:doInsert,[])
link(Str,5172791:Var3,[(328,124)(363,124)])
}
Add(Insert,992139,378,133)
{
link(onInsert,4357243:doWork2,[])
link(SubStr,7225069:Var3,[(391,110)])
link(Position,15036598:Position,[(398,117)(209,117)(209,173)(174,173)])
}
Add(Memory,731645,168,63)
{
@Hint=#5:Слово|
link(onData,11270200:doLength,[])
AddHint(-12,-34,46,13,@Hint)
}
Add(Memory,4551538,56,133)
{
@Hint=#5:Буква|
link(onData,8269295:doRepeat,[])
AddHint(-11,-104,45,13,@Hint)
}
Add(Memory,16613698,441,133)
{
@Hint=#5:Маска|
link(onData,4493217:onSlovo,[])
AddHint(-13,-102,48,13,@Hint)
}
Add(Repeat,8269295,112,133)
{
link(onRepeat,15036598:doSearch,[])
}
Add(If_else,12474451,217,133)
{
Type=2
Op2=Integer(0)
link(onTrue,3854665:doDelete,[])
link(onFalse,1527551:doEvent1,[])
}
Add(GetDataEx,7225069,175,105)
{
Angle=3
link(Data,4551538:Value,[(97,110)(97,173)(62,173)])
}
Add(Length,11270200,217,63)
{
link(onLength,7075204:doStrPad,[])
}
Add(StrPad,7075204,322,63)
{
PadString="*"
PadLength=0
link(onStrPad,4357243:doWork1,[(424,69)])
link(String,15699524:Text,[])
}
Add(VisualStrings,15699524,322,28)
{
}
Add(HubEx,4357243,420,133)
{
link(onEvent,16613698:doValue,[])
}
Add(CounterEx,10666344,322,210)
{
Point(doReset)
link(onNext,4183625:doStrCat,[])
}
Add(Hub,5195614,133,63)
{
link(onEvent1,731645:doValue,[])
link(onEvent2,4029107:doEvent1,[(158,76)(158,223)])
}
Add(Hub,1527551,266,140)
{
OutCount=3
link(onEvent1,10666344:doNext,[(312,146)(312,216)])
link(onEvent2,8581230:doSearch,[(298,153)(298,272)])
link(onEvent3,8269295:doStop,[(291,160)(291,181)(102,181)(102,146)])
}
Add(StrCat,4183625,441,210)
{
Str1="Всего сделано ходов: "
link(onStrCat,4493217:onCalck,[(480,216)(480,146)])
}
Add(Position,8581230,322,266)
{
Target="*"
ZeroPos=0
ShortSearch=1
link(onSearch,4168798:doCase,[])
link(Str,5172791:Var2,[(328,257)(363,257)])
}
Add(Case,4168798,378,266)
{
Value=Integer(0)
DataOnTrue=String(СЛОВО ОТГАДАНО !)
link(onTrue,7750670:doWork2,[])
}
Add(HubEx,7750670,420,273)
{
link(onEvent,12335655:doEvent1,[])
}
Add(DoData,1615657,378,224)
{
link(onEventData,7750670:doWork1,[(424,230)])
}
Add(Hub,4029107,266,217)
{
OutCount=3
link(onEvent1,10666344:doReset,[])
link(onEvent2,1615657:doData,[])
link(onEvent3,8659067:doWork2,[(291,237)(291,293)])
}
Add(ChanelToIndex,8659067,476,280)
{
link(onIndex,4493217:onAlf,[(515,286)(515,160)])
}
Add(GetDataEx,5172791,357,168)
{
Angle=1
link(Data,16613698:Value,[(447,173)])
}
Add(Hub,12335655,441,273)
{
link(onEvent1,4493217:onEnd,[(487,279)(487,153)])
link(onEvent2,8659067:doWork1,[])
}
END_SDK
В общем, сам ты АБЕЛЬМОШ