Построение модели организационной структуры фирмы

XLS2: TMenuItem;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

TabSheet4: TTabSheet;

TabSheet5: TTabSheet;

TabSheet6: TTabSheet;

lbledtSumCred: TLabeledEdit;

lbledtYRate: TLabeledEdit;

lbledtSrok: TLabeledEdit;

lbledtAnnuitet: TLabeledEdit;

btnAnnuitetCount: TButton;

Label1: TLabel;

rgVozrast: TRadioGroup;

rgReg: TRadio

Group;

rgTrud: TRadioGroup;

rgDoc: TRadioGroup;

rgStazh: TRadioGroup;

rgCred: TRadioGroup;

rgChild: TRadioGroup;

rgArmy: TRadioGroup;

rgIncome: TRadioGroup;

Label2: TLabel;

pnlVozrast: TPanel;

pnlReg: TPanel;

pnlTrud: TPanel;

pnlDoc: TPanel;

pnlStazh: TPanel;

pnlCred: TPanel;

pnlIncome: TPanel;

pnlChild: TPanel;

pnlArmy: TPanel;

btnCheckClient: TButton;

XPManifest1: TXPManifest;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

cbxFamMembers: TComboBox;

Label8: TLabel;

lbledtRentPay: TLabeledEdit;

lbledtCredPay: TLabeledEdit;

lbledtEduPay: TLabeledEdit;

lbledtAlimPay: TLabeledEdit;

lbledtOthersPay: TLabeledEdit;

btnFixPayCount: TButton;

lbledtFreeIncome: TLabeledEdit;

N1: TMenuItem;

lbledtTotalIncome: TLabeledEdit;

lbledtProvedIncome: TLabeledEdit;

Label9: TLabel;

cbxProvedIncome: TComboBox;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

Label15: TLabel;

Label16: TLabel;

cbxClient: TComboBox;

cbxAccVol: TComboBox;

cbxPropCost: TComboBox;

cbxShare: TComboBox;

cbxExpense: TComboBox;

cbxPrePaid: TComboBox;

btnCurrentIncomeCount: TButton;

lbledtCurrentIncome: TLabeledEdit;

lbledtCarPrice: TLabeledEdit;

Label17: TLabel;

Label18: TLabel;

Label19: TLabel;

Label20: TLabel;

Label21: TLabel;

Label22: TLabel;

Label23: TLabel;

Label24: TLabel;

Label25: TLabel;

cbxPos: TComboBox;

cbxSpec: TComboBox;

cbxStazh: TComboBox;

cbxLastStazh: TComboBox;

cbxJobChange: TComboBox;

cbxCareer: TComboBox;

cbxEdu: TComboBox;

cbxAge: TComboBox;

cbxCredHistory: TComboBox;

btnAverageIncomeCount: TButton;

lbledtAverageIncome: TLabeledEdit;

Label26: TLabel;

lbledtPOD: TLabeledEdit;

lbledtPSD: TLabeledEdit;

lbledtKLCI: TLabeledEdit;

pnlPOD: TPanel;

pnlPSD: TPanel;

pnlKLCI: TPanel;

Button1: TButton;

procedure btnAnnuitetCountClick(Sender: TObject);

procedure btnCheckClientClick(Sender: TObject);

procedure btnFixPayCountClick(Sender: TObject);

procedure btnCurrentIncomeCountClick(Sender: TObject);

