Fehler im Code :(

02/15/2012 13:54 pukker#1
hi,
ich bekomme eien fehlermeldung die ich nciht ganz verstehe, wo das problem liegt.

Kann da jemand bitte helfen?

Meldung:

Error: "Wend" statement with no matching "While" statemant.

Wo genau ist da der Fehler? :(



Code:
while True

$search=pixelsearch (10,138,1348,713,0xAA90B8)
if not @error then
mouseclick("left",$search[0],$search[1])

Sleep(3000)

$search=pixelsearch (10,138,1348,713,0x9F85AD)
if not @error then
mouseclick("left",$search[0],$search[1])

Sleep(30000)

Send("{F5}")

Sleep(2000)

EndIf

WEnd
02/15/2012 14:30 lolkop#2
Quote:
Originally Posted by pukker View Post
hi,
ich bekomme eien fehlermeldung die ich nciht ganz verstehe, wo das problem liegt.

Kann da jemand bitte helfen?

Meldung:

Error: "Wend" statement with no matching "While" statemant.

Wo genau ist da der Fehler? :(



Code:
while True

$search=pixelsearch (10,138,1348,713,0xAA90B8)
if not @error then
mouseclick("left",$search[0],$search[1])

Sleep(3000)

$search=pixelsearch (10,138,1348,713,0x9F85AD)
if not @error then
mouseclick("left",$search[0],$search[1])

Sleep(30000)

Send("{F5}")

Sleep(2000)

EndIf

WEnd
ich sehe 2 if befehlssequenzstarts und ein endif zur beeindigung :P
02/15/2012 15:03 pukker#3
also ein if befehlssequenzstart zuviel?^^
oder wie? :( hab mir das irgendwie zusammen gewürfelt :O
02/15/2012 15:13 lolkop#4
Quote:
Originally Posted by pukker View Post
also ein if befehlssequenzstart zuviel?^^
oder wie? :( hab mir das irgendwie zusammen gewürfelt :O
Code:
if <expression> then
    [than case]
endif

oder

if <expression> then [than case]
das ganze in eine zeile packen ist nur möglich, wenn der [than case] nur aus einem befehl besteht.
wenn das nicht der fall ist, und du die erste methode nutzt, wie in deinem beispiel, so muss jedes if durch ein endif abgeschlossen werden.
02/15/2012 15:20 pukker#5
Quote:
Originally Posted by lolkop View Post
Code:
if <expression> then
    [than case]
endif

oder

if <expression> then [than case]
das ganze in eine zeile packen ist nur möglich, wenn der [than case] nur aus einem befehl besteht.
wenn das nicht der fall ist, und du die erste methode nutzt, wie in deinem beispiel, so muss jedes if durch ein endif abgeschlossen werden.

ahh sowas in der art hatte ich mir schon gedacht :D
wenn ich heim komme teste ich es gleich, ansonsten nerv ich dich noch ein bisschen hihihi

danke schon mal...
02/15/2012 16:46 BladeTiger12#6
Hier ist das Script ohne fehler :D auch wenn es oben schon gelöst wurde einfach Kopieren :
PHP Code:
while True

$search
=pixelsearch (10,138,1348,713,0xAA90B8)
if 
not @error then
mouseclick
("left",$search[0],$search[1])

Sleep(3000)

$search=pixelsearch (10,138,1348,713,0x9F85AD)
if 
not @error then
mouseclick
("left",$search[0],$search[1])

Sleep(30000)

Send("{F5}")

Sleep(2000)

EndIf
EndIf

WEnd 
02/15/2012 21:11 lolkop#7
Quote:
Originally Posted by BladeTiger12 View Post
Hier ist das Script ohne fehler :D auch wenn es oben schon gelöst wurde einfach Kopieren :
da es sich hier um ein ende einer sequenz handelt, kannst du nicht wissen, von wo bis wo die sequenz denn nun wirklich laufen sollte.
02/15/2012 22:47 pukker#8
Quote:
Originally Posted by BladeTiger12 View Post
Hier ist das Script ohne fehler :D auch wenn es oben schon gelöst wurde einfach Kopieren :
PHP Code:
while True

$search
=pixelsearch (10,138,1348,713,0xAA90B8)
if 
not @error then
mouseclick
("left",$search[0],$search[1])

Sleep(3000)

$search=pixelsearch (10,138,1348,713,0x9F85AD)
if 
not @error then
mouseclick
("left",$search[0],$search[1])

Sleep(30000)

Send("{F5}")

Sleep(2000)

EndIf
EndIf

WEnd 

danke dir, jetzt läuft es richtig :) :handsdown:
02/16/2012 13:15 FichteFoll#9
Gewöhn dir einfach an, den Code ordentlich einzurücken. Dann macht das auch keine Probleme mehr, weil man so einen Fehler dadurch viel leichter findet. (Man findet generell alles leichter.)

Du kannst auch einfach "Tidy AutoIt Source" in den "Tools" ausführen, falls du SciTE4AutoIt installiert hast. Es rückt deinen Code automatisch ein und zeigt dir auch Fehler im Code auf. Dein oberes Skript sähe danach so aus (2 Klicks bzw. ein Hotkey):
PHP Code:
While True

    $search 
PixelSearch(1013813487130xAA90B8)
    If 
Not @error Then
        MouseClick
("left"$search[0], $search[1])

        
Sleep(3000)

        
$search PixelSearch(1013813487130x9F85AD)
        If 
Not @error Then
            MouseClick
("left"$search[0], $search[1])

            
Sleep(30000)

            
Send("{F5}")

            
Sleep(2000)

        EndIf

;
### Tidy Error -> "wend" is closing previous "if" on line 4
    
WEnd

;### Tidy Error -> while is never closed in your script.