Fórum Somar valor digitado com valor da tabela #389746

31/10/2010

0

Pessoal, queria saber se vocês podem me ajudar! Com uma dúvida que eu estou tendo ..
ex:
var soma, digitado, tabela: float; 
begin 
If table1.fieldbyname('Data').asstring = edit5.text  then 
begin 
table1.edit; 
dig:= FloattoStrf(edit3.text); 
tab:= FloattoStrf(table1['Recebido']); 
soma:= (dig) + (tab); 
table1.fieldbyname('Recebido').asstring:=(soma); 
end 
else 
begin 
table1.edit; 
table1.insert; 
table1.fieldbyname('Recebido').asstring:=(edit3.text); 
dbnavigator1.btnclick(nbinsert); 
end; 


# p.s: edit5 -> data do dia
edit3 -> valor digitado

o que eu quero fazer é o seguinte, se o dia atual for igual ao dia gravado na tabela, então eu somo o valor da tabela + valor digitado..
Se o dia atual não for igual ao da tabela, então eu gravo normal.
Eu tentei fazer com esse código aí, mas não ta funcionando!   Haa!! mas o problema é o seguinte, na minha tabela o valor, no caso o campo 'Recebido', está com o tipo Alpha numérico, tendo um R$ junto do valor. Isso tem algum problema, na hora de somar ??
Será que alguém poderia me dá uma forcinha nessa ??

Desde já agradeço.
Beijão '-'
Yuli Chrysostomo

Yuli Chrysostomo

Responder

Posts

01/11/2010

Ricardo Araujo

boa noite,

segue o código abaixo.

var
  ValorDigitado, valorTabela, SomaTotal : Double;
begin

   // este dbBanco,  séria o valor recebido do banco de dados
   // este DateTimePicker1.Date séria o valor recebido no dia atual.

  If dbBanco.Date = DateTimePicker1.Date then
  begin
     {* aqui você da um edit na sua tabela
      *  tabela.edit;
      *}
    ValorDigitado := StrToFloat(edtvalor.Text);
    // aqui estou simulando um exemplo como se estivesse pegando o dados do banco
    valorTabela   := StrToFloat(edtBanco.Text);
    SomaTotal     := ValorDigitado + valorTabela;
    //aqui estou adicionando na memo, mas é a mesma coisa para o banco de dados.
    Memo1.Lines.Add(FormatFloat('##0.00',SomaTotal));

    {* aqui seria o valor de amazenamento da tabela.
     *// table1.fieldbyname('Recebido').asstring :=(soma);
     *aqui terá que colocar o post para salvar no banco de dados.
     * table1.post;
     *}
  end  else begin
    //table1.edit;
    //table1.insert;
    //  table1.fieldbyname('Recebido').asstring:=(edit3.text);

    {* vou fazer um exemplo simples para adicionar em um
     * memo séria a mesma coisa para adicionar no banco de dados.
     *}
    Memo2.Lines.Add(FormatFloat('##.000',edtvalor.Value));
  end;
 end;



a imagem do exemplo esta abaixo:

este exemplo que fiz, não salva nada em banco de dados, é apenas uma simulação de como estivesse salvando os dados.

apenas faz o calculo que a data for igual e salva no memo1.
se a data for diferente, apenas amazena o valor atual no banco, que séria o memo2.

estou usando dois memo, 1 para amazenar o valor de soma, e outro para amazenar o valor recebido.

 



Espero ter ajudado.
att.
rbbarreto


Responder

Gostei + 0

02/11/2010

Yuli Chrysostomo

Ricardo, pelo que eu entendi .. esse código você fez pra delphi 7, certo ?! só que eu uso o delphi 4.. porqe é um projeto do colégio, e não quero arriscar de usar outra versão sem ser a deles. Será qe esse código funcionará no delphi 4 ??
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar