Автор работы: Пользователь скрыл имя, 08 Июня 2012 в 20:34, курсовая работа
В данной курсовой работе был разработан программный модуль, обеспечиваю¬щий эффективное начисление процентов депозитным вкладам.
Задание 3
Введение 4
1. Начисление процентов по вкладам 6
1.1. Депозитные вклады и их классификация 6
1.2. Формула расчета процентов по вкладам 8
2. Структура базы данных ”Депозитные вклады” 12
3. Руководство пользователя 13
3.1. Организация взаимодействия клиентской программы с БД 13
3.2. Разработка интерфейса пользователя 15
Заключение 23
Список литературы 24
Приложение 25
10. Заключение 23
11. Список литературы 24
end;
ADOQTariffs.Active:=false;
ADOQTariffs.Active:=true;
ADOQInvestors.Active:=false;
ADOQInvestors.Active:=true;
ADOQAccounts.Active:=false;
ADOQAccounts.Active:=true;
ADOQTime.Active:=false;
ADOQTime.Active:=true;
ADOTableNumDeposit.Active:=
ADOTableNumDeposit.Active:=
ADOTableCyrrency.Active:=
ADOTableCyrrency.Active:=true;
DepositCalc();
end;
procedure TMainForm.
ARow: Integer; Rect: TRect; State: TGridDrawState);
var
Format: Word;
C: array[0..255] of Char;
begin
Format:=DT_LEFT or DT_WORDBREAK;
(Sender as TStringGrid).Canvas.FillRect(
StrPCopy(C,(Sender as TStringGrid).Cells[ACol,ARow])
DrawText((Sender as TStringGrid).Canvas.Handle,C,
end;
procedure TMainForm.ButtonPrintClick(
var MoreData:boolean;
tm:string;
begin
if RadioGroupCalculate.ItemIndex=
begin
IDChet:=
ADOQAccounts.First;
while not ADOQAccounts.Eof do
begin
if ADOQAccounts.FieldByName('Номе
then
begin
FIO:=ADOQAccounts.FieldByName(
end;
ADOQAccounts.Next
end ;
ADOQInvestors.First;
while not ADOQInvestors.Eof do
begin
if ADOQInvestors.FieldByName('ФИО
then
begin
Passport:=ADOQInvestors.
INN:=ADOQInvestors.
Reg:=ADOQInvestors.
DateR:=ADOQInvestors.
end;
ADOQInvestors.Next
end ;
Insert(' ',Passport,3);
Insert(' ',Passport,6);
MoreData:=false;
FormReport.QuickRep1NeedData(
FormReport.QuickRep1.Preview;
end;
if RadioGroupCalculate.ItemIndex=
begin
Inf:='Рассчёт производился ';
if CheckBoxTime.Checked = true
then
begin
tm:=DateToStr(
Delete(tm, 11,10);
Inf:=Inf+'до даты : '+tm+', ';
end;
if CheckBoxCyrrency.Checked = true
then
begin
if (DBLookupComboBoxCyrrency.Text = 'рубль') or (DBLookupComboBoxCyrrency.Text = '')
then Inf:=Inf+'по счетам в рублях, ';
if (DBLookupComboBoxCyrrency.Text = 'доллар')
then Inf:=Inf+'по счетам в долларах, ';
if (DBLookupComboBoxCyrrency.Text = 'евро')
then Inf:=Inf+'по счетам в евро, ';
end;
if CheckBoxTariff.Checked = true
then
Inf:=Inf+'по счетам с тарифом '+DBLookupComboBoxTariff.Text+
if (CheckBoxTariff.Checked = false) and (CheckBoxCyrrency.Checked = false) and (CheckBoxTime.Checked = false)
then Inf:=Inf+'по всем счетам';
if Inf[length(Inf)-1]=',' then
Delete(Inf,length(Inf)-1,2);
Inf:=Inf+'.';
MoreData:=false;
FormRepDep.QuickRep1NeedData(
FormRepDep.QuickRep1.Preview;
end;
end;
procedure TMainForm.
begin
CheckBoxTariff.Enabled := not CheckBoxTariff.Enabled;
DBLookupComboBoxTariff.
end;
procedure TMainForm.CheckBoxTariffClick(
begin
DBLookupComboBoxCyrrency.
CheckBoxCyrrency.Enabled := not CheckBoxCyrrency.Enabled;
end;
procedure TMainForm.StringGridDrawCell(
ARow: Integer; Rect: TRect; State: TGridDrawState);
var
Format: Word;
C: array[0..255] of Char;
begin
Format:=DT_LEFT or DT_WORDBREAK;
(Sender as TStringGrid).Canvas.FillRect(
StrPCopy(C,(Sender as TStringGrid).Cells[ACol,ARow])
DrawText((Sender as TStringGrid).Canvas.Handle,C,
end;
procedure TMainForm.
begin
if RadioGroupCalculate.ItemIndex=
begin
Label10.Enabled:=false;
DateTimePickerEnd.Enabled:=
CheckBoxTime.Enabled:=false;
Label11.Enabled:=false;
DBLookupComboBoxCyrrency.
CheckBoxCyrrency.Enabled:=
Label12.Enabled:=false;
DBLookupComboBoxTariff.
CheckBoxTariff.Enabled:=false;
DBLookupComboBoxNumDeposit.
Label13.Enabled:=true;
end;
if RadioGroupCalculate.ItemIndex=
begin
Label10.Enabled:=true;
DateTimePickerEnd.Enabled:=
CheckBoxTime.Enabled:=true;
Label11.Enabled:=true;
DBLookupComboBoxCyrrency.
CheckBoxCyrrency.Enabled:=
Label12.Enabled:=true;
DBLookupComboBoxTariff.
CheckBoxTariff.Enabled:=true;
DBLookupComboBoxNumDeposit.
Label13.Enabled:=false;
end;
end;
procedure TMainForm.ButtonAddClick(
var
i,k:integer;
str,bal:string;
begin
if StringGrid.Cells[1,1]=''
then
begin
ShowMessage('Не выполнено!!!');
exit;
end;
if RadioGroupCalculate.ItemIndex=
begin
for i:=1 to StringGrid.RowCount-1 do
begin
bal:=StringGrid.Cells[6,i];
for k:=1 to length(bal) do
if bal[k] in ['0'..'9'] then
else
begin
if bal[k]=',' then bal[k]:='.'
else bal[k]:=' ';
end;
ADOQueryADD.SQL.Clear;
str := 'Update Accounts SET Balance='+bal+' WHERE AccountID='+StringGrid.Cells[
ADOQueryADD.SQL.Add(str);
ADOQueryADD.ExecSQL;
ADOQAccounts.close;
ADOQAccounts.open;
end;
str:='Баланс '+IntToStr(StringGrid.
ShowMessage(str);
end;
if RadioGroupCalculate.ItemIndex=
begin
bal:=StringGrid.Cells[7,
for k:=1 to length(bal) do
if bal[k] in ['0'..'9'] then
else
begin
if bal[k]=',' then bal[k]:='.'
else bal[k]:=' ';
end;
ADOQueryADD.SQL.Clear;
str := 'Update Accounts SET Balance='+bal+' WHERE AccountID='+
ADOQueryADD.SQL.Add(str);
ADOQueryADD.ExecSQL;
ADOQAccounts.close;
ADOQAccounts.open;
str:='Баланс счёта № '+DBLookupComboBoxNumDeposit.
ShowMessage(str);
end
end;
end.
41
Информация о работе Разработка программного модуля начисления процентов