FoxPro/Visual FoxPro - WAIT WINDOW CENTRADO

   
Vista:
Imágen de perfil de Mauricio

WAIT WINDOW CENTRADO

Publicado por Mauricio (1368 intervenciones) el 09/07/2009 22:35:51
Este proceso presenta el WAIT WINDO centrado, pruebenlo, espero les guste:
*---
=Centrado("Usar WAIT WINDOW en forma centrada" + CHR(13) + ;
' Esta es una prueba de centrado...',2)
*---
FUNCTION Centrado
PARAMETERS pcmensaje, pnmodo, pnsegundos, lcarea
IF pcount() = 0 OR TYPE("pcmensaje") # "C"
RETURN("")
ENDIF
IF TYPE("pnmodo") # "N"
pnmodo = 0
ENDIF
IF TYPE("pnsegundos") # "N"
pnsegundos = 1
ENDIF
IF TYPE("lcarea") # "C"
lcarea = "_SCREEN"
ENDIF
LOCAL lnfila AS INTEGER, lncolumna AS INTEGER
LOCAL lnold_scale, lcmodo AS CHARACTER, lcresp AS CHARACTER

DO CASE
CASE pnmodo = 0
lcmodo = ""
CASE pnmodo = 1
lcmodo = "NOWAIT"
CASE pnmodo = 2
lcmodo = "TIMEOUT pnsegundos + 2"
OTHERWISE
lcmodo = ""
ENDCASE
lnold_scale = &lcarea..SCALEMODE
&lcarea..SCALEMODE = 0
lnfila = &lcarea..HEIGHT / 2
lncolumna = ( &lcarea..WIDTH / 2 ) - LEN(pcmensaje) / 2
WAIT WINDOW pcmensaje TO lcresp AT lnfila, lncolumna &lcmodo
&lcarea..SCALEMODE = lnold_scale
RETURN(lcresp)
ENDFUNC
*NOTA: El 1er parametro es el mensaje, el segundo fijese en el
* DO CASE, el tercero va junto cuando 'pnmodo' es igual a 2, y
* el ultimo parametro puede ser _SCREEN o THISFORM por ejemplo.
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

RE:WAIT WINDOW CENTRADO

Publicado por Ernesto Hernandez (4632 intervenciones) el 09/07/2009 23:34:41
lnRow = 25
lnCol = 80
WAIT "Press any key..." WINDOW AT lnRow,lnCol

PRUEBA ESTO
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
Imágen de perfil de Mauricio

WAIT WINDOW CENTRADO

Publicado por Mauricio (1368 intervenciones) el 10/07/2009 00:44:48
Hola Ernesto, sabes, ya lo probe y me parece bien aunque no lo he revisado bien en el HELP.
Ya probaste el que he posteado?
En este tu puedes darle el timeout para que desaparezca en vez de oprimir cualquier tecla, pero igual para gustos hay colores.
Muchas gracias Ernesto.
El que postee tiene un pequeño error, aca esta corregido, espero!!!!
*---
Este proceso presenta el WAIT WINDO centrado, pruebenlo, espero les guste:
*---
FUNCTION Centrado
PARAMETERS pcmensaje, pnmodo, pnsegundos, lcarea
IF pcount() = 0 OR TYPE("pcmensaje") # "C"
RETURN("")
ENDIF
IF TYPE("pnmodo") # "N"
pnmodo = 0
ENDIF
IF TYPE("pnsegundos") # "N"
pnsegundos = 1
ENDIF
IF TYPE("lcarea") # "C"
lcarea = "_SCREEN"
ENDIF
LOCAL lnfila AS INTEGER, lncolumna AS INTEGER
LOCAL lnold_scale, lcmodo AS CHARACTER, lcresp AS CHARACTER

DO CASE
CASE pnmodo = 0
lcmodo = ""
CASE pnmodo = 1
lcmodo = "NOWAIT"
CASE pnmodo = 2
lcmodo = "TIMEOUT pnsegundos + 2"
OTHERWISE
lcmodo = ""
ENDCASE
lnold_scale = &lcarea..SCALEMODE
&lcarea..SCALEMODE = 0
lnfila = &lcarea..HEIGHT / 2
lncolumna = ( &lcarea..WIDTH / 2 ) - LEN(pcmensaje) / 2
WAIT WINDOW pcmensaje TO lcresp AT lnfila, lncolumna &lcmodo
&lcarea..SCALEMODE = lnold_scale
RETURN(lcresp)
ENDFUNC
*NOTA: El 1er parametro es el mensaje, el segundo fijese en el
* DO CASE, el tercero va junto cuando 'pnmodo' es igual a 2, y
* el ultimo parametro puede ser _SCREEN o THISFORM por ejemplo.
*---
=Centrado("Usar WAIT WINDOW en forma centrada" + CHR(13) + ;
' Esta es una prueba de centrado...',2)
*---
Lo probe y esta bien esta version, gracias!!!!!
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
Imágen de perfil de Mauricio

WAIT WINDOW CENTRADO

Publicado por Mauricio (1368 intervenciones) el 10/07/2009 01:12:18
Tienes razon Ernesto, probe esto y es mas practico:
WAIT "Esta es una prueba de Wait Window" + CHR(13) + ;
"Para saber si se amanece estudiando o no" + CHR(13) + ;
"Para ver quien aguanta mas..........." + CHR(13) + ;
"JEJEJEJEJEJEJEJEJEJEJEJEJE" ;
WINDOW AT 15,45 TIME 5
Gracias Ernesto!!!!!!
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:WAIT WINDOW CENTRADO

Publicado por Mario (199 intervenciones) el 10/07/2009 21:31:18
Mensaje='Aguarde... verificando información'
_SCREEN.SCALEMODE = 0
WAIT WINDOW Mensaje AT INT(_SCREEN.HEIGHT/2), INT(_SCREEN.WIDTH/2 - LEN(Mensaje) / 2) NOWAIT
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