4D v14.3MESSAGE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
MESSAGE
|
MESSAGE ( mensagem ) | ||||||||
Parâmetro | Tipo | Descrição | ||||||
mensagem | cadeia |
![]() |
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:
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):
Produto: 4D
Tema: Mensagens
Número
88
Modificado: 4D 2004
CLOSE WINDOW
ERASE WINDOW
GOTO XY
Open window
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)