Вверх ↑
Этот топик читают: Гость
Ответов: 1263
Рейтинг: 47
#1: 2019-03-08 21:04:28 ЛС | профиль | цитата
Как нибудь можно реализовать это? Например плагинами среды. Чтобы, например, при каждой компиляции увеличивался на единицу номер билда программы в компоненте Label на форме? А то руками забываю править и неудобно.
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
vip
#1.1контекстная реклама от партнеров
Главный модератор
Ответов: 2997
Рейтинг: 395
#2: 2019-03-09 09:33:31 ЛС | профиль | цитата
Обсуждалось неоднократно и не жалуйтесь, что поиск по форуму не работает: кто хочет ищет возможности, кто не хочет - ищет оправдания. Например тут или здесь.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 1263
Рейтинг: 47
#3: 2019-03-09 10:58:45 ЛС | профиль | цитата
Nic, спасибо конечно, но что-то ни в одном из примеров я не увидел решения поставленной задачи. Нужно чтобы схема на этапе компиляции сама заносила нужные данные в один из компонентов самой себя и изменяла их, например инкрементируя число или добавляя текущую дату-время. А чтение информации из уже имеющегося файла - это не то.

Редактировалось 1 раз(а), последний 2019-03-09 10:59:15
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Главный модератор
Ответов: 2997
Рейтинг: 395
#4: 2019-03-09 14:00:17 ЛС | профиль | цитата
Это полный пример. Если постараться, то можно найти на форуме подобный пример - выкладывал несколько раз, но очень давно.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
файлы: 1AboutAutoIncrementBuild.zip [74.7KB] [349]
Ответов: 8887
Рейтинг: 823
#5: 2019-03-09 14:14:56 ЛС | профиль | цитата
Nic, ну как вы не понимаете, это же необходимо, чтобы при компиляции нужный текст оказался в Edit!
http://forum.hiasm.com/getfile/38627
карма: 19

0
Главный модератор
Ответов: 2997
Рейтинг: 395
#6: 2019-03-09 14:26:48 ЛС | профиль | цитата
Леонид, Вы правы. В следующий раз будут краток в ответе, например так:
Aziz писал(а):
Как нибудь можно реализовать это?

Можно.

Или так: используйте события схемы для инкремента номера версии и сохраняйте в свойстве Caption элемента Label.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 16884
Рейтинг: 1239
#7: 2019-03-09 14:36:55 ЛС | профиль | цитата
Леонид, вот так смотрится Ваш MyProject.sha


Редактировалось 1 раз(а), последний 2019-03-09 14:37:13
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26061
Рейтинг: 2120
#8: 2019-03-09 15:29:07 ЛС | профиль | цитата
Nic писал(а):
Это полный пример

Я дико извиняюсь, но как это работает? Я изменил все значения и в Version, и в Info, и в Memory, но отображает этот пример в About только то, что прописано в Memory, что естественно. Но мне нужна версия из Version, что я делаю не так? Система Win10x64.

Схема


