Página 1 de 1

while - wend ,no responde

Publicado: 17 Oct 2009, 01:29
por iamchavo
hola gente ,queria preguntarle algo que me esta pasando y nose porque sera
la cosa es que estoy creando un programa donde primero deben escribir una serial y si la escriben bien ya pueden empezar a usar el programa , el problema esta en que pongo la serial y me dice que esta correcta ,hasta ai todo bien, pero despues es como que el programa se traba ai ,no a la siguiente parte , tambien me pasa cuando quiero ponerle a un boton una accion determinada , masomenos algo asi :



Código: Seleccionar todo

#Region ### START Koda GUI section ### Form=

    $oIE = ObjCreate("Shell.Explorer.2")

    GUISetState()

Global $Paused

HotKeySet("{F6}", "TogglePause")



Func TogglePause()

    $Paused = NOT $Paused

    While $Paused

        Sleep (1000)

        ToolTip('Script is "PAUSADO :O"',0,0)

    WEnd

    ToolTip("")

EndFunc



    $Form2 = GUICreate("FACE BLOG", 935, 640, (@DesktopWidth - 1000) / 2, (@DesktopHeight - 600) / 2, BitOR($WS_CLIPSIBLINGS, $WS_CLIPCHILDREN))

    $GUIActiveX = GUICtrlCreateObj ($oIE, 10, 40, 910, 460)



    InetGet("http://i76.photobucket.com/albums/j1/datmos/simple_design_wallpapers_08.jpg",@TempDir&"\timage.jpg")



    $GUI_Button_Back = GUICtrlCreateButton("atras", 10, 550, 100, 30)

    $GUI_Button_Forward = GUICtrlCreateButton("adelante", 120, 550, 100, 30)

    $GUI_Button_Home = GUICtrlCreateButton("inicio", 230, 550, 100, 30)

    $GUI_Button_Stop = GUICtrlCreateButton("Sugerir", 820, 530, 100, 30)

    $GUI_Button_exit = GUICtrlCreateButton("Cerrar", 870, 5, 50, 30)

    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")

    $Button1 = GUICtrlCreateButton("Aceptar", 550, 5, 113, 30, 0)

    GUICtrlSetCursor (-1, 0)

    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")

    $Input1 = GUICtrlCreateInput("              Copie La Serial Aqui",230, 5, 305, 28)

    $Button_1 = GUICtrlCreateButton("Comenzar", 690, 530, 100, 30, 0)

    $Input = GUICtrlCreateInput("Ingresá tu número de amigos aca", 690, 500, 233, 24)

    $Pic1 = GUICtrlCreatePic(@TempDir&"\timage.jpg", -8, -16, 1000, 650, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))

    GUISetState(@SW_SHOW)

    #EndRegion ### END Koda GUI section ##





while 1

    $nMsg = GUIGetMsg()

    Select

        Case $nMsg=$GUI_EVENT_CLOSE







        Case $nMsg=$Button1

            $leer=GUICtrlRead($Input1)

            $m=@MIN

            $h=@HOUR

            If $leer<>"              Copie La Serial Aqui" Then

                $slpit=StringSplit($leer,"-",1)

                $slpit=StringTrimRight($slpit[3],1);2m*h*h

                $min=(($slpit/$h)/$h)/2

                $hour=Sqrt((($slpit/$m)/2))

                If $min=$m And $hour=$h Then

                    MsgBox(64,"Success","La Serial Puesta Es Correcta")



                Else

                    MsgBox(48,"Failure","La Serial Puesta Es Incorrecta")

                EndIf

            Else

                MsgBox(48,"Failure","Escriba algo")

            EndIf

  endselect

wend





    While 1

        $msg = GUIGetMsg()



        Select

            Case $msg = $GUI_EVENT_CLOSE

                ExitLoop

            Case $msg = $GUI_Button_Home

                $oIE.navigate("http://www.facebook.com")

            Case $msg = $GUI_Button_Back

                $oIE.GoBack

            Case $msg = $GUI_Button_Forward

                $oIE.GoForward

            Case $msg = $GUI_Button_Stop

                $oIE.Stop

        EndSelect

        

    WEnd





While 1





$oIE.navigate("http://facebook.com")



    $msg = GUIGetMsg()

    Switch $msg

    Case $Button_1



sleep(1000)

ToolTip("EN  -   3", -0, 0)

sleep(1000)

ToolTip("EN   -   2", -0, 0)

sleep(1000)

ToolTip("EN   -   1", -0, 0)

$i = 0

do

ControlSend("FACE BLOG", "", "Edit1", "{PGUP}")

sleep(500)

ControlClick("FACE BLOG", "", "", "main",4 ,95 ,281)





sleep(2000)



  ControlSend("FACE BLOG", "", "Edit1", "{ENTER}")



  ControlClick("FACE BLOG", "", "", "main",2 ,668 ,250)



  ControlSend("FACE BLOG", "", "Edit1", "{PGDN}")

  sleep(500)

ControlClick("", "", "", "main",1 ,568 ,52)

  $i += 1

until $i = GUICtrlRead($Input)/20

WinClose("FACE BLOG")



MsgBox(0, "", "Terminado :)")





    EndSwitch



WEnd
ayuuuda porfavor :(
gracias por su tiempo :D

Re: while - wend ,no responde

Publicado: 17 Oct 2009, 03:39
por XPyro
No e podido analizar el código completo por falta de tiempo pero te recomiendo que ademas de While uses Do o alguna función creada por ti como ejemplo

Código: Seleccionar todo

$Serial = "12345"

_Serial()



Func _Serial()

    $msbox = InputBox("Serial","Ingrese el seria de registro",""," ","-1","-1","-1","-1")

    If Not @error Then

        If $msbox = $Serial Then

            MsgBox(64,"Serial","Serial correcto")

        Else

            MsgBox(48,"Serial","Serial incorrecto intente de nuevo")

            _Serial()

        EndIf

    EndIf

EndFunc
Perdona por no revisar detenidamente el código :smt006

Re: while - wend ,no responde

Publicado: 17 Oct 2009, 11:19
por Chefito
El problema es que separas los bucles whiles y los select (o swicht) case. Tienes que quitar los 3 whiles y meterlos todos en uno. Igualmente con los select case para detectar el evento de una acción (salirte del programa, pulsar un botón, etc). Tendrías que organizar algo el código, pero con pocas variaciones iría bien :smt002 .
Otra cosa para tu información, si por casualidad te quieres salir de un bucle while, puedes utilizar la instrucción ExitLoop.

Saludos.

Re: while - wend ,no responde

Publicado: 18 Oct 2009, 00:40
por iamchavo
gracias , ya logre solucionar ese problema poniendo todos dentro de uno solo :) ,

lo que me gustaria saber es porque teniendo el comando de ControlSend ,ControlClick ,etc cuando minimizo no responde ,
aparese enseguida el cartel de TERMINADO :) , pero cuando me fijo no iso nada,

otra cosa que me gustaria saber es si yo le puedo agregar botones externos a los que vienen para hacer en el KODA ,si tengo un boton en una pagina web , supongamos www.botones.com/boton1 nuse jaja , se podria lograr incluirlo en el programa ,porque se que imagnes se pueden agregar ya siempre le pongo , pero nunca supe si botones tambien se puede ,

muchas gracias :)