gewünschte aktion nach if (true) nicht ausgeführt

  • hallo ich habe ein neues problem:
    ich habe eine if function, die eig. auf einem wert von über 0 landen sollte, es abe nicht tut:

    [autoit]

    Func ifErrorHappens ()
    $title = Wingettitle("Windows Internet Explorer")
    if StringInStr($title, "[Fehlernachricht]", 0) > 0 Then
    Sleep(2000)
    $time = @YEAR & "," & @MON & "," & @MDAY & "," & @HOUR & "," & @MIN & ".jpg"
    _ScreenCapture_Capture(@ScriptDir & "\error\" & $time)
    Sleep(5000)
    mouseAction(1250, 5, 1)
    Sleep(10000)
    OasisTester()
    ElseIf StringInStr($title, "[OASIS: Warnung]", 0) > 0 Then
    Sleep(10000)
    mouseAction(1250, 5, 1)
    Sleep(5000)
    OasisTester
    EndIf

    [/autoit]

    ich sorge manchmal selbst für fehler und doch wird der inhalt der then function nicht ausgeführt

    Einmal editiert, zuletzt von robertmaxity (19. Juli 2011 um 22:41) aus folgendem Grund: titel ändern

  • 1. Ganzen Code, meine Glaskugel ist kaputt
    2. Wenn Ganzen Code -> Spoiler

    MfG, campweb

  • Spoiler anzeigen


    Func oasisLogin ()
    ShellExecute("C:\Program Files\Internet Explorer\iexplore.exe", "link")
    WinWaitActive("[OASIS - Anmeldung] - Windows Internet Explorer")
    Send("name")
    Send("{Tab}")
    Send("pw")
    Send("{Enter}")
    EndFunc

    Func mouseAction ($x, $y, $howMuch)
    MouseMove($x, $y)
    MouseClick("Left", $x, $y, $howMuch)
    EndFunc

    Func ifErrorHappens ()
    $title = Wingettitle("Windows Internet Explorer")
    if StringInStr($title, "[Fehlernachricht]", 0) > 0 Then
    Sleep(2000)
    $time = @YEAR & "," & @MON & "," & @MDAY & "," & @HOUR & "," & @MIN & ".jpg"
    _ScreenCapture_Capture(@ScriptDir & "\error\" & $time)
    Sleep(5000)
    mouseAction(1250, 5, 1)
    Sleep(10000)
    OasisTester()
    ElseIf StringInStr($title, "[OASIS: Warnung]", 0) > 0 Then
    Sleep(10000)
    mouseAction(1250, 5, 1)
    Sleep(5000)
    OasisTester
    EndIf

    Func OasisTester()

    oasisLogin()

    While True

    clickOnArbg()
    waitForX("[OASIS: Arbeitgeber suchen] - Windows Internet Explorer")
    ifErrorHappens()
    WEnd

    ;Hauptprogramm
    ___________________________________________________________
    OasisTester()

  • Ich muss nochmal nerven, du hast das Highlighting vergessen, drum siehst so aus:


    Zitat

    clickOnArbg()
    waitForX("[OASIS: Arbeitgeber suchen] - Windows Internet Explorer")
    ifErrorHappens()
    WEnd

  • okay okay

    kann sich jetzt bitte jemand um die frage kümmern

    die funktion heißt waitForX ()

  • Bei dem letzten Codeschnipsel was du gepostet hast, kann ich beim besten willen keine Funktion namens "waitForX ()" finden, hedoch finde ich mehrere Syntaxfehler, wie bsw. ein EndFunc vergessen, und dass so "OasisTester" eine Funktion aufgerufen wird ist mir auch neu.

    Das finden von Rechtschreibfehlern muss sofort und unverzüglich dem Autor gemeldet werden. Das eigennützige Verwenden dieser Rechtschreibfehler ist strengstens untersagt und kann mit Freiheitsenzug bestraft werden.

  • ich habe es abgetippt und der code von waitforx ist:

    Spoiler anzeigen

    Func waitForX ($x)
    WinWait($x)
    WinActivate($x)
    WinWaitActive($x)
    EndFunc

  • Lösch mal deine letzten drei Posts, und dann schreibst du in den ersten Post deinen ganzen Code in Spoiler und AutoIt

    MfG, campweb

  • Setze in Zukunft wirklich AutoIt-Tags oder zumidnest Code-Tags, ansonsten wird sich niemand die Mühe machen, den Code anzuschauen.
    Dein Fehler liegt hier:
    waitForX -> Wartet auf ein Fenster
    ifErrorHappens -> Wird erst ausgeführt nachdem das Fenster gefunden wurde.
    Wenn wegen dem Fehler aber das Fenster von waitForX nie gefunden wird, dann hängt dein Skript an dieser Stelle.