sexta-feira, 21 de junho de 2013

DELPHI - TIPOS DE MENSAGENS


No delphi estão disponíveis três métodos: ShowMessage, MessageDlg e MessageBox.

ShowMessage:

1
2
3
4
procedure TForm1.Button1Click(Sender: TObject);
begin
    ShowMessage('A sua Mensagem');
end;
MessageDlg

1
2
3
4
procedure TForm1.Button1Click(Sender: TObject);
begin
    MessageDlg('Mensagem qualquer', mtInformation, mbOKCancel, 0);
end;
Sendo que o 1º parâmetro é uma string, a mensagem propriamente dita. O 2º parâmetro é o tipo da mensagem. O 3º parâmetro é os botões que serão exibidos na caixa de diálogo.

Para este tipo de caixa de diálogo os seguintes tipos de diálogo estão disponíveis:

1
2
3
4
5
mtWarning
mtError
mtInformation
mtConfirmation
mtCustom
e os seguintes tipos de botões:

1
2
3
4
5
mbYesNoCancel
mbYesAllNoAllCancel
mbOkCancel
mbAbortRetryIgnore
mbAbortIgnore
MessageBox

1
2
3
4
procedure TForm1.Button1Click(Sender: TObject);
begin
    Application.MessageBox('Mensagem', 'Título', mb_IconError + mb_Ok);
end;
Repare no trecho:

1
Application.MessageBox('...
A função MessageBox precisa de um handler. Neste trecho definimos que o Handler da MessageBox será a própria aplicação:

1
Application.MessageBox
. Caso contrário, seria necessário passar este handler como o primeiro parâmetro:

1
2
3
4
procedure TForm1.Button1Click(Sender: TObject);
begin
    MessageBox(handler, 'Mensagem', 'Título', mb_IconError + mb_Ok);
end;
Ainda sobre a função MessageBox, temos as seguintes opções quanto ao tipo de mensagem:

1
2
3
4
MB_ICONINFORMATION
MB_ICONERROR
MB_ICONWARNING
MB_ICONQUESTION
E os seguintes tipos de botões:

1
2
3
4
5
6
MB_OK
MB_OKCANCEL
MB_YESNO
MB_YESNOCANCEL
MB_RETRYCANCEL
MB_ABORTRETRYIGNORE
Para as funções MessageDlg e MessageBox existem Tipos de retorno, que nada mais é do que a resposta do usuário: o botão clicado:

1
2
3
4
5
6
7
IDOK
IDCANCEL
IDYES
IDNO
IDABORT
IDRETRY
IDIGNORE
Exemplos:
> MessageDlg

1
2
3
4
5
6
7
procedure TForm1.Button1Click(Sender: TObject);
begin
    if(MessageDlg('Deseja salvar o arquivo?', mtConfirmation, mbOKCancel, 0) = IdOk)then
     begin
       //Execute a ação de salvar o arquivo
     end;
end;
> MessageBox

1
2
3
4
5
6
7
procedure TForm1.Button1Click(Sender: TObject);
begin
    if(Application.MessageBox('Deseja salvar o arquivo?', 'Salvar', MB_ICONINFORMATION + MB_OKCANCEL) = IdOk)then
     begin
       //Execute a ação de salvar o arquivo
     end;
end;
Nota: Existem mais tipos de mensagens, botões e retorno do usuário, que são constantes definidas na unit ‘Windows’.

Nenhum comentário: