[Visual Basic] auto it while schleife

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von IchHabFragen, 4. Juli 2010 .

  1. 4. Juli 2010
    auto it while schleife

    kurz ne frage


    mit :
    wird jede 100 milisekunden überpprüft ob stelle "300,300" die farbe 0xFFFFFF hat(weiß)
    sobald diese nichtmehr weiß ist endet die schleife.

    ich wills aber genau anders rum. wenn stelle "300,300" weiß wird soll die schleife enden.


    hab nix im internet gefunden. thx im vorraus.
     
  2. 4. Juli 2010
    AW: auto it while schleife

    kenne auto IT nicht aber versuchs mal mit "While $pixel != 0xFFFFFF" oder "While not $pixel = 0xFFFFFF"
     
  3. 4. Juli 2010
    AW: auto it while schleife

    geht net
     
  4. 4. Juli 2010
    AW: auto it while schleife

    NOT müsste gehen, möglicherweise ist das Case Sensitive.... kp kenne mich mit AutoIt net aus...

    http://www.autoitscript.com/autoit3/docs/intro/lang_operators.htm
     
  5. 4. Juli 2010
    AW: auto it while schleife

    Ansonsten sollte auch "While $pixel <> 0xFFFFFF" funktionieren (zumindest nach dem Link den Figger gepostet hat)
     
  6. 4. Juli 2010
    AW: auto it while schleife

    ich wollte eigl das sich die while schleife dauernd wiederholt wenn der bestimmte pixel Nicht die farbe 0xFFFFFF(weiß) hat und endet sobalt der bestimmte pixel die farbe 0xFFFFFF hat soll die schleife enden.


    nei "not" und "<>" endet die schleife sofort, egal welche farbe der bestimmte pixel hat .
     
  7. 4. Juli 2010
    AW: auto it while schleife

    Klar, weil du in der ersten Zeile ja den Pixel als 0xFFFFFF definierst. Das musst du natürlich ändern
     
  8. 4. Juli 2010
    AW: auto it while schleife

    Code:
    $pixel = 0xFFFFFF
    while $pixel <> PixelGetColor(300,300)
     sleep(100)
    WEnd
    MsgBox(0,"test","nach der schleife blubb")
    
    Spoiler
    unnötig lang, man sollte vllt erst denken
    Code:
    $pixel = 0xFFFFFF
    
    while 1
     if $pixel = PixelGetColor(300,300) then
     MsgBox (0, "Pixel", "Unser Pixel ist jetzt Weiß!")
     ExitLoop
     EndIf
     sleep(100)
    WEnd
    
    MsgBox(0,"test","nach der schleife blubb")
    
    Sollte so passen.
     
  9. 5. Juli 2010
    AW: auto it while schleife

    danke danke danke danke

    genau das wollte ich


    noch ne kurze frage
    kann der script auch die whileschleife beenden sobalt ein bestimmter pixel auf den desktop erscheint?
    also die whileschleife fängt an und wiederholt sich so lange bis der bestimmte pixel irgendwo auf den desktop auftaucht.

    das würde mich auch mal intressieren.
     
  10. 5. Juli 2010
    AW: auto it while schleife

    Dafür müsstest du jedes pixel auf dem Desktop absuchen und deine Schleife somit anpassen.

    [...] PixelGetColor(x,y)
    sleep(100)
    x = x +1
    If x > 1024 Then
    y =y + 1
    x = 1
    end if
    Wend
     
  11. 5. Juli 2010
    AW: auto it while schleife

    das is aber ziemlich unschön was du da machst nash

    unter umständen wird y immer größer. zudem gibts für sowas for schleifen (wenns die denn auch bei autoit gibt, würd mich aber wundern wenn nicht). weiterhin musste dafür auch die auflösung auslesen.

    allgemein ist die lösung aus performancetechnischen gründen nicht wirklich prickelnd. da ich aber die möglichkeiten von autoit als sehr begrenzt erachte, wirds wohl nix besseres geben.
     
  12. 5. Juli 2010
    AW: auto it while schleife

    War mir klar das es sehr unschön.
    Aber mit dem sleep() dauert es sowieso ewig.

    Habe da eine Funktion gefunden: http://www.autoitscript.com/autoit3/docs/functions/PixelSearch.htm

    Damit sollte es gehen und es wäre schöner und schneller, aber immer noch nicht gut den ganzen Bildschirm abzusuchen.
     
  13. 5. Juli 2010
    AW: auto it while schleife

    habs auch so ausprobiert aber es ist ein fehler aufgetreten .




    nodepad wird zwar gestartet wenn der gewünschte pixel auf dm desktop ist doch wenn er nciht auf den desktop ist kommt iene fehlermeldung.

    die schleife soll sich aber wiederholen wenn der pixel nciht aufr den desktop ist.
     
  14. 5. Juli 2010
    AW: auto it while schleife

    basic skill (logic) fail

    pack das in ne endlosschleife:
    Code:
    $coord = PixelSearch( 0, 0, 20, 300, 0xA4D4FF )
    If Not @error Then
     run dein blödes notepad
     break die schleife
    EndIf
     
  15. 5. Juli 2010
    AW: auto it while schleife

    vielen vielen, dank . auch das hat super geklappt
    ich liebe euch alle
     
  16. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.