Разработка программного модуля начисления процентов

Автор работы: Пользователь скрыл имя, 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

Содержимое работы - 1 файл

Пояснительная записка2.doc

— 543.50 Кб (Скачать файл)

  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:=false;

  ADOTableNumDeposit.Active:=true;

 

  ADOTableCyrrency.Active:=false;

  ADOTableCyrrency.Active:=true;

 

  DepositCalc();

end;

 

procedure TMainForm.StringGridDepDrawCell(Sender: TObject; ACol,

  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(Rect);

  StrPCopy(C,(Sender as TStringGrid).Cells[ACol,ARow]);

  DrawText((Sender as TStringGrid).Canvas.Handle,C,StrLen(C),Rect,Format);

end;

 

 

procedure TMainForm.ButtonPrintClick(Sender: TObject);

var MoreData:boolean;

tm:string;

begin

 

if RadioGroupCalculate.ItemIndex=1 then

    begin

IDChet:=DBLookupComboBoxNumDeposit.text;

 

  ADOQAccounts.First;

 

       while not ADOQAccounts.Eof do

        begin

         if  ADOQAccounts.FieldByName('Номер счёта').AsString = DBLookupComboBoxNumDeposit.text

          then

           begin

             FIO:=ADOQAccounts.FieldByName('ФИО владчика').AsString;

           end;

          ADOQAccounts.Next

        end ;

 

 

  ADOQInvestors.First;

 

       while not ADOQInvestors.Eof do

        begin

         if  ADOQInvestors.FieldByName('ФИО').AsString = FIO

          then

           begin

             Passport:=ADOQInvestors.FieldByName('Паспорт').AsString;

             INN:=ADOQInvestors.FieldByName('ИНН').AsString;

             Reg:=ADOQInvestors.FieldByName('Регистроция').AsString;

             DateR:=ADOQInvestors.FieldByName('Дата рождения').AsString;

           end;

          ADOQInvestors.Next

        end ;

 

Insert(' ',Passport,3);

Insert(' ',Passport,6);

MoreData:=false;

FormReport.QuickRep1NeedData(Sender,MoreData);

FormReport.QuickRep1.Preview;

  end;

 

 

   if RadioGroupCalculate.ItemIndex=0 then

    begin

     Inf:='Рассчёт производился ';

 

     if CheckBoxTime.Checked = true

     then

        begin

         tm:=DateToStr(DateTimePickerEnd.Date);

         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(Sender,MoreData);

      FormRepDep.QuickRep1.Preview;

    end;

 

end;

 

procedure TMainForm.CheckBoxCyrrencyClick(Sender: TObject);

begin

  CheckBoxTariff.Enabled := not CheckBoxTariff.Enabled;

  DBLookupComboBoxTariff.Enabled:=not DBLookupComboBoxTariff.Enabled;

end;

 

procedure TMainForm.CheckBoxTariffClick(Sender: TObject);

begin

   DBLookupComboBoxCyrrency.Enabled :=not DBLookupComboBoxCyrrency.Enabled;

   CheckBoxCyrrency.Enabled := not  CheckBoxCyrrency.Enabled;

end;

 

procedure TMainForm.StringGridDrawCell(Sender: TObject; ACol,

  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(Rect);

  StrPCopy(C,(Sender as TStringGrid).Cells[ACol,ARow]);

  DrawText((Sender as TStringGrid).Canvas.Handle,C,StrLen(C),Rect,Format);

end;

 

procedure TMainForm.RadioGroupCalculateClick(Sender: TObject);

begin

if RadioGroupCalculate.ItemIndex=1 then

  begin

   Label10.Enabled:=false;

   DateTimePickerEnd.Enabled:=false;

   CheckBoxTime.Enabled:=false;

   Label11.Enabled:=false;

   DBLookupComboBoxCyrrency.Enabled:=false;

   CheckBoxCyrrency.Enabled:=false;

   Label12.Enabled:=false;

   DBLookupComboBoxTariff.Enabled:=false;

   CheckBoxTariff.Enabled:=false;

 

 

   DBLookupComboBoxNumDeposit.Enabled:=true;

   Label13.Enabled:=true;

  end;

 

 

  if RadioGroupCalculate.ItemIndex=0 then

  begin

   Label10.Enabled:=true;

   DateTimePickerEnd.Enabled:=true;

   CheckBoxTime.Enabled:=true;

   Label11.Enabled:=true;

   DBLookupComboBoxCyrrency.Enabled:=true;

   CheckBoxCyrrency.Enabled:=true;

   Label12.Enabled:=true;

   DBLookupComboBoxTariff.Enabled:=true;

   CheckBoxTariff.Enabled:=true;

 

   DBLookupComboBoxNumDeposit.Enabled:=false;

   Label13.Enabled:=false;

 

  end;

end;

 

 

procedure TMainForm.ButtonAddClick(Sender: TObject);

var

i,k:integer;

str,bal:string;

begin

 

if StringGrid.Cells[1,1]=''

then

  begin

     ShowMessage('Не выполнено!!!');

     exit;

  end;

 

if RadioGroupCalculate.ItemIndex=0 then

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[0,i];

        ADOQueryADD.SQL.Add(str);

 

        ADOQueryADD.ExecSQL;

 

        ADOQAccounts.close;

        ADOQAccounts.open;

 

      end;

 

   str:='Баланс '+IntToStr(StringGrid.RowCount-1)+' счет(-а,-ов) пополнен!';

   ShowMessage(str);

  end;

 

 

   if RadioGroupCalculate.ItemIndex=1 then

    begin

 

      bal:=StringGrid.Cells[7,StringGrid.RowCount-1];

 

        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='+DBLookupComboBoxNumDeposit.Text;

        ADOQueryADD.SQL.Add(str);

 

        ADOQueryADD.ExecSQL;

 

        ADOQAccounts.close;

        ADOQAccounts.open;

 

         str:='Баланс счёта № '+DBLookupComboBoxNumDeposit.Text+' стал равен '+bal;

         ShowMessage(str);

    end

 

end;

 

end.

41

 



Информация о работе Разработка программного модуля начисления процентов