AP Delphi7 04
-
Upload
olverclock -
Category
Documents
-
view
215 -
download
2
description
Transcript of AP Delphi7 04
-
Apostila de Delphi 7.0 _______________________________________________________________________ Profa. Gilene B. Gomes ______
10. CAIXAS DE DILOGO PREDEFINIDAS
O Delphi oferece vrios comandos para a exibio de caixas de dilogo comuns, como caixas de mensagem (Message Boxes) e caixas de entrada (Input Boxes). Esses comandos permitem que aplicativos com recursos simples de entrada e sada sejam criados rapidamente.
10.1. MESSAGE BOXES (CAIXAS DE MENSAGEM)
As caixas de mensagem so usadas para exibir resultados, erros, ou avisos para o usurio. Elas so caixas modais (bloqueiam a execuo do programa quando so exibidas).
H funes para mostrar caixas de mensagem no Delphi. A mais simples ShowMessage, que mostra apenas uma mensagem e um boto OK. J a funo MessageDlg oferece mais opes, como smbolos e ttulos diferentes. A funo MessageBox permite criar um quadro de mensagem com vrios botes e que retorne uma resposta do usurio, indicando qual boto foi escolhido. Para a entrada de informaes simples, voc pode usar a funo InputBox.
10.2. USANDO O COMANDO SHOWMESSAGE
Use o comando ShowMessage para mostrar uma mensagem simples para o usurio. A mensagem exibida em uma pequena caixa, com um boto OK. A caixa fechada quando o boto OK clicado.
No exemplo abaixo, uma caixa de mensagem exibida quando o boto Button1 recebe um clique:
procedure TForm1.Button1Click(Sender: TObject); begin Shoend;
wMessage('Este comando no pode ser usado no momento.');
A caixa de mensagem exibida a seguinte:
Como padro, exibido o nome do projeto na barra de ttulo da caixa de mensagem.
__ www.gomeshp.com _________________________________________________________________________ 38
-
Apostila de Delphi 7.0 _______________________________________________________________________ Profa. Gilene B. Gomes ______
10.3. USANDO O COMANDO MESSAGEDLG
O comando MessageDlg mostra uma caixa de mensagem que pode conter smbolos especiais, botes adicionais e outros elementos. O comando tem vrios parmetros que devem ser especificados. Veja a sintaxe do comando MessageDlg:
MessageDlg(,,,); um trecho de texto entre aspas simples, como para o comando
ShowMessage. determina o smbolo que ser exibido na parte esquerda da caixa. Os
cinco tipos disponveis so ilustrados a seguir, alm do comando usado para exibir cada tipo de caixa.
mtInformation MessageDlg ('Mensagem de informao,
mtInformation, mbOKCancel, 0);
mtWarning MessageDlg ('Mensagem de aviso,
mtWarning, mbOKCancel, 0);
mtError MessageDlg ('Mensagem de erro', mtError,
mbOKCancel, 0);
mtConfirmation MessageDlg ('Mensagem de confirmao',
mtConfirmation, mbOKCancel, 0);
mtCustom MessageDlg ('Outra mensagem', mtCustom, mbOKCancel, 0);
__ www.gomeshp.com _________________________________________________________________________ 39
-
Apostila de Delphi 7.0 _______________________________________________________________________ Profa. Gilene B. Gomes ______
Note que os ttulos das caixas de mensagem so sempre o nome do tipo da caixa, com exceo da opo mtCustom que exibe o nome do projeto como ttulo (e no mostra smbolo especial). Infelizmente, os ttulos so sempre em ingls. No h como especificar outros ttulos para as caixas usando o comando MessageDlg.
O terceiro parmetro usado para definir o conjunto de botes que ser exibido na parte de baixo da caixa de mensagem. H alguns conjuntos de botes predefinidos. Um deles foi usado nos exemplos anteriores: mbOKCancel, que mostra os botes OK e Cancel. Os conjuntos predefinidos so resumidos a seguir:
mbYesNoCancel Mostra os botes Yes, No e Cancel. mbAbortRetryIgnore Mostra os botes Abort, Retry e Ignore. mbOKCancel Mostra os botes OK e Cancel.
Pode-se tambm adicionar botes especficos, listando o nome dos botes entre colchetes.
Os botes disponveis so: mbYes, mbNo, mbOK, mbCancel, mbHelp, mbAbort, mbRetry, mbIgnore, mbAll
Por exemplo, para mostrar uma caixa de mensagem de aviso com os botes, Yes, No,
Ignore e Help, use um comando como o seguinte (a caixa mostrada logo depois):
MessageDlg(Houve um erro de leitura no disco. Deseja interromper a execuo do aplicativo?, mtWarning, [mbYes, mbNo, mbIgnore, mbHelp],0);
MessageDlg retorna um valor do boto selecionado pelo usurio. Estes so os possveis valores de retorno:
mrNone mrAbort mrYes mrOk mrRetry mrNo mrCancel mrIgnore mrAll
10.4. USANDO A FUNO MESSAGEBOX
Esta funo pertence biblioteca do Windows (API). O Delphi a relaciona ao objeto do tipo TApplication. Application.MessageBox (, , ); Onde:
- expresso mostrada dentro do quadro de dilogo. - ttulo do quadro de mensagem (barra de ttulo). - somatria de nmeros, conforme o que queremos que seja exibido no quadro de
mensagem, seguindo a tabela Tipo.
__ www.gomeshp.com _________________________________________________________________________ 40
-
Apostila de Delphi 7.0 _______________________________________________________________________ Profa. Gilene B. Gomes ______
Argumento Tipo para a funo MessageBox:
Valor Significado 0 Somente o boto de OK 1 Botes de OK e Cancelar 2 Botes Anular, Repetir e Ignorar 3 Botes Sim, No, Cancelar 4 Botes Sim, No 5 Botes Repetir e Cancelar 16 Sinal de Stop 32 Sinal de Pesquisa 48 Sinal de Aviso 64 cone de Informao 0 Primeiro boto com foco 256 Segundo boto com foco 512 Terceiro boto com foco
Valores possveis de retorno em relao a resposta do usurio:
Valor Boto pressionado 1 Boto OK 2 Boto Cancelar 3 Boto Anular 4 Boto Repetir 5 Boto Ignorar 6 Boto Sim 7 Boto No
Um exemplo: resp:= Application.MessageBox ('Este um exemplo, voc entendeu?', 'Funo MessageBox', 36);
resp uma varivel que recebe um valor sobre qual boto foi selecionado. Tipo = 36 foi somado 4 (Botes Sim, No) com 32 (Sinal de Pesquisa).
__ www.gomeshp.com _________________________________________________________________________ 41
-
Apostila de Delphi 7.0 _______________________________________________________________________ Profa. Gilene B. Gomes ______
10.5. USANDO A FUNO INPUTBOX
Essa funo mostra uma caixa simples com um campo para a entrada (um componente Edit) de dados e os botes OK e Cancel. InputBox retorna uma String com o texto digitado pelo usurio. A funo InputBox recebe trs parmetros:
InputBox (, , );
define o texto que exibido na barra de ttulo da caixa. o texto exibido na parte interna da caixa. o texto padro exibido dentro do campo de entrada. Este texto aparece
inicialmente selecionado. Para no mostrar um texto padro use um string vazio (). Veja um exemplo a seguir:
InputBox('Escolha de pas', 'Digite o nome do pas:', 'Brasil');
Para recuperar o que foi digitado na InputBox, use uma varivel para armazenar o valor. No exemplo a seguir, usada uma varivel NomeDoPais, do tipo String:
procedure TForm1.Button1Click(Sender: TObject); var NomeDobegin
Pais: String;
NomeDoPais := InputBox ('Escolha de pas', 'Digite o nome do pas:', 'Brasil'); ShowMessage ('Nome do pas escolhido: ' + NomeDoPais); end;
O exemplo l um nome de pas, usando a funo InputBox, e exibe esse nome em uma caixa
de mensagem.
__ www.gomeshp.com _________________________________________________________________________ 42
-
Apostila de Delphi 7.0 _______________________________________________________________________ Profa. Gilene B. Gomes ______
11. EXERCCIOS
1. Crie a linha de comando para cada uma das caixas de dilogo apresentadas abaixo e teste-as no Delphi:
__ www.gomeshp.com _________________________________________________________________________ 43
-
Apostila de Delphi 7.0 _______________________________________________________________________ Profa. Gilene B. Gomes ______
__ www.gomeshp.com _________________________________________________________________________ 44