Add(MainForm,89572,238,91)
{
Left=50
Top=50
Width=530
Height=436
Font=[Arial,8,0,0,1]
Caption="Coordinator"
BorderStyle=1
Icon=[ZIP7E03000078DA8D93310F014110859F289454A2A320F103844A222AA151A9B4128944A341E5A2A015B59A8E4E7414A2D0FA01C41F506A249E4C32D9ECDEC9EDEDEEDDBD7DDFCDDCEC1D10E1914880730ADD28900490E7A0840C44FFB54A1401AD56CC4A0FB3542FE516FDE67ADEBB9DF716C2DBED72C86E2E89DF45784145CC9C4DFFA055A66821A37675356E2B62A5E4229D464111F7D504E1A304A1818A20BE7550C40C4125C8AC88D8DC9C7D8BAC05FC8350B91E36EC6290EA492CDFCAD0C9592EDCAD51C5144DD6DC1A13F1CD4D10CB2F1986F46B082BAEEAAE5FA368E65AF9A0AF5A5FF3F204A627C0F38009C791FFC83D06BCE2C03BCD7B9E27331AE9D9DDA9FDC68BEB6FE0F101BE3C65CEAB]
SavePosName="Coordinator.ini\Coordinator"
Point(Close)
Point(Left)
Point(Top)
Point(Width)
Point(Height)
}
Add(ScriptEvents,88089,7,42)
{
Script=#15:function Load()|3:end|0:|15:function Save()|3:end|0:|21:function SaveBefore()|21: Dim _Date as String|22: Dim _Title as String|25: Dim _strTitle as String|51: 'Date = net_Text("http://localhost/callDate.asp")|29: _Date = Time("D:M:Y h:m:s")|37: _Title = SDK.GetProp(18582, "Info")|84: _strTitle = Delete(_Title, Len(_Title) - Len(_Date), Len(_Date) + 1) + " " + _Date|39: sdk.SetProp(18582, "Info", _strTitle)|3:end|0:|0:|26:Function CmdEvent(Command)|26: If Command = "build" Then|17: Dim num as Real|19: Dim ver as String|21: Dim Title as String|24: Dim strTitle as String|46: num = Real(SDK.GetProp(11511461, "Version"))|50: SDK.SetProp(11511461, "Version", Str(num+0.001))|40: ver = SDK.GetProp(11511461, "Version")|49: SDK.SetProp(4061237, "Default", Str(num+0.001))|46: Name = SDK.GetProp(11511461, "InternalName")|45: SDK.SetProp(12774542, "Default", Str(Name))|35: Title = SDK.GetProp(3786, "Info")|75: strTitle = Delete(Title, Len(Title) - Len(ver), Len(ver) + 1) + " " + ver|37: SDK.SetProp(3786, "Info", strTitle)|57: SDK.SetProp(3927081, "Info", "HiAsm version " + CurVer)|7: End If|13:End |
}
Add(InfoTip,18582,123,21)
{
Info=#37:Last modification 09:03:2019 15:23:15|
Font=[Arial,8,0,0,1]
Frame=1
Width=197
Height=18
}
Add(InfoTip,3786,116,8)
{
Info=#26:Coordinator version 0.503|
Font=[Arial,8,0,0,1]
Frame=1
Width=204
Height=18
}
Add(Version,11511461,7,7)
{
Version="0.504"
Description="Tools of Coordinator Prepress"
InternalName="Coordinator"
E-mail="nic@savelovo.net"
AddHint(74,70,42,13,Version)
}
Add(Memory,4061237,189,91)
{
Default=String(0.501)
AddHint(-116,28,52,13,Default)
}
Add(Memory,12774542,175,77)
{
Default=String(Coordinator)
}
Add(ChildForm,990376,224,154)
{
link(Data1,12774542:Value,[(230,140)(181,140)])
link(Data2,4061237:Value,[(237,135)(195,135)])
link(Data3,89572:Left,[])
link(Data4,89572:Top,[])
link(Data5,89572:Width,[])
link(Data6,89572:Height,[])
}
BEGIN_SDK
Add(EditMulti,2210700,10,10)
{
WorkCount=1
DataCount=6
Width=356
Height=277
link(doWork1,55042:doEvent1,[])
}
Add(MainForm,15446549,308,154)
{
Left=40
Top=110
Width=246
Height=256
Color=-16777192
Visible=1
Caption="About"
BorderStyle=0
TaskBar=1
ClientSize=0
Point(doVisible)
Point(doLeft)
Point(doTop)
Point(Width)
Point(Height)
link(onCreate,14876248:doString,[(348,174)(348,148)(102,148)(102,104)])
}
Add(VBScript,1136173,154,98)
{
WorkPoints=#5:Input|
EventPoints=#6:Output|
DataPoints=#7:_String|
Script=#27:function doWork(Data,Index)|17:Dim ver as String|19:Dim Title as String|22:Dim strTitle as String|20:ver = GetData(Index)|23:Data = Data + " " + ver|19:onEvent(Index,Data)|12:End function|
link(Output,1444614:doAdd,[])
link(_String,2210700:Data2,[(160,50)])
}
Add(Case,9896524,140,161)
{
Value=String(close)
link(onTrue,6557163:doEvent1,[(191,174)(191,174)])
}
Add(FormatStr,14876248,112,98)
{
DataCount=1
Mask=" %1 version "
link(onFString,1136173:Input,[])
link(Str1,2210700:Data1,[(118,40)])
}
Add(MultiElementEx,1831536,98,203)
{
link(ASHandle,12448163:ASHandle,[])
link(Text,1444614:Text,[(111,198)(202,198)])
}
BEGIN_SDK
Add(EditMultiEx,12125861,3,3)
{
WorkCount=#6:doInit|6:doStop|
DataCount=#8:ASHandle|4:Text|
Width=780
Height=564
link(doInit,7759138:doEvent1,[])
link(doStop,8509903:doStop,[])
}
Add(Timer,8509903,161,84)
{
Interval=50
Enable=1
link(onTimer,13259658:doRefresh,[])
}
Add(AS_DrawRect,13259658,203,84)
{
Name="info"
link(onPaint,8779013:doSet,[(242,90)(242,122)(64,122)(64,139)])
link(ASHandle,12125861:ASHandle,[])
}
Add(LineBreak,17844,518,273)
{
Caption="6"
Type=1
link(Data,8565567:Value,[])
Primary=[8297954,-217,91]
}
Add(Img_Text,12256,203,182)
{
X=2
Font=[Times New Roman,9,1,8388608,204]
Text="1 - Система визуального проектирования"
link(Bitmap,4330895:Var2,[])
link(Text,8776464:Var,[(216,178)(251,178)])
}
Add(Hub,16433178,287,154)
{
OutCount=4
link(onEvent1,8344649:doReset,[(328,160)(328,139)])
link(onEvent2,8344649:doMax,[(332,167)(332,146)])
link(onEvent3,996308:doReset,[(342,174)(342,174)])
link(onEvent4,8344649:doPrev,[(341,181)(341,132)])
}
Add(InlineCode,8779013,70,133)
{
@Hint=#41:Выравнивание по центру родительского окна|
WorkPoints=#5:doSet|6:doInit|
EventPoints=#4:next|6:intStr|5:value|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses KOL,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|7:private|6:public|33: intStr, value, next : THI_Event;|46: procedure doSet(var _Data:TData; Index:word);|47: procedure doInit(var _Data:TData; Index:word);|4:end;|0:|14:implementation|3:var|34: intTemp : Array[0..8] of integer;|0:|28:procedure THiAsmClass.doSet;|19:var i, j : integer;|5:begin|27: For i := 0 To 8 Do Begin|20: Inc(intTemp[i]);|36: j := 120 - (intTemp[i] mod 135);|27: _hi_onEvent(intStr, i);|26: _hi_onEvent(value, j);|41: If j = -14 Then _hi_onEvent(next, 1);|15: end; { For }|4:end;|0:|29:procedure THiAsmClass.doInit;|16:var i : integer;|5:begin|19: intTemp[0] := 0;|21: intTemp[1] := -15;|21: intTemp[2] := -30;|21: intTemp[3] := -45;|21: intTemp[4] := -60;|21: intTemp[5] := -75;|21: intTemp[6] := -90;|22: intTemp[7] := -105;|22: intTemp[8] := -120;|43: For i := 0 To 8 Do _hi_onEvent(next, 1);|4:end;|4:end.|
link(next,10578504:doEvent1,[(111,139)(111,125)])
link(intStr,9850800:doValue,[])
link(value,3762352:doEvent,[(110,153)(110,188)])
}
Add(Img_Text,16062379,196,224)
{
X=2
Font=[Times New Roman,9,1,8388608,204]
Text="2 - Система визуального проектирования"
link(Bitmap,4330895:Var1,[(202,163)])
link(Text,12426787:Var,[(209,220)(251,220)])
}
Add(GetDataEx,4330895,203,158)
{
link(Data,13259658:Bitmap,[])
}
Add(Math,16586927,392,119)
{
OpType=1
Op2=1
ResultType=0
link(onResult,16522694:doRead,[])
}
Add(Hub,7759138,21,56)
{
OutCount=5
link(onEvent1,10455765:doClear,[])
link(onEvent2,11500511:doData,[(282,69)(282,76)])
link(onEvent3,16433178:doEvent1,[(279,76)(279,160)])
link(onEvent4,8779013:doInit,[(59,83)(59,146)])
link(onEvent5,8509903:doTimer,[(103,90)(103,90)])
}
Add(Counter,8344649,350,119)
{
Min=1
Point(Max)
Point(doMax)
link(onNext,16586927:doOperation,[])
link(Max,10455765:Count,[(356,114)(356,114)])
}
Add(Img_Text,13422919,231,266)
{
X=2
Font=[Times New Roman,9,1,8388608,204]
Text="3 - Система визуального проектирования"
link(Bitmap,5270102:Var2,[])
link(Text,10645999:Var,[(244,262)(279,262)])
}
Add(LineBreak,14895087,392,294)
{
Caption="9"
Type=1
link(Data,5529231:Value,[])
Primary=[153828,-70,196]
}
Add(Img_Text,11975597,224,308)
{
X=2
Font=[Times New Roman,9,1,8388608,204]
Text="4 - Система визуального проектирования"
link(Bitmap,5270102:Var1,[(230,233)])
link(Text,10296896:Var,[(237,304)(286,304)])
}
Add(GetDataEx,5270102,231,228)
{
link(Data,4330895:Var3,[(237,163)])
}
Add(Img_Text,80230,259,350)
{
X=2
Font=[Times New Roman,9,1,8388608,204]
Text="5 - Система визуального проектирования"
link(Bitmap,9138691:Var2,[])
link(Text,11657824:Var,[(272,346)(300,346)])
}
Add(LineBreak,9681207,434,287)
{
Caption="8"
Type=1
link(Data,3508024:Value,[])
Primary=[10384774,-98,161]
}
Add(Img_Text,14441939,252,392)
{
X=2
Font=[Times New Roman,9,1,8388608,204]
Text="6 - Система визуального проектирования"
link(Bitmap,9138691:Var1,[(258,324)])
link(Text,8297954:Var,[(265,388)(307,388)])
}
Add(GetDataEx,9138691,259,319)
{
link(Data,5270102:Var3,[(265,233)])
}
Add(Img_Text,480395,287,434)
{
X=2
Font=[Times New Roman,9,1,8388608,204]
Text="7 - Система визуального проектирования"
link(Bitmap,15574659:Var2,[])
link(Text,15207012:Var,[(300,430)(328,430)])
}
Add(LineBreak,1539667,476,280)
{
Caption="7"
Type=1
link(Data,4314296:Value,[])
Primary=[15207012,-154,126]
}
Add(Img_Text,5577535,280,476)
{
X=2
Font=[Times New Roman,9,1,8388608,204]
Text="8 - Система визуального проектирования"
link(Bitmap,15574659:Var1,[(286,408)])
link(Text,10384774:Var,[(293,472)(342,472)])
}
Add(Img_Text,7036096,315,518)
{
X=2
Font=[Times New Roman,9,1,8388608,204]
Text="9 - Система визуального проектирования"
link(Bitmap,15574659:Var3,[(321,408)])
link(Text,153828:Var,[])
}
Add(GetDataEx,15574659,287,403)
{
link(Data,9138691:Var3,[(293,324)])
}
Add(StrList,10455765,343,49)
{
}
Add(ArrayRW,16522694,434,119)
{
link(onRead,5361857:doEvent,[(476,125)(476,190)(340,190)(340,202)])
link(Array,10455765:Array,[(440,107)(363,107)])
}
Add(Hub,10578504,287,119)
{
link(onEvent1,8344649:doNext,[])
link(onEvent2,996308:doNext,[(336,132)(336,160)])
}
Add(IndexToChanel,5361857,350,196)
{
Count=9
Point(Index)
link(onEvent1,12544423:doValue,[])
link(onEvent2,1632972:doValue,[])
link(onEvent3,13283275:doValue,[])
link(onEvent4,16143602:doValue,[])
link(onEvent5,15065847:doValue,[])
link(onEvent6,8565567:doValue,[])
link(onEvent7,4314296:doValue,[])
link(onEvent8,3508024:doValue,[])
link(onEvent9,5529231:doValue,[])
link(Index,996308:Count,[])
}
Add(Memory,5529231,392,252)
{
}
Add(Memory,3508024,434,245)
{
}
Add(Memory,4314296,476,238)
{
}
Add(Memory,8565567,518,231)
{
}
Add(Memory,15065847,560,224)
{
}
Add(Memory,16143602,602,217)
{
}
Add(Memory,13283275,644,210)
{
}
Add(Memory,1632972,686,203)
{
}
Add(Memory,12544423,728,196)
{
}
Add(LineBreak,3600740,728,238)
{
Caption="1"
Type=1
link(Data,12544423:Value,[])
Primary=[8776464,-483,-84]
}
Add(LineBreak,14368846,686,245)
{
Caption="2"
Type=1
link(Data,1632972:Value,[])
Primary=[12426787,-441,-49]
}
Add(LineBreak,14444742,644,252)
{
Caption="3"
Type=1
link(Data,13283275:Value,[])
Primary=[10645999,-371,-14]
}
Add(LineBreak,6674577,602,259)
{
Caption="4"
Type=1
link(Data,16143602:Value,[(608,254)(608,261)])
Primary=[10296896,-322,21]
}
Add(LineBreak,9900746,560,266)
{
Caption="5"
Type=1
link(Data,15065847:Value,[])
Primary=[11657824,-266,56]
}
Add(Counter,996308,350,154)
{
Max=8
}
Add(Memory,9850800,119,140)
{
}
Add(IndexToChanel,3762352,119,182)
{
Count=9
Point(Index)
link(onEvent1,12256:doDraw,[(180,188)(180,188)])
link(onEvent2,16062379:doDraw,[(190,195)(190,230)])
link(onEvent3,13422919:doDraw,[(186,202)(186,272)])
link(onEvent4,11975597:doDraw,[(182,209)(182,314)])
link(onEvent5,80230:doDraw,[(177,216)(177,356)])
link(onEvent6,14441939:doDraw,[(172,223)(172,398)])
link(onEvent7,480395:doDraw,[(167,230)(167,440)])
link(onEvent8,5577535:doDraw,[(162,237)(162,482)])
link(onEvent9,7036096:doDraw,[(157,244)(157,524)])
link(Index,9850800:Value,[])
}
Add(DoData,11500511,287,70)
{
link(onEventData,10455765:doText,[(336,76)(336,76)])
link(Data,12125861:Text,[(293,64)])
}
END_SDK
Add(InlineCode,8779013,245,231)
{
@Hint=#41:Выравнивание по центру родительского окна|
WorkPoints=#5:doSet|
EventPoints=#6:onLeft|5:onTop|
DataPoints=#1:L|1:T|1:W|1:H|2:LW|2:LH|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses KOL,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|7:private|6:public|31: L, T, W, H, LW, LH: THI_Event;|18: onTop: THI_Event;|19: onLeft: THI_Event;|46: procedure doSet(var _Data:TData; Index:word);|4:end;|0:|14:implementation|3:var|32: ParentLeft, ParentTop: Integer;|36: ParentWidth, ParentHeight: Integer;|34: LocalWidth, LocalHeight: Integer;|0:|28:procedure THiAsmClass.doSet;|3:var|20: ResW, ResH: Real;|15: Data: TData;|5:begin|30: Data.Data_type := data_int;|19: Data.idata := 0;|39: ParentLeft := ReadInteger(data,L,0);|38: ParentTop := ReadInteger(data,T,0);|40: ParentWidth := ReadInteger(data,W,0);|41: ParentHeight := ReadInteger(data,H,0);|40: LocalWidth := ReadInteger(data,LW,0);|41: LocalHeight := ReadInteger(data,LH,0);|51: ResW := (ParentWidth-LocalWidth)/2 + ParentLeft;|52: ResH := (ParentHeight-LocalHeight)/2 + ParentTop;|27: _hi_onEvent(onTop,ResH);|28: _hi_onEvent(onLeft,ResW);|4:end;|4:end.|
link(onLeft,15446549:doLeft,[(295,237)(295,195)])
link(onTop,15446549:doTop,[(302,244)(302,202)])
link(L,2210700:Data3,[(251,75)])
link(T,2210700:Data4,[(258,71)])
link(W,2210700:Data5,[(265,66)])
link(H,2210700:Data6,[(272,60)])
link(LW,15446549:Width,[(279,219)(314,219)])
link(LH,15446549:Height,[(286,223)(321,223)])
}
Add(ActionSkin,12448163,98,161)
{
Width=256
Height=256
SkinFile="About_Main_Normal.bmp"
ActiveSkinFile="About_Main_Up.bmp"
DownSkinFile="About_Main_Down.bmp"
HandPoint=1
Point(doVisible)
Point(onRMouseDown)
link(onRMouseUp,9896524:doCase,[])
}
BEGIN_SDK
Add(DEBackground,13865547,0,0)
{
Width=256
Height=256
}
Add(AS_Control,9129735,97,215)
{
Width=62
Height=28
Name="close"
Cursor=2
}
Add(AS_Control,15821697,28,63)
{
Width=200
Height=113
Name="info"
Type=1
}
END_SDK
Add(Hub,55042,35,77)
{
OutCount=3
link(onEvent1,8779013:doSet,[(236,83)(236,237)])
link(onEvent2,1831536:doInit,[(82,90)(82,209)])
link(onEvent3,15446549:doVisible,[(300,97)(300,188)])
}
Add(Memo,1444614,196,98)
{
Left=265
Top=5
Width=200
Height=113
Visible=1
Strings=#33: Coordinator - программа для |32:ленивых координаторов Препресс. |35:Делает за них их работу. Позволяет |31:контролировать работу Workflow |28:и автоматизировать рутинные |27:процедуры его обслуживания.|32:Осуществляет мониторинг загрузки|31:процессоров других компьютеров |30:системы. Позволяет оперативно |30:освобождать полезное дисковое |24:пространство. Выполняет |33:администрирование интранет сайта.|0:|0:|0:|0:|
AddType=1
ReadOnly=0
}
Add(Hub,6557163,259,168)
{
link(onEvent1,1831536:doStop,[(296,174)(296,158)(88,158)(88,216)])
link(onEvent2,15446549:doClose,[])
}
END_SDK
Add(InfoTip,1154186,167,60)
{
Info=#5:About|
Font=[Arial,8,0,0,1]
HAlign=0
Width=127
Height=136
}
Add(Button,15785415,182,154)
{
Left=25
Top=20
Width=45
Font=[Arial,8,0,0,1]
Caption="About"
link(onClick,990376:doWork1,[])
}
Add(InfoTip,3927081,123,35)
{
Info=#28:HiAsm version 4.01 build 175|
Font=[Arial,8,0,0,1]
Frame=1
Width=197
Height=18
}

