4D v14.3

MESSAGE

Página Inicial

 
4D v14.3
MESSAGE

MESSAGE 


 

MESSAGE ( mensagem ) 
Parâmetro Tipo   Descrição
mensagem  cadeia in Mensagem a exibir

O comando MESSAGE geralmente se utiliza para informar ao usuário sobre alguma atividade. Mostra mensagem na tela em uma janela de mensagem especial que se abre e fecha cada vez que chamar a MESSAGE, a menos que trabalhe com uma janela que abriu previamente utilizando Open window (ver os seguintes detalhes). A mensagem é temporária e se apaga logo que se mostre um formulário ou se detenha a execução do método. Se executa outro comando MESSAGE, a mensagem anterior é apagada.

Se abrir uma janela com Open window, todas as chamadas posteriores ao comando MESSAGE mostram as mensagens nessa janela. A janela se comporta como um terminal:

  • As mensagens sucessivos não apagam as mensagens anteriores quando são mostradas na janela, são concatenadas em mensagens existentes.
  • Se uma mensagem é mais largo que a janela, 4D insere automaticamente um retorno a linha.
  • Se uma mensagem tem mais linhas que a janela, 4D automaticamente substitui a mensagem na janela.
  • Para controlar os saltos de linha automáticos, inclua retorno de carro, Char(13), em sua mensagem.
  • Para mostrar o texto em um lugar em particular da  janela, chame GOTO XY.
  • Para apagar os conteúdos da janela, chame ERASE WINDOW.
  • A janela é só uma janela de saída e seu conteúdo não pode ser redesenhado quando outras janelas são colocadas sobre ela.
  • Pode modificar a fonte e o tamanho dos caracteres mostrados na janela através da página "Interface" nas Propriedades da base.

O exemplo a seguir processa uma seleção de registros e chama MESSAGE para informar ao usuário sobre o progresso da operação:

 For($vlRegistro;1;Records in selection([todaTabela]))
    MESSAGE("Processo do registro #"+String($vlRegistro))
  ` Fazer algo com o registro
    NEXT RECORD([todaTabela])
 End for

A janela a seguir aparece e desaparece cada vez que se chama MESSAGE:

Com o objetivo de evitar a janela "piscante", pode mostrar as mensagens em uma janela aberta utilizando Open window, como em este exemplo:

 Open window(50;50;500;250;5;"Operação em progresso")
 For($vlRegistro;1;Records in selection([todaTabela]))
    MESSAGE("Processando registro #"+String($vlRegistro))
  ` Fazer algo com o registro
    NEXT RECORD([todaTabela])
 End for
 CLOSE WINDOW

O resultado é o seguinte (em Windows):

Adicionar um retorno de carro melhora a presentação:

 Open window(50;50;500;250;5;"Operação em progresso")
 For($vlRegistro;1;Records in selection([todaTabela]))
    MESSAGE("Processando registro #"+String($vlRegistro)+Char(Carriage return))
  ` Fazer algo com o registro
    NEXT RECORD([todaTabela])
 End for
 CLOSE WINDOW

Este é o resultado (em Windows):

Utilizando GOTO XY e escrevendo algumas linhas adicionais:

 Open window(50;50;500;250;5;"Operação em progresso")
 $vlNbRegistros:=Records in selection([todaTabela])
 $vhStartTime:=Current time
 For($vlRegistro;1;$vlNbRegistros)
    GOTO XY(5;2)
    MESSAGE("Processando registro #"+String($vlRegistro)+Char(Carriage return))
  ` Fazer algo com o registro
    NEXT RECORD([todaTabela])
    GOTO XY(5;5)
    $vlResto:=(($vlNbRegistros/$vlRegistro)-1)*(Current time-$vhHoraInicio)
    MESSAGE("Tempo restante estimado: "+Time string($vlResto))
 End for
 CLOSE WINDOW

O resultado é o seguinte (em Windows):

 
PROPRIEDADES 

Produto: 4D
Tema: Mensagens
Número 88

 
HISTÓRIA 

Modificado: 4D 2004

 
VER TAMBÉM 

CLOSE WINDOW
ERASE WINDOW
GOTO XY
Open window

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v12.4)
Manual de linguagem 4D ( 4D v11 SQL Release 6)
Manual de linguagem 4D ( 4D v14 R3)
Manual de linguagem 4D ( 4D v14 R2)
Manual de linguagem 4D ( 4D v13.5)
Manual de linguagem 4D ( 4D v14.3)
Manual de linguagem 4D ( 4D v14 R4)