Fórum Campo float (horas extras) #267390
03/02/2005
0
Uso o seguinte código para salvar no campo horas o valor de horas extras feitas no determinado dia:
mas quando eu mando gravar ele grava o valor correto no banco por exemplo ´1.3 ´ e no delphi (DBGrid) ele mostra ´1.28688646 ´(tipo isto).
Alguem sabe o que poderia ser?
Daniel Miranda Cruz
procedure T_horas.BitBtn2Click(Sender: TObject);
var ini,final:TDateTime;
begin
if MessageBox(_horas.Handle,´Deseja gravar as informações acima?´,´Aviso do Sistema´,mb_yesno+mb_iconquestion)=6 then
begin
ini:=strtotime(inicio.Text);
final:=strtotime(fim.Text);
dm.qhoras.Insert;
dm.qhorasmes.Value:=FormatDateTime(´mmmm´,data.Date);
dm.qhorasnome.Value:=funcionario.Text;
dm.qhorasdata.Value:={strtodate(FormatDateTime(´yyyy/mm/dd´,}data.date;
dm.qhorasdia.Value:=formatDatetime(´dddd´,data.Date);
dm.qhorasinicio.Value:=FormatDateTime(´hh:mm´,strtotime(inicio.Text));
dm.qhorasfim.Value:=FormatDateTime(´hh:mm´,strtotime(fim.Text));
If (Ini > Final) then
dm.qhorashoras.value:=strtofloat(FormatDateTime(´hh.mm´,((StrTotime(´23:59´)-ini)+final+strtotime(´00:01´))))
else
dm.qhorashoras.value:=strtofloat(FormatDateTime(´hh.mm´,((final-ini))));
dm.qhorasmotivo.Value:=motivo.Text;
dm.qhoras.Post;
if ponto.Checked=true then
begin
dm.qhoras.Active:=false;
dm.qhoras.SQL.Clear;
dm.qhoras.sql.Add(´Select * from horas where nome like ´+char(39)+funcionario.Text+´¬´+char(39)+´ and ponto=0 order by data, ordem´);
dm.qhoras.active:=true;
end
else
begin
dm.qhoras.Active:=false;
dm.qhoras.SQL.Clear;
dm.qhoras.sql.Add(´Select * from horas where nome like ´+char(39)+funcionario.Text+´¬´+char(39)+´ order by data, ordem´);
dm.qhoras.active:=true;
end;
inicio.Text:=´´;
fim.Text:=´´;
motivo.Text:=´´;
funcionario.SetFocus;
end;
end;mas quando eu mando gravar ele grava o valor correto no banco por exemplo ´1.3 ´ e no delphi (DBGrid) ele mostra ´1.28688646 ´(tipo isto).
Alguem sabe o que poderia ser?
Daniel Miranda Cruz
Daniel_mc
Curtir tópico
+ 0
Responder
Posts
03/02/2005
Belo
Coloque uma mascara no campo, tipo: #,0.00
Responder
Gostei + 0
09/02/2005
Daniel_mc
Eu devo colocar a mascara aonde? Pois no DBGrid nao tem mascara e o problema e que no relatorio de horas extras nao pode sair o valor assim ´5,00´, entende? Só se a hora for ´1,30´ ai sim, no banco esta perfeito. Eu percebi que se eu deixar o request Live como false nao da este problema ma se estiver True ai nao funciona e eu nao estou usando o comando SQL ´Insert into....´ e sim o modelo acima.
Valeu
Valeu
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)