From 3d70a0ecbf5c9739184e5976c1cb2de015ee0474 Mon Sep 17 00:00:00 2001 From: "jangbravo@naver.com" Date: Mon, 1 Jul 2019 17:36:00 +0900 Subject: [PATCH 1/6] =?UTF-8?q?=EC=BB=A4=EB=B0=8B=20=ED=85=8C=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8(=EC=9E=A5=EC=88=98=EC=B0=AC)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 20_Task/M1/10_Variable/VariableForm.pas | 2 ++ 1 file changed, 2 insertions(+) diff --git a/20_Task/M1/10_Variable/VariableForm.pas b/20_Task/M1/10_Variable/VariableForm.pas index ce9d2fe..524576a 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; From 81d2016d287b91d734f9eb197972fb7c7961444b Mon Sep 17 00:00:00 2001 From: "jangbravo@naver.com" Date: Tue, 2 Jul 2019 21:30:12 +0900 Subject: [PATCH 2/6] =?UTF-8?q?2019-07-02=20=EA=B3=BC=EC=A0=9C=20=EC=A0=9C?= =?UTF-8?q?=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 20_Task/M1/10_Variable/VariableForm.pas | 5 +++-- 20_Task/M1/20_Function/FunctionForm.pas | 26 ++++++++++++++++++++++++- 20_Task/M1/30_Array/ArrayForm.pas | 18 +++++++++++++++++ 3 files changed, 46 insertions(+), 3 deletions(-) diff --git a/20_Task/M1/10_Variable/VariableForm.pas b/20_Task/M1/10_Variable/VariableForm.pas index 524576a..e5c5af4 100644 --- a/20_Task/M1/10_Variable/VariableForm.pas +++ b/20_Task/M1/10_Variable/VariableForm.pas @@ -20,7 +20,7 @@ TForm1 = class(TForm) // ÀÌ Æû(À¯´Ö)¿¡¼­¸¸ »ç¿ëÇÏ´Â º¯¼ö¿Í ÇÔ¼ö¸¦ ¼±¾ð { TODO : (1) Á¤¼ö Çü FSum º¯¼ö¸¦ ¼±¾ðÇϼ¼¿ä. } - + Fsum : integer; function AddNum(ANum: Integer): Integer; public // ´Ù¸¥ À¯´Ö¿¡¼­ ÂüÁ¶ÇÒ ¼ö ÀÖ´Â º¯¼ö¿Í ÇÔ¼ö ¼±¾ð @@ -38,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)); From 29bd6bfd068bab84d96393b319f63556654d4da3 Mon Sep 17 00:00:00 2001 From: "jangbravo@naver.com" Date: Mon, 8 Jul 2019 08:55:27 +0900 Subject: [PATCH 3/6] Calculator --- 20_Task/M2/Meawinthebox/Cal.dfm | 304 +++++++++++ 20_Task/M2/Meawinthebox/Cal.pas | 193 +++++++ 20_Task/M2/Meawinthebox/Calculator.dpr | 14 + 20_Task/M2/Meawinthebox/Calculator.dproj | 612 +++++++++++++++++++++++ 4 files changed, 1123 insertions(+) create mode 100644 20_Task/M2/Meawinthebox/Cal.dfm create mode 100644 20_Task/M2/Meawinthebox/Cal.pas create mode 100644 20_Task/M2/Meawinthebox/Calculator.dpr create mode 100644 20_Task/M2/Meawinthebox/Calculator.dproj diff --git a/20_Task/M2/Meawinthebox/Cal.dfm b/20_Task/M2/Meawinthebox/Cal.dfm new file mode 100644 index 0000000..298224a --- /dev/null +++ b/20_Task/M2/Meawinthebox/Cal.dfm @@ -0,0 +1,304 @@ +object Form1: TForm1 + Left = 0 + Top = 0 + Caption = 'Form1' + ClientHeight = 318 + ClientWidth = 229 + 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 = 95 + Top = 6 + 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 = 118 + Top = 35 + 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 = 8 + Top = 174 + 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 = 63 + Top = 174 + 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 = 118 + Top = 174 + 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 = 8 + Top = 119 + 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 = 63 + Top = 119 + 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 = 118 + Top = 119 + 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 = 8 + Top = 64 + 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 = 63 + Top = 64 + 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 = 118 + Top = 64 + 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 = 63 + Top = 229 + 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 = 118 + Top = 229 + 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 = 8 + Top = 229 + 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 = 173 + Top = 64 + 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 = 173 + Top = 119 + 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 = 173 + Top = 174 + 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 = 173 + Top = 229 + 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 = 8 + Top = 8 + Width = 81 + Height = 21 + TabOrder = 16 + end + object Edit2: TEdit + Left = 144 + Top = 8 + Width = 78 + Height = 21 + TabOrder = 17 + end + object Edit3: TEdit + Left = 144 + Top = 37 + 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..027c2f1 --- /dev/null +++ b/20_Task/M2/Meawinthebox/Cal.pas @@ -0,0 +1,193 @@ +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 + 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; + 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 + + +
Form1
+ 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 + + + + +
From 9b2f81b63ec15cda9363e49faf0690753afd9e66 Mon Sep 17 00:00:00 2001 From: "jangbravo@naver.com" Date: Mon, 8 Jul 2019 15:18:44 +0900 Subject: [PATCH 4/6] Calculator --- 20_Task/M2/Meawinthebox/Cal.dfm | 88 ++++++++++++++++----------------- 20_Task/M2/Meawinthebox/Cal.pas | 5 ++ 2 files changed, 49 insertions(+), 44 deletions(-) diff --git a/20_Task/M2/Meawinthebox/Cal.dfm b/20_Task/M2/Meawinthebox/Cal.dfm index 298224a..8bb4766 100644 --- a/20_Task/M2/Meawinthebox/Cal.dfm +++ b/20_Task/M2/Meawinthebox/Cal.dfm @@ -2,8 +2,8 @@ object Form1: TForm1 Left = 0 Top = 0 Caption = 'Form1' - ClientHeight = 318 - ClientWidth = 229 + ClientHeight = 272 + ClientWidth = 214 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -15,8 +15,8 @@ object Form1: TForm1 PixelsPerInch = 96 TextHeight = 13 object Label1: TLabel - Left = 95 - Top = 6 + Left = 96 + Top = 0 Width = 34 Height = 23 Caption = #50672#49328 @@ -28,8 +28,8 @@ object Form1: TForm1 ParentFont = False end object Label2: TLabel - Left = 118 - Top = 35 + Left = 110 + Top = 29 Width = 14 Height = 23 Caption = '=' @@ -41,8 +41,8 @@ object Form1: TForm1 ParentFont = False end object Button1: TButton - Left = 8 - Top = 174 + Left = 0 + Top = 168 Width = 49 Height = 49 Caption = '1' @@ -56,8 +56,8 @@ object Form1: TForm1 OnClick = Button1Click end object Button2: TButton - Left = 63 - Top = 174 + Left = 55 + Top = 168 Width = 49 Height = 49 Caption = '2' @@ -71,8 +71,8 @@ object Form1: TForm1 OnClick = Button2Click end object Button3: TButton - Left = 118 - Top = 174 + Left = 110 + Top = 168 Width = 49 Height = 49 Caption = '3' @@ -86,8 +86,8 @@ object Form1: TForm1 OnClick = Button3Click end object Button4: TButton - Left = 8 - Top = 119 + Left = 0 + Top = 113 Width = 49 Height = 49 Caption = '4' @@ -101,8 +101,8 @@ object Form1: TForm1 OnClick = Button4Click end object Button5: TButton - Left = 63 - Top = 119 + Left = 55 + Top = 113 Width = 49 Height = 49 Caption = '5' @@ -116,8 +116,8 @@ object Form1: TForm1 OnClick = Button5Click end object Button6: TButton - Left = 118 - Top = 119 + Left = 110 + Top = 113 Width = 49 Height = 49 Caption = '6' @@ -131,8 +131,8 @@ object Form1: TForm1 OnClick = Button6Click end object Button7: TButton - Left = 8 - Top = 64 + Left = 0 + Top = 58 Width = 49 Height = 49 Caption = '7' @@ -146,8 +146,8 @@ object Form1: TForm1 OnClick = Button7Click end object Button8: TButton - Left = 63 - Top = 64 + Left = 55 + Top = 58 Width = 49 Height = 49 Caption = '8' @@ -161,8 +161,8 @@ object Form1: TForm1 OnClick = Button8Click end object Button9: TButton - Left = 118 - Top = 64 + Left = 110 + Top = 58 Width = 49 Height = 49 Caption = '9' @@ -176,8 +176,8 @@ object Form1: TForm1 OnClick = Button9Click end object Button10: TButton - Left = 63 - Top = 229 + Left = 55 + Top = 223 Width = 49 Height = 49 Caption = '0' @@ -191,8 +191,8 @@ object Form1: TForm1 OnClick = Button10Click end object Button11: TButton - Left = 118 - Top = 229 + Left = 110 + Top = 223 Width = 49 Height = 49 Caption = '=' @@ -206,8 +206,8 @@ object Form1: TForm1 OnClick = Button11Click end object Button12: TButton - Left = 8 - Top = 229 + Left = 0 + Top = 223 Width = 49 Height = 49 Caption = 'C' @@ -221,8 +221,8 @@ object Form1: TForm1 OnClick = Button12Click end object Button13: TButton - Left = 173 - Top = 64 + Left = 165 + Top = 58 Width = 49 Height = 49 Caption = '+' @@ -236,8 +236,8 @@ object Form1: TForm1 OnClick = Button13Click end object Button14: TButton - Left = 173 - Top = 119 + Left = 165 + Top = 113 Width = 49 Height = 49 Caption = '-' @@ -251,8 +251,8 @@ object Form1: TForm1 OnClick = Button14Click end object Button15: TButton - Left = 173 - Top = 174 + Left = 165 + Top = 168 Width = 49 Height = 49 Caption = '*' @@ -266,8 +266,8 @@ object Form1: TForm1 OnClick = Button15Click end object Button16: TButton - Left = 173 - Top = 229 + Left = 165 + Top = 223 Width = 49 Height = 49 Caption = '/' @@ -281,22 +281,22 @@ object Form1: TForm1 OnClick = Button16Click end object Edit1: TEdit - Left = 8 - Top = 8 + Left = 0 + Top = 2 Width = 81 Height = 21 TabOrder = 16 end object Edit2: TEdit - Left = 144 - Top = 8 + Left = 136 + Top = 2 Width = 78 Height = 21 TabOrder = 17 end object Edit3: TEdit - Left = 144 - Top = 37 + Left = 136 + Top = 31 Width = 78 Height = 21 TabOrder = 18 diff --git a/20_Task/M2/Meawinthebox/Cal.pas b/20_Task/M2/Meawinthebox/Cal.pas index 027c2f1..f0dc90d 100644 --- a/20_Task/M2/Meawinthebox/Cal.pas +++ b/20_Task/M2/Meawinthebox/Cal.pas @@ -75,12 +75,17 @@ procedure TForm1.Button11Click(Sender: TObject); 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; From 0f6ac0bb498be8f4b5fc6627db23a44dac75b97e Mon Sep 17 00:00:00 2001 From: Meawinthebox Date: Wed, 24 Jul 2019 17:30:45 +0900 Subject: [PATCH 5/6] =?UTF-8?q?=EC=BB=A4=EB=B0=8B=20=ED=85=8C=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 40_Project/Meawinthebox/Project_Academy.dpr | 14 + 40_Project/Meawinthebox/Project_Academy.dproj | 612 ++++++++++++++++++ 40_Project/Meawinthebox/Project_Academy.res | Bin 0 -> 59556 bytes 40_Project/Meawinthebox/UMain.dfm | 602 +++++++++++++++++ 40_Project/Meawinthebox/UMain.pas | 100 +++ 5 files changed, 1328 insertions(+) create mode 100644 40_Project/Meawinthebox/Project_Academy.dpr create mode 100644 40_Project/Meawinthebox/Project_Academy.dproj create mode 100644 40_Project/Meawinthebox/Project_Academy.res create mode 100644 40_Project/Meawinthebox/UMain.dfm create mode 100644 40_Project/Meawinthebox/UMain.pas diff --git a/40_Project/Meawinthebox/Project_Academy.dpr b/40_Project/Meawinthebox/Project_Academy.dpr new file mode 100644 index 0000000..c637d7b --- /dev/null +++ b/40_Project/Meawinthebox/Project_Academy.dpr @@ -0,0 +1,14 @@ +program Project_Academy; + +uses + Vcl.Forms, + UMain in 'UMain.pas' {Form1}; + +{$R *.res} + +begin + Application.Initialize; + Application.MainFormOnTaskbar := True; + Application.CreateForm(TForm1, Form1); + 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..099c7e0 --- /dev/null +++ b/40_Project/Meawinthebox/Project_Academy.dproj @@ -0,0 +1,612 @@ + + + {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 + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + true + PerMonitorV2 + + + + MainSource + + +
Form1
+ dfm +
+ + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + Delphi.Personality.12 + Application + + + + Project_Academy.dpr + + + + + + 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 0000000000000000000000000000000000000000..8b044a3a9194e51b930b9bd7551c2b3fd88cb43c GIT binary patch literal 59556 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 + DesignSize = ( + 968 + 143) + StyleName = 'Ribbon - Luna' + object RibbonPage2: TRibbonPage + Left = 0 + Top = 50 + Width = 967 + Height = 93 + Caption = #48152#48324#44288#47532 + Index = 1 + end + object RibbonPage3: TRibbonPage + Left = 0 + Top = 50 + Width = 967 + Height = 93 + Caption = #44053#51340#44288#47532 + Index = 2 + end + object RibbonPage4: TRibbonPage + Left = 0 + Top = 50 + Width = 967 + Height = 93 + Caption = #44277#51648 + Index = 3 + end + object RibbonPage1: TRibbonPage + Left = 0 + Top = 50 + Width = 967 + Height = 93 + Caption = #54617#49373#44288#47532 + Index = 0 + object RibbonGroup1: TRibbonGroup + Left = 4 + Top = 3 + Width = 100 + Height = 86 + Caption = #52628#44032 + GroupIndex = 0 + end + object RibbonGroup2: TRibbonGroup + Left = 106 + Top = 3 + Width = 99 + Height = 86 + Caption = #49688#51221 + GroupIndex = 1 + end + object RibbonGroup3: TRibbonGroup + Left = 207 + Top = 3 + Width = 100 + Height = 86 + Caption = #49325#51228 + GroupIndex = 2 + end + end + end + object Panel2: TPanel + Left = 0 + Top = 143 + Width = 307 + Height = 548 + Align = alLeft + Caption = 'Panel2' + TabOrder = 1 + object Splitter1: TSplitter + Left = 304 + Top = 49 + Width = 2 + Height = 498 + Align = alRight + ExplicitLeft = 302 + ExplicitTop = 65 + ExplicitHeight = 458 + end + object DBGrid1: TDBGrid + Left = 1 + Top = 49 + Width = 303 + Height = 498 + 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 = -11 + TitleFont.Name = 'Tahoma' + TitleFont.Style = [] + Columns = < + item + Expanded = False + FieldName = 'STUDENT_CODE' + Title.Caption = #54617#49373#48264#54840 + Width = 82 + Visible = True + end + item + Expanded = False + FieldName = 'STUDENT_NAME' + Width = 50 + Visible = True + end + item + Expanded = False + FieldName = 'STUDENT_BIRTH' + Visible = True + end + item + Expanded = False + FieldName = 'STUDENT_PHONE' + Visible = True + end> + end + object SearchPnl: TPanel + Left = 1 + Top = 1 + Width = 305 + Height = 48 + Align = alTop + TabOrder = 1 + ExplicitWidth = 301 + object Label16: TLabel + Left = 13 + Top = 5 + Width = 22 + Height = 13 + Caption = #44160#49353 + end + object Edit1: TEdit + Left = 56 + Top = 1 + Width = 240 + Height = 21 + TabOrder = 0 + Text = 'Edit1' + end + object CheckBox1: TCheckBox + Left = 1 + Top = 25 + Width = 97 + Height = 17 + Caption = #51060#47492 + TabOrder = 1 + end + object CheckBox2: TCheckBox + Left = 104 + Top = 25 + Width = 97 + Height = 17 + Caption = #54617#44368 + TabOrder = 2 + end + object CheckBox3: TCheckBox + Left = 202 + Top = 25 + Width = 97 + Height = 17 + Caption = #48152 + TabOrder = 3 + end + end + end + object InformPnl: TPanel + Left = 307 + Top = 143 + Width = 661 + Height = 548 + Align = alClient + TabOrder = 2 + ExplicitLeft = 319 + ExplicitWidth = 665 + object PageControl1: TPageControl + Left = 1 + Top = 345 + Width = 659 + Height = 202 + ActivePage = TabSheet3 + Align = alBottom + TabOrder = 0 + ExplicitWidth = 663 + object TabSheet1: TTabSheet + Caption = #49457#51201 + ExplicitWidth = 655 + ExplicitHeight = 167 + object DBGrid2: TDBGrid + Left = 0 + Top = 0 + Width = 651 + Height = 174 + 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 TabSheet2: TTabSheet + Caption = #52636#49437 + ImageIndex = 1 + ExplicitWidth = 655 + ExplicitHeight = 167 + object DBGrid3: TDBGrid + Left = 0 + Top = 0 + Width = 651 + Height = 174 + 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 + ExplicitWidth = 655 + ExplicitHeight = 167 + object DBGrid4: TDBGrid + Left = 0 + Top = 0 + Width = 651 + Height = 174 + 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 = 3 + Top = 2 + Width = 158 + Height = 193 + Caption = #49324#51652 + TabOrder = 1 + object DBImage1: TDBImage + Left = 2 + Top = 15 + Width = 154 + Height = 176 + Align = alClient + TabOrder = 0 + ExplicitLeft = 6 + ExplicitTop = -82 + ExplicitWidth = 147 + ExplicitHeight = 187 + end + end + object GroupBox2: TGroupBox + Left = 167 + Top = 0 + Width = 490 + Height = 195 + Caption = #51064#51201#49324#54637 + TabOrder = 2 + object Label3: TLabel + Left = 7 + Top = 168 + Width = 22 + Height = 13 + Caption = #51452#49548 + end + object Label13: TLabel + Left = 286 + Top = 105 + Width = 44 + Height = 13 + Caption = #51116#50896#50668#48512 + end + object Label11: TLabel + Left = 7 + Top = 132 + Width = 44 + Height = 13 + Caption = #53748#50896#51068#51088 + end + object Label8: TLabel + Left = 7 + Top = 105 + Width = 44 + Height = 13 + Caption = #51077#54617#51068#51088 + end + object Label2: TLabel + Left = 261 + Top = 72 + Width = 11 + Height = 13 + Caption = #48152 + end + object Label12: TLabel + Left = 136 + Top = 72 + Width = 22 + Height = 13 + Caption = #54617#45380 + end + object Label10: TLabel + Left = 7 + Top = 78 + Width = 22 + Height = 13 + Caption = #54617#44368 + end + object Label9: TLabel + Left = 176 + Top = 45 + Width = 22 + Height = 13 + Caption = #49457#48324 + end + object Label4: TLabel + Left = 7 + Top = 49 + Width = 44 + Height = 13 + Caption = #49373#45380#50900#51068 + end + object lblStudentCode: TLabel + Left = 176 + Top = 23 + Width = 44 + Height = 13 + Caption = #54617#49373#53076#46300 + end + object Label1: TLabel + Left = 7 + Top = 18 + Width = 22 + Height = 13 + Caption = #51060#47492 + end + object DBEdit11: TDBEdit + Left = 57 + Top = 165 + Width = 216 + Height = 21 + TabOrder = 0 + end + object DBEdit14: TDBEdit + Left = 344 + Top = 102 + Width = 41 + Height = 21 + TabOrder = 1 + end + object DBEdit13: TDBEdit + Left = 57 + Top = 129 + Width = 216 + Height = 21 + TabOrder = 2 + end + object DBEdit12: TDBEdit + Left = 57 + Top = 102 + Width = 216 + Height = 21 + TabOrder = 3 + end + object DBEdit10: TDBEdit + Left = 287 + Top = 69 + Width = 115 + Height = 21 + TabOrder = 4 + end + object DBEdit4: TDBEdit + Left = 176 + Top = 69 + Width = 63 + Height = 21 + TabOrder = 5 + end + object DBEdit3: TDBEdit + Left = 57 + Top = 69 + Width = 63 + Height = 21 + TabOrder = 6 + end + object DBEdit9: TDBEdit + Left = 226 + Top = 42 + Width = 39 + Height = 21 + TabOrder = 7 + end + object DBEdit2: TDBEdit + Left = 57 + Top = 42 + Width = 113 + Height = 21 + DataField = 'STUDENT_BIRTH' + DataSource = DataSource1 + TabOrder = 8 + end + object DBEdit8: TDBEdit + Left = 226 + Top = 15 + Width = 87 + Height = 21 + DataField = 'STUDENT_CODE' + DataSource = DataSource1 + TabOrder = 9 + end + object DBEdit1: TDBEdit + Left = 57 + Top = 15 + Width = 113 + Height = 21 + DataField = 'STUDENT_NAME' + DataSource = DataSource1 + TabOrder = 10 + end + end + object GroupBox3: TGroupBox + Left = 6 + Top = 201 + Width = 215 + Height = 145 + Caption = #50672#46973#52376 + TabOrder = 3 + object Label7: TLabel + Left = 11 + Top = 15 + Width = 41 + Height = 13 + Caption = ' '#54617#49373' HP' + end + object Label5: TLabel + Left = 14 + Top = 53 + Width = 49 + Height = 13 + Caption = #48372#54840#51088' HP' + end + object Label6: TLabel + Left = 17 + Top = 95 + Width = 40 + Height = 18 + Caption = #48372#54840#51088 + end + object DBEdit5: TDBEdit + Left = 13 + Top = 30 + Width = 153 + Height = 17 + DataField = 'STUDENT_PHONE' + DataSource = DataSource1 + TabOrder = 0 + end + object DBEdit6: TDBEdit + Left = 13 + Top = 72 + Width = 154 + Height = 17 + TabOrder = 1 + end + object DBEdit7: TDBEdit + Left = 14 + Top = 111 + Width = 62 + Height = 17 + TabOrder = 2 + end + end + object GroupBox4: TGroupBox + Left = 224 + Top = 201 + Width = 433 + Height = 145 + Caption = #47700#47784 + TabOrder = 4 + object Label14: TLabel + Left = 3 + Top = 12 + Width = 47 + Height = 13 + Caption = #54617#49373' '#47700#47784 + end + object Label15: TLabel + Left = 265 + Top = 12 + Width = 58 + Height = 13 + Caption = #54617#48512#47784' '#47700#47784 + end + object DBMemo1: TDBMemo + Left = 3 + Top = 31 + Width = 256 + Height = 107 + TabOrder = 0 + end + object DBMemo2: TDBMemo + Left = 265 + Top = 31 + Width = 162 + Height = 107 + TabOrder = 1 + end + end + end + object DataSource1: TDataSource + DataSet = FDTable1 + Left = 688 + Top = 96 + end + object FDConnection1: TFDConnection + Params.Strings = ( + 'Database=C:\ACADEMY\ACADEMY.IB' + 'User_Name=SYSDBA' + 'Password=masterkey' + 'CharacterSet=UTF8' + 'DriverID=IB') + Connected = True + LoginPrompt = False + Left = 256 + Top = 96 + end + object FDPhysIBDriverLink1: TFDPhysIBDriverLink + Left = 368 + Top = 96 + end + object FDGUIxWaitCursor1: TFDGUIxWaitCursor + Provider = 'Forms' + Left = 504 + Top = 96 + end + object FDTable1: TFDTable + Active = True + IndexFieldNames = 'STUDENT_CODE' + Connection = FDConnection1 + UpdateOptions.UpdateTableName = 'INFORM' + TableName = 'INFORM' + Left = 608 + Top = 96 + end + object FDQuery1: TFDQuery + Connection = FDConnection1 + Left = 368 + Top = 32 + end +end diff --git a/40_Project/Meawinthebox/UMain.pas b/40_Project/Meawinthebox/UMain.pas new file mode 100644 index 0000000..76634f0 --- /dev/null +++ b/40_Project/Meawinthebox/UMain.pas @@ -0,0 +1,100 @@ +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; + +type + TForm1 = class(TForm) + Ribbon1: TRibbon; + RibbonPage1: TRibbonPage; + RibbonGroup1: TRibbonGroup; + RibbonPage2: TRibbonPage; + RibbonPage3: TRibbonPage; + RibbonPage4: TRibbonPage; + RibbonGroup2: TRibbonGroup; + RibbonGroup3: TRibbonGroup; + Panel2: TPanel; + InformPnl: TPanel; + DBGrid1: TDBGrid; + PageControl1: TPageControl; + TabSheet1: TTabSheet; + TabSheet2: TTabSheet; + DBGrid2: TDBGrid; + TabSheet3: TTabSheet; + Splitter1: TSplitter; + SearchPnl: TPanel; + Edit1: TEdit; + CheckBox1: TCheckBox; + CheckBox2: TCheckBox; + CheckBox3: TCheckBox; + DBGrid3: TDBGrid; + DBGrid4: TDBGrid; + DataSource1: TDataSource; + FDConnection1: TFDConnection; + FDPhysIBDriverLink1: TFDPhysIBDriverLink; + FDGUIxWaitCursor1: TFDGUIxWaitCursor; + FDTable1: TFDTable; + GroupBox1: TGroupBox; + DBImage1: TDBImage; + GroupBox2: TGroupBox; + FDQuery1: TFDQuery; + DBEdit11: TDBEdit; + Label3: TLabel; + Label13: TLabel; + DBEdit14: TDBEdit; + DBEdit13: TDBEdit; + Label11: TLabel; + DBEdit12: TDBEdit; + Label8: TLabel; + Label2: TLabel; + DBEdit10: TDBEdit; + DBEdit4: TDBEdit; + Label12: TLabel; + DBEdit3: TDBEdit; + Label10: TLabel; + DBEdit9: TDBEdit; + Label9: TLabel; + DBEdit2: TDBEdit; + Label4: TLabel; + DBEdit8: TDBEdit; + lblStudentCode: TLabel; + DBEdit1: TDBEdit; + Label1: TLabel; + GroupBox3: TGroupBox; + Label7: TLabel; + DBEdit5: TDBEdit; + DBEdit6: TDBEdit; + Label5: TLabel; + Label6: TLabel; + DBEdit7: TDBEdit; + GroupBox4: TGroupBox; + Label14: TLabel; + DBMemo1: TDBMemo; + Label15: TLabel; + DBMemo2: TDBMemo; + Label16: TLabel; + private + { Private declarations } + public + { Public declarations } + end; + +var + Form1: TForm1; + +implementation + +{$R *.dfm} + +end. From f3c957fb07acf68667b882099723595f2488d046 Mon Sep 17 00:00:00 2001 From: Meawinthebox Date: Fri, 26 Jul 2019 17:32:03 +0900 Subject: [PATCH 6/6] =?UTF-8?q?=ED=95=99=EC=9B=90=20=EA=B4=80=EB=A6=AC=20?= =?UTF-8?q?=ED=94=84=EB=A1=9C=EC=A0=9D=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 40_Project/Meawinthebox/Project_Academy.dpr | 8 +- 40_Project/Meawinthebox/Project_Academy.dproj | 19 + 40_Project/Meawinthebox/UClass.dfm | 376 ++++++++ 40_Project/Meawinthebox/UClass.pas | 64 ++ 40_Project/Meawinthebox/UDataModule.dfm | 76 ++ 40_Project/Meawinthebox/UDataModule.pas | 39 + 40_Project/Meawinthebox/UMain.dfm | 768 ++++----------- 40_Project/Meawinthebox/UMain.pas | 107 +-- 40_Project/Meawinthebox/UStudent.dfm | 891 ++++++++++++++++++ 40_Project/Meawinthebox/UStudent.pas | 174 ++++ 10 files changed, 1875 insertions(+), 647 deletions(-) create mode 100644 40_Project/Meawinthebox/UClass.dfm create mode 100644 40_Project/Meawinthebox/UClass.pas create mode 100644 40_Project/Meawinthebox/UDataModule.dfm create mode 100644 40_Project/Meawinthebox/UDataModule.pas create mode 100644 40_Project/Meawinthebox/UStudent.dfm create mode 100644 40_Project/Meawinthebox/UStudent.pas diff --git a/40_Project/Meawinthebox/Project_Academy.dpr b/40_Project/Meawinthebox/Project_Academy.dpr index c637d7b..2fe74f4 100644 --- a/40_Project/Meawinthebox/Project_Academy.dpr +++ b/40_Project/Meawinthebox/Project_Academy.dpr @@ -2,7 +2,10 @@ program Project_Academy; uses Vcl.Forms, - UMain in 'UMain.pas' {Form1}; + UMain in 'UMain.pas' {Form1}, + UDataModule in 'UDataModule.pas' {UDM: TDataModule}, + UClass in 'UClass.pas' {frmClass}, + UStudent in 'UStudent.pas' {frmStudent}; {$R *.res} @@ -10,5 +13,8 @@ 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 index 099c7e0..6d62817 100644 --- a/40_Project/Meawinthebox/Project_Academy.dproj +++ b/40_Project/Meawinthebox/Project_Academy.dproj @@ -83,6 +83,8 @@ false true PerMonitorV2 + true + 1033 false @@ -102,6 +104,19 @@
Form1
dfm + +
UDM
+ dfm + TDataModule +
+ +
frmClass
+ dfm +
+ +
frmStudent
+ dfm +
Cfg_2 Base @@ -122,6 +137,10 @@ Project_Academy.dpr + + Microsoft Office 2000 Sample Automation Server Wrapper Components + Microsoft Office XP Sample Automation Server Wrapper Components + 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 index 8fcec91..07b4636 100644 --- a/40_Project/Meawinthebox/UMain.dfm +++ b/40_Project/Meawinthebox/UMain.dfm @@ -1,9 +1,10 @@ object Form1: TForm1 Left = 0 Top = 0 - Caption = 'Form1' - ClientHeight = 691 - ClientWidth = 968 + AutoSize = True + Caption = #54617#49373' '#44288#47532' '#54532#47196#44536#47016 + ClientHeight = 606 + ClientWidth = 891 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -14,589 +15,202 @@ object Form1: TForm1 Position = poDesigned PixelsPerInch = 96 TextHeight = 13 - object Ribbon1: TRibbon + object ToolBar1: TToolBar Left = 0 Top = 0 - Width = 968 - Height = 143 - Caption = #54617#50896' '#44288#47532' '#54532#47196#44536#47016 - Tabs = < - item - Caption = #54617#49373#44288#47532 - Page = RibbonPage1 - end - item - Caption = #48152#48324#44288#47532 - Page = RibbonPage2 - end - item - Caption = #44053#51340#44288#47532 - Page = RibbonPage3 - end - item - Caption = #44277#51648 - Page = RibbonPage4 - end> - DesignSize = ( - 968 - 143) - StyleName = 'Ribbon - Luna' - object RibbonPage2: TRibbonPage + 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 = 50 - Width = 967 - Height = 93 - Caption = #48152#48324#44288#47532 - Index = 1 - end - object RibbonPage3: TRibbonPage - Left = 0 - Top = 50 - Width = 967 - Height = 93 - Caption = #44053#51340#44288#47532 - Index = 2 - end - object RibbonPage4: TRibbonPage - Left = 0 - Top = 50 - Width = 967 - Height = 93 - Caption = #44277#51648 - Index = 3 - end - object RibbonPage1: TRibbonPage - Left = 0 - Top = 50 - Width = 967 - Height = 93 + Top = 0 Caption = #54617#49373#44288#47532 - Index = 0 - object RibbonGroup1: TRibbonGroup - Left = 4 - Top = 3 - Width = 100 - Height = 86 - Caption = #52628#44032 - GroupIndex = 0 - end - object RibbonGroup2: TRibbonGroup - Left = 106 - Top = 3 - Width = 99 - Height = 86 - Caption = #49688#51221 - GroupIndex = 1 - end - object RibbonGroup3: TRibbonGroup - Left = 207 - Top = 3 - Width = 100 - Height = 86 - Caption = #49325#51228 - GroupIndex = 2 - end - end - end - object Panel2: TPanel - Left = 0 - Top = 143 - Width = 307 - Height = 548 - Align = alLeft - Caption = 'Panel2' - TabOrder = 1 - object Splitter1: TSplitter - Left = 304 - Top = 49 - Width = 2 - Height = 498 - Align = alRight - ExplicitLeft = 302 - ExplicitTop = 65 - ExplicitHeight = 458 - end - object DBGrid1: TDBGrid - Left = 1 - Top = 49 - Width = 303 - Height = 498 - 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 = -11 - TitleFont.Name = 'Tahoma' - TitleFont.Style = [] - Columns = < - item - Expanded = False - FieldName = 'STUDENT_CODE' - Title.Caption = #54617#49373#48264#54840 - Width = 82 - Visible = True - end - item - Expanded = False - FieldName = 'STUDENT_NAME' - Width = 50 - Visible = True - end - item - Expanded = False - FieldName = 'STUDENT_BIRTH' - Visible = True - end - item - Expanded = False - FieldName = 'STUDENT_PHONE' - Visible = True - end> - end - object SearchPnl: TPanel - Left = 1 - Top = 1 - Width = 305 - Height = 48 - Align = alTop - TabOrder = 1 - ExplicitWidth = 301 - object Label16: TLabel - Left = 13 - Top = 5 - Width = 22 - Height = 13 - Caption = #44160#49353 - end - object Edit1: TEdit - Left = 56 - Top = 1 - Width = 240 - Height = 21 - TabOrder = 0 - Text = 'Edit1' - end - object CheckBox1: TCheckBox - Left = 1 - Top = 25 - Width = 97 - Height = 17 - Caption = #51060#47492 - TabOrder = 1 - end - object CheckBox2: TCheckBox - Left = 104 - Top = 25 - Width = 97 - Height = 17 - Caption = #54617#44368 - TabOrder = 2 - end - object CheckBox3: TCheckBox - Left = 202 - Top = 25 - Width = 97 - Height = 17 - Caption = #48152 - TabOrder = 3 - end + ImageIndex = 0 + ParentShowHint = False + ShowHint = False + OnClick = ToolButton1Click end - end - object InformPnl: TPanel - Left = 307 - Top = 143 - Width = 661 - Height = 548 - Align = alClient - TabOrder = 2 - ExplicitLeft = 319 - ExplicitWidth = 665 - object PageControl1: TPageControl - Left = 1 - Top = 345 - Width = 659 - Height = 202 - ActivePage = TabSheet3 - Align = alBottom - TabOrder = 0 - ExplicitWidth = 663 - object TabSheet1: TTabSheet - Caption = #49457#51201 - ExplicitWidth = 655 - ExplicitHeight = 167 - object DBGrid2: TDBGrid - Left = 0 - Top = 0 - Width = 651 - Height = 174 - 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 TabSheet2: TTabSheet - Caption = #52636#49437 - ImageIndex = 1 - ExplicitWidth = 655 - ExplicitHeight = 167 - object DBGrid3: TDBGrid - Left = 0 - Top = 0 - Width = 651 - Height = 174 - 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 - ExplicitWidth = 655 - ExplicitHeight = 167 - object DBGrid4: TDBGrid - Left = 0 - Top = 0 - Width = 651 - Height = 174 - 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 = 3 - Top = 2 - Width = 158 - Height = 193 - Caption = #49324#51652 - TabOrder = 1 - object DBImage1: TDBImage - Left = 2 - Top = 15 - Width = 154 - Height = 176 - Align = alClient - TabOrder = 0 - ExplicitLeft = 6 - ExplicitTop = -82 - ExplicitWidth = 147 - ExplicitHeight = 187 - end - end - object GroupBox2: TGroupBox - Left = 167 + object ToolButton2: TToolButton + Left = 71 Top = 0 - Width = 490 - Height = 195 - Caption = #51064#51201#49324#54637 - TabOrder = 2 - object Label3: TLabel - Left = 7 - Top = 168 - Width = 22 - Height = 13 - Caption = #51452#49548 - end - object Label13: TLabel - Left = 286 - Top = 105 - Width = 44 - Height = 13 - Caption = #51116#50896#50668#48512 - end - object Label11: TLabel - Left = 7 - Top = 132 - Width = 44 - Height = 13 - Caption = #53748#50896#51068#51088 - end - object Label8: TLabel - Left = 7 - Top = 105 - Width = 44 - Height = 13 - Caption = #51077#54617#51068#51088 - end - object Label2: TLabel - Left = 261 - Top = 72 - Width = 11 - Height = 13 - Caption = #48152 - end - object Label12: TLabel - Left = 136 - Top = 72 - Width = 22 - Height = 13 - Caption = #54617#45380 - end - object Label10: TLabel - Left = 7 - Top = 78 - Width = 22 - Height = 13 - Caption = #54617#44368 - end - object Label9: TLabel - Left = 176 - Top = 45 - Width = 22 - Height = 13 - Caption = #49457#48324 - end - object Label4: TLabel - Left = 7 - Top = 49 - Width = 44 - Height = 13 - Caption = #49373#45380#50900#51068 - end - object lblStudentCode: TLabel - Left = 176 - Top = 23 - Width = 44 - Height = 13 - Caption = #54617#49373#53076#46300 - end - object Label1: TLabel - Left = 7 - Top = 18 - Width = 22 - Height = 13 - Caption = #51060#47492 - end - object DBEdit11: TDBEdit - Left = 57 - Top = 165 - Width = 216 - Height = 21 - TabOrder = 0 - end - object DBEdit14: TDBEdit - Left = 344 - Top = 102 - Width = 41 - Height = 21 - TabOrder = 1 - end - object DBEdit13: TDBEdit - Left = 57 - Top = 129 - Width = 216 - Height = 21 - TabOrder = 2 - end - object DBEdit12: TDBEdit - Left = 57 - Top = 102 - Width = 216 - Height = 21 - TabOrder = 3 - end - object DBEdit10: TDBEdit - Left = 287 - Top = 69 - Width = 115 - Height = 21 - TabOrder = 4 - end - object DBEdit4: TDBEdit - Left = 176 - Top = 69 - Width = 63 - Height = 21 - TabOrder = 5 - end - object DBEdit3: TDBEdit - Left = 57 - Top = 69 - Width = 63 - Height = 21 - TabOrder = 6 - end - object DBEdit9: TDBEdit - Left = 226 - Top = 42 - Width = 39 - Height = 21 - TabOrder = 7 - end - object DBEdit2: TDBEdit - Left = 57 - Top = 42 - Width = 113 - Height = 21 - DataField = 'STUDENT_BIRTH' - DataSource = DataSource1 - TabOrder = 8 - end - object DBEdit8: TDBEdit - Left = 226 - Top = 15 - Width = 87 - Height = 21 - DataField = 'STUDENT_CODE' - DataSource = DataSource1 - TabOrder = 9 - end - object DBEdit1: TDBEdit - Left = 57 - Top = 15 - Width = 113 - Height = 21 - DataField = 'STUDENT_NAME' - DataSource = DataSource1 - TabOrder = 10 - end + Caption = #48152#44288#47532 + ImageIndex = 1 + OnClick = ToolButton2Click end - object GroupBox3: TGroupBox - Left = 6 - Top = 201 - Width = 215 - Height = 145 - Caption = #50672#46973#52376 - TabOrder = 3 - object Label7: TLabel - Left = 11 - Top = 15 - Width = 41 - Height = 13 - Caption = ' '#54617#49373' HP' - end - object Label5: TLabel - Left = 14 - Top = 53 - Width = 49 - Height = 13 - Caption = #48372#54840#51088' HP' - end - object Label6: TLabel - Left = 17 - Top = 95 - Width = 40 - Height = 18 - Caption = #48372#54840#51088 - end - object DBEdit5: TDBEdit - Left = 13 - Top = 30 - Width = 153 - Height = 17 - DataField = 'STUDENT_PHONE' - DataSource = DataSource1 - TabOrder = 0 - end - object DBEdit6: TDBEdit - Left = 13 - Top = 72 - Width = 154 - Height = 17 - TabOrder = 1 - end - object DBEdit7: TDBEdit - Left = 14 - Top = 111 - Width = 62 - Height = 17 - TabOrder = 2 - end - end - object GroupBox4: TGroupBox - Left = 224 - Top = 201 - Width = 433 - Height = 145 - Caption = #47700#47784 - TabOrder = 4 - object Label14: TLabel - Left = 3 - Top = 12 - Width = 47 - Height = 13 - Caption = #54617#49373' '#47700#47784 - end - object Label15: TLabel - Left = 265 - Top = 12 - Width = 58 - Height = 13 - Caption = #54617#48512#47784' '#47700#47784 - end - object DBMemo1: TDBMemo - Left = 3 - Top = 31 - Width = 256 - Height = 107 - TabOrder = 0 - end - object DBMemo2: TDBMemo - Left = 265 - Top = 31 - Width = 162 - Height = 107 - TabOrder = 1 - end + object ToolButton4: TToolButton + Left = 142 + Top = 0 + Caption = #51333#47308 + ImageIndex = 2 + OnClick = ToolButton4Click end end - object DataSource1: TDataSource - DataSet = FDTable1 - Left = 688 - Top = 96 - end - object FDConnection1: TFDConnection - Params.Strings = ( - 'Database=C:\ACADEMY\ACADEMY.IB' - 'User_Name=SYSDBA' - 'Password=masterkey' - 'CharacterSet=UTF8' - 'DriverID=IB') - Connected = True - LoginPrompt = False - Left = 256 - Top = 96 - end - object FDPhysIBDriverLink1: TFDPhysIBDriverLink - Left = 368 - Top = 96 - end - object FDGUIxWaitCursor1: TFDGUIxWaitCursor - Provider = 'Forms' - Left = 504 - Top = 96 - end - object FDTable1: TFDTable - Active = True - IndexFieldNames = 'STUDENT_CODE' - Connection = FDConnection1 - UpdateOptions.UpdateTableName = 'INFORM' - TableName = 'INFORM' - Left = 608 - Top = 96 + object PnlLayout: TPanel + Left = 0 + Top = 48 + Width = 891 + Height = 558 + Align = alClient + TabOrder = 1 + ExplicitTop = 36 + ExplicitWidth = 861 + ExplicitHeight = 533 end - object FDQuery1: TFDQuery - Connection = FDConnection1 - Left = 368 - Top = 32 + 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 index 76634f0..2936c91 100644 --- a/40_Project/Meawinthebox/UMain.pas +++ b/40_Project/Meawinthebox/UMain.pas @@ -12,78 +12,20 @@ interface 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; + FireDAC.Phys.IBBase, System.Actions, Vcl.ActnList, Vcl.ExtActns, + Vcl.PlatformDefaultStyleActnCtrls, Vcl.Menus, System.ImageList, Vcl.ImgList; type TForm1 = class(TForm) - Ribbon1: TRibbon; - RibbonPage1: TRibbonPage; - RibbonGroup1: TRibbonGroup; - RibbonPage2: TRibbonPage; - RibbonPage3: TRibbonPage; - RibbonPage4: TRibbonPage; - RibbonGroup2: TRibbonGroup; - RibbonGroup3: TRibbonGroup; - Panel2: TPanel; - InformPnl: TPanel; - DBGrid1: TDBGrid; - PageControl1: TPageControl; - TabSheet1: TTabSheet; - TabSheet2: TTabSheet; - DBGrid2: TDBGrid; - TabSheet3: TTabSheet; - Splitter1: TSplitter; - SearchPnl: TPanel; - Edit1: TEdit; - CheckBox1: TCheckBox; - CheckBox2: TCheckBox; - CheckBox3: TCheckBox; - DBGrid3: TDBGrid; - DBGrid4: TDBGrid; - DataSource1: TDataSource; - FDConnection1: TFDConnection; - FDPhysIBDriverLink1: TFDPhysIBDriverLink; - FDGUIxWaitCursor1: TFDGUIxWaitCursor; - FDTable1: TFDTable; - GroupBox1: TGroupBox; - DBImage1: TDBImage; - GroupBox2: TGroupBox; - FDQuery1: TFDQuery; - DBEdit11: TDBEdit; - Label3: TLabel; - Label13: TLabel; - DBEdit14: TDBEdit; - DBEdit13: TDBEdit; - Label11: TLabel; - DBEdit12: TDBEdit; - Label8: TLabel; - Label2: TLabel; - DBEdit10: TDBEdit; - DBEdit4: TDBEdit; - Label12: TLabel; - DBEdit3: TDBEdit; - Label10: TLabel; - DBEdit9: TDBEdit; - Label9: TLabel; - DBEdit2: TDBEdit; - Label4: TLabel; - DBEdit8: TDBEdit; - lblStudentCode: TLabel; - DBEdit1: TDBEdit; - Label1: TLabel; - GroupBox3: TGroupBox; - Label7: TLabel; - DBEdit5: TDBEdit; - DBEdit6: TDBEdit; - Label5: TLabel; - Label6: TLabel; - DBEdit7: TDBEdit; - GroupBox4: TGroupBox; - Label14: TLabel; - DBMemo1: TDBMemo; - Label15: TLabel; - DBMemo2: TDBMemo; - Label16: TLabel; + 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 @@ -97,4 +39,31 @@ 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.