На мой взгляд, очень даже изящная схема получилась
Надо теперь только разобраться как сохранять файл из программы, сразу в *.amc с перезаписью старого.
Make(delphi)
ver(4.04 build 184)
Add(MainForm,15614549,153,392)
{
Width=394
Height=311
Caption="Macros generator"
link(onCreate,16270938:doEvent1,[])
}
Add(Memo,3795116,210,182)
{
Left=10
Top=250
Width=220
Height=20
Visible=1
Strings=#8:varE = 1|10:Delay 5 ms|11:IfKey 7 0 2|20:if varE != 1 Goto 11|8:varE = 2|10:LeftDown 1|16:Delay <short> ms|8:LeftUp 1|15:Delay <long> ms|11:IfKey 7 0 2|20:if varE != 2 Goto 18|8:varE = 3|10:LeftDown 1|16:Delay <short> ms|8:LeftUp 1|15:Delay <long> ms|6:Goto 2|
}
Add(Memo,4515587,483,280)
{
Left=190
Top=5
Width=185
Height=265
}
Add(Button,8517067,147,266)
{
Left=15
Top=60
Width=160
Height=45
Caption="Generate!"
link(onClick,10360032:doEvent1,[])
}
Add(Random,5767958,371,280)
{
Min=35
Max=70
Point(doMin)
Point(doMax)
link(onRandom,10900447:doWork1,[(411,286)])
}
Add(ArrayEnum,822352,224,273)
{
link(onItem,11629454:doCompare,[])
link(Array,3795116:Array,[])
}
Add(Hub,10360032,196,266)
{
link(onEvent1,4515587:doClear,[(210,245)(471,245)(471,293)])
link(onEvent2,822352:doEnum,[])
}
Add(StrMask,11629454,287,273)
{
Mask="Delay <short> ms"
link(onFalse,13532710:doCompare,[(333,279)(333,319)(275,319)(275,342)])
link(onTrue,5767958:doRandom,[])
}
Add(FormatStr,6187392,420,392)
{
DataCount=1
Mask="Delay %1 ms"
Point(FString)
link(onFString,9238098:doWork3,[(458,398)])
}
Add(StrMask,13532710,287,336)
{
Mask="Delay <long> ms"
link(onFalse,9238098:doWork2,[])
link(onTrue,5047906:doRandom,[(332,349)(332,373)(275,373)(275,384)])
}
Add(Random,5047906,301,378)
{
Min=85
Max=120
Point(doMin)
Point(doMax)
link(onRandom,10900447:doWork2,[])
}
Add(Hub,16270938,217,406)
{
link(onEvent1,5047906:doRandomize,[(275,412)(275,391)])
link(onEvent2,5767958:doRandomize,[(347,419)(347,293)])
}
Add(HubEx,9238098,454,336)
{
Angle=3
link(onEvent,4515587:doAdd,[(458,286)])
}
Add(HubEx,10900447,407,378)
{
Angle=1
link(onEvent,6187392:doString,[(411,398)])
}
Add(Edit,1025516,154,448)
{
Left=75
Top=5
Text="35"
DataType=2
link(onChange,5767958:doMin,[(354,454)(354,300)])
}
Add(Edit,11875227,191,462)
{
Left=130
Top=5
Text="70"
DataType=2
link(onChange,5767958:doMax,[(359,468)(359,307)])
}
Add(Edit,5953655,154,504)
{
Left=75
Top=30
Text="85"
DataType=2
link(onChange,5047906:doMin,[(283,510)(283,398)])
}
Add(Edit,279305,196,518)
{
Left=130
Top=30
Text="120"
DataType=2
link(onChange,5047906:doMax,[(288,524)(288,405)])
}
Add(Label,15768048,112,448)
{
Left=10
Top=10
Width=57
Height=17
Caption="Short delay"
}
Add(Label,13144589,112,503)
{
Left=10
Top=35
Width=56
Height=17
Caption="Long delay"
}
Появилась еще проблема - никак не могу ползунок прикрутить к редактору текста. Вообще непонятно к какой точке его цеплять...