Будь умным!


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

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

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

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

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

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

от 25%

Подписываем

договор

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

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

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. Издательство CT 2001
2. ТЕМА СПУТНИКОВОЙ СВЯЗИ
3. среды Потенциальные источники воздействия 1 2 3
4. упаковка packaging трактуется как средство или комплекс средств обеспечивающих защиту продукции производств
5. Мишель Дюфренн Dufrenne
6. ПРАВОВОЕ ПОЛОЖЕНИЕ АКЦИОНЕРНЫХ ОБЩЕСТВ МОСКВ
7. Введение Понятие адаптации История изучения межкультурной адаптации
8.  2014 г
9. КОНТРОЛЬНАЯ РАБОТА по дисциплине наименование дисциплины Наименование темы р
10. Реферат на тему- Життя і творчість Бориса Олійника Нар
11. Красноярский государственный медицинский университет имени профессора В1
12. Эксмо http---www.litres
13. В Тираспольском суде могут судить за одно и то же два раза
14. О реакции пресноводной гидры на экзогенные биологически активные (гормональные) соединения
15. Детский сад комбинированного вида 17 Здоровячок г
16. Forword trnscript 6 Minute English bbclerningenglish
17. The transactions in civil law
18. Розробка технологічної схеми абсорбційної очистки повітря від сполук аміаку
19. МЕТОДОЛОГИЯ И МЕТОДЫ ПЕДАГОГИЧЕСКОГО ИССЛЕДОВАНИЯ
20. Зима 1889-1890 гг. в Ясной Поляне. (Картины Яснополянской жизни в 1890-х годах.)