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

try

rentPay:=StrToFloat(lbledtRentPay.Text);

except

on EConvertError do

begin

MessageDlg('Арендные платежи введены не верно!', mtWarning, [mbOk], 0);

Exit;

end;

end;

try

credPay:=StrToFloat(lbledtCredPay.Text);

except

on EConvertError do

begin

MessageDlg('Платежи по кредитам введены не верно!', mtWarning, [mbOk], 0);

Exit;

end; >end;

try

eduPay:=StrToFloat(lbledtEduPay.Text);

except

on EConvertError do

begin

MessageDlg('Платежи за образование введены не верно!', mtWarning, [mbOk], 0);

Exit;

end;

end;

try

alimPay:=StrToFloat(lbledtAlimPay.Text);

except

on EConvertError do

begin

MessageDlg('Алименты введены не верно!', mtWarning, [mbOk], 0);

Exit;

end;

end;

try

othersPay:=StrToFloat(lbledtOthersPay.Text);

except

on EConvertError do

begin

MessageDlg('Прочие платежи введены не верно!', mtWarning, [mbOk], 0);

Exit;

end;

end;

fixPay:=rentPay+credPay+eduPay+alimPay+othersPay;

freeIncome:=(gAverageIncome*(1-famKoef))-fixPay;

lbledtFreeIncome.Text:=FloatToStr(freeIncome);

gFreeIncome:=freeIncome;

end;

//

// Определение текущего дохода заемщика

//

procedure TForm1.btnCurrentIncomeCountClick(Sender: TObject);

var

totalIncome, provedIncome, currentIncome : real;

k, k1, k2, k3, k4, k5, k6, k7 : real;

begin

try

totalIncome:=StrToFloat(lbledtTotalIncome.Text);

except

on EConvertError do

begin

MessageDlg('Заявленный доход введен не верно!', mtWarning, [mbOk], 0);

Exit;

end;

end;

try

provedIncome:=StrToFloat(lbledtProvedIncome.Text);

except

on EConvertError do

begin

MessageDlg('Подтвержденный доход введен не верно!', mtWarning, [mbOk], 0);

Exit;

end;

end;

case cbxProvedIncome.ItemIndex of

0 : k1:=1; // подтвержденный

1 : k1:=0.6; // неподтвержденный

2 : k1:=0.4; // неподтвержденный без.док.

else

begin

MessageDlg('Не выбрана форма подтверждения дохода!', mtWarning, [mbOk], 0);

Exit;

end;

end;

if (k1 <> 1) then // есть неподтвержденная часть дохода

begin

case cbxClient.ItemIndex of

0 : k2:=0.05;

1 : k2:=0;

else

begin

MessageDlg('Не заполнено поле "Заемщик - клиент Банка" !', mtWarning, [mbOk], 0);

Exit;

end;

end;

case cbxAccVol.ItemIndex of

0 : k3:=0.1;

1 : k3:=0.2;

2 : k3:=0.3;

else

begin

MessageDlg('Не заполнено поле "Объемы оборотов по счету" !', mtWarning, [mbOk], 0);

Exit;

end;

end;

case cbxPropCost.ItemIndex of

0 : k4:=0.05;

1 : k4:=0.1;

2 : k4:=0.2;

else

begin

MessageDlg('Не заполнено поле "Стоимость имущества" !', mtWarning, [mbOk], 0);

Exit;

end;

end;

case cbxShare.ItemIndex of

0 : k5:=0;

1 : k5:=0.05;

2 : k5:=0.1;

3 : k5:=0.2;

else

begin

MessageDlg('Не заполнено поле "Размер доли" !', mtWarning, [mbOk], 0);

Exit;

end;

end;

case cbxExpense.ItemIndex of

0 : k6:=0;

1 : k6:=0.1;

2 : k6:=0.2;

else

begin

MessageDlg('Не заполнено поле "Размер расходов" !', mtWarning, [mbOk], 0);

Exit;

end;

end;

case cbxPrePaid.ItemIndex of

0 : k7:=0;

1 : k7:=0.1;

2 : k7:=0.15;

3 : k7:=0.2;

else

begin

MessageDlg('Не заполнено поле "Размер доли собств. ср-в" !', mtWarning, [mbOk], 0);

Exit;

end;

end;

k:=k1+k2+k3+k4+k5+k6+k7;

if (k < 1) then

currentIncome:=provedIncome+(totalIncome-provedIncome)*k

else

currentIncome:=totalIncome;

end

else // k1 = 1 - весь доход подтвержден - короткая формула

currentIncome:=totalIncome;

lbledtCurrentIncome.Text:=FloatToStr(currentIncome);

gCurrentIncome:=currentIncome;

end;

procedure TForm1.btnAverageIncomeCountClick(Sender: TObject);

var

averageIncome,k,k1,k2,k3,k4,k5,k6,k7,k8,k9 : real;

begin

case cbxPos.ItemIndex of

0 : k1:=0.25;

1 : k1:=0.2;

2 : k1:=0.15;

3 : k1:=0.1;

4 : k1:=0.05;

5 : k1:=0.2;

else

begin

MessageDlg('Не заполнено поле "Должность" !', mtWarning, [mbOk], 0);

Exit;

end;

end;

case cbxSpec.ItemIndex of

0 : k2:=0.15;

1 : k2:=0.15;

2 : k2:=0.1;

3 : k2:=0.05;

4 : k2:=0.05;

5 : k2:=0.1;

6 : k2:=0.1;

else

begin

MessageDlg('Не заполнено поле "Обязанности" !', mtWarning, [mbOk], 0);

Exit;

end;

end;

case cbxStazh.ItemIndex of

0 : k3:=0.2;

1 : k3:=0.15;

2 : k3:=0.05;

else

begin

MessageDlg('Не заполнено поле "Стаж" !', mtWarning, [mbOk], 0);

Exit;

end;

end;

case cbxLastStazh.ItemIndex of

0 : k4:=0.1;

1 : k4:=0.05;

2 : k4:=0;

else

begin

MessageDlg('Не заполнено поле "Последний стаж" !', mtWarning, [mbOk], 0);

Exit;

end;

end;

case cbxJobChange.ItemIndex of

0 : k5:=0.1;

1 : k5:=0.05;

2 : k5:=0;

else

begin

MessageDlg('Не заполнено поле "Смена работы" !', mtWarning, [mbOk], 0);

Exit;

end;

end;

case cbxCareer.ItemIndex of

0 : k6:=0.05;

1 : k6:=0;

else

begin

MessageDlg('Не заполнено поле "Карьерный рост" !', mtWarning, [mbOk], 0);

Exit;

end;

end;

case cbxEdu.ItemIndex of

0 : k7:=0.15;

1 : k7:=0.1;

2 : k7:=0.05;

3 : k7:=0.05;

4 : k7:=0;

else

begin

MessageDlg('Не заполнено поле "Образование" !', mtWarning, [mbOk], 0);

Exit;

end;

end;

case cbxAge.ItemIndex of

0 : k8:=0;

1 : k8:=0.15;

2 : k8:=0.1;

3 : k8:=0.05;

else

begin

MessageDlg('Не заполнено поле "Возраст" !', mtWarning, [mbOk], 0);

Exit;

end;

end;

case cbxCredHistory.ItemIndex of

0 : k9:=0.05;

1 : k9:=0;

else

begin

MessageDlg('Не заполнено поле "Кредитная история" !', mtWarning, [mbOk], 0);

Exit;

end;

end;

k:=k1+k2+k3+k4+k5+k6+k7+k8+k9;

if (k > 1) then k:=1;

averageIncome:=gCurrentIncome*k;

lbledtAverageIncome.Text:=FloatToStr(averageIncome);

gAverageIncome:=averageIncome;

end;

procedure TForm1.Button1Click(Sender: TObject);

var

pod,psd,klci : real;

begin

try

pod:=gAnnuitet/gAverageIncome;

psd:=gAnnuitet/gFreeIncome;

klci:=gSummaCredita/gCarPrice;

lbledtPOD.Text:=FloatToStr(RoundTo(pod,-3));

lbledtPSD.Text:=FloatToStr(RoundTo(psd,-3));

lbledtKLCI.Text:=FloatToStr(RoundTo(klci,-3));

except

on EInvalidOp do

begin

MessageDlg('Приступайте к рассчету коэф-тов в последнюю очередь !', mtWarning, [mbOk], 0);

Exit;

end;

end;

if (pod <= 0.45) then

pnlPOD.Caption:='V'

else

pnlPOD.Caption:='X';

if (psd <= 0.7) then

pnlPSD.Caption:='V'

Страница:  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 - рефераты, курсовые и дипломные работы