Industry Online Support
Technical Forum
1/5/2007 3:31 PM | |
Posts: 3149 Rating: (171)
|
Hi unfortunately I don´t have protool on my system, but perhaps does the following FAQ contain a usefull script? http://support.automation.siemens.com/WW/view/en/8795456 nemo |
1/10/2007 11:25 AM | |
Posts: 7 Rating: (1) |
Hi Nemo! I have readed your example. Sorry, but it isn't solution for my problem. Inside the example project was used the DatePart function which is built in vbscript function. ------------------------------------------------------------------------------------------- DatePart(interval,date[,firstdayofweek[,firstweekofyear]]) ------------------------------------------------------------------------------------------- And its useage: ------------------------------------------------------------------------------------------- Sub SCRIPT_1() Dim Current_time Current_time = Now cHour = DatePart ("h", Current_time) cMinute = DatePart ("n", Current_time) cSecond = DatePart ("s", Current_time) cYear = DatePart ("yyyy", Current_time) cMonth = DatePart ("m",Current_time) cDay = DatePart ("d", Current_time) End Sub ------------------------------------------------------------------------------------------- As you can see SCRIPT_1 function has the original problem itself, because it modify several global variables (like cHour, cMinute etc.) in wired method. So you can't use SCRIPT_1 if you want to modify for example my_cHour, my_cMinute variables. (You must make a copy from SCRIPT_1, and replace variable names) if you familiar with C i show an example what i would like to implement. You can compile it with gcc. (SomethingLikeThis.c) AttachmentSomethingLikeThis.c.zip (454 Downloads) |
1/10/2007 11:34 AM | |
Posts: 7 Rating: (1) |
I have found another dead-end. In vbscript there is a function what can execute a string as a vbscript code it name is Execute [:D]. So i have modified the prototype of my function to the following in pure vbscript: (ProblemNonSolution2.vbs) My first try to use vbscript ByRef feature in pure vbscript: (ProblemNonSolution1.vbs) In Protool: ------------------------------------------------------------------------------------------- Sub CalculateMarkerPos(Furnace, PosX, PosY) Select Case Furnace Case "Furnace1" Execute(PosX&" = 0") Execute(PosY&" = 0") Case "Furnace2" Execute(PosX&" = 124") Execute(PosY&" = 45") Case "Furnace3" Execute(PosX&" = 519") Execute(PosY&" = 17") End Select End Sub And its usage: ------------------------------------------------------------------------------------------- Call PtScp.CalculateMarkerPos("Furnace1", "FromSignX", "FromSignY") Call PtScp.CalculateMarkerPos("Furnace3", "ToSignX", "ToSignY") ------------------------------------------------------------------------------------------- Now this function has a valid header and it can be made in Protool except the Execute function, because it is forbidden in the Protool's embedded scripting engine. AttachmentProblemNonSolution1,2.vbs.zip (461 Downloads) |
This contribution was helpful to1 thankful Users |
Follow us on