Sign in to follow this  
Followers 0
MarcoCastro

Translate code from VB to Autoit....

5 posts in this topic

Can help me with this code, was create in VB....... and i need the same in autoit. The scrip run in as400, and autoit is faster than change of screen. Please help.

Sub Macro3() 
' 
' Generated by the Reflection Macro Recorder on 05-25-2007  16:14:11.42 
' Generated by WRQ Reflection for IBM for Windows 12.0.185 
' 

    With Session 
    
    Dim i As Integer 

For i = 1 To 100 
        .WaitForEvent rcEnterPos, "30", "0", 10, 4 
        .WaitForDisplayString "?", "30", 10, 2 
        .TransmitTerminalKey rcIBMDownKey 
        .TransmitTerminalKey rcIBMLeftKey 
        .TransmitTerminalKey rcIBMLeftKey 
        .TransmitANSI "c" 
        .TransmitTerminalKey rcIBMEnterKey 
        .WaitForEvent rcKbdEnabled, "30", "0", 1, 1 
        .WaitForEvent rcEnterPos, "30", "0", 7, 17 
        .WaitForDisplayString ".", "30", 7, 13 
        .TransmitTerminalKey rcIBMTabKey 
        .TransmitANSI "blk" 
        .TransmitTerminalKey rcIBMEnterKey 
        .WaitForEvent rcKbdEnabled, "30", "0", 1, 1 
        .WaitForEvent rcEnterPos, "30", "0", 7, 17 
        .WaitForDisplayString ".", "30", 7, 13 
        .TransmitTerminalKey rcIBMF3Key 
        .WaitForEvent rcKbdEnabled, "30", "0", 1, 1 
        .WaitForEvent rcEnterPos, "30", "0", 11, 2 
        .TransmitTerminalKey rcIBMUpKey 
        .TransmitTerminalKey rcIBMRightKey 
        .TransmitTerminalKey rcIBMRightKey 
        .TransmitTerminalKey rcIBMEnterKey 
        .WaitForEvent rcKbdEnabled, "30", "0", 1, 1 
        .WaitForEvent rcEnterPos, "30", "0", 10, 4 
        .WaitForDisplayString "?", "30", 10, 2 
        .TransmitTerminalKey rcIBMDownKey 
        .TransmitTerminalKey rcIBMUpKey 
    
    Next 
    End With 
End Sub

Share this post


Link to post
Share on other sites



Well, this will get you closer. But you didn't define 'session'. So I made it an object passed into the function. When you call this function, it you will have to get your object first then pass it to the function:

$objApp = ObjCreate(SomeFunky.Application)
$objSess = ObjGet($objApp.Session)

Macro3($objSess)

Func Macro3($Session)
    Local $i
    For $i = 1 To 100
        With $Session
            .WaitForEvent rcEnterPos, "30", "0", 10, 4
            .WaitForDisplayString "?", "30", 10, 2
            .TransmitTerminalKey rcIBMDownKey
            .TransmitTerminalKey rcIBMLeftKey
            .TransmitTerminalKey rcIBMLeftKey
            .TransmitANSI "c"
            .TransmitTerminalKey rcIBMEnterKey
            .WaitForEvent rcKbdEnabled, "30", "0", 1, 1
            .WaitForEvent rcEnterPos, "30", "0", 7, 17
            .WaitForDisplayString ".", "30", 7, 13
            .TransmitTerminalKey rcIBMTabKey
            .TransmitANSI "blk"
            .TransmitTerminalKey rcIBMEnterKey
            .WaitForEvent rcKbdEnabled, "30", "0", 1, 1
            .WaitForEvent rcEnterPos, "30", "0", 7, 17
            .WaitForDisplayString ".", "30", 7, 13
            .TransmitTerminalKey rcIBMF3Key
            .WaitForEvent rcKbdEnabled, "30", "0", 1, 1
            .WaitForEvent rcEnterPos, "30", "0", 11, 2
            .TransmitTerminalKey rcIBMUpKey
            .TransmitTerminalKey rcIBMRightKey
            .TransmitTerminalKey rcIBMRightKey
            .TransmitTerminalKey rcIBMEnterKey
            .WaitForEvent rcKbdEnabled, "30", "0", 1, 1
            .WaitForEvent rcEnterPos, "30", "0", 10, 4
            .WaitForDisplayString "?", "30", 10, 2
            .TransmitTerminalKey rcIBMDownKey
            .TransmitTerminalKey rcIBMUpKey
        EndWith
    Next
EndFunc   ;==>Macro3

:)


Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law

Share this post


Link to post
Share on other sites

.WaitForEvent rcEnterPos, "30", "0", 10, 4oÝ÷ ÚÈhºW[y«­¢+ع]¥Ñ½ÉٹСɹÑÉA½Ì°ÅÕ½ÐìÌÀÅÕ½Ðì°ÅÕ½ÐìÀÅÕ½Ðì°ÄÀ°Ð¤

with parentheses if it's function

Share this post


Link to post
Share on other sites

Well, this will get you closer. But you didn't define 'session'. So I made it an object passed into the function. When you call this function, it you will have to get your object first then pass it to the function:

$objApp = ObjCreate(SomeFunky.Application)
$objSess = ObjGet($objApp.Session)

Macro3($objSess)

