210 likes | 277 Views
Laboratório de Programação I. Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação. Exibição e leitura de dados. Objetivo. As vezes pode ser necessário apresentar uma caixa de diálogo solicitando para o usuário alguma ação como Ok, No ou Cancelar
E N D
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação
Objetivo • As vezes pode ser necessário apresentar uma caixa de diálogo solicitando para o usuário alguma ação como Ok, No ou Cancelar • Ou ainda pode ser necessário apresentar uma mensagem em uma caixa com um simples botão Ok
Equivalencia de funções • Exibição de dados • Leitura de dados
MessageBox • Apresenta uma caixa ao usuário com algumas opções • Sintaxe MessageBox(handle, mensagem, titulo, flag);
MessageBox • handle - é um identificador do formulário (Form1). • mensagem - é um texto que será exibido no centro da caixa de diálogo MessageBox(); • titulo - é um texto que será mostrado na barra de título da caixa de diálogo MessageBox(); • flag - são constantes que podem ser combinadas para exibir ícone, botões e outras caracteristicas à caixa de diálogo MessageBox();
MessageBox – Flags • Quando se quer mostrar mais de um botão se usa a constante que representa o grupo
MessageBox - Flags • Também é possível selecionar o ícone. Usa-se uma das constantes que representa o ícone
MessageBox • Exemplo de uso MessageBox(0,"Gostaria de continuar ?", "Quer continuar ?", MB_YESNO | MB_ICONWARNING);
MessageBox • Obtendo a opção selecionada • Dependendo da opção selecionada um valor initeiro é retornado representando uma das seguintes constantes
MessageBox • Flag que define o botão selecionado por padrão MB_DEFBUTTON1 primeiro botão MB_DEFBUTTON2 segundo botão MB_DEFBUTTON3 terceiro botão
MessageBox • Exemplo de uso: void __fastcallTForm1::Button1Click(TObject *Sender){int Botao;char *titulo = "Confirmação";char *mensagem = “Enviar dados?"; Botao=MessageBox(Form1->Handle, mensagem,titulo, MB_YESNOCANCEL+ MB_ICONQUESTION+ MB_DEFBUTTON3 ); if(Botao == IDYES)Label1->Caption = "Você clicou no botão SIM";if(Botao == IDNO)Label1->Caption = "Você clicou no botão NÃO";if(Botao == IDCANCEL)Label1->Caption = "Você clicou no botão CANCELAR"; }
ShowMessage • Mostra uma box com um botão de ok para o usuário clicar • Serve para mostrar informações • Exemplo de uso ShowMessage("Voce acaba de abrir uma caixa de mensagem");
InputBox • Afunção InputBox() permite que o usuário digite uma string de caracteres numa caixa de diálogo e armazene seu conteúdo numa variável do tipo string. • A função InputBox() exibirá uma caixa de diálogo com um titulo, uma mensagem de prompt, uma campo de digitação e os botões OK e Cancelar. Se o botão OK for pressionado a função InputBox() retorna a string que estiver dentro do campo de digitação. • InputBox() também permite que um valor inicial padrão seja colocado dentro da caixa de edição, antes que o usuário digite qualquer valor. Se o botão Cancelar for pressionado, a função InputBox() retorna o valor padrão, mesmo que o usuário tenha digitado qualquer valor no campo de digitação.
InputBox • Sintaxe: Texto = InputBox(Titulo, Mensagem, ValorPadrao); • Titulo - onde poderemos escrever uma mensagem na barra de título da janela da caixa de diálogo; • Mensagem - é um texto que sugere o que o usuário digitará no campo de edição; • ValorPadrao - é um valor padrão que a função InputBox() usará quando o botão Cancelar for pressionado;. • Texto - é uma variável string que armazenará o valor retornado pela função InputBox().
InputBox void __fastcall TForm1::Button2Click(TObject *Sender) { AnsiString Texto; Texto = InputBox("Entrada de dados", "Digite um nome:", "String padrão"); Label1->Caption = Texto; }
InputQuery • A função InputQuery() permite que o usuário digite uma string de caracteres numa caixa de diálogo e armazene seu conteúdo numa variável do tipo string. • InputQuery() também permite que um valor inicial padrão seja colocado dentro da caixa de edição, antes que o usuário digite qualquer valor. • Ao contrário de InputBox que retorna uma string, InputQuery retorna dois valores • A string digitada • Verdadeiro (se clicado OK) Falso (se clicado Cancelar)
InputQuery • Sintaxe: Botao = InputQuery(Titulo, Mensagem, Valor); • Titulo - onde poderemos escrever uma mensagem na barra de título da janela da caixa de diálogo; • Mensagem - é um texto que sugere o que o usuário digitará na caixa de edição; • Valor - é uma variável do tipo string que armazenará o texto que o usuário digitar no teclado • Botao - é um valor retornado pela função InputQuery() que representa a tecla pressionada (OK ou Cancelar).
InputQuery • Exemplo int Botao; UnicodeString Valor = "Nenhum valor digitado"; AnsiString Titulo = "Caixa de entrada"; AnsiString Mensagem = "Digite seu nome:"; Botao = InputQuery("Valor","Mensagem",Valor); Label2->Caption = Valor; if(Botao == 1) //OK Label1->Caption = "Foi clicado no botão OK."; if(Botao == 0) //Cancel Label1->Caption = "Foi clicado no botão Cancelar";