Getsys - Mostrar msg de ajuda no campo get!
Moderador: Moderadores
Getsys - Mostrar msg de ajuda no campo get!
Ola a todos,
Estou querendo dar uma implementada no meu sistema console colocando uma msg de ajuda (qndo houver) nos gets. Ja tenho isso usando a clausula when, mas num acho muito legal nao. O ideal seria acrescentar mais alguma cláusula no comando get, tipo:
@ 10, 20 Get vNomeCliente Pict "@!" AJUDA "INFORME O NOME DO CLIENTE!"
read
Precisaria disso no getsys!
Alguém ja tem algo pronto dessa natureza?
Janio
Estou querendo dar uma implementada no meu sistema console colocando uma msg de ajuda (qndo houver) nos gets. Ja tenho isso usando a clausula when, mas num acho muito legal nao. O ideal seria acrescentar mais alguma cláusula no comando get, tipo:
@ 10, 20 Get vNomeCliente Pict "@!" AJUDA "INFORME O NOME DO CLIENTE!"
read
Precisaria disso no getsys!
Alguém ja tem algo pronto dessa natureza?
Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Getsys - Mostrar msg de ajuda no campo get!
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Getsys - Mostrar msg de ajuda no campo get!
Toledo,
Seria exatamente isso que preciso. Inclusive, com a possibilidade da 'ajuda' ter diversas linhas.
Eu não uso lib's do GAS, mas vou ver se consigo adaptar ao meu getsys!
Janio
Seria exatamente isso que preciso. Inclusive, com a possibilidade da 'ajuda' ter diversas linhas.
Eu não uso lib's do GAS, mas vou ver se consigo adaptar ao meu getsys!
Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Getsys - Mostrar msg de ajuda no campo get!
Você pode usar também na clausula
Código: Selecionar todos
cVar:=Space(10)
@ 10,00 SAY "Teste " GET cVar WHEN Msg("Informe o nome do arquivo remessa.|Outra Linha 1|Outra Linha 2")
READ
FUNCTION Msg(cMens)
LOCAL nLin:=Row()+1, nCol:=Col(), I, aMens:={}
AADD(aMens,"")
nElemento:=1
nColMax:=0
FOR I:=1 to Len(cMens)
IF SubStr(cMens,i,1) = "|"
AADD(aMens,"")
nElemento++
ELSE
aMens[nElemento]+=SubStr(cMens,I,1)
ENDIF
NEXT
FOR I:=1 TO Len(aMens)
@ nLin,nCol SAY aMens[I]
nLin++
NEXT
RETURN .T.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Getsys - Mostrar msg de ajuda no campo get!
aSimões,
Não deu pra testar ainda o seu exemplo, mas não vi a questão da restauração da tela pra msg sumir qndo sair do get.
Janio
Não deu pra testar ainda o seu exemplo, mas não vi a questão da restauração da tela pra msg sumir qndo sair do get.
Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Getsys - Mostrar msg de ajuda no campo get!
Rogério,
Agora salvando a tela.
Agora salvando a tela.
Código: Selecionar todos
cVar1:=Space(10)
cVar2:=Space(10)
cVar3:=Space(10)
@ 10,00 SAY "Teste 1 " GET cVar1 WHEN {||Msg()}
@ 11,00 SAY "Teste 2 " GET cVar2 WHEN {||Msg(10,30,"Informe o nome do arquivo remessa.|Outra Linha 1|Outra Linha 2")}
@ 12,00 SAY "Teste 3 " GET cVar3 WHEN {||Msg()}
READ
FUNCTION Msg(nLin,nCol,cMens)
LOCAL I, aMens:={}
HB_Default(@cMens,"")
IF TYPE('FLAGMENSW') <> 'L'
PUBLIC FLAGMENSW:=.F., cTela
cTela:=SaveScreen()
ENDIF
RestScreen(00,00,24,79,cTela)
IF !Empty(cMens)
AADD(aMens,"")
nElemento:=1
nColMax:=0
FOR I:=1 to Len(cMens)
IF SubStr(cMens,i,1) = "|"
AADD(aMens,"")
nElemento++
ELSE
aMens[nElemento]+=SubStr(cMens,I,1)
ENDIF
NEXT
FOR I:=1 TO Len(aMens)
@ nLin,nCol SAY aMens[I]
nLin++
NEXT
ENDIF
RETURN .T.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Getsys - Mostrar msg de ajuda no campo get!
aSimoes,
Qndo vai para o get seguinte, some o que foi escrito no get anterior!
Janio
Qndo vai para o get seguinte, some o que foi escrito no get anterior!
Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Getsys - Mostrar msg de ajuda no campo get!
Acho que agora resolve o problema do GET
Código: Selecionar todos
FUNCTION Msg(nLin,nCol,cMens)
LOCAL I, aMens:={}
HB_Default(@cMens,"")
IF TYPE('FLAGMENSW') <> 'L'
PUBLIC FLAGMENSW:=.F., cTela
cTela:=SaveScreen()
ENDIF
RestScreen(00,00,24,79,cTela)
FOR I:=1 TO Len(GetList)
GetList[I]:display() //Mostrar o conteúdo do get
NEXT
IF !Empty(cMens)
AADD(aMens,"")
nElemento:=1
nColMax:=0
FOR I:=1 to Len(cMens)
IF SubStr(cMens,i,1) = "|"
AADD(aMens,"")
nElemento++
ELSE
aMens[nElemento]+=SubStr(cMens,I,1)
ENDIF
NEXT
FOR I:=1 TO Len(aMens)
@ nLin,nCol SAY aMens[I]
nLin++
NEXT
ENDIF
RETURN .T.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- Nascimento
- Usuário Nível 4