карма: 22

0
Главный модератор
Ответов: 2997
Рейтинг: 395
#9: 2019-03-09 15:43:48 ЛС | профиль | цитата
nesco писал(а):
Я дико извиняюсь, но как это работает?

Давно это было: при редактировании надо следить за EID элементов в которых меняются свойства, так как скрипт работает именно по ним. В моём примере все значения изменяются синхронно при нажатии кнопки Build. И в Вашем, кстати, тоже. Установил руками одинаковые версии во всех элементах - нажал Компилировать - все значения увеличились на 0.001

Редактировалось 2 раз(а), последний 2019-03-09 15:54:53
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 8887
Рейтинг: 823
#10: 2019-03-09 15:57:50 ЛС | профиль | цитата
Tad писал(а):
вот так смотрится

И правда Скачал, ещё из корзины достал *.rar -- и там тоже. Достал из корзины *.sha, вот как должен:
As.jpg
А вот и sha:


Add(MainForm,2953706,112,119)
{
link(onCreate,13529760:doRead,[])
}
Add(Edit,6500455,182,77)
{
Left=30
Top=10
Width=85
Text="Ну зачем это?"
}
Add(Edit,12484246,308,133)
{
Left=140
Top=10
Width=140
}
Add(DoData,6860407,217,133)
{
link(onEventData,1188388:doConvert,[])
link(Data,13529760:DateCreateReal,[(223,124)(209,124)(209,173)(188,173)])
}
Add(FileAttributes,13529760,161,133)
{
FileName="MyProject.exe"
Point(DateCreateReal)
link(onRead,6860407:doData,[])
}
Add(DateConvertor,1188388,259,133)
{
Mode=9
link(onResult,12484246:doText,[])
}

