existieren prozeduren in autoit?

  • hellas!


    meine programmieruebung ist leider ein bißchen (quasi vollstaendig) eingerostet, ich hab jedoch noch im hinterkopf erinnerung an prozeduren, in denen ich programmteile zusammengefasst ablegen konnte...
    und dann mit einem einfachen aufruf im programm wieder abspielen konnte.

    ich braeuchte dies um bei einer if - then funktion nach dem if mehrere befehle nacheinander eingeben zu koennen...


    es geht darum, beim login von realvnc zwischen der moeglichkeit, dass der computer nicht eingeschalten ist und der moeglichkeit eines erfolgreichen logins automatisch zu waehlen.


    ich hab das mal mit "func" probiert um zu veranschaulichen, wie ich mir das ganze vorstelle...

    Spoiler anzeigen
    [autoit]


    dim $a = 15,

    [/autoit] [autoit][/autoit] [autoit]

    ; VNC-Login ra =START=
    $text = "r" & $a
    run("C:\Programme\RealVNC\VNC4\vncviewer.exe")
    WinWaitActive("VNC Viewer : Connection Details", "", 5)
    Opt("WinWaitDelay", 2000)
    send ($text, 1)
    send ("{ENTER}")
    If WinExists("VNC Viewer : Authentication [No Encryption]") Then
    call ("vnclogin")
    Else
    if WinWaitActive("VNC Viewer : Error", "", 5) then
    WinClose ( "VNC Viewer : Error")
    EndIf
    EndIf
    ; VNC-Login ra =END=

    [/autoit] [autoit][/autoit] [autoit]

    Func vnclogin ()
    WinWaitActive("VNC Viewer : Authentication [No Encryption]", "", 5)
    send ("vnc_passwort")
    send ("{ENTER}")
    WinWaitActive($text, "", 2)
    send ("^+!{DEL}")
    Opt("MouseCoordMode", 0)
    MouseClick("left", 718, 435, 2, 10)
    send ("admin")
    send ("{TAB}")
    send ("administrator_passwort")
    send ("{TAB}")
    send ($text, 1)
    send ("{ENTER}")
    WinWaitActive($text, "", 5)
    EndFunc

    [/autoit]


    so, ich weiß es ist ein bissl hart an der basis das ganze... aber es wuerde mir halt meine hobby-admin-taetigkeit erleichtern...


    vielen dank im voraus!

    lg, Joehittn

    bernd670: Autoit- und Spoier-Tags eingefügt!

    • Offizieller Beitrag

    Hallo und :willkommen:,

    da die Rede von Prozeduren ist gehe mal davon aus das Du aus der Pascal/Delphi-Welt kommst!

    Mit Func hast den Nagel auf den Kopf getroffen, dass ist im Prinzip das gleiche wie Prozeduren in Pascal/Delphi und können auch genauso aufgerufen werden. Über Call werden Funktionen nur aufgerufen der Funktionsname in einer Variable gespeichert ist.

    Spoiler anzeigen
    [autoit]


    dim $a = 15,

    [/autoit] [autoit][/autoit] [autoit]

    ; VNC-Login ra =START=
    $text = "r" & $a
    run("C:\Programme\RealVNC\VNC4\vncviewer.exe")
    WinWaitActive("VNC Viewer : Connection Details", "", 5)
    Opt("WinWaitDelay", 2000)
    send ($text, 1)
    send ("{ENTER}")
    If WinExists("VNC Viewer : Authentication [No Encryption]") Then
    vnclogin()
    Else
    if WinWaitActive("VNC Viewer : Error", "", 5) then
    WinClose ( "VNC Viewer : Error")
    EndIf
    EndIf
    ; VNC-Login ra =END=

    [/autoit] [autoit][/autoit] [autoit]

    Func vnclogin ()
    WinWaitActive("VNC Viewer : Authentication [No Encryption]", "", 5)
    send ("vnc_passwort")
    send ("{ENTER}")
    WinWaitActive($text, "", 2)
    send ("^+!{DEL}")
    Opt("MouseCoordMode", 0)
    MouseClick("left", 718, 435, 2, 10)
    send ("admin")
    send ("{TAB}")
    send ("administrator_passwort")
    send ("{TAB}")
    send ($text, 1)
    send ("{ENTER}")
    WinWaitActive($text, "", 5)
    EndFunc

    [/autoit]
  • vielen dank fuer deine schnelle antwort!

    bin erst vor kurzem ueber autoIt gestolpert, ist ja eine super sache... selbst fuer noobs wie mich!


    lg, joehittn