Modo Console - pisca / sombra
Moderador: Moderadores
-
Paulo Pereira
- Usuário Nível 2

- Mensagens: 79
- Registrado em: 28 Abr 2011 00:29
- Localização: Joinville / SC
Modo Console - pisca / sombra
Estou tendo 3 problemas no modo console..
1-Esse comando setcolor('w*/r') // vermelho piscante. NAO pisca no harbour
2-Quando faz um atalho para o aplicativo, o sistema da mensagem: editor desconhecido e pede se quer continuar.
3-Se compilar com harbour 3.2, uma funcao que que simulava uma janela com sombra .. na sombra agora mostra o caracter ? (ponto de interrogacao)
Alguma solucao ?
1-Esse comando setcolor('w*/r') // vermelho piscante. NAO pisca no harbour
2-Quando faz um atalho para o aplicativo, o sistema da mensagem: editor desconhecido e pede se quer continuar.
3-Se compilar com harbour 3.2, uma funcao que que simulava uma janela com sombra .. na sombra agora mostra o caracter ? (ponto de interrogacao)
Alguma solucao ?
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Modo Console
Olá Paulo,
Abra o Internet explorer
clique em Ferramentas > Opções da Internet > Segurança > Click em Intranet
Local e depois clique em Sites e Desmarque a opção Detectar Automaticamente a
rede Intranet
HUmmm, Não sei, nem nunca usei pisca-pisca.Paulo Pereira escreveu: 1-Esse comando setcolor('w*/r') // vermelho piscante. NAO pisca no harbour
Normal em aplicativos 32bits sendo rodado pela rede, na maquina local isso não acontece, se quer tirar esse aviso Siga os passos abaixo:2-Quando faz um atalho para o aplicativo, o sistema da mensagem: editor desconhecido e pede se quer continuar.
Abra o Internet explorer
clique em Ferramentas > Opções da Internet > Segurança > Click em Intranet
Local e depois clique em Sites e Desmarque a opção Detectar Automaticamente a
rede Intranet
Antes era um carácter ASCII ? está rodando em modo tela cheia ? está linkando alguma LIB grafica ou essas que parace gráfica, tipo GTWVG, GTWVW ?3-Se compilar com harbour 3.2, uma funcao que que simulava uma janela com sombra .. na sombra agora mostra o caracter ? (ponto de interrogacao)
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
-
Paulo Pereira
- Usuário Nível 2

- Mensagens: 79
- Registrado em: 28 Abr 2011 00:29
- Localização: Joinville / SC
Modo Console
Nao uso LIbs grafica, o problema acontece em tela cheia ou janela
Em anexo a funcao, moldura
PS: O Pisca pisca é muito necessario para o meu cliente..
Em anexo a funcao, moldura
PS: O Pisca pisca é muito necessario para o meu cliente..
- Anexos
-
LMOLDURA.PRG- (831 Bytes) Baixado 191 vezes
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Modo Console
Fiz a pesquisa aqui no fórum e encontrei que os colegas aqui neste tópicos, abordam o tema:
https://pctoledo.org/forum/viewto ... sca#p57486
https://pctoledo.org/forum/viewto ... 922#p31922
Apesar que o colega Maligno tenha conseguido algum resultado em C++, não mostrou o código e também parece que só iria resultar favorável em tela cheia (não janelado) e ainda teria que alterar o modo de exibição do vídeo. Em outras palavras: não impossível no entanto limitado.
Apesar que eu já implementei algo parecido com este que o colega indicou: https://pctoledo.org/forum/viewto ... 131#p21131 experimente, se você gostar, poderia você mesmo criar uma função pisca_pisca.
Com respeito a sombra, também achei aqui no fórum uma solução apresentada recente: https://pctoledo.org/forum/viewto ... bra#p74900
https://pctoledo.org/forum/viewto ... sca#p57486
https://pctoledo.org/forum/viewto ... 922#p31922
Apesar que o colega Maligno tenha conseguido algum resultado em C++, não mostrou o código e também parece que só iria resultar favorável em tela cheia (não janelado) e ainda teria que alterar o modo de exibição do vídeo. Em outras palavras: não impossível no entanto limitado.
Apesar que eu já implementei algo parecido com este que o colega indicou: https://pctoledo.org/forum/viewto ... 131#p21131 experimente, se você gostar, poderia você mesmo criar uma função pisca_pisca.
Com respeito a sombra, também achei aqui no fórum uma solução apresentada recente: https://pctoledo.org/forum/viewto ... bra#p74900
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Modo Console - pisca / sombra
Aplicativos Windows não possuem este recurso de "piscar". Já pesquisei sobre isto, inclusive dentro da documentação oficial do Windows onde encontrei uma resposta a este assunto dizendo que não é implementado pela Win32 API (na época)...
Vailton Renato
"No dia mais claro, na noite mais escura... o bug sucumbirá ante a minha presença"
E-mail/MSN: contato@vailton.com.br
Skype: vailtom
"No dia mais claro, na noite mais escura... o bug sucumbirá ante a minha presença"
E-mail/MSN: contato@vailton.com.br
Skype: vailtom
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Modo Console - pisca / sombra
Sim Vailton, na minha mensagem anterior, eu já mencionei em forma de link um tópico no qual você fala já sobre isso.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
-
Paulo Pereira
- Usuário Nível 2

