Autohotkey if loopar med färger

Trädvy Permalänk
Medlem
Registrerad
Okt 2011

Autohotkey if loopar med färger

Så jag försöker att lista ut varför mitt program inte fungerar, så jag gjorde ett test program

sleep 5000 ;color=0xFFFFFF MouseGetPos, MouseX, MouseY PixelGetColor, color2, %MouseX%, %MouseY% PixelGetColor, color, %MouseX%, %MouseY% if color==color2 { MsgBox Same, %color% %color2%. exitapp } else if color!=color2 { MsgBox Not Same, %color% %color2%. exitapp }

Så den tar färgen och ska kolla om dem är samma eller inte, problemet är att den säger att det inte är samma. Och jag får "Not same" meddelandet. jag skriver ut båda färgerna och där är dem lika.

Det är exakt likadant om jag kör

i=1 if i==i { MsgBox Same } else if i!=i { MsgBox Not same }

Så har jag blivit blind, eller vad gör jag för fel?

Trädvy Permalänk
Medlem
Plats
SweClockers forum
Registrerad
Aug 2012

Vet inte hur AHK fungerar exakt, men det ser ut som att du behöver % runt variabelnamn. Else if lär vara överflödigt också, det räcker nog med else.

sleep 5000 ;color=0xFFFFFF MouseGetPos, MouseX, MouseY PixelGetColor, color2, %MouseX%, %MouseY% PixelGetColor, color, %MouseX%, %MouseY% if %color% == %color2% { MsgBox Same, %color% %color2%. exitapp } else { MsgBox Not Same, %color% %color2%. exitapp }

EDIT: Din syntax på if-satsen är fel. Använd IfEqual, color, %color2% så kommer det fungera.

Guide: Roota din HTC - BB-Kod-knappar på Prisjakt

              Min burk - Kvävekyld till 80%
Phenom II X4 965@3900MHz (Sommarklock)
GTX 760@1111MHz

Ibland har jag fel, men då är det någon annans fel.

Trädvy Permalänk
Medlem
Registrerad
Okt 2011

@LemonIllusion

Det behövdes parenteser. Nope, nu är den fast på "Same" istället.

sleep 5000 ;color=0xFFFFFF MouseGetPos, MouseX, MouseY PixelGetColor, color2, %MouseX%, %MouseY% PixelGetColor, color, %MouseX%, %MouseY% if ( %color% == %color2% ) { MsgBox Same, %color% %color2%. exitapp } else { MsgBox Not Same, %color% %color2%. exitapp }

Men tack för hjälpen.

Edit:
Fast

i=1 if ( i == i ) ; { MsgBox Same } else { MsgBox Not same }

fungerar som den ska.

Edit2:

Det ska inte vara några %%. Fungerar nu.