Fragen zu der else if funktion

  • Ich sitze jetzt schon 3 stunden vor diesem scriptteil bekomme es aber nicht hin, in der dokumentation habe ich schon geschaut und es auch ausprobiert, mein problem ist das nicht das heraus kommt was ich möchte ich aber auch keine fehlermeldung bekomme ?(

    Spoiler anzeigen
    [autoit]

    sleep (10000)
    if PixelGetColor (325, 372) = 3355477 Then
    sleep (300)
    mousemove (325, 372)
    sleep (300)
    Mouseclick ("left")
    sleep(300)
    mousemove (37, 300)
    sleep(300)
    Mouseclick ("left")
    sleep (10000)
    Mousemove (834,529)
    sleep(300)
    Mouseclick ("left")
    elseif PixelGetColor (325, 372) = 3355477 then
    Mousemove (834,529)
    sleep(300)
    Mouseclick ("left")
    EndIf

    [/autoit]

    wenn pixelcolor 3355... möchte ich das er die zeilen bis elseif ausführt, wenn nicht soll er die zeilen von elseif bis endif ausführen.
    wenn pixelcolour 3355... läuft alles wie geplant, wenn es aber nihct so ist passiert einfach garnix mehr

    ich weis nicht ob ich die funktionsweise des elseif richtig verstanden habe aber in der doku steht

    "Wenn der Ausdruck wahr ist, wird der erste Codeblock ausgeführt. Wenn nicht, wird der ElseIf-Block ausgeführt. Ansonsten wird der Else-Block ausgeführt."

    muss ich vllt noch einen else block anhängen, wenn ja was bewirkt dieser dann bzw ws muss ich dort hineinschreiben?

    freue mich schon auf antworten

    Mfg noob

    Einmal editiert, zuletzt von autoit-N00B (9. Juni 2007 um 22:48)

  • sag mal bin ich blind oder sind beide abfragen gleich; also beides mal PixelGetColor (325, 372) = 3355477 ? weil irgendwie gibt es ja nur ja oder gar nichts so

  • das versteh ich jetzt auch nicht ich möchte ja eben das er das ausführt wenn pixelcolour NICHT da ist, das was jetzt im spoiler steht ist der letzde meiner zahlreichen versuche

  • meinst du das so?

    [autoit]


    sleep (10000)
    if PixelGetColor (325, 372) = 3355477 Then
    sleep (300)
    mousemove (325, 372)
    sleep (300)
    Mouseclick ("left")
    sleep(300)
    mousemove (37, 300)
    sleep(300)
    Mouseclick ("left")
    sleep (10000)
    Mousemove (834,529)
    sleep(300)
    Mouseclick ("left")
    else
    Mousemove (834,529)
    sleep(300)
    Mouseclick ("left")
    EndIf

    [/autoit]
  • ich probiere deine version grade aus und füge sie noch ein aber im mom scheint es als ob es funktioniert, obwohl ich schwören könnte das ich es vorher schon mit else ausprobiert habe, aber wofür steht dann elseif?

  • also rein else ist für alle Möglichkeiten die nicht der Bedingung entsprech mit elseif kannst du einfach noch eine Bedingung reinmachen -> aber du hast die selbe nochmals genommen und das bedeutet er würde beides machen oder gar nichts oder nur das erste

    also If Bedingung Then
    blabla
    blabla
    Else
    blabla
    EndIf

    oder If Bedinung Then
    bla
    bla
    elseif Bedinung ; bei dir wäre es halt ungleich also <> statt =
    bla
    endif