mensgens ap delphi7 03

6
Apostila de Delphi 7.0 _______________________________________________________________________ Profa. Gilene B. Gomes ______ __ www.gomeshp.com _________________________________________________________________________ 28 7. CAIXAS DE DIÁLOGO PREDEFINIDAS O Delphi oferece vários comandos para a exibição de caixas de diálogo comuns, como caixas de mensagem (Message Boxes) e caixas de entrada (Input Boxes). Esses comandos permitem que aplicativos com recursos simples de entrada e saída sejam criados rapidamente. 7.1. MESSAGE BOXES (CAIXAS DE MENSAGEM) As caixas de mensagem são usadas para exibir resultados, erros, ou avisos para o usuário. Elas são caixas modais (bloqueiam a execução do programa quando são exibidas). Há funções para mostrar caixas de mensagem no Delphi. A mais simples é ShowMessage, que mostra apenas uma mensagem e um botão OK. Já a função MessageDlg oferece mais opções, como símbolos e títulos diferentes. A função MessageBox permite criar um quadro de mensagem com vários botões em português e que retorne uma resposta do usuário, indicando qual botão foi escolhido. Para a entrada de informações simples, você pode usar a função InputBox. 7.2. USANDO O COMANDO SHOWMESSAGE Use o comando ShowMessage para mostrar uma mensagem simples para o usuário. A mensagem é exibida em uma pequena caixa, com um botão OK. A caixa é fechada quando o botão OK é clicado. No exemplo abaixo, uma caixa de mensagem é exibida quando o botão Button1 recebe um clique: ShowMessage('Este comando não pode ser usado no momento.'); A caixa de mensagem exibida é a seguinte: Como padrão, é exibido o nome do projeto na barra de título da caixa de mensagem.

Upload: jura-costa

Post on 04-Oct-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 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: