Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

webrodex

Qual o erro?

Recommended Posts

Bom e o seguinte estou com problema quando eu acrecendo essas 2 linhas para colorir a linha do dbgrid da erro se eu retirar a linha nao consta nenhum erro entao quer dizer que ta com erro na linha

 

Dbgrid1.Canvas.Font.Color:= clFuchsia;

Dbgrid1.DefaultDrawDataCell(Rect, dbgrid1.columns[datacol].field, State)

 

 

var

Bitmap:

TBitmap;

begin

if Column.Index = 0 then

begin

if SQL.FieldByName('Nome').AsString = 'ADM' then

Bitmap := Image1.Picture.Bitmap ;

Dbgrid1.Canvas.Font.Color:= clred;

Dbgrid1.DefaultDrawDataCell(Rect, dbgrid1.columns[datacol].field, State)

else

Bitmap := Image2.Picture.Bitmap;

with TDBGrid(Sender) do

begin

Canvas.FillRect(Rect);

Canvas.Draw(Rect.left, Rect.Top , Bitmap);

Canvas.TextOut(Rect.Left + Bitmap.Width + 2 ,Rect.Top + 2, Column.Field.AsString);

end;

end;

end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso você não colocou a mensagem de erro que é gerada, mas olhando os fontes, você esta fazendo o comando IF e depois um ELSE, sendo que as linhas quando é mais de uma para um IF, necessita ficar dentro de um bloc BEGIN - END, tipo:

 

var	Bitmap: TBitmap;beginif Column.Index = 0 then	begin	if SQL.FieldByName('Nome').AsString = 'ADM' then		begin		Bitmap := Image1.Picture.Bitmap;		Dbgrid1.Canvas.Font.Color:= clred;		Dbgrid1.DefaultDrawDataCell(Rect, dbgrid1.columns[datacol].field, State);		end	else		Bitmap := Image2.Picture.Bitmap;	with TDBGrid(Sender) do		begin		Canvas.FillRect(Rect);		Canvas.Draw(Rect.left, Rect.Top , Bitmap);		Canvas.TextOut(Rect.Left + Bitmap.Width + 2 ,Rect.Top + 2, Column.Field.AsString);		end;	end;end;

Caso não era isto ou continue o erro, favor colocar a mensagem emitida pelo delphi...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.