Frage zur If schleife

  • [autoit]

    $var = PixelGetColor( 1400 , 500 )

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

    if $var == 0xFF0000 & 0xFFFF00 then

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

    Controlsend("Neu Textdokument","","Edit1","gelb oder rot";)

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

    else

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

    Controlsend("Neu Textdokument","","Edit1","unbekannte Farbet";)

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

    endif

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

    und zwar tut er die beiden Farben nicht oder sondern und verknüpfen.. wie kann ich das hinschreiben das er auch in die Schleife geht wenn nur eine der Farben vorhanden ist ?

    Einmal editiert, zuletzt von Bullz (13. September 2007 um 19:50)

  • ma sorry ich depp das hätte ich selber auch ausprobieren könnte.. hab das logische ODER gibts leider nicht auf der Tastertur ^^

  • hmm da geht doch was nicht wie ich willl...

    warum produzieren diese 2 Codes nicht das gleich Ergebnis ? Das 2 te lauft so wie ich es möchte ... aber warum das erste nicht ?
    Beim ersten springt er IMMER in die erste IF Zweig rein egal was ich ihm für ne Farbe zum testen gebe... why ?

    eigentlich will ich das er bei z.b bei

    0xFF0000 Or 0xFFFF00 or 0xFFFE00 or 0xFAFF00

    den gleichen Anweisungblock abarbeitet... bei allen anderen Farben soll er nix machen und die idee oben mit dem or schaut doch irgendwie sehr schön aus für mein Vorhaben... if das oder das oder das oder das ...

    2 Mal editiert, zuletzt von Bullz (13. September 2007 um 20:14)

  • if $var == 0xFF0000 Or 0xFFFF00 then

    wird zuuuuuuuuuuuuuuuu


    if $var = 0xFF0000 Or $var = 0xFFFF00 then


    try so!: )

  • jahuu das wars thx ;) bist nen toller affe hehe

  • huhu und zwar habe ich ein neues schleifenproblem..


    while "bedienung"

    Anweisung

    wend

    (zeitpuffer)


    ich habe eine while schleife mit einem anweisungblock. Dieser Anweisungblock kann in meinem Programm unterschiedlich lang sein von 10 sec bis 60 sekunden..

    ich will jetzt aber haben wenn er kürzer als 30 sekunden in der whileschleife war das er dann die restlichen sekunden die ihm bis 30ig sekunden gefählt haben im sleep verbringt ( nicht in der schleife )

    also wenn Block länger als 30 sek gedauert hat... past alles
    wenn er weniger als 30 sek hätte ich ihn gern im sleep für die differnz die ihm zu 30 sek fehlen...

    ehrlich ich habe keine Ahnung wie ich das realsieren soll...

    Einmal editiert, zuletzt von Bullz (14. September 2007 um 17:36)

  • Hi!

    [autoit]


    $begin = TimerInit()

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

    while "bedienung"

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

    Anweisung

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

    wend

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

    $dif = TimerDiff($begin)
    If $dif < 30000 Then
    Sleep(30000 - $dif)
    EndIF

    [/autoit]


    // Nicht getestet, sollte aber gehen

    Einmal editiert, zuletzt von progandy (14. September 2007 um 18:18)