Estou quase resolvendo... com as dicas

Delphi

11/01/2004

Olá pessoal...socorro é urgente.
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

Wagner

Curtidas 0

Respostas

Wagner

Wagner

11/01/2004

Não sei porque mais saiu tudo junto o exemplo que dei de como eu queria
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
Wagner

Wagner

11/01/2004

Socorro :cry: :cry: :cry:


GOSTEI 0
Alexdias

Alexdias

11/01/2004

OLÁ COLEGA WAGNER ..

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
Wagner

Wagner

11/01/2004

Veja como coloquei meu problema é so na primeira parte

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
Wagner

Wagner

11/01/2004

Esse aqui :lol: se puder da uma olhada


GOSTEI 0
POSTAR