Mensgens AP Delphi7 03
-
Upload
jura-costa -
Category
Documents
-
view
215 -
download
0
Transcript of Mensgens AP Delphi7 03
-
Apostila de Delphi 7.0 _______________________________________________________________________ Profa. Gilene B. Gomes ______
__ www.gomeshp.com _________________________________________________________________________ 28
7. 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.
7.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 em portugus e que retorne uma resposta do usurio, indicando qual boto foi escolhido. Para a entrada de informaes simples, voc pode usar a funo InputBox.
7.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:
ShowMessage('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.
-
Apostila de Delphi 7.0 _______________________________________________________________________ Profa. Gilene B. Gomes ______
__ www.gomeshp.com _________________________________________________________________________ 29
7.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);
-
Apostila de Delphi 7.0 _______________________________________________________________________ Profa. Gilene B. Gomes ______
__ www.gomeshp.com _________________________________________________________________________ 30
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.
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. mbAbortIgnore Mostra os botes Abort 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, mbYesToAll,
mbNoToAll
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:
mrOk mrRetry mrYes mrNone mrNoToAll mrAll mrCancel mrIgnore mrNo mrAbort mrYesToAll
7.4. USANDO A FUNO MESSAGEBOX
Esta funo pertence biblioteca do Windows (API), sendo que os ttulos dos botes aparecem em Portugus. O Delphi a relaciona ao objeto do tipo TApplication. Application.MessageBox (, , );
-
Apostila de Delphi 7.0 _______________________________________________________________________ Profa. Gilene B. Gomes ______
__ www.gomeshp.com _________________________________________________________________________ 31
Onde: - expresso mostrada dentro da caixa de dilogo. - barra de ttulos da caixa de dilogo. - somatria de nmeros, conforme o que se quer exibir na caixa de dilogo,
seguindo a tabela abaixo:
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 do tipo integer (inteiro), que recebe o valor do boto pressionado. 36 = 32 (Sinal de Pesquisa) e 4 (Botes Sim, No).
-
Apostila de Delphi 7.0 _______________________________________________________________________ Profa. Gilene B. Gomes ______
__ www.gomeshp.com _________________________________________________________________________ 32
7.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 uma string vazia (). 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 NomeDoPais: String; begin 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.
-
Apostila de Delphi 7.0 _______________________________________________________________________ Profa. Gilene B. Gomes ______
__ www.gomeshp.com _________________________________________________________________________ 33
7.6. EXERCCIOS
1. Crie a linha de comando para cada uma das caixas de dilogo apresentadas abaixo e teste-as no Delphi: