Читайте также: |
|
Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, TeEngine, Series, StdCtrls, ExtCtrls, TeeProcs, Chart;
Type
TForm14 = class (TForm)
Private
Public
end;
Var
Form14: TForm14;
Implementation
end.
2.2.11 UNIT TABL_7
unit Tabl_7;
Interface
Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Grids, StdCtrls, ActnList, ToolWin, ActnMan,
ActnCtrls, ActnMenus, XPStyleActnCtrls;
Type
TForm15 = class (TForm)
ActionManager1: TActionManager;
ActionMainMenuBar1: TActionMainMenuBar;
Action1: TAction;
Action2: TAction;
Action3: TAction;
lbCaption: TLabel;
StringGrid1: TStringGrid;
procedure FormShow(Sender: TObject);
procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure Action1Execute(Sender: TObject);
procedure Action2Execute(Sender: TObject);
procedure Action3Execute(Sender: TObject);
procedure Shapka;
procedure Zapolnenie;
Private
Public
end;
Var
Form15: TForm15;
Implementation
uses Enterprise, PrnGridUnit, Programm, ShellAPI;
{**** Появление формы ****}
procedure TForm15.FormShow(Sender: TObject);
Begin
Shapka;
Zapolnenie;
end;
{**** Шапка таблиц ****}
procedure TForm15.Shapka;
Begin
// Ширина столбцов
StringGrid1.ColWidths[0]:= 400;
StringGrid1.ColWidths[1]:= 120;
StringGrid1.ColWidths[2]:= 120;
StringGrid1.ColWidths[3]:= 120;
StringGrid1.ColWidths[4]:= 120;
StringGrid1.ColWidths[5]:= 120;
// Шапка таблицы
StringGrid1.Cells[0, 0]:= ' Показатели';
StringGrid1.Cells[1, 0]:= ' 1 год (берутся данные на начало аналогичного предыдущего периода)';
StringGrid1.Cells[2, 0]:= ' 2 год (берутся данные на начало отчётного периода)';
StringGrid1.Cells[3, 0]:= ' Изменения (+/-)';
StringGrid1.Cells[4, 0]:= ' 3 год (берутся данные на конец отчётного периода)';
StringGrid1.Cells[5, 0]:= ' Изменения (+/-)';
StringGrid1.Cells[0, 1]:= ' Совокупные активы (пассивы) (СА)';
StringGrid1.Cells[0, 2]:= ' Скорректированные внеобортные активы (СВА)';
StringGrid1.Cells[0, 3]:= ' Оборотные активы (ОА)';
StringGrid1.Cells[0, 4]:= ' Ликвидные активы (ЛА)';
StringGrid1.Cells[0, 5]:= ' Наиболее ликвидные оборотные активы (НЛОА)';
StringGrid1.Cells[0, 6]:= ' Краткосрочная дебиторская задолженность (КДЗ)';
StringGrid1.Cells[0, 7]:= ' Собственные средства (СС)';
StringGrid1.Cells[0, 8]:= ' Обязательства предприятия (ОД)';
StringGrid1.Cells[0, 9]:= ' Текущие обязательства (ТКО)';
StringGrid1.Cells[0, 10]:= ' Валовая выручка (Впр)';
StringGrid1.Cells[0, 11]:= ' Среднемесячная выручка (Вср)';
StringGrid1.Cells[0, 12]:= ' Чистая прибыль (убыток) (ЧПр)';
StringGrid1.Cells[0, 13]:= ' Сумма всех доходов предприятия (Д)';
StringGrid1.Cells[0, 14]:= ' Потенциальные оборотные активы к возврату (ПОАВ)';
StringGrid1.Cells[0, 15]:= ' Выручка нетто (ВН)';
end;
{**** Заполнение таблиц *****}
procedure TForm15.Zapolnenie;
Var
i, j, m, f: Byte;
Begin
// 1 год
i:= 3; // элемент
m:= 1; // столбец
f:= 1; StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[SA, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[SVA, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[OA, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[LA, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[NLOA, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[KDZ, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[SS, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[OD, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[TKO, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[Vpr, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[Vsr, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[CHPr, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[D, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[POAV, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[VN, i]);
// 2 год
i:= 2; // элемент
m:= 2; // столбец
f:= 1; StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[SA, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[SVA, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[OA, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[LA, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[NLOA, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[KDZ, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[SS, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[OD, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[TKO, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[Vpr, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[Vsr, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[CHPr, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[D, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[POAV, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[VN, i]);
// 3 год
i:= 1; // элемент
m:= 4; // столбец
f:= 1; StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[SA, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[SVA, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[OA, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[LA, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[NLOA, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[KDZ, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[SS, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[OD, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[TKO, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[Vpr, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[Vsr, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[CHPr, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[D, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[POAV, i]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[VN, i]);
// Изменения # 1
i:= 3; // элемент
j:= 2; // элемент
m:= 3; // столбец
f:= 1; StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[SA, i] - b[SA, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[SVA, i] - b[SVA, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[OA, i] - b[OA, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[LA, i] - b[LA, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[NLOA, i] - b[NLOA, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[KDZ, i] - b[KDZ, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[SS, i] - b[SS, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[OD, i] - b[OD, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[TKO, i] - b[TKO, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[Vpr, i] - b[Vpr, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[Vsr, i] - b[Vsr, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[CHPr, i] - b[CHPr, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[D, i] - b[D, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[POAV, i] - b[POAV, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[VN, i] - b[VN, j]);
// Изменения # 2
i:= 1; // элемент
j:= 2; // элемент
m:= 5; // столбец
f:= 1; StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[SA, i] - b[SA, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[SVA, i] - b[SVA, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[OA, i] - b[OA, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[LA, i] - b[LA, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[NLOA, i] - b[NLOA, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[KDZ, i] - b[KDZ, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[SS, i] - b[SS, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[OD, i] - b[OD, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[TKO, i] - b[TKO, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[Vpr, i] - b[Vpr, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[Vsr, i] - b[Vsr, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[CHPr, i] - b[CHPr, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[D, i] - b[D, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[POAV, i] - b[POAV, j]);
inc(f); StringGrid1.Cells[m, f]:= FormatFloat('0.00', b[VN, i] - b[VN, j]);
end;
{**** Форматирование таблицы ****}
procedure TForm15.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
Var
s: String;
Flag: Cardinal;
H: Integer;
i, j, m: Byte;
Begin
{_________________Выделение цветом ячеек (для изменений #1 и #2)_______________}
for m:= 1 to 2 do // для того, чтобы заполнить два раза (т.е. два столбика)
Begin
for j:= 1 to 15 do // от 1 до 15 строчки
Begin
if m = 1 then i:= 3 // заполняем 3ий столбик
else i:= 5; // заполняем 5ый столбик
if (ACol = i) and (ARow = j) and (StrToFloat(StringGrid1.Cells[i, j]) >= 0) then
Begin
StringGrid1.Canvas.Brush.Color:= rgb(154, 255, 154); // салатовый
StringGrid1.Canvas.FillRect(Rect);
StringGrid1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, StringGrid1.Cells[ACol, ARow]);
end;
if (ACol = i) and (ARow = j) and (StrToFloat(StringGrid1.Cells[i, j]) < 0) then
Begin
StringGrid1.Canvas.Brush.Color:= rgb(250, 128, 114); // розовый
StringGrid1.Canvas.FillRect(Rect);
StringGrid1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, StringGrid1.Cells[ACol, ARow]);
end;
end;
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; // Увеличиваем
end;
{**** Панель - Печать ****}
procedure TForm15.Action1Execute(Sender: TObject);
Begin
PrintGrid(StringGrid1, lbCaption);
end;
{**** Панель - Помощь ****}
procedure TForm15.Action2Execute(Sender: TObject);
Begin
ShellExecute(handle, 'open', 'helpfile.pdf', nil, nil, SW_SHOWNORMAL);
end;
{**** Панель - О программе ****}
procedure TForm15.Action3Execute(Sender: TObject);
Begin
Form22.Show;
end;
end.
2.2.12 UNIT TABL_8
unit Tabl_8;
Дата добавления: 2015-10-13; просмотров: 73 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Interface | | | Interface |