26 (edited by pha1984 2015-11-28 05:15:23)

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;

Re: TableGrid

Этот вопрос выходит за рамки помощи, т.к. займет слишком много времени.

Dmitry.

Re: TableGrid

я ведь предоставил скрипт, можете просто поправить или хотя бы сказать как написать скрипт если дата не является ValidDate?