[Ajuda] Implementar um DbGrig

Started by bironet, 29 de March , 2007, 10:39:49 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

bironet

Pessoal estou com um problema nesse sistema essa imagem ilustra o problema: Se alguém puder me ajudar agradeço.
gasolina /( horimetro1-horimetro2); mas como implementar isso no delphi?

.

Se quiserem add no msn ta ai
mailto:vinicius1999@uol.com.br">vinicius1999@uol.com.br

TGA

Cara, não entendi bem o que vc quis dizer, mais pelo entendi, montei um algoritimo aqui,
se for isso  mesmo é só implantas na rotina, vc vai ter que buscar os dados de dentro
da tabela de DB.

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  media : double;
begin
  media :=  strToFloat(diesel.Text) / ( strToFloat( horimetro1.Text) - strToFloat( horimetro2.Text) );
  EditMedia.Text := FloatToStr(media);
end;

Se for isso.. blw.. se não, tente especificar melhor.. vlw..

abraços..
"A IMAGINAÇÃO É MAIS IMPORTANTE QUE O CONHECIMENTO"
__________________________________________________________

bironet

TGA é isso mesmo man... mas a procedure eu sabia quero saber como vou implementar isso dentro do DB
entende?

TGA

OK, tente isso agora, se usar ou tipo de BD pode implementar este mesmo código!  ;)

procedure TForm1.BitBtn1Click(Sender: TObject);
var
    {  Variaveis usados}

  media,diesel
  horimetro1, horimetro1 : double;

 { Inicio }
begin
      { As vars recebe os valores do campo dentro da base de dados }
   diesel := StrToFloat(Table1.FieldByName('Campo_diesel').AsString);
   horimetro1 := StrToFloat(Table1.FieldByName('Campo_horimetro1').AsString);
   horimetro2 := StrToFloat(Table1.FieldByName('Campo_horimetro2').AsString);

   {Caucula a médio - como vc mostrou } 
   media :=  diesel.Text / ( horimetro1 - horimetro2.Text );
 
   {Mostra em um edit o resultado ;)}   
   EditMedia.Text := FloatToStr(media);

end;

Abraços..
"A IMAGINAÇÃO É MAIS IMPORTANTE QUE O CONHECIMENTO"
__________________________________________________________

bironet

hehe funcionaria se na tabela tivesse horimetro 1  e horimetro 2 eauha mas como que eu vou saber qual o horimetro 1 e qual o horimetro 2 da uma olhada ai no print é no mesmo campo. Tipo a procedure teria que buscar o registro anterior de diesel e depois fazer o calculo com o ultimo. isso é foda viu :( tem msn ai?

TGA

  ok,ok,, pelo que vi vc esta com dificuldades de pegar o os campos corretos para executar a formula,
 se guinte, vamos supor que vc queira pega o Ultimo cadastro do horimetro, e subritair com o penultimo,
 pelo menos foi o que eu entendi, se for isso vc faria de seguinte forma, joga o ponteito no ultimo cadastro
 
 Table.last;

 pega o valor do horimetro e gra em uma var , tipo :
 horimetro1 := StrToFloat(Table1.FieldByName('KmHorimetro').AsString);

 agora volta o ponteiro para o penultimo cadastro e pegue seu valor;
 Table.prior;
 horimetro2 := StrToFloat(Table1.FieldByName('KmHorimetro').AsString);

 pronto agora vc tem o valor do ultimo cadastro e do penultimo, agora basta fazer os calculos,
 ham.. para pegar o valor de "DIESEL" faça o mesmo..


 Estou sem msn aqui no trampo.. fods.. heheheh...

Vlw.. se não for isso, espero que tire aproveito de algo..
abraços...
"A IMAGINAÇÃO É MAIS IMPORTANTE QUE O CONHECIMENTO"
__________________________________________________________

bironet

hehe vlwwwwww....
Agora sim , não tava conseguindo configurar o apontador, mas agora deu certo tabela funcionando ... vlw
Tg :)