<< Click to Display Table of Contents >> Navigation: 3. Script Language > ! User-Macros > ! Smart Package Robot 's Script language |
Sample Code
Testing-Lib.mrt
These Macro-Commands are just Samples that i use to test new features of the SPR automatically..
To use this Library in your Script you can copy the file into your Project folder and add the following Line at the end of your Script-Code.
You will also need the Label: Lab_failed somewhere in your Script.
#INC:Testing-Lib.mrt
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
' Point-Convert Commands-Library
'
'SPR Script-file: Sample-Macros
'Purpose:
'Author: TEOT\Theo
'Creation date: 01-12-2017 at 16:01:51
'===========================================================
#ONCE:T_Macros
'-----------------------------------------------------------
' P1 - Variable die leer sein muß
: %Test_if_Len 1
#IF PARAMS=1
SAV.Save|$$TEA
LEN.§§§01|$$TEA
%JNZ_RRS $$TEA|Lab_failed
SAV.Restore
#ELS
MBX.Benötige hier einen Parameter!
END.
#EIF
END%
'-----------------------------------------------------------
' P1 - Variable zu testen
' P2 - erwartetes Vale
'
: %Test_if_Value 2
#IF PARAMS=2
SAV.Save|$$TEA
VAO.$$TEA=§§§02
JIV.§§§01!$$TEA|Lab_failed
SAV.Restore
#ELS
MBX.Benötige hier zwei Parameter!
END.
#EIF
END%
'-----------------------------------------------------------
' Goto mit Reset Return Stack
: %GRS 1
#IF PARAMS=1
RRS.
GTO.§§§01
#ELS
MBX.Benötige hier einen Parameter!
END.
#EIF
END%
'-----------------------------------------------------------
' JNZ mit Reset Return Stack
: %JNZ_RRS 2
#IF PARAMS=2
IVV.§§§01!0
RRS.
GTO.§§§02
EIF.
#ELS
MBX.Benötige hier zwei Parameter!
END.
#EIF
END%
'-----------------------------------------------------------
' JIV mit Reset Return Stack
: %JIV_RRS 3
#IF PARAMS=3
IVV.§§§01!§§§02
RRS.
GTO.§§§03
EIF.
#ELS
MBX.Benötige hier drei Parameter!
END.
#EIF
END%
'-----------------------------------------------------------
: %T_RunTestApp
GSB.T_RunTestApp
END%
:T_RunTestApp
SAV.Save|$$PAT
$$PAT=?exepath\TestApp_01.exe
NEF.$$PAT
$$MSG=Kann $$PAT nicht starten.
END.
EIF.
STW.Xctwg|PBWindowClass:0|TestApp|0|Lab_ova
EXE.$$PAT
:Lab_ova
STW.ct|PBWindowClass:0|TestApp
SWP.0,0
SAV.Restore
RET.
'-----------------------------------------------------------
: %Loc_Top
GSB.Loc_Top
END%
:Loc_Top
IEW.$$MYT
STW.h|$$MYT
ELS.
STW.ct|PBWindowClass:0|TestApp
HTV.$$MYT
EIF.
'SWP.0,0||T
SWP.1448,777||T
RET.
'-----------------------------------------------------------
: %T_CloseTestApp
GSB.T_CloseTestApp
END%
:T_CloseTestApp
STW.Xctwo|PBWindowClass:0|TestApp|0|Lab_ovb
CLW.
:Lab_ovb
STW.Xctwg|PBWindowClass:0|TestApp|0|T_CloseTestApp
SAV.Restore
RET.
'-----------------------------------------------------------
' Testet ob lokalisiertes Textfeld leer ist
: %T_Test_Empty
GSB.T_Test_Empty
END%
:T_Test_Empty
SAV.Save|$$RES
CFW.$$RES
JIS.$$RES|Lab_failed
SAV.Restore
RET.
'-----------------------------------------------------------
: %T_Test_Text 1
#IF PARAMS=1
GSB.T_Test_Text|§§§01
#ELS
MBX. Need 1 Parameter here!
END.
#EIF
END%
:T_Test_Text
SAV.Save|$$RES
CFW.$$RES
JIS.$$RES!§§_01|Lab_failed
SAV.Restore
RET.
'-----------------------------------------------------------
'-----------------------------------------------------------
: %GRI_to_Time 1
#IF PARAMS=0
MBX.Need 1 Parameter here!
END.
#EIF
#IF PARAMS=1
GSB.GRI_to_Time|§§§01
#EIF
#IF PARAMS=2
GSB.GRI_to_Time|§§§01|§§§02
#EIF
#IF PARAMS>2
MBX.Need 1 Parameter here!
END.
#EIF
END%
'-----------------------------------------------------------
' Here is the Needed Subroutine
'-----------------------------------------------------------
' Wandelt die Rückgabe von GRI in eine Zeit um
:GRI_to_Time
SAV.Save|$$P01|$$P02|$$P03
VAR.$$P01=§§_01
SBD.$$P01|$sp$|2|$$P02
CAL.$$P03=$$P02/1656527/10/3
IVV.§§_00>1
VAI.§§_02=$$P03
ELS.
PUV.$$P03
EIF.
SAV.Restore
RET.
'-----------------------------------------------------------
' P1 - Label - Zeile darunter wird gemessen
' P2 - Variable for Result
'
: %T_GetLinetime 2
#IF PARAMS=2
GSB.T_GetLinetime|§§§01|§§§02
#ELSE
MBX.Need 2 Params here!
#EIF
END%
:T_GetLinetime
SAV.Save|$$P04|$$P05
VAO.$$P05=
GRI.§§_01|1|$$P04
%GRI_to_Time $$P04|§§_02
SAV.Restore
RET.
'-----------------------------------------------------------
' Ohne Parameter wird Editfeld 1023 lokalisiert, sonst das Feld mit der angegebenen ID
: %Loc_Edit
#IF PARAMS=0
GSB.Loc_Edit
#EIF
#IF PARAMS=1
GSB.Loc_Edit|§§§01
#EIF
#IF PARAMS>1
MBX.More Params are not supported (§§§00)(§§§01)!
END.
#EIF
END%
:Loc_Edit
SAV.Save|$$PAA|$$PAB
VAN.$$PAA=§§_00
IVV.$$PAA=1
$$PAB=§§_01
EIF.
%Loc_Top
IVV.$$PAA=1
SCW.nic|1|$$PAB|Edit
ELS.
IEW.$$MYC
SCW.h|$$MYC
ELS.
SCW.nic|1|1023|Edit
HTV.$$MYC
EIF.
EIF.
SAV.Restore
RET.
'-----------------------------------------------------------
: %ShowText 1
GSB.ShowText|§§§01
END%
'-----------------------------------------------------------
:ShowText
MPO.0,0
SBT.$$_01|MP: T:5 FS:24 AX:100 AY:100
RET.
'-----------------------------------------------------------
' Clear Diagnose-Text in Testapp
: %Dia_Clear
GSB.Lab_Dia_Clear
END%
:Lab_Dia_Clear
SAV.Save|$$OLD|$$TXT
HTV.$$OLD
STW.ct|PBWindowClass:0|TestApp
SCW.nict|1|1000|Button|C
MLE.
GCT.
SCW.nic|1|1008|Edit
%T_Test_Empty
SCW.h|$$OLD
SAV.Restore
RET.
'-----------------------------------------------------------
' Testet ob im Diagnosefenster der Text enthalten ist
: %Contains 1
GSB.Lab_Contains|§§§01
END%
:Lab_Contains
SAV.Save|$$OLD|$$TXT
HTV.$$OLD
STW.ct|PBWindowClass:0|TestApp
SCW.nic|1|1008|Edit
CFW.$$TXT
NVC.$$TXT=§§_01
GTO.Lab_failed
EIF.
SCW.h|$$OLD
SAV.Restore
RET.
'-----------------------------------------------------------
: %Contains_Clear 1
%Contains §§§01
%Dia_Clear
END%
'-----------------------------------------------------------
: %Test_Coords 1
SAV.Save|$$REC|$$XAA|$$XAB|$$MAP
GES.b|§§§01|,|$$XAA
GES.d|§§§01|,|$$XAB
GSB.Test_Coords|$$XAA|$$XAB
SAV.Restore
END%
:Test_Coords
GMP.at|$$REC
DBP.$$REC
VAP.$$MAP=§§_01,§§_02
JIS.$$REC!$$MAP|Lab_failed
RET.
'-----------------------------------------------------------
ENR.
'===========================================================
#OEND