Jump to content

This site uses cookies. By continuing to browse the site you are agreeing to our use of cookies. Find out more here. X
X


Photo

AutoIt3ExecuteScript question


  • Please log in to reply
4 replies to this topic

#1 trancexx

trancexx

    Queen F. Elizabeth MCXI

  • Active Members
  • PipPipPipPipPipPip
  • 6,196 posts

Posted 03 October 2008 - 09:51 AM

This will execute some script.
Is there any way to use this feature to execute script that is not on HD but stored in memory (variable)?



...or pass more than one line of code before executing?

Edited by trancexx, 03 October 2008 - 10:02 AM.

          ......       ......
        .:oOOOOo:.   .:oOOOOo:.
      .:oOO:'':Oo:. .:oO:'':OOo:.
     .:oO:      'Oo:oO'      :Oo:.
     :oO:         'o'   
      :Oo:
     :oO:                     :Oo:
     ':oO:     OT9AO0IEDrk   :Oo:'
      ':oO:                 :Oo:'
        ':oO.             .Oo:'
          ':oO
.         .Oo:'
            ':oO.     .Oo:'
              ':oO. .Oo:'
                'oO:Oo'
                  'o' :kiss:



 

.
eMyvnE








#2 MrCreatoR

MrCreatoR

    Must AutoIt!

  • MVPs
  • 3,251 posts

Posted 03 October 2008 - 01:24 PM

The answer is in your question i think :)

Use Execute()...

$sReadIncl = StringFormat('TestFunc("%s")\nMsgBox(36, "", "Are you sure?")', "Test") _ExecuteCode($sReadIncl) Func _ExecuteCode($sCode)     $aExecuteCode = StringSplit(StringStripCR($sCode), @LF)         For $i = 1 To $aExecuteCode[0]         If $aExecuteCode[$i] <> "" Then ConsoleWrite(Execute($aExecuteCode[$i]) & @LF)     Next EndFunc Func TestFunc($sParam)     Return $sParam ;Will return "Test" to the console (by _ExecuteCode function) EndFunc

Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1

Posted Image AutoIt Russian CommunityPosted Image Projects: ATT - Application Translate Tool [new] | BlockIt - Block files & folders [new] | SIP - Selected Image Preview [new] | SISCABMAN - SciTE Abbreviations Manager [new] | AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramPosted Image UDFs: OnAutoItErrorRegister - Handle AutoIt critical errors [new] | AutoIt Syntax Highlight [new] | Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDFPosted Image Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation DemoLike the examples/UDFs? Please rate the topic (up-right corner of the post header: Rating Posted Image)* === My topics === *

==========================================================Posted Image==========================================================

AutoIt is simple, subtle, elegant. © AutoIt Team


#3 MrCreatoR

MrCreatoR

    Must AutoIt!

  • MVPs
  • 3,251 posts

Posted 03 October 2008 - 01:49 PM

Or you can write the code to the temporary file:

AutoIt         
#include <File.au3> $sCode = _     '#NoTrayIcon' & @CRLF & _     'ConsoleWrite("Return from Line #" & @ScriptLineNumber & ": " & TestFunc("Test"))' & @CRLF & _     'ConsoleWrite("Return from Line #" & @ScriptLineNumber & ": " & MsgBox(36, "", "Are you sure?"))' & @CRLF & _     'Func TestFunc($sParam)' & @CRLF & _     '   Return $sParam' & @CRLF & _     'EndFunc' $sRet = _AutoIt3ExecuteCode($sCode) ConsoleWrite($sRet) Func _AutoIt3ExecuteCode($sCode)     Local $sTmpFile = _TempFile(@TempDir, "~AutoIt3ExecuteCode_")     FileWrite($sTmpFile, $sCode)         Local $iPID = Run(@AutoItExe & ' /ErrorStdOut /AutoIt3ExecuteScript "' & $sTmpFile & '"', @WorkingDir, 0, 2)     Local $sStdOut_Read = "", $sStdOut_Ret = ""         While 1         $sStdOut_Read = StdoutRead($iPID)         If @error <> 0 Then ExitLoop                 If $sStdOut_Read <> "" Then $sStdOut_Ret &= $sStdOut_Read & @CRLF                 Sleep(10)     WEnd         FileDelete($sTmpFile)         Return $sStdOut_Ret EndFunc

Edited by MrCreatoR, 03 October 2008 - 01:50 PM.

Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1

Posted Image AutoIt Russian CommunityPosted Image Projects: ATT - Application Translate Tool [new] | BlockIt - Block files & folders [new] | SIP - Selected Image Preview [new] | SISCABMAN - SciTE Abbreviations Manager [new] | AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramPosted Image UDFs: OnAutoItErrorRegister - Handle AutoIt critical errors [new] | AutoIt Syntax Highlight [new] | Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDFPosted Image Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation DemoLike the examples/UDFs? Please rate the topic (up-right corner of the post header: Rating Posted Image)* === My topics === *

==========================================================Posted Image==========================================================

AutoIt is simple, subtle, elegant. © AutoIt Team


#4 SmOke_N

SmOke_N

    It's not what you know ... It's what you can prove!

  • Moderators
  • 15,730 posts

Posted 03 October 2008 - 05:20 PM

This will execute some script.
Is there any way to use this feature to execute script that is not on HD but stored in memory (variable)?



...or pass more than one line of code before executing?

That would be ideal wouldn't it... the answer to your specific question is no.

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.


#5 trancexx

trancexx

    Queen F. Elizabeth MCXI

  • Active Members
  • PipPipPipPipPipPip
  • 6,196 posts

Posted 03 October 2008 - 05:42 PM

That would be ideal wouldn't it...

And more.


@MrCreatoR; about this second method...
Yes, we are thinking the same, but again, problem is usage of HD. One who finds the solution for this will be new Autoit's hero, I think.

Nevertheless, this opens new possibility. I will post in 'Example Scripts' section.

          ......       ......
        .:oOOOOo:.   .:oOOOOo:.
      .:oOO:'':Oo:. .:oO:'':OOo:.
     .:oO:      'Oo:oO'      :Oo:.
     :oO:         'o'   
      :Oo:
     :oO:                     :Oo:
     ':oO:     OT9AO0IEDrk   :Oo:'
      ':oO:                 :Oo:'
        ':oO.             .Oo:'
          ':oO
.         .Oo:'
            ':oO.     .Oo:'
              ':oO. .Oo:'
                'oO:Oo'
                  'o' :kiss:



 

.
eMyvnE





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users