Si te refieres al lenguaje Xbase si existe y no es lo mismo que If.
Código:
FUNCTION PUSHDN(nRowini,cMsge,cColorbox,cColormsge)
LOCAL nColini,nRowfin,nColfin,cScreen,I,nOldCursor,lRetorno:=.F.,nTecla
LOCAL nMitad:=MAXCOL()/2
nOldCursor:=SETCURSOR()
SETCURSOR(0)
IF cMsge==NIL .OR. VALTYPE(cMsge) # "C"
RETURN(nil)
END
IF nRowini == NIL .OR. nRowini > 22
nRowini:=22
END
IF LEN(cMsge)>70
cMsge:=LEFT(cMsge,70)
END
IF cColorbox == NIL
cColorbox:="R"
END
IF cColormsge == NIL
cColormsge:="W/B"
END
nColini:=nMitad-(LEN(cMsge)/2)-2
nColfin:=nMitad+(LEN(cMsge)/2)+2
nRowfin:=nRowini+2
cScreen:=SAVESCREEN(nRowini,nColini,nRowfin,nColfin)
BOXCONV(nRowini,nColini,nRowfin,nColfin,cColorbox)
@ nRowini+1,nColini+2 SAY cMsge COLOR cColormsge
WHILE nTecla # K_ENTER .AND. nTecla # K_ESC
nTecla:=INKEY(0)
END
IIF (nTecla == K_ENTER, lRetorno:=.T.,lRetorno:=.F.)
BOXCONC(nRowini,nColini,nRowfin,nColfin,cColorbox)
@ nRowini+1,nColini+2 SAY cMsge COLOR cColormsge
LOWERROR()
BOXCONV(nRowini,nColini,nRowfin,nColfin,cColorbox)
@ nRowini+1,nColini+2 SAY cMsge COLOR cColormsge
FOR i:=1 TO 10000
NEXT
RESTSCREEN(nRowini,nColini,nRowfin,nColfin,cScreen)
SETCURSOR(nOldCursor)
RETURN(lRetorno)
Es código Clipper que tenía por aquí a mano, de una función que cree en su día.
Un Saludo.