У вас вопросы?
У нас ответы:) SamZan.net

Object; procedure ImgeDblClickSender- TObject; procedure Button1ClickSender- TObject; procedure Imge1DblClickSender- TObject; procedure CnselClickSender-

Работа добавлена на сайт samzan.net: 2015-12-26

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 7.3.2025

unit BankUnit;

interface

uses

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

 StdCtrls, ExtCtrls;

type

 TBankForm = class(TForm)

   Panel: TPanel;

   Ok: TButton;

   Cansel: TButton;

   BankMaster: TButton;

   Button1: TButton;

   Button2: TButton;

   Button3: TButton;

   Button4: TButton;

   Button5: TButton;

   Button6: TButton;

   Button7: TButton;

   Button8: TButton;

   Button9: TButton;

   Button10: TButton;

   StaticText1: TStaticText;

   StaticText2: TStaticText;

   Panel1: TPanel;

   Image: TImage;

   Image1: TImage;

   procedure FormCreate(Sender: TObject);

   procedure ImageDblClick(Sender: TObject);

   procedure Button1Click(Sender: TObject);

   procedure Image1DblClick(Sender: TObject);

   procedure CanselClick(Sender: TObject);

   procedure BankMasterClick(Sender: TObject);

  private

   { Private declarations }

 public

   { Public declarations }

   Edit: TEdit;

   stSetPin: TStaticText;

   stMessage: TStaticText;

   stGiveMoney: TStaticText;

   stGiveSaldo: TStaticText;

   intCountPicture: integer;

   intCounter: integer;

   procedure BeginOperation;

   procedure InputText;

   procedure DestroyText;

   procedure stGiveMoneyClick(Sender: TObject);

   procedure stGiveSaldoClick(Sender: TObject);

   procedure ShowButtons;

   procedure HideButtons;

   procedure QuantityMoney;

   procedure PinRegistry(Sender: TObject);

   procedure MoneyRegistry(Sender: TObject);

   procedure GiveMoney;

   function MoneyCalc(const sum: integer): boolean;

 end;

var

 BankForm: TBankForm;

implementation

uses ChildForm, MoneyStruct;

{$R *.DFM}

//Ввод начальных данных

procedure TBankForm.FormCreate(Sender: TObject);

begin

 Image.Picture.LoadFromFile('Card.bmp');

 Image.Stretch := true;

 Image.Center := true;

 intCountPicture:=0;

 HideButtons;

 Money.Ten:= 50;

 Money.Fifty:= 20;

 Money.Hundred:= 10;

 Money.FiveHundred:= 5;

end;

//Обработка нажатия на картинку

//Загрузка картинки и начало операций

procedure TBankForm.ImageDblClick(Sender: TObject);

begin

 if intCountPicture = 0

   then

     begin

       Image.Picture.LoadFromFile('CardInsert.bmp');

       Image.Hint := 'Click for Remove Card';

     end

   else

     begin

       Image.Picture.LoadFromFile('Card.bmp');

       Image.Hint := 'Click for Remove Card';

     end;

 intCountPicture := (intCountPicture + 1) mod 2;

 beep;

 BeginOperation;

end;

//Выводит текст Классы операций

procedure TBankForm.BeginOperation;

begin

 intCounter := 0;

 if intCountPicture = 1

   then

     begin

       StaticText1.Visible := false;

       StaticText2.Visible := false;

       InputText;

       end

   else

     begin

       while(Panel.ComponentCount <> 0) do

         begin

           Panel.Components[0].Free;

         end;

       StaticText1.Visible:= true;

       StaticText2.Visible:= true;

     end;

end;

//Выводит стандартный текст

procedure TBankForm.InputText;

