Modo Console - pisca / sombra
Enviado: 03 Dez 2012 21:19
O screenmark é uma ótima função desde que nao se use caracteres gráficos tipo ã | ç ►◄ esses caracteres não são tratados pela função screenmark,
então fiz essa outra versão que pode aceitar, usando @ say
então fiz essa outra versão que pode aceitar, usando @ say
Código: Selecionar todos
FUNCTION MAIN
Pisca(24,00,"► ATENÇÃO","W+/B","B/B")
Inkey(0)
RETURN Nil
FUNCTION Pisca(nLinha,nColuna,cMensagem,cCor1,cCor2)
PUBLIC nTmpLog:=1
HB_DEFAULT(@cMensagem,"")
HB_DEFAULT(@cCor1,"W+/N")
HB_DEFAULT(@cCor2,"N/N")
IF !Empty(cMensagem)
IF !TYPE("nPisca") == "U"
HB_IdleDel( nPisca )
ENDIF
nPisca:=HB_IdleAdd( {|| PiscaMensagem(nLinha,nColuna,cMensagem,cCor1,cCor2) } )
ELSE
HB_IdleDel( nPisca )
ENDIF
RETURN .T.
FUNCTION PiscaMensagem(nLinha,nColuna,cMensagem,cCor1,cCor2)
STATIC nTempoPisca
IF nTempoPisca = Nil
nTempoPisca:=Seconds()
ENDIF
IF Seconds() - nTempoPisca >= nTmpLog
//ScreenMark(cMensagem,cCor1,.F.,.T.)
@ nLinha,nColuna SAY cMensagem COLOR cCor1
HB_IdleSleep( .3 )
//ScreenMark(cMensagem,cCor2,.F.,.T.)
@ nLinha,nColuna SAY cMensagem COLOR cCor2
nTempoPisca:=Seconds()
ENDIF
RETURN Nil