Не могу вставить значение в ячейку. Ругается на несоответствие форматов, перепробовал уже все варианты. Может я что-то не так делаю
procedure main_mainGrid_OnChange (Sender: string; Action: string);
var
i, mNow, yNow, c, q, e : integer;
iRow, iCol : integer;
k : integer;
DD, YY, MM: word;
begin
c := main.mainGrid.RowCount - 1;
i := main.mainGrid.Columns.Count-1;
for iRow := 0 to c do
for iCol := 0 to i do
begin
DecodeDate(Now, YY, MM, DD); // декодируем текущую дату
mNow := StrToInt ((IntToStr(MM))); // извлекаем месяц
yNow := StrToInt ((IntToStr(YY))); // извлекаем год
q := StrToInt (main.mainGrid.Cells[13,iRow]); // определяем квартал поверки
e := StrToInt (main.mainGrid.Cells[14,iRow]); // определяем год поверки
if (mNow >=1) and (mNow <=3) then k := 1; // определяем текущий квартал
if (mNow >=4) and (mNow <=6) then k := 2;
if (mNow >=7) and (mNow <=9) then k := 3 ;
if (mNow >=10) and (mNow <=12) then k := 4;
if (e < yNow) then
begin
main.mainGrid.Cell[iCol,iRow].Color := clRed; // если год меньше текущего
main.mainGrid.Cell[15,iRow] := 'Просрочен'; //<= Не работает
end;
if (e = yNow)and (q < k) then main.mainGrid.Cell[iCol,iRow].Color := clRed; // год совпадает квартал меньше текущего
if (e = yNow)and (q = k) then main.mainGrid.Cell[iCol,iRow].Color := clYellow; // квартал и год совпадает с текущим
if (e = yNow)and (q - k = 1) then main.mainGrid.Cell[iCol,iRow].Color := clGreen; // квартал и год совпадает с текущим
begin
main.Edit3.Text := 'Списан';
main.Edit4.Text := 'На списание';
begin
main.mainGrid.BestFitColumns(bfBoth); // автоподбор ширины по содержимому ячеек и названия колонок
end;
end;
end;
end;
проект во вложении
в принципе мне нужен просто какой-то идентификатор по условию что-бы осуществлять по нему выборку(поиск)