Funktion wird nicht wie erwartet ausgeführt

  • Guten Morgen Forums und AutoIT Profies.
    Ich hätte da mal ein Problem.

    Script:

    Situation:
    Es wird geprüft ob ein Fenster geöffnet ist
    Es wird ein Befehl ausgeführt
    Als Ergebnis kommt entweder ein Fenster "Warning" mit 2 Buttons "Yes" (Focus) und "No"
    oder ein Fenster."Message" mit einem "OK" Button

    Kommt das Fenster "Warning" soll mittel TAB von Yes auf No gesprungen
    werden und der Button gedrückt werden, danach ein DOWN Befehl in die nächste Spalte

    Kommt das Fenster "Message" soll auf OK geklickt werden danach wie gehabt ein Sprung in die
    nächste Spalte.

    Problem:
    Wenn das Fenster "Message" kommt funktioniert alles wie erwartet
    Kommt das Fenster "Warning" geht der Focus auf No und der Button wird gedrückt. Es erfolgt aber kein Sprung in die nächste Spalte und die nächste Abfrage erfolgt in der gleichen Spalte.

    Könnte mir bitte jemand erklären was ich falsch mache?
    Bin blutiger Anfänger und komme selbst nicht mehr weiter.
    Vielen Dank im Voraus
    Josef

  • Da ich das Programm welches du ansteuern willst nicht kenne kann ich dir da nicht genau helfen, würd dir aber dringend dazu raten andere, wesentlich zuverlässigere Kommandos zu nutzen.

    Mit den Control...-Befehlen kannst du alle Elemente direkt ansteuern, und bist nicht auf TAB und Pfeilrunter etc zur Steuerung angewiesen. Und du brauchst keine Sleeps mehr, dein Script wird also auch viel viel schneller werden.

    Zb kannst du mit ControlClick("Fenstertitel","","Button1","left") AutoIt veranlassen, einen Button anzuklicken, ohne dass sich deine Maus bewegen würd oder ähnliches. Du brauchst also kein TAB mehr um dahinzuswitchen. Benutze das AutoIt Window Tool um an die Button- und Control-IDs zu kommen.

    Gib einfach mal in die Hilfe beim Index "Control" ein und schau dir die Befehle durch.

    Und um auf Popups zu warten empfehlen sich Schleifen. Damit kannst du das Script pausieren, bis die Popups die du dann ansteuern willst auch wirklich offen sind.

  • Hallo klischee,
    danke für die Antwort.
    Das Programm ist GSAK http://gsak.net/ ein Tool um Geocaches zu verwalten.

    Control, werde ich mal versuchen, wie gesagt bin absoluter Newbee wenn es um Programierung geht

    Popups, eigentlich dachte ich das dies mit WinActive erledige

    Da habe ich einiges vor mir ...

  • Ich muss nochmal auf mein Problem, welches ich bisher nicht lösen konnte, zurück kommen.
    Mittlerweile habe ich herausgefunden das bei dem einen Fenster, bei dem alles funktioniert,
    nach der Betätigung des Buttons der Focus zurück auf den Teil des Fensters geht der
    die Liste enthält. Bei dem anderen fenster geht nach der Betätigung des Buttons der Focus
    auf das Hauptfenster und ich bekomme es nicht dazu die Liste zu Focusieren.

    [Blockierte Grafik: http://www7.pic-upload.de/07.07.11/xxy2a4bxibk.jpg]

    Hier ist mal ein Foto des betroffenen Programms. Wäre Klasse, könnte mir jemand sagen
    wie ich den Focus auf den Rot umrandeten Bereich bekomme. Die AutoITWindoInfo bezieht sich auf diesen Bereich.

    Danke schon mal im voraus.

  • [autoit]

    controlclick("GSAK","T.Grid")
    oder
    controlclick("GSAK","T.Grid1")

    [/autoit]

    würde ich mal testen, also ausgeschrieben

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o