begin

 stGiveMoney := TStaticText.Create(Panel);

 stGiveMoney.Parent := Panel;

 stGiveMoney.Top := 60;

 stGiveMoney.Left := 35;

 stGiveMoney.AutoSize := true;

 stGiveMoney.Caption := 'To take off money';

 stGiveMoney.Font.Charset := RUSSIAN_CHARSET;

 stGiveMoney.Font.Color := clWindowText;

 stGiveMoney.Font.Name := 'Tahoma';

 stGiveMoney.Font.Size := 20;

 stGiveMoney.Cursor := crHandPoint;

 stGiveMoney.Font.Style := [fsBold,fsUnderline];

 stGiveMoney.Visible := true;

 {-------------}

 stGiveSaldo := TStaticText.Create(Panel);

 stGiveSaldo.Parent := Panel;

 stGiveSaldo.Top := 120;

 stGiveSaldo.Left := 2;

 stGiveSaldo.AutoSize := true;

 stGiveSaldo.Caption := 'The rest on the account';

 stGiveSaldo.Font.Charset := RUSSIAN_CHARSET;

 stGiveSaldo.Font.Color := clWindowText;

 stGiveSaldo.Font.Name := 'Tahoma';

 stGiveSaldo.Font.Size := 20;

 stGiveSaldo.Font.Style := [fsBold,fsUnderline];

 stGiveSaldo.Cursor := crHandPoint;

 stGiveSaldo.Visible := true;

 stGiveMoney.OnClick:= stGiveMoneyClick;

 stGiveSaldo.OnClick:= stGiveSaldoClick;

 {----------------}

 stMessage := TStaticText.Create(Panel);

 stMessage.Parent := Panel;

 stMessage.Top := 10;

 stMessage.Left := 100;

 stMessage.AutoSize := true;

 stMessage.Caption := 'Operations:';

 stMessage.Font.Charset := RUSSIAN_CHARSET;

 stMessage.Font.Color := clWindowText;

 stMessage.Font.Name := 'Tahoma';

 stMessage.Font.Size := 15;

 stMessage.Font.Style := [fsBold];

 stMessage.Visible := true;

end;

//метод обработки при нажитии на текст Взять деньги

procedure TBankForm.stGiveMoneyClick(Sender: TObject);

begin

 DestroyText;

 ShowButtons;

 Edit:= TEdit.Create(Panel);

 Edit.Parent:= Panel;

 Edit.Top := 60;

 Edit.Left := 90;

 Edit.AutoSize := true;

 Edit.Font.Charset := RUSSIAN_CHARSET;

 Edit.Font.Color := clWindowText;

 Edit.Font.Name := 'Tahoma';

 Edit.Font.Size := 12;

 Edit.Font.Style := [fsBold];

 Edit.Enabled:= false;

 Edit.Visible := true;

 {-------------}

 stSetPin:= TStaticText.Create(Panel);

 stSetPin.Parent:= Panel;

 stSetPin.Top := 10;

 stSetPin.Left := 60;

 stSetPin.AutoSize := true;

 stSetPin.Caption := 'Enter Your PinCode:';

 stSetPin.Font.Charset := RUSSIAN_CHARSET;

 stSetPin.Font.Color := clWindowText;

 stSetPin.Font.Name := 'Tahoma';

 stSetPin.Font.Size := 15;

 stSetPin.Font.Style := [fsBold];

 stSetPin.Visible := true;

 {---------------}

 Ok.OnClick:= PinRegistry;

end;

//процедура роверки правильности Pina

procedure TBankForm.PinRegistry(Sender: TObject);

begin

 if ((intCounter > 9999) or (intCounter < 1000))

   then

     begin

       intCounter:=0;

       Edit.Text:='';

       Edit.Refresh;

       ShowMessage('Incorrect Pin');

     end

   else QuantityMoney;

end;

//процедура проверки правильности ввода количества денег

procedure TBankForm.MoneyRegistry(Sender: TObject);

begin

 if (intCounter > 1000) or (intCounter = 0) or ((intCounter mod 10) <> 0)

        or (not MoneyCalc(intCounter))

   then

     begin

       Edit.Text:='';

       Edit.Refresh;

       if ((intCounter mod 10) <> 0) then

          ShowMessage('Incorrect Sum')

         else if (intCounter > 1000)  then

                ShowMessage('You do not have so much money')

                else ShowMessage('In Bank there is no so much money');

       intCounter:=0;

      end

   else GiveMoney;

end;

//метод при нажитии на текст Остаток на счёте

procedure TBankForm.stGiveSaldoClick(Sender: TObject);

begin

 stMessage.Caption := 'Give a Check';

 stMessage.Visible := true;

 Image.Enabled:= false;

 Image1.Picture.LoadFromFile('Check.bmp');

 Image1.Enabled:= true;

 Image1.Cursor:= crHandPoint;

 stGiveMoney.Visible:= false;

 stGiveSaldo.Visible:= false;

end;

//метод обработки при нажатии кнопок 1,2,....0

procedure TBankForm.Button1Click(Sender: TObject);

begin

 case (Sender as TButton).Tag of

   1: intCounter := intCounter*10 + 1;

   2: intCounter := intCounter*10 + 2;

   3: intCounter := intCounter*10 + 3;

   4: intCounter := intCounter*10 + 4;

   5: intCounter := intCounter*10 + 5;

   6: intCounter := intCounter*10 + 6;

   7: intCounter := intCounter*10 + 7;

   8: intCounter := intCounter*10 + 8;

   9: intCounter := intCounter*10 + 9;

   10: intCounter := intCounter*10;

 end;

 Edit.Text:= inttostr(intCounter);

 Edit.Refresh;