procedure btnAverageIncomeCountClick(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure N1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

// Вспомогательные глобальные переменные

// для хранения основных рассчетных параметров заемщика

gSummaCredita : real;

gCarprice : real;

gAnnuitet : real; // размер аннуитета

gCurrentIncome : real; // текущий доход

gAverageIncome : real; // ожидаемый доход

gFreeIncome : real;

implementation

{$R *.dfm}

//

// Рассчет аннуитетного платежа

//

procedure TForm1.btnAnnuitetCountClick(Sender: TObject);

var

yrate,mrate,carprice,summacredita,annuitet : real;

srok : integer;

begin

gAnnuitet:=0;

try

carprice:=StrToFloat(lbledtCarPrice.Text);

except

on EConvertError do

begin

MessageDlg('Стоимость автомобиля введена не верно!', mtWarning, [mbOk], 0);

Exit;

end;

end;

gCarPrice:=carprice;

try

summacredita:=StrToFloat(lbledtSumCred.Text);

except

on EConvertError do

begin

MessageDlg('Сумма кредита введена не верно!', mtWarning, [mbOk], 0);

Exit;

end;

end;

gSummaCredita:=summacredita;

if (summacredita > carprice) or ((summacredita/carprice) > 0.8) then

begin

MessageDlg('Сумма кредита не может превышать стоимость или составлять > 80% от нее !', mtWarning, [mbOk], 0);

Exit;

end;

try

yrate:=StrToFloat(lbledtYRate.Text)/100;

except

on EConvertError do

begin

MessageDlg('Процентная ставка введена не верно!', mtWarning, [mbOk], 0);

Exit;

end;

end;

try

mrate:=yrate / 12;

except

on EZeroDivide do

begin

MessageDlg('Проверьте корректность данных!', mtWarning, [mbOk], 0);

Exit;

end;

end;

try

srok:=StrToInt(lbledtSrok.Text);

except

on EConvertError do

begin

MessageDlg('Срок кредитования введен не верно!', mtWarning, [mbOk], 0);

Exit;

end;

end;

if (srok > 0) then

try

annuitet:=(summacredita*mrate)/(1-(1/exp((srok-1)*ln(1+mrate))));

except

on EInvalidOp do

begin

MessageDlg('Проверьте корректность данных!', mtWarning, [mbOk], 0);

Exit;

end;

on EZeroDivide do

begin

MessageDlg('Проверьте корректность данных!', mtWarning, [mbOk], 0);

Exit;

end;

end

else

begin

MessageDlg('Проверьте корректность данных!', mtWarning, [mbOk], 0);

Exit;

end;

gAnnuitet:=annuitet;

lbledtAnnuitet.Text:=FloatToStr(Round(annuitet));

end;

//

// Проверка выполнения минимальных требований к заемщику

//

procedure TForm1.btnCheckClientClick(Sender: TObject);

begin

if (rgVozrast.ItemIndex = 0) then

pnlVozrast.Caption:='V'

else

pnlVozrast.Caption:='X';

if (rgReg.ItemIndex = 0) then

pnlReg.Caption:='V'

else

pnlReg.Caption:='X';

if (rgTrud.ItemIndex = 0) then

pnlTrud.Caption:='V'

else

pnlTrud.Caption:='X';

if (rgDoc.ItemIndex = 0) then

pnlDoc.Caption:='V'

else

pnlDoc.Caption:='X';

if (rgStazh.ItemIndex = 0) then

pnlStazh.Caption:='V'

else

pnlStazh.Caption:='X';

if (rgCred.ItemIndex = 0) then

pnlCred.Caption:='V'

else

pnlCred.Caption:='X';

if (rgIncome.ItemIndex = 0) then

pnlIncome.Caption:='V'

else

pnlIncome.Caption:='X';

if (rgChild.ItemIndex = 0) then

pnlChild.Caption:='V'

else

pnlChild.Caption:='X';

if (rgArmy.ItemIndex = 0) then

pnlArmy.Caption:='V'

else

pnlArmy.Caption:='X';

end;

//

// Рассчет свободного дохода

//

procedure TForm1.btnFixPayCountClick(Sender: TObject);

var

famMembers : integer;

rentPay, credPay, eduPay, alimPay, othersPay,fixPay,famKoef,freeIncome : real;

begin

try

famMembers:=StrToInt(cbxFamMembers.Text); // проверить на 0

except

on EConvertError do

begin

MessageDlg('Кол-во сожителей введено не верно!', mtWarning, [mbOk], 0);

Exit;

end;

end;

case famMembers of

0 : famKoef:=0.1;

1 : famKoef:=0.2;

2 : famKoef:=0.4;

3 : famKoef:=0.5;

4 : famKoef:=0.6;

5 : famKoef:=0.7;

end;

Страница:  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15 
 16  17  18  19  20  21  22  23 


Другие рефераты на тему «Экономико-математическое моделирование»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы