This repository was archived by the owner on Apr 24, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathIBM_ACS_API_Extended_UDF.au3
140 lines (120 loc) · 5.16 KB
/
IBM_ACS_API_Extended_UDF.au3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#cs # IBM_ACS_Extended_UDF # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Name..................: IBM_ACS_Extended_UDF
Description...........: Extended UDF for 'IBM i Access Client Solution' API
Dependencies..........: IBM_ACS_API_Core_UDF.au3, corresponding DLLs
Documentation.........: https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_71/rzaik/rzaikemulator.htm
https://www.ibm.com/support/knowledgecenter/SSEQ5Y_6.0.0/com.ibm.pcomm.doc/books/html/emulator_programming08.htm
Author................: exorcistas@github.com
Modified..............: 2020-01-03
Version...............: v0.3.1rc
#ce ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#AutoIt3Wrapper_UseX64=n ;-- required to run in 32bit environment
#include-once
#include <IBM_ACS_API_Core_UDF.au3>
#Region FUNCTIONS_LIST
#cs ===================================================================================================================================
_IBMACS_Ext_ConnectSession($_sSession = "A")
_IBMACS_Ext_DisconnectSession($_sSession = "A")
_IBMACS_Ext_GetText($_iRow, $_iCol, $iLength)
_IBMACS_Ext_SetText($_sString, $_iRow, $_iCol)
_IBMACS_Ext_SendKeyAndWait($_sKey)
_IBMACS_Ext_SendReset()
_IBMACS_Ext_SendEnter()
_IBMACS_Ext_SendFunctionKey($_iFnKey)
_IBMACS_Ext_EraseField($_iRow = 0, $_iCol = 0)
#ce ===================================================================================================================================
#EndRegion FUNCTIONS_LIST
#Region IBM_ACS_EXTENDED_FUNCTIONS
Func _IBMACS_Ext_ConnectSession($_sSession = "A")
_IBMACS_OpenDll()
If @error Then Return SetError(@error, @extended, False)
_IBMACS_ConnectPresentationSpace($_sSession, True)
If @error Then Return SetError(@error, @extended, False)
_IBMACS_Wait()
Return True
EndFunc
Func _IBMACS_Ext_DisconnectSession($_sSession = "A")
_IBMACS_Wait()
_IBMACS_ConnectPresentationSpace($_sSession, False)
If @error Then Return SetError(@error, @extended, False)
_IBMACS_CloseDll()
If @error Then Return SetError(@error, @extended, False)
Return True
EndFunc
Func _IBMACS_Ext_GetText($_iRow, $_iCol, $iLength)
$_sString = _IBMACS_CopyFieldToString($_iRow, $_iCol, $iLength)
If @error Then Return SetError(@error, @extended, False)
Return $_sString
EndFunc
Func _IBMACS_Ext_SetText($_sString, $_iRow, $_iCol)
_IBMACS_CopyStringToField($_sString, $_iRow, $_iCol)
If @error Then Return SetError(@error, @extended, False)
Return True
EndFunc
Func _IBMACS_Ext_SendKeyAndWait($_sKey)
_IBMACS_Wait()
_IBMACS_SendKey($_sKey)
If @error Then Return SetError(@error, @extended, False)
_IBMACS_Wait()
Return True
EndFunc
Func _IBMACS_Ext_SendReset()
_IBMACS_Ext_SendKeyAndWait("@R")
If @error Then Return SetError(@error, @extended, False)
Return True
EndFunc
Func _IBMACS_Ext_SendEnter()
_IBMACS_Ext_SendKeyAndWait("@E")
If @error Then Return SetError(@error, @extended, False)
Return True
EndFunc
Func _IBMACS_Ext_SendFunctionKey($_iFnKey)
Switch $_iFnKey
Case 1 To 9
_IBMACS_Ext_SendKeyAndWait("@" & $_iFnKey)
Case 10
_IBMACS_Ext_SendKeyAndWait("@a")
Case 11
_IBMACS_Ext_SendKeyAndWait("@b")
Case 12
_IBMACS_Ext_SendKeyAndWait("@c")
Case 13
_IBMACS_Ext_SendKeyAndWait("@d")
Case 14
_IBMACS_Ext_SendKeyAndWait("@e")
Case 15
_IBMACS_Ext_SendKeyAndWait("@f")
Case 16
_IBMACS_Ext_SendKeyAndWait("@g")
Case 17
_IBMACS_Ext_SendKeyAndWait("@h")
Case 18
_IBMACS_Ext_SendKeyAndWait("@i")
Case 19
_IBMACS_Ext_SendKeyAndWait("@j")
Case 20
_IBMACS_Ext_SendKeyAndWait("@k")
Case 21
_IBMACS_Ext_SendKeyAndWait("@l")
Case 22
_IBMACS_Ext_SendKeyAndWait("@m")
Case 23
_IBMACS_Ext_SendKeyAndWait("@n")
Case 24
_IBMACS_Ext_SendKeyAndWait("@o")
Case Else
Return SetError(25, 0, False)
EndSwitch
If @error Then Return SetError(@error, @extended, False)
Return True
EndFunc
Func _IBMACS_Ext_EraseField($_iRow = 0, $_iCol = 0)
If NOT (($_iRow = 0) AND ($_iCol = 0)) Then
_IBMACS_SetCursor($_iRow, $_iCol)
If @error Then Return SetError(100+@error, @extended, False)
EndIf
_IBMACS_Ext_SendKeyAndWait("@F")
If @error Then Return SetError(200+@error, @extended, False)
Return True
EndFunc
#EndRegion IBM_ACS_EXTENDED_FUNCTIONS