Sign in to follow this  
Followers 0
Jex

Immediate Window

1 post in this topic

#1 ·  Posted (edited)

Posted Image

This is an Immediate Window for debugging purposes.

While script is running you will pause script and see variables or can change variables.

If Immediate function called, script pause and open Immediate window.

Commands :

?Variable (For see variable value)

Example : ?Variable123

Example 2 : ? $Variable123

Example 3 : ?$VarA * $VarB / 5 + $VarA & 3 - $VarC

Result :?$VarA * $VarB / 5 + $VarA & 3 - $VarC = 790

Example 4 : ?5 + 15 * $VarC & 1 - $VarA & Test

Result : ?5 + 15 * $VarC & 1 - $VarA & Test = 153796Test

!Variable NewVariable (For change variable value)

Example : !Variable 1234

Example 2 : !Variable $Variable2

Example 3 = !$Variable $Variable3

Function :

#include <Misc.au3>

Func Immediate()
    Local $iError, $Eval, $z, $iVar[20], $io[20], $Place[20], $Result[20]

    $Immediate = GUICreate("Immediate Window", 400, 325)
    $iEdit = GUICtrlCreateEdit("", 0, -1, 400, 305)
    $iInput = GUICtrlCreateInput("", 0, 304, 400, 21)
    GUISetState(@SW_SHOW, $Immediate)
    ControlFocus($Immediate, "", "Edit2")

    While 1
        If GUIGetMsg() = -3 Then
            GUIDelete($Immediate)
            ExitLoop
        EndIf
        If _IsPressed("0D") And WinActive($Immediate) And ControlGetFocus($Immediate) = "Edit2"  Then
            $iText = ControlGetText($Immediate, "", "Edit2")
            If $iText Then
                If StringLeft($iText, 1) = "?"  Then
                    $iText2 = StringTrimLeft($iText, 1)
                    $iText2 = StringStripWS($iText2, 1)
                    For $i = 1 To StringLen($iText2)
                        If StringMid($iText2, $i, 1) = "+"  Or StringMid($iText2, $i, 1) = "-"  Or StringMid($iText2, $i, 1) = "*"  Or StringMid($iText2, $i, 1) = "/"  Or StringMid($iText2, $i, 1) = "&"  Then
                            $z += 1
                            If $z = 1 Then
                                $iVar[$z] = StringMid($iText2, 1, $i - 1)
                            Else
                                $iVar[$z] = StringMid($iText2, $Place[$z - 1], $i - $Place[$z - 1])
                            EndIf
                            $iVar[$z] = StringStripWS($iVar[$z], 3)
                            $io[$z] = StringMid($iText2, $i, 1)
                            $Place[$z] = $i + 1
                            If StringLeft($iVar[$z], 1) = "$"  Then $iVar[$z] = Eval(StringTrimLeft($iVar[$z], 1))
                        EndIf
                    Next
                    $iVar[$z + 1] = StringStripWS(StringMid($iText2, $Place[$z], $z - $Place[$z]), 3)
                    If StringLeft($iVar[$z + 1], 1) = "$"  Then $iVar[$z + 1] = Eval(StringTrimLeft($iVar[$z + 1], 1))
                    For $i = 1 To $z
                        If $io[$i] = "+"  Then
                            If $i = 1 Then
                                $Result[$i] = $iVar[$i] + $iVar[$i + 1]
                            Else
                                $Result[$i] = $Result[$i - 1] + $iVar[$i + 1]
                            EndIf
                        ElseIf $io[$i] = "-"  Then
                            If $i = 1 Then
                                $Result[$i] = $iVar[$i] - $iVar[$i + 1]
                            Else
                                $Result[$i] = $Result[$i - 1] - $iVar[$i + 1]
                            EndIf
                        ElseIf $io[$i] = "*"  Then
                            If $i = 1 Then
                                $Result[$i] = $iVar[$i] * $iVar[$i + 1]
                            Else
                                $Result[$i] = $Result[$i - 1] * $iVar[$i + 1]
                            EndIf
                        ElseIf $io[$i] = "/"  Then
                            If $i = 1 Then
                                $Result[$i] = $iVar[$i] / $iVar[$i + 1]
                            Else
                                $Result[$i] = $Result[$i - 1] / $iVar[$i + 1]
                            EndIf
                        ElseIf $io[$i] = "&"  Then
                            If $i = 1 Then
                                $Result[$i] = $iVar[$i] & $iVar[$i + 1]
                            Else
                                $Result[$i] = $Result[$i - 1] & $iVar[$i + 1]
                            EndIf
                        EndIf
                    Next
                    If $z = "" Then
                        If StringLeft($iText2, 1) = "$"  Then $iText2 = StringTrimLeft($iText2, 1)
                        $Eval = Eval($iText2)
                        If @error Then $iError = 1
                    Else
                        $Eval = $Result[$z]
                    EndIf
                    If @error Then
                        $iError = $iText
                    Else
                        GUICtrlSetData($iEdit, GUICtrlRead($iEdit) & $iText & " = " & $Eval & @CRLF)
                    EndIf
                ElseIf StringLeft($iText, 1) = "!"  Then
                    $iText2 = StringTrimLeft($iText, 1)
                    $iText2 = StringStripWS($iText2, 1)
                    $String = StringInStr($iText2, " ")
                    If @error Then $iError = $iText
                    $Left = StringTrimRight($iText2, StringLen($iText2) - $String + 1)
                    If StringLeft($Left, 1) = "$"  Then $Left = StringTrimLeft($Left, 1)
                    $Right = StringTrimLeft($iText2, $String)
                    If StringLeft($Right, 1) = "$"  Then $Right = Eval(StringTrimLeft($Right, 1))
                    Assign($Left, $Right)
                    If @error Or $iError Then
                        $iError = $iText
                    Else
                        GUICtrlSetData($iEdit, GUICtrlRead($iEdit) & $iText & @CRLF)
                    EndIf
                Else
                    $iError = $iText
                EndIf
                If $iError Then GUICtrlSetData($iEdit, GUICtrlRead($iEdit) & "Error : " & $iError & @CRLF)
                GUICtrlSetData($iInput, "")
                $Eval = ""
                $iError = ""
                $z = ""
            EndIf
        EndIf
        Sleep(10)
    WEnd
