Fórum Estou quase resolvendo... com as dicas #205658
11/01/2004
0
Algum pode me falar o que tem de errado com esse codigo mais abaixo
O que eu quero: acrescentar creditos ao saldo e se houver debito diminuir.
O que o codigo esta fazendo se eu coloco R$ 100,00 no credito ele joga para o saldo R$ 200,00 sem eu ter colocado nada no debito , não estou entendo mais nada.
Eu queria tipo:
CREDITO DEBITO SALDO
100,00 100,00
100,00 200,00
50,00 150,00
procedure TForm2.Query1CalcFields(DataSet: TDataSet);
begin
Query1Saldo.Value := (( Query1credito.Value - Query1debito.Value )+Saldo);
Saldo := Query1Saldo.Value;
//Daqui pra baixo esta dando tudo certinho
procedure TForm2.FormActivate(Sender: TObject);
begin
form2.Query1.Open;
query1.Last;
dbedit1.text:=inttostr(query1.fieldbyname(´saldo´).AsInteger);
ShowMessage(´ATENÇÃO, o Saldo é R$ ´ + IntToStr(Query1.FieldByName(´Saldo´).asInteger));
if ( Query1.FieldByName(´Saldo´).asInteger > 0 ) then
dbedit1.Font.Color:= clBlue
else
dbedit1.Font.Color:= clRed;
Obrigado
wagnernormando@ig.com.br
Wagner
Curtir tópico
+ 0Posts
11/01/2004
Wagner
Vamos ver se agora sai direito:
10/11/2003 credito 100,00 ou seja vai 100,00 para o saldo, saldo =100,00
11/11/2003 credito 100,00 ou seja vai 100,00 para o saldo, saldo =200,00
12/11/2003 debito 50,00 ou seja tira 50,00 do saldo saldo =150,00
CREDITO ! DEBITO ! SALDO
100,00 ! ! 100,00
100,00 ! ! 200,00
! 50,00 ! 150,00
Gostei + 0
11/01/2004
Wagner
Gostei + 0
11/01/2004
Alexdias
GOSTARIA ANTES DE MAS NADA FAZER UMA OBS ==> VC ESTA USANDO .ASINTEGER PARA SALDO ISSO QUER DIZER SE O SALDO FOR R$150,35 ELE A QUERY VAI ARMAZENAR OU TE RETORNAR R$ 155 POIS VC ESTA UZANDO Query1.FieldByName(´Saldo´).asInteger;
MUDE PARA Query1.FieldByName(´Saldo´).value;
bem vamos ao que importa vou-lhe mostrar oque vc deve fazer em portugues estruturado , faça o seguinte :
saldo:=saldo+(credito-debito);
raciocine comigo e vc vera que toda a matematica dara certo !!!
é claro que vc tera que fazer certos tratamento pois se credito ou debito = null é claro que o programa vai da erro !!! então verifique antes faça um if credito=null then begin credito:=0 end else credito:=credito ou coisa pareceida vai depender da sua aplicação !!!
mande- me um e-mail e conversaremos mais !!!
Gostei + 0
11/01/2004
Wagner
bem vamos ao que importa vou-lhe mostrar oque vc deve fazer em portugues estruturado , faça o seguinte :
saldo:=saldo+(credito-debito); // [color=red:589be4d214]voce tem razão[/color:589be4d214]
raciocine comigo e vc vera que toda a matematica dara certo !!!
é claro que vc tera que fazer certos tratamento pois se credito ou debito = null é claro que o programa vai da erro !!! então verifique antes faça um if credito=null then begin credito:=0 end else credito:=credito ou coisa pareceida vai depender da sua aplicação !!! //[color=red:589be4d214]Pode me mostrar como se faz?[/color:589be4d214]
procedure TForm2.Query1CalcFields(DataSet: TDataSet);
begin
Query1Saldo.Value := (( Query1credito.Value - Query1debito.Value )+Saldo);
Saldo := Query1Saldo.Value;
//Daqui pra baixo esta dando tudo certinho
Gostei + 0
11/01/2004
Wagner
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)