Re: TableGrid
Ув. Дмитрий. Ниже приведен мой скрипт. Например если дата окончания универа 1984 год и не поставлены дата УСО и квалификации то эти оба (УСО и квалиф.) становятся красным. Но если я отмечу дату УСО или квалиф. например 2015 то красный цвет не исчезает. Помогите с этим скриптом. Она у меня получилась очень сложной.
procedure Form1_TableGrid1_OnChange (Sender: string);
var
i, c, f, g, k, l: integer;
sCell1, sCell2, sCell3: string;
begin
c := Form1.TableGrid1.RowCount - 1;
for i := 0 to c do
begin
sCell1 := Form1.TableGrid1.Cells[11,i];
if ValidDate(sCell1) then
begin
if (YearsBetween(Now, StrToDate(sCell1)) > 5) then
begin
Form1.TableGrid1.Cell[11,i].Color := clRed;
end;
end else
begin
l := Form1.TableGrid1.RowCount - 1;
for k := 0 to l do
begin
sCell3 := Form1.TableGrid1.Cells[7,k];
if ValidDate(sCell3) then
begin
if (YearsBetween(Now, StrToDate(sCell3)) > 5) then
begin
Form1.TableGrid1.Cell[11,k].Color := clRed;
end;
end;
end;
end;
end;
g := Form1.TableGrid1.RowCount - 1;
for f := 0 to g do
begin
sCell2 := Form1.TableGrid1.Cells[10,f];
if ValidDate(sCell2) then
begin
if (YearsBetween(Now, StrToDate(sCell2)) > 5) then
begin
Form1.TableGrid1.Cell[10,f].Color := clRed
end;
end else
begin
l := Form1.TableGrid1.RowCount - 1;
for k := 0 to l do
begin
sCell3 := Form1.TableGrid1.Cells[7,k];
if ValidDate(sCell3) then
begin
if (YearsBetween(Now, StrToDate(sCell3)) > 5) then
begin
Form1.TableGrid1.Cell[10,k].Color := clRed;
end;
end;
end;
end;
end;
end;