Читайте также: |
|
StringGrid1.Cells[m, f]:= '<';
if j = 3 then StaticText1.Visible:= True;
if j = 2 then StaticText5.Visible:= True;
if j = 1 then StaticText9.Visible:= True;
end;
inc(f);
if a[2, j] >= p[2, j] then
StringGrid1.Cells[m, f]:= '>='
Else begin
StringGrid1.Cells[m, f]:= '<';
if j = 3 then StaticText2.Visible:= True;
if j = 2 then StaticText6.Visible:= True;
if j = 1 then StaticText10.Visible:= True;
end;
inc(f);
if a[3, j] >= p[3, j] then
StringGrid1.Cells[m, f]:= '>='
Else begin
StringGrid1.Cells[m, f]:= '<';
if j = 3 then StaticText3.Visible:= True;
if j = 2 then StaticText7.Visible:= True;
if j = 1 then StaticText11.Visible:= True;
end;
inc(f);
if a[4, j] <= p[4, j] then
StringGrid1.Cells[m, f]:= '<='
Else begin
StringGrid1.Cells[m, f]:= '>';
if j = 3 then StaticText4.Visible:= True;
if j = 2 then StaticText8.Visible:= True;
if j = 1 then StaticText12.Visible:= True;
end;
end;
end;
{**** Форматирование таблицы #1 ****}
procedure TForm5.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
Var
s: String;
Flag: Cardinal;
H: Integer;
i, j, m, n: Byte;
Begin
{_________________Выделение цветом ячеек (от вида отч. периода)________________}
i:= 0; // столбик
for m:= 1 to 3 do // для того, чтобы заполнить 3 раза (т.е. 3мя разными оттенками - зелёным, синим и красным)
Begin
if m = 1 then
Begin
if (ACol = i) and (ARow = 1) then // выделяем 1ую строчку
StringGrid1.Canvas.Brush.Color:= rgb(0, 205, 0); // тёмно-зелёный
for n:= 0 to 1 do // нужно закрасить два столбика
Begin
if n = 0 then i:= 0;
if n = 1 then i:= 3;
for j:= 2 to 5 do // от 2 до 5 строчку
if (ACol = i) and (ARow = j) then
StringGrid1.Canvas.Brush.Color:= rgb(154, 255, 154); // салатовый
end;
end;
i:= 0; // столбик
if m = 2 then
Begin
if (ACol = i) and (ARow = 6) then // выделяем 6ую строчку
StringGrid1.Canvas.Brush.Color:= rgb(67, 110, 238); // тёмно-синий
for n:= 0 to 1 do // нужно закрасить два столбика
Begin
if n = 0 then i:= 0;
if n = 1 then i:= 3;
for j:= 7 to 10 do // от 7 до 10 строчку
if (ACol = i) and (ARow = j) then
StringGrid1.Canvas.Brush.Color:= rgb(135, 206, 235); // голубой
end;
end;
i:= 0; // столбик
if m = 3 then
Begin
if (ACol = i) and (ARow = 11) then // выделяем 11ую строчку
StringGrid1.Canvas.Brush.Color:= rgb(238, 44, 44); // тёмно-красный
for n:= 0 to 1 do // нужно закрасить два столбика
Begin
if n = 0 then i:= 0;
if n = 1 then i:= 3;
for j:= 12 to 15 do // от 12 до 15 строчку
if (ACol = i) and (ARow = j) then
StringGrid1.Canvas.Brush.Color:= rgb(250, 128, 114); // розовый
end;
end;
StringGrid1.Canvas.FillRect(Rect);
StringGrid1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, StringGrid1.Cells[ACol, ARow]);
end;
{________________________________________Выравнивание ячеек____________________}
StringGrid1.Canvas.FillRect(Rect);
s:= StringGrid1.Cells[ACol, ARow];
Flag:= DT_LEFT;
Flag:= Flag or DT_WORDBREAK;
Inc(Rect.Left, 0);
Dec(Rect.Right, 0);
H:= DrawText(StringGrid1.Canvas.Handle, PChar(s), Length(s), Rect, Flag);
if H > StringGrid1.RowHeights[ARow] then
StringGrid1.RowHeights[ARow]:= H; // Увеличиваем
{_________________Выделение цветом ячеек (знак)________________________________}
i:= 2; // столбик
// на аналогич. период
for j:= 2 to 4 do
if StringGrid1.Cells[i, j] = '<' then
if (ACol = i) and (ARow = j) then
StringGrid1.Canvas.Brush.Color:= rgb(238, 44, 44); // тёмно-красный
if StringGrid1.Cells[i, 5] = '>' then
if (ACol = i) and (ARow = j) then
StringGrid1.Canvas.Brush.Color:= rgb(238, 44, 44); // тёмно-красный
// на начало периода
for j:= 7 to 9 do
if StringGrid1.Cells[i, j] = '<' then
if (ACol = i) and (ARow = j) then
StringGrid1.Canvas.Brush.Color:= rgb(238, 44, 44); // тёмно-красный
if StringGrid1.Cells[i, 10] = '>' then
if (ACol = i) and (ARow = j) then
StringGrid1.Canvas.Brush.Color:= rgb(238, 44, 44); // тёмно-красный
// на конец периода
for j:= 12 to 14 do
if StringGrid1.Cells[i, j] = '<' then
if (ACol = i) and (ARow = j) then
StringGrid1.Canvas.Brush.Color:= rgb(238, 44, 44); // тёмно-красный
if StringGrid1.Cells[i, 15] = '>' then
if (ACol = i) and (ARow = j) then
StringGrid1.Canvas.Brush.Color:= rgb(238, 44, 44); // тёмно-красный
StringGrid1.Canvas.FillRect(Rect);
StringGrid1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, StringGrid1.Cells[ACol, ARow]);
end;
{**** Панель - Печать ****}
procedure TForm5.Action1Execute(Sender: TObject);
Begin
PrintGrid(StringGrid1, lbCaption);
end;
{**** Панель - Помощь ****}
procedure TForm5.Action2Execute(Sender: TObject);
Begin
ShellExecute(handle, 'open', 'helpfile.pdf', nil, nil, SW_SHOWNORMAL);
end;
{****Панель - О программе ****}
procedure TForm5.Action3Execute(Sender: TObject);
Begin
Form22.Show;
end;
end.
2.2.2 UNIT TABL_2
unit Tabl_2;
Дата добавления: 2015-10-13; просмотров: 60 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Implementation 4 страница | | | Interface |