GARANTIR DESCONTO

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:
 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

Daniel_mc

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


Responder

Gostei + 0

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

Aceitar