Criar uma função Alert()
Moderador: Moderadores
- rubens
- Colaborador

- Mensagens: 1520
- Registrado em: 16 Ago 2003 09:05
- Localização: Nova Xavantina - MT
Criar uma função Alert()
Bom dia...
Se já tiver isso no Fórum me desculpem, não sabia nem como pesquisar isso...
Eu vi que é fácil usar a função wapi_messagebox(), daí queria que toda vez que eu chamasse no programa o alert() ele executasse a minha função e não a função nativa alert()
Tem como fazer isso? Daí não preciso mudar dentro dos prgs a chamada para a nova função...
Até pesquisei nos prgs todos os alerts, mas se fosse só alert() beleza trocava facinho mas tem os argumentos enviados junto com a função, daí não vi como alterar tudo de uma vez...
Obrigado
Rubens
Se já tiver isso no Fórum me desculpem, não sabia nem como pesquisar isso...
Eu vi que é fácil usar a função wapi_messagebox(), daí queria que toda vez que eu chamasse no programa o alert() ele executasse a minha função e não a função nativa alert()
Tem como fazer isso? Daí não preciso mudar dentro dos prgs a chamada para a nova função...
Até pesquisei nos prgs todos os alerts, mas se fosse só alert() beleza trocava facinho mas tem os argumentos enviados junto com a função, daí não vi como alterar tudo de uma vez...
Obrigado
Rubens
"Eu e minha casa servimos ao Senhor e você
"
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Criar uma função Alert()
Rubens, você pode usar a directive #command no início do PRG, por exemplo:
Obs.: pode colocar o comando acima dentro de algum CH que você chama no início de cada PRG.
Abraços,
Código: Selecionar todos
#command Alert( <xMessage>, [<aOptions>], [<cColor>], [<nDelay>] ) => SuaAlert(<xMessage>, <aOptions>, <cColor>, <nDelay>)Abraços,
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
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Criar uma função Alert()
Acho que a única diferença entre estas duas directivas é que na #translate você pode alterar parte de uma declaração, já o #command tem que passar a declaração completa, como fiz no exemplo da minha mensagem anterior.
Por exemplo:
Aqui todas as funções LEFT serão mudadas para RIGHT, independente dos parâmetros que a função LEFT tenha.
Obs.: mas a #translate também pode ser usada em uma declaração completa:
Abraços,
Por exemplo:
Código: Selecionar todos
#command Left( <cString>, <nCount> ) => SuaLeft( <cString>, <nCount> )Código: Selecionar todos
#translate LEFT => RIGHTObs.: mas a #translate também pode ser usada em uma declaração completa:
Código: Selecionar todos
#translate Left( <cString>, <nCount> ) => SuaLeft( <cString>, <nCount> )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
- rubens
- Colaborador

- Mensagens: 1520
- Registrado em: 16 Ago 2003 09:05
- Localização: Nova Xavantina - MT
Criar uma função Alert()
Bom dia...
Toledo o que tô fazendo de errado?
Continua aparecendo a telinha vermelha do Alert()...
Tentei com o Translate também e o alert continua aparecendo...
Obrigado
Rubens
Toledo o que tô fazendo de errado?
Código: Selecionar todos
#include "hbwin.ch"
#Command Alert( <xMessage>, [<aOptions>], [<cColor>], [<nDelay>] ) => Pergunta(<xMessage>, [<aOptions>],[<cColor>], [<nDelay>])
REQUEST HB_GT_WVT_DEFAULT
FUNCTION MAIN
ALERT(' TESTE ')
RETURN NIL
********************************************************************************
FUNCTION PERGUNTA(cTexto)
wapi_MessageBox( wapi_GetActiveWindow(), cTexto, "Confirmacao" )
RETURN NIL
Tentei com o Translate também e o alert continua aparecendo...
Obrigado
Rubens
"Eu e minha casa servimos ao Senhor e você
"
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Criar uma função Alert()
Olá Rubens,
É que o #command não está permutando a sequência porque não existe essa sequência em seus fontes. Também tenha em mente, que tanto o #define como o #command são Case Sensitives.
Pelo seu exemplo, troque o #command pelo #translate que não é Case Sensitive e teste dessa forma:Veja se ajuda.
É que o #command não está permutando a sequência porque não existe essa sequência em seus fontes. Também tenha em mente, que tanto o #define como o #command são Case Sensitives.
Pelo seu exemplo, troque o #command pelo #translate que não é Case Sensitive e teste dessa forma:
Código: Selecionar todos
#translate Alert => PerguntaAbraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Criar uma função Alert()
Amigos, o problema está no número de parâmetros passado na função ALERT(), se for passar apenas 1 parâmetro (Texto), então faça assim:
Abraços,
Código: Selecionar todos
#Command Alert( <xMessage> ) => Pergunta(<xMessage>)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
- rubens
- Colaborador

- Mensagens: 1520
- Registrado em: 16 Ago 2003 09:05
- Localização: Nova Xavantina - MT
Criar uma função Alert()
Agora sim Toledo... funcionou...
Jairo, eu já tinha percebido a questão do case sensitive, mas mesmo corrigindo não funcionou...
Agora é verificar os parâmetros que virão porque as vezes é só um ok, as vezes vem com opção sim-nao...
Obrigado
Rubens
Jairo, eu já tinha percebido a questão do case sensitive, mas mesmo corrigindo não funcionou...
Agora é verificar os parâmetros que virão porque as vezes é só um ok, as vezes vem com opção sim-nao...
Obrigado
Rubens
"Eu e minha casa servimos ao Senhor e você
"