FoxPro/Visual FoxPro - Ayuda de capos en Visual Fox

 
Vista:

Ayuda de capos en Visual Fox

Publicado por Jorge Gonzalez (34 intervenciones) el 27/12/2000 00:00:00
Señores: Tengo una rutina en el evento activate en el cual tengo una centencia do while...,
pero si quiero usar el boton "cancelar" para salir del proceso, no me lo permite ya que esta dentro del "loop". ¿Que se podría hacer?, ¿como dejo esta rutina en segundo plano?..

Jorge Gonzalez
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Ayuda de capos en Visual Fox

Publicado por Miguel (11 intervenciones) el 27/12/2000 00:00:00
Probaste con un un valor en una variable el cuál se evalue dentro del Do While ..?

Por ej.

Do while !eof() .and. var=0
enddo

Cuando presiones en el boton "Cancelar" que en el evento click cambie el valor de var a 1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda en Visual Fox

Publicado por Charles Benzon (340 intervenciones) el 27/12/2000 00:00:00
Buenas,
Primero que no se tu rutina y poner un do while en activate...
pero para salir del do while puedes utilizar el Exit.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda de capos en Visual Fox

Publicado por Jorge Gonzalez (34 intervenciones) el 28/12/2000 00:00:00
Gracias pero...
Mira, eso ya lo prové, este es el código:
*------------------------*
go bott
do while lastkey()#27 &&.or.salida=0
Buffer = Buffer + MSComm1.Input
if len(alltrim(buffer))>80
if empty(left(todo,1))
buffer=substr(buffer,2,78)
endif
appe blan
bufer=substr(buffer,4,2)+´/´+left (buffer,2)+´/´+´2000´ &&right(buffer,2)
repla fecha with date() &&ctod(bufer)
repla mc with substr(buffer,9,2)
repla hora with time() &&substr(buffer,11,7)
repla anexo with val(substr(buffer,18,4))
repla linea with val(substr(buffer,22,4))
if len(substr(buffer,26,39))>20
repla telefono_c with substr(buffer,26,20)
else
repla telefono_c with substr(buffer,26,39)
endif
repla telefono_n with val(telefono_c)
repla crono with substr(buffer,65,9)
repla horas with val(substr(buffer,65,2))
repla minutos with val(substr(buffer,68,2))
repla segundos with val(substr(buffer,71,2))
buffer=""
thisform.refresh
loop
endif
enddo
*------------------------*

Esto lo hace ok., el problema es que el cursor del mouse(flecha) se transforma en reloj de arena el cual no me deja activar el boton cancelar.

atte. jorge gonzalez
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda de capos en Visual Fox

Publicado por Claudio (11 intervenciones) el 29/12/2000 00:00:00
Por lo que veo vos estas necesitando que esta rutina se ejecute a tiempos regulares y quede trabajando en la trastienda digamos y te permita seguir usando la pantallita
Te recomiento que uses un objeto timer y que dentro del evento timer del mismo le coloques este codigo tuyo, en la propiedad interval le colocas la frecuencia con que queres que se ejecute, ejemplo 1000 es igual a un segundo, 500 es medio segundo, etc y en el boton de cancelacion le pones thisform.timer1.enabled=.f. y listo, deja de ejecutar la rutina.
Espero haberte servido de algo, sino, segui preguntando y vemos que hacemos
Un Abrazo....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda de capos en Visual Fox

Publicado por vale (1 intervención) el 28/05/2007 23:44:22
tengo que hacer un sistema para recibirme y necesito la programación del do while si me ayudas pasandome la programación te lo agradezco.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar