-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMainUnit.h
261 lines (251 loc) · 11.5 KB
/
MainUnit.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
//---------------------------------------------------------------------------
#ifndef MainUnitH
#define MainUnitH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include "ConfigurationUnit.h"
#include "DisplayUnit.h"
#include "CSPIN.h"
#include <Buttons.hpp>
#include <ComCtrls.hpp>
#include <ExtCtrls.hpp>
#include "TimeUnit.h"
#include "PlayerUnit.h"
#include <MPlayer.hpp>
#include <Menus.hpp>
#include "FightResultUnit.h"
#include "DBPathUnit.h"
#include "DataModuleUnit.h"
#include "InfoUnit.h"
//---------------------------------------------------------------------------
//const AnsiString FIGHT_HISTORY_LOG
struct SFightInfo
{
AnsiString age;
AnsiString belt;
AnsiString weight;
};
struct SDispColorSetup //ñòðóêòóðà äëÿ çàïîìèíàíèÿ íàñòðîåê öâåòà ïàíåëåé òàáëî(èñïîëüçóåòñÿ ïðè ìåðöàíèè äèñïëåÿ)
{
TColor cat;
TColor catFont;
TColor pl1;
TColor pl1Font;
TColor pl2;
TColor pl2Font;
TColor time;
TColor timeFont;
};
//const int INTERVAL_FOR_TIMER = 10;
class TMainForm : public TForm
{
__published: // IDE-managed Components
TPageControl *PageControl1;
TTabSheet *FightingControls;
TTabSheet *FightSettings;
TGroupBox *InformationGroupBox;
TLabel *CurrentInfoSetupLabel;
TGroupBox *FightTimeGroupBox;
TLabel *CurrentTimeSetupLabel;
TGroupBox *MinutesGroupBox;
TCSpinEdit *MinutesSpinEdit;
TGroupBox *SecondsGroupBox;
TCSpinEdit *SecondsSpinEdit;
TBitBtn *AcceptTimeBtn;
TGroupBox *Player1GroupBox;
TLabel *Player1NameLabel;
TGroupBox *Player2GroupBox;
TLabel *Player2NameLabel;
TGroupBox *PlayersNamesGroupBox;
TBitBtn *AcceptAllConfigurationBtn;
TPanel *TimePanel;
TPanel *CategoryPanel;
TPanel *Player1ScoresPanel;
TPanel *Player1AdvantagePanel;
TPanel *Player1PenaltyPanel;
TPanel *Player1ScoresButtonsPanel;
TGroupBox *Player1ScoresGroupBox;
TPanel *Player1OneScorePanel;
TBitBtn *Player1OneScorePlusBitBtn;
TBitBtn *Player1OneScoreMinusBitBtn;
TPanel *Player1FourScorePanel;
TBitBtn *Player1FourScorePlusBitBtn;
TBitBtn *Player1FourScoreMinusBitBtn;
TPanel *Player1TwoScorePanel;
TBitBtn *Player1TwoScorePlusBitBtn;
TBitBtn *Player1TwoScoreMinusBitBtn;
TPanel *Player1ThreeScorePanel;
TBitBtn *Player1ThreeScorePlusBitBtn;
TBitBtn *Player1ThreeScoreMinusBitBtn;
TGroupBox *Player1AdvantageGroupBox;
TPanel *Player1ChangeAdvantagePanel;
TBitBtn *Player1AdvantagePlusBitBtn;
TBitBtn *Player1AdvantageMinusBitBtn;
TGroupBox *Player1PenaltyGroupBox;
TPanel *Player1ChangePenaltyPanel;
TBitBtn *Player1PenaltyPlusBitBtn;
TBitBtn *Player1PenaltyMinusBitBtn;
TPanel *Player2ScoresPanel;
TPanel *Player2AdvantagePanel;
TPanel *Player2PenaltyPanel;
TPanel *Player2ScoresButtonsPanel;
TGroupBox *Player2ScoresGroupBox;
TPanel *Player2OneScorePanel;
TBitBtn *Player2OneScorePlusBitBtn;
TBitBtn *Player2OneScoreMinusBitBtn;
TPanel *Player2TwoScorePanel;
TBitBtn *Player2TwoScorePlusBitBtn;
TBitBtn *Player2TwoScoreMinusBitBtn;
TPanel *Player2FourScorePanel;
TBitBtn *Player2FourScorePlusBitBtn;
TBitBtn *Player2FourScoreMinusBitBtn;
TPanel *Player2ThreeScorePanel;
TBitBtn *Player2ThreeScorePlusBitBtn;
TBitBtn *Player2ThreeScoreMinusBitBtn;
TGroupBox *Player2AdvantageGroupBox;
TPanel *Player2ChangeAdvantagePanel;
TBitBtn *Player2AdvantagePlusBitBtn;
TBitBtn *Player2AdvantageMinusBitBtn;
TGroupBox *Player2PenaltyGroupBox;
TPanel *Player2ChangePenaltyPanel;
TBitBtn *Player2PenaltyPlusBitBtn;
TBitBtn *Player2PenaltyMinusBitBtn;
TPanel *FightControlsPanel;
TBitBtn *StartFightBtn;
TBitBtn *PauseFightBtn;
TBitBtn *StopFightBtn;
TBitBtn *ResetBtn;
TGroupBox *Player1NameGroupBox;
TComboBox *Player1ComboBox;
TGroupBox *Player2NameGroupBox;
TComboBox *Player2ComboBox;
TGroupBox *AgeGroupBox;
TComboBox *AgeComboBox;
TGroupBox *BeltGroupBox;
TComboBox *BeltComboBox;
TGroupBox *WeightGroupBox;
TComboBox *WeightComboBox;
TTimer *Timer1;
TTimer *Timer2;
TCheckBox *GrapplingCheckBox;
TTabSheet *FightLogs;
TMemo *FightHistoryMemo;
TLabel *Label1;
TMainMenu *MainMenu1;
TMenuItem *N1;
TMenuItem *N2;
TMenuItem *N3;
TMenuItem *N4;
TMenuItem *N5;
TMenuItem *N6;
TBitBtn *UpdateCategoryInfoBtn;
TStatusBar *StatusBar1;
TTimer *CheckTimer;
TMenuItem *N7;
TMenuItem *N8;
TMenuItem *N9;
void __fastcall OpenConfigurationButtonClick(TObject *Sender);
void __fastcall FormResize(TObject *Sender);
void __fastcall Player1OneScorePanelResize(TObject *Sender);
void __fastcall AcceptPlayersNamesBtnClick(TObject *Sender);
void __fastcall Player1ComboBoxChange(TObject *Sender);
void __fastcall AgeComboBoxChange(TObject *Sender);
void __fastcall MinutesSpinEditChange(TObject *Sender);
void __fastcall AcceptInformationBtnClick(TObject *Sender);
void __fastcall AcceptTimeBtnClick(TObject *Sender);
void __fastcall AcceptAllConfigurationBtnClick(TObject *Sender);
void __fastcall Player1ThreeScorePlusBitBtnClick(TObject *Sender);
void __fastcall Player2OneScorePlusBitBtnClick(TObject *Sender);
void __fastcall Player1AdvantagePlusBitBtnClick(TObject *Sender);
void __fastcall Player2AdvantagePlusBitBtnClick(TObject *Sender);
void __fastcall Player1PenaltyMinusBitBtnClick(TObject *Sender);
void __fastcall Player2PenaltyMinusBitBtnClick(TObject *Sender);
void __fastcall Timer1Timer(TObject *Sender);
void __fastcall StartFightBtnClick(TObject *Sender);
void __fastcall PauseFightBtnClick(TObject *Sender);
void __fastcall StopFightBtnClick(TObject *Sender);
void __fastcall ResetBtnClick(TObject *Sender);
void __fastcall FormCreate(TObject *Sender);
void __fastcall ShowDisplayFormBtnClick(TObject *Sender);
void __fastcall Timer2Timer(TObject *Sender);
void __fastcall GrapplingCheckBoxClick(TObject *Sender);
void __fastcall FormDestroy(TObject *Sender);
void __fastcall N6Click(TObject *Sender);
void __fastcall N4Click(TObject *Sender);
void __fastcall UpdateCategoryInfoBtnClick(TObject *Sender);
void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
void __fastcall FightSettingsShow(TObject *Sender);
void __fastcall WeightComboBoxDropDown(TObject *Sender);
void __fastcall UpdatePlayersInfoBtnClick(TObject *Sender);
void __fastcall Player1ComboBoxDropDown(TObject *Sender);
void __fastcall Player2ComboBoxDropDown(TObject *Sender);
void __fastcall N5Click(TObject *Sender);
void __fastcall CheckTimerTimer(TObject *Sender);
void __fastcall AgeComboBoxKeyPress(TObject *Sender, char &Key);
void __fastcall N8Click(TObject *Sender);
void __fastcall N9Click(TObject *Sender);//îáùàÿ ïðîöåäóðà äëÿ îòêëèêà íà íàæàòèÿ êíîïîê î÷åêîâ äëÿ ïåðâîãî èãðîêà
private: // User declarations
TFightResultForm *FightResultForm; //ôîðìà ðåçóëüòàòîâ ñõâàòêè
TDisplayForm *DisplayForm; //îñíîâíàÿ ôîðìà òàáëî
TDBPathForm *DBPathForm; //ôîðìà âûáîðà ôàéëà ÁÄ
TConfigurationForm *ConfigurationForm; //ôîðìà ôàéëà íàñòðîéêè
TInfoForm *InfoForm; //ôîðìà èíôîðìàöèè î ïðîãðàììå
CTimeOfFight *TimeOfFight;
CPlayer* Player1;
CPlayer* Player2;
SFightInfo FightInfo;
int fightState; //ñîñòîÿíèå ñõâàòêè 1 - èäåò, 0 - îñòàíîâëåíà(îêîí÷åíà), 2 - ïàóçà
int timerInterval; //îòñ÷åò äëÿ òàéìåðà
bool dots; //ïîêàçûâàòü òî÷êè âî âðåìåíè èëè íåò
int defaultInterval; //çàí÷åíèå äëÿ èíòåðâàëà ïî óìîë÷àíèþ
//AnsiString INI_FILE; // ïóòü ê ôàéëó èíèöèàëèçàöèè
SDispColorSetup displayColorSetup; //íàñòðîéêè öâåòà ïàíåëè(ñþäà ñîõðàíÿåì ïðè èçìåíåíèè äëÿ òîãî, ÷òîáû ìåíÿòü öâåò ïðè ìåðöàíèè)
bool grapplingMode; //ôëàã âêëþ÷åíèÿ ðåæèìà ãðýïïëèíãà(åñëè òðó, òî òàáëî äëÿ ãðýïïëèíãà)
AnsiString fightHistoryLogPath; //ïóòü ê ôàéëó ëîãîâ õîäà ïîåäèíêà
bool DBPathSelected; //ôëàã âûáîðà ïóòè ê áä(óñòàíîâëåí èëè íåò)
AnsiString DBPath; //ïóòü ê îñíîâíîé ÁÄ
bool checkDBConnection; //ôëàã ïðîâåðêè ñîåäèíåíèÿ ñ ÁÄ
public: // User declarations
__fastcall TMainForm(TComponent* Owner);
void __fastcall ConfigureScoresButtons ();
void ConfigureFightButtons(); //íàñòðîéêà ðàñïîëîæåíèÿ êíîïîê ñòàðò/ïàóçà/ñòîï/ñáðîñ
void ResizeFightSettings(); //óïðàâåíèå âêëàäêîé íàñòðîéêè ïðåäñòàâëåíèÿ ïðè èçìåíåíèè ðàçìåðà
void ResizePlayersNamesGroupBox();//íàñòðîéêà ïàíåëüêè óñòàíîâêè èìåí
void ResizeInformationGroupBox();//íàñòðîéêà ïàíåëüêè óñòàíîâêè èíôîðìàöèè
void ResizeFightTimeGroupBox();//íàñòðîéêà ïàíåëüêè óñòàíîâêè âðåìåíè
void PutButtonInCorner(TButton *btn, TControl *cont, int b);//ïîìåùàåì êíîïêó â óãîë. á - îòñòóï îò êðàÿ ,TComponent *cont - êîíòåéíåð â êîòîðîì êíîïêà
void SetPlayersNames(); //ïðèìåíåíèå èìåí ê òàáëî
void InformationIsChanged(bool isChanged,TGroupBox* cont); //äîáàâëÿåò çâåçäî÷êó ê íàçâàíèþ êîíòåéíåðà
void FulfillFightInfo(); //çàïîëíÿåì èíôîìàöèþ î ñõâàòêå
void FulfillTime(); //çàïîëíÿåì âðåìÿ èç óñòàíîâîê
void ShowTime(bool doubleDot = true); //âûâîäèì âðåìÿ íà ïàíåëüêè
void UpdateScores(); //îáíîâëÿåì èíôîðìàöèþ îá î÷êàõ áîðöîâ
int minusInterval(); //èñïîëüçóåòñÿ â ñ÷åò÷èêå âðåìåíè
int getColorInfo(); //çàïèñü èíôîðìàöèè î öâåòàõ ïàíåëåé â ñòðóêòóðó(äëÿ ïðèìåíåíèÿ â ìåðöàíèè)
int setColorInfo(AnsiString col = "", AnsiString fontCol = "");//âîçâðàò íàñòðîåê îáðàòíî
//çàãðóçêà íàñòðîåê èíòåðôåéñà
int LoadInterfaceParameters(AnsiString iniFile);
int LoadCentralPanelsParameters(TIniFile* ini);
int LoadPlayer1PanelsParameters(TIniFile* ini);
int LoadPlayer2PanelsParameters(TIniFile* ini);
int LoadPictures(TIniFile* ini);
int LoadPlayer1LabelsParameters(TIniFile* ini);
int LoadPlayer2LabelsParameters(TIniFile* ini);
int LoadPlayerPanelsFontParameters(TIniFile* ini, TLabel* name, TPanel* score,
TPanel* adv, TPanel* pen, TLabel* dispName, TPanel* dispScore,
TPanel* dispAdv, TPanel* dispPen, AnsiString section);
//***********************************
int WriteFightLog(AnsiString logMes); //ïèøåì èíôîðîìàöèþ â ëîã. àâòîìàòîì ïèøåòñÿ: äàòà/âðåìÿ, êàòåãîðèÿ ÔÈÎ áîðöîâ, äåéñòâèå
int WriteErrLog(AnsiString logMes); //çàïèñü ëîãà îá îøèáêå
int UpdatePlayerNames(TComboBox* pl); //çàãðóçêà èíôîðìàöèè â êîìáîáîêñ
int AcceptPlayersNames(); //óñòàíîâêà èìåí ñïîðòñìåíîâ
int AcceptInformation(); //óñòàíîâêà èíôîðìàöèè î ñõâàòêå
int AcceptTime(); //óñòàíîâêà âðåìåíè
};
//---------------------------------------------------------------------------
extern PACKAGE TMainForm *MainForm;
//---------------------------------------------------------------------------
#endif