end;

//уничтожение вспомогательного текста

procedure TBankForm.DestroyText;

begin

 stGiveMoney.Free;

 stGiveSaldo.Free;

 stMessage.Visible:= false;

end;

//метод делающий кнопки видимыми

procedure TBankForm.ShowButtons;

begin

 Ok.Enabled:= true;

 Cansel.Enabled:= true;

 Button1.Enabled:= true;

 Button2.Enabled:= true;

 Button3.Enabled:= true;

 Button4.Enabled:= true;

 Button5.Enabled:= true;

 Button6.Enabled:= true;

 Button7.Enabled:= true;

 Button8.Enabled:= true;

 Button9.Enabled:= true;

 Button10.Enabled:= true;

end;

//метод делающий кнопки невидимыми

procedure TbankForm.HideButtons;

begin

 Ok.Enabled:= false ;

 Cansel.Enabled:= false;

 Button1.Enabled:= false;

 Button2.Enabled:= false;

 Button3.Enabled:= false;

 Button4.Enabled:= false;

 Button5.Enabled:= false;

 Button6.Enabled:= false;

 Button7.Enabled:= false;

 Button8.Enabled:= false;

 Button9.Enabled:= false;

 Button10.Enabled:= false;

end;

//выводит надпись 'Quantity cash Multiple 10:' и запускает

//процедуру проверки правильности ввода денег

procedure TBankForm.QuantityMoney;

begin

 stSetPin.Free;

 stMessage.Caption:= 'Quantity cash Multiple 10:';

 stMessage.Left:= 30;

 stMessage.Visible:= true;

 Panel.Refresh;

 intCounter:= 0;

 Edit.Text:= '';

 Edit.Refresh;

 Ok.OnClick:= MoneyRegistry;

end;

//загружает картинку Деньги

procedure TBankForm.GiveMoney;

begin

 Image1.Picture.LoadFromFile('BoxMoney.bmp');

 Image1.Cursor:= crHandPoint;

 Edit.Free;

 stMessage.Caption:= 'Give Money';

 beep;

 HideButtons;

 Image.Enabled:= false;

end;

//метод обработки при нажатии на вторую картинку

procedure TBankForm.Image1DblClick(Sender: TObject);

begin

 stMessage.Free;

 StaticText1.Visible:= true;

 StaticText2.Visible:= true;

 intCountPicture:= 0;

 Image.Picture.LoadFromFile('Card.bmp');

 Image1.Picture.LoadFromFile('Box.bmp');

 Image1.Cursor:= crDefault;

 Image.Enabled:= true;

end;

//метод обработки нажатия на кнопку Cansel

procedure TBankForm.CanselClick(Sender: TObject);

begin

 Edit.Text:='';

 Edit.Refresh;

 intCounter:=0;

end;

//вычисляет сколько каких денег выдаёт банкомат

function TBankForm.MoneyCalc(const sum: integer): boolean;

var

 t,f,h,fh,s: integer;

begin

 s:= sum;

 fh:= Money.FiveHundred;

 h:= Money.Hundred;

 f:= Money.Fifty;

 t:= Money.Ten;

 while(fh <> 0) and ((s div 500) > 0) do

    begin

      dec(fh);

      dec(s,500);

    end;

 while(h <> 0) and ((s div 100) > 0) do

    begin

      dec(h);

      dec(s,100);

    end;

 while(f <> 0) and ((s div 50) > 0) do

    begin

      dec(f);

      dec(s,50);

    end;

 while(t <> 0) and ((s div 10) > 0) do

    begin

      dec(t);

      dec(s,10);

    end;

 if s = 0 then

    begin

      Money.FiveHundred:= fh;

      Money.Hundred:= h;

      Money.Fifty:= f;

      Money.Ten:= t;

      result:= true;

    end

    else result:= false;

end;

//запуск второй формы

procedure TBankForm.BankMasterClick(Sender: TObject);

begin

 MoneyEdit:= TMoneyEdit.Create(Application);

 MoneyEdit.Ok.OnClick:= MoneyEdit.OkClick;

 MoneyEdit.show;

end;

end.




1. Архив Шерлока Холмса
2. Стрелецкой СОШ Красногвардейского района
3. АРИСТОТЕЛЬ384322г
4. Music nd Bllet
5. Финансово-экономические основы местного самоуправления
6. Организационно-экономические основы многоукладности сельского хозяйства
7. Меры обеспечения производства по делам об административных правонарушениях Для правильного и объектив
8. I НАУКА И ФИЛОСОФИЯ Наука всегда была тесно связана с философией
9. Реферат- Международная валютная система
10. Введение Анализ финансового состояния в рыночной экономике составляет важную часть информационного обе