И назвать надо "MyProjekt"
карма: 19

0
Главный модератор
Ответов: 2997
Рейтинг: 395
#11: 2019-03-09 16:11:07 ЛС | профиль | цитата
Aziz писал(а):
Nic, спасибо конечно, но что-то ни в одном из примеров я не увидел решения поставленной задачи.

Собственно не было цели сделать за Вас Вашу работу, но пример реализации всё таки был по ссылке: http://forum.hiasm.com/post/295576
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Разработчик
Ответов: 26061
Рейтинг: 2120
#12: 2019-03-09 17:45:20 ЛС | профиль | цитата
Nic писал(а):
В моём примере все значения изменяются синхронно при нажатии кнопки Build

А эта схема точно в Десятке работает?
Скомпилировал и запустил исходную схему (кнопки Build там точно нет, есть кнопка About), нажал на кнопку About -- как было прописано везде 0.503, так и осталось. Пересохранил схему, открыл повторно -- как было прописано везде 0.503, так и осталось. Все нужные ID совпадают с прописанными в скрипте. ХЗ, но не работает.

Редактировалось 2 раз(а), последний 2019-03-09 17:49:07
карма: 22

0
Главный модератор
Ответов: 2997
Рейтинг: 395
#13: 2019-03-09 17:57:53 ЛС | профиль | цитата
Мужики, Вы чего после вчерашнего никак в меридиан войти не можете? Какая кнопка About? Речь о кнопке Компилировать (Build) в среде HiAsm 4. Зачем в runtime выносить функционал инкремента версии программы? Всё работает в designtime и там же отображается + в runtime отображается версия компиляции а не количество сохранений схемы, так как работает от события команды среды Компиляция(Build) (в скрипте это имена функций)