EndFunc   ;==>ImmediateoÝ÷ Ù±1jje{SëzËjënëm¢wè®^¦yصì"Ú0ý¶®¶­sb6æ6ÇVFRfÇC´uT6öç7FçG2æS2fwC°¢6æ6ÇVFRfÇC´Ö62æS2fwC° ¤÷D¶W6WBgV÷C·µU4WÒgV÷C²ÂgV÷C´ÖÖVFFRgV÷C²¤vÆö&Âb33cµW6P ¢b33cµf$ÒP¢b33cµf$"ÒS¢b33cµf$2Ò&æFöÒ¢b33cµf$BÒgV÷CµFW7BgV÷C°¢b33cµf$RÒÔà¢b33cµf$bÒFW6·F÷vGFfײgV÷C·gV÷C²fײFW6·F÷Vv@ ¥vÆR 6ÆVW¥tVæ@ ¤gVæ2ÖÖVFFR Æö6Âb33c¶W'&÷"Âb33c´WfÂÂb33c·¢Âb33c¶f%³#ÒÂb33c¶õ³#ÒÂb33cµÆ6U³#ÒÂb33cµ&W7VÇE³#Ð  bb33cµW6RFVà &WGW&à VÇ6P b33c´ÖÖVFFRÒuT7&VFRgV÷C´ÖÖVFFRvæF÷rgV÷C²ÂCÂ3#R b33c¶VFBÒuT7G&Ä7&VFTVFBgV÷C²gV÷C²ÂÂÓÂCÂ3R b33c¶çWBÒuT7G&Ä7&VFTçWBgV÷C²gV÷C²ÂÂ3BÂCÂ# uT6WE7FFR5uõ4õrÂb33c´ÖÖVFFR 6öçG&öÄfö7W2b33c´ÖÖVFFRÂgV÷C²gV÷C²ÂgV÷C´VFC"gV÷C² b33cµW6RÒ VæD`  vÆR buTvWD×6rÒÓ2FVà uTFVÆWFRb33c´ÖÖVFFR b33cµW6RÒ WDÆö÷ VæD` bô5&W76VBgV÷C³BgV÷C²æBvä7FfRb33c´ÖÖVFFRæB6öçG&öÄvWDfö7W2b33c´ÖÖVFFRÒgV÷C´VFC"gV÷C²FVà b33c¶FWBÒ6öçG&öÄvWEFWBb33c´ÖÖVFFRÂgV÷C²gV÷C²ÂgV÷C´VFC"gV÷C² bb33c¶FWBFVà b7G&ætÆVgBb33c¶FWBÂÒgV÷C³ògV÷C²FVà b33c¶FWC"Ò7G&æuG&ÔÆVgBb33c¶FWB b33c¶FWC"Ò7G&æu7G&u2b33c¶FWC" f÷"b33c¶ÒFò7G&ætÆVâb33c¶FWC" b7G&ætÖBb33c¶FWC"Âb33c¶ÂÒgV÷C²²gV÷C²÷"7G&ætÖBb33c¶FWC"Âb33c¶ÂÒgV÷C²ÒgV÷C²÷"7G&ætÖBb33c¶FWC"Âb33c¶ÂÒgV÷C²¢gV÷C²÷"7G&ætÖBb33c¶FWC"Âb33c¶ÂÒgV÷C²ògV÷C²÷"7G&ætÖBb33c¶FWC"Âb33c¶ÂÒgV÷C²fײgV÷C²FVà b33c·¢³Ò bb33c·¢ÒFVà b33c¶f%²b33c·¥ÒÒ7G&ætÖBb33c¶FWC"ÂÂb33c¶Ò VÇ6P b33c¶f%²b33c·¥ÒÒ7G&ætÖBb33c¶FWC"Âb33cµÆ6U²b33c·¢ÒÒÂb33c¶Òb33cµÆ6U²b33c·¢ÒÒ VæD` b33c¶f%²b33c·¥ÒÒ7G&æu7G&u2b33c¶f%²b33c·¥ÒÂ2 b33c¶õ²b33c·¥ÒÒ7G&ætÖBb33c¶FWC"Âb33c¶Â b33cµÆ6U²b33c·¥ÒÒb33c¶² b7G&ætÆVgBb33c¶f%²b33c·¥ÒÂÒgV÷C²b33c²gV÷C²FVâb33c¶f%²b33c·¥ÒÒWfÂ7G&æuG&ÔÆVgBb33c¶f%²b33c·¥Ò VæD` æW@ b33c¶f%²b33c·¢²ÒÒ7G&æu7G&u27G&ætÖBb33c¶FWC"Âb33cµÆ6U²b33c·¥ÒÂb33c·¢Òb33cµÆ6U²b33c·¥ÒÂ2 b7G&ætÆVgBb33c¶f%²b33c·¢²ÒÂÒgV÷C²b33c²gV÷C²FVâb33c¶f%²b33c·¢²ÒÒWfÂ7G&æuG&ÔÆVgBb33c¶f%²b33c·¢²Ò f÷"b33c¶ÒFòb33c·  bb33c¶õ²b33c¶ÒÒgV÷C²²gV÷C²FVà bb33c¶ÒFVà b33cµ&W7VÇE²b33c¶ÒÒb33c¶f%²b33c¶Ò²b33c¶f%²b33c¶²Ð VÇ6P b33cµ&W7VÇE²b33c¶ÒÒb33cµ&W7VÇE²b33c¶ÒÒ²b33c¶f%²b33c¶²Ð VæD` VÇ6Tbb33c¶õ²b33c¶ÒÒgV÷C²ÒgV÷C²FVà bb33c¶ÒFVà b33cµ&W7VÇE²b33c¶ÒÒb33c¶f%²b33c¶ÒÒb33c¶f%²b33c¶²Ð VÇ6P b33cµ&W7VÇE²b33c¶ÒÒb33cµ&W7VÇE²b33c¶ÒÒÒb33c¶f%²b33c¶²Ð VæD` VÇ6Tbb33c¶õ²b33c¶ÒÒgV÷C²¢gV÷C²FVà bb33c¶ÒFVà b33cµ&W7VÇE²b33c¶ÒÒb33c¶f%²b33c¶Ò¢b33c¶f%²b33c¶²Ð VÇ6P b33cµ&W7VÇE²b33c¶ÒÒb33cµ&W7VÇE²b33c¶ÒÒ¢b33c¶f%²b33c¶²Ð VæD` VÇ6Tbb33c¶õ²b33c¶ÒÒgV÷C²ògV÷C²FVà bb33c¶ÒFVà b33cµ&W7VÇE²b33c¶ÒÒb33c¶f%²b33c¶Òòb33c¶f%²b33c¶²Ð VÇ6P b33cµ&W7VÇE²b33c¶ÒÒb33cµ&W7VÇE²b33c¶ÒÒòb33c¶f%²b33c¶²Ð VæD` VÇ6Tbb33c¶õ²b33c¶ÒÒgV÷C²fײgV÷C²FVà bb33c¶ÒFVà b33cµ&W7VÇE²b33c¶ÒÒb33c¶f%²b33c¶Òfײb33c¶f%²b33c¶²Ð VÇ6P b33cµ&W7VÇE²b33c¶ÒÒb33cµ&W7VÇE²b33c¶ÒÒfײb33c¶f%²b33c¶²Ð VæD` VæD` æW@ bb33c·¢ÒgV÷C²gV÷C²FVà b7G&ætÆVgBb33c¶FWC"ÂÒgV÷C²b33c²gV÷C²FVâb33c¶FWC"Ò7G&æuG&ÔÆVgBb33c¶FWC" b33c´WfÂÒWfÂb33c¶FWC" bW'&÷"FVâb33c¶W'&÷"Ò VÇ6P b33c´WfÂÒb33cµ&W7VÇE²b33c·¥Ð VæD` bW'&÷"FVà b33c¶W'&÷"Òb33c¶FW@ VÇ6P uT7G&Å6WDFFb33c¶VFBÂuT7G&Å&VBb33c¶VFBfײb33c¶FWBfײgV÷C²ÒgV÷C²fײb33c´WfÂfײ5$Äb VæD` VÇ6Tb7G&ætÆVgBb33c¶FWBÂÒgV÷C²b333²gV÷C²FVà b33c¶FWC"Ò7G&æuG&ÔÆVgBb33c¶FWB b33c¶FWC"Ò7G&æu7G&u2b33c¶FWC" b33cµ7G&ærÒ7G&ætå7G"b33c¶FWC"ÂgV÷C²gV÷C² bW'&÷"FVâb33c¶W'&÷"Òb33c¶FW@ b33c´ÆVgBÒ7G&æuG&Õ&vBb33c¶FWC"Â7G&ætÆVâb33c¶FWC"Òb33cµ7G&ær² b7G&ætÆVgBb33c´ÆVgBÂÒgV÷C²b33c²gV÷C²FVâb33c´ÆVgBÒ7G&æuG&ÔÆVgBb33c´ÆVgB b33cµ&vBÒ7G&æuG&ÔÆVgBb33c¶FWC"Âb33cµ7G&ær b7G&ætÆVgBb33cµ&vBÂÒgV÷C²b33c²gV÷C²FVâb33cµ&vBÒWfÂ7G&æuG&ÔÆVgBb33cµ&vB 76vâb33c´ÆVgBÂb33cµ&vB bW'&÷"÷"b33c¶W'&÷"FVà b33c¶W'&÷"Òb33c¶FW@ VÇ6P uT7G&Å6WDFFb33c¶VFBÂuT7G&Å&VBb33c¶VFBfײb33c¶FWBfײ5$Äb VæD` VÇ6P b33c¶W'&÷"Òb33c¶FW@ VæD` bb33c¶W'&÷"FVâuT7G&Å6WDFFb33c¶VFBÂuT7G&Å&VBb33c¶VFBfײgV÷C´W'&÷"¢gV÷C²fײb33c¶W'&÷"fײ5$Äb uT7G&Å6WDFFb33c¶çWBÂgV÷C²gV÷C² b33c´WfÂÒgV÷C²gV÷C° b33c¶W'&÷"ÒgV÷C²gV÷C° b33c·¢ÒgV÷C²gV÷C° VæD` VæD` 6ÆVW tVæ@¤VæDgVæ2³ÓÒfwC´ÖÖVFFP
Edited by Jex

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