Разработка инвестиционного проекта ОАО "Завод по производству труб большого диаметра"
Дипломная работа - Экономика
Другие дипломы по предмету Экономика
а эффективности инвестиционных проектов. Теория и практика. М. Дело, 2001.
Приложение Б. Текст программы
unit datamodul;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls, ExtCtrls, ComCtrls, Spin, Menus;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
SpinEdit1: TSpinEdit;
Label3: TLabel;
Edit1: TEdit;
StringGrid1: TStringGrid;
Label4: TLabel;
StringGrid2: TStringGrid;
Label5: TLabel;
StringGrid3: TStringGrid;
CheckBox1: TCheckBox;
StringGrid4: TStringGrid;
Label6: TLabel;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
SaveDialog1: TSaveDialog;
OpenDialog1: TOpenDialog;
Label7: TLabel;
Edit2: TEdit;
N5: TMenuItem;
N9: TMenuItem;
GroupBox1: TGroupBox;
Label8: TLabel;
Edit3: TEdit;
Label9: TLabel;
Edit4: TEdit;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure SpinEdit1Change(Sender: TObject);
procedure StringGrid1KeyPress(Sender: TObject; var Key: Char);
procedure StringGrid2KeyPress(Sender: TObject; var Key: Char);
procedure StringGrid3KeyPress(Sender: TObject; var Key: Char);
procedure StringGrid4KeyPress(Sender: TObject; var Key: Char);
procedure CheckBox1Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure N5Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
i,j,n,nRt : integer; {циклич.пер-е, кол-во ПУП,кол-во ПУП для рассчета Rt}
Ir,G : real; {соб.кап вложения для Rt, критерий эффективности}
Ip : array[1..3] of real; {макс. и мин-е значение первонач.кап.вложений}
RSvar,Rdvar,Vt : array[1..20] of real;{реальное значение Si и di для подсчета Rt, кр.риска}
dvar : array[1..3,1..20] of real; {безриск.%ставка 1-я строка - мин, 2 - макс.}
Svar,NPVvar,Rt : array[1..3,1..20] of real; {интервалы ден.потоков 1 строка - мин,2 - сред.зн.,3 - макс,NPV-массив,кр.ликвидности}
At,Zt,Ct : array[1..2,1..20] of real; {соб,заем средства, кр.покрытия 1- мин, 2- макс}
mCt,mVt,mRt : array[1..4,1..20] of real; {массивы функций принадлежностей к риску}
kCt,kVt,kRt,kre : array[1..3] of real; {массивы верхних границ весов для оценки риска, 1- минимальный, 4 - недопустимый}
implementation
uses Rtmodul, Rezaltmodul, Formirmodul, mmodul, Rulermodul;
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
n:=SpinEdit1.Value;
StringGrid1.ColCount:=n;
StringGrid2.ColCount:=n;
StringGrid3.ColCount:=n;
StringGrid4.ColCount:=n;
Checkbox1.Checked:=false;
kCt[1]:=0.25;kCt[2]:=0.5;kCt[3]:=0.75;
kRt[1]:=0.25;kRt[2]:=0.5;kRt[3]:=0.75;
kVt[1]:=0.05;kVt[2]:=0.1;kVt[3]:=0.2;
kre[1]:=0.25;kre[2]:=0.5;kre[3]:=0.75;
for j:=0 to n-1 do begin
StringGrid1.Cells[j,0]:=IntToStr(j+1);
StringGrid2.Cells[j,0]:=IntToStr(j+1);
StringGrid3.Cells[j,0]:=IntToStr(j+1);
StringGrid4.Cells[j,0]:=IntToStr(j+1);
RSvar[j+1]:=0;Rdvar[j+1]:=0;
end;
Rtkey:=false; Ir:=0;nRt:=0;
end;
procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
n:=SpinEdit1.Value; CheckBox1.Checked:=false;
Form4.StringGrid1.ColCount:=n+1; Form4.StringGrid2.ColCount:=n+1; Form2.SpinEdit1.Value:=n;
Form3.StringGrid1.RowCount:=n+1; Form3.StringGrid2.RowCount:=n+1;
StringGrid1.ColCount:=n; StringGrid2.ColCount:=n; StringGrid3.ColCount:=n; StringGrid4.ColCount:=n;
for j:=0 to n-1 do begin
StringGrid1.Cells[j,0]:=IntToStr(j+1); StringGrid2.Cells[j,0]:=IntToStr(j+1); StringGrid3.Cells[j,0]:=IntToStr(j+1);
StringGrid4.Cells[j,0]:=IntToStr(j+1);
Form3.StringGrid1.Cells[0,j+1]:=IntToStr(j+1);Form3.StringGrid2.Cells[0,j+1]:=IntToStr(j+1);