ImageSearch Versuch

  • Dann würdest du aber den Sinn der Funktion verändern, x0r! Das ist ja GRADE nicht gewollt...
    Das hieße, dass er, wenn er nach 1 Versuch nichts gefunden hat, die Funktion beendet. Dann kann man den Timer auch gleich weg lassen^^... Die 1. Schleife durchsucht alle übergebenen Bilder (man kann hier mehrere übergeben, ala "Test1|Test2|Test3") und die 2. Schleife ist die Zeit.
    Wenn nun ein Bild in der 1. Schleife gefunden wird, werden beide Schleifen terminiert!

    So kann man bewerkstelligen: "Suche 3 Bilder und wenn 1 davon gefunden wurde, mache..."
    Damit kann man also Bilder gleichwertig suchen lassen. Das ist, wenn man auf ein Ereignis wartet, das mehrere "Optiken" annehmen kann.

    LG
    Aca

  • [autoit]

    local $ix, $iy, $itol, $bresult

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

    $bResult = _ImageSearch(@ScriptDir & "\Data\ausschnitt.bmp", 1, $iX, $iY, $iTol)
    If $bResult = 1 Then MsgBox(64,"info", "gefunden")

    [/autoit]

    ich habe diese Funktion in ein skript eingebaut und da kommt jetzt folgender fehler

    Woran kann das liegen?

  • Entweder ist der Thread gelöst oder nicht. Setz ihn doch nicht auf gelöst wenn du noch Probleme hast.

    Die Fehlermeldung die du bekommst ist eindeutig. Die Variable wurde nicht deklariert.
    Du solltest dir echt ein bisschen mehr Mühe geben.
    Sieh dir mal das Debugging Tutorial von Andy an (link in meiner Signatur)

  • Also ich weiss nicht wie es bei euch rüberkommt, aber ich gebe mir die Mühe!
    ich mein die Variablen sind doch deklariert mit der zeile

    [autoit]

    local $ix, $iy, $itol, $bresult

    [/autoit]

    oder nicht?

  • Die Meldung kommt ja eindeutig aus der ImageSearch UDF. Schau doch mal dort, ob sie richtig deklariert ist.

  • Ja, ich weiss, das habe ich schon von Anfang an gesehen, aber es ist doch deklariert und außerdem läuft es doch, wenn ich z.B. nur den Papierkorb suchen möchte.
    ich steh aufm Schlauch...

    ich weiss ich bin nicht der schlauste :D

    Edit: Ich habe jetzt oben in Script Dim $Result eingesetzt, jetzt ist es weg. Ist das so richtig?

    Edit2: Jetzt klappt alles :thumbup: ich fass es nicht, fehler selbst behoben. 8|

    2 Mal editiert, zuletzt von autoit93 (16. Juli 2013 um 14:26)


  • Ich muss wissen, wie man einstellt wieviel Sekunden es durchsuchen soll !

    Da während die Webseite noch am Laden ist, sucht es bereits nach dem Bild und kurz bevor die Seite geladen ist stoppt das Autoitskript, da es in der Zeit nichts gefunden hat.
    Also ich muss die Suchzeit verlängern.

  • Naja, für misterspeed ist jede Seite ein Spiel. Und alles ein Bot wo ImageSearch verwendet wird.

    Die Zeit kannst du doch verlängern mit $iTimeout oder nicht?
    Und am besten Local verwenden anstatt Dim.

    Kannst du mal die Funktion posten mit dem DllCall?

  • Naja, für misterspeed ist jede Seite ein Spiel. Und alles ein Bot wo ImageSearch verwendet wird.

    Die Zeit kannst du doch verlängern mit $iTimeout oder nicht?
    Und am besten Local verwenden anstatt Dim.

    Kannst du mal die Funktion posten mit dem DllCall?


    Nunja, wenn man etwas mit einer Website machen will, z.B. einen automatischen Login, kann man das auch mit der IE-UDF WinHTTP oder sonstigen Zeugs machen.
    Mit ImageSearch wirds nur schlimmer ;)

    MfG

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski

  • Es sei denn es sind java oder Flash Sachen.


    Ist es aber in den wenigsten Fällen, und wenn sind es Spiele in der Regel. :whistling:

    Hab noch nie einen normalen Login für eine Seite, z.b. Forum in Flash-Form gesehen...

    MfG

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski

  • $iTimeout ja genau, aber ich weiss nicht das geht irgendwie nicht. Ich poste morgen früh das Skript, wenn ich auf der Arbeit bin.

    P.S. ich verstehe immernoch nicht was das Problem ist, aber es handelt sich nicht um ein Spiel oder sonstiges, sondern um ein Firmenportal Login wo dann Anwendungen sind.

    Das können auch User wie "Schnitzel" bestätigen, da ich das Skript ihnen privat gesendet hatte.

  • :thumbdown:
    Entschuldige jetzt, aber ist das dumm oder nur blind?
    Siehst du irgendwo denn ein Func? In Zeile 101 sollte schon ein Func hin, sonst wird es keine Funktion.
    Und $bResult und das was die Funktion braucht, solltest du innerhalb der Funktion deklarieren, nicht außerhalb und dannoch Lokal.
    Gibts bei euch einen der programmieren kann?