- Mensagens: 763
- Registrado em: 19 Jul 2008 12:11
- Localização: OLINDA-PE
Getsys - Mostrar msg de ajuda no campo get!
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina
clipper 5.3 /harbour/minigui
Getsys - Mostrar msg de ajuda no campo get!
A mensagem dentro de um box
Código: Selecionar todos
FUNCTION Msg(nLin,nCol,cMens)
LOCAL I, aMens:={}, nMax:=0
HB_Default(@cMens,"")
IF TYPE('FLAGMENSW') <> 'L'
PUBLIC FLAGMENSW:=.F., cTela
cTela:=SaveScreen()
ENDIF
RestScreen(00,00,24,MaxCol(),cTela)
FOR I:=1 TO Len(GetList)
GetList[I]:display()
NEXT
IF !Empty(cMens)
AADD(aMens,"")
nElemento:=1
nColMax:=0
FOR I:=1 to Len(cMens)
IF SubStr(cMens,i,1) = "|"
AADD(aMens,"")
nElemento++
ELSE
aMens[nElemento]+=SubStr(cMens,I,1)
ENDIF
NEXT
AEval( aMens, {|x| nMax:=Max(Len(x),nMax) } )
@ nLin-1, nCol TO nLin + Len(aMens), nCol + nMax + 1
FOR I:=1 TO Len(aMens)
@ nLin,nCol+1 SAY aMens[I]
nLin++
NEXT
ENDIF
RETURN .T.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Getsys - Mostrar msg de ajuda no campo get!
Que tal um hint com tempo de exibição:
Para usar a thread tem que compilar com a diretiva -mt
Incluir o header :
#include "hbthread.ch"
Para usar a thread tem que compilar com a diretiva -mt
Incluir o header :
#include "hbthread.ch"
Código: Selecionar todos
cVar1:=Space(10)
cVar2:=Space(10)
cVar3:=Space(10)
@ 10,00 SAY "Teste 1 " GET cVar1 WHEN {||Msg(10,20,10,"Informe o codigo.")}
@ 11,00 SAY "Teste 2 " GET cVar2 WHEN {||Msg(11,20,20,"Informe o nome do arquivo remessa.|Teste")} //WHEN Msg(10,30,"Informe o nome do arquivo remessa.|Outra Linha 1|Outra Linha 2")
@ 12,00 SAY "Teste 3 " GET cVar3 WHEN {||Msg(12,20,10,"A|B")}
READ
FUNCTION Msg(nLin,nCol,nSec,cMens)
LOCAL I, aMens:={}
HB_Default(@cMens,"")
HB_Default(@nSec,10)
IF TYPE('FLAGMENSW') <> 'L'
PUBLIC FLAGMENSW:=.F., cTela
cTela:=SaveScreen(00, nCol, 24, MaxCol())
ENDIF
RestScreen(00,nCol,24,MaxCol(),cTela)
FOR I:=1 TO Len(GetList)
GetList[I]:display()
NEXT
IF !Empty(cMens)
AADD(aMens,"")
nElemento:=1
nColMax:=0
FOR I:=1 to Len(cMens)
IF SubStr(cMens,i,1) = "|"
AADD(aMens,"")
nElemento++
ELSE
aMens[nElemento]+=SubStr(cMens,I,1)
ENDIF
NEXT
nMax:=0
AEval( aMens, {|x| nMax:=Max(Len(x),nMax) } )
hb_threadStart( HB_THREAD_INHERIT_PUBLIC, @LimpaHint(), nSec, nCol)
@ nLin-1, nCol TO nLin + Len(aMens), nCol + nMax + 1
FOR I:=1 TO Len(aMens)
@ nLin,nCol+1 SAY aMens[I]
nLin++
NEXT
ENDIF
RETURN .T.
FUNCTION LimpaHint(nSec,nCol)
LOCAL nTempo:=Seconds(), lContinua:=.T.
DO WHILE lContinua
IF Seconds() - nTempo >= nSec
RestScreen(00,nCol,24,MaxCol(),cTela)
lContinua:=.F.
ENDIF
ENDDO
RETURN .T.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Getsys - Mostrar msg de ajuda no campo get!
Josivan,
Ja tinha visto esse exemplo, mas num gostei muito.
Vou fazer alguns testes com o exemplo do aSimoes, fazer alguns ajustes (texto dentro de um box - q ele ja fez) e ver como fica.
Ta faltando eh tempo pra fazer os testes... mas hj pretendo concluir!
O inconveniente do exemplo do aSimoes eh o fato de ter q chamar a função um get antes e um depois do get q efetivamente a msg sera exibida. Isso pra pra função restaurar a tela e sumir a msg. Mas da pra ir levando... Se fosse algo dentro do proprio getsys, acho q isso seria evitado!
Janio
Ja tinha visto esse exemplo, mas num gostei muito.
Vou fazer alguns testes com o exemplo do aSimoes, fazer alguns ajustes (texto dentro de um box - q ele ja fez) e ver como fica.
Ta faltando eh tempo pra fazer os testes... mas hj pretendo concluir!
O inconveniente do exemplo do aSimoes eh o fato de ter q chamar a função um get antes e um depois do get q efetivamente a msg sera exibida. Isso pra pra função restaurar a tela e sumir a msg. Mas da pra ir levando... Se fosse algo dentro do proprio getsys, acho q isso seria evitado!
Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
