Помощь в коде Stringgrid Cells[acol, Arow] = Color

Polya

Принятый Кодер
Ofline
Как правильно распределить 30 дней для 3 цветов
от 1 до 15 зеленый
от 15 до 25 желтый
от 25 до 30 красный
Не могу придумать как это сделать.

вот я думаю так делать, но в условиях не формат даты

Код:
procedure TWindow.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  X: TDate;
begin
  with StringGrid1 do
  begin
    try
      X := StrToDate(Cells[ACol, ARow]);
      if X < 15 then
        Canvas.Brush.Color := clGreen;
      if X > 15 then
        Canvas.Brush.Color := clYellow;
      if X > 25 then
        Canvas.Brush.Color := clRed ;
    except
    end;
    Canvas.FillRect(Rect); // Текст тоже будет закрашен, его нужно перерисовать:
    Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, Cells[ACol, ARow]);
  end;
end;
 
Я думаю можно сделать ещё проще, через условие сделать подсчёт дней в месяце и через оператор if сделать логику. Как по мне так не тяжело.
 
Я думаю можно сделать ещё проще, через условие сделать подсчёт дней в месяце и через оператор if сделать логику. Как по мне так не тяжело.
сделать календарный список дней месяца?
Но у меня в базе данных хранится два числа, начало и окончание.
Я просто с базы данных вывожу дату окончания
 
Назад
Сверху Снизу