📄 bankomat.cpp
字号:
#pragma hdrstop
#pragma package(smart_init)
#pragma resource "*.dfm"
#include <vcl.h>
#include <time.h>
#include <string>
#include "bankomat.h"
#include "manager.hpp"
#include "uzytkownik.hpp"
TFBank *FBank;
// Konstruktor formy g丑wnej.
__fastcall TFBank::TFBank(TComponent* Owner) : TForm(Owner) {
// alokujemy nowa pamiec dla managera bankowego
manager = new Manager;
// przekazujemy wskazanie na zawartosc pamieci
m = *manager;
// zerujemy tresc pobrana z klawiatury bankomatu
tresc = "";
// czynnosc na poczatku = 0
czynnosc = 0;
// ilosc blednych podan PIN - poczatkowo 0
bladpin = 0;
// mozliwosc edycji - klawiatura bakomatu wlaczona
edycja = true;
// wspolczynnik animacji
n = 0;
// wlaczamy stoper przesuwania ramki
Stoper -> Enabled = true;
// drukujemy nr kon do ukrytej listy
for(int i = 0; i < m.length; i++) {
Uzytkownicy->AddItem(StringToAnsi(m.konta[i]), NULL);
}
}
// Gdy zmienione pole nr konta.
void __fastcall TFBank::NrKartyChange(TObject *Sender) {
string nr = AnsiToString(NrKarty -> Text);
}
// Nacisniecie enter na numerze karty.
void __fastcall TFBank::NrKartyEnter(TObject *Sender) {
string s = AnsiToString(NrKarty -> Text);
if(s.length() < 26) {
while(s.length() < 26) {
s += "0";
}
}
}
// Klikniecie przycisku klawiatury numerycznej
void __fastcall TFBank::b1Click(TObject *Sender) { DodajCyfre("1"); } // Przycisk 1
void __fastcall TFBank::b2Click(TObject *Sender) { DodajCyfre("2"); } // Przycisk 2
void __fastcall TFBank::b3Click(TObject *Sender) { DodajCyfre("3"); } // Przycisk 3
void __fastcall TFBank::b4Click(TObject *Sender) { DodajCyfre("4"); } // Przycisk 4
void __fastcall TFBank::b5Click(TObject *Sender) { DodajCyfre("5"); } // Przycisk 5
void __fastcall TFBank::b6Click(TObject *Sender) { DodajCyfre("6"); } // Przycisk 6
void __fastcall TFBank::b7Click(TObject *Sender) { DodajCyfre("7"); } // Przycisk 7
void __fastcall TFBank::b8Click(TObject *Sender) { DodajCyfre("8"); } // Przycisk 8
void __fastcall TFBank::b9Click(TObject *Sender) { DodajCyfre("9"); } // Przycisk 9
void __fastcall TFBank::b0Click(TObject *Sender) { DodajCyfre("0"); } // Przycisk 0
// Klikniecie "COFNIJ"
void __fastcall TFBank::bcClick(TObject *Sender) {
switch(czynnosc) {
case 0:
if(tresc.Length() > 0) {
tresc = tresc.SubString(0, tresc.Length() - 1);
// Jesli czynnosc nr 0 to znaczy ze kodowane znaki - PIN
Edytor -> Caption = "";
for(int i = 0; i < tresc.Length(); i++) {
// Dodaje zakodowany jako gwiazdka znak do captionu
Edytor -> Caption = Edytor -> Caption + "*";
}
}
break;
case 1:
// Cofanie w czasie wyp砤ty pieni阣zy
if(tresc.Length() > 0) {
tresc = tresc.SubString(0, tresc.Length() - 1);
// Jesli nie ma kodowania to wtedy wyswietla tresc.
Edytor -> Caption = tresc;
} else if(tresc.Length() == 0) {
// Jesli tresc jest pusta.
Komunikat -> Caption = WPROWADZ_PIN;
// Ustawiamy czynnosc 0 - wprowadzanie PIN
czynnosc = 0;
}
break;
case 2:
// Cofanie po odebraniu juz pieniedzy
// ukrywamy obrazek pieniazkow
Pieniazki -> Visible = false;
// usuwamy wartosc jaka jest widoczna na pieniazkach
Kasiora -> Caption = "";
// usuwamy tresc z klawiatury
tresc = "";
// usuwamy tresc z wyswietlacza (edytora)
Edytor -> Caption = "";
// wyswietlamy komunikat z podziekowaniami
Komunikat -> Caption = WPROWADZ_PIN;
// wznawiamy edycje z klawiatury (mozna klikac)
edycja = true;
// ustwaiamy czynnosc == 0 - wprowadzanie PIN
czynnosc = 0;
break;
}
}
// Klikniecie "ZATWIERDZ"
void __fastcall TFBank::bzClick(TObject *Sender) {
// Ktora z czynnosci jest wykonywana:
switch(czynnosc) {
case 2:
// Jesli wykonywana czynnosci to odbior pieniedzy (wyplacono)
// to ustawiamy tresc pust
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -