Автоматизированная информационная система учета кредитов физических лиц в коммерческом банке

Создание программы предназначенной для автоматизации деятельности кредитного сотрудника банка. Анализ рынка автоматизации кредитования физических лиц. Выбор СУБД и языка программирования. Инфологическое проектирование и разработка интерфейса АИС.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.12.2013
Размер файла 3,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

chbDate2: TCheckBox;

procedure FormShow(Sender: TObject);

procedure DBGrid1TitleClick(Column: TColumn);

procedure bbtCardClick(Sender: TObject);

procedure bbtPrintClick(Sender: TObject);

procedure edContractChange(Sender: TObject);

procedure chbDebtorClick(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

private

{ Private declarations }

public

{ Public declarations }

end;

var

fmLoans: TfmLoans;

implementation

uses uDM, uRep, ADODB, DB, uLoanCard;

{$R *.dfm}

procedure TfmLoans.FormShow(Sender: TObject);

begin

DM.dstLoan.Open;

DM.dstLoan.Sort := 'ДатаДог';

DM.dstClient.Sort := 'ФИО';

chbDebtorClick(Self);

end;

//Сортировка данных в таблице по выбранному столбцу:

procedure TfmLoans.DBGrid1TitleClick(Column: TColumn);

begin

try

(DBGrid1.DataSource.DataSet as TADODataSet).Sort := Column.FieldName;

except

Application.MessageBox('Сортировка по данному полю невозможна', 'Информация', MB_ICONINFORMATION);

end;

end;

procedure TfmLoans.bbtCardClick(Sender: TObject);

begin

fmLoanCard.ShowModal;

end;

//Печать набора данных, видимого на форме в таблице:

procedure TfmLoans.bbtPrintClick(Sender: TObject);

var

Caption: string;

begin

//Формирование заголовка отчета

if not chbStatus.Checked then

Caption := 'Все кредитные договора'

else

if dblcbStatus.KeyValue = 1 then

Caption := 'Не выданные кредиты'

else if dblcbStatus.KeyValue = 2 then

Caption := 'Кредитные договора'

else if dblcbStatus.KeyValue = 3 then

Caption := 'Кредитные договора на просрочке'

else if dblcbStatus.KeyValue = 4 then

Caption := 'Закрытые кредитные договора';

if chbDebtor.Checked and (dblcbDebtor.KeyValue <> Null) then

Caption := Caption + ' заемщика ' + dblcbDebtor.Text;

if chbCreditType.Checked and (dblcbCreditType.KeyValue <> Null) then

Caption := Caption + ', тип кредита: ' + dblcbCreditType.Text;

if chbStatus.Checked and (dblcbStatus.KeyValue <> 1) then

if chbDate1.Checked then

begin

Caption := Caption + ', выданные за период с ' + DateToStr(dtpDate1.Date);

if chbDate2.Checked then

Caption := Caption + ' по ' + DateToStr(dtpDate2.Date);

end

else

begin

if chbDate2.Checked then

Caption := Caption + ', выданные за период по ' + DateToStr(dtpDate2.Date);

end

else

if chbDate1.Checked then

begin

Caption := Caption + ', подготовленные за период с ' + DateToStr(dtpDate1.Date);

if chbDate2.Checked then

Caption := Caption + ' по ' + DateToStr(dtpDate2.Date);

end

else

if chbDate2.Checked then

Caption := Caption + ', подготовленные за период по ' + DateToStr(dtpDate2.Date);

Text_Universal(DBGrid1, 12, Caption);

end;

//Поиск договора по номеру:

procedure TfmLoans.edContractChange(Sender: TObject);

begin

if edContract.Text <> '' then

DM.dstLoan.Locate('NДоговора', '%' + Trim(edContract.Text), [loCaseInsensitive, loPartialKey]);

end;

//Отбор кредитов по заданным критериям:

procedure TfmLoans.chbDebtorClick(Sender: TObject);

var

Filter: string;

begin

Filter := '';

if chbDebtor.Checked and (dblcbDebtor.KeyValue <> Null) then

begin

if Filter <> '' then

Filter := Filter + ' and ';

Filter := Filter + 'Заемщик1ID = ' + IntToStr(dblcbDebtor.KeyValue);

end;

if chbCreditType.Checked and (dblcbCreditType.KeyValue <> Null) then

begin

if Filter <> '' then

Filter := Filter + ' and ';

Filter := Filter + 'ТипКредитаID = ' + IntToStr(dblcbCreditType.KeyValue);

end;

if chbGraphType.Checked and (dblcbGraphType.KeyValue <> Null) then

begin

if Filter <> '' then

Filter := Filter + ' and ';

Filter := Filter + 'ТипГрафикаID = ' + IntToStr(dblcbGraphType.KeyValue);

end;

if chbStatus.Checked and (dblcbStatus.KeyValue <> Null) then

begin

if Filter <> '' then

Filter := Filter + ' and ';

Filter := Filter + 'СтатусID = ' + IntToStr(dblcbStatus.KeyValue);

end;

if chbDate1.Checked then

begin

if Filter <> '' then

Filter := Filter + ' and ';

Filter := Filter + 'ДатаДог >= ' + QuotedStr(DateToStr(dtpDate1.Date));

end;

if chbDate2.Checked then

begin

if Filter <> '' then

Filter := Filter + ' and ';

Filter := Filter + 'ДатаДог <= ' + QuotedStr(DateToStr(dtpDate2.Date));

end;

if Filter <> '' then

begin

DM.dstLoan.Filter := Filter;

DM.dstLoan.Filtered := True;

end

else

DM.dstLoan.Filtered := False;

end;

procedure TfmLoans.FormClose(Sender: TObject; var Action: TCloseAction);

begin

DM.dstLoan.Filtered := False;

DM.dstLoan.Close;

end;

end.

Программный модуль uMain.pas

unit uMain;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ActnList, StdActns, ImgList, XPStyleActnCtrls, ActnMan, ToolWin,

ActnCtrls, ActnMenus, StdCtrls, jpeg, ExtCtrls, Buttons, XPMan;

type

TfmMain = class(TForm)

ActionManager1: TActionManager;

ImageList1: TImageList;

FileExit1: TFileExit;

acCreditType: TAction;

acInsurance: TAction;

acGarantObject: TAction;

acClients: TAction;

acLoans: TAction;

acJournal: TAction;

Image1: TImage;

acStat: TAction;

acLoansList: TAction;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

BitBtn4: TBitBtn;

BitBtn5: TBitBtn;

BitBtn6: TBitBtn;

XPManifest1: TXPManifest;

ActionMainMenuBar1: TActionMainMenuBar;

procedure acClientsExecute(Sender: TObject);

procedure acInsuranceExecute(Sender: TObject);

procedure acCreditTypeExecute(Sender: TObject);

procedure acGarantObjectExecute(Sender: TObject);

procedure acLoansExecute(Sender: TObject);

procedure acJournalExecute(Sender: TObject);

procedure acStatExecute(Sender: TObject);

procedure acLoansListExecute(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

fmMain: TfmMain;

implementation

uses uClients, uCreditType, uGarantObject, uInsurance, uLoans, uJournal,

uStat, uGetDate, uRep;

{$R *.dfm}

procedure TfmMain.acClientsExecute(Sender: TObject);

begin

fmClients.Show;

end;

procedure TfmMain.acInsuranceExecute(Sender: TObject);

begin

fmInsurance.Show;

end;

procedure TfmMain.acCreditTypeExecute(Sender: TObject);

begin

fmCreditType.Show;

end;

procedure TfmMain.acGarantObjectExecute(Sender: TObject);

begin

fmGarantObject.Show;

end;

procedure TfmMain.acLoansExecute(Sender: TObject);

begin

fmLoans.Show;

end;

procedure TfmMain.acJournalExecute(Sender: TObject);

begin

fmJournal.ShowModal;

end;

procedure TfmMain.acStatExecute(Sender: TObject);

begin

fmStat.Show;

end;

//Формирование кредитного портфеля на заданную дату:

procedure TfmMain.acLoansListExecute(Sender: TObject);

var

PDate: TDate;

begin

PDate := Date;

if GetDate(PDate) then

Text_KP(PDate);

end;

end.

Программный модуль uPay.pas

unit uPay;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Mask, DBCtrls, ExtCtrls, ComCtrls, Buttons;

type

TfmPay = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

DBEdit4: TDBEdit;

Bevel1: TBevel;

Label5: TLabel;

lbOper: TLabel;

Label10: TLabel;

dtpDate: TDateTimePicker;

Label11: TLabel;

edSum: TEdit;

bbtOK: TBitBtn;

bbtCancel: TBitBtn;

Bevel3: TBevel;

pnPlan: TPanel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Bevel2: TBevel;

DBEdit5: TDBEdit;

DBEdit6: TDBEdit;

DBEdit7: TDBEdit;

DBLookupComboBox1: TDBLookupComboBox;

lbPercent: TLabel;

edPercent: TEdit;

procedure FormShow(Sender: TObject);

procedure dtpDateChange(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

fmPay: TfmPay;

implementation

uses uDM, Math, uLoanCard;

{$R *.dfm}

procedure TfmPay.FormShow(Sender: TObject);

begin

dtpDate.Date := Date;

dtpDate.SetFocus;

//Сумма оплаты рассчитывается, только если выполняется плановое гашение (а не досрочное):

if pnPlan.Visible then

edSum.Text := CurrToStr(RoundTo(DM.dstGraphic.FieldByName('СуммаНач').Value -

DM.dstGraphic.FieldByName('СуммаИсп').Value, -2))

else

begin

edSum.Text := '';

dtpDateChange(Self);

end;

end;

//Для досрочного гашения рассчитывается сумма процентов, подлежащих гашению

//в дату досрочного гашения ОД:

procedure TfmPay.dtpDateChange(Sender: TObject);

var

Date1: TDate;

Sum: Currency;

begin

if not pnPlan.Visible then

begin

Sum := fmLoanCard.GetSumOfPay(Date1);

fmPay.edPercent.Text := CurrToStr(fmLoanCard.GetPercentValue(Sum,

DM.dstLoan.FieldByName('Ставка').AsFloat / 100, Date1, dtpDate.Date))

end;

end;

end.

Программный модуль uRep.pas

unit uRep;

//Модуль для формирования выходных документов

interface

uses

Windows, SysUtils, Classes, ComObj, DB, Controls, Forms, ADODB, Math, DBGrids;

procedure Text_Universal(ADBGrid: TDBGrid; NumCol: Integer; ACaption: string);

procedure Text_BuildGraphic;

procedure Text_BuildEarlyPays;

procedure Text_KP(PDate: TDate);

implementation

uses

uDM, DateUtils, Dialogs;

//Формирование отчета по выбранному набору данных (вывод заголовков видимых

//полей и их значений):

procedure Text_Universal(ADBGrid: TDBGrid; NumCol: Integer; ACaption: string);

var

Excel: Variant;

i, j, Width: Integer;

begin

Excel := CreateOleObject('Excel.Application');

Screen.Cursor := crHourGlass;

try

try

Excel.Application.EnableEvents := False;

Excel.Workbooks.Add;

for i:=0 to NumCol-1 do

begin

//Вывод в шапку таблицы названий полей из DBGrid'а:

Excel.Cells[5,i+1] := ADBGrid.Columns[i].Title.Caption;

//Форматирование заголовка:

Width := Min(30, Trunc(ADBGrid.Columns[i].Width * 0.2));

Excel.Cells[5,i+1].ColumnWidth := Width;

Excel.Cells[5,i+1].Font.Bold := True;

Excel.Cells[5,i+1].Borders[7].LineStyle := 1;

Excel.Cells[5,i+1].Borders[8].LineStyle := 1;

Excel.Cells[5,i+1].Borders[9].LineStyle := 1;

Excel.Cells[5,i+1].Borders[10].LineStyle := 1;

end;

Excel.Cells[1,1] := Date;

Excel.Cells[3,1] := ACaption;

Excel.Cells[3,1].Font.Bold := True;

Excel.Cells[3,1].Font.Size := 12;

i := 5;

//Экспорт данных из таблиц БД:

with ADBGrid.DataSource.DataSet do

begin

DisableControls; //Отключаем сетку на время формирования отчета

First;

while not Eof do

begin

Inc(i);

//Выводятся NumCol первых полей таблицы, отображенных в DBGrid'е:

for j:=0 to NumCol-1 do

begin

Excel.Cells[i,j+1].NumberFormat := '@'; //Формат "текст"

//Текст выводится так, как он отображен в DBGrid'e:

Excel.Cells[i,j+1] := FieldByName(ADBGrid.Columns[j].FieldName).DisplayText;

Excel.Cells[i,j+1].Borders[7].LineStyle := 1;

Excel.Cells[i,j+1].Borders[8].LineStyle := 1;

Excel.Cells[i,j+1].Borders[9].LineStyle := 1;

Excel.Cells[i,j+1].Borders[10].LineStyle := 1;

if ADBGrid.Columns[j].Alignment = taLeftJustify then

Excel.Cells[i,j+1].HorizontalAlignment := 2 //Выравнивание влево

else

Excel.Cells[i,j+1].HorizontalAlignment := 4;//Выравнивание вправо

end;

Next;

end;

end; //with

Excel.Application.EnableEvents := True;

Excel.Visible := True;

except

Excel.Quit;

end;

finally

ADBGrid.DataSource.DataSet.EnableControls;

Screen.Cursor := crDefault;

ADBGrid.Enabled := True;

end;

end;

//Формирование графика гашения:

procedure Text_BuildGraphic;

var

WorkbookName: string;

Excel: Variant;

i, PosInc: Integer;

SumPercent, SumOD: Currency;

PrevDate: TDate;

//Процедура вносит сумму гашения в соответствующий столбец в графике:

procedure SetPay;

var

Value: Currency;

begin

with DM do

begin

//В зависимости от того, что больше в график ставится фактическая сумма гашения или плановая:

Value := Max(dstGraphic.FieldByName('СуммаНач').AsCurrency, dstGraphic.FieldByName('СуммаИсп').AsCurrency);

if dstGraphic.FieldByName('ПредметГашID').AsInteger = 1 then

begin

//Текущее гашение в графике - гашение ОД:

Excel.Cells[i+PosInc,3] := Value;

SumOD := SumOD + Value

end

else

begin

//Текущее гашение в графике - гашение %%:

Excel.Cells[i+PosInc,4] := Value;

SumPercent := SumPercent + Value;

end;

end;

end;

begin

//Шаблон хранится в папке Templates:

WorkbookName := GetCurrentDir + '\Формы\' + 'График гашения.xlt';

Excel := CreateOleObject('Excel.Application');

Screen.Cursor := crHourGlass;

try

try

Excel.Workbooks.Open(WorkbookName);

i := 0;

SumPercent := 0; //Сумма процентов

SumOD := 0; //Сумма основного долга

PosInc := 6;

//Экспорт данных из таблицы БД:

with DM do

begin

//Вывод реквизитов договора в шапку:

Excel.Cells[3,1] := 'Кредитный договор № ' + DM.dstLoan.FieldByName('NДоговора').AsString +

' от ' + DM.dstLoan.FieldByName('ДатаДог').AsString;

//Цикл по строкам графика гашения:

dstGraphic.First;

while not dstGraphic.Eof do

begin

//Добавление новой строки:

if i <> 0 then

begin

Excel.Rows.Item[PosInc+i].Select;

Excel.Selection.Insert;

Excel.Rows.Item[PosInc].Select;

Excel.Selection.Copy;

Excel.Rows.Item[PosInc+i].Select;

Excel.ActiveSheet.Paste;

Excel.Application.CutCopyMode := False;

end;

PrevDate := dstGraphic.FieldByName('Дата').AsDateTime;

Excel.Cells[i+PosInc,1] := i+1;

Excel.Cells[i+PosInc,2] := PrevDate;

SetPay;

dstGraphic.Next;

if (not dstGraphic.Eof) and (PrevDate = dstGraphic.FieldByName('Дата').AsDateTime) then

begin

SetPay;

dstGraphic.Next;

end;

Inc(i);

end; //while not dstGraphic.Eof

Excel.Cells[i+PosInc,3] := SumOD;

Excel.Cells[i+PosInc,4] := SumPercent;

Excel.Cells[i+PosInc,5] := SumOD + SumPercent;

end; //with

Excel.Visible := True;

except

Excel.Quit;

end;

finally

Screen.Cursor := crDefault;

end;

end;

//Формирование отчета по досрочным гашениям:

procedure Text_BuildEarlyPays;

var

WorkbookName: string;

Excel: Variant;

i, PosInc: Integer;

begin

//Шаблон хранится в папке Templates:

WorkbookName := GetCurrentDir + '\Формы\' + 'Досрочные гашения.xlt';

Excel := CreateOleObject('Excel.Application');

Screen.Cursor := crHourGlass;

try

try

Excel.Workbooks.Open(WorkbookName);

i := 0;

PosInc := 6;

//Экспорт данных из таблицы БД:

with DM do

begin

//Вывод реквизитов договора в шапку:

Excel.Cells[3,1] := 'Кредитный договор № ' + DM.dstLoan.FieldByName('NДоговора').AsString +

' от ' + DM.dstLoan.FieldByName('ДатаДог').AsString;

dstJournal.Filter := 'КредитID = ' + DM.dstLoan.FieldByName('ID').AsString +

' and ТипОперацииID = 8';

dstJournal.Filtered := True;

dstJournal.Open;

//Цикл по строкам графика гашения:

dstJournal.First;

while not dstJournal.Eof do

begin

//Добавление новой строки:

if i <> 0 then

begin

Excel.Rows.Item[PosInc+i].Select;

Excel.Selection.Insert;

Excel.Rows.Item[PosInc].Select;

Excel.Selection.Copy;

Excel.Rows.Item[PosInc+i].Select;

Excel.ActiveSheet.Paste;

Excel.Application.CutCopyMode := False;

end;

Excel.Cells[i+PosInc,1] := i+1;

Excel.Cells[i+PosInc,2] := dstJournal.FieldByName('Дата').AsDateTime;

Excel.Cells[i+PosInc,3] := dstJournal.FieldByName('Сумма').AsFloat;

dstJournal.Next;

Inc(i);

end; //while not dstJournal.Eof

dstJournal.Filtered := False;

dstJournal.Close;

end; //with

Excel.Visible := True;

except

Excel.Quit;

end;

finally

Screen.Cursor := crDefault;

end;

end;

//Формирование кредитного портфеля на заданную дату:

procedure Text_KP(PDate: TDate);

var

WorkbookName: string;

Excel: Variant;

i, PosInc: Integer;

Sum: Currency;

begin

//Шаблон хранится в папке Templates:

WorkbookName := GetCurrentDir + '\Формы\' + 'Кредитный портфель.xlt';

Excel := CreateOleObject('Excel.Application');

Screen.Cursor := crHourGlass;

try

try

Excel.Workbooks.Open(WorkbookName);

i := 0;

Sum := 0; //Размер кредитного портфеля (сумма остатков ОД по кредитам)

PosInc := 6;

//Экспорт данных из таблицы БД:

with DM do

begin

Excel.Cells[3,7] := PDate;

dstKP.Parameters.ParamByName('pDate1').Value := PDate;

dstKP.Parameters.ParamByName('pDate2').Value := PDate;

dstKP.Parameters.ParamByName('pDate3').Value := PDate;

dstKP.Open;

//Цикл по строкам портфеля:

dstKP.First;

while not dstKP.Eof do

begin

//Добавление новой строки:

if i <> 0 then

begin

Excel.Rows.Item[PosInc+i].Select;

Excel.Selection.Insert;

Excel.Rows.Item[PosInc].Select;

Excel.Selection.Copy;

Excel.Rows.Item[PosInc+i].Select;

Excel.ActiveSheet.Paste;

Excel.Application.CutCopyMode := False;

end;

Excel.Cells[i+PosInc,1] := i+1;

Excel.Cells[i+PosInc,2] := DM.dstKP.FieldByName('NДоговора').AsString;

Excel.Cells[i+PosInc,3] := DM.dstKP.FieldByName('ДатаДог').AsDateTime;

Excel.Cells[i+PosInc,4] := DM.dstKP.FieldByName('ТипКредита').AsString;

Excel.Cells[i+PosInc,5] := DM.dstKP.FieldByName('ДатаВыдачи').AsDateTime;

Excel.Cells[i+PosInc,6] := DM.dstKP.FieldByName('ДатаЗакрыт').AsDateTime;

Excel.Cells[i+PosInc,7] := DM.dstKP.FieldByName('Сумма').AsCurrency;

Excel.Cells[i+PosInc,8] := DM.dstKP.FieldByName('Ставка').AsString;

Excel.Cells[i+PosInc,9] := DM.dstKP.FieldByName('Остаток').AsCurrency;

Excel.Cells[i+PosInc,10] := DM.dstKP.FieldByName('СтатусКредита').AsString;

Sum := Sum + DM.dstKP.FieldByName('Остаток').AsCurrency;

dstKP.Next;

Inc(i);

end; //while not dstKP.Eof

dstKP.Close;

Excel.Cells[i+PosInc,9] := Sum;

end; //with

Excel.Visible := True;

except

Excel.Quit;

end;

finally

Screen.Cursor := crDefault;

end;

end;

end.

Программный модуль uStat.pas

unit uStat;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ComCtrls, StdCtrls, Buttons, DBCtrls, ExtCtrls, TeEngine,

Series, TeeProcs, Chart, DbChart, TeePrevi;

type

TfmStat = class(TForm)

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

Panel1: TPanel;

BitBtn1: TBitBtn;

bbtPrint: TBitBtn;

Panel2: TPanel;

DBChart1: TDBChart;

Series1: TPieSeries;

dtpDate1: TDateTimePicker;

dtpDate2: TDateTimePicker;

Label1: TLabel;

lbTo: TLabel;

DBChart2: TDBChart;

PieSeries1: THorizBarSeries;

TabSheet3: TTabSheet;

DBChart3: TDBChart;

HorizBarSeries1: TBarSeries;

lbDate: TLabel;

dtpDate: TDateTimePicker;

lbFrom: TLabel;

procedure dtpDate1Change(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure bbtPrintClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

fmStat: TfmStat;

implementation

uses uDM, uRep;

{$R *.dfm}

procedure TfmStat.dtpDate1Change(Sender: TObject);

begin

lbFrom.Visible := PageControl1.ActivePageIndex <> 0;

lbTo.Visible := PageControl1.ActivePageIndex <> 0;

lbDate.Visible := PageControl1.ActivePageIndex = 0;

dtpDate1.Visible := PageControl1.ActivePageIndex <> 0;

dtpDate2.Visible := PageControl1.ActivePageIndex <> 0;

dtpDate.Visible := PageControl1.ActivePageIndex = 0;

//В зависимости от активной закладки открывается тот или иной набор данных:

if PageControl1.ActivePageIndex = 0 then

begin

//Структура кредитного портфеля на дату:

DM.dstStatKP.Close;

DM.dstStatKP.Parameters.ParamByName('pDate1').Value := dtpDate.Date;

DM.dstStatKP.Parameters.ParamByName('pDate2').Value := dtpDate.Date;

DM.dstStatKP.Parameters.ParamByName('pDate3').Value := dtpDate.Date;

DM.dstStatKP.Open;

DBChart1.Title.Text.Strings[0] := 'Структура кредитного портфеля по состоянию на ' +

DateToStr(dtpDate.Date);

end

else if PageControl1.ActivePageIndex = 1 then

begin

//Суммы выдач по видам кредитных продуктов:

DM.dstStatSumByCat.Close;

DM.dstStatSumByCat.Parameters.ParamByName('pDate1').Value := dtpDate1.Date;

DM.dstStatSumByCat.Parameters.ParamByName('pDate2').Value := dtpDate2.Date;

DM.dstStatSumByCat.Open;

DBChart2.Title.Text.Strings[0] := 'Суммы выдач по видам кредитных продуктов c ' +

DateToStr(dtpDate1.Date) + ' по ' + DateToStr(dtpDate2.Date);

end

else if PageControl1.ActivePageIndex = 2 then

begin

//Суммы заказов по месяцам:

DM.dstStatSumByMonths.Close;

DM.dstStatSumByMonths.Parameters.ParamByName('pDate1').Value := dtpDate1.Date;

DM.dstStatSumByMonths.Parameters.ParamByName('pDate2').Value := dtpDate2.Date;

DM.dstStatSumByMonths.Open;

DBChart3.Title.Text.Strings[0] := 'Суммы выдач по месяцам с ' +

DateToStr(dtpDate1.Date) + ' по ' + DateToStr(dtpDate2.Date);

end;

end;

procedure TfmStat.FormCreate(Sender: TObject);

begin

dtpDate1.Date := Date;

dtpDate2.Date := Date;

dtpDate.Date := Date;

end;

procedure TfmStat.FormShow(Sender: TObject);

begin

dtpDate1Change(Self);

end;

procedure TfmStat.bbtPrintClick(Sender: TObject);

begin

//В зависимости от активной закладки выводится в режим просмотра перед печатью

//выбранная диаграмма:

if PageControl1.ActivePageIndex = 0 then

ChartPreview(Self, DBChart1)

else if PageControl1.ActivePageIndex = 1 then

ChartPreview(Self, DBChart2)

else if PageControl1.ActivePageIndex = 2 then

ChartPreview(Self, DBChart3);

end;

end.

Приложение Б.

Экранные формы

Рисунок Б.1

Рисунок Б.2

Рисунок Б.3

Рисунок Б.4

Рисунок Б.5

Рисунок Б.6

Рисунок Б.7

Рисунок Б.8

Рисунок Б.9

Рисунок Б.10

Рисунок Б.11

Рисунок Б.12

Рисунок Б.13

Рисунок Б.14

Приложение В.

Формы выходных документов

Рисунок В.1

Рисунок В.2

Рисунок В.3

Рисунок В.4

Рисунок В.5

Рисунок В.6

Размещено на Allbest.ru


Подобные документы

  • Комплексная система автоматизации кредитной деятельности банка RS-LOANS. Построение схемы бизнес-процессов кредитования. Оценка платежеспособности заемщика и поручителя. Разработка интерфейса пользователя, алгоритмов функций, экранных форм и отчетов.

    дипломная работа [3,0 M], добавлен 20.07.2014

  • Этапы разработки программы, предназначенной для автоматизации складского учета в фармацевтических организациях: выбор языка программирования, характеристика входной и результатной информации, составление схемы взаимосвязи программных модулей и файлов.

    курсовая работа [148,4 K], добавлен 12.05.2013

  • Интерфейсные средства СУБД MS Access 2003. Проектирование схемы данных. Создание составного отчёта, содержащего диаграмму. Группировка и сортировка в отчётах. Использование языка программирования VBА, создание макросов. Разработка программы и функций.

    курсовая работа [5,2 M], добавлен 20.06.2010

  • Создание программного продукта, автоматизирующего деятельность сотрудника учебного заведения, занимающегося учетом проведения научно-практических конференций. Выбор языка, среды программирования, разработка алгоритмов, проектирование интерфейса программы.

    курсовая работа [1,5 M], добавлен 06.12.2012

  • Реализация программной системы "Магазин" для автоматизации деятельности и обеспечения хранения, накопления и предоставления информации. Логическая и физическая структуры базы данных. Разработка пользовательского интерфейса. Создание таблиц, представлений.

    контрольная работа [3,9 M], добавлен 31.03.2014

  • Технико-экономическая характеристика Ивановского филиала Фонда обязательного медицинского страхования (ФОМС). Проект отдельной информационной подсистемы ФОМС, предназначенной для учета физических лиц и лечебных учреждений г. Иванова и Ивановской области.

    курсовая работа [57,2 K], добавлен 15.11.2009

  • Разработка программного комплекса автоматизации складского учета, предназначенного для розничных предприятий ЗАО "Белгородский бройлер": логическое, физическое проектирование, создание интерфейса пользователя на языке Delphi, расчет экономических затрат.

    дипломная работа [3,2 M], добавлен 02.03.2010

  • Автоматизация работы кредитного отдела банка, решений бизнес-процесса выдачи кредитов и карт. Определения методологии и языка IDEF0, программа Dreamweaver. Правильно построенные и действительные документы XML. Создание отчётов с помощью JasperReports.

    дипломная работа [1,9 M], добавлен 22.06.2013

  • Анализ задач бухгалтерского учета в рамках программного комплекса "1С: Бухгалтерия". Доработка типовой конфигурации программы для автоматизации расчёта услуг телефонии в РУП "Белтелеком". Создание справочника "Абоненты" и "Услуги РУП "Белтелеком".

    курсовая работа [1,0 M], добавлен 14.03.2012

  • Разработка информационной системы по автоматизации расчетов экономических показателей финансово-хозяйственной деятельности, процесса подготовки отчетов. Создание структуры базы данных, интерфейса системы с использованием среды программирования Делфи.

    курсовая работа [4,1 M], добавлен 28.10.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.