diff --git "a/\352\271\200\355\230\204\354\262\240/CustomerForm.dfm" "b/\352\271\200\355\230\204\354\262\240/CustomerForm.dfm"
new file mode 100644
index 0000000..7a8ccd0
--- /dev/null
+++ "b/\352\271\200\355\230\204\354\262\240/CustomerForm.dfm"
@@ -0,0 +1,478 @@
+object frmCustomer: TfrmCustomer
+ Left = 0
+ Top = 0
+ Caption = #44256#44061#44288#47532
+ ClientHeight = 576
+ ClientWidth = 783
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -15
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ PixelsPerInch = 96
+ TextHeight = 18
+ object CategoryPanelGroup1: TCategoryPanelGroup
+ Left = 0
+ Top = 41
+ Width = 783
+ Height = 535
+ VertScrollBar.Position = 283
+ VertScrollBar.Tracking = True
+ Align = alClient
+ HeaderFont.Charset = DEFAULT_CHARSET
+ HeaderFont.Color = clWindowText
+ HeaderFont.Height = -11
+ HeaderFont.Name = 'Tahoma'
+ HeaderFont.Style = []
+ TabOrder = 0
+ ExplicitTop = 0
+ ExplicitHeight = 576
+ object CategoryPanel8: TCategoryPanel
+ Top = 374
+ Caption = #44160#49353#47785#47197
+ TabOrder = 0
+ object DBText1: TDBText
+ Left = 352
+ Top = 96
+ Width = 65
+ Height = 17
+ end
+ object DBText2: TDBText
+ Left = 552
+ Top = -616
+ Width = 65
+ Height = 17
+ end
+ object DBGrid1: TDBGrid
+ Left = 0
+ Top = 0
+ Width = 762
+ Height = 174
+ Align = alClient
+ DataSource = DataSource1
+ Options = [dgEditing, dgAlwaysShowEditor, dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit, dgTitleClick, dgTitleHotTrack]
+ TabOrder = 0
+ TitleFont.Charset = DEFAULT_CHARSET
+ TitleFont.Color = clWindowText
+ TitleFont.Height = -15
+ TitleFont.Name = 'Tahoma'
+ TitleFont.Style = []
+ Columns = <
+ item
+ Expanded = False
+ FieldName = 'serial'
+ Title.Caption = #44256#44061#48264#54840
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'name'
+ Title.Caption = #51060#47492
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'phone'
+ Title.Caption = #50672#46973#52376
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'office_name'
+ Title.Caption = #51649#51109
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'office_position'
+ Title.Caption = #51649#50948
+ Visible = True
+ end>
+ end
+ object DBEdit16: TDBEdit
+ Left = 584
+ Top = -608
+ Width = 121
+ Height = 26
+ TabOrder = 1
+ end
+ end
+ object CategoryPanel7: TCategoryPanel
+ Top = 174
+ Caption = #44160#49353#51312#44148
+ TabOrder = 1
+ object Label16: TLabel
+ Left = 15
+ Top = 16
+ Width = 49
+ Height = 18
+ Caption = 'Label16'
+ end
+ object Edit1: TEdit
+ Left = 64
+ Top = 8
+ Width = 121
+ Height = 26
+ TabOrder = 0
+ Text = 'Edit1'
+ end
+ object Edit2: TEdit
+ Left = 248
+ Top = 8
+ Width = 121
+ Height = 26
+ TabOrder = 1
+ Text = 'Edit2'
+ end
+ end
+ object CategoryPanel6: TCategoryPanel
+ Top = 46
+ Height = 128
+ Caption = #47700#47784
+ TabOrder = 2
+ object DBMemo1: TDBMemo
+ Left = 0
+ Top = 0
+ Width = 762
+ Height = 102
+ Align = alClient
+ DataSource = DataSource1
+ TabOrder = 0
+ end
+ end
+ object CategoryPanel3: TCategoryPanel
+ Top = -18
+ Height = 64
+ Caption = #51649#51109' '#51221#48372
+ TabOrder = 3
+ object Label7: TLabel
+ Left = 25
+ Top = 16
+ Width = 39
+ Height = 18
+ Caption = #51649#51109#47749
+ end
+ object Label8: TLabel
+ Left = 191
+ Top = 11
+ Width = 52
+ Height = 18
+ Caption = #51649#51109#51204#54868
+ end
+ object Label9: TLabel
+ Left = 392
+ Top = 15
+ Width = 26
+ Height = 18
+ Caption = #48512#49436
+ end
+ object Label10: TLabel
+ Left = 592
+ Top = 11
+ Width = 26
+ Height = 18
+ Caption = #51649#50948
+ end
+ object DBEdit7: TDBEdit
+ Left = 64
+ Top = 8
+ Width = 121
+ Height = 26
+ DataField = 'office_name'
+ DataSource = DataSource1
+ TabOrder = 0
+ end
+ object DBEdit8: TDBEdit
+ Left = 248
+ Top = 8
+ Width = 121
+ Height = 26
+ DataField = 'office_phone'
+ DataSource = DataSource1
+ TabOrder = 1
+ end
+ object DBEdit9: TDBEdit
+ Left = 424
+ Top = 8
+ Width = 121
+ Height = 26
+ DataField = 'office_part'
+ DataSource = DataSource1
+ TabOrder = 2
+ end
+ object DBEdit10: TDBEdit
+ Left = 624
+ Top = 8
+ Width = 121
+ Height = 26
+ DataField = 'office_position'
+ DataSource = DataSource1
+ TabOrder = 3
+ end
+ end
+ object CategoryPanel5: TCategoryPanel
+ Top = -106
+ Height = 88
+ Caption = #44592#45392#51068
+ TabOrder = 4
+ object Label14: TLabel
+ Left = 37
+ Top = 11
+ Width = 26
+ Height = 18
+ Caption = #49373#51068
+ end
+ object Label15: TLabel
+ Left = 359
+ Top = 11
+ Width = 65
+ Height = 18
+ Caption = #44208#54844#44592#45392#51068
+ end
+ object DBEdit14: TDBEdit
+ Left = 64
+ Top = 8
+ Width = 121
+ Height = 26
+ DataField = 'birhtday'
+ DataSource = DataSource1
+ TabOrder = 0
+ end
+ object DBEdit15: TDBEdit
+ Left = 424
+ Top = 8
+ Width = 121
+ Height = 26
+ DataField = 'anniversary'
+ DataSource = DataSource1
+ TabOrder = 1
+ end
+ object DBRadioGroup1: TDBRadioGroup
+ Left = 191
+ Top = 8
+ Width = 130
+ Height = 49
+ Caption = #49373#51068' '#44396#48516
+ Columns = 2
+ Items.Strings = (
+ #50577#47141
+ #51020#47141)
+ TabOrder = 2
+ end
+ end
+ object CategoryPanel4: TCategoryPanel
+ Top = -178
+ Height = 72
+ Caption = #44288#49900#49324
+ TabOrder = 5
+ object Label11: TLabel
+ Left = 37
+ Top = 11
+ Width = 26
+ Height = 18
+ Caption = #51649#50629
+ end
+ object Label12: TLabel
+ Left = 222
+ Top = 11
+ Width = 26
+ Height = 18
+ Caption = #51333#44368
+ end
+ object Label13: TLabel
+ Left = 392
+ Top = 11
+ Width = 26
+ Height = 18
+ Caption = #52712#48120
+ end
+ object DBEdit11: TDBEdit
+ Left = 64
+ Top = 8
+ Width = 121
+ Height = 26
+ DataField = 'job'
+ DataSource = DataSource1
+ TabOrder = 0
+ end
+ object DBEdit12: TDBEdit
+ Left = 248
+ Top = 8
+ Width = 121
+ Height = 26
+ DataField = 'religion'
+ DataSource = DataSource1
+ TabOrder = 1
+ end
+ object DBEdit13: TDBEdit
+ Left = 424
+ Top = 8
+ Width = 121
+ Height = 26
+ DataField = 'hobby'
+ DataSource = DataSource1
+ TabOrder = 2
+ end
+ end
+ object CategoryPanel1: TCategoryPanel
+ Top = -283
+ Height = 105
+ Caption = #44592#48376#51221#48372
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -15
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 6
+ object Label1: TLabel
+ Left = 25
+ Top = 16
+ Width = 39
+ Height = 18
+ Caption = #44256#44061#47749
+ end
+ object Label2: TLabel
+ Left = 209
+ Top = 11
+ Width = 39
+ Height = 18
+ Caption = #50689#47928#47749
+ end
+ object Label3: TLabel
+ Left = 384
+ Top = 43
+ Width = 39
+ Height = 18
+ Caption = #44144#47000#52376
+ end
+ object Label4: TLabel
+ Left = 579
+ Top = 43
+ Width = 39
+ Height = 18
+ Caption = #45812#45817#51088
+ end
+ object Label5: TLabel
+ Left = 25
+ Top = 48
+ Width = 39
+ Height = 18
+ Caption = #55092#45824#54256
+ end
+ object Label6: TLabel
+ Left = 209
+ Top = 43
+ Width = 39
+ Height = 18
+ Caption = #51060#47700#51068
+ end
+ object Label18: TLabel
+ Left = 566
+ Top = 16
+ Width = 52
+ Height = 18
+ Caption = #44256#44061#48264#54840
+ end
+ object DBEdit1: TDBEdit
+ Left = 64
+ Top = 8
+ Width = 121
+ Height = 26
+ DataField = 'name'
+ DataSource = DataSource1
+ TabOrder = 0
+ end
+ object DBEdit2: TDBEdit
+ Left = 248
+ Top = 8
+ Width = 121
+ Height = 26
+ DataField = 'name_english'
+ DataSource = DataSource1
+ TabOrder = 1
+ end
+ object DBEdit3: TDBEdit
+ Left = 424
+ Top = 40
+ Width = 121
+ Height = 26
+ DataField = 'partner'
+ DataSource = DataSource1
+ TabOrder = 2
+ end
+ object DBEdit4: TDBEdit
+ Left = 624
+ Top = 40
+ Width = 121
+ Height = 26
+ DataField = 'manager'
+ DataSource = DataSource1
+ TabOrder = 3
+ end
+ object DBEdit5: TDBEdit
+ Left = 64
+ Top = 40
+ Width = 121
+ Height = 26
+ DataField = 'phone'
+ DataSource = DataSource1
+ TabOrder = 4
+ end
+ object DBEdit6: TDBEdit
+ Left = 248
+ Top = 40
+ Width = 121
+ Height = 26
+ DataField = 'email'
+ DataSource = DataSource1
+ TabOrder = 5
+ end
+ object DBEdit18: TDBEdit
+ Left = 624
+ Top = 8
+ Width = 121
+ Height = 26
+ DataField = 'serial'
+ DataSource = DataSource1
+ ReadOnly = True
+ TabOrder = 6
+ end
+ end
+ end
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 783
+ Height = 41
+ Align = alTop
+ TabOrder = 1
+ ExplicitLeft = 304
+ ExplicitTop = 288
+ ExplicitWidth = 185
+ object DBNavigator1: TDBNavigator
+ Left = 272
+ Top = 8
+ Width = 240
+ Height = 25
+ DataSource = DataSource1
+ TabOrder = 0
+ end
+ end
+ object DataSource1: TDataSource
+ DataSet = FDTable1
+ Left = 480
+ Top = 441
+ end
+ object FDTable1: TFDTable
+ Active = True
+ IndexFieldNames = 'serial'
+ Connection = DataModule1.FDConnection1
+ UpdateOptions.UpdateTableName = 'customer'
+ TableName = 'customer'
+ Left = 440
+ Top = 441
+ end
+end
diff --git "a/\352\271\200\355\230\204\354\262\240/CustomerForm.pas" "b/\352\271\200\355\230\204\354\262\240/CustomerForm.pas"
new file mode 100644
index 0000000..05d1500
--- /dev/null
+++ "b/\352\271\200\355\230\204\354\262\240/CustomerForm.pas"
@@ -0,0 +1,83 @@
+unit CustomerForm;
+
+interface
+
+uses
+ Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
+ Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Mask, Vcl.DBCtrls,
+ Vcl.ExtCtrls, Data.DB, Vcl.Grids, Vcl.DBGrids, FireDAC.Stan.Intf,
+ FireDAC.Stan.Option, FireDAC.Stan.Param, FireDAC.Stan.Error, FireDAC.DatS,
+ FireDAC.Phys.Intf, FireDAC.DApt.Intf, FireDAC.Stan.Async, FireDAC.DApt,
+ FireDAC.Comp.DataSet, FireDAC.Comp.Client;
+
+type
+ TfrmCustomer = class(TForm)
+ CategoryPanelGroup1: TCategoryPanelGroup;
+ CategoryPanel1: TCategoryPanel;
+ DBEdit1: TDBEdit;
+ DBEdit2: TDBEdit;
+ DBEdit3: TDBEdit;
+ DBEdit4: TDBEdit;
+ Label1: TLabel;
+ Label2: TLabel;
+ Label3: TLabel;
+ Label4: TLabel;
+ CategoryPanel3: TCategoryPanel;
+ Label7: TLabel;
+ DBEdit7: TDBEdit;
+ Label8: TLabel;
+ DBEdit8: TDBEdit;
+ Label9: TLabel;
+ DBEdit9: TDBEdit;
+ Label10: TLabel;
+ DBEdit10: TDBEdit;
+ CategoryPanel4: TCategoryPanel;
+ Label11: TLabel;
+ DBEdit11: TDBEdit;
+ Label12: TLabel;
+ DBEdit12: TDBEdit;
+ Label13: TLabel;
+ DBEdit13: TDBEdit;
+ CategoryPanel5: TCategoryPanel;
+ Label14: TLabel;
+ DBEdit14: TDBEdit;
+ Label15: TLabel;
+ DBEdit15: TDBEdit;
+ DBRadioGroup1: TDBRadioGroup;
+ CategoryPanel6: TCategoryPanel;
+ DBMemo1: TDBMemo;
+ CategoryPanel7: TCategoryPanel;
+ CategoryPanel8: TCategoryPanel;
+ DBGrid1: TDBGrid;
+ Edit1: TEdit;
+ Edit2: TEdit;
+ Label16: TLabel;
+ Label5: TLabel;
+ DBEdit5: TDBEdit;
+ Label6: TLabel;
+ DBEdit6: TDBEdit;
+ Label18: TLabel;
+ DBEdit16: TDBEdit;
+ DBText1: TDBText;
+ DBText2: TDBText;
+ DBEdit18: TDBEdit;
+ DataSource1: TDataSource;
+ FDTable1: TFDTable;
+ Panel1: TPanel;
+ DBNavigator1: TDBNavigator;
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ frmCustomer: TfrmCustomer;
+
+implementation
+
+{$R *.dfm}
+
+uses DataModule;
+
+end.
diff --git "a/\352\271\200\355\230\204\354\262\240/DataModule.dfm" "b/\352\271\200\355\230\204\354\262\240/DataModule.dfm"
index 92f191b..6d814ab 100644
--- "a/\352\271\200\355\230\204\354\262\240/DataModule.dfm"
+++ "b/\352\271\200\355\230\204\354\262\240/DataModule.dfm"
@@ -1,12 +1,30 @@
object DataModule1: TDataModule1
OldCreateOrder = False
- Height = 150
- Width = 215
+ OnCreate = DataModuleCreate
+ OnDestroy = DataModuleDestroy
+ Height = 169
+ Width = 294
object FDConnection1: TFDConnection
Params.Strings = (
'Database=D:\DelphiProject\EduMaster201901\'#44608#54788#52384'\ttms.sdb'
'DriverID=SQLite')
- Left = 31
- Top = 40
+ Left = 55
+ Top = 96
+ end
+ object FDQueryManager: TFDQuery
+ Connection = FDConnection1
+ SQL.Strings = (
+ 'SELECT * '
+ 'FROM manager'
+ 'WHERE pass = :pass')
+ Left = 159
+ Top = 94
+ ParamData = <
+ item
+ Name = 'PASS'
+ DataType = ftString
+ ParamType = ptInput
+ Value = '1234'
+ end>
end
end
diff --git "a/\352\271\200\355\230\204\354\262\240/DataModule.pas" "b/\352\271\200\355\230\204\354\262\240/DataModule.pas"
index 73b1bc6..0d921b6 100644
--- "a/\352\271\200\355\230\204\354\262\240/DataModule.pas"
+++ "b/\352\271\200\355\230\204\354\262\240/DataModule.pas"
@@ -7,11 +7,15 @@ interface
FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf, FireDAC.Stan.Def,
FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys, FireDAC.Phys.SQLite,
FireDAC.Phys.SQLiteDef, FireDAC.Stan.ExprFuncs, FireDAC.VCLUI.Wait, Data.DB,
- FireDAC.Comp.Client;
+ FireDAC.Comp.Client, FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf,
+ FireDAC.DApt, FireDAC.Comp.DataSet;
type
TDataModule1 = class(TDataModule)
FDConnection1: TFDConnection;
+ FDQueryManager: TFDQuery;
+ procedure DataModuleCreate(Sender: TObject);
+ procedure DataModuleDestroy(Sender: TObject);
private
{ Private declarations }
public
@@ -27,4 +31,15 @@ implementation
{$R *.dfm}
+procedure TDataModule1.DataModuleCreate(Sender: TObject);
+begin
+ FDConnection1.Connected := True;
+ FDQueryManager.Open;
+end;
+
+procedure TDataModule1.DataModuleDestroy(Sender: TObject);
+begin
+ FDConnection1.Connected := False;
+end;
+
end.
diff --git "a/\352\271\200\355\230\204\354\262\240/EventManager.dfm" "b/\352\271\200\355\230\204\354\262\240/EventManager.dfm"
index 1d2c618..cb35f7f 100644
--- "a/\352\271\200\355\230\204\354\262\240/EventManager.dfm"
+++ "b/\352\271\200\355\230\204\354\262\240/EventManager.dfm"
@@ -2,7 +2,7 @@ object frmEvent: TfrmEvent
Left = 0
Top = 0
Caption = 'frmEvent'
- ClientHeight = 559
+ ClientHeight = 648
ClientWidth = 682
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
@@ -10,458 +10,621 @@ object frmEvent: TfrmEvent
Font.Height = -15
Font.Name = 'Tahoma'
Font.Style = []
+ KeyPreview = True
OldCreateOrder = False
- OnCreate = FormCreate
+ OnActivate = FormActivate
+ OnDeactivate = FormDeactivate
+ OnKeyDown = FormKeyDown
PixelsPerInch = 96
TextHeight = 18
- object DBText1: TDBText
- Left = 74
- Top = 21
- Width = 65
- Height = 17
- DataField = 'serial'
- DataSource = DataSource1
- end
- object Label1: TLabel
- Left = 16
- Top = 21
- Width = 52
- Height = 18
- Caption = #54665#49324#48264#54840
- end
- object Label2: TLabel
- Left = 218
- Top = 21
- Width = 52
- Height = 18
- Caption = #51217#49688#51068#51088
- end
- object Label3: TLabel
- Left = 472
- Top = 21
- Width = 52
- Height = 18
- Caption = #51652#54665#51068#51088
- end
- object Label4: TLabel
- Left = 16
- Top = 56
- Width = 39
- Height = 18
- Caption = #45812#45817#51088
- end
- object Label5: TLabel
- Left = 216
- Top = 56
- Width = 39
- Height = 18
- Caption = #44144#47000#52376
- end
- object Label6: TLabel
- Left = 16
- Top = 96
- Width = 39
- Height = 18
- Caption = #54665#49324#47749
- end
- object Label7: TLabel
- Left = 16
- Top = 144
- Width = 52
- Height = 18
- Caption = #54665#49324#44592#44036
- end
- object Label8: TLabel
- Left = 16
- Top = 192
- Width = 52
- Height = 18
- Caption = #44256#44061#49457#47749
- end
- object Label9: TLabel
- Left = 16
- Top = 232
- Width = 52
- Height = 18
- Caption = #51204#54868#48264#54840
- end
- object Label10: TLabel
- Left = 368
- Top = 232
- Width = 39
- Height = 18
- Caption = #54648#46300#54256
- end
- object Label11: TLabel
- Left = 16
- Top = 272
- Width = 52
- Height = 18
- Caption = #52636#48156#51068#49884
- end
- object Label12: TLabel
- Left = 368
- Top = 272
- Width = 39
- Height = 18
- Caption = #51665#44208#51648
- end
- object Label13: TLabel
- Left = 16
- Top = 312
- Width = 52
- Height = 18
- Caption = #54788#51648#52636#48156
- end
- object Label14: TLabel
- Left = 368
- Top = 312
- Width = 39
- Height = 18
- Caption = #51665#44208#51648
- end
- object Label15: TLabel
- Left = 19
- Top = 352
- Width = 39
- Height = 18
- Caption = #49689#49548#47749
- end
- object Label16: TLabel
- Left = 366
- Top = 352
- Width = 39
- Height = 18
- Caption = #44061#49892#47749
- end
- object Label17: TLabel
- Left = 462
- Top = 352
- Width = 39
- Height = 18
- Caption = #44061#49892#49688
- end
- object DBTextReservationDate: TDBText
- Left = 276
- Top = 21
- Width = 65
- Height = 17
- DataField = 'serial'
- DataSource = DataSource1
- end
- object DBTextProcessDate: TDBText
- Left = 530
- Top = 21
- Width = 65
- Height = 17
- DataField = 'serial'
- DataSource = DataSource1
- end
- object Label18: TLabel
- Left = 519
- Top = 101
- Width = 13
- Height = 18
- Caption = #48149
- end
- object Label19: TLabel
- Left = 583
- Top = 101
- Width = 13
- Height = 18
- Caption = #51068
- end
- object Label20: TLabel
- Left = 381
- Top = 192
- Width = 26
- Height = 18
- Caption = #51064#50896
- end
- object Label21: TLabel
- Left = 500
- Top = 192
- Width = 26
- Height = 18
- Caption = #45824#51064
- end
- object Label22: TLabel
- Left = 585
- Top = 192
- Width = 26
- Height = 18
- Caption = #49548#51064
- end
- object Label23: TLabel
- Left = 565
- Top = 352
- Width = 39
- Height = 18
- Caption = #44061#49892#49688
- end
- object DBNavigator1: TDBNavigator
- Left = 184
- Top = 400
- Width = 240
- Height = 25
- DataSource = DataSource1
- TabOrder = 0
- end
object DBGrid1: TDBGrid
Left = 0
- Top = 439
+ Top = 433
Width = 682
- Height = 120
- Align = alBottom
+ Height = 215
+ TabStop = False
+ Align = alClient
DataSource = DataSource1
Options = [dgEditing, dgAlwaysShowEditor, dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit, dgTitleClick, dgTitleHotTrack]
- TabOrder = 1
+ TabOrder = 0
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -15
TitleFont.Name = 'Tahoma'
TitleFont.Style = []
end
- object DBEdit1: TDBEdit
- Left = 72
- Top = 52
- Width = 121
- Height = 26
- DataField = 'manager_name'
- DataSource = DataSource1
- TabOrder = 2
- end
- object DBEdit2: TDBEdit
- Left = 276
- Top = 52
- Width = 121
- Height = 26
- DataField = 'partner_name'
- DataSource = DataSource1
- TabOrder = 3
- end
- object DBEdit3: TDBEdit
- Left = 74
- Top = 93
- Width = 323
- Height = 26
- DataField = 'event_name'
- DataSource = DataSource1
- TabOrder = 4
- end
- object DBEdit4: TDBEdit
- Left = 74
- Top = 141
- Width = 121
- Height = 26
- DataField = 'event_start_date'
- DataSource = DataSource1
- TabOrder = 5
- end
- object CalendarPicker1: TCalendarPicker
- Left = 201
- Top = 141
- Height = 32
- CalendarHeaderInfo.DaysOfWeekFont.Charset = DEFAULT_CHARSET
- CalendarHeaderInfo.DaysOfWeekFont.Color = clWindowText
- CalendarHeaderInfo.DaysOfWeekFont.Height = -13
- CalendarHeaderInfo.DaysOfWeekFont.Name = 'Segoe UI'
- CalendarHeaderInfo.DaysOfWeekFont.Style = []
- CalendarHeaderInfo.Font.Charset = DEFAULT_CHARSET
- CalendarHeaderInfo.Font.Color = clWindowText
- CalendarHeaderInfo.Font.Height = -20
- CalendarHeaderInfo.Font.Name = 'Segoe UI'
- CalendarHeaderInfo.Font.Style = []
- Color = clWindow
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clGray
- Font.Height = -16
- Font.Name = 'Segoe UI'
- Font.Style = []
- ParentFont = False
- TabOrder = 6
- TextHint = 'select a date'
- end
- object DatePicker1: TDatePicker
- Left = 496
- Top = 141
- Date = 43494.000000000000000000
- DateFormat = 'yyyy/MM/dd'
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clWindowText
- Font.Height = -16
- Font.Name = 'Segoe UI'
- Font.Style = []
- TabOrder = 7
- end
- object DBEdit5: TDBEdit
- Left = 369
- Top = 141
- Width = 121
- Height = 26
- DataField = 'event_end_date'
- DataSource = DataSource1
- TabOrder = 8
- end
- object DBEdit6: TDBEdit
- Left = 488
- Top = 93
- Width = 25
- Height = 26
- DataSource = DataSource1
- TabOrder = 9
- end
- object DBEdit7: TDBEdit
- Left = 550
- Top = 93
- Width = 27
- Height = 26
- DataSource = DataSource1
- TabOrder = 10
- end
- object DBEdit8: TDBEdit
- Left = 74
- Top = 189
- Width = 267
- Height = 26
- DataField = 'customer_name'
- DataSource = DataSource1
- TabOrder = 11
- end
- object DBEdit9: TDBEdit
- Left = 413
- Top = 189
- Width = 29
- Height = 26
- DataSource = DataSource1
- TabOrder = 12
- end
- object DBEdit10: TDBEdit
- Left = 532
- Top = 189
- Width = 29
- Height = 26
- DataField = 'adult_total'
- DataSource = DataSource1
- TabOrder = 13
- end
- object DBEdit11: TDBEdit
- Left = 617
- Top = 189
- Width = 29
- Height = 26
- DataField = 'child_total'
- DataSource = DataSource1
- TabOrder = 14
- end
- object DBEdit12: TDBEdit
- Left = 74
- Top = 229
- Width = 121
- Height = 26
- DataField = 'phone'
- DataSource = DataSource1
- TabOrder = 15
- end
- object DBEdit13: TDBEdit
- Left = 413
- Top = 229
- Width = 233
- Height = 26
- DataField = 'mobile'
- DataSource = DataSource1
- TabOrder = 16
- end
- object DateTimePicker1: TDateTimePicker
- Left = 201
- Top = 269
- Width = 140
- Height = 26
- Date = 43494.000000000000000000
- Time = 0.405322615741170000
- TabOrder = 17
- end
- object DBEdit14: TDBEdit
- Left = 74
- Top = 269
- Width = 121
- Height = 26
- DataField = 'start_time'
- DataSource = DataSource1
- TabOrder = 18
- end
- object DBEdit15: TDBEdit
- Left = 413
- Top = 269
- Width = 233
- Height = 26
- DataField = 'start_site'
- DataSource = DataSource1
- TabOrder = 19
- end
- object DBEdit16: TDBEdit
- Left = 74
- Top = 309
- Width = 121
- Height = 26
- DataSource = DataSource1
- TabOrder = 20
- end
- object DateTimePicker2: TDateTimePicker
- Left = 201
- Top = 309
- Width = 140
- Height = 26
- Date = 43494.000000000000000000
- Time = 0.406120844905672100
- TabOrder = 21
- end
- object DBEdit17: TDBEdit
- Left = 413
- Top = 309
- Width = 233
- Height = 26
- DataSource = DataSource1
- TabOrder = 22
- end
- object DBEdit18: TDBEdit
- Left = 74
- Top = 349
- Width = 267
- Height = 26
- DataField = 'hotel_name'
- DataSource = DataSource1
- TabOrder = 23
- end
- object DBEdit19: TDBEdit
- Left = 411
- Top = 349
- Width = 121
- Height = 26
- DataField = 'room_name'
- DataSource = DataSource1
- TabOrder = 24
- end
- object DBEdit20: TDBEdit
- Left = 610
- Top = 349
- Width = 36
- Height = 26
- DataField = 'room_number'
- DataSource = DataSource1
- TabOrder = 25
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 682
+ Height = 433
+ Align = alTop
+ TabOrder = 1
+ object DBText1: TDBText
+ Left = 82
+ Top = 22
+ Width = 119
+ Height = 17
+ DataField = 'serial'
+ DataSource = DataSource1
+ end
+ object Label1: TLabel
+ Left = 14
+ Top = 21
+ Width = 62
+ Height = 18
+ Caption = #54665#49324#48264#54840' :'
+ end
+ object Label2: TLabel
+ Left = 226
+ Top = 21
+ Width = 62
+ Height = 18
+ Caption = #51217#49688#51068#51088' :'
+ end
+ object Label3: TLabel
+ Left = 421
+ Top = 21
+ Width = 62
+ Height = 18
+ Caption = #51652#54665#51068#51088' :'
+ end
+ object Label4: TLabel
+ Left = 24
+ Top = 56
+ Width = 39
+ Height = 18
+ Caption = #45812#45817#51088
+ end
+ object Label5: TLabel
+ Left = 224
+ Top = 56
+ Width = 39
+ Height = 18
+ Caption = #44144#47000#52376
+ end
+ object Label6: TLabel
+ Left = 24
+ Top = 96
+ Width = 39
+ Height = 18
+ Caption = #54665#49324#47749
+ end
+ object Label7: TLabel
+ Left = 24
+ Top = 144
+ Width = 52
+ Height = 18
+ Caption = #54665#49324#44592#44036
+ end
+ object Label8: TLabel
+ Left = 24
+ Top = 192
+ Width = 52
+ Height = 18
+ Caption = #44256#44061#49457#47749
+ end
+ object Label9: TLabel
+ Left = 24
+ Top = 232
+ Width = 52
+ Height = 18
+ Caption = #51204#54868#48264#54840
+ end
+ object Label10: TLabel
+ Left = 376
+ Top = 232
+ Width = 39
+ Height = 18
+ Caption = #54648#46300#54256
+ end
+ object Label11: TLabel
+ Left = 24
+ Top = 272
+ Width = 52
+ Height = 18
+ Caption = #52636#48156#51068#49884
+ end
+ object Label12: TLabel
+ Left = 376
+ Top = 272
+ Width = 39
+ Height = 18
+ Caption = #51665#44208#51648
+ end
+ object Label13: TLabel
+ Left = 24
+ Top = 312
+ Width = 52
+ Height = 18
+ Caption = #54788#51648#52636#48156
+ end
+ object Label14: TLabel
+ Left = 376
+ Top = 312
+ Width = 39
+ Height = 18
+ Caption = #51665#44208#51648
+ end
+ object Label15: TLabel
+ Left = 27
+ Top = 352
+ Width = 39
+ Height = 18
+ Caption = #49689#49548#47749
+ end
+ object Label16: TLabel
+ Left = 374
+ Top = 352
+ Width = 39
+ Height = 18
+ Caption = #44061#49892#47749
+ end
+ object Label17: TLabel
+ Left = 470
+ Top = 352
+ Width = 39
+ Height = 18
+ Caption = #44061#49892#49688
+ end
+ object DBTextReservationDate: TDBText
+ Left = 294
+ Top = 21
+ Width = 111
+ Height = 17
+ DataField = 'reservation_date'
+ DataSource = DataSource1
+ end
+ object DBTextProcessDate: TDBText
+ Left = 489
+ Top = 21
+ Width = 158
+ Height = 17
+ DataField = 'process_date'
+ DataSource = DataSource1
+ end
+ object Label18: TLabel
+ Left = 520
+ Top = 145
+ Width = 13
+ Height = 18
+ Caption = #48149
+ end
+ object Label19: TLabel
+ Left = 584
+ Top = 145
+ Width = 13
+ Height = 18
+ Caption = #51068
+ end
+ object Label20: TLabel
+ Left = 389
+ Top = 192
+ Width = 26
+ Height = 18
+ Caption = #51064#50896
+ end
+ object Label21: TLabel
+ Left = 508
+ Top = 192
+ Width = 26
+ Height = 18
+ Caption = #45824#51064
+ end
+ object Label22: TLabel
+ Left = 593
+ Top = 192
+ Width = 26
+ Height = 18
+ Caption = #49548#51064
+ end
+ object Label23: TLabel
+ Left = 573
+ Top = 352
+ Width = 39
+ Height = 18
+ Caption = #44061#49892#49688
+ end
+ object Label24: TLabel
+ Left = 260
+ Top = 140
+ Width = 11
+ Height = 18
+ Caption = '~'
+ end
+ object Label25: TLabel
+ Left = 207
+ Top = 272
+ Width = 13
+ Height = 18
+ Caption = #49884
+ end
+ object Label26: TLabel
+ Left = 245
+ Top = 272
+ Width = 13
+ Height = 18
+ Caption = #48516
+ end
+ object Label27: TLabel
+ Left = 206
+ Top = 311
+ Width = 13
+ Height = 18
+ Caption = #49884
+ end
+ object Label28: TLabel
+ Left = 244
+ Top = 311
+ Width = 13
+ Height = 18
+ Caption = #48516
+ end
+ object Label29: TLabel
+ Left = 127
+ Top = 140
+ Width = 13
+ Height = 18
+ Caption = #45380
+ end
+ object Label30: TLabel
+ Left = 179
+ Top = 140
+ Width = 13
+ Height = 18
+ Caption = #50900
+ end
+ object Label31: TLabel
+ Left = 231
+ Top = 140
+ Width = 13
+ Height = 18
+ Caption = #51068
+ end
+ object Label32: TLabel
+ Left = 332
+ Top = 140
+ Width = 13
+ Height = 18
+ Caption = #45380
+ end
+ object Label33: TLabel
+ Left = 384
+ Top = 140
+ Width = 13
+ Height = 18
+ Caption = #50900
+ end
+ object Label34: TLabel
+ Left = 436
+ Top = 140
+ Width = 13
+ Height = 18
+ Caption = #51068
+ end
+ object Label35: TLabel
+ Left = 115
+ Top = 272
+ Width = 13
+ Height = 18
+ Caption = #50900
+ end
+ object Label36: TLabel
+ Left = 167
+ Top = 272
+ Width = 13
+ Height = 18
+ Caption = #51068
+ end
+ object Label37: TLabel
+ Left = 115
+ Top = 311
+ Width = 13
+ Height = 18
+ Caption = #50900
+ end
+ object Label38: TLabel
+ Left = 167
+ Top = 311
+ Width = 13
+ Height = 18
+ Caption = #51068
+ end
+ object DBNavigator1: TDBNavigator
+ Left = 186
+ Top = 391
+ Width = 240
+ Height = 25
+ DataSource = DataSource1
+ TabOrder = 0
+ end
+ object DBEditManagerName: TDBEdit
+ Left = 80
+ Top = 52
+ Width = 121
+ Height = 26
+ DataField = 'manager_name'
+ DataSource = DataSource1
+ TabOrder = 1
+ end
+ object edtPartner: TDBEdit
+ Left = 288
+ Top = 52
+ Width = 121
+ Height = 26
+ DataField = 'partner_name'
+ DataSource = DataSource1
+ TabOrder = 2
+ OnDblClick = edtPartnerDblClick
+ end
+ object DBEdit3: TDBEdit
+ Left = 82
+ Top = 93
+ Width = 323
+ Height = 26
+ DataField = 'event_name'
+ DataSource = DataSource1
+ TabOrder = 3
+ OnDblClick = DBEdit3DblClick
+ end
+ object DBEditNight: TDBEdit
+ Left = 489
+ Top = 137
+ Width = 25
+ Height = 26
+ DataField = 'night'
+ DataSource = DataSource1
+ TabOrder = 10
+ end
+ object DBEditDay: TDBEdit
+ Left = 551
+ Top = 137
+ Width = 27
+ Height = 26
+ DataField = 'day'
+ DataSource = DataSource1
+ TabOrder = 11
+ end
+ object DBEdit8: TDBEdit
+ Left = 82
+ Top = 189
+ Width = 267
+ Height = 26
+ DataField = 'customer_name'
+ DataSource = DataSource1
+ TabOrder = 12
+ end
+ object DBEdit9: TDBEdit
+ Left = 421
+ Top = 189
+ Width = 29
+ Height = 26
+ DataSource = DataSource1
+ TabOrder = 13
+ end
+ object DBEdit10: TDBEdit
+ Left = 540
+ Top = 189
+ Width = 29
+ Height = 26
+ DataField = 'adult_total'
+ DataSource = DataSource1
+ TabOrder = 14
+ end
+ object DBEdit11: TDBEdit
+ Left = 625
+ Top = 189
+ Width = 29
+ Height = 26
+ DataField = 'child_total'
+ DataSource = DataSource1
+ TabOrder = 15
+ end
+ object DBEdit12: TDBEdit
+ Left = 82
+ Top = 229
+ Width = 121
+ Height = 26
+ DataField = 'phone'
+ DataSource = DataSource1
+ TabOrder = 16
+ end
+ object DBEdit13: TDBEdit
+ Left = 421
+ Top = 229
+ Width = 233
+ Height = 26
+ DataField = 'mobile'
+ DataSource = DataSource1
+ TabOrder = 17
+ end
+ object DBEdit15: TDBEdit
+ Left = 421
+ Top = 269
+ Width = 233
+ Height = 26
+ DataField = 'start_site'
+ DataSource = DataSource1
+ TabOrder = 22
+ end
+ object DBEdit17: TDBEdit
+ Left = 421
+ Top = 309
+ Width = 233
+ Height = 26
+ DataField = 'local_start_site'
+ DataSource = DataSource1
+ TabOrder = 27
+ end
+ object DBEdit18: TDBEdit
+ Left = 82
+ Top = 349
+ Width = 267
+ Height = 26
+ DataField = 'hotel_name'
+ DataSource = DataSource1
+ TabOrder = 28
+ end
+ object DBEdit19: TDBEdit
+ Left = 419
+ Top = 349
+ Width = 121
+ Height = 26
+ DataField = 'room_name'
+ DataSource = DataSource1
+ TabOrder = 29
+ end
+ object DBEdit20: TDBEdit
+ Left = 618
+ Top = 349
+ Width = 36
+ Height = 26
+ DataField = 'room_number'
+ DataSource = DataSource1
+ TabOrder = 30
+ end
+ object edtDepartHour: TEdit
+ Left = 186
+ Top = 269
+ Width = 20
+ Height = 26
+ TabOrder = 20
+ end
+ object edtDepartMinute: TEdit
+ Left = 226
+ Top = 269
+ Width = 20
+ Height = 26
+ TabOrder = 21
+ end
+ object edtLocalHour: TEdit
+ Left = 187
+ Top = 309
+ Width = 20
+ Height = 26
+ TabOrder = 25
+ end
+ object edtLocalMinute: TEdit
+ Left = 225
+ Top = 308
+ Width = 20
+ Height = 26
+ TabOrder = 26
+ end
+ object edtFromYear: TEdit
+ Left = 83
+ Top = 137
+ Width = 38
+ Height = 26
+ TabOrder = 4
+ OnExit = EventDateExit
+ end
+ object edtFromMonth: TEdit
+ Left = 146
+ Top = 137
+ Width = 27
+ Height = 26
+ TabOrder = 5
+ OnExit = EventDateExit
+ end
+ object edtFromDay: TEdit
+ Left = 198
+ Top = 137
+ Width = 27
+ Height = 26
+ TabOrder = 6
+ OnExit = EventDateExit
+ end
+ object edtToYear: TEdit
+ Left = 288
+ Top = 137
+ Width = 38
+ Height = 26
+ TabOrder = 7
+ OnExit = EventDateExit
+ end
+ object edtToMonth: TEdit
+ Left = 351
+ Top = 137
+ Width = 27
+ Height = 26
+ TabOrder = 8
+ OnExit = EventDateExit
+ end
+ object edtToDay: TEdit
+ Left = 403
+ Top = 137
+ Width = 27
+ Height = 26
+ TabOrder = 9
+ OnExit = EventDateExit
+ end
+ object edtDepartMonth: TEdit
+ Left = 82
+ Top = 269
+ Width = 27
+ Height = 26
+ TabOrder = 18
+ OnExit = EventDateExit
+ end
+ object edtDepartDay: TEdit
+ Left = 134
+ Top = 269
+ Width = 27
+ Height = 26
+ TabOrder = 19
+ OnExit = EventDateExit
+ end
+ object edtLocalMonth: TEdit
+ Left = 82
+ Top = 308
+ Width = 27
+ Height = 26
+ TabOrder = 23
+ OnExit = EventDateExit
+ end
+ object edtLocalDay: TEdit
+ Left = 134
+ Top = 308
+ Width = 27
+ Height = 26
+ TabOrder = 24
+ OnExit = EventDateExit
+ end
+ object btnPost: TButton
+ Left = 80
+ Top = 392
+ Width = 75
+ Height = 25
+ Caption = #51200#51109
+ TabOrder = 31
+ OnClick = btnPostClick
+ end
end
object DataSource1: TDataSource
DataSet = FDTable1
- Left = 536
- Top = 488
+ Left = 528
+ Top = 56
end
object FDTable1: TFDTable
+ BeforePost = FDTable1BeforePost
+ AfterScroll = FDTable1AfterScroll
+ OnNewRecord = FDTable1NewRecord
IndexFieldNames = 'serial'
Connection = DataModule1.FDConnection1
UpdateOptions.UpdateTableName = 'event'
TableName = 'event'
- Left = 464
- Top = 488
+ Left = 456
+ Top = 56
+ end
+ object FDQuerySerial: TFDQuery
+ Connection = DataModule1.FDConnection1
+ SQL.Strings = (
+ 'SELECT serial'
+ 'FROM event'
+ 'WHERE serial like '#39'20190130%'#39
+ 'ORDER BY serial DESC')
+ Left = 456
+ Top = 384
end
end
diff --git "a/\352\271\200\355\230\204\354\262\240/EventManager.pas" "b/\352\271\200\355\230\204\354\262\240/EventManager.pas"
index 11e8fb0..619b80c 100644
--- "a/\352\271\200\355\230\204\354\262\240/EventManager.pas"
+++ "b/\352\271\200\355\230\204\354\262\240/EventManager.pas"
@@ -17,11 +17,8 @@ interface
type
TfrmEvent = class(TForm)
- DataSource1: TDataSource;
- FDTable1: TFDTable;
- DBNavigator1: TDBNavigator;
DBGrid1: TDBGrid;
- DBEdit1: TDBEdit;
+ Panel1: TPanel;
DBText1: TDBText;
Label1: TLabel;
Label2: TLabel;
@@ -42,38 +39,77 @@ TfrmEvent = class(TForm)
Label17: TLabel;
DBTextReservationDate: TDBText;
DBTextProcessDate: TDBText;
- DBEdit2: TDBEdit;
- DBEdit3: TDBEdit;
- DBEdit4: TDBEdit;
- CalendarPicker1: TCalendarPicker;
- DatePicker1: TDatePicker;
- DBEdit5: TDBEdit;
Label18: TLabel;
- DBEdit6: TDBEdit;
- DBEdit7: TDBEdit;
Label19: TLabel;
+ Label20: TLabel;
+ Label21: TLabel;
+ Label22: TLabel;
+ Label23: TLabel;
+ Label24: TLabel;
+ Label25: TLabel;
+ Label26: TLabel;
+ Label27: TLabel;
+ Label28: TLabel;
+ Label29: TLabel;
+ Label30: TLabel;
+ Label31: TLabel;
+ Label32: TLabel;
+ Label33: TLabel;
+ Label34: TLabel;
+ Label35: TLabel;
+ Label36: TLabel;
+ Label37: TLabel;
+ Label38: TLabel;
+ DBNavigator1: TDBNavigator;
+ DBEditManagerName: TDBEdit;
+ edtPartner: TDBEdit;
+ DBEdit3: TDBEdit;
+ DBEditNight: TDBEdit;
+ DBEditDay: TDBEdit;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
DBEdit10: TDBEdit;
DBEdit11: TDBEdit;
- Label20: TLabel;
- Label21: TLabel;
- Label22: TLabel;
DBEdit12: TDBEdit;
DBEdit13: TDBEdit;
- DateTimePicker1: TDateTimePicker;
- DBEdit14: TDBEdit;
DBEdit15: TDBEdit;
- DBEdit16: TDBEdit;
- DateTimePicker2: TDateTimePicker;
DBEdit17: TDBEdit;
DBEdit18: TDBEdit;
DBEdit19: TDBEdit;
- Label23: TLabel;
DBEdit20: TDBEdit;
- procedure FormCreate(Sender: TObject);
+ edtDepartHour: TEdit;
+ edtDepartMinute: TEdit;
+ edtLocalHour: TEdit;
+ edtLocalMinute: TEdit;
+ edtFromYear: TEdit;
+ edtFromMonth: TEdit;
+ edtFromDay: TEdit;
+ edtToYear: TEdit;
+ edtToMonth: TEdit;
+ edtToDay: TEdit;
+ edtDepartMonth: TEdit;
+ edtDepartDay: TEdit;
+ edtLocalMonth: TEdit;
+ edtLocalDay: TEdit;
+ DataSource1: TDataSource;
+ FDTable1: TFDTable;
+ FDQuerySerial: TFDQuery;
+ btnPost: TButton;
+ procedure FormActivate(Sender: TObject);
+ procedure FormDeactivate(Sender: TObject);
+ procedure FDTable1NewRecord(DataSet: TDataSet);
+ procedure FDTable1BeforePost(DataSet: TDataSet);
+ procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
+ procedure EventDateExit(Sender: TObject);
+ procedure FDTable1AfterScroll(DataSet: TDataSet);
+ procedure btnPostClick(Sender: TObject);
+ procedure DBEdit3DblClick(Sender: TObject);
+ procedure edtPartnerDblClick(Sender: TObject);
private
{ Private declarations }
+ procedure SetDate2Edit(Date: TDate; edtYear: TEdit; edtMonth: TEdit; edtDay: TEdit);
+ procedure SetTime2edit(Time: TDateTime; edtMonth: TEdit; edtDay: TEdit; edtHour: TEdit; edtMinute: TEdit);
+ function GetNewSerial: string;
public
{ Public declarations }
end;
@@ -85,15 +121,268 @@ implementation
{$R *.dfm}
-uses DataModule;
+uses DataModule, DateUtils, MyLib, SearchForm;
+
+{** Çà»ç±â°£ ÀԷ½à ¸î¹Ú ¸îÀÏÀ» ÀÚµ¿À¸·Î °è»ê
+*}
+procedure TfrmEvent.btnPostClick(Sender: TObject);
+begin
+ FDTable1.Post;
+end;
+
+procedure TfrmEvent.DBEdit3DblClick(Sender: TObject);
+begin
+ frmSearch.DataSource1.DataSet := frmSearch.FDTableEvent;
+ frmSearch.FDTableEvent.Open;
+
+ if frmSearch.ShowModal = mrOk then
+ begin
+ FDTable1.Edit;
+ FDTable1.FieldByName('event_name').AsString := frmSearch.SearchResult;
+ end;
+
+ frmSearch.FDTableEvent.Close;
+end;
+
+procedure TfrmEvent.edtPartnerDblClick(Sender: TObject);
+begin
+ frmSearch.DataSource1.DataSet := frmSearch.FDTablePartner;
+ frmSearch.FDTablePartner.Open;
+
+ if frmSearch.ShowModal = mrOk then
+ begin
+ FDTable1.Edit;
+ FDTable1.FieldByName('partner_name').AsString := frmSearch.SearchResult;
+ end;
+
+ frmSearch.FDTablePartner.Close;
+end;
+
+procedure TfrmEvent.EventDateExit(Sender: TObject);
+var
+ fromDate, toDate : TDate;
+ Year, Month, Day: Integer;
+ Night: Integer;
+begin
+ Convert3TextToDate(fromDate, edtFromYear.Text, edtFromMonth.Text, edtFromDay.Text);
+ Convert3TextToDate(ToDate, edtToYear.Text, edtToMonth.Text, edtToDay.Text);
+
+// fromDate := EncodeDate(StrToInt(edtFromYear.Text),
+// StrToInt(edtFromMonth.Text), StrToInt(edtFromDay.Text));
+// toDate := EncodeDate(StrToInt(edtToYear.Text),
+// StrToInt(edtToMonth.Text), StrToInt(edtToDay.Text));
+
+ if (toDate <> 0) and (fromDate <> 0) then
+ begin
+ Night := DaysBetween(toDate, fromDate);
+ with FDTable1 do
+ begin
+ Edit;
+ FieldByName('night').AsString := IntToStr(Night);
+ DBEditNight.Text := IntToStr(Night);
+ FieldByName('day').AsString := IntToStr(Night + 1);
+ DBEditDay.Text := IntToStr(Night + 1);
+ end;
+ end;
+
+end;
+
+{** ³â¿ùÀÏ(TDate)À» ¼¼°³ÀÇ TEdit.Text¿¡ÀúÀå
+ @param Date ³â¿ùÀÏ
+ @param Year ³âµµ TEdit
+ @param Month ¿ù TMonth
+ @param Day ÀÏ TEdit
+*}
+procedure TfrmEvent.SetDate2Edit(Date: TDate; edtYear: TEdit; edtMonth: TEdit; edtDay: TEdit);
+var
+ Year, Month, Day: Word;
+begin
+ if Date = 0 then
+ begin
+ edtYear.Clear;
+ edtMonth.Clear;
+ edtDay.Clear;
+ end else
+ begin
+ DecodeDate(Date, Year, Month, Day);
+ edtYear.Text := IntToStr(Year);
+ edtMonth.Text := IntToStr(Month);
+ edtDay.Text := IntToStr(Day);
+ end;
+end;
+
+{** ¿ùÀϽúÐÀ» ³×°³ÀÇ TEdit¿¡ ÀÔ·Â
+ @param Time ³â¿ùÀÏ
+ @param Month ¿ù TMonth
+ @param Day ÀÏ TEdit
+ @param Hour ½Ã TEdit
+ @param Minute ºÐ
++}
+procedure TfrmEvent.SetTime2edit(Time: TDateTime; edtMonth: TEdit; edtDay: TEdit; edtHour: TEdit; edtMinute: TEdit);
+var
+ Year, Month, Day, Hour, Minute, Second, Mili: Word;
+begin
+ if Time = 0 then
+ begin
+ edtMonth.Clear;
+ edtDay.Clear;
+ edtHour.Clear;
+ edtMinute.Clear;
+ end
+ else begin
+ DecodeDateTime(Time, Year, Month, Day, Hour, Minute, Second, Mili);
+ edtMonth.Text := IntToStr(Month);
+ edtDay.Text := IntToStr(Day);
+ edtHour.Text := IntToStr(Hour);
+ edtMinute.Text := IntToStr(Minute);
+ end;
+end;
+
+{** Çà»ç Å×À̺íÀÇ ·¹ÄÚµå À̵¿½Ã TEdit¸¦ »ç¿ëÇÏ´Â Field °ªÀ» ¹Ý¿µ
+*}
+procedure TfrmEvent.FDTable1AfterScroll(DataSet: TDataSet);
+var
+ Year, Month, Day, Hour, Minute, Second, Mili: Word;
+begin
+ with FDTable1 do
+ begin
+ // DBÀÇ Çà»ç±â°£À» TEdit.Text¿¡ ¹Ý¿µ
+ SetDate2Edit(FieldByName('event_start_date').AsDateTime,
+ edtFromYear, edtFromMonth, edtFromDay);
+ SetDate2Edit(FieldByName('event_end_date').AsDateTime,
+ edtToYear, edtToMonth, edtToDay);
+
+ // DBÀÇ Ç×°ø Ãâ¹ß½Ã°£À» TEdit.Text¿¡ ¹Ý¿µ
+ SetTime2Edit(FieldByName('start_time').AsDateTime,
+ edtDepartMonth, edtDepartDay, edtDepartHour, edtDepartMinute);
+
+ // DBÀÇ ÇöÁö Ãâ¹ß½Ã°£À» TEdit.Text¿¡ ¹Ý¿µ
+ SetTime2Edit(FieldByName('local_start_time').AsDateTime,
+ edtLocalMonth, edtLocalDay, edtLocalHour, edtLocalMinute);
+ end;
+end;
+
+{**
+ 1. TEdit¸¦ »ç¿ëÇÏ´Â Çʵå(Çà»ç±â°£, Ç×°øÃâ¹ß, ÇöÁöÃâ¹ß)¿¡ µ¥ÀÌÅ͸¦ ¹Ý¿µ
+ 2. ¼öÁ¤½Ã°£ ¾÷µ¥ÀÌÆ®
+*}
+procedure TfrmEvent.FDTable1BeforePost(DataSet: TDataSet);
+var
+ EventStartDate, EventEndDate: TDate;
+ DepartTime, LocalTime: TDateTime;
+begin
+ // Çà»ç±â°£(TDate)À» ±¸ÇÑ´Ù
+ EventStartDate := EncodeDate(StrToInt(edtFromYear.Text),
+ StrToInt(edtFromMonth.Text), StrToInt(edtFromDay.Text));
+ EventEndDate := EncodeDate(StrToInt(edtToYear.Text),
+ StrToInt(edtToMonth.Text), StrToInt(edtToDay.Text));
+
+ // Ç×°ø Ãâ¹ß ½Ã°£(TDateTime)À» ±¸ÇÑ´Ù
+ DepartTime := EncodeDateTime(StrToInt(edtFromYear.Text),
+ StrToInt(edtDepartMonth.Text), StrToInt(edtDepartDay.Text),
+ StrToInt(edtDepartHour.Text), StrToInt(edtDepartMinute.Text), 0, 0);
+
+ // ÇöÁö Ãâ¹ß ½Ã°£(TDateTime)À» ±¸ÇÑ´Ù
+ LocalTime := EncodeDateTime(StrToInt(edtFromYear.Text),
+ StrToInt(edtLocalMonth.Text), StrToInt(edtLocalDay.Text),
+ StrToInt(edtLocalHour.Text), StrToInt(edtLocalMinute.Text), 0, 0);
-procedure TfrmEvent.FormCreate(Sender: TObject);
+ with FDTable1 do
+ begin
+ FieldByName('event_start_date').AsDateTime := EventStartDate;
+ FieldByName('event_end_date').AsDateTime := EventEndDate;
+ FieldByName('start_time').AsDateTime := DepartTime;
+ FieldByName('local_start_time').AsDateTime := EventEndDate;
+ FieldByName('modified_at').AsDateTime := now;
+ end;
+end;
+
+
+{** »õ ·¹ÄÚµå Ãß°¡½Ã »ç¿ëÇÏ´Â serial ±¸ÇÑ´Ù
+ @return »õ·Î¿î serialÀÇ ¹®ÀÚ¿
+ ÀϷùøÈ£(serial) »ý¼º yyyymmdd001 ex) 20190131001
+*}
+function TfrmEvent.GetNewSerial: string;
+var
+ Serial: Integer;
+begin
+ with FDQuerySerial do
+ begin
+ Close;
+ SQL.Clear;
+ SQL.Add('SELECT serial FROM event WHERE serial like "'
+ + formatDateTime('yyyymmdd', now) + '%" ORDER BY serial DESC');
+ Open;
+
+ // ¿À´Ã³¯Â¥ÀÇ ¿¹¾àÀÌ ¾øÀ» ¶§ '001' ºÎÅÍ ½ÃÀÛ
+ if FieldByName('serial').AsString = '' then
+ result := formatDateTime('yyyymmdd', now) + '001'
+ // ¿À´Ã ³¯Â¥ÀÇ ¿¹¾àÀÌ ÀÖÀ¸¸é 1 Áõ°¡
+ else begin
+ Serial := StrToInt(Copy(FieldByName('serial').AsString, 9, 3));
+ result := formatDateTime('yyyymmdd', now) + IntToStr(Serial + 1);
+ end;
+ end;
+end;
+
+{** Çà»ç Å×ÀÌºí¿¡ »õ ·¹ÄÚµå Ãß°¡½Ã
+ 1. »õ·Î¿î ÀϷùøÈ£ »ý¼º
+ 2. Á¢¼öÀϰú ÁøÇà¾ÞÀ» ¿À´Ã ³¯Â¥·Î
+ 3. ´ã´çÀÚ¸¦ ·Î±×ÀÎÇÑ »ç¿ëÀÚ·Î
+ 4. ÃÖÃÊÀÛ¼º½Ã°£À» Áö±ÝÀ¸·Î
+ 5. Çà»ç±â°£ÀÇ ³âµµ¸¦ ¿ÃÇØ·Î, ¿ùÀÏÀº Clear
+ 6. Ç×°øÃâ¹ß½Ã°£À» Clear
+*}
+procedure TfrmEvent.FDTable1NewRecord(DataSet: TDataSet);
var
NowDate: string;
+ NowYear: string;
begin
NowDate := formatDateTime('yyyy-mm-dd', now);
-// DBTextReservationDate.Field.AsDateTime := now;
-// DBTextProcessDate.Field.AsDate := now;
+ NowYear := formatDateTime('yyyy', now);
+
+ // 1 ~ 4
+ with FDTable1 do
+ begin
+ FieldByName('serial').AsString := GetNewSerial;
+ FieldByName('reservation_date').AsString := NowDate;
+ FieldByName('process_date').AsString := NowDate;
+ FieldByName('manager_name').AsString := DataModule1.FDQueryManager.FieldByName('name').AsString;
+ FieldByName('created_at').AsDateTime := now;
+ end;
+ DBTextReservationDate.Field.AsString := NowDate;
+
+ // 5. Çà»ç±â°£ÀÇ ³âµµ¸¦ ¿ÃÇØ·Î, ¿ùÀÏÀº Clear
+ edtFromYear.Text := NowYear; edtToYear.Text := NowYear;
+ edtFromMonth.Clear; edtToMonth.Clear;
+ edtFromDay.Clear; edtToDay.Clear;
+
+ // 6. Ç×°øÃâ¹ß½Ã°£À» Clear
+ edtDepartMonth.Clear; edtLocalMonth.Clear;
+ edtDepartDay.Clear; edtLocalDay.Clear;
+ edtDepartHour.Clear; edtLocalHour.Clear;
+ edtDepartMinute.Clear; edtLocalMinute.Clear;
+
+ edtPartner.SetFocus;
end;
+
+procedure TfrmEvent.FormActivate(Sender: TObject);
+begin
+ FDTable1.Open;
+end;
+
+procedure TfrmEvent.FormDeactivate(Sender: TObject);
+begin
+ FDTable1.Close;
+end;
+
+procedure TfrmEvent.FormKeyDown(Sender: TObject; var Key: Word;
+ Shift: TShiftState);
+begin
+ if Key = VK_RETURN then
+ SelectNext(Activecontrol, True, True);
+end;
+
+
end.
diff --git "a/\352\271\200\355\230\204\354\262\240/EventManager.vlb" "b/\352\271\200\355\230\204\354\262\240/EventManager.vlb"
index 3244107..afcf461 100644
--- "a/\352\271\200\355\230\204\354\262\240/EventManager.vlb"
+++ "b/\352\271\200\355\230\204\354\262\240/EventManager.vlb"
@@ -1,16 +1,7 @@
-[FDTable1]
+[]
Coordinates=174,20,60,33
-
-[DataSource1]
-Coordinates=103,71,77,33
-
-[]
-Coordinates=84,124,90,33
Visible=True
-[DBNavigator1]
-Coordinates=330,30,82,51
-
[DBGrid1]
Coordinates=25,134,56,33
diff --git "a/\352\271\200\355\230\204\354\262\240/MainMenu.dfm" "b/\352\271\200\355\230\204\354\262\240/MainMenu.dfm"
index 51cf219..4f60075 100644
--- "a/\352\271\200\355\230\204\354\262\240/MainMenu.dfm"
+++ "b/\352\271\200\355\230\204\354\262\240/MainMenu.dfm"
@@ -49,7 +49,6 @@ object frmMenu: TfrmMenu
Width = 122
Height = 41
Caption = #50696#50557#44288#47532
- Enabled = False
TabOrder = 0
OnClick = btnReservationClick
end
@@ -59,8 +58,8 @@ object frmMenu: TfrmMenu
Width = 122
Height = 41
Caption = #54665#49324#44288#47532
- Enabled = False
TabOrder = 1
+ OnClick = btnEventClick
end
object btnManager: TButton
Left = 143
@@ -72,15 +71,14 @@ object frmMenu: TfrmMenu
TabOrder = 2
OnClick = btnManagerClick
end
- object btnMogaek: TButton
+ object btnTourist: TButton
Left = 15
Top = 63
Width = 122
Height = 41
Caption = #47784#44061#54788#54889
- Enabled = False
TabOrder = 3
- OnClick = btnReservationClick
+ OnClick = btnTouristClick
end
object btnPartner: TButton
Left = 143
@@ -88,8 +86,8 @@ object frmMenu: TfrmMenu
Width = 122
Height = 41
Caption = #44144#47000#52376#44288#47532
- Enabled = False
TabOrder = 4
+ OnClick = btnPartnerClick
end
object btnCalculate: TButton
Left = 15
@@ -126,8 +124,8 @@ object frmMenu: TfrmMenu
Width = 122
Height = 41
Caption = #44256#44061#44288#47532
- Enabled = False
TabOrder = 8
+ OnClick = btnCustomerClick
end
object btnBanking: TButton
Left = 15
@@ -168,18 +166,4 @@ object frmMenu: TfrmMenu
TabOrder = 12
end
end
- object FDQuery1: TFDQuery
- Connection = DataModule1.FDConnection1
- SQL.Strings = (
- 'SELECT * '
- 'FROM manager'
- 'WHERE pass = :pass')
- Left = 216
- Top = 280
- ParamData = <
- item
- Name = 'PASS'
- ParamType = ptInput
- end>
- end
end
diff --git "a/\352\271\200\355\230\204\354\262\240/MainMenu.pas" "b/\352\271\200\355\230\204\354\262\240/MainMenu.pas"
index 21abf6d..ddbaff9 100644
--- "a/\352\271\200\355\230\204\354\262\240/MainMenu.pas"
+++ "b/\352\271\200\355\230\204\354\262\240/MainMenu.pas"
@@ -16,12 +16,11 @@ TfrmMenu = class(TForm)
edtPass: TEdit;
Label1: TLabel;
btnPass: TButton;
- FDQuery1: TFDQuery;
Panel1: TPanel;
btnReservation: TButton;
btnEvent: TButton;
btnManager: TButton;
- btnMogaek: TButton;
+ btnTourist: TButton;
btnPartner: TButton;
btnCalculate: TButton;
btnHotel: TButton;
@@ -34,6 +33,10 @@ TfrmMenu = class(TForm)
procedure btnReservationClick(Sender: TObject);
procedure edtPassKeyPress(Sender: TObject; var Key: Char);
procedure btnManagerClick(Sender: TObject);
+ procedure btnTouristClick(Sender: TObject);
+ procedure btnCustomerClick(Sender: TObject);
+ procedure btnEventClick(Sender: TObject);
+ procedure btnPartnerClick(Sender: TObject);
private
{ Private declarations }
procedure SetButton(Button: TButton; Bool: Integer);
@@ -49,7 +52,8 @@ implementation
{$R *.dfm}
-uses DataModule, EventManager, Manager;
+uses DataModule, EventManager, Manager, TouristStatusForm, CustomerForm,
+ ManageEventForm, PartnerForm;
procedure TfrmMenu.SetButton(Button: TButton; Bool: Integer);
begin
@@ -61,7 +65,7 @@ procedure TfrmMenu.SetButton(Button: TButton; Bool: Integer);
procedure TfrmMenu.SetAllButton;
begin
- with FDQuery1 do
+ with DataModule1.FDQueryManager do
begin
Close;
ParamByName('pass').AsString := edtPass.Text;
@@ -75,7 +79,7 @@ procedure TfrmMenu.SetAllButton;
else begin
SetButton(btnReservation, FieldByName('auth_reservation').AsInteger);
SetButton(btnEvent, FieldByName('auth_event').AsInteger);
- SetButton(btnMogaek, FieldByName('auth_mogaek').AsInteger);
+ SetButton(btnTourist, FieldByName('auth_mogaek').AsInteger);
SetButton(btnPartner, FieldByName('auth_partner').AsInteger);
SetButton(btnCalculate, FieldByName('auth_calculate').AsInteger);
SetButton(btnHotel, FieldByName('auth_hotel').AsInteger);
@@ -95,11 +99,31 @@ procedure TfrmMenu.btnReservationClick(Sender: TObject);
frmEvent.Show;
end;
+procedure TfrmMenu.btnTouristClick(Sender: TObject);
+begin
+ frmTouristStatus.Show;
+end;
+
+procedure TfrmMenu.btnCustomerClick(Sender: TObject);
+begin
+ frmCustomer.Show;
+end;
+
+procedure TfrmMenu.btnEventClick(Sender: TObject);
+begin
+ frmManageEvent.Show;
+end;
+
procedure TfrmMenu.btnManagerClick(Sender: TObject);
begin
frmManager.Show;
end;
+procedure TfrmMenu.btnPartnerClick(Sender: TObject);
+begin
+ frmPartner.Show;
+end;
+
procedure TfrmMenu.edtPassKeyPress(Sender: TObject; var Key: Char);
begin
if ord(Key) = VK_RETURN then
diff --git "a/\352\271\200\355\230\204\354\262\240/ManageEventForm.dfm" "b/\352\271\200\355\230\204\354\262\240/ManageEventForm.dfm"
new file mode 100644
index 0000000..76d415f
--- /dev/null
+++ "b/\352\271\200\355\230\204\354\262\240/ManageEventForm.dfm"
@@ -0,0 +1,92 @@
+object frmManageEvent: TfrmManageEvent
+ Left = 0
+ Top = 0
+ Caption = #54665#49324#47749' '#44288#47532
+ ClientHeight = 515
+ ClientWidth = 478
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -15
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ OnActivate = FormActivate
+ OnDeactivate = FormDeactivate
+ PixelsPerInch = 96
+ TextHeight = 18
+ object Panel1: TPanel
+ Left = 0
+ Top = 424
+ Width = 478
+ Height = 91
+ Align = alBottom
+ TabOrder = 0
+ object DBNavigator1: TDBNavigator
+ Left = 112
+ Top = 32
+ Width = 240
+ Height = 22
+ DataSource = DataSource1
+ TabOrder = 0
+ end
+ end
+ object DBGrid1: TDBGrid
+ Left = 0
+ Top = 81
+ Width = 478
+ Height = 343
+ Align = alClient
+ DataSource = DataSource1
+ Options = [dgEditing, dgAlwaysShowEditor, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit, dgTitleClick, dgTitleHotTrack]
+ TabOrder = 1
+ TitleFont.Charset = DEFAULT_CHARSET
+ TitleFont.Color = clWindowText
+ TitleFont.Height = -15
+ TitleFont.Name = 'Tahoma'
+ TitleFont.Style = []
+ Columns = <
+ item
+ Expanded = False
+ FieldName = 'name'
+ Visible = True
+ end>
+ end
+ object Panel2: TPanel
+ Left = 0
+ Top = 0
+ Width = 478
+ Height = 81
+ Align = alTop
+ TabOrder = 2
+ object Label1: TLabel
+ Left = 8
+ Top = 31
+ Width = 49
+ Height = 18
+ Caption = #54665#49324#47749' :'
+ end
+ object DBEdit1: TDBEdit
+ Left = 63
+ Top = 28
+ Width = 121
+ Height = 26
+ DataField = 'name'
+ DataSource = DataSource1
+ TabOrder = 0
+ end
+ end
+ object FDTable1: TFDTable
+ IndexFieldNames = 'name'
+ Connection = DataModule1.FDConnection1
+ UpdateOptions.UpdateTableName = 'event_name'
+ TableName = 'event_name'
+ Left = 232
+ Top = 264
+ end
+ object DataSource1: TDataSource
+ DataSet = FDTable1
+ Left = 296
+ Top = 264
+ end
+end
diff --git "a/\352\271\200\355\230\204\354\262\240/ManageEventForm.pas" "b/\352\271\200\355\230\204\354\262\240/ManageEventForm.pas"
new file mode 100644
index 0000000..7bf2bb0
--- /dev/null
+++ "b/\352\271\200\355\230\204\354\262\240/ManageEventForm.pas"
@@ -0,0 +1,50 @@
+unit ManageEventForm;
+
+interface
+
+uses
+ Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
+ Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, FireDAC.Stan.Intf,
+ FireDAC.Stan.Option, FireDAC.Stan.Param, FireDAC.Stan.Error, FireDAC.DatS,
+ FireDAC.Phys.Intf, FireDAC.DApt.Intf, FireDAC.Stan.Async, FireDAC.DApt,
+ FireDAC.Comp.DataSet, FireDAC.Comp.Client, Vcl.Grids, Vcl.DBGrids,
+ Vcl.DBCtrls, Vcl.ExtCtrls, Vcl.StdCtrls, Vcl.Mask;
+
+type
+ TfrmManageEvent = class(TForm)
+ Panel1: TPanel;
+ DBNavigator1: TDBNavigator;
+ DBGrid1: TDBGrid;
+ Panel2: TPanel;
+ FDTable1: TFDTable;
+ DataSource1: TDataSource;
+ Label1: TLabel;
+ DBEdit1: TDBEdit;
+ procedure FormActivate(Sender: TObject);
+ procedure FormDeactivate(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ frmManageEvent: TfrmManageEvent;
+
+implementation
+
+{$R *.dfm}
+
+uses DataModule;
+
+procedure TfrmManageEvent.FormActivate(Sender: TObject);
+begin
+ FDTable1.Open;
+end;
+
+procedure TfrmManageEvent.FormDeactivate(Sender: TObject);
+begin
+ FDTable1.Close;
+end;
+
+end.
diff --git "a/\352\271\200\355\230\204\354\262\240/MyLib.pas" "b/\352\271\200\355\230\204\354\262\240/MyLib.pas"
new file mode 100644
index 0000000..338d753
--- /dev/null
+++ "b/\352\271\200\355\230\204\354\262\240/MyLib.pas"
@@ -0,0 +1,63 @@
+unit MyLib;
+
+interface
+
+function Convert3TextToDate(var Date: TDate; Year: string; Month: string; Day: string): Boolean;
+
+implementation
+
+uses SysUtils;
+
+{** ³â¿ùÀÏÀÇ ¼¼°³ string¿¡¼ TDate¸¦ ±¸ÇÔ. ¿¹¿Ü󸮿ë
+ @param Date
+ @return À¯È¿ÇÑ ³¯Â¥·Î º¯È¯ÇÒ ¼ö ÀÖ´Ù¸é True ¾Æ´Ï¸é False
+*}
+function Convert3TextToDate(var Date: TDate; Year: string; Month: string; Day: string): Boolean;
+var
+ iYear, iMonth, iDay: Integer;
+begin
+ Date := 0;
+
+ if Year <> '' then
+ begin
+ if not TryStrToInt(Year, iYear) then begin
+ result := False;
+ Exit;
+ end;
+ end else
+ begin
+ result := False;
+ Exit;
+ end;
+
+ if Month <> '' then
+ begin
+ if not TryStrToInt(Month, iMonth) then begin
+ result := False;
+ Exit;
+ end;
+ end else
+ begin
+ result := False;
+ Exit;
+ end;
+
+ if Day <> '' then
+ begin
+ if not TryStrToInt(Day, iDay) then begin
+ result := False;
+ Exit;
+ end;
+ end else
+ begin
+ result := False;
+ Exit;
+ end;
+
+ Date := EncodeDate(iYear, iMonth, iDay);
+ result := True;
+end;
+
+
+
+end.
diff --git "a/\352\271\200\355\230\204\354\262\240/PartnerForm.dfm" "b/\352\271\200\355\230\204\354\262\240/PartnerForm.dfm"
new file mode 100644
index 0000000..bd0e915
--- /dev/null
+++ "b/\352\271\200\355\230\204\354\262\240/PartnerForm.dfm"
@@ -0,0 +1,214 @@
+object frmPartner: TfrmPartner
+ Left = 0
+ Top = 0
+ Caption = 'frmPartner'
+ ClientHeight = 546
+ ClientWidth = 853
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -15
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ OnActivate = FormActivate
+ OnDeactivate = FormDeactivate
+ PixelsPerInch = 96
+ TextHeight = 18
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 853
+ Height = 225
+ Align = alTop
+ TabOrder = 0
+ ExplicitTop = -6
+ object Label1: TLabel
+ Left = 33
+ Top = 32
+ Width = 49
+ Height = 18
+ Caption = #49345#54840#47749' :'
+ end
+ object Label2: TLabel
+ Left = 32
+ Top = 64
+ Width = 49
+ Height = 18
+ Caption = #45824#54364#51088' :'
+ end
+ object Label3: TLabel
+ Left = 33
+ Top = 97
+ Width = 49
+ Height = 18
+ Caption = #50672#46973#52376' :'
+ end
+ object Label4: TLabel
+ Left = 239
+ Top = 95
+ Width = 36
+ Height = 18
+ Caption = 'FAX :'
+ end
+ object Label5: TLabel
+ Left = 438
+ Top = 95
+ Width = 40
+ Height = 18
+ Caption = 'Web :'
+ end
+ object Label6: TLabel
+ Left = 216
+ Top = 64
+ Width = 62
+ Height = 18
+ Caption = #45812#45817#48512#49436' :'
+ end
+ object Label7: TLabel
+ Left = 429
+ Top = 64
+ Width = 49
+ Height = 18
+ Caption = #45812#45817#51088' :'
+ end
+ object DBNavigator1: TDBNavigator
+ Left = 376
+ Top = 176
+ Width = 240
+ Height = 25
+ DataSource = DataSource1
+ TabOrder = 0
+ end
+ object DBEdit1: TDBEdit
+ Left = 88
+ Top = 24
+ Width = 121
+ Height = 26
+ DataField = 'name'
+ DataSource = DataSource1
+ TabOrder = 1
+ end
+ object DBEdit2: TDBEdit
+ Left = 88
+ Top = 56
+ Width = 121
+ Height = 26
+ DataField = 'president'
+ DataSource = DataSource1
+ TabOrder = 2
+ end
+ object DBEdit3: TDBEdit
+ Left = 88
+ Top = 88
+ Width = 121
+ Height = 26
+ DataField = 'phone'
+ DataSource = DataSource1
+ TabOrder = 5
+ end
+ object DBEdit4: TDBEdit
+ Left = 280
+ Top = 88
+ Width = 121
+ Height = 26
+ DataField = 'fax'
+ DataSource = DataSource1
+ TabOrder = 6
+ end
+ object DBEdit5: TDBEdit
+ Left = 480
+ Top = 92
+ Width = 121
+ Height = 26
+ DataField = 'website'
+ DataSource = DataSource1
+ TabOrder = 7
+ end
+ object DBMemo1: TDBMemo
+ Left = 88
+ Top = 121
+ Width = 265
+ Height = 89
+ DataField = 'memo'
+ DataSource = DataSource1
+ TabOrder = 8
+ end
+ object DBEdit6: TDBEdit
+ Left = 280
+ Top = 56
+ Width = 121
+ Height = 26
+ DataField = 'department'
+ DataSource = DataSource1
+ TabOrder = 3
+ end
+ object DBEdit7: TDBEdit
+ Left = 480
+ Top = 56
+ Width = 121
+ Height = 26
+ DataField = 'manager'
+ DataSource = DataSource1
+ TabOrder = 4
+ end
+ end
+ object DBGrid1: TDBGrid
+ Left = 0
+ Top = 225
+ Width = 853
+ Height = 321
+ Align = alClient
+ DataSource = DataSource1
+ Options = [dgEditing, dgAlwaysShowEditor, dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit, dgTitleClick, dgTitleHotTrack]
+ TabOrder = 1
+ TitleFont.Charset = DEFAULT_CHARSET
+ TitleFont.Color = clWindowText
+ TitleFont.Height = -15
+ TitleFont.Name = 'Tahoma'
+ TitleFont.Style = []
+ Columns = <
+ item
+ Expanded = False
+ FieldName = 'name'
+ Width = 182
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'president'
+ Width = 187
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'phone'
+ Width = 120
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'fax'
+ Width = 122
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'website'
+ Visible = True
+ end>
+ end
+ object FDTable1: TFDTable
+ IndexFieldNames = 'serial'
+ Connection = DataModule1.FDConnection1
+ UpdateOptions.UpdateTableName = 'partner'
+ TableName = 'partner'
+ Left = 248
+ Top = 320
+ end
+ object DataSource1: TDataSource
+ DataSet = FDTable1
+ Left = 352
+ Top = 328
+ end
+end
diff --git "a/\352\271\200\355\230\204\354\262\240/PartnerForm.pas" "b/\352\271\200\355\230\204\354\262\240/PartnerForm.pas"
new file mode 100644
index 0000000..a6de2c7
--- /dev/null
+++ "b/\352\271\200\355\230\204\354\262\240/PartnerForm.pas"
@@ -0,0 +1,62 @@
+unit PartnerForm;
+
+interface
+
+uses
+ Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
+ Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, FireDAC.Stan.Intf,
+ FireDAC.Stan.Option, FireDAC.Stan.Param, FireDAC.Stan.Error, FireDAC.DatS,
+ FireDAC.Phys.Intf, FireDAC.DApt.Intf, FireDAC.Stan.Async, FireDAC.DApt,
+ Vcl.StdCtrls, Vcl.DBCtrls, Vcl.Mask, FireDAC.Comp.DataSet,
+ FireDAC.Comp.Client, Vcl.Grids, Vcl.DBGrids, Vcl.ExtCtrls;
+
+type
+ TfrmPartner = class(TForm)
+ Panel1: TPanel;
+ DBGrid1: TDBGrid;
+ DBNavigator1: TDBNavigator;
+ FDTable1: TFDTable;
+ DataSource1: TDataSource;
+ DBEdit1: TDBEdit;
+ DBEdit2: TDBEdit;
+ DBEdit3: TDBEdit;
+ DBEdit4: TDBEdit;
+ DBEdit5: TDBEdit;
+ DBMemo1: TDBMemo;
+ Label1: TLabel;
+ Label2: TLabel;
+ Label3: TLabel;
+ Label4: TLabel;
+ Label5: TLabel;
+ Label6: TLabel;
+ DBEdit6: TDBEdit;
+ Label7: TLabel;
+ DBEdit7: TDBEdit;
+ procedure FormActivate(Sender: TObject);
+ procedure FormDeactivate(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ frmPartner: TfrmPartner;
+
+implementation
+
+{$R *.dfm}
+
+uses DataModule;
+
+procedure TfrmPartner.FormActivate(Sender: TObject);
+begin
+ FDTable1.Open;
+end;
+
+procedure TfrmPartner.FormDeactivate(Sender: TObject);
+begin
+ FDTable1.Close;
+end;
+
+end.
diff --git "a/\352\271\200\355\230\204\354\262\240/SearchForm.dfm" "b/\352\271\200\355\230\204\354\262\240/SearchForm.dfm"
new file mode 100644
index 0000000..c574e01
--- /dev/null
+++ "b/\352\271\200\355\230\204\354\262\240/SearchForm.dfm"
@@ -0,0 +1,81 @@
+object frmSearch: TfrmSearch
+ Left = 0
+ Top = 0
+ Caption = 'frmSearch'
+ ClientHeight = 397
+ ClientWidth = 515
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -15
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ PixelsPerInch = 96
+ TextHeight = 18
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 515
+ Height = 73
+ Align = alTop
+ TabOrder = 0
+ object Label1: TLabel
+ Left = 16
+ Top = 27
+ Width = 54
+ Height = 18
+ Caption = #54665#49324#47749' : '
+ end
+ object Edit1: TEdit
+ Left = 72
+ Top = 24
+ Width = 121
+ Height = 26
+ TabOrder = 0
+ end
+ end
+ object DBGrid1: TDBGrid
+ Left = 0
+ Top = 73
+ Width = 515
+ Height = 324
+ Align = alClient
+ DataSource = DataSource1
+ Options = [dgEditing, dgAlwaysShowEditor, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit, dgTitleClick, dgTitleHotTrack]
+ TabOrder = 1
+ TitleFont.Charset = DEFAULT_CHARSET
+ TitleFont.Color = clWindowText
+ TitleFont.Height = -15
+ TitleFont.Name = 'Tahoma'
+ TitleFont.Style = []
+ OnDblClick = DBGrid1DblClick
+ Columns = <
+ item
+ Expanded = False
+ FieldName = 'name'
+ Visible = True
+ end>
+ end
+ object DataSource1: TDataSource
+ DataSet = FDTablePartner
+ Left = 328
+ Top = 168
+ end
+ object FDTableEvent: TFDTable
+ IndexFieldNames = 'serial'
+ Connection = DataModule1.FDConnection1
+ UpdateOptions.UpdateTableName = 'event_name'
+ TableName = 'event_name'
+ Left = 192
+ Top = 168
+ end
+ object FDTablePartner: TFDTable
+ IndexFieldNames = 'serial'
+ Connection = DataModule1.FDConnection1
+ UpdateOptions.UpdateTableName = 'partner'
+ TableName = 'partner'
+ Left = 192
+ Top = 232
+ end
+end
diff --git "a/\352\271\200\355\230\204\354\262\240/SearchForm.pas" "b/\352\271\200\355\230\204\354\262\240/SearchForm.pas"
new file mode 100644
index 0000000..d66c10e
--- /dev/null
+++ "b/\352\271\200\355\230\204\354\262\240/SearchForm.pas"
@@ -0,0 +1,45 @@
+unit SearchForm;
+
+interface
+
+uses
+ Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
+ Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, FireDAC.Stan.Intf,
+ FireDAC.Stan.Option, FireDAC.Stan.Param, FireDAC.Stan.Error, FireDAC.DatS,
+ FireDAC.Phys.Intf, FireDAC.DApt.Intf, FireDAC.Stan.Async, FireDAC.DApt,
+ FireDAC.Comp.DataSet, FireDAC.Comp.Client, Vcl.StdCtrls, Vcl.Grids,
+ Vcl.DBGrids, Vcl.ExtCtrls;
+
+type
+ TfrmSearch = class(TForm)
+ Panel1: TPanel;
+ DBGrid1: TDBGrid;
+ Label1: TLabel;
+ Edit1: TEdit;
+ DataSource1: TDataSource;
+ FDTableEvent: TFDTable;
+ FDTablePartner: TFDTable;
+ procedure DBGrid1DblClick(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ var SearchResult: string;
+ end;
+
+var
+ frmSearch: TfrmSearch;
+
+implementation
+
+{$R *.dfm}
+
+uses DataModule;
+
+procedure TfrmSearch.DBGrid1DblClick(Sender: TObject);
+begin
+ SearchResult := DataSource1.DataSet.FieldByName('name').AsString;
+ ModalResult := mrOk;
+end;
+
+end.
diff --git "a/\352\271\200\355\230\204\354\262\240/TTMS.dpr" "b/\352\271\200\355\230\204\354\262\240/TTMS.dpr"
index b960a8e..d8e6230 100644
--- "a/\352\271\200\355\230\204\354\262\240/TTMS.dpr"
+++ "b/\352\271\200\355\230\204\354\262\240/TTMS.dpr"
@@ -5,7 +5,13 @@ uses
MainMenu in 'MainMenu.pas' {frmMenu},
EventManager in 'EventManager.pas' {frmEvent},
Manager in 'Manager.pas' {frmManager},
- DataModule in 'DataModule.pas' {DataModule1: TDataModule};
+ DataModule in 'DataModule.pas' {DataModule1: TDataModule},
+ TouristStatusForm in 'TouristStatusForm.pas' {frmTouristStatus},
+ CustomerForm in 'CustomerForm.pas' {frmCustomer},
+ MyLib in 'MyLib.pas',
+ ManageEventForm in 'ManageEventForm.pas' {frmManageEvent},
+ SearchForm in 'SearchForm.pas' {frmSearch},
+ PartnerForm in 'PartnerForm.pas' {frmPartner};
{$R *.res}
@@ -16,5 +22,10 @@ begin
Application.CreateForm(TfrmEvent, frmEvent);
Application.CreateForm(TfrmManager, frmManager);
Application.CreateForm(TDataModule1, DataModule1);
+ Application.CreateForm(TfrmTouristStatus, frmTouristStatus);
+ Application.CreateForm(TfrmCustomer, frmCustomer);
+ Application.CreateForm(TfrmManageEvent, frmManageEvent);
+ Application.CreateForm(TfrmSearch, frmSearch);
+ Application.CreateForm(TfrmPartner, frmPartner);
Application.Run;
end.
diff --git "a/\352\271\200\355\230\204\354\262\240/TTMS.dproj" "b/\352\271\200\355\230\204\354\262\240/TTMS.dproj"
index faf4266..5b6c6a4 100644
--- "a/\352\271\200\355\230\204\354\262\240/TTMS.dproj"
+++ "b/\352\271\200\355\230\204\354\262\240/TTMS.dproj"
@@ -18,11 +18,6 @@
Base
true
-
- true
- Base
- true
-
true
Base
@@ -68,9 +63,6 @@
1033
$(BDS)\bin\default_app.manifest
-
- DBXSqliteDriver;IndyIPCommon;RESTComponents;bindcompdbx;DBXInterBaseDriver;vcl;IndyIPServer;vclactnband;vclFireDAC;IndySystem;tethering;dsnapcon;FireDACADSDriver;FireDACMSAccDriver;fmxFireDAC;vclimg;FireDAC;vcltouch;vcldb;bindcompfmx;FireDACSqliteDriver;FireDACPgDriver;inetdb;soaprtl;DbxCommonDriver;fmx;FireDACIBDriver;fmxdae;xmlrtl;soapmidas;fmxobj;vclwinx;rtl;DbxClientDriver;CustomIPTransport;vcldsnap;dbexpress;IndyCore;vclx;bindcomp;appanalytics;dsnap;FireDACCommon;IndyIPClient;bindcompvcl;RESTBackendComponents;VCLRESTComponents;soapserver;dbxcds;VclSmp;adortl;vclie;bindengine;DBXMySQLDriver;CloudService;dsnapxml;FireDACMySQLDriver;dbrtl;IndyProtocols;inetdbxpress;FireDACCommonODBC;FireDACCommonDriver;inet;fmxase;$(DCC_UsePackage)
-
DEBUG;$(DCC_Define)
true
@@ -115,6 +107,26 @@
dfm
TDataModule
+
+
+ dfm
+
+
+
+
+
+
+
+ dfm
+
+
+
+ dfm
+
+
+
+ dfm
+
Cfg_2
Base
@@ -614,7 +626,6 @@
True
- False
12
diff --git "a/\352\271\200\355\230\204\354\262\240/TTMS_FMX/EventForm.fmx" "b/\352\271\200\355\230\204\354\262\240/TTMS_FMX/EventForm.fmx"
new file mode 100644
index 0000000..41b7973
--- /dev/null
+++ "b/\352\271\200\355\230\204\354\262\240/TTMS_FMX/EventForm.fmx"
@@ -0,0 +1,200 @@
+object Form1: TForm1
+ Left = 336
+ Top = 0
+ Caption = 'Form1'
+ ClientHeight = 600
+ ClientWidth = 538
+ Position = Designed
+ FormFactor.Width = 320
+ FormFactor.Height = 480
+ FormFactor.Devices = [Desktop]
+ Left = 336
+ DesignerMasterStyle = 3
+ object Panel1: TPanel
+ Align = Top
+ Size.Width = 538.000000000000000000
+ Size.Height = 120.000000000000000000
+ Size.PlatformDefault = False
+ TabOrder = 0
+ end
+ object ListView1: TListView
+ ItemAppearanceClassName = 'TListItemRightDetailAppearance'
+ ItemEditAppearanceClassName = 'TListItemRightDetailDeleteAppearance'
+ HeaderAppearanceClassName = 'TListHeaderObjects'
+ FooterAppearanceClassName = 'TListHeaderObjects'
+ ItemIndex = 1
+ Align = Client
+ Size.Width = 538.000000000000000000
+ Size.Height = 480.000000000000000000
+ Size.PlatformDefault = False
+ TabOrder = 1
+ end
+ object FDTable1: TFDTable
+ Active = True
+ IndexFieldNames = 'serial'
+ Connection = FDConnection1
+ UpdateOptions.UpdateTableName = 'event'
+ TableName = 'event'
+ Left = 256
+ Top = 56
+ object FDTable1serial: TStringField
+ FieldName = 'serial'
+ Origin = 'serial'
+ ProviderFlags = [pfInUpdate, pfInWhere, pfInKey]
+ Required = True
+ Size = 11
+ end
+ object FDTable1reservation_date: TDateField
+ FieldName = 'reservation_date'
+ Origin = 'reservation_date'
+ Required = True
+ end
+ object FDTable1process_date: TDateField
+ FieldName = 'process_date'
+ Origin = 'process_date'
+ Required = True
+ end
+ object FDTable1manager_name: TStringField
+ FieldName = 'manager_name'
+ Origin = 'manager_name'
+ Required = True
+ Size = 10
+ end
+ object FDTable1partner_name: TStringField
+ FieldName = 'partner_name'
+ Origin = 'partner_name'
+ Size = 40
+ end
+ object FDTable1event_name: TStringField
+ FieldName = 'event_name'
+ Origin = 'event_name'
+ Required = True
+ Size = 40
+ end
+ object FDTable1event_start_date: TDateField
+ FieldName = 'event_start_date'
+ Origin = 'event_start_date'
+ end
+ object FDTable1event_end_date: TDateField
+ FieldName = 'event_end_date'
+ Origin = 'event_end_date'
+ end
+ object FDTable1night: TIntegerField
+ FieldName = 'night'
+ Origin = 'night'
+ end
+ object FDTable1day: TIntegerField
+ FieldName = 'day'
+ Origin = 'day'
+ end
+ object FDTable1customer_name: TStringField
+ FieldName = 'customer_name'
+ Origin = 'customer_name'
+ end
+ object FDTable1adult_total: TIntegerField
+ FieldName = 'adult_total'
+ Origin = 'adult_total'
+ end
+ object FDTable1child_total: TIntegerField
+ FieldName = 'child_total'
+ Origin = 'child_total'
+ end
+ object FDTable1phone: TStringField
+ FieldName = 'phone'
+ Origin = 'phone'
+ Size = 13
+ end
+ object FDTable1mobile: TStringField
+ FieldName = 'mobile'
+ Origin = 'mobile'
+ Size = 13
+ end
+ object FDTable1start_time: TDateTimeField
+ FieldName = 'start_time'
+ Origin = 'start_time'
+ end
+ object FDTable1start_site: TStringField
+ FieldName = 'start_site'
+ Origin = 'start_site'
+ Size = 30
+ end
+ object FDTable1local_start_time: TDateTimeField
+ FieldName = 'local_start_time'
+ Origin = 'local_start_time'
+ end
+ object FDTable1local_start_site: TStringField
+ FieldName = 'local_start_site'
+ Origin = 'local_start_site'
+ Size = 30
+ end
+ object FDTable1hotel_name: TStringField
+ FieldName = 'hotel_name'
+ Origin = 'hotel_name'
+ Size = 40
+ end
+ object FDTable1room_name: TStringField
+ FieldName = 'room_name'
+ Origin = 'room_name'
+ Size = 10
+ end
+ object FDTable1room_number: TIntegerField
+ FieldName = 'room_number'
+ Origin = 'room_number'
+ end
+ object FDTable1memo: TWideMemoField
+ FieldName = 'memo'
+ Origin = 'memo'
+ BlobType = ftWideMemo
+ end
+ object FDTable1created_at: TSQLTimeStampField
+ FieldName = 'created_at'
+ Origin = 'created_at'
+ Required = True
+ end
+ object FDTable1modified_at: TSQLTimeStampField
+ FieldName = 'modified_at'
+ Origin = 'modified_at'
+ Required = True
+ end
+ end
+ object DataSource1: TDataSource
+ DataSet = FDTable1
+ Left = 464
+ Top = 56
+ end
+ object BindSourceDB1: TBindSourceDB
+ DataSet = FDTable1
+ ScopeMappings = <>
+ Left = 360
+ Top = 56
+ end
+ object BindingsList1: TBindingsList
+ Methods = <>
+ OutputConverters = <>
+ Left = 20
+ Top = 5
+ object LinkListControlToField1: TLinkListControlToField
+ Category = 'Quick Bindings'
+ DataSource = BindSourceDB1
+ FieldName = 'event_name'
+ Control = ListView1
+ FillExpressions = <
+ item
+ SourceMemberName = 'event_start_date'
+ ControlMemberName = 'Detail'
+ end>
+ FillHeaderExpressions = <>
+ FillHeaderFieldName = 'customer_name'
+ FillBreakGroups = <>
+ end
+ end
+ object FDConnection1: TFDConnection
+ Params.Strings = (
+ 'Database=D:\DelphiProject\EduMaster201901\'#44608#54788#52384'\ttms.sdb'
+ 'DriverID=SQLite')
+ Connected = True
+ LoginPrompt = False
+ Left = 144
+ Top = 56
+ end
+end
diff --git "a/\352\271\200\355\230\204\354\262\240/TTMS_FMX/EventForm.pas" "b/\352\271\200\355\230\204\354\262\240/TTMS_FMX/EventForm.pas"
new file mode 100644
index 0000000..be28c78
--- /dev/null
+++ "b/\352\271\200\355\230\204\354\262\240/TTMS_FMX/EventForm.pas"
@@ -0,0 +1,68 @@
+unit EventForm;
+
+interface
+
+uses
+ System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
+ FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
+ FMX.ListView.Types, FMX.ListView.Appearances, FMX.ListView.Adapters.Base,
+ FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Param,
+ FireDAC.Stan.Error, FireDAC.DatS, FireDAC.Phys.Intf, FireDAC.DApt.Intf,
+ FireDAC.Stan.Async, FireDAC.DApt, Data.DB, FireDAC.Comp.DataSet,
+ FireDAC.Comp.Client, FMX.ListView, FMX.Controls.Presentation, FMX.StdCtrls,
+ System.Rtti, System.Bindings.Outputs, Fmx.Bind.Editors, Data.Bind.EngExt,
+ Fmx.Bind.DBEngExt, Data.Bind.Components, Data.Bind.DBScope, FireDAC.UI.Intf,
+ FireDAC.Stan.Def, FireDAC.Stan.Pool, FireDAC.Phys, FireDAC.Phys.SQLite,
+ FireDAC.Phys.SQLiteDef, FireDAC.Stan.ExprFuncs, FireDAC.FMXUI.Wait, FMX.Edit;
+
+type
+ TForm1 = class(TForm)
+ Panel1: TPanel;
+ ListView1: TListView;
+ FDTable1: TFDTable;
+ DataSource1: TDataSource;
+ BindSourceDB1: TBindSourceDB;
+ BindingsList1: TBindingsList;
+ LinkListControlToField1: TLinkListControlToField;
+ FDTable1serial: TStringField;
+ FDTable1reservation_date: TDateField;
+ FDTable1process_date: TDateField;
+ FDTable1manager_name: TStringField;
+ FDTable1partner_name: TStringField;
+ FDTable1event_name: TStringField;
+ FDTable1event_start_date: TDateField;
+ FDTable1event_end_date: TDateField;
+ FDTable1night: TIntegerField;
+ FDTable1day: TIntegerField;
+ FDTable1customer_name: TStringField;
+ FDTable1adult_total: TIntegerField;
+ FDTable1child_total: TIntegerField;
+ FDTable1phone: TStringField;
+ FDTable1mobile: TStringField;
+ FDTable1start_time: TDateTimeField;
+ FDTable1start_site: TStringField;
+ FDTable1local_start_time: TDateTimeField;
+ FDTable1local_start_site: TStringField;
+ FDTable1hotel_name: TStringField;
+ FDTable1room_name: TStringField;
+ FDTable1room_number: TIntegerField;
+ FDTable1memo: TWideMemoField;
+ FDTable1created_at: TSQLTimeStampField;
+ FDTable1modified_at: TSQLTimeStampField;
+ FDConnection1: TFDConnection;
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+{$R *.fmx}
+
+uses DataModule;
+
+end.
diff --git "a/\352\271\200\355\230\204\354\262\240/TTMS_FMX/TTMS_FMX.dpr" "b/\352\271\200\355\230\204\354\262\240/TTMS_FMX/TTMS_FMX.dpr"
new file mode 100644
index 0000000..91fda5a
--- /dev/null
+++ "b/\352\271\200\355\230\204\354\262\240/TTMS_FMX/TTMS_FMX.dpr"
@@ -0,0 +1,16 @@
+program TTMS_FMX;
+
+uses
+ System.StartUpCopy,
+ FMX.Forms,
+ EventForm in 'EventForm.pas' {Form1},
+ DataModule in 'DataModule.pas' {DataModule1: TDataModule};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.CreateForm(TDataModule1, DataModule1);
+ Application.Run;
+end.
diff --git "a/\352\271\200\355\230\204\354\262\240/TTMS_FMX/TTMS_FMX.dproj" "b/\352\271\200\355\230\204\354\262\240/TTMS_FMX/TTMS_FMX.dproj"
new file mode 100644
index 0000000..7a2ed22
--- /dev/null
+++ "b/\352\271\200\355\230\204\354\262\240/TTMS_FMX/TTMS_FMX.dproj"
@@ -0,0 +1,965 @@
+
+
+ {269C2642-38EB-4ACA-B443-D0552A8720DF}
+ 18.5
+ FMX
+ TTMS_FMX.dpr
+ True
+ Debug
+ Win32
+ 1119
+ Application
+
+
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Cfg_1
+ true
+ true
+
+
+ true
+ Cfg_1
+ true
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Cfg_2
+ true
+ true
+
+
+ true
+ Cfg_2
+ true
+ true
+
+
+ .\$(Platform)\$(Config)
+ .\$(Platform)\$(Config)
+ false
+ false
+ false
+ false
+ false
+ System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace)
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ $(BDS)\bin\delphi_PROJECTICON.ico
+ $(BDS)\bin\delphi_PROJECTICNS.icns
+ TTMS_FMX
+
+
+ DBXSqliteDriver;IndyIPCommon;RESTComponents;bindcompdbx;DBXInterBaseDriver;IndyIPServer;IndySystem;tethering;fmxFireDAC;FireDAC;bindcompfmx;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;FmxTeeUI;ibxpress;fmx;FireDACIBDriver;xmlrtl;soapmidas;ibxbindings;rtl;DbxClientDriver;CustomIPTransport;dbexpress;IndyCore;bindcomp;dsnap;FireDACCommon;IndyIPClient;RESTBackendComponents;soapserver;dbxcds;bindengine;CloudService;dsnapxml;dbrtl;IndyProtocols;FireDACCommonDriver;inet;$(DCC_UsePackage)
+ package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey=
+ Debug
+ true
+ $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png
+ $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png
+ $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png
+ $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png
+ $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png
+ $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png
+ $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png
+ $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png
+ $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png
+ android-support-v4.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services-ads-7.0.0.dex.jar;google-play-services-analytics-7.0.0.dex.jar;google-play-services-base-7.0.0.dex.jar;google-play-services-gcm-7.0.0.dex.jar;google-play-services-identity-7.0.0.dex.jar;google-play-services-maps-7.0.0.dex.jar;google-play-services-panorama-7.0.0.dex.jar;google-play-services-plus-7.0.0.dex.jar;google-play-services-wallet-7.0.0.dex.jar
+
+
+ DBXSqliteDriver;IndyIPCommon;RESTComponents;bindcompdbx;DBXInterBaseDriver;IndyIPServer;IndySystem;tethering;fmxFireDAC;FireDAC;bindcompfmx;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;FmxTeeUI;ibxpress;fmx;FireDACIBDriver;xmlrtl;soapmidas;ibxbindings;rtl;DbxClientDriver;CustomIPTransport;dbexpress;IndyCore;bindcomp;dsnap;FireDACCommon;IndyIPClient;RESTBackendComponents;soapserver;dbxcds;bindengine;CloudService;dsnapxml;dbrtl;IndyProtocols;FireDACCommonDriver;inet;fmxase;$(DCC_UsePackage)
+ CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;CFBundleResourceSpecification=ResourceRules.plist;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;FMLocalNotificationPermission=false;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSPhotoLibraryAddUsageDescription=The reason for adding to the photo library;NSCameraUsageDescription=The reason for accessing the camera;NSFaceIDUsageDescription=The reason for accessing the face id;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSSiriUsageDescription=The reason for accessing Siri
+ iPhoneAndiPad
+ true
+ Debug
+ $(MSBuildProjectName)
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_57x57.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_60x60.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_87x87.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_114x114.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_180x180.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_320x480.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_640x960.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_640x1136.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_750x1334.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1242x2208.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2208x1242.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1125x2436.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2436x1125.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_29x29.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_40x40.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_58x58.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_72x72.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_76x76.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_144x144.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_768x1004.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_768x1024.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_1024x748.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_1024x768.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1536x2008.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1536x2048.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2048x1496.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2048x1536.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_40x40.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_50x50.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_100x100.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_29x29.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png
+
+
+ DBXSqliteDriver;IndyIPCommon;RESTComponents;bindcompdbx;DBXInterBaseDriver;IndyIPServer;IndySystem;tethering;fmxFireDAC;FireDAC;bindcompfmx;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;FmxTeeUI;ibxpress;fmx;FireDACIBDriver;xmlrtl;soapmidas;ibxbindings;rtl;DbxClientDriver;CustomIPTransport;dbexpress;IndyCore;bindcomp;dsnap;FireDACCommon;IndyIPClient;RESTBackendComponents;soapserver;dbxcds;bindengine;CloudService;dsnapxml;dbrtl;IndyProtocols;FireDACCommonDriver;inet;fmxase;$(DCC_UsePackage)
+ CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;CFBundleResourceSpecification=ResourceRules.plist;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;FMLocalNotificationPermission=false;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSPhotoLibraryAddUsageDescription=The reason for adding to the photo library;NSCameraUsageDescription=The reason for accessing the camera;NSFaceIDUsageDescription=The reason for accessing the face id;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSSiriUsageDescription=The reason for accessing Siri
+ iPhoneAndiPad
+ true
+ Debug
+ $(MSBuildProjectName)
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_57x57.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_60x60.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_87x87.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_114x114.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_180x180.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_320x480.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_640x960.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_640x1136.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_750x1334.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1242x2208.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2208x1242.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1125x2436.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2436x1125.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_29x29.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_40x40.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_58x58.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_72x72.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_76x76.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_144x144.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_768x1004.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_768x1024.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_1024x748.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_1024x768.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1536x2008.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1536x2048.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2048x1496.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2048x1536.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_40x40.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_50x50.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_100x100.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_29x29.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png
+
+
+ DBXSqliteDriver;IndyIPCommon;RESTComponents;bindcompdbx;DBXInterBaseDriver;IndyIPServer;IndySystem;tethering;fmxFireDAC;FireDAC;bindcompfmx;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;FmxTeeUI;ibxpress;fmx;FireDACIBDriver;xmlrtl;soapmidas;ibxbindings;rtl;DbxClientDriver;CustomIPTransport;dbexpress;IndyCore;bindcomp;dsnap;FireDACCommon;IndyIPClient;RESTBackendComponents;soapserver;dbxcds;bindengine;CloudService;dsnapxml;dbrtl;IndyProtocols;FireDACCommonDriver;inet;fmxase;$(DCC_UsePackage)
+ CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;CFBundleResourceSpecification=ResourceRules.plist;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;FMLocalNotificationPermission=false;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSPhotoLibraryAddUsageDescription=The reason for adding to the photo library;NSCameraUsageDescription=The reason for accessing the camera;NSFaceIDUsageDescription=The reason for accessing the face id;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSSiriUsageDescription=The reason for accessing Siri
+ iPhoneAndiPad
+ true
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_57x57.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_60x60.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_87x87.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_114x114.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_180x180.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_320x480.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_640x960.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_640x1136.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_750x1334.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1242x2208.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2208x1242.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1125x2436.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2436x1125.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_29x29.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_40x40.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_58x58.png
+ $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_72x72.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_76x76.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_144x144.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_768x1004.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_768x1024.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_1024x748.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_1024x768.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1536x2008.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1536x2048.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2048x1496.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2048x1536.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_40x40.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_50x50.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_100x100.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_29x29.png
+ $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png
+
+
+ DBXSqliteDriver;IndyIPCommon;RESTComponents;bindcompdbx;DBXInterBaseDriver;IndyIPServer;IndySystem;tethering;fmxFireDAC;FireDAC;bindcompfmx;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;inetdb;FMXTee;soaprtl;DbxCommonDriver;FmxTeeUI;ibxpress;fmx;FireDACIBDriver;fmxdae;xmlrtl;soapmidas;ibxbindings;fmxobj;rtl;DbxClientDriver;CustomIPTransport;dbexpress;IndyCore;bindcomp;dsnap;FireDACCommon;IndyIPClient;RESTBackendComponents;soapserver;dbxcds;bindengine;DBXMySQLDriver;CloudService;dsnapxml;FireDACMySQLDriver;dbrtl;IndyProtocols;inetdbxpress;FireDACCommonODBC;FireDACCommonDriver;inet;fmxase;$(DCC_UsePackage)
+ CFBundleName=$(MSBuildProjectName);CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);NSHighResolutionCapable=true;LSApplicationCategoryType=public.app-category.utilities;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;NSContactsUsageDescription=The reason for accessing the contacts
+ Debug
+ true
+
+
+ DBXSqliteDriver;IndyIPCommon;RESTComponents;bindcompdbx;DBXInterBaseDriver;vcl;IndyIPServer;vclactnband;vclFireDAC;IndySystem;tethering;svnui;dsnapcon;FireDACADSDriver;FireDACMSAccDriver;fmxFireDAC;vclimg;TeeDB;FireDAC;vcltouch;vcldb;bindcompfmx;svn;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;inetdb;FMXTee;soaprtl;DbxCommonDriver;FmxTeeUI;ibxpress;fmx;FireDACIBDriver;fmxdae;xmlrtl;soapmidas;ibxbindings;fmxobj;vclwinx;vclib;rtl;Tee;DbxClientDriver;CustomIPTransport;vcldsnap;dbexpress;IndyCore;vclx;bindcomp;appanalytics;dsnap;FireDACCommon;IndyIPClient;bindcompvcl;RESTBackendComponents;TeeUI;VCLRESTComponents;soapserver;dbxcds;VclSmp;adortl;vclie;bindengine;DBXMySQLDriver;CloudService;dsnapxml;FireDACMySQLDriver;dbrtl;IndyProtocols;inetdbxpress;FireDACCommonODBC;FireDACCommonDriver;inet;fmxase;$(DCC_UsePackage)
+ Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)
+ Debug
+ true
+ CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=
+ 1033
+ $(BDS)\bin\default_app.manifest
+ $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png
+ $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png
+
+
+ DBXSqliteDriver;IndyIPCommon;RESTComponents;bindcompdbx;DBXInterBaseDriver;vcl;IndyIPServer;vclactnband;vclFireDAC;IndySystem;tethering;dsnapcon;FireDACADSDriver;FireDACMSAccDriver;fmxFireDAC;vclimg;TeeDB;FireDAC;vcltouch;vcldb;bindcompfmx;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;inetdb;FMXTee;soaprtl;DbxCommonDriver;FmxTeeUI;ibxpress;fmx;FireDACIBDriver;fmxdae;xmlrtl;soapmidas;ibxbindings;fmxobj;vclwinx;vclib;rtl;Tee;DbxClientDriver;CustomIPTransport;vcldsnap;dbexpress;IndyCore;vclx;bindcomp;appanalytics;dsnap;FireDACCommon;IndyIPClient;bindcompvcl;RESTBackendComponents;TeeUI;VCLRESTComponents;soapserver;dbxcds;VclSmp;adortl;vclie;bindengine;DBXMySQLDriver;CloudService;dsnapxml;FireDACMySQLDriver;dbrtl;IndyProtocols;inetdbxpress;FireDACCommonODBC;FireDACCommonDriver;inet;fmxase;$(DCC_UsePackage)
+ Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace)
+ Debug
+ true
+ CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=
+ 1033
+ $(BDS)\bin\default_app.manifest
+ $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png
+ $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png
+
+
+ DEBUG;$(DCC_Define)
+ true
+ false
+ true
+ true
+ true
+
+
+ false
+ true
+ PerMonitorV2
+
+
+ true
+ PerMonitorV2
+
+
+ false
+ RELEASE;$(DCC_Define)
+ 0
+ 0
+
+
+ true
+ PerMonitorV2
+
+
+ true
+ PerMonitorV2
+
+
+
+ MainSource
+
+
+
+ fmx
+
+
+
+ dfm
+ TDataModule
+
+
+ Cfg_2
+ Base
+
+
+ Base
+
+
+ Cfg_1
+ Base
+
+
+
+ Delphi.Personality.12
+ Application
+
+
+
+ TTMS_FMX.dpr
+
+
+
+
+
+ ic_launcher.png
+ true
+
+
+
+
+ true
+
+
+
+
+ libTTMS_FMX.so
+ true
+
+
+
+
+ ic_launcher.png
+ true
+
+
+
+
+ true
+
+
+
+
+ true
+
+
+
+
+ true
+
+
+
+
+ TTMS_FMX.exe
+ true
+
+
+
+
+ libTTMS_FMX.so
+ true
+
+
+
+
+ ic_launcher.png
+ true
+
+
+
+
+ splash_image.png
+ true
+
+
+
+
+ true
+
+
+
+
+ ic_launcher.png
+ true
+
+
+
+
+ splash_image.png
+ true
+
+
+
+
+ splash_image.png
+ true
+
+
+
+
+ splash_image.png
+ true
+
+
+
+
+ ic_launcher.png
+ true
+
+
+
+
+ true
+
+
+
+
+ libTTMS_FMX.so
+ true
+
+
+
+
+ true
+
+
+
+
+ styles.xml
+ true
+
+
+
+
+ true
+
+
+
+
+ true
+
+
+
+
+ classes.dex
+ true
+
+
+
+
+ 1
+
+
+ Contents\MacOS
+ 1
+
+
+ 0
+
+
+
+
+ classes
+ 1
+
+
+
+
+ res\xml
+ 1
+
+
+
+
+ library\lib\armeabi-v7a
+ 1
+
+
+
+
+ library\lib\armeabi
+ 1
+
+
+
+
+ library\lib\mips
+ 1
+
+
+
+
+ library\lib\armeabi-v7a
+ 1
+
+
+
+
+ res\drawable
+ 1
+
+
+
+
+ res\values
+ 1
+
+
+
+
+ res\values-v21
+ 1
+
+
+
+
+ res\drawable
+ 1
+
+
+
+
+ res\drawable-xxhdpi
+ 1
+
+
+
+
+ res\drawable-ldpi
+ 1
+
+
+
+
+ res\drawable-mdpi
+ 1
+
+
+
+
+ res\drawable-hdpi
+ 1
+
+
+
+
+ res\drawable-xhdpi
+ 1
+
+
+
+
+ res\drawable-small
+ 1
+
+
+
+
+ res\drawable-normal
+ 1
+
+
+
+
+ res\drawable-large
+ 1
+
+
+
+
+ res\drawable-xlarge
+ 1
+
+
+
+
+ 1
+
+
+ Contents\MacOS
+ 1
+
+
+ 0
+
+
+
+
+ Contents\MacOS
+ 1
+ .framework
+
+
+ Contents\MacOS
+ 1
+ .framework
+
+
+ 0
+
+
+
+
+ 1
+ .dylib
+
+
+ 1
+ .dylib
+
+
+ 1
+ .dylib
+
+
+ Contents\MacOS
+ 1
+ .dylib
+
+
+ Contents\MacOS
+ 1
+ .dylib
+
+
+ 0
+ .dll;.bpl
+
+
+
+
+ 1
+ .dylib
+
+
+ 1
+ .dylib
+
+
+ 1
+ .dylib
+
+
+ Contents\MacOS
+ 1
+ .dylib
+
+
+ Contents\MacOS
+ 1
+ .dylib
+
+
+ 0
+ .bpl
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ Contents\Resources\StartUp\
+ 0
+
+
+ Contents\Resources\StartUp\
+ 0
+
+
+ 0
+
+
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
+ 1
+
+
+ ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
+ 1
+
+
+
+
+ 1
+
+
+ 1
+
+
+
+
+ ..\
+ 1
+
+
+ ..\
+ 1
+
+
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+ ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
+ 1
+
+
+
+
+ ..\
+ 1
+
+
+ ..\
+ 1
+
+
+
+
+ Contents
+ 1
+
+
+ Contents
+ 1
+
+
+
+
+ Contents\Resources
+ 1
+
+
+ Contents\Resources
+ 1
+
+
+
+
+ library\lib\armeabi-v7a
+ 1
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+ Contents\MacOS
+ 1
+
+
+ Contents\MacOS
+ 1
+
+
+ 0
+
+
+
+
+ 1
+
+
+ 1
+
+
+
+
+ Assets
+ 1
+
+
+ Assets
+ 1
+
+
+
+
+ Assets
+ 1
+
+
+ Assets
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+ 12
+
+
+
+
+
diff --git "a/\352\271\200\355\230\204\354\262\240/ttms.sdb" "b/\352\271\200\355\230\204\354\262\240/ttms.sdb"
index 356d0c3..2ee3807 100644
Binary files "a/\352\271\200\355\230\204\354\262\240/ttms.sdb" and "b/\352\271\200\355\230\204\354\262\240/ttms.sdb" differ