- Mensagens: 79
- Registrado em: 28 Abr 2011 00:29
- Localização: Joinville / SC
Modo Console - pisca / sombra
Obrigado a todos.. vou testar...
Vejam como é o cliente.... foi reclamar de um pisca pisca,, já está em vermelho..
mas tem que piscar
Nao entendo como uma linguagem em C, nao consegue fazer piscar na tela..
Vejam como é o cliente.... foi reclamar de um pisca pisca,, já está em vermelho..
mas tem que piscar
Nao entendo como uma linguagem em C, nao consegue fazer piscar na tela..
Modo Console - pisca / sombra
A microsoft (que desenvolve o software Microsoft Windows) em sua documentação oficial diz que não implementou este recurso dentro do seu sistema operacional... não faz muita diferença se é em C, Delphi, C++, C# ou ASM: se eles não derem brecha para isto, fica no minimo dificil de se obter este resultado.Paulo Pereira escreveu:Nao entendo como uma linguagem em C, nao consegue fazer piscar na tela..
Embora eu desconfie de que talvez um recurso como este possa ser alcançado usando meios muito alternativos, não sei se os investimentos justificariam uma pesquisa e desenvolvimento de uma solução (que com certeza seria muito onerosa) para este cenário.
Vailton Renato
"No dia mais claro, na noite mais escura... o bug sucumbirá ante a minha presença"
E-mail/MSN: contato@vailton.com.br
Skype: vailtom
"No dia mais claro, na noite mais escura... o bug sucumbirá ante a minha presença"
E-mail/MSN: contato@vailton.com.br
Skype: vailtom
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Modo Console - pisca / sombra
Olá!
Você colocou SetBlink( .F. ) antes do SetColor()?
Você colocou SetBlink( .F. ) antes do SetColor()?
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Modo Console - pisca / sombra
No exemplo que ele colocou LMOLDURA.PRG eu baixei e notei que não tinha utilizado o SetBlink mas mesmo colocando não resolve, como já foi exposto.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Modo Console - pisca / sombra
Olá!
Tentou SetBlink( .T. )? (estou sem ambiente xBase por isto não consigo fazer testes).
Tentou SetBlink( .T. )? (estou sem ambiente xBase por isto não consigo fazer testes).
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Modo Console - pisca / sombra
Já experimentei de todas as formas. Aqui comigo não funciona. Consegui reproduzir algo semelhante, anexei o executável para testarem e já aproveitando postei a questão das sombras:
Como podem ver o SetBlink não resolveu, apenas a função Pisca deu o efeito que assemelha-se ao "*" do Setcolor. Espero que tenha servido o propósito.
Código: Selecionar todos
eREQUEST HB_GT_WIN_DEFAULT // Utilizado no HMG para compilar em modo console (pode remover)
Function Main
CLS
SetMode(25,80)
For i=1 to 23
@ i,00 Say Replicate(Chr(219),80) color "GR+/GR+"
Next
hb_gtInfo( 9, .T. )
SetBlink( .F. )
moldura(02,20,10,69,1)
@ 06, 40 say "Blink attribute is: "+(if(SetBlink(),"On","Off")) COLOR "GR*/B"
@ 24,00 say PadC("Press a key to toggle blink attribute",80)
Inkey(0)
SetBlink( .NOT. SetBlink() )
moldura(14,20,21,69,2)
cTexto:="Blink attribute is: "+(if(SetBlink(),"On","Off"))
@ 18, 25 say cTexto COLOR "GR*/B"
@ 24,00 say PadC("Press a key to see GAMBIARRA",80)
Inkey(0)
Pisca(18,25,cTexto,"GR*/B",.t.)
@ 24,00 say PadC("Press a key to end",80)
Inkey(0)
RETURN
*--------------------------------
* Funcao das molduras das opcoes
*--------------------------------
func moldura(wli,wci,wlf,wcf,vtipo)
local ja_rl,ja_rc,ja_col,ja_lin,vcont,vcor:=setcolor()
ja_col:=savescreen(wli+1,wcf+1,wlf+1,wcf+1)
ja_lin:=savescreen(wlf+1,wci+1,wlf+1,wcf+1)
store '' to ja_rl,ja_rc
for vcont:=1 to len(ja_lin)/2
ja_rl:=ja_rl+substr(ja_lin,vcont*2-1,1)+chr(9)
next
for vcont:=1 to len(ja_col)/2
ja_rc:=ja_rc+substr(ja_col,vcont*2-1,1)+chr(9)
next
restscreen(wli+1,wcf+1,wlf+1,wcf+1,ja_rc) // <====efeito da sombra vertical
restscreen(wlf+1,wci+1,wlf+1,wcf+1,ja_rl) // <== efeito da sombra no rodape
setcolor('gr/b+')
if valtype(vtipo)='U' .or. vtipo=1
@ wli,wci,wlf,wcf box "ËÍ˺¼ÍȺ "
else
@ wli,wci,wlf,wcf box "ÉÍ»º¼ÍȺ " && moldura 2
endif
setcolor(vcor)
return
Function Pisca(nL,nC,cT,cC,lSom)
Local nK:=0, nCursor:=SetCursor()
Set Cursor off
do while !(nK>0)
@ nL, nC say cT Color cC
nK:=Inkey(.2)
@ nL, nC say space(Len(cT)) Color cC
nK:=Inkey(.2)
If lSom
PlayExclamation()
Endif
enddo
@ nL, nC say cT Color cC
SetCursor(nCursor)
Return Nil- Anexos
-
Demo.rar- (483.48 KiB) Baixado 176 vezes
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Modo Console - pisca / sombra
Colega qdo migrei meu sistema tb tinha o recurso de alerta piscante e ao migrar percebi que estava diferente, mas não atentei a isto...
Atentei somente a questões mais graves como algum erro etc... enfim coloquei em alguns clientes beta testers da versão nova na época em xHarbour e uns dos q retornaram notou q não piscava os alertas...
Enfim me debati daki e dali fiz testes com Set Blink e outros e nada... cheguei a conclusão q por maneiras convencionais não conseguiria, foi então q um deles deu uma solução q foi adota e esta até hoje que é a seguinte...
Destaque mais as cores tipo um "N/GR*" q vc verá por exemplo q ficara um amarelo intenso de fundo e a letra Preta"
E a solução alternativa é colocar junto um sinal sonoro através da Função Tone()
Ou seja aí vc amarra a Cor destacada ao Sinal Sonoro, simbolizando um alerta alternativo...
Exemplo:
Tomara q vc consiga, na época não consegui mas ficou bom com esta alternativa...
[]´s
Atentei somente a questões mais graves como algum erro etc... enfim coloquei em alguns clientes beta testers da versão nova na época em xHarbour e uns dos q retornaram notou q não piscava os alertas...
Enfim me debati daki e dali fiz testes com Set Blink e outros e nada... cheguei a conclusão q por maneiras convencionais não conseguiria, foi então q um deles deu uma solução q foi adota e esta até hoje que é a seguinte...
Destaque mais as cores tipo um "N/GR*" q vc verá por exemplo q ficara um amarelo intenso de fundo e a letra Preta"
E a solução alternativa é colocar junto um sinal sonoro através da Função Tone()
Ou seja aí vc amarra a Cor destacada ao Sinal Sonoro, simbolizando um alerta alternativo...
Exemplo:
Código: Selecionar todos
.... Seu código
IF lAlerta
AlertaeSom("Atenção este é um alerta", nTipodoSom)
Endif
....
**************************************************************************************************************
Procedure AlertaeSom(cMensagem, nTipodoSom)
* Rotina para Mostrar um Alerta com Som, na verdade primeiro o som depois o alerta... rsrs
**************************************************************************************************************
//-- Define por padrão o som tipo 1 caso não venha o parâmetro
nTipodoSom := IIF( nTipodoSom == NIL, 1, nTipodoSom)
//-- Define por padrão a mensagem como "Alerta Padrão" caso não venha o parâmetro
cMensagem := IIF( cMensagem == NIL, "Alerta Padrão", cMensagem)
//-- Verifica qual o tipo do som e emite
do case
case nTipodoSom == 1 //-- Som tipo tal
tone(262, 3)
tone(262, 1)
tone(294, 6)
tone(262, 6)
tone(349, 6)
tone(330, 15)
case nTipodoSom == 2 //-- Som tipo outro
tone(392, 1)
tone(523, 1)
tone(659, 1)
tone(784, 5)
tone(659, 1)
tone(784, 25)
otherwise //-- E mais outro... etc
tone(4000, 1)
InKey(0.1)
tone(4000, 1)
InKey(0.1)
tone(4000, 1)
endcase
//-- Mostra a mensagem de alerta em cor destacada preta com fundo amarelo intenso e depois de 5 segundos caso o usuario não interagir cai fora
Alert( cMensagem, , "N/GR*", 5)
Return
[]´s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Modo Console - pisca / sombra
Boma ideia de implementar a opção de som. Eu refiz o exemplo que postei na minha mensagem anterior.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Modo Console - pisca / sombra
Uma alternativa para fazer piscar na tela.
Para usar
Declarar a variável nPisca
Para usar
Declarar a variável nPisca
Código: Selecionar todos
STATIC nPisca
FUNCTION Main
@10,00 SAY "TESTE"
Pisca("TESTE")
inkey(0)
Pisca() //para cancelar o blink
RETURN Nil
Código: Selecionar todos
FUNCTION Pisca(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(cMensagem,cCor1,cCor2) } )
ENDIF
RETURN .T.
FUNCTION PiscaMensagem(cMensagem,cCor1,cCor2)
STATIC nTempoPisca
IF nTempoPisca = Nil
nTempoPisca:=Seconds()
ENDIF
IF Seconds() - nTempoPisca >= nTmpLog
ScreenMark(cMensagem,cCor1,.F.,.T.)
HB_IdleSleep( .3 )
ScreenMark(cMensagem,cCor2,.F.,.T.)
nTempoPisca:=Seconds()
ENDIF
RETURN Nil
►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)