Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

crf_h0m3r

[Resolvido] Lógica para armazenar valor

Recommended Posts

Bom galera, seguinte, como comecei há pouco tempo a estudar Delphi, tô fazendo uns programinhas pra tentar aprender mais, usar a prática mesmo, daí surgiu uma dúvida. Esse programa faz a soma das despesas no final do mês, por exemplo:

 

Você seleciona o pagamento que foi feito, "Água"

Digita o valor da cobrança "200,00"

Clica no botão "Gravar"

 

Ao clicar no botão, eu queria que uma variável qualquer guardasse esse valor, pois como vai ser a soma das despesas, ainda falta outras cobranças, como: Telefone, Luz, etc.

 

Eu tenho um campo também chamado de "Total", que seria a soma de todas os valores gravados pelo usuário, e quando o mesmo clicar no botão "Parar" abre uma mensagem na tela escrito quanto ele gastou com despesas no final daquele mês

 

Como eu ainda tô estudando e não sei bem quais os arquivos vocês vão precisar, vou colocar o código da unit, se precisar de mais algum é só pedir ^_^

 

9N2uf.png

 

unit uDespesas;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, Mask;

type
 TDespesas = class(TForm)
   labelValor: TLabel;
   labelEscPgmt: TLabel;
   labelTotal: TLabel;
   btnGravar: TButton;
   btnLimpar: TButton;
   fieldPagamento: TComboBox;
   fieldValor: TMaskEdit;
   fieldResultado: TEdit;
   btnParar: TButton;
   procedure btnGravarClick(Sender: TObject);
   procedure btnLimparClick(Sender: TObject);
 private
   { Private declarations }
   procedure LimparTela;
 public
   { Public declarations }
 end;

var
 Despesas: TDespesas;

implementation

{$R *.dfm}

procedure TDespesas.btnGravarClick(Sender: TObject);
//var
//  i: Real;
//  x: Real;
begin
 if (fieldValor.Text = '') or (fieldPagamento.ItemIndex < 0)then
 begin
   if fieldValor.CanFocus and fieldPagamento.CanFocus then
     ShowMessage('Preencha o(s) campo(s) selecionado(s)');
     fieldValor.SetFocus;
     fieldPagamento.SetFocus;
     fieldValor.Color          := RGB(190,65,0);  //depois background
     fieldPagamento.Color      := RGB(190,65,0);
     fieldValor.Font.Color     := RGB(255,255,255);  //depois fonte
     fieldPagamento.Font.Color := RGB(255,255,255);
 end;

 fieldResultado.Text := fieldValor.Text;
//  i := StrToFloat(fieldResultado.Text);

//  x := i;
//  while x <= i do
//    Inc(i,1);
//  ShowMessage(FloatToStr(i));


end;

procedure TDespesas.btnLimparClick(Sender: TObject);
var i: Integer;
begin
 for i := 0 to Despesas.ComponentCount - 1 do
   if Despesas.Components[i] is TMaskEdit then
      TMaskEdit(Despesas.Components[i]).Clear

   else
     if Despesas.Components[i] is TComboBox then
        LimparTela

   else
     if Despesas.Components[i] is TEdit then
        TEdit(Despesas.Components[i]).Clear;
end;

procedure TDespesas.LimparTela;
begin
 fieldPagamento.Items.Clear;
end;

end.

Os campos comentados foram as tentativas, hehe.

 

Edit: Não, ele não grava num banco de dados.

Como eu disse, ainda estou iniciando, não quero usar um banco de dados agora, quero apenas entender a aplicação. Mas tô querendo usar, mais na frente, o ClientDataSet.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.