Demo



Редактировалось 1 раз(а), последний 2019-03-09 18:16:48
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Разработчик
Ответов: 26061
Рейтинг: 2120
#14: 2019-03-09 18:21:33 ЛС | профиль | цитата
Nic писал(а):
Всё работает в designtime и там же отображается + в runtime отображается версия компиляции а не количество сохранений схемы, так как работает от события команды среды Компиляция(Build) (в скрипте это имена функций)

Аааа, теперь понятно. А вот от Запустить это не работало, только от Компилировать, вот это меня и сбило с толку. Не все же мы должны знать, чего-то только сейчас для себя открываем, я вот этим безобразием раньше вообще не интересовался, нужды не было.

--- Добавлено в 2019-03-09 18:40:32

А вот так более интереснее получается. Достаточно нажать на кнопку и версия увеличится

Схема


Add(MainForm,89572,434,105)
{
Left=50
Top=50
Width=530
Height=436
Font=[Arial,8,0,0,1]
Caption="Coordinator"
BorderStyle=1
Icon=[ZIP7E03000078DA8D93310F014110859F289454A2A320F103844A222AA151A9B4128944A341E5A2A015B59A8E4E7414A2D0FA01C41F506A249E4C32D9ECDEC9EDEDEEDDBD7DDFCDDCEC1D10E1914880730ADD28900490E7A0840C44FFB54A1401AD56CC4A0FB3542FE516FDE67ADEBB9DF716C2DBED72C86E2E89DF45784145CC9C4DFFA055A66821A37675356E2B62A5E4229D464111F7D504E1A304A1818A20BE7550C40C4125C8AC88D8DC9C7D8BAC05FC8350B91E36EC6290EA492CDFCAD0C9592EDCAD51C5144DD6DC1A13F1CD4D10CB2F1986F46B082BAEEAAE5FA368E65AF9A0AF5A5FF3F204A627C0F38009C791FFC83D06BCE2C03BCD7B9E27331AE9D9DDA9FDC68BEB6FE0F101BE3C65CEAB]
SavePosName="Coordinator.ini\Coordinator"
Point(Close)
Point(Left)
Point(Top)
Point(Width)
Point(Height)
}
Add(InfoTip,18582,319,35)
{
Info=#37:Last modification 09:03:2019 17:51:55|
Font=[Arial,8,0,0,1]
Frame=1
Width=197
Height=18
}
Add(InfoTip,3786,312,22)
{
Info=#26:Coordinator version 0.503|
Font=[Arial,8,0,0,1]
Frame=1
Width=204
Height=18
}
Add(Version,11511461,245,77)
{
Version="0.503"
Description="Tools of Coordinator Prepress"
InternalName="Coordinator"
E-mail="nic@savelovo.net"
AddHint(-75,34,42,13,Version)
}
Add(Memory,4061237,385,105)
{
Default=String(0.503)
}
Add(Memory,12774542,371,91)
{
Default=String(Coordinator)
}
Add(ChildForm,990376,420,168)
{
link(Data1,12774542:Value,[(426,154)(377,154)])
link(Data2,4061237:Value,[(433,149)(391,149)])
link(Data3,89572:Left,[])
link(Data4,89572:Top,[])
link(Data5,89572:Width,[])
link(Data6,89572:Height,[])
}
BEGIN_SDK
Add(EditMulti,2210700,10,10)
{
WorkCount=1
DataCount=6
Width=356
Height=277
link(doWork1,55042:doEvent1,[])
}
Add(MainForm,15446549,308,154)
{
Left=40
Top=110
Width=246
Height=256
Color=-16777192
Visible=1
Caption="About"
BorderStyle=0
TaskBar=1
ClientSize=0
Point(doVisible)
Point(doLeft)
Point(doTop)
Point(Width)
Point(Height)
link(onCreate,14876248:doString,[(348,174)(348,148)(102,148)(102,104)])
}
Add(VBScript,1136173,154,98)
{
WorkPoints=#5:Input|
EventPoints=#6:Output|
DataPoints=#7:_String|
Script=#27:function doWork(Data,Index)|17:Dim ver as String|19:Dim Title as String|22:Dim strTitle as String|20:ver = GetData(Index)|23:Data = Data + " " + ver|19:onEvent(Index,Data)|12:End function|
link(Output,1444614:doAdd,[])
link(_String,2210700:Data2,[(160,50)])
}
Add(Case,9896524,140,161)
{
Value=String(close)
link(onTrue,6557163:doEvent1,[(191,174)(191,174)])
}
Add(FormatStr,14876248,112,98)
{
DataCount=1
Mask=" %1 version "
link(onFString,1136173:Input,[])
link(Str1,2210700:Data1,[(118,40)])
}
Add(MultiElementEx,1831536,98,203)
{
link(ASHandle,12448163:ASHandle,[])
link(Text,1444614:Text,[(111,198)(202,198)])
}
BEGIN_SDK
Add(EditMultiEx,12125861,3,3)
{
WorkCount=#6:doInit|6:doStop|
DataCount=#8:ASHandle|4:Text|
Width=780
Height=564
link(doInit,7759138:doEvent1,[])
link(doStop,8509903:doStop,[])
}
Add(Timer,8509903,161,84)
{
Interval=50
Enable=1
link(onTimer,13259658:doRefresh,[])
}
Add(AS_DrawRect,13259658,203,84)
{
Name="info"
link(onPaint,8779013:doSet,[(242,90)(242,122)(64,122)(64,139)])
link(ASHandle,12125861:ASHandle,[])
}
Add(LineBreak,13213330,518,273)
{
Caption="6"
Type=1
link(Data,8565567:Value,[])
Primary=[8297954,-217,91]
}
Add(Img_Text,12256,203,182)
{
X=2
Font=[Times New Roman,9,1,8388608,204]
Text="1 - Система визуального проектирования"
link(Bitmap,4330895:Var2,[])
link(Text,8776464:Var,[(216,178)(251,178)])
}
Add(Hub,16433178,287,154)
{
OutCount=4
link(onEvent1,8344649:doReset,[(328,160)(328,139)])
link(onEvent2,8344649:doMax,[(332,167)(332,146)])
link(onEvent3,996308:doReset,[(342,174)(342,174)])
link(onEvent4,8344649:doPrev,[(341,181)(341,132)])
}
Add(InlineCode,8779013,70,133)
{
@Hint=#41:Выравнивание по центру родительского окна|
WorkPoints=#5:doSet|6:doInit|
EventPoints=#4:next|6:intStr|5:value|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses KOL,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|7:private|6:public|33: intStr, value, next : THI_Event;|46: procedure doSet(var _Data:TData; Index:word);|47: procedure doInit(var _Data:TData; Index:word);|4:end;|0:|14:implementation|3:var|34: intTemp : Array[0..8] of integer;|0:|28:procedure THiAsmClass.doSet;|19:var i, j : integer;|5:begin|27: For i := 0 To 8 Do Begin|20: Inc(intTemp[i]);|36: j := 120 - (intTemp[i] mod 135);|27: _hi_onEvent(intStr, i);|26: _hi_onEvent(value, j);|41: If j = -14 Then _hi_onEvent(next, 1);|15: end; { For }|4:end;|0:|29:procedure THiAsmClass.doInit;|16:var i : integer;|5:begin|19: intTemp[0] := 0;|21: intTemp[1] := -15;|21: intTemp[2] := -30;|21: intTemp[3] := -45;|21: intTemp[4] := -60;|21: intTemp[5] := -75;|21: intTemp[6] := -90;|22: intTemp[7] := -105;|22: intTemp[8] := -120;|43: For i := 0 To 8 Do _hi_onEvent(next, 1);|4:end;|4:end.|
link(next,10578504:doEvent1,[(111,139)(111,125)])
link(intStr,9850800:doValue,[])
link(value,3762352:doEvent,[(110,153)(110,188)])
}
Add(Img_Text,16062379,196,224)
{
X=2
Font=[Times New Roman,9,1,8388608,204]
Text="2 - Система визуального проектирования"
link(Bitmap,4330895:Var1,[(202,163)])
link(Text,12426787:Var,[(209,220)(251,220)])
}
Add(GetDataEx,4330895,203,158)
{
link(Data,13259658:Bitmap,[])
}
Add(Math,16586927,392,119)
{
OpType=1
Op2=1
ResultType=0
link(onResult,16522694:doRead,[])
}
Add(Hub,7759138,21,56)
{
OutCount=5
link(onEvent1,10455765:doClear,[])
link(onEvent2,11500511:doData,[(282,69)(282,76)])
link(onEvent3,16433178:doEvent1,[(279,76)(279,160)])
link(onEvent4,8779013:doInit,[(59,83)(59,146)])
link(onEvent5,8509903:doTimer,[(103,90)(103,90)])
}
Add(Counter,8344649,350,119)
{
Min=1
Point(Max)
Point(doMax)
link(onNext,16586927:doOperation,[])
link(Max,10455765:Count,[(356,114)(356,114)])
}
Add(Img_Text,13422919,231,266)
{
X=2
Font=[Times New Roman,9,1,8388608,204]
Text="3 - Система визуального проектирования"
link(Bitmap,5270102:Var2,[])
link(Text,10645999:Var,[(244,262)(279,262)])
}
Add(LineBreak,8538683,392,294)
{
Caption="9"
Type=1
link(Data,5529231:Value,[])
Primary=[153828,-70,196]
}
Add(Img_Text,11975597,224,308)
{
X=2
Font=[Times New Roman,9,1,8388608,204]
Text="4 - Система визуального проектирования"
link(Bitmap,5270102:Var1,[(230,233)])
link(Text,10296896:Var,[(237,304)(286,304)])
}
Add(GetDataEx,5270102,231,228)
{
link(Data,4330895:Var3,[(237,163)])
}
Add(Img_Text,80230,259,350)
{
X=2
Font=[Times New Roman,9,1,8388608,204]
Text="5 - Система визуального проектирования"
link(Bitmap,9138691:Var2,[])
link(Text,11657824:Var,[(272,346)(300,346)])
}
Add(LineBreak,15991438,434,287)
{
Caption="8"
Type=1
link(Data,3508024:Value,[])
Primary=[10384774,-98,161]
}
Add(Img_Text,14441939,252,392)
{
X=2
Font=[Times New Roman,9,1,8388608,204]
Text="6 - Система визуального проектирования"
link(Bitmap,9138691:Var1,[(258,324)])
link(Text,8297954:Var,[(265,388)(307,388)])
}
Add(GetDataEx,9138691,259,319)
{
link(Data,5270102:Var3,[(265,233)])
}
Add(Img_Text,480395,287,434)
{
X=2
Font=[Times New Roman,9,1,8388608,204]
Text="7 - Система визуального проектирования"
link(Bitmap,15574659:Var2,[])
link(Text,15207012:Var,[(300,430)(328,430)])
}
Add(LineBreak,16155201,476,280)
{
Caption="7"
Type=1
link(Data,4314296:Value,[])
Primary=[15207012,-154,126]
}
Add(Img_Text,5577535,280,476)
{
X=2
Font=[Times New Roman,9,1,8388608,204]
Text="8 - Система визуального проектирования"
link(Bitmap,15574659:Var1,[(286,408)])
link(Text,10384774:Var,[(293,472)(342,472)])
}
Add(Img_Text,7036096,315,518)
{
X=2
Font=[Times New Roman,9,1,8388608,204]
Text="9 - Система визуального проектирования"
link(Bitmap,15574659:Var3,[(321,408)])
link(Text,153828:Var,[])
}
Add(GetDataEx,15574659,287,403)
{
link(Data,9138691:Var3,[(293,324)])
}
Add(StrList,10455765,343,49)
{
}
Add(ArrayRW,16522694,434,119)
{
link(onRead,5361857:doEvent,[(476,125)(476,190)(340,190)(340,202)])
link(Array,10455765:Array,[(440,107)(363,107)])
}
Add(Hub,10578504,287,119)
{
link(onEvent1,8344649:doNext,[])
link(onEvent2,996308:doNext,[(336,132)(336,160)])
}
Add(IndexToChanel,5361857,350,196)
{
Count=9
Point(Index)
link(onEvent1,12544423:doValue,[])
link(onEvent2,1632972:doValue,[])
link(onEvent3,13283275:doValue,[])
link(onEvent4,16143602:doValue,[])
link(onEvent5,15065847:doValue,[])
link(onEvent6,8565567:doValue,[])
link(onEvent7,4314296:doValue,[])
link(onEvent8,3508024:doValue,[])
link(onEvent9,5529231:doValue,[])
link(Index,996308:Count,[])
}
Add(Memory,5529231,392,252)
{
}
Add(Memory,3508024,434,245)
{
}
Add(Memory,4314296,476,238)
{
}
Add(Memory,8565567,518,231)
{
}
Add(Memory,15065847,560,224)
{
}
Add(Memory,16143602,602,217)
{
}
Add(Memory,13283275,644,210)
{
}
Add(Memory,1632972,686,203)
{
}
Add(Memory,12544423,728,196)
{
}
Add(LineBreak,3591969,728,238)
{
Caption="1"
Type=1
link(Data,12544423:Value,[])
Primary=[8776464,-483,-84]
}
Add(LineBreak,452471,686,245)
{
Caption="2"
Type=1
link(Data,1632972:Value,[])
Primary=[12426787,-441,-49]
}
Add(LineBreak,14297320,644,252)
{
Caption="3"
Type=1
link(Data,13283275:Value,[])
Primary=[10645999,-371,-14]
}
Add(LineBreak,15296241,602,259)
{
Caption="4"
Type=1
link(Data,16143602:Value,[(608,254)(608,261)])
Primary=[10296896,-322,21]
}
Add(LineBreak,12959556,560,266)
{
Caption="5"
Type=1
link(Data,15065847:Value,[])
Primary=[11657824,-266,56]
}
Add(Counter,996308,350,154)
{
Max=8
}
Add(Memory,9850800,119,140)
{
}
Add(IndexToChanel,3762352,119,182)
{
Count=9
Point(Index)
link(onEvent1,12256:doDraw,[(180,188)(180,188)])
link(onEvent2,16062379:doDraw,[(190,195)(190,230)])
link(onEvent3,13422919:doDraw,[(186,202)(186,272)])
link(onEvent4,11975597:doDraw,[(182,209)(182,314)])
link(onEvent5,80230:doDraw,[(177,216)(177,356)])
link(onEvent6,14441939:doDraw,[(172,223)(172,398)])
link(onEvent7,480395:doDraw,[(167,230)(167,440)])
link(onEvent8,5577535:doDraw,[(162,237)(162,482)])
link(onEvent9,7036096:doDraw,[(157,244)(157,524)])
link(Index,9850800:Value,[])
}
Add(DoData,11500511,287,70)
{
link(onEventData,10455765:doText,[(336,76)(336,76)])
link(Data,12125861:Text,[(293,64)])
}
END_SDK
Add(InlineCode,8779013,245,231)
{
@Hint=#41:Выравнивание по центру родительского окна|
WorkPoints=#5:doSet|
EventPoints=#6:onLeft|5:onTop|
DataPoints=#1:L|1:T|1:W|1:H|2:LW|2:LH|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses KOL,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|7:private|6:public|31: L, T, W, H, LW, LH: THI_Event;|18: onTop: THI_Event;|19: onLeft: THI_Event;|46: procedure doSet(var _Data:TData; Index:word);|4:end;|0:|14:implementation|3:var|32: ParentLeft, ParentTop: Integer;|36: ParentWidth, ParentHeight: Integer;|34: LocalWidth, LocalHeight: Integer;|0:|28:procedure THiAsmClass.doSet;|3:var|20: ResW, ResH: Real;|15: Data: TData;|5:begin|30: Data.Data_type := data_int;|19: Data.idata := 0;|39: ParentLeft := ReadInteger(data,L,0);|38: ParentTop := ReadInteger(data,T,0);|40: ParentWidth := ReadInteger(data,W,0);|41: ParentHeight := ReadInteger(data,H,0);|40: LocalWidth := ReadInteger(data,LW,0);|41: LocalHeight := ReadInteger(data,LH,0);|51: ResW := (ParentWidth-LocalWidth)/2 + ParentLeft;|52: ResH := (ParentHeight-LocalHeight)/2 + ParentTop;|27: _hi_onEvent(onTop,ResH);|28: _hi_onEvent(onLeft,ResW);|4:end;|4:end.|
link(onLeft,15446549:doLeft,[(295,237)(295,195)])
link(onTop,15446549:doTop,[(302,244)(302,202)])
link(L,2210700:Data3,[(251,75)])
link(T,2210700:Data4,[(258,71)])
link(W,2210700:Data5,[(265,66)])
link(H,2210700:Data6,[(272,60)])
link(LW,15446549:Width,[(279,219)(314,219)])
link(LH,15446549:Height,[(286,223)(321,223)])
}
Add(ActionSkin,12448163,98,161)
{
Width=256
Height=256
SkinFile="About_Main_Normal.bmp"
ActiveSkinFile="About_Main_Up.bmp"
DownSkinFile="About_Main_Down.bmp"
HandPoint=1
Point(doVisible)
Point(onRMouseDown)
link(onRMouseUp,9896524:doCase,[])
}
BEGIN_SDK
Add(DEBackground,13865547,0,0)
{
Width=256
Height=256
}
Add(AS_Control,9129735,97,215)
{
Width=62
Height=28
Name="close"
Cursor=2
}
Add(AS_Control,15821697,28,63)
{
Width=200
Height=113
Name="info"
Type=1
}
END_SDK
Add(Hub,55042,35,77)
{
OutCount=3
link(onEvent1,8779013:doSet,[(236,83)(236,237)])
link(onEvent2,1831536:doInit,[(82,90)(82,209)])
link(onEvent3,15446549:doVisible,[(300,97)(300,188)])
}
Add(Memo,1444614,196,98)
{
Left=265
Top=5
Width=200
Height=113
Visible=1
Strings=#33: Coordinator - программа для |32:ленивых координаторов Препресс. |35:Делает за них их работу. Позволяет |31:контролировать работу Workflow |28:и автоматизировать рутинные |27:процедуры его обслуживания.|32:Осуществляет мониторинг загрузки|31:процессоров других компьютеров |30:системы. Позволяет оперативно |30:освобождать полезное дисковое |24:пространство. Выполняет |33:администрирование интранет сайта.|0:|0:|0:|0:|
AddType=1
ReadOnly=0
}
Add(Hub,6557163,259,168)
{
link(onEvent1,1831536:doStop,[(296,174)(296,158)(88,158)(88,216)])
link(onEvent2,15446549:doClose,[])
}
END_SDK
Add(InfoTip,1154186,363,74)
{
Info=#5:About|
Font=[Arial,8,0,0,1]
HAlign=0
Width=127
Height=136
}
Add(Button,15785415,378,168)
{
Left=25
Top=20
Width=45
Font=[Arial,8,0,0,1]
Caption="About"
link(onClick,990376:doWork1,[])
}
Add(InfoTip,3927081,319,49)
{
Info=#28:HiAsm version 4.05 build 186|
Font=[Arial,8,0,0,1]
Frame=1
Width=197
Height=18
}
Add(SDKBtn,2695686,245,112)
{
Width=65
Script=#15:function Load()|3:end|0:|15:function Save()|3:end|0:|21:function SaveBefore()|21: Dim _Date as String|22: Dim _Title as String|25: Dim _strTitle as String|51: 'Date = net_Text("http://localhost/callDate.asp")|29: _Date = Time("D:M:Y h:m:s")|37: _Title = SDK.GetProp(18582, "Info")|84: _strTitle = Delete(_Title, Len(_Title) - Len(_Date), Len(_Date) + 1) + " " + _Date|39: sdk.SetProp(18582, "Info", _strTitle)|3:end|0:|16:function Click()|17: Dim num as Real|19: Dim ver as String|21: Dim Title as String|24: Dim strTitle as String|46: num = Real(SDK.GetProp(11511461, "Version"))|50: SDK.SetProp(11511461, "Version", Str(num+0.001))|40: ver = SDK.GetProp(11511461, "Version")|49: SDK.SetProp(4061237, "Default", Str(num+0.001))|46: Name = SDK.GetProp(11511461, "InternalName")|45: SDK.SetProp(12774542, "Default", Str(Name))|35: Title = SDK.GetProp(3786, "Info")|75: strTitle = Delete(Title, Len(Title) - Len(ver), Len(ver) + 1) + " " + ver|37: SDK.SetProp(3786, "Info", strTitle)|57: SDK.SetProp(3927081, "Info", "HiAsm version " + CurVer)|3:end|
Caption="IncVersion"
}

