segunda-feira, 15 de outubro de 2012

Lazarus - Componente CheckBox



Fazer um programa para um restaurante onde o usuário irá realizar escolhas sobre uma refeição e aparecerá o preço dessa refeição.
– A interface gráfica deverá ser montada conforme mostrado em sala.
– Terão 3 RadioButtons para especificar o tamanho do prato: pequeno, médio ou grande. O usuário deverá escolher apenas uma dentre essas três opções de tamanhos.
– Terão 6 CheckBox para especificar quais os componentes o usuário deseja no prato: carne boi, carne frango, carne peixe, salada, batata frita e ovo frito. O usuário poderá escolher nenhum, um ou vários componentes.
– Os valores (R$) relacionados ao tamanho dos pratos serão: prato pequeno: 5; prato médio: 7; prato grande: 9.
– Os valores (R$) relacionados aos componentes serão: carne boi: 5; carne frango: 4; carne peixe: 3; salada: 1,5; batata frita:3; ovo frito: 1.
– Terão 3 botões: Montar, Limpar e Sair.
– O botão Montar: se não estiver nenhum tamanho de prato selecionado, deverá informar a mensagem (ShowMessage), “Por favor, escolha um tamanho de prato!”. Caso tenha algum tamanho de prato selecionado, deverá informar a mensagem (ShowMessage), “Valor do PF = R$12,50”, por exemplo.
– O botão limpar: deverá limpar a seleção de todos RaioButton e de todos CheckBox.
– O botão sair: sai do programa.

A imagem do formulário com as respectivas propriedades "Names" já alterados exibidas na janela "Object Inspector" encontra-se abaixo:





O código encontra-se abaixo:

=======================================================

procedure TFrmMontar.BtnMontarClick(Sender: TObject);
var Preco : Real;
begin
   Preco := 0;

   if ((RdBtnPFPequeno.Checked=false) and (RdBtnPFMedio.Checked=false) and (RdBtnPFGrande.Checked=false))
      then ShowMessage('Por favor, escolha um tamanho de prato!');

   if (RdBtnPFPequeno.Checked)
      then Preco := 5
      else if (RdBtnPFMedio.Checked)
         then Preco := 7
         else if (RdBtnPFGrande.checked)
            then Preco := 9;

   if (ChckBxBoi.Checked) then Preco := Preco + 5;
   if (ChckBxFrango.Checked) then Preco := Preco + 4;
   if (ChckBxPeixe.Checked) then Preco := Preco + 3;
   if (ChckBxSalada.Checked) then Preco := Preco + 1.5;
   if (ChckBxBatata.Checked) then Preco := Preco + 3;
   if (ChckBxOvo.Checked) then Preco := Preco + 1;

   if ((RdBtnPFPequeno.Checked) or (RdBtnPFMedio.Checked) or (RdBtnPFGrande.Checked))
      then ShowMessage('Valor do PF = R$ ' + FormatFloat('0.00;-0.00;zero', Preco));

end;

procedure TFrmMontar.BtnLimparClick(Sender: TObject);
begin
   RdBtnPFPequeno.checked := False;
   RdBtnPFMedio.checked := False;
   RdBtnPFGrande.checked := False;
   ChckBxBoi.Checked := False;
   ChckBxFrango.Checked := False;
   ChckBxPeixe.Checked := False;
   ChckBxSalada.Checked := False;
   ChckBxBatata.Checked := False;
   ChckBxOvo.Checked := False;
end;

procedure TFrmMontar.BtnSairClick(Sender: TObject);
begin
  close
end;

=======================================================

Nenhum comentário:

Postar um comentário