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

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

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

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

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

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

от 25%

Подписываем

договор

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

Скидка 25% при заказе до 7.4.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. Лекция 10 Типология приёмов переводов План лекции Переводческие соответствия и их классификации О
2. тема ~ як об~єкт ландшафтної екології
3. Австралия
4. нибудь трагическую историю из своей жизни
5. Сестринська справа Тести
6. Воспаление самого аппендикса не производит заметные симптомы хотя оно начинает заболевание
7. Государство, право и глобальные проблемы человечества
8. эти задорные жизнерадостные заботливые порою строгие ребята с такими же блестящими глазами как и у детей
9. а военные действия велись на территории 40 государств
10. ист пер эн 2камера энергопреобразователь 3ускоритель 4ист раб тела 1высокая теплонапряженность ее рабоч