*------------------------------------------------------* FUNCTION WaitWindowsCentrado(tcTexto, tcOpc, tnTimeout)* - - - - - - - - - - - - - - - - - - - - - - - - - - -* Muestra la ventana de WAIT WINDOWS centrada* PARAMETROS:* tcTexto = Texto a mostrar. Puede contener saltos de línea CHR(13)* tcOpc = Opciones NOCLEAR y NOWAIT del WAIT WINDOWS nativo* tnTimeOut = Segundos de espera para terminar el WAIT* USO: WaitWindowsCentrado(tcTexto, tcOpc, tnTimeOut)* EJEMPLO: WaitWindowsCentrado("Espere un momento...", "NOWAIT", 0)* RETORNA: Caracter* AUTOR: LMG - 20090824*------------------------------------------------------FUNCTION WaitWindowsCentrado(tcTexto, tcOpc, tnTimeOut)LOCAL lnMaxLen, lnNroLin, lnRelFil, lnRelCol, ;lnRows_VFP, lnFil, lnCol, lcRet, lcCmd, ln, la(1)*-- Texto del mensajeIF EMPTY(m.tcTexto)m.tcTexto = "Presione una tecla para continuar..."ENDIF*-- Linea mas larga de tcTexto (si es multilinea)m.lnMaxLen = 0m.lnNroLin = ALINES(la, m.tcTexto)FOR m.ln = 1 TO m.lnNroLinm.lnMaxLen = MAX(m.lnMaxLen,LEN(m.la(m.ln)))ENDFOR*-- Filas de ventana completa _VFP, distinto a WROWS(_SCREEN.NAME)m.lnRows_VFP = _VFP.HEIGHT / FONTMETRIC(1,_SCREEN.FONTNAME,_SCREEN.FONTSIZE)*-- Relación entre el tamaño de las*-- fuentes de WAIT WINDOWS y _SCREENm.lnRelFil = FONTMETRIC(1,'Arial',9) / FONTMETRIC(1,_SCREEN.FONTNAME,_SCREEN.FONTSIZE)m.lnRelCol = FONTMETRIC(6,'Arial',9) / FONTMETRIC(6,_SCREEN.FONTNAME,_SCREEN.FONTSIZE)m.lnFil = WLROW(_SCREEN.NAME) + (m.lnRows_VFP - m.lnNroLin * m.lnRelFil) / 2m.lnCol = WLCOL(_SCREEN.NAME) + (WCOLS(_SCREEN.NAME) - m.lnMaxLen * m.lnRelCol) / 2*-- Comandom.lcCmd = [WAIT WINDOWS tcTexto TO lcRet AT lnFil,lnCol]*-- Clausulas NOWAIT y NOCLEARIF NOT EMPTY(m.tcOpc) AND VARTYPE(m.tcOpc) = "C"IF "NOWA" $ UPPER(m.tcOpc)m.lcCmd = m.lcCmd + [ NOWAIT]ENDIFIF "NOCL" $ UPPER(m.tcOpc)m.lcCmd = m.lcCmd + [ NOCLEAR]ENDIFENDIF*-- Clausula TIMEOUTIF NOT EMPTY(m.tnTimeOut) AND VARTYPE(m.tnTimeOut) = "N"m.lcCmd = m.lcCmd + [ TIMEOUT tnTimeOut]ENDIF*-- Ejecuto el comando&lcCmdRETURN m.lcRetENDFUNC
cMensaje="MESAJE DE PRUEBA CENTRADO"