Func Macro3($Session)
    Local $i
    For $i = 1 To 100
        With $Session
            .WaitForEvent rcEnterPos, "30", "0", 10, 4
            .WaitForDisplayString "?", "30", 10, 2
            .TransmitTerminalKey rcIBMDownKey
            .TransmitTerminalKey rcIBMLeftKey
            .TransmitTerminalKey rcIBMLeftKey
            .TransmitANSI "c"
            .TransmitTerminalKey rcIBMEnterKey
            .WaitForEvent rcKbdEnabled, "30", "0", 1, 1
            .WaitForEvent rcEnterPos, "30", "0", 7, 17
            .WaitForDisplayString ".", "30", 7, 13
            .TransmitTerminalKey rcIBMTabKey
            .TransmitANSI "blk"
            .TransmitTerminalKey rcIBMEnterKey
            .WaitForEvent rcKbdEnabled, "30", "0", 1, 1
            .WaitForEvent rcEnterPos, "30", "0", 7, 17
            .WaitForDisplayString ".", "30", 7, 13
            .TransmitTerminalKey rcIBMF3Key
            .WaitForEvent rcKbdEnabled, "30", "0", 1, 1
            .WaitForEvent rcEnterPos, "30", "0", 11, 2
            .TransmitTerminalKey rcIBMUpKey
            .TransmitTerminalKey rcIBMRightKey
            .TransmitTerminalKey rcIBMRightKey
            .TransmitTerminalKey rcIBMEnterKey
            .WaitForEvent rcKbdEnabled, "30", "0", 1, 1
            .WaitForEvent rcEnterPos, "30", "0", 10, 4
            .WaitForDisplayString "?", "30", 10, 2
            .TransmitTerminalKey rcIBMDownKey
            .TransmitTerminalKey rcIBMUpKey
        EndWith
    Next
EndFunc   ;==>Macro3

:)

Thanks , session? i work with "Wmsp.rsf", my english is bad. Can you replace in the code my session? Thanks to all.

Share this post


Link to post
Share on other sites

should be:

.WaitForEvent (rcEnterPos, "30", "0", 10, 4)oÝ÷ Û­«z{azǬø­ßÛºw-ÿªê-xj(v"Ò-)äêÞ}êÞȧÊ'²Ö§¶ÉbëazG²r^±úè­ë,yÕ¢¶ajا)Ý"·¡×ëb¶+,)eæ«j{^yÙè¶Ú0¢¹,w"¯zz"uæ°«Z¦+^²Øb²«¨¶Ç¬²*'ªê-¡¸ÞrÛ§²êÞ|°k(^­íý²Ø^r©ë^,"Ø.zË·Z¶+p¢é]$)ü§Z(y¬!jÜÁêÞµ©dxn­jëh×6; Declare constants for keyboard actions
Global Const $rcIBMTabKey = 0x09
Global Const $rcIBMEnterKey = 0x0D
Global Const $rcIBMLeftKey = 0x25
Global Const $rcIBMUpKey = 0x26
Global Const $rcIBMRightKey = 0x27
Global Const $rcIBMDownKey = 0x28
Global Const $rcIBMF3Key = 0x72

; Constants for keyboard events
Global Const $rcEnterPos = "0x???"
Global Const $rcKbdEnabled = "0x???"

$objApp = ObjCreate(SomeFunky.Application)
$objSess = ObjGet($objApp.Session)

Macro3($objSess)

Func Macro3($Session)
    Local $i
    For $i = 1 To 100
        With $Session
            .WaitForEvent ($rcEnterPos, "30", "0", 10, 4)
            .WaitForDisplayString ("?", "30", 10, 2)
            .TransmitTerminalKey ($rcIBMDownKey)
            .TransmitTerminalKey ($rcIBMLeftKey)
            .TransmitTerminalKey ($rcIBMLeftKey)
            .TransmitANSI ("c")
            .TransmitTerminalKey ($rcIBMLeftKey)
            .WaitForEvent ($rcKbdEnabled, "30", "0", 1, 1)
            .WaitForEvent ($rcEnterPos, "30", "0", 7, 17)
            .WaitForDisplayString (".", "30", 7, 13)
            .TransmitTerminalKey ($rcIBMTabKey)
            .TransmitANSI ("blk")
            .TransmitTerminalKey ($rcIBMEnterKey)
            .WaitForEvent ($rcKbdEnabled, "30", "0", 1, 1)
            .WaitForEvent ($rcEnterPos, "30", "0", 7, 17)
            .WaitForDisplayString (".", "30", 7, 13)
            .TransmitTerminalKey ($rcIBMF3Key)
            .WaitForEvent ($rcKbdEnabled, "30", "0", 1, 1)
            .WaitForEvent ($rcEnterPos, "30", "0", 11, 2)
            .TransmitTerminalKey ($rcIBMUpKey)
            .TransmitTerminalKey ($rcIBMRightKey)
            .TransmitTerminalKey ($rcIBMRightKey)
            .TransmitTerminalKey ($rcIBMEnterKey)
            .WaitForEvent ($rcKbdEnabled, "30", "0", 1, 1)
            .WaitForEvent ($rcEnterPos, "30", "0", 10, 4)
            .WaitForDisplayString ("?", "30", 10, 2)
            .TransmitTerminalKey ($rcIBMDownKey)
            .TransmitTerminalKey ($rcIBMUpKey)
        EndWith
    Next
EndFunc   ;==>Macro3

Your original code posted had:

With Session

And the references below that look like methods from a keyboard control object. All of those "rcIBM..." references are constants of keyboard codes for keys (I'm guessing). So I interpreted them that way at the top. But that's a complete guess.

This is clearly not all of the code. Only YOU know what object is being used and YOU haven't chosen to share that with us... :)


Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0