diff --git a/20_Task/M1/10_Variable/VariableForm.pas b/20_Task/M1/10_Variable/VariableForm.pas
index ce9d2fe..e5c5af4 100644
--- a/20_Task/M1/10_Variable/VariableForm.pas
+++ b/20_Task/M1/10_Variable/VariableForm.pas
@@ -2,6 +2,8 @@
interface
+// ±êÇãºê Å×½ºÆ®
+
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
@@ -18,7 +20,7 @@ TForm1 = class(TForm)
// ÀÌ Æû(À¯´Ö)¿¡¼¸¸ »ç¿ëÇÏ´Â º¯¼ö¿Í ÇÔ¼ö¸¦ ¼±¾ð
{ TODO : (1) Á¤¼ö Çü FSum º¯¼ö¸¦ ¼±¾ðÇϼ¼¿ä. }
-
+ Fsum : integer;
function AddNum(ANum: Integer): Integer;
public
// ´Ù¸¥ À¯´Ö¿¡¼ ÂüÁ¶ÇÒ ¼ö ÀÖ´Â º¯¼ö¿Í ÇÔ¼ö ¼±¾ð
@@ -36,7 +38,8 @@ function TForm1.AddNum(ANum: Integer): Integer;
{ TODO :
(2) FSum º¯¼ö¿¡ ÆÄ¶ó¸ÞÅÍ ANum °ªÀ» ´õÇÕ´Ï´Ù.
FSum º¯¼ö ¹Ýȯ }
- Result := 0;
+ Fsum := Fsum + ANum;
+ Result := Fsum;
end;
procedure TForm1.Button1Click(Sender: TObject);
diff --git a/20_Task/M1/20_Function/FunctionForm.pas b/20_Task/M1/20_Function/FunctionForm.pas
index f9f7a4d..4dc111b 100644
--- a/20_Task/M1/20_Function/FunctionForm.pas
+++ b/20_Task/M1/20_Function/FunctionForm.pas
@@ -32,6 +32,7 @@ TForm2 = class(TForm)
¹Ýȯ°ª: ¹®ÀÚ¿(¸Þ½ÃÁö)
(2-2) ÇÔ¼ö ¼±¾ð ÈÄ Ctrl + Shift + C¸¦ ´·¯ ±¸ÇöºÎ »ý¼º
}
+ function GetUserInfoMsg(AName : string; AAge : Integer; Isman : Boolean) : string;
public
// ´Ù¸¥ À¯´Ö¿¡¼ ÂüÁ¶ÇÒ ¼ö ÀÖ´Â º¯¼ö¿Í ÇÔ¼ö ¼±¾ð
end;
@@ -53,6 +54,24 @@ function TForm2.GetNameMsg(AName: string): string;
Result := Msg;
end;
+function TForm2.GetUserInfoMsg(AName: string; AAge: Integer; Isman: Boolean): string;
+var
+ Msg, Sex : string;
+begin
+ Msg := GetNameMsg(AName);
+ Msg := Msg + #13#10;
+ Msg := GetAgeMsg(AName, AAge);
+ Msg := Msg + #13#10;
+
+ if Isman = true then
+ Sex := '³²ÀÚ'
+ else
+ Sex := '¿©ÀÚ';
+
+ Msg := Msg + AName + '´ÔÀº ' + Sex + 'ÀÔ´Ï´Ù.';
+ Result := Msg;
+end;
+
function TForm2.GetAgeMsg(AName: string; AAge: Integer): string;
var
Msg, Adult: string;
@@ -66,7 +85,12 @@ function TForm2.GetAgeMsg(AName: string; AAge: Integer): string;
¹®ÀÚ¿°ú º¯¼ö¸¦ Á¶ÇÕ(´õÇϱâ) Çϼ¼¿ä.
Á¤¼ö´Â ¹®ÀÚ·Î º¯È¯(IntToStr)Çϼ¼¿ä.
}
+ if AAge >= 20 then
+ Adult := '¼ºÀÎ'
+ else
+ Adult := '¹Ì¼º³â';
+ Msg := Msg + Aname + '´ÔÀº ' + IntToStr(AAge) + '¼¼·Î ' + Adult + 'ÀÔ´Ï´Ù.';
Result := Msg;
end;
@@ -109,7 +133,7 @@ procedure TForm2.Button3Click(Sender: TObject);
¹ÝȯÇÏ´Â ÇÔ¼ö(GetUserInfoMsg)¸¦ ÀÛ¼ºÇϼ¼¿ä
Msg := GetUserInfoMsg(Name, Age, IsMan);
}
-
+ Msg := GetUserInfoMsg(Name, Age, IsMan);
ShowMessage(Msg);
end;
diff --git a/20_Task/M1/30_Array/ArrayForm.pas b/20_Task/M1/30_Array/ArrayForm.pas
index c495570..1bed60c 100644
--- a/20_Task/M1/30_Array/ArrayForm.pas
+++ b/20_Task/M1/30_Array/ArrayForm.pas
@@ -64,6 +64,10 @@ procedure TForm3.Button1Click(Sender: TObject);
(1) for ¹®À» ÀÌ¿ëÇØ ¹è¿ÀÇ ³»¿ëÀ» Ãâ·ÂÇϼ¼¿ä.
¹è¿ÀÇ Å©±â º¯°æµÇµµ µ¿ÀÛÇϵµ·Ï ¹Ýº¹ÀÇ ³¡Àº Length(FNumArr) - 1·Î ¼³Á¤
¿¹> for I := 0 to Length(FNumArr) - 1 do }
+ for I := 0 to 9 do
+ begin
+ Memo1.Lines.Add('- ' + IntToStr(FNumArr[I]));
+ end;
Memo1.Lines.Add('¹è¿ÀÇ ÇÕÀº ' + IntToStr(Sum) + ' ÀÔ´Ï´Ù.');
Memo1.Lines.Add('¹è¿ÀÇ ÃÖ´ë°ªÀº ' + IntToStr(MaxNum) + ' ÀÔ´Ï´Ù.');
@@ -75,6 +79,10 @@ function TForm3.GetArraySum: Integer;
begin
Sum := 0;
{ TODO : (2) for ¹®À» ÀÌ¿ëÇØ ¹è¿ÀÇ °ªÀ» ¸ðµÎ ´õÇØ ¹ÝȯÇϵµ·Ï ±¸Çö }
+ for I := 0 to 9 do
+ begin
+ Sum := Sum + FNumArr[I];
+ end;
Result := Sum;
end;
@@ -87,6 +95,9 @@ function TForm3.GetArrayMaxNum: Integer;
{ TODO :
(3) for ¹®À» ÀÌ¿ëÇØ ¹è¿ÀÇ °ª Áß °¡Àå Å« °ªÀ» ¹ÝȯÇϵµ·Ï ±¸Çö
if ¹®À» ÀÌ¿ëÇØ ¼ýÀÚ¸¦ ºñ±³ }
+ for I := 0 to 9 do
+ if MaxNum < FNumArr[I] then
+ MaxNum := FNumArr[I];
Result := MaxNum;
end;
@@ -103,6 +114,13 @@ procedure TForm3.Button2Click(Sender: TObject);
50 ÀÌ»ó(>=)ÀÎ °æ¿ì CountOver 1 Áõ°¡
50 ¹Ì¸¸(<)ÀÎ °æ¿ì CountUnder 1 Áõ°¡ Çϵµ·Ï ±¸Çö
}
+ for I := 0 to 9 do
+ begin
+ if FNumArr[I] >= 50 then
+ Inc(CountOver)
+ else
+ Inc(CountUnder)
+ end;
Memo1.Lines.Add('50 ÀÌ»óÀÎ ¼öÀÇ °¹¼ö: ' + IntToStr(CountOver));
Memo1.Lines.Add('50 ¹Ì¸¸ÀÎ ¼öÀÇ °¹¼ö: ' + IntToStr(CountUnder));
diff --git a/20_Task/M2/Meawinthebox/Cal.dfm b/20_Task/M2/Meawinthebox/Cal.dfm
new file mode 100644
index 0000000..8bb4766
--- /dev/null
+++ b/20_Task/M2/Meawinthebox/Cal.dfm
@@ -0,0 +1,304 @@
+object Form1: TForm1
+ Left = 0
+ Top = 0
+ Caption = 'Form1'
+ ClientHeight = 272
+ ClientWidth = 214
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ OnActivate = FormActivate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Label1: TLabel
+ Left = 96
+ Top = 0
+ Width = 34
+ Height = 23
+ Caption = #50672#49328
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -19
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ end
+ object Label2: TLabel
+ Left = 110
+ Top = 29
+ Width = 14
+ Height = 23
+ Caption = '='
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -19
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ end
+ object Button1: TButton
+ Left = 0
+ Top = 168
+ Width = 49
+ Height = 49
+ Caption = '1'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -19
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 0
+ OnClick = Button1Click
+ end
+ object Button2: TButton
+ Left = 55
+ Top = 168
+ Width = 49
+ Height = 49
+ Caption = '2'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -19
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 1
+ OnClick = Button2Click
+ end
+ object Button3: TButton
+ Left = 110
+ Top = 168
+ Width = 49
+ Height = 49
+ Caption = '3'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -19
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 2
+ OnClick = Button3Click
+ end
+ object Button4: TButton
+ Left = 0
+ Top = 113
+ Width = 49
+ Height = 49
+ Caption = '4'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -19
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 3
+ OnClick = Button4Click
+ end
+ object Button5: TButton
+ Left = 55
+ Top = 113
+ Width = 49
+ Height = 49
+ Caption = '5'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -19
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 4
+ OnClick = Button5Click
+ end
+ object Button6: TButton
+ Left = 110
+ Top = 113
+ Width = 49
+ Height = 49
+ Caption = '6'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -19
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 5
+ OnClick = Button6Click
+ end
+ object Button7: TButton
+ Left = 0
+ Top = 58
+ Width = 49
+ Height = 49
+ Caption = '7'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -19
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 6
+ OnClick = Button7Click
+ end
+ object Button8: TButton
+ Left = 55
+ Top = 58
+ Width = 49
+ Height = 49
+ Caption = '8'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -19
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 7
+ OnClick = Button8Click
+ end
+ object Button9: TButton
+ Left = 110
+ Top = 58
+ Width = 49
+ Height = 49
+ Caption = '9'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -19
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 8
+ OnClick = Button9Click
+ end
+ object Button10: TButton
+ Left = 55
+ Top = 223
+ Width = 49
+ Height = 49
+ Caption = '0'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -19
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 9
+ OnClick = Button10Click
+ end
+ object Button11: TButton
+ Left = 110
+ Top = 223
+ Width = 49
+ Height = 49
+ Caption = '='
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -19
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 10
+ OnClick = Button11Click
+ end
+ object Button12: TButton
+ Left = 0
+ Top = 223
+ Width = 49
+ Height = 49
+ Caption = 'C'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -19
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 11
+ OnClick = Button12Click
+ end
+ object Button13: TButton
+ Left = 165
+ Top = 58
+ Width = 49
+ Height = 49
+ Caption = '+'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -19
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 12
+ OnClick = Button13Click
+ end
+ object Button14: TButton
+ Left = 165
+ Top = 113
+ Width = 49
+ Height = 49
+ Caption = '-'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -19
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 13
+ OnClick = Button14Click
+ end
+ object Button15: TButton
+ Left = 165
+ Top = 168
+ Width = 49
+ Height = 49
+ Caption = '*'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -19
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 14
+ OnClick = Button15Click
+ end
+ object Button16: TButton
+ Left = 165
+ Top = 223
+ Width = 49
+ Height = 49
+ Caption = '/'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -19
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 15
+ OnClick = Button16Click
+ end
+ object Edit1: TEdit
+ Left = 0
+ Top = 2
+ Width = 81
+ Height = 21
+ TabOrder = 16
+ end
+ object Edit2: TEdit
+ Left = 136
+ Top = 2
+ Width = 78
+ Height = 21
+ TabOrder = 17
+ end
+ object Edit3: TEdit
+ Left = 136
+ Top = 31
+ Width = 78
+ Height = 21
+ TabOrder = 18
+ end
+end
diff --git a/20_Task/M2/Meawinthebox/Cal.pas b/20_Task/M2/Meawinthebox/Cal.pas
new file mode 100644
index 0000000..f0dc90d
--- /dev/null
+++ b/20_Task/M2/Meawinthebox/Cal.pas
@@ -0,0 +1,198 @@
+unit Cal;
+
+interface
+
+uses
+ Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
+ Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
+
+type
+ TForm1 = class(TForm)
+ Button1: TButton;
+ Button2: TButton;
+ Button3: TButton;
+ Button4: TButton;
+ Button5: TButton;
+ Button6: TButton;
+ Button7: TButton;
+ Button8: TButton;
+ Button9: TButton;
+ Button10: TButton;
+ Button11: TButton;
+ Button12: TButton;
+ Button13: TButton;
+ Button14: TButton;
+ Button15: TButton;
+ Button16: TButton;
+ Edit1: TEdit;
+ Edit2: TEdit;
+ Edit3: TEdit;
+ Label1: TLabel;
+ Label2: TLabel;
+ procedure Button1Click(Sender: TObject);
+ procedure Button2Click(Sender: TObject);
+ procedure Button3Click(Sender: TObject);
+ procedure Button4Click(Sender: TObject);
+ procedure Button5Click(Sender: TObject);
+ procedure Button6Click(Sender: TObject);
+ procedure Button7Click(Sender: TObject);
+ procedure Button8Click(Sender: TObject);
+ procedure Button9Click(Sender: TObject);
+ procedure Button10Click(Sender: TObject);
+ procedure Button11Click(Sender: TObject);
+ procedure Button12Click(Sender: TObject);
+ procedure Button13Click(Sender: TObject);
+ procedure Button15Click(Sender: TObject);
+ procedure Button14Click(Sender: TObject);
+ procedure Button16Click(Sender: TObject);
+ procedure FormActivate(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+ OP : Char;
+
+implementation
+
+{$R *.dfm}
+
+procedure TForm1.Button10Click(Sender: TObject);
+begin
+ if op = '@' then
+ Edit1.Text := Edit1.Text + '0'
+ else Edit2.Text := Edit2.Text + '0';
+end;
+
+procedure TForm1.Button11Click(Sender: TObject);
+var
+ ans : single;
+begin
+ if(Edit1.Text = '') or (Edit2.Text = '') then
+ ShowMessage('ÀڷḦ ¸ðµÎ ÀÔ·ÂÇϽŠÈÄ »ç¿ëÇϼ¼¿ä!')
+ else
+ begin
+ Try
+ case op of
+ '+': ans := StrToFloat(Edit1.Text) + StrToFloat(Edit2.Text);
+ '-': ans := StrToFloat(Edit1.Text) * StrToFloat(Edit2.Text);
+ '*': ans := StrToFloat(Edit1.Text) * StrToFloat(Edit2.Text);
+ '/': ans := StrToFloat(Edit1.Text) * StrToFloat(Edit2.Text);
+ end;
+ Except
+ on E:EMathError Do
+ ShowMessage(E.Message);
+ End;
+ Edit3.Text := FloatToStr(ans);
+ end;
+end;
+
+procedure TForm1.Button12Click(Sender: TObject);
+begin
+ Edit1.Text := '';
+ Edit2.Text := '';
+ Edit3.Text := '';
+ op := '@';
+ Edit1.SetFocus;
+end;
+
+procedure TForm1.Button13Click(Sender: TObject);
+begin
+ op := '+';
+ label1.Caption := op;
+ Edit2.SetFocus;
+end;
+
+procedure TForm1.Button14Click(Sender: TObject);
+begin
+ op := '-';
+ label1.Caption := op;
+ Edit2.SetFocus;
+end;
+
+procedure TForm1.Button15Click(Sender: TObject);
+begin
+ op := '*';
+ label1.Caption := op;
+ Edit2.SetFocus;
+end;
+
+procedure TForm1.Button16Click(Sender: TObject);
+begin
+ op := '/';
+ label1.Caption := op;
+ Edit2.SetFocus;
+end;
+
+procedure TForm1.Button1Click(Sender: TObject);
+begin
+if op = '@' then
+ Edit1.Text := Edit1.Text + '1'
+ else Edit2.Text := Edit2.Text + '1';
+end;
+
+procedure TForm1.Button2Click(Sender: TObject);
+begin
+ if op = '@' then
+ Edit1.Text := Edit1.Text + '2'
+ else Edit2.Text := Edit2.Text + '2';
+end;
+
+procedure TForm1.Button3Click(Sender: TObject);
+begin
+ if op = '@' then
+ Edit1.Text := Edit1.Text + '3'
+ else Edit2.Text := Edit2.Text + '3';
+end;
+
+procedure TForm1.Button4Click(Sender: TObject);
+begin
+ if op = '@' then
+ Edit1.Text := Edit1.Text + '4'
+ else Edit2.Text := Edit2.Text + '4';
+end;
+
+procedure TForm1.Button5Click(Sender: TObject);
+begin
+ if op = '@' then
+ Edit1.Text := Edit1.Text + '5'
+ else Edit2.Text := Edit2.Text + '5';
+end;
+
+procedure TForm1.Button6Click(Sender: TObject);
+begin
+ if op = '@' then
+ Edit1.Text := Edit1.Text + '6'
+ else Edit2.Text := Edit2.Text + '6';
+end;
+
+procedure TForm1.Button7Click(Sender: TObject);
+begin
+ if op = '@' then
+ Edit1.Text := Edit1.Text + '7'
+ else Edit2.Text := Edit2.Text + '7';
+end;
+
+procedure TForm1.Button8Click(Sender: TObject);
+begin
+ if op = '@' then
+ Edit1.Text := Edit1.Text + '8'
+ else Edit2.Text := Edit2.Text + '8';
+end;
+
+procedure TForm1.Button9Click(Sender: TObject);
+begin
+ if op = '@' then
+ Edit1.Text := Edit1.Text + '9'
+ else Edit2.Text := Edit2.Text + '9';
+end;
+
+procedure TForm1.FormActivate(Sender: TObject);
+begin
+ op := '@';
+end;
+end.
+
diff --git a/20_Task/M2/Meawinthebox/Calculator.dpr b/20_Task/M2/Meawinthebox/Calculator.dpr
new file mode 100644
index 0000000..6e41530
--- /dev/null
+++ b/20_Task/M2/Meawinthebox/Calculator.dpr
@@ -0,0 +1,14 @@
+program Calculator;
+
+uses
+ Vcl.Forms,
+ Cal in 'Cal.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.MainFormOnTaskbar := True;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/20_Task/M2/Meawinthebox/Calculator.dproj b/20_Task/M2/Meawinthebox/Calculator.dproj
new file mode 100644
index 0000000..0f56104
--- /dev/null
+++ b/20_Task/M2/Meawinthebox/Calculator.dproj
@@ -0,0 +1,612 @@
+
+
+ {82AD8E6F-198A-4C1D-BFF3-84EDC9AF9A95}
+ 18.6
+ VCL
+ Calculator.dpr
+ True
+ Debug
+ Win32
+ 1
+ Application
+
+
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Cfg_1
+ true
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Cfg_2
+ true
+ true
+
+
+ .\$(Platform)\$(Config)
+ .\$(Platform)\$(Config)
+ false
+ false
+ false
+ false
+ false
+ System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace)
+ $(BDS)\bin\delphi_PROJECTICON.ico
+ $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png
+ $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png
+ Calculator
+
+
+ DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;tethering;svnui;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;svn;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;vclribbon;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(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
+
+
+ DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;tethering;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;vclribbon;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage)
+
+
+ DEBUG;$(DCC_Define)
+ true
+ false
+ true
+ true
+ true
+
+
+ false
+ true
+ PerMonitorV2
+
+
+ false
+ RELEASE;$(DCC_Define)
+ 0
+ 0
+
+
+ true
+ PerMonitorV2
+
+
+
+ MainSource
+
+
+
+ dfm
+
+
+ Cfg_2
+ Base
+
+
+ Base
+
+
+ Cfg_1
+ Base
+
+
+
+ Delphi.Personality.12
+ Application
+
+
+
+ Calculator.dpr
+
+
+
+
+
+ Calculator.exe
+ 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
+ False
+
+
+ 12
+
+
+
+
+
diff --git a/40_Project/Meawinthebox/Project_Academy.dpr b/40_Project/Meawinthebox/Project_Academy.dpr
new file mode 100644
index 0000000..2fe74f4
--- /dev/null
+++ b/40_Project/Meawinthebox/Project_Academy.dpr
@@ -0,0 +1,20 @@
+program Project_Academy;
+
+uses
+ Vcl.Forms,
+ UMain in 'UMain.pas' {Form1},
+ UDataModule in 'UDataModule.pas' {UDM: TDataModule},
+ UClass in 'UClass.pas' {frmClass},
+ UStudent in 'UStudent.pas' {frmStudent};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.MainFormOnTaskbar := True;
+ Application.CreateForm(TForm1, Form1);
+ Application.CreateForm(TUDM, UDM);
+ Application.CreateForm(TfrmClass, frmClass);
+ Application.CreateForm(TfrmStudent, frmStudent);
+ Application.Run;
+end.
diff --git a/40_Project/Meawinthebox/Project_Academy.dproj b/40_Project/Meawinthebox/Project_Academy.dproj
new file mode 100644
index 0000000..6d62817
--- /dev/null
+++ b/40_Project/Meawinthebox/Project_Academy.dproj
@@ -0,0 +1,631 @@
+
+
+ {29CC5B9D-7B1C-43C8-87E6-7BE7408F924E}
+ 18.6
+ VCL
+ Project_Academy.dpr
+ True
+ Debug
+ Win32
+ 1
+ Application
+
+
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Cfg_1
+ true
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Cfg_2
+ true
+ true
+
+
+ .\$(Platform)\$(Config)
+ .\$(Platform)\$(Config)
+ false
+ false
+ false
+ false
+ false
+ System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace)
+ $(BDS)\bin\delphi_PROJECTICON.ico
+ $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png
+ $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png
+ Project_Academy
+
+
+ DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;tethering;svnui;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;svn;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;SampleListViewMultiDetailAppearancePackage;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;vclribbon;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(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
+
+
+ DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;tethering;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;vclribbon;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage)
+
+
+ DEBUG;$(DCC_Define)
+ true
+ false
+ true
+ true
+ true
+
+
+ false
+ true
+ PerMonitorV2
+ true
+ 1033
+
+
+ false
+ RELEASE;$(DCC_Define)
+ 0
+ 0
+
+
+ true
+ PerMonitorV2
+
+
+
+ MainSource
+
+
+
+ dfm
+
+
+
+ dfm
+ TDataModule
+
+
+
+ dfm
+
+
+
+ dfm
+
+
+ Cfg_2
+ Base
+
+
+ Base
+
+
+ Cfg_1
+ Base
+
+
+
+ Delphi.Personality.12
+ Application
+
+
+
+ Project_Academy.dpr
+
+
+ Microsoft Office 2000 Sample Automation Server Wrapper Components
+ Microsoft Office XP Sample Automation Server Wrapper Components
+
+
+
+
+
+ Project_Academy.exe
+ 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
+ False
+
+
+ 12
+
+
+
+
+
diff --git a/40_Project/Meawinthebox/Project_Academy.res b/40_Project/Meawinthebox/Project_Academy.res
new file mode 100644
index 0000000..8b044a3
Binary files /dev/null and b/40_Project/Meawinthebox/Project_Academy.res differ
diff --git a/40_Project/Meawinthebox/UClass.dfm b/40_Project/Meawinthebox/UClass.dfm
new file mode 100644
index 0000000..0af4456
--- /dev/null
+++ b/40_Project/Meawinthebox/UClass.dfm
@@ -0,0 +1,376 @@
+object frmClass: TfrmClass
+ Left = 0
+ Top = 0
+ Caption = #48152' '#44288#47532
+ ClientHeight = 552
+ ClientWidth = 877
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ PixelsPerInch = 96
+ TextHeight = 13
+ object InformPnl: TPanel
+ Left = 519
+ Top = 0
+ Width = 358
+ Height = 366
+ Align = alRight
+ TabOrder = 0
+ object GroupBox1: TGroupBox
+ Left = 8
+ Top = 0
+ Width = 129
+ Height = 175
+ Caption = #49324#51652
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -13
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ ParentFont = False
+ TabOrder = 0
+ object Image1: TImage
+ Left = 2
+ Top = 18
+ Width = 125
+ Height = 155
+ Align = alClient
+ ExplicitWidth = 119
+ end
+ end
+ object GroupBox2: TGroupBox
+ Left = 5
+ Top = 181
+ Width = 340
+ Height = 179
+ Caption = #51064#51201#49324#54637
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -13
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ ParentFont = False
+ TabOrder = 1
+ object Label3: TLabel
+ Left = 8
+ Top = 147
+ Width = 22
+ Height = 16
+ Caption = #51452#49548
+ end
+ object Label13: TLabel
+ Left = 179
+ Top = 109
+ Width = 44
+ Height = 16
+ Caption = #51116#51649#50668#48512
+ end
+ object Label11: TLabel
+ Left = 7
+ Top = 122
+ Width = 44
+ Height = 16
+ Caption = #53748#49324#51068#51088
+ end
+ object Label8: TLabel
+ Left = 7
+ Top = 97
+ Width = 44
+ Height = 16
+ Caption = #46321#47197#51068#51088
+ end
+ object Label2: TLabel
+ Left = 179
+ Top = 68
+ Width = 33
+ Height = 16
+ Caption = #49688#50629#48152
+ end
+ object Label10: TLabel
+ Left = 9
+ Top = 68
+ Width = 22
+ Height = 16
+ Caption = #54617#44368
+ end
+ object Label9: TLabel
+ Left = 180
+ Top = 43
+ Width = 22
+ Height = 16
+ Caption = #49457#48324
+ end
+ object Label4: TLabel
+ Left = 8
+ Top = 43
+ Width = 44
+ Height = 16
+ Caption = #49373#45380#50900#51068
+ end
+ object lblStudentCode: TLabel
+ Left = 180
+ Top = 18
+ Width = 55
+ Height = 16
+ Caption = #49440#49373#45784#48264#54840
+ end
+ object Label1: TLabel
+ Left = 9
+ Top = 19
+ Width = 22
+ Height = 16
+ Caption = #51060#47492
+ end
+ object DBStudent_Address: TDBEdit
+ Left = 57
+ Top = 146
+ Width = 280
+ Height = 24
+ DataField = 'STUDENT_ADDRESS'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 0
+ end
+ object DBStudent_Status: TDBEdit
+ Left = 228
+ Top = 106
+ Width = 34
+ Height = 24
+ DataField = 'STUDENT_STATUS'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 1
+ end
+ object DBStudent_Discharge_Date: TDBEdit
+ Left = 57
+ Top = 119
+ Width = 88
+ Height = 24
+ DataField = 'STUDENT_DISCHARGE_DATE'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 2
+ end
+ object DBStudent_Admission_Date: TDBEdit
+ Left = 57
+ Top = 94
+ Width = 88
+ Height = 24
+ DataField = 'STUDENT_ADMISSION_DATE'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 3
+ end
+ object DBStudent_Class: TDBEdit
+ Left = 242
+ Top = 65
+ Width = 87
+ Height = 24
+ TabOrder = 4
+ end
+ object DBStudent_School: TDBEdit
+ Left = 57
+ Top = 65
+ Width = 113
+ Height = 24
+ DataField = 'STUDENT_SCHOOL'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 5
+ end
+ object DBStudent_Sex: TDBEdit
+ Left = 241
+ Top = 40
+ Width = 27
+ Height = 24
+ DataField = 'STUDENT_SEX'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 6
+ end
+ object DBStudent_Birth: TDBEdit
+ Left = 57
+ Top = 40
+ Width = 88
+ Height = 24
+ DataField = 'STUDENT_BIRTH'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 7
+ end
+ object DBStudent_Code: TDBEdit
+ Left = 241
+ Top = 10
+ Width = 27
+ Height = 24
+ DataField = 'STUDENT_CODE'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 8
+ end
+ object DBStudentName: TDBEdit
+ Left = 58
+ Top = 13
+ Width = 63
+ Height = 24
+ DataField = 'STUDENT_NAME'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 9
+ end
+ end
+ object GroupBox4: TGroupBox
+ Left = 143
+ Top = 0
+ Width = 202
+ Height = 175
+ Caption = #47700#47784
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -13
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ ParentFont = False
+ TabOrder = 2
+ object DBStudent_Memo: TDBMemo
+ Left = 2
+ Top = 18
+ Width = 198
+ Height = 155
+ Align = alClient
+ DataField = 'STUDENT_MEMO'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 0
+ end
+ end
+ end
+ object PageControl1: TPageControl
+ Left = 0
+ Top = 366
+ Width = 877
+ Height = 186
+ ActivePage = TabSheet1
+ Align = alBottom
+ TabOrder = 1
+ object TabSheet1: TTabSheet
+ Caption = #49457#51201
+ object DBGrid2: TDBGrid
+ Left = 0
+ Top = 0
+ Width = 869
+ Height = 158
+ Align = alClient
+ DataSource = UDM.dsQryScore
+ Options = [dgEditing, dgAlwaysShowEditor, dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit, dgTitleClick, dgTitleHotTrack]
+ TabOrder = 0
+ TitleFont.Charset = DEFAULT_CHARSET
+ TitleFont.Color = clWindowText
+ TitleFont.Height = -11
+ TitleFont.Name = 'Tahoma'
+ TitleFont.Style = []
+ Columns = <
+ item
+ Expanded = False
+ FieldName = 'STUDENT_NAME'
+ Title.Caption = #51060#47492
+ Width = 40
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'EXAM_NAME'
+ Title.Caption = #49884#54744
+ Width = 60
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'SCOR_KOREAN'
+ Title.Caption = #44397#50612
+ Visible = True
+ end>
+ end
+ end
+ object TabSheet2: TTabSheet
+ Caption = #52636#49437
+ ImageIndex = 1
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 861
+ ExplicitHeight = 0
+ object DBGrid3: TDBGrid
+ Left = 0
+ Top = 0
+ Width = 870
+ Height = 158
+ Align = alClient
+ Options = [dgEditing, dgAlwaysShowEditor, dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit, dgTitleClick, dgTitleHotTrack]
+ TabOrder = 0
+ TitleFont.Charset = DEFAULT_CHARSET
+ TitleFont.Color = clWindowText
+ TitleFont.Height = -11
+ TitleFont.Name = 'Tahoma'
+ TitleFont.Style = []
+ end
+ end
+ object TabSheet3: TTabSheet
+ Caption = #54617#49845#51652#46020
+ ImageIndex = 2
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 861
+ ExplicitHeight = 0
+ object DBGrid4: TDBGrid
+ Left = 0
+ Top = 0
+ Width = 870
+ Height = 158
+ Align = alClient
+ Options = [dgEditing, dgAlwaysShowEditor, dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit, dgTitleClick, dgTitleHotTrack]
+ TabOrder = 0
+ TitleFont.Charset = DEFAULT_CHARSET
+ TitleFont.Color = clWindowText
+ TitleFont.Height = -11
+ TitleFont.Name = 'Tahoma'
+ TitleFont.Style = []
+ end
+ end
+ end
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 519
+ Height = 366
+ Align = alLeft
+ Caption = 'Panel1'
+ TabOrder = 2
+ object DBGrid1: TDBGrid
+ Left = 1
+ Top = 27
+ Width = 517
+ Height = 338
+ Align = alBottom
+ DataSource = UDM.dsStudent_List
+ Options = [dgEditing, dgAlwaysShowEditor, dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit, dgTitleClick, dgTitleHotTrack]
+ TabOrder = 0
+ TitleFont.Charset = DEFAULT_CHARSET
+ TitleFont.Color = clWindowText
+ TitleFont.Height = -11
+ TitleFont.Name = 'Tahoma'
+ TitleFont.Style = []
+ end
+ object DBComboBox1: TDBComboBox
+ Left = 4
+ Top = 0
+ Width = 125
+ Height = 21
+ DataField = 'STUDENT_SCHOOL'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 1
+ end
+ object DBComboBox2: TDBComboBox
+ Left = 135
+ Top = 0
+ Width = 102
+ Height = 21
+ DataField = 'STUDENT_GRADE'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 2
+ end
+ end
+end
diff --git a/40_Project/Meawinthebox/UClass.pas b/40_Project/Meawinthebox/UClass.pas
new file mode 100644
index 0000000..3aa8352
--- /dev/null
+++ b/40_Project/Meawinthebox/UClass.pas
@@ -0,0 +1,64 @@
+unit UClass;
+
+interface
+
+uses
+ Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
+ Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Vcl.ToolWin, Data.DB,
+ Vcl.StdCtrls, Vcl.DBCtrls, Vcl.Grids, Vcl.DBGrids, Vcl.Mask, Vcl.ExtCtrls;
+
+type
+ TfrmClass = class(TForm)
+ InformPnl: TPanel;
+ GroupBox1: TGroupBox;
+ Image1: TImage;
+ GroupBox2: TGroupBox;
+ Label3: TLabel;
+ Label13: TLabel;
+ Label11: TLabel;
+ Label8: TLabel;
+ Label2: TLabel;
+ Label10: TLabel;
+ Label9: TLabel;
+ Label4: TLabel;
+ lblStudentCode: TLabel;
+ Label1: TLabel;
+ DBStudent_Address: TDBEdit;
+ DBStudent_Status: TDBEdit;
+ DBStudent_Discharge_Date: TDBEdit;
+ DBStudent_Admission_Date: TDBEdit;
+ DBStudent_Class: TDBEdit;
+ DBStudent_School: TDBEdit;
+ DBStudent_Sex: TDBEdit;
+ DBStudent_Birth: TDBEdit;
+ DBStudent_Code: TDBEdit;
+ DBStudentName: TDBEdit;
+ PageControl1: TPageControl;
+ TabSheet1: TTabSheet;
+ DBGrid2: TDBGrid;
+ TabSheet2: TTabSheet;
+ DBGrid3: TDBGrid;
+ TabSheet3: TTabSheet;
+ DBGrid4: TDBGrid;
+ GroupBox4: TGroupBox;
+ DBStudent_Memo: TDBMemo;
+ Panel1: TPanel;
+ DBGrid1: TDBGrid;
+ DBComboBox1: TDBComboBox;
+ DBComboBox2: TDBComboBox;
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ frmClass: TfrmClass;
+
+implementation
+
+{$R *.dfm}
+
+uses UDataModule;
+
+end.
diff --git a/40_Project/Meawinthebox/UDataModule.dfm b/40_Project/Meawinthebox/UDataModule.dfm
new file mode 100644
index 0000000..5e98c6f
--- /dev/null
+++ b/40_Project/Meawinthebox/UDataModule.dfm
@@ -0,0 +1,76 @@
+object UDM: TUDM
+ OldCreateOrder = False
+ Height = 285
+ Width = 495
+ object conACADEMY: TFDConnection
+ Params.Strings = (
+ 'Database=C:\ACADEMY\ACADEMY.IB'
+ 'User_Name=SYSDBA'
+ 'Password=masterkey'
+ 'CharacterSet=UTF8'
+ 'DriverID=IB')
+ Connected = True
+ LoginPrompt = False
+ Left = 32
+ Top = 16
+ end
+ object dsStudent_List: TDataSource
+ DataSet = Student_List
+ Left = 112
+ Top = 88
+ end
+ object Student_List: TFDTable
+ Active = True
+ IndexFieldNames = 'STUDENT_CODE'
+ Connection = conACADEMY
+ UpdateOptions.UpdateTableName = 'INFORM'
+ TableName = 'INFORM'
+ Left = 32
+ Top = 88
+ end
+ object FDPhysIBDriverLink1: TFDPhysIBDriverLink
+ Left = 128
+ Top = 16
+ end
+ object FDGUIxWaitCursor1: TFDGUIxWaitCursor
+ Provider = 'Forms'
+ Left = 240
+ Top = 16
+ end
+ object QryScore: TFDQuery
+ Active = True
+ IndexFieldNames = 'STUDENT_CODE'
+ MasterSource = dsStudent_List
+ MasterFields = 'STUDENT_CODE'
+ Connection = conACADEMY
+ SQL.Strings = (
+ 'SELECT '
+ ' INFORM.STUDENT_NAME, EXAM_KIND.EXAM_NAME, '
+ ' EXAM_KIND.EXAM_DATE, SCORE.* '
+ 'FROM '
+ ' INFORM, EXAM_KIND, SCORE'
+ 'WHERE'
+ ' SCORE.STUDENT_CODE = INFORM.STUDENT_CODE AND'
+ ' SCORE.EXAM_CODE = EXAM_KIND.EXAM_CODE')
+ Left = 32
+ Top = 144
+ end
+ object dsQryScore: TDataSource
+ DataSet = QryScore
+ Left = 112
+ Top = 144
+ end
+ object FDQuery1: TFDQuery
+ Active = True
+ Connection = conACADEMY
+ SQL.Strings = (
+ 'SELECT * FROM ATTENDANCE')
+ Left = 32
+ Top = 208
+ end
+ object DataSource1: TDataSource
+ DataSet = FDQuery1
+ Left = 112
+ Top = 200
+ end
+end
diff --git a/40_Project/Meawinthebox/UDataModule.pas b/40_Project/Meawinthebox/UDataModule.pas
new file mode 100644
index 0000000..dfa92e1
--- /dev/null
+++ b/40_Project/Meawinthebox/UDataModule.pas
@@ -0,0 +1,39 @@
+unit UDataModule;
+
+interface
+
+uses
+ System.SysUtils, System.Classes, FireDAC.Stan.Intf, FireDAC.Stan.Option,
+ FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf, FireDAC.Stan.Def,
+ FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys, FireDAC.Phys.IB,
+ FireDAC.Phys.IBDef, FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf,
+ FireDAC.DApt, FireDAC.VCLUI.Wait, FireDAC.Comp.UI, FireDAC.Phys.IBBase,
+ Data.DB, FireDAC.Comp.DataSet, FireDAC.Comp.Client;
+
+type
+ TUDM = class(TDataModule)
+ conACADEMY: TFDConnection;
+ dsStudent_List: TDataSource;
+ Student_List: TFDTable;
+ FDPhysIBDriverLink1: TFDPhysIBDriverLink;
+ FDGUIxWaitCursor1: TFDGUIxWaitCursor;
+ QryScore: TFDQuery;
+ dsQryScore: TDataSource;
+ FDQuery1: TFDQuery;
+ DataSource1: TDataSource;
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ UDM: TUDM;
+
+implementation
+
+{%CLASSGROUP 'Vcl.Controls.TControl'}
+
+{$R *.dfm}
+
+end.
diff --git a/40_Project/Meawinthebox/UMain.dfm b/40_Project/Meawinthebox/UMain.dfm
new file mode 100644
index 0000000..07b4636
--- /dev/null
+++ b/40_Project/Meawinthebox/UMain.dfm
@@ -0,0 +1,216 @@
+object Form1: TForm1
+ Left = 0
+ Top = 0
+ AutoSize = True
+ Caption = #54617#49373' '#44288#47532' '#54532#47196#44536#47016
+ ClientHeight = 606
+ ClientWidth = 891
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poDesigned
+ PixelsPerInch = 96
+ TextHeight = 13
+ object ToolBar1: TToolBar
+ Left = 0
+ Top = 0
+ Width = 891
+ Height = 48
+ AutoSize = True
+ ButtonHeight = 48
+ ButtonWidth = 71
+ Caption = 'ToolBar1'
+ Ctl3D = True
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -21
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ Images = ImageList1
+ ParentFont = False
+ ShowCaptions = True
+ TabOrder = 0
+ ExplicitTop = -6
+ object ToolButton1: TToolButton
+ Left = 0
+ Top = 0
+ Caption = #54617#49373#44288#47532
+ ImageIndex = 0
+ ParentShowHint = False
+ ShowHint = False
+ OnClick = ToolButton1Click
+ end
+ object ToolButton2: TToolButton
+ Left = 71
+ Top = 0
+ Caption = #48152#44288#47532
+ ImageIndex = 1
+ OnClick = ToolButton2Click
+ end
+ object ToolButton4: TToolButton
+ Left = 142
+ Top = 0
+ Caption = #51333#47308
+ ImageIndex = 2
+ OnClick = ToolButton4Click
+ end
+ end
+ object PnlLayout: TPanel
+ Left = 0
+ Top = 48
+ Width = 891
+ Height = 558
+ Align = alClient
+ TabOrder = 1
+ ExplicitTop = 36
+ ExplicitWidth = 861
+ ExplicitHeight = 533
+ end
+ object ImageList1: TImageList
+ Left = 232
+ Top = 8
+ Bitmap = {
+ 494C010103000800040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
+ 0000000000003600000028000000400000001000000001002000000000000010
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000C0C0C000000000000000000000000000808080000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000808080000000
+ 0000808080000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000008080800000000000000000000000
+ 00000000000080808000C0C0C000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000808080000000000000000000000000000000000000000000000000000000
+ 0000000000003535350000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000FFFFFF00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000808080000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF000000
+ 000000000000000000001D1D1D00FFFFFF00FFFFFF001D1D1D00000000000000
+ 000000000000FFFFFF00FFFFFF00FFFFFF0000000000C0C0C000000000000000
+ 000000000000000000000000000000000000C0C0C00000000000000000000000
+ 000000000000C0C0C00000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00DFDFDF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00DBDB
+ DB00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000080808000000000000000
+ 00000000000000000000C0C0C000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00000000000000000000000000000000000000000000000000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000080808000000000000000
+ 000000000000C0C0C00000000000C0C0C000C0C0C000C0C0C000C0C0C0000000
+ 000000000000C0C0C00080808000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00000000000000000000000000000000000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000C0C0C000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00000000000000000000000000000000000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000080808000808080000000
+ 00000000000000000000C0C0C000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000FFFFFF00FFFFFF00FFFFFF000000000000000000000000008080
+ 800000000000C0C0C00000000000C0C0C0000000000000000000000000000000
+ 00000000000000000000C0C0C000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
+ 00000000000000000000000000000000000000000000C0C0C000C0C0C000C0C0
+ C000C0C0C00000000000C0C0C000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF003131
+ 3100000000000000000000000000000000000000000000000000000000000000
+ 000031313100FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000C0C0C000000000000000000000000000000000000000
+ 0000000000003535350000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00000000000000000000000000000000000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000C0C0
+ C000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000C0C0C000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00000000000000000000000000000000000000000000000000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000C0C0C000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0000000000000000000000000000000000FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000424D3E000000000000003E000000
+ 2800000040000000100000000100010000000000800000000000000000000000
+ 000000000000000000000000FFFFFF000000FC10FFFF00000000D630FE000000
+ 0000D779FE0000000000D631FBFE00000000D631F9FE00000000877BF8FE0000
+ 00000400007E0000000002007F3E0000000003FC7F3E00000000839C007E0000
+ 0000E8FCF8FE000000004684F9FE000000004784FBFE000000006FFCFE000000
+ 00007FFCFE00000000000000FFFF000000000000000000000000000000000000
+ 000000000000}
+ end
+end
diff --git a/40_Project/Meawinthebox/UMain.pas b/40_Project/Meawinthebox/UMain.pas
new file mode 100644
index 0000000..2936c91
--- /dev/null
+++ b/40_Project/Meawinthebox/UMain.pas
@@ -0,0 +1,69 @@
+unit UMain;
+
+interface
+
+uses
+ Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
+ Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ToolWin, Vcl.ActnMan, Vcl.ActnCtrls,
+ Vcl.Ribbon, Vcl.RibbonLunaStyleActnCtrls, Data.DB, Vcl.StdCtrls, Vcl.ComCtrls,
+ Vcl.Grids, Vcl.DBGrids, Vcl.ExtCtrls, Vcl.DBCtrls, Vcl.Mask,
+ FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Error, FireDAC.UI.Intf,
+ FireDAC.Phys.Intf, FireDAC.Stan.Def, FireDAC.Stan.Pool, FireDAC.Stan.Async,
+ FireDAC.Phys, FireDAC.Phys.IB, FireDAC.Phys.IBDef, FireDAC.VCLUI.Wait,
+ FireDAC.Comp.Client, Datasnap.DBClient, FireDAC.Stan.Param, FireDAC.DatS,
+ FireDAC.DApt.Intf, FireDAC.DApt, FireDAC.Comp.DataSet, FireDAC.Comp.UI,
+ FireDAC.Phys.IBBase, System.Actions, Vcl.ActnList, Vcl.ExtActns,
+ Vcl.PlatformDefaultStyleActnCtrls, Vcl.Menus, System.ImageList, Vcl.ImgList;
+
+type
+ TForm1 = class(TForm)
+ ToolBar1: TToolBar;
+ ToolButton1: TToolButton;
+ ImageList1: TImageList;
+ ToolButton2: TToolButton;
+ PnlLayout: TPanel;
+ ToolButton4: TToolButton;
+ procedure ToolButton2Click(Sender: TObject);
+ procedure ToolButton1Click(Sender: TObject);
+ procedure ToolButton4Click(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+{$R *.dfm}
+
+uses UDataModule, UStudent, UClass;
+
+procedure TForm1.ToolButton1Click(Sender: TObject);
+begin
+ if not Assigned(frmStudent) then
+ frmStudent := TfrmStudent.Create(Self);
+ frmStudent.Parent := PnlLayout;
+ frmStudent.BorderStyle := bsNone;
+ frmStudent.Align := alClient;
+ frmStudent.Show;
+end;
+
+procedure TForm1.ToolButton2Click(Sender: TObject);
+begin
+ if not Assigned(frmClass) then
+ frmClass := TfrmClass.Create(Self);
+ frmClass.Parent := PnlLayout;
+ frmClass.BorderStyle := bsNone;
+ frmClass.Align := alClient;
+ frmClass.Show;
+end;
+
+procedure TForm1.ToolButton4Click(Sender: TObject);
+begin
+ Close;
+end;
+
+end.
diff --git a/40_Project/Meawinthebox/UStudent.dfm b/40_Project/Meawinthebox/UStudent.dfm
new file mode 100644
index 0000000..449c8e6
--- /dev/null
+++ b/40_Project/Meawinthebox/UStudent.dfm
@@ -0,0 +1,891 @@
+object frmStudent: TfrmStudent
+ Left = 0
+ Top = 0
+ Caption = #54617#49373' '#44288#47532
+ ClientHeight = 557
+ ClientWidth = 852
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ PixelsPerInch = 96
+ TextHeight = 13
+ object InformPnl: TPanel
+ Left = 289
+ Top = 42
+ Width = 563
+ Height = 515
+ Align = alClient
+ Anchors = [akLeft, akTop, akBottom]
+ AutoSize = True
+ TabOrder = 0
+ ExplicitTop = 0
+ ExplicitWidth = 566
+ object PageControl1: TPageControl
+ Left = 1
+ Top = 328
+ Width = 561
+ Height = 186
+ ActivePage = TabSheet2
+ Align = alBottom
+ TabOrder = 0
+ ExplicitLeft = 5
+ ExplicitTop = 331
+ ExplicitWidth = 564
+ object TabSheet1: TTabSheet
+ Caption = #49457#51201
+ ExplicitWidth = 556
+ object DBGrid2: TDBGrid
+ Left = 0
+ Top = 0
+ Width = 553
+ Height = 158
+ Align = alClient
+ DataSource = UDM.dsQryScore
+ Options = [dgEditing, dgAlwaysShowEditor, dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit, dgTitleClick, dgTitleHotTrack]
+ TabOrder = 0
+ TitleFont.Charset = DEFAULT_CHARSET
+ TitleFont.Color = clWindowText
+ TitleFont.Height = -11
+ TitleFont.Name = 'Tahoma'
+ TitleFont.Style = []
+ Columns = <
+ item
+ Expanded = False
+ FieldName = 'STUDENT_NAME'
+ Title.Caption = #51060#47492
+ Width = 40
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'EXAM_NAME'
+ Title.Caption = #49884#54744
+ Width = 60
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'SCOR_KOREAN'
+ Title.Caption = #44397#50612
+ Visible = True
+ end>
+ end
+ end
+ object TabSheet2: TTabSheet
+ Caption = #52636#49437
+ ImageIndex = 1
+ ExplicitWidth = 556
+ object DBGrid3: TDBGrid
+ Left = 0
+ Top = 0
+ Width = 553
+ Height = 158
+ Align = alClient
+ DataSource = UDM.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 = -11
+ TitleFont.Name = 'Tahoma'
+ TitleFont.Style = []
+ Columns = <
+ item
+ Expanded = False
+ FieldName = 'ATTENDANCE_DATE_TIME'
+ Visible = True
+ end>
+ end
+ end
+ object TabSheet3: TTabSheet
+ Caption = #54617#49845#51652#46020
+ ImageIndex = 2
+ ExplicitWidth = 556
+ object DBGrid4: TDBGrid
+ Left = 0
+ Top = 0
+ Width = 553
+ Height = 158
+ Align = alClient
+ Options = [dgEditing, dgAlwaysShowEditor, dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit, dgTitleClick, dgTitleHotTrack]
+ TabOrder = 0
+ TitleFont.Charset = DEFAULT_CHARSET
+ TitleFont.Color = clWindowText
+ TitleFont.Height = -11
+ TitleFont.Name = 'Tahoma'
+ TitleFont.Style = []
+ end
+ end
+ end
+ object GroupBox1: TGroupBox
+ Left = 1
+ Top = 2
+ Width = 142
+ Height = 179
+ Caption = #49324#51652
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -13
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ ParentFont = False
+ TabOrder = 1
+ object Image1: TImage
+ Left = 2
+ Top = 18
+ Width = 138
+ Height = 159
+ Align = alClient
+ ExplicitLeft = 3
+ ExplicitTop = 17
+ end
+ end
+ object GroupBox2: TGroupBox
+ Left = 149
+ Top = 2
+ Width = 410
+ Height = 179
+ Caption = #51064#51201#49324#54637
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -13
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ ParentFont = False
+ TabOrder = 2
+ object Label3: TLabel
+ Left = 8
+ Top = 147
+ Width = 22
+ Height = 16
+ Caption = #51452#49548
+ end
+ object Label13: TLabel
+ Left = 179
+ Top = 109
+ Width = 44
+ Height = 16
+ Caption = #51116#50896#50668#48512
+ end
+ object Label11: TLabel
+ Left = 7
+ Top = 122
+ Width = 44
+ Height = 16
+ Caption = #53748#50896#51068#51088
+ end
+ object Label8: TLabel
+ Left = 7
+ Top = 97
+ Width = 44
+ Height = 16
+ Caption = #51077#54617#51068#51088
+ end
+ object Label2: TLabel
+ Left = 233
+ Top = 68
+ Width = 11
+ Height = 16
+ Caption = #48152
+ end
+ object Label12: TLabel
+ Left = 202
+ Top = 68
+ Width = 22
+ Height = 16
+ Caption = #54617#45380
+ end
+ object Label10: TLabel
+ Left = 9
+ Top = 68
+ Width = 22
+ Height = 16
+ Caption = #54617#44368
+ end
+ object Label9: TLabel
+ Left = 180
+ Top = 43
+ Width = 44
+ Height = 16
+ Alignment = taCenter
+ Caption = #49457#48324
+ end
+ object Label4: TLabel
+ Left = 8
+ Top = 43
+ Width = 44
+ Height = 16
+ Caption = #49373#45380#50900#51068
+ end
+ object lblStudentCode: TLabel
+ Left = 180
+ Top = 18
+ Width = 44
+ Height = 16
+ Caption = #54617#49373#48264#54840
+ end
+ object Label1: TLabel
+ Left = 9
+ Top = 19
+ Width = 42
+ Height = 16
+ BiDiMode = bdLeftToRight
+ Caption = #51060#47492
+ ParentBiDiMode = False
+ end
+ object DBStudent_Address: TDBEdit
+ Left = 57
+ Top = 146
+ Width = 280
+ Height = 24
+ DataField = 'STUDENT_ADDRESS'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 0
+ end
+ object DBStudent_Status: TDBEdit
+ Left = 228
+ Top = 106
+ Width = 34
+ Height = 24
+ DataField = 'STUDENT_STATUS'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 1
+ end
+ object DBStudent_Discharge_Date: TDBEdit
+ Left = 57
+ Top = 119
+ Width = 88
+ Height = 24
+ DataField = 'STUDENT_DISCHARGE_DATE'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 2
+ end
+ object DBStudent_Admission_Date: TDBEdit
+ Left = 57
+ Top = 94
+ Width = 88
+ Height = 24
+ DataField = 'STUDENT_ADMISSION_DATE'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 3
+ end
+ object DBStudent_Class: TDBEdit
+ Left = 250
+ Top = 65
+ Width = 87
+ Height = 24
+ TabOrder = 4
+ end
+ object DBStudent_Grade: TDBEdit
+ Left = 180
+ Top = 65
+ Width = 17
+ Height = 24
+ DataField = 'STUDENT_GRADE'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 5
+ end
+ object DBStudent_School: TDBEdit
+ Left = 57
+ Top = 65
+ Width = 113
+ Height = 24
+ DataField = 'STUDENT_SCHOOL'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 6
+ end
+ object DBStudent_Sex: TDBEdit
+ Left = 230
+ Top = 40
+ Width = 27
+ Height = 24
+ DataField = 'STUDENT_SEX'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 7
+ end
+ object DBStudent_Birth: TDBEdit
+ Left = 57
+ Top = 40
+ Width = 88
+ Height = 24
+ DataField = 'STUDENT_BIRTH'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 8
+ end
+ object DBStudent_Code: TDBEdit
+ Left = 230
+ Top = 15
+ Width = 27
+ Height = 24
+ DataField = 'STUDENT_CODE'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 9
+ end
+ object DBStudent_Name: TDBEdit
+ Left = 58
+ Top = 13
+ Width = 63
+ Height = 24
+ DataField = 'STUDENT_NAME'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 10
+ end
+ end
+ object GroupBox3: TGroupBox
+ Left = 6
+ Top = 187
+ Width = 204
+ Height = 138
+ Caption = #50672#46973#52376
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -13
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ ParentFont = False
+ TabOrder = 3
+ object Label7: TLabel
+ Left = 5
+ Top = 19
+ Width = 47
+ Height = 16
+ Caption = ' '#54617#49373' HP'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -13
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Label5: TLabel
+ Left = 5
+ Top = 50
+ Width = 54
+ Height = 16
+ Caption = #48372#54840#51088' HP'
+ end
+ object Label6: TLabel
+ Left = 12
+ Top = 81
+ Width = 33
+ Height = 16
+ Caption = #48372#54840#51088
+ end
+ object DBStudent_Phone: TDBEdit
+ Left = 65
+ Top = 17
+ Width = 110
+ Height = 24
+ DataField = 'STUDENT_PHONE'
+ DataSource = UDM.dsStudent_List
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -13
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ ParentFont = False
+ TabOrder = 0
+ end
+ object DBStudent_Parent_Phone: TDBEdit
+ Left = 65
+ Top = 47
+ Width = 110
+ Height = 24
+ DataField = 'STUDENT_PARENT_PHONE'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 1
+ end
+ object DBStudent_Parent: TDBEdit
+ Left = 65
+ Top = 77
+ Width = 51
+ Height = 24
+ DataField = 'STUDENT_PARENT'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 2
+ end
+ end
+ object GroupBox4: TGroupBox
+ Left = 216
+ Top = 187
+ Width = 346
+ Height = 140
+ Caption = #47700#47784
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -13
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ ParentFont = False
+ TabOrder = 4
+ object DBStudent_Memo: TDBMemo
+ Left = 2
+ Top = 18
+ Width = 342
+ Height = 120
+ Align = alClient
+ DataField = 'STUDENT_MEMO'
+ DataSource = UDM.dsStudent_List
+ TabOrder = 0
+ end
+ end
+ end
+ object StudentListPnl: TPanel
+ Left = 0
+ Top = 42
+ Width = 289
+ Height = 515
+ Align = alLeft
+ Caption = 'StudentListPnl'
+ TabOrder = 1
+ ExplicitTop = 0
+ object DBGrid1: TDBGrid
+ Left = 1
+ Top = 49
+ Width = 287
+ Height = 465
+ Align = alClient
+ DataSource = UDM.dsStudent_List
+ Options = [dgEditing, dgAlwaysShowEditor, dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit, dgTitleClick, dgTitleHotTrack]
+ TabOrder = 0
+ TitleFont.Charset = DEFAULT_CHARSET
+ TitleFont.Color = clWindowText
+ TitleFont.Height = -11
+ TitleFont.Name = 'Tahoma'
+ TitleFont.Style = []
+ Columns = <
+ item
+ Expanded = False
+ FieldName = 'STUDENT_CODE'
+ Title.Alignment = taCenter
+ Title.Caption = #54617#48264
+ Width = 25
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'STUDENT_NAME'
+ Title.Alignment = taCenter
+ Title.Caption = #51060#47492
+ Width = 50
+ Visible = True
+ end
+ item
+ Expanded = False
+ FieldName = 'STUDENT_SCHOOL'
+ Title.Alignment = taCenter
+ Title.Caption = #54617#44368
+ Width = 100
+ Visible = True
+ end
+ item
+ Alignment = taCenter
+ Expanded = False
+ FieldName = 'STUDENT_GRADE'
+ Title.Alignment = taCenter
+ Title.Caption = #54617#45380
+ Width = 30
+ Visible = True
+ end>
+ end
+ object SearchPnl: TPanel
+ Left = 1
+ Top = 1
+ Width = 287
+ Height = 48
+ Align = alTop
+ TabOrder = 1
+ object Label16: TLabel
+ Left = 6
+ Top = 7
+ Width = 22
+ Height = 16
+ Caption = #44160#49353
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -13
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object edtSearchStudent: TEdit
+ Left = 34
+ Top = 5
+ Width = 163
+ Height = 21
+ TabOrder = 0
+ OnKeyUp = edtSearchStudentKeyUp
+ end
+ object ChkSearchName: TCheckBox
+ Left = 34
+ Top = 29
+ Width = 44
+ Height = 17
+ Caption = #51060#47492
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -13
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ ParentFont = False
+ TabOrder = 1
+ end
+ object ChkSearchSchool: TCheckBox
+ Left = 98
+ Top = 29
+ Width = 49
+ Height = 17
+ Caption = #54617#44368
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -13
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ ParentFont = False
+ TabOrder = 2
+ end
+ object CheckBox3: TCheckBox
+ Left = 166
+ Top = 29
+ Width = 31
+ Height = 17
+ Caption = #48152
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -13
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ ParentFont = False
+ TabOrder = 3
+ end
+ end
+ end
+ object ToolBar1: TToolBar
+ Left = 0
+ Top = 0
+ Width = 852
+ Height = 42
+ AutoSize = True
+ ButtonHeight = 42
+ ButtonWidth = 68
+ Caption = 'ToolBar1'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ Images = ImageList1
+ ParentFont = False
+ ShowCaptions = True
+ TabOrder = 2
+ ExplicitLeft = 1
+ ExplicitWidth = 855
+ object ToolButton1: TToolButton
+ Left = 0
+ Top = 0
+ Caption = #54617#49373' '#46321#47197
+ ImageIndex = 0
+ OnClick = ToolButton1Click
+ end
+ object ToolButton2: TToolButton
+ Left = 68
+ Top = 0
+ Caption = #51200#51109
+ ImageIndex = 1
+ OnClick = ToolButton2Click
+ end
+ object ToolButton3: TToolButton
+ Left = 136
+ Top = 0
+ Caption = #49325#51228
+ ImageIndex = 2
+ OnClick = ToolButton3Click
+ end
+ object ToolButton4: TToolButton
+ Left = 204
+ Top = 0
+ Caption = #45803#44592
+ ImageIndex = 3
+ OnClick = ToolButton4Click
+ end
+ end
+ object ImageList1: TImageList
+ Left = 784
+ Top = 8
+ Bitmap = {
+ 494C010104000800040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
+ 0000000000003600000028000000400000002000000001002000000000000020
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000006D6D6D0000000000000000006D6D6D00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000006D6D6D0000000000000000006D6D6D00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000003535350000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00001E1E1E00E4E4E40000000000000000000000000000000000000000002323
+ 2300000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000F1F1F10000000000000000000000000000000000D7D7
+ D700000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000006D6D6D00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000006D6D6D00000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000006D6D6D00000000000000
+ 0000000000000000000000000000F9F9F9000000000000000000E8E8E8000000
+ 000000000000000000006D6D6D00000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000F5F5F500000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000F9F9F900000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000006D6D6D00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000006D6D6D00000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000006D6D6D00000000000000
+ 000000000000F1F1F1000000000000000000F5F5F50000000000000000000000
+ 000000000000000000006D6D6D00000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000E4E4E40000000000000000000000000000000000E8E8E800000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00001E1E1E000000000000000000000000000000000000000000D7D7D7002323
+ 2300000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000003535350000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000006D6D6D0000000000000000006D6D6D00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000006D6D6D0000000000000000006D6D6D00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000424D3E000000000000003E000000
+ 2800000040000000200000000100010000000000000100000000000000000000
+ 000000000000000000000000FFFFFF0000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000F81F0000F81FFFFFE1877FFEE187FE00
+ CFF37FFECFF3FE009FF97FFE9FF9FBFEBE7D7FFEB3EDF9FE3E7C7FFE39CCF8FE
+ 3E7C7FFE3C9C007E700E7FFE7E3E7F3E700E7FFE7C7E7F3E3E7C6006393C007E
+ 3E7C67E6339CF8FEBE7D6786B7CDF9FE9FF967869FF9FBFECFF36784CFF3FE00
+ E18767E1E187FE00F81F0003F81FFFFF00000000000000000000000000000000
+ 000000000000}
+ end
+end
diff --git a/40_Project/Meawinthebox/UStudent.pas b/40_Project/Meawinthebox/UStudent.pas
new file mode 100644
index 0000000..21605e6
--- /dev/null
+++ b/40_Project/Meawinthebox/UStudent.pas
@@ -0,0 +1,174 @@
+unit UStudent;
+
+interface
+
+uses
+ Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
+ Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Vcl.StdCtrls, Vcl.DBCtrls,
+ Vcl.Mask, Vcl.ExtCtrls, Vcl.Grids, Vcl.DBGrids, Vcl.ComCtrls,
+ System.ImageList, Vcl.ImgList, Vcl.ToolWin;
+
+type
+ TfrmStudent = class(TForm)
+ InformPnl: TPanel;
+ PageControl1: TPageControl;
+ TabSheet1: TTabSheet;
+ DBGrid2: TDBGrid;
+ TabSheet2: TTabSheet;
+ DBGrid3: TDBGrid;
+ TabSheet3: TTabSheet;
+ DBGrid4: TDBGrid;
+ GroupBox1: TGroupBox;
+ Image1: TImage;
+ GroupBox2: TGroupBox;
+ Label3: TLabel;
+ Label13: TLabel;
+ Label11: TLabel;
+ Label8: TLabel;
+ Label2: TLabel;
+ Label12: TLabel;
+ Label10: TLabel;
+ Label9: TLabel;
+ Label4: TLabel;
+ lblStudentCode: TLabel;
+ Label1: TLabel;
+ DBStudent_Address: TDBEdit;
+ DBStudent_Status: TDBEdit;
+ DBStudent_Discharge_Date: TDBEdit;
+ DBStudent_Admission_Date: TDBEdit;
+ DBStudent_Class: TDBEdit;
+ DBStudent_Grade: TDBEdit;
+ DBStudent_School: TDBEdit;
+ DBStudent_Sex: TDBEdit;
+ DBStudent_Birth: TDBEdit;
+ DBStudent_Code: TDBEdit;
+ DBStudent_Name: TDBEdit;
+ GroupBox3: TGroupBox;
+ Label7: TLabel;
+ Label5: TLabel;
+ Label6: TLabel;
+ DBStudent_Phone: TDBEdit;
+ DBStudent_Parent_Phone: TDBEdit;
+ DBStudent_Parent: TDBEdit;
+ GroupBox4: TGroupBox;
+ DBStudent_Memo: TDBMemo;
+ StudentListPnl: TPanel;
+ DBGrid1: TDBGrid;
+ SearchPnl: TPanel;
+ Label16: TLabel;
+ edtSearchStudent: TEdit;
+ ChkSearchName: TCheckBox;
+ ChkSearchSchool: TCheckBox;
+ CheckBox3: TCheckBox;
+ ToolBar1: TToolBar;
+ ToolButton1: TToolButton;
+ ToolButton2: TToolButton;
+ ToolButton3: TToolButton;
+ ImageList1: TImageList;
+ ToolButton4: TToolButton;
+ procedure edtSearchStudentKeyUp(Sender: TObject; var Key: Word;
+ Shift: TShiftState);
+ procedure ToolButton4Click(Sender: TObject);
+ procedure ToolButton1Click(Sender: TObject);
+ procedure ToolButton2Click(Sender: TObject);
+ procedure ToolButton3Click(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ frmStudent: TfrmStudent;
+
+implementation
+
+{$R *.dfm}
+
+uses UDataModule;
+
+procedure TfrmStudent.edtSearchStudentKeyUp(Sender: TObject; var Key: Word;
+ Shift: TShiftState);
+var
+ Filter: string;
+begin
+ Filter := '';
+ if edtSearchStudent.Text <> '' then
+ begin
+ if chkSearchName.Checked then
+ Filter := Format('STUDENT_NAME like ''%%%s%%''', [edtSearchStudent.Text]);
+ if chkSearchSchool.Checked then
+ begin
+ if Filter <> '' then
+ Filter := Filter + ' or ';
+ Filter := Filter + Format('STUDENT_SCHOOL like ''%%%s%%''', [edtSearchStudent.Text]);
+ end;
+ end;
+
+ UDM.Student_List.Filter := Filter;
+ UDM.Student_List.Filtered := (Filter <> '');
+
+end;
+
+procedure TfrmStudent.ToolButton1Click(Sender: TObject);
+begin
+ UDM.Student_List.Append;
+ DBStudent_Name.SetFocus;
+end;
+
+procedure TfrmStudent.ToolButton2Click(Sender: TObject);
+begin
+ if DBStudent_Code.Text = '' then
+ begin
+ ShowMessage('ÇйøÀ» ÀÔ·ÂÇϼ¼¿ä.');
+ DBStudent_Code.SetFocus;
+ Exit;
+ end;
+
+ if DBStudent_Name.Text = '' then
+ begin
+ ShowMessage('À̸§À» ÀÔ·ÂÇϼ¼¿ä.');
+ DBStudent_Name.SetFocus;
+ Exit;
+ end;
+
+ if DBStudent_Birth.Text = '' then
+ begin
+ ShowMessage('»ý³â¿ùÀÏÀ» ÀÔ·ÂÇϼ¼¿ä.');
+ DBStudent_Birth.SetFocus;
+ Exit;
+ end;
+
+ UDM.Student_List.Post;
+ UDM.Student_List.Refresh;
+end;
+
+procedure TfrmStudent.ToolButton3Click(Sender: TObject);
+Var
+Name, OutYn, Msg: string;
+begin
+ Name := UDM.Student_List.FieldByName('STUDENT_NAME').AsString;
+ OutYn := UDM.Student_List.FieldByName('STUDENT_STATUS').AsString;
+
+ if OutYn = 'Åð¿ø' then
+ begin
+ ShowMessage('ÀÌ¹Ì Åð¿øÇÑ ÇлýÀÔ´Ï´Ù.');
+ Exit;
+ end;
+
+ // Å»Åð ó¸®
+ if UDM.Student_List.State <> dsEdit then
+ UDM.Student_List.Edit;
+ UDM.Student_List.FieldByName('STUDENT_STATUS').AsString := 'Åð¿ø';
+ UDM.Student_List.FieldByName('STUDENT_DISCHARGE_DATE').AsDateTime := Now;
+ UDM.Student_List.Post;
+ UDM.Student_List.Refresh;
+
+end;
+
+procedure TfrmStudent.ToolButton4Click(Sender: TObject);
+begin
+ close;
+end;
+
+end.