|
Utilizando caixas de mensagens - 3ª e última
parte
Nesta terceira e última parte, mostraremos como
funcionam as mensagens de confirmação das
telas de entrada de dados do Visual DataFlex, as dbViews,
e também como alterar estas mensagens.
Confirmações enviadas
automaticamente
Os DEOs (objetos de entrada de dados) enviam mensagens
de confirmação importantes durante as operações
de entrada de dados (gravação, exclusão,
limpeza e saída). A maior parte das classes de DEOs
possui propriedades que determinam qual mensagem de confirmação
ela envia para cada uma destas operações.
Normalmente estas mensagens são funções.
Se a função retorna zero, o usuário
confirmou a operação. Se a função
retorna diferente de zero, a confirmação falhou.
Você pode usar estas mensagens de confirmação
para exibir uma das várias caixas de diálogo
que apresentamos nas partes I e II desta matéria,
com uma pergunta específica ("Salvar o registro
deste cliente?", por exemplo).
Um DEO precisa saber qual mensagem de confirmação
ele deve enviar durante uma gravação, exclusão,
limpeza ou saída. Cada DEO possui propriedades que
contém identificadores das mensagens que deverão
chamar. Estas propriedades são Verify_Save_Msg, Verify_Delete_Msg,
Verify_Data_Loss_Msg e Verify_Exit_Msg. Se o valor de uma
destas propriedades é zero, o DEO irá delegar
e usar a mensagem de confirmação definida
em seu DEO pai. Se a propriedade do pai também é
zero (e a propriedade de todos os seus DEOs ancestrais também
é zero), nenhuma mensagem será enviada.
As mensagens de confirmação usadas por estas
propriedades estão definidas no arquivo DfConfrm.pkg.
Se você estiver usando a versão 8.2 ou superior
do Visual DataFlex, estas mensagens já estarão
em português se a língua portuguesa estiver
selecionada como padrão no arquivo Language_Current.inc.
Vejamos mais detalhes sobre elas:
Verify_Save_Msg
Como o nome indica, a mensagem especificada nesta propriedade
será chamada quando o usuário solicitar a
gravação de um registro. Sua configuração
padrão para a maior parte dos objetos é a
seguinte:
Set Verify_Save_Msg To GET_Save_Confirmation
Esta mensagem apresenta a seguinte caixa de confirmação:

Nos objetos da classe dbGrid, esta confirmação
é desabilitada, ou seja, não há confirmação
para a gravação de cada linha da dbGrid.
No arquivo DfConfrm.pkg, entretanto, há uma mensagem
pronta para este propósito. Se desejar usá-la,
basta acrescentar a seguinte linha dentro do seu objeto
dbGrid:
Set Verify_Save_Msg To GET_Line_Save_Confirmation
Esta mensagem apresenta a seguinte caixa de confirmação:

Verify_Delete_Msg
Como o nome indica, a mensagem especificada nesta propriedade
será chamada quando o usuário solicitar a
exclusão de um registro. Sua configuração
padrão para a maior parte dos objetos é a
seguinte:
Set Verify_Delete_Msg To GET_Delete_Confirmation
Esta mensagem apresenta a seguinte caixa de confirmação:

Nos objetos da classe dbGrid, esta propriedade é
configurada da seguinte forma:
Set Verify_Delete_Msg To GET_Line_Delete_Confirmation
A mensagem Line_Delete_Confirmation apresenta a seguinte
caixa de confirmação:

Verify_Data_Loss_Msg
A mensagem especificada nesta propriedade será chamada
quando o usuário solicitar a limpeza de um registro
(Clear ou ClearAll) e existirem informações
não-salvas. Sua configuração padrão
para a maior parte dos objetos é a seguinte:
Set Verify_Data_Loss_Msg To GET_Data_Loss_Confirmation
Esta mensagem apresenta a seguinte caixa de confirmação:

Verify_Exit_ Msg
A mensagem especificada nesta propriedade será chamada
quando a dbView for fechada e existirem alterações
não salvas:
Set Verify_Exit_Msg To GET_Exit_Loss_Confirmation
Esta mensagem apresenta a seguinte caixa de confirmação:

Desabilitando confirmações
Conforme explicamos, se uma destas propriedades estiver
com o valor igual a zero, o objeto utilizará o valor
da propriedade do seu objeto pai. Portanto, configurar o
valor da propriedade com zero não desabilitará
a confirmação.
Se você quer desabilitar uma mensagem de confirmação,
a propriedade correspondente deve ser configurada dentro
da dbView com o valor GET_No_Confirmation. Por exemplo,
se em uma dbView não quisermos que seja exibida a
confirmação de gravação, devemos
colocar a seguinte linha de código dentro dela:
Set Verify_Save_Msg To GET_No_Confirmation
Personalizando as mensagens de confirmação
Existem várias formas diferentes de personalizar
as mensagens de confirmação. A forma mais
simples é criar uma nova função com
a lógica a ser usada para a confirmação
e configurar a propriedade correspondente com o identificador
desta função.
No exemplo abaixo, que pode ser colocado dentro de um objeto
dbView, a confirmação só será
solicitada se estivermos criando um novo registro:
Function ConfirmaGravacao Returns Integer
Integer iRet
If (Current_Record(Server(Self))
= 0) ;
Get Confirm "Salva o novo
registro?" To iRet
Function_Return iRet
End_Function
Set Verify_Save_Msg To GET_ConfirmaGravacao
Através desta matéria, dividida em três
partes, abordamos todos os assuntos relativos às
caixas de mensagens disponíveis no Visual DataFlex.
Com esta matéria, você será capaz de
personalizar e utilizar com sucesso estes importantes recursos.
Se você tiver sugestões para novos assuntos
a serem abordados nesta seção, escreva-nos.
|
Esta e outras dicas técnicas
você encontra na revista 4developers,
uma publicação trimestral com 40 páginas
de conteúdo técnico de alta qualidade,
desenvolvida pelo Departamento de Suporte Técnico
e distribuída exclusivamente para assinantes
do
Pacote de Serviços Exclusivos.
Assine o Pacote de Serviços Exclusivos e receba
gratuitamente a revista 4developers!
|
|