Mensagem de Alerta
Moderador: Moderadores
- Cavalo Marinho
- Usuário Nível 3

- Mensagens: 156
- Registrado em: 01 Ago 2009 10:01
- Localização: Aracaju/Se
Mensagem de Alerta
Bom pessoal, procurei algo a respeito e nao encontrei.
é o seguinte: Preciso executar uma determinada rotina(funcão) e quero mostrar uma mensagem na tela como uma msginfo só que sem botão sem nada somente a mensagem e a rotina que chamou continuar sendo executada e no final da rotina destruir a telinha de mensagem.
exemplo: de um determinado ponto do sistema eu chamo uma funcao A ou uma Funcao B ou C estas funcoes deverá chamar uma função que gere uma telinha com informação tipo "AGUARDE O PROCESSAMENTO" , mas sem interromper as funcoes que a chamaram, apos o processamento destas funcoes deverá destruir a tela de informação.
Desculpe se nao fui bem claro.
é o seguinte: Preciso executar uma determinada rotina(funcão) e quero mostrar uma mensagem na tela como uma msginfo só que sem botão sem nada somente a mensagem e a rotina que chamou continuar sendo executada e no final da rotina destruir a telinha de mensagem.
exemplo: de um determinado ponto do sistema eu chamo uma funcao A ou uma Funcao B ou C estas funcoes deverá chamar uma função que gere uma telinha com informação tipo "AGUARDE O PROCESSAMENTO" , mas sem interromper as funcoes que a chamaram, apos o processamento destas funcoes deverá destruir a tela de informação.
Desculpe se nao fui bem claro.
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Mensagem de Alerta
Amigo, veja os seguintes exemplos na pasta \SAMPLES da sua MiniGui:
MiniGui Extended:
\SAMPLES\BASIC\WAIT_WINDOW
HMG Oficial:
\SAMPLES\Controls\WaitWindow\WAIT.WINDOW.1
Abraços,
MiniGui Extended:
\SAMPLES\BASIC\WAIT_WINDOW
HMG Oficial:
\SAMPLES\Controls\WaitWindow\WAIT.WINDOW.1
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
- Cavalo Marinho
- Usuário Nível 3

- Mensagens: 156
- Registrado em: 01 Ago 2009 10:01
- Localização: Aracaju/Se
Mensagem de Alerta
Olá
Veja se esta rotina serve
Poka
Veja se esta rotina serve
Código: Selecionar todos
# INCLUDE "MINIGUI.CH"
# INCLUDE "I_COLOR.CH"
# INCLUDE "ERROR.CH"
# INCLUDE "I_KEYBD.CH"
///////////////////
FUNCT MAIN
PUBL W_LARGURA:=GETDESKTOPWIDTH()
PUBL W_ALTURA:=GETDESKTOPHEIGHT()
DEFINE WINDOW PRINCIPAL;
AT 0,0;
WIDTH w_largura;
HEIGHT W_ALTURA;
ICON "";
MAIN ;
ON INIT MSG(0) ;
TITLE "Sistema";
NOMAXIMIZE;
FONT "ARIAL" SIZE 10;
BACKCOLOR WHITE
*-------defincoes dos botoes da janela princiapl
end window
// tela de aviso de processamento
DEFINE WINDOW MENSAGEM ;
AT W_ALTURA/4,W_LARGURA/8 ;
WIDTH W_LARGURA-200;
HEIGHT W_ALTURA/2;
TITLE '';
TOPMOST NOCAPTION;
BACKCOLOR BLUE
@ MENSAGEM.HEIGHT/2,0 LABEL LABEL_MENSAGEM ;
WIDTH MENSAGEM.WIDTH HEIGHT 40 ;
VALUE "" ;
FONT 'ARIAL' SIZE 18;
BACKCOLOR BLUE FONTCOLOR WHITE;
CENTERALIGN
END WINDOW
*---------------------
ACTIVATE WINDOW PRINCIPAL
ACTIVATE WINDOW MENSAGEM
RETU NIL
*----------------
/////////////////////
FUNC MSG(X,_XMENSAGEM)
/*
x= 1 mostra mensagem
0 esconde mensagem
exemplo
chame essa rotina antes do procedimento
msg(1) mostra mensagem padrao
msg(1," atualizando arquivos")
apos o porocedimento
msg(0) esconde tela
*/
DECLARE WINDOW MENSAGEM
IF EMPTY(_XMENSAGEM_)
MENSAGEM.LABEL_MENSAGEM.VALUE:="Aguarde...Processando"
ELSE
MENSAGEM.LABEL_MENSAGEM.VALUE:=LOWER(_XMENSAGEM_ )
ENDIF
IF X=1
MENSAGEM.SHOW
ELSE
MENSAGEM.HIDE
ENDIF
RETU NIL
*---------------------------
Poka
Mensagem de Alerta
Olá, pessoal
Fui ler a documentação e lá tem o seguinte :
"This command must be used only after main window was activated."
Tem como evitar que a janela MAIN APAREÇA ?
Tentei usar o SetFocus na minha janela de formulário para evitar que a Main sobreponha, mas não deu certo.
Uso HMG 3.4.4
Não sei se fui claro, mas é um efeito esquisito mesmo. Eu tenho a Main, chamo a janela do meu formulário, consulto o CEP, e quando boto a mensagem de "aguarde", a janela Main aparece sobrepondo tudo e logo após a WAIT CLEAR o meu formulário aparece de novo.
Obrigado
Executei esse exemplo e funcionou perfeitamente, mas quando a aplicação tem mais de uma janela fica esquisito, porque a janela MAIN sempre fica aparecendo.Toledo escreveu:Amigo, veja os seguintes exemplos na pasta \SAMPLES da sua MiniGui:
MiniGui Extended:
\SAMPLES\BASIC\WAIT_WINDOW
HMG Oficial:
\SAMPLES\Controls\WaitWindow\WAIT.WINDOW.1
Abraços,
Código: Selecionar todos
WAIT WINDOW "Buscando CEP (Aguarde)..." NOWAIT
//MEU PROCESSAMENTO
WAIT CLEAR
"This command must be used only after main window was activated."
Tem como evitar que a janela MAIN APAREÇA ?
Tentei usar o SetFocus na minha janela de formulário para evitar que a Main sobreponha, mas não deu certo.
Uso HMG 3.4.4
Não sei se fui claro, mas é um efeito esquisito mesmo. Eu tenho a Main, chamo a janela do meu formulário, consulto o CEP, e quando boto a mensagem de "aguarde", a janela Main aparece sobrepondo tudo e logo após a WAIT CLEAR o meu formulário aparece de novo.
Obrigado
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Mensagem de Alerta
Pra que complicar tanto?
Tem status bar?
Coloca lá um pedaço com numeração, indicando tarefas de background.
Tem status bar?
Coloca lá um pedaço com numeração, indicando tarefas de background.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Mensagem de Alerta
Vou seguir o seu conselho. O status bar é o controle indicado para esse tipo de tarefa. Acho que, nesse caso, as aplicações em modo texto são melhores. Uma boa janela de mensagem (a moda antiga, tipo PopOn/PopOff) é melhor para o operador ver o aviso. Um status bar é muito discreto, mas é o que vou usar agora. Se houver reclamação eu vejo outra solução. O colega Poka postou uns códigos que eu cheguei a testar sem sucesso, mas o problema está comigo e não com o código dele. Em todo caso eu vou ficar com esse status bar mesmo (pelo menos por enquanto)
Obrigado a todos
Obrigado a todos
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Mensagem de Alerta
Se for o caso, coloque em vermelho quando tem tarefa, algo que fique em destaque.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
