colorindo errado
30/01/2016
0
begin
with TDBGrid(Sender) do
begin
if DataSource.DataSet.FieldByName('margem').AsString <= EDtnivel.text then
begin
if (gdSelected in State) then
Canvas.Brush.Color := clhighlight
else
begin
Canvas.Font.Style := [fsBold];
Canvas.Font.Color := clhighlight;
end
end;
Canvas.FillRect(Rect);
DefaultDrawColumnCell(Rect,DataCol,Column,State);
begin
if DataSource.DataSet.FieldByName('margem').AsString > EDtnivel.text then
begin
if (gdSelected in State) then
Canvas.Brush.Color := clteal
else
begin
Canvas.Font.Style := [fsBold];
Canvas.Font.Color := clteal;
end;
Canvas.FillRect(Rect);
DefaultDrawColumnCell(Rect,DataCol,Column,State);
end
end;
end;
o resultado é esse
[IMG]http://i64.tinypic.com/w7oms2.jpg[/IMG]
Valmir Inacio
Posts
01/02/2016
Natanael Ferreira
Altere seu código para que compare Float.
Troque isto:
if DataSource.DataSet.FieldByName('margem').AsString <= EDtnivel.text then
Por isto:
if DataSource.DataSet.FieldByName('margem').AsFloat <= StrToFloat(EDtnivel.text) then
01/02/2016
Valmir Inacio
---------------------------
Project1
---------------------------
'' is not a valid floating point value.
---------------------------
OK
---------------------------
01/02/2016
Raimundo Pereira
01/02/2016
Valmir Inacio
01/02/2016
Raimundo Pereira
if (EDtnivel.text='') then
begin
ShowMessage('Acesso negado, informar a margem');
EDtnivel.SetFocus;
exit;
end;
if ( StrToFloat(EDtnivel.text)<=0)then
begin
ShowMessage('Acesso negado, informar a margem maior que 0,00');
EDtnivel.SetFocus;
exit;
end;
ShowMessage('Prossegue com a rotina');
end;
01/02/2016
Natanael Ferreira
A diferença entre eles é que o StrToFloatDef atribui um valor padrão quando a conversão não é feita com sucesso.
Troque:
if DataSource.DataSet.FieldByName('margem').AsFloat <= StrToFloat(EDtnivel.text) then
Por:
if DataSource.DataSet.FieldByName('margem').AsFloat <= StrToFloatDef(EDtnivel.text, 0) then
Neste caso, será atribuído zero se o edit estiver vazio e o erro não ocorrerá.
01/02/2016
Valmir Inacio
Clique aqui para fazer login e interagir na Comunidade :)