Редактировалось 1 раз(а), последний 2019-03-09 18:40:32
карма: 22

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#15: 2019-03-09 22:42:18 ЛС | профиль | цитата
А вот что-то типа этого, КМК, просил Aziz. После нажатия на "Компиляция" на единицу увеличивается версия в компонентах Version и Label.
Для наглядности идентификаторы и текст Label выведены в отдельные переменные

Схема

Add(MainForm,2953706,217,49)
{
}
Add(Label,6009454,266,91)
{
Left=25
Top=15
Width=140
Height=25
Font=[MS Sans Serif,12,1,0,1]
Caption="Version -- 1.13"
AutoSize=1
AddHint(40,34,83,13,Caption)
}
Add(ScriptEvents,88089,217,133)
{
Script=#26:Function CmdEvent(Command)|26: If Command = "build" Then|0:|27: Dim ID_Version as Integer|27: Dim ID_Label as Integer|26: Dim stCaption as String|0:|23: ID_Version = 11511461|22: ID_Label = 6009454|29: stCaption = "Version -- " |0:|90: SDK.SetProp(ID_Version, "Version", Str(Real(SDK.GetProp(ID_Version, "Version")) + 0.01))|82: SDK.SetProp(ID_Label, "Caption", stCaption + SDK.GetProp(ID_Version, "Version"))|0:|7: End If|13:End |
}
Add(Version,11511461,217,91)
{
Version="1.13"
Description="Test Auto Increment Version"
InternalName="Auto Increment Version"
E-mail="nesco_sochi@mail.ru"
AddHint(-75,34,36,13,Version)
}


--- Добавлено в 2019-03-09 23:25:01

Nic, не подскажешь, где можно найти весь список команд среды? Или в редакторе команд и есть весь список?

Редактировалось 4 раз(а), последний 2019-03-10 22:27:31
карма: 22

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