Topic: Проблема с выделением цветом строк

Прошу помочь со следующей проблемой. Есть скрипт, позволяющий раскрашивать строки:

procedure Form1_TableGrid2_OnChange (Sender: string);
var
    i,c,f,r: integer;
begin
    c := Form1.TableGrid2.RowCount - 1;
    f := Form1.TableGrid2.Columns.Count - 1;
    for i := 0 to c do
begin
if Form1.TableGrid2.Cells[3,i]>Form1.TableGrid2.Cells[4,i]
THEN
for r := 0 to f do
Form1.TableGrid2.Cell[r,i].Color := clSilver;
end;
end;

Но столкнулся с проблемой:
http://s8.hostingkartinok.com/uploads/images/2016/04/8f2d560731e16377dbf3810edbed49b7.jpg
По условию если MAX>Норма, то присваиваем строке цвет. Однако, почему-то не раскрашиваются строки при MAX>10... ну или когда две цифры перед запятой. Не пойму в чем дело и как с этим бороться.

Re: Проблема с выделением цветом строк

В вашем скрипте вы сравниваете строки, а не цифры.


попробуйте данный скрипт

procedure Form1_TableGrid2_OnChange (Sender: string);
var
    i,c,f,r: integer;
begin
    c := Form1.TableGrid2.RowCount - 1;
    f := Form1.TableGrid2.Columns.Count - 1;
    for i := 0 to c do
    begin
        if (ValidFloat(Form1.TableGrid2.Cells[3,i])) and (ValidFloat(Form1.TableGrid2.Cells[4,i])) then
            if StrToFloat(Form1.TableGrid2.Cells[3,i])>StrToFloat(Form1.TableGrid2.Cells[4,i]) THEN
                for r := 0 to f do
                    Form1.TableGrid2.Cell[r,i].Color := clSilver;
    end;
end;
Dmitry.

Re: Проблема с выделением цветом строк

Дмитрий, огромное спасибо! Работает!