diff --git a/20_Task/M1/10_Variable/VariableForm.pas b/20_Task/M1/10_Variable/VariableForm.pas
index ce9d2fe..5f0dd7d 100644
--- a/20_Task/M1/10_Variable/VariableForm.pas
+++ b/20_Task/M1/10_Variable/VariableForm.pas
@@ -1,6 +1,7 @@
unit VariableForm;
interface
+ //±êÇãºê Å×½ºÆ®
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
@@ -15,12 +16,14 @@ TForm1 = class(TForm)
Label2: TLabel;
procedure Button1Click(Sender: TObject);
private
+ FSum:integer;
// ÀÌ Æû(À¯´Ö)¿¡¼¸¸ »ç¿ëÇÏ´Â º¯¼ö¿Í ÇÔ¼ö¸¦ ¼±¾ð
{ TODO : (1) Á¤¼ö Çü FSum º¯¼ö¸¦ ¼±¾ðÇϼ¼¿ä. }
function AddNum(ANum: Integer): Integer;
public
+
// ´Ù¸¥ À¯´Ö¿¡¼ ÂüÁ¶ÇÒ ¼ö ÀÖ´Â º¯¼ö¿Í ÇÔ¼ö ¼±¾ð
end;
@@ -33,10 +36,12 @@ implementation
function TForm1.AddNum(ANum: Integer): Integer;
begin
+ result := 0;
+ FSum := FSum + ANum;
{ TODO :
(2) FSum º¯¼ö¿¡ ÆÄ¶ó¸ÞÅÍ ANum °ªÀ» ´õÇÕ´Ï´Ù.
FSum º¯¼ö ¹Ýȯ }
- Result := 0;
+ 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..e10b409 100644
--- a/20_Task/M1/20_Function/FunctionForm.pas
+++ b/20_Task/M1/20_Function/FunctionForm.pas
@@ -26,7 +26,9 @@ TForm2 = class(TForm)
function GetNameMsg(AName: string): string;
function GetAgeMsg(AName: string; AAge: Integer): string;
- { TODO :
+
+ function GetUserInfoMsg(AName: string; AAge: Integer; AGender : Boolean) : string;
+ { TODO :
(2-1) GetUserInfoMsg ÇÔ¼ö¸¦ ¼±¾ð
ÆÄ¶ó¸ÞÅÍ: À̸§(¹®ÀÚ), ³ªÀÌ(¼ýÀÚ), ³²ÀÚ¿©ºÎ(Boolean)
¹Ýȯ°ª: ¹®ÀÚ¿(¸Þ½ÃÁö)
@@ -53,12 +55,32 @@ function TForm2.GetNameMsg(AName: string): string;
Result := Msg;
end;
+function TForm2.GetUserInfoMsg(AName: string; AAge: Integer;
+ AGender: Boolean): string;
+ var
+ Msg, Gender:string;
+begin
+ Msg:=GetAgeMsg(AName, AAge)+#13#10;;
+ if AGender then
+ Gender:='³²ÀÚ'
+ else
+ Gender:='¿©ÀÚ';
+ Msg:= Msg + AName+'´ÔÀº'+Gender+'ÀÔ´Ï´Ù.';
+ result:=Msg;
+end;
+
function TForm2.GetAgeMsg(AName: string; AAge: Integer): string;
var
Msg, Adult: string;
begin
Msg := GetNameMsg(AName); // Àλ縻 Ç¥½Ã´Â Àç»ç¿ë
Msg := Msg + #13#10; // ÇÑÁÙ ³»·Á¾²±â(Àϸí ij¸®Áö¸®ÅÏ)
+ if AAge>=20 then
+ Adult:='¼ºÀÎ'
+ else
+ Adult:='¹Ì¼º³â';
+ Msg := Msg+AName+'´ÔÀº'+IntToStr(AAge)+'¼¼·Î'+(Adult)+'ÀÔ´Ï´Ù.';
+
{ TODO :
(1) Msg º¯¼ö¿¡ '(AName)´ÔÀº (AAge)¼¼·Î (¼ºÀÎ/¹Ì¼º³â)ÀÔ´Ï´Ù.' ¸Þ½ÃÁö Ãß°¡
@@ -103,6 +125,7 @@ procedure TForm2.Button3Click(Sender: TObject);
Name := edtName.Text;
Age := StrToInt(edtAge.Text);
IsMan := rdoMan.Checked;
+ Msg := GetUserInfoMsg(Name,Age,Isman);
{ TODO :
(2) Àλ縻 + ¼ºÀο©ºÎ È®ÀÎ + ¼ºº°È®ÀÎ ¸Þ½ÃÁö¸¦
diff --git a/20_Task/M1/30_Array/ArrayForm.pas b/20_Task/M1/30_Array/ArrayForm.pas
index c495570..0f5bdf7 100644
--- a/20_Task/M1/30_Array/ArrayForm.pas
+++ b/20_Task/M1/30_Array/ArrayForm.pas
@@ -59,7 +59,8 @@ procedure TForm3.Button1Click(Sender: TObject);
Memo1.Lines.Clear;
Memo1.Lines.Add('¹è¿ ³»¿ë');
-
+ for I := 0 to Length(FNumArr)-1 do
+ Memo1.Lines.Add(IntToStr(FNumArr[I]));
{ TODO :
(1) for ¹®À» ÀÌ¿ëÇØ ¹è¿ÀÇ ³»¿ëÀ» Ãâ·ÂÇϼ¼¿ä.
¹è¿ÀÇ Å©±â º¯°æµÇµµ µ¿ÀÛÇϵµ·Ï ¹Ýº¹ÀÇ ³¡Àº Length(FNumArr) - 1·Î ¼³Á¤
@@ -74,6 +75,8 @@ function TForm3.GetArraySum: Integer;
I, Sum: Integer;
begin
Sum := 0;
+ for I := 0 to Length(FNumArr)-1 do
+ Sum := Sum+FNumArr[i];
{ TODO : (2) for ¹®À» ÀÌ¿ëÇØ ¹è¿ÀÇ °ªÀ» ¸ðµÎ ´õÇØ ¹ÝȯÇϵµ·Ï ±¸Çö }
Result := Sum;
@@ -84,6 +87,11 @@ function TForm3.GetArrayMaxNum: Integer;
I, MaxNum: Integer;
begin
MaxNum := 0;
+ for I := 0 to Length(FNumArr)-1 do
+ begin
+ if(MaxNum<=FNumArr[I]) then
+ MaxNum:= FNumArr[I];
+ end;
{ TODO :
(3) for ¹®À» ÀÌ¿ëÇØ ¹è¿ÀÇ °ª Áß °¡Àå Å« °ªÀ» ¹ÝȯÇϵµ·Ï ±¸Çö
if ¹®À» ÀÌ¿ëÇØ ¼ýÀÚ¸¦ ºñ±³ }
@@ -98,6 +106,13 @@ procedure TForm3.Button2Click(Sender: TObject);
begin
CountOver := 0;
CountUnder := 0;
+ for I := 0 to Length(FNumArr)-1 do
+ begin
+ if FNumArr[i]>=50 then
+ inc(CountOver)
+ else if FNumArr[i]<50 then
+ inc(CountUnder);
+ end;
{ TODO :
(4) for ¹®À» ÀÌ¿ëÇØ ¹è¿ÀÇ °ªÀÌ
50 ÀÌ»ó(>=)ÀÎ °æ¿ì CountOver 1 Áõ°¡
diff --git a/20_Task/M1/leejaeho-123/10_Variable/VariableForm.dfm b/20_Task/M1/leejaeho-123/10_Variable/VariableForm.dfm
new file mode 100644
index 0000000..7008051
--- /dev/null
+++ b/20_Task/M1/leejaeho-123/10_Variable/VariableForm.dfm
@@ -0,0 +1,53 @@
+object Form1: TForm1
+ Left = 0
+ Top = 0
+ Caption = #48320#49688#49324#50857' '#49892#49845' '#50696#51228
+ ClientHeight = 144
+ ClientWidth = 267
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Label1: TLabel
+ Left = 24
+ Top = 24
+ Width = 47
+ Height = 13
+ Caption = #49707#51088' '#51077#47141
+ end
+ object Label2: TLabel
+ Left = 24
+ Top = 77
+ Width = 58
+ Height = 13
+ Caption = #49707#51088#46308#51032' '#54633
+ end
+ object edtNum: TEdit
+ Left = 24
+ Top = 43
+ Width = 121
+ Height = 21
+ TabOrder = 0
+ end
+ object Button1: TButton
+ Left = 143
+ Top = 41
+ Width = 75
+ Height = 25
+ Caption = #51077#47141'(*)'
+ TabOrder = 1
+ OnClick = Button1Click
+ end
+ object edtSum: TEdit
+ Left = 24
+ Top = 96
+ Width = 121
+ Height = 21
+ TabOrder = 2
+ end
+end
diff --git a/20_Task/M1/leejaeho-123/10_Variable/VariableForm.pas b/20_Task/M1/leejaeho-123/10_Variable/VariableForm.pas
new file mode 100644
index 0000000..a069654
--- /dev/null
+++ b/20_Task/M1/leejaeho-123/10_Variable/VariableForm.pas
@@ -0,0 +1,53 @@
+unit VariableForm;
+
+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)
+ Label1: TLabel;
+ edtNum: TEdit;
+ Button1: TButton;
+ edtSum: TEdit;
+ Label2: TLabel;
+ procedure Button1Click(Sender: TObject);
+ private
+ // ÀÌ Æû(À¯´Ö)¿¡¼¸¸ »ç¿ëÇÏ´Â º¯¼ö¿Í ÇÔ¼ö¸¦ ¼±¾ð
+
+ { TODO : (1) Á¤¼ö Çü FSum º¯¼ö¸¦ ¼±¾ðÇϼ¼¿ä. }
+
+ function AddNum(ANum: Integer): Integer;
+ public
+ // ´Ù¸¥ À¯´Ö¿¡¼ ÂüÁ¶ÇÒ ¼ö ÀÖ´Â º¯¼ö¿Í ÇÔ¼ö ¼±¾ð
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+
+{$R *.dfm}
+
+function TForm1.AddNum(ANum: Integer): Integer;
+begin
+ { TODO :
+ (2) FSum º¯¼ö¿¡ ÆÄ¶ó¸ÞÅÍ ANum °ªÀ» ´õÇÕ´Ï´Ù.
+ FSum º¯¼ö ¹Ýȯ }
+ Result := 0;
+end;
+
+procedure TForm1.Button1Click(Sender: TObject);
+var
+ Num, Sum: Integer; // À̰÷¿¡ ¼±¾ðµÈ º¯¼ö´Â ÀÌ ÇÔ¼ö¿¡¼¸¸ »ç¿ëÇÕ´Ï´Ù.
+begin
+ Num := StrToInt(edtNum.Text);
+ Sum := AddNum(Num);
+
+ edtSum.Text := IntToStr(Sum);
+end;
+
+end.
diff --git a/20_Task/M1/leejaeho-123/10_Variable/VariableSample.dpr b/20_Task/M1/leejaeho-123/10_Variable/VariableSample.dpr
new file mode 100644
index 0000000..ae5897b
--- /dev/null
+++ b/20_Task/M1/leejaeho-123/10_Variable/VariableSample.dpr
@@ -0,0 +1,14 @@
+program VariableSample;
+
+uses
+ Vcl.Forms,
+ VariableForm in 'VariableForm.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.MainFormOnTaskbar := True;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
diff --git a/20_Task/M1/leejaeho-123/10_Variable/VariableSample.dproj b/20_Task/M1/leejaeho-123/10_Variable/VariableSample.dproj
new file mode 100644
index 0000000..2821420
--- /dev/null
+++ b/20_Task/M1/leejaeho-123/10_Variable/VariableSample.dproj
@@ -0,0 +1,613 @@
+
+
+ {EF02A913-9FA3-4C44-BA81-2707FB718A07}
+ 18.6
+ VCL
+ VariableSample.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
+ RESTComponents;emsclientfiredac;FireDACIBDriver;emsclient;FireDACCommon;RESTBackendComponents;soapserver;CloudService;FireDACCommonDriver;inet;FireDAC;FireDACSqliteDriver;soaprtl;soapmidas;aurelius;$(DCC_UsePackage)
+ 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
+ VariableSample
+
+
+ DBXSqliteDriver;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;tethering;svnui;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;svn;Intraweb;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;DataSnapConnectors;VCLRESTComponents;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;DataSnapClient;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;emshosting;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;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;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;tethering;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;Intraweb;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;DataSnapConnectors;VCLRESTComponents;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;DataSnapClient;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;emshosting;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage)
+
+
+ DEBUG;$(DCC_Define)
+ true
+ false
+ true
+ true
+ true
+
+
+ false
+ true
+ PerMonitor
+
+
+ false
+ RELEASE;$(DCC_Define)
+ 0
+ 0
+
+
+ true
+ PerMonitor
+
+
+
+ MainSource
+
+
+
+ dfm
+
+
+ Cfg_2
+ Base
+
+
+ Base
+
+
+ Cfg_1
+ Base
+
+
+
+ Delphi.Personality.12
+ Application
+
+
+
+ VariableSample.dpr
+
+
+
+
+
+ VariableSample.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/20_Task/M1/leejaeho-123/10_Variable/VariableSample.res b/20_Task/M1/leejaeho-123/10_Variable/VariableSample.res
new file mode 100644
index 0000000..fba455b
Binary files /dev/null and b/20_Task/M1/leejaeho-123/10_Variable/VariableSample.res differ
diff --git a/20_Task/M1/leejaeho-123/20_Function/FunctionForm.dfm b/20_Task/M1/leejaeho-123/20_Function/FunctionForm.dfm
new file mode 100644
index 0000000..82492e4
--- /dev/null
+++ b/20_Task/M1/leejaeho-123/20_Function/FunctionForm.dfm
@@ -0,0 +1,96 @@
+object Form2: TForm2
+ Left = 0
+ Top = 0
+ Caption = #54632#49688#49324#50857' '#49892#49845' '#50696#51228
+ ClientHeight = 196
+ ClientWidth = 285
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Label1: TLabel
+ Left = 24
+ Top = 24
+ Width = 22
+ Height = 13
+ Caption = #51060#47492
+ end
+ object Label2: TLabel
+ Left = 24
+ Top = 77
+ Width = 22
+ Height = 13
+ Caption = #45208#51060
+ end
+ object Label3: TLabel
+ Left = 24
+ Top = 133
+ Width = 22
+ Height = 13
+ Caption = #49457#48324
+ end
+ object edtName: TEdit
+ Left = 24
+ Top = 43
+ Width = 121
+ Height = 21
+ TabOrder = 0
+ end
+ object Button1: TButton
+ Left = 151
+ Top = 41
+ Width = 75
+ Height = 25
+ Caption = #51064#49324#47568' '#54364#49884
+ TabOrder = 1
+ OnClick = Button1Click
+ end
+ object edtAge: TEdit
+ Left = 24
+ Top = 96
+ Width = 121
+ Height = 21
+ TabOrder = 2
+ end
+ object Button2: TButton
+ Left = 151
+ Top = 94
+ Width = 90
+ Height = 25
+ Caption = #49457#51064#50668#48512' '#54869#51064
+ TabOrder = 3
+ OnClick = Button2Click
+ end
+ object Button3: TButton
+ Left = 151
+ Top = 150
+ Width = 90
+ Height = 25
+ Caption = #49457#48324' '#54869#51064
+ TabOrder = 4
+ OnClick = Button3Click
+ end
+ object rdoMan: TRadioButton
+ Left = 24
+ Top = 152
+ Width = 49
+ Height = 17
+ Caption = #45224#51088
+ Checked = True
+ TabOrder = 5
+ TabStop = True
+ end
+ object rdoWoman: TRadioButton
+ Left = 79
+ Top = 152
+ Width = 49
+ Height = 17
+ Caption = #50668#51088
+ TabOrder = 6
+ end
+end
diff --git a/20_Task/M1/leejaeho-123/20_Function/FunctionForm.pas b/20_Task/M1/leejaeho-123/20_Function/FunctionForm.pas
new file mode 100644
index 0000000..f9f7a4d
--- /dev/null
+++ b/20_Task/M1/leejaeho-123/20_Function/FunctionForm.pas
@@ -0,0 +1,121 @@
+unit FunctionForm;
+
+interface
+
+uses
+ Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
+ Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
+
+type
+ TForm2 = class(TForm)
+ Label1: TLabel;
+ edtName: TEdit;
+ Button1: TButton;
+ edtAge: TEdit;
+ Label2: TLabel;
+ Button2: TButton;
+ Label3: TLabel;
+ Button3: TButton;
+ rdoMan: TRadioButton;
+ rdoWoman: TRadioButton;
+ procedure Button1Click(Sender: TObject);
+ procedure Button2Click(Sender: TObject);
+ procedure Button3Click(Sender: TObject);
+ private
+ // ÀÌ Æû(À¯´Ö)¿¡¼ »ç¿ëÇÏ´Â º¯¼ö¿Í ÇÔ¼ö¸¦ ¼±¾ð
+ function GetNameMsg(AName: string): string;
+
+ function GetAgeMsg(AName: string; AAge: Integer): string;
+ { TODO :
+ (2-1) GetUserInfoMsg ÇÔ¼ö¸¦ ¼±¾ð
+ ÆÄ¶ó¸ÞÅÍ: À̸§(¹®ÀÚ), ³ªÀÌ(¼ýÀÚ), ³²ÀÚ¿©ºÎ(Boolean)
+ ¹Ýȯ°ª: ¹®ÀÚ¿(¸Þ½ÃÁö)
+ (2-2) ÇÔ¼ö ¼±¾ð ÈÄ Ctrl + Shift + C¸¦ ´·¯ ±¸ÇöºÎ »ý¼º
+ }
+ public
+ // ´Ù¸¥ À¯´Ö¿¡¼ ÂüÁ¶ÇÒ ¼ö ÀÖ´Â º¯¼ö¿Í ÇÔ¼ö ¼±¾ð
+ end;
+
+var
+ Form2: TForm2;
+
+implementation
+
+{$R *.dfm}
+
+function TForm2.GetNameMsg(AName: string): string;
+var
+ Msg: string;
+begin
+ Msg := '¾È³çÇϼ¼¿ä. ';
+ Msg := Msg + AName + '´Ô';
+
+ Result := Msg;
+end;
+
+function TForm2.GetAgeMsg(AName: string; AAge: Integer): string;
+var
+ Msg, Adult: string;
+begin
+ Msg := GetNameMsg(AName); // Àλ縻 Ç¥½Ã´Â Àç»ç¿ë
+ Msg := Msg + #13#10; // ÇÑÁÙ ³»·Á¾²±â(Àϸí ij¸®Áö¸®ÅÏ)
+
+{ TODO :
+ (1) Msg º¯¼ö¿¡ '(AName)´ÔÀº (AAge)¼¼·Î (¼ºÀÎ/¹Ì¼º³â)ÀÔ´Ï´Ù.' ¸Þ½ÃÁö Ãß°¡
+ if ¹®À» ÀÌ¿ëÇØ 20¼¼ ÀÌ»ó(>=)ÀÎ °æ¿ì ¼ºÀÎÀ¸·Î ÆÇ´Ü
+ ¹®ÀÚ¿°ú º¯¼ö¸¦ Á¶ÇÕ(´õÇϱâ) Çϼ¼¿ä.
+ Á¤¼ö´Â ¹®ÀÚ·Î º¯È¯(IntToStr)Çϼ¼¿ä.
+ }
+
+ Result := Msg;
+end;
+
+procedure TForm2.Button1Click(Sender: TObject);
+var
+ Name, Msg: string;
+begin
+ Name := edtName.Text;
+
+ Msg := GetNameMsg(Name);
+
+ ShowMessage(Msg);
+end;
+
+procedure TForm2.Button2Click(Sender: TObject);
+var
+ Name, Msg: string;
+ Age: Integer;
+begin
+ Name := edtName.Text;
+ Age := StrToInt(edtAge.Text);
+
+ Msg := GetAgeMsg(Name, Age);
+
+ ShowMessage(Msg);
+end;
+
+procedure TForm2.Button3Click(Sender: TObject);
+var
+ Name, Msg: string;
+ Age: Integer;
+ IsMan: Boolean;
+begin
+ Name := edtName.Text;
+ Age := StrToInt(edtAge.Text);
+ IsMan := rdoMan.Checked;
+
+{ TODO :
+ (2) Àλ縻 + ¼ºÀο©ºÎ È®ÀÎ + ¼ºº°È®ÀÎ ¸Þ½ÃÁö¸¦
+ ¹ÝȯÇÏ´Â ÇÔ¼ö(GetUserInfoMsg)¸¦ ÀÛ¼ºÇϼ¼¿ä
+ Msg := GetUserInfoMsg(Name, Age, IsMan);
+}
+
+ ShowMessage(Msg);
+end;
+
+{ TODO :
+ (2-2) GetUserInfoMsg ÇÔ¼öÀÇ ±¸ÇöºÎ¿¡´Â
+ Àλ縻 + ¼ºÀο©ºÎ È®ÀÎ + ¼ºº°È®ÀÎ ¸Þ½ÃÁö¸¦ ¹ÝȯÇϵµ·Ï ÀÛ¼ºÇϼ¼¿ä.
+ ÀÌ¹Ì ±¸ÇöµÈ GetNameMsg, GetAgeMsg µîÀ» Àç»ç¿ëÇϼ¼¿ä.
+}
+end.
diff --git a/20_Task/M1/leejaeho-123/20_Function/FunctionSample.dpr b/20_Task/M1/leejaeho-123/20_Function/FunctionSample.dpr
new file mode 100644
index 0000000..6d0a611
--- /dev/null
+++ b/20_Task/M1/leejaeho-123/20_Function/FunctionSample.dpr
@@ -0,0 +1,14 @@
+program FunctionSample;
+
+uses
+ Vcl.Forms,
+ FunctionForm in 'FunctionForm.pas' {Form2};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.MainFormOnTaskbar := True;
+ Application.CreateForm(TForm2, Form2);
+ Application.Run;
+end.
diff --git a/20_Task/M1/leejaeho-123/20_Function/FunctionSample.dproj b/20_Task/M1/leejaeho-123/20_Function/FunctionSample.dproj
new file mode 100644
index 0000000..6b6e9db
--- /dev/null
+++ b/20_Task/M1/leejaeho-123/20_Function/FunctionSample.dproj
@@ -0,0 +1,613 @@
+
+
+ {AB9D8C52-2177-4198-84C8-5EAB313BF641}
+ 18.6
+ VCL
+ FunctionSample.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
+ RESTComponents;emsclientfiredac;FireDACIBDriver;emsclient;FireDACCommon;RESTBackendComponents;soapserver;CloudService;FireDACCommonDriver;inet;FireDAC;FireDACSqliteDriver;soaprtl;soapmidas;aurelius;$(DCC_UsePackage)
+ 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
+ FunctionSample
+
+
+ DBXSqliteDriver;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;tethering;svnui;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;svn;Intraweb;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;DataSnapConnectors;VCLRESTComponents;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;DataSnapClient;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;emshosting;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;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;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;tethering;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;Intraweb;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;DataSnapConnectors;VCLRESTComponents;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;DataSnapClient;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;emshosting;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage)
+
+
+ DEBUG;$(DCC_Define)
+ true
+ false
+ true
+ true
+ true
+
+
+ false
+ true
+ PerMonitor
+
+
+ false
+ RELEASE;$(DCC_Define)
+ 0
+ 0
+
+
+ true
+ PerMonitor
+
+
+
+ MainSource
+
+
+
+ dfm
+
+
+ Cfg_2
+ Base
+
+
+ Base
+
+
+ Cfg_1
+ Base
+
+
+
+ Delphi.Personality.12
+ Application
+
+
+
+ FunctionSample.dpr
+
+
+
+
+
+ FunctionSample.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/20_Task/M1/leejaeho-123/20_Function/FunctionSample.res b/20_Task/M1/leejaeho-123/20_Function/FunctionSample.res
new file mode 100644
index 0000000..e4d1e9f
Binary files /dev/null and b/20_Task/M1/leejaeho-123/20_Function/FunctionSample.res differ
diff --git a/20_Task/M1/leejaeho-123/30_Array/ArrayForm.dfm b/20_Task/M1/leejaeho-123/30_Array/ArrayForm.dfm
new file mode 100644
index 0000000..14c5ed5
--- /dev/null
+++ b/20_Task/M1/leejaeho-123/30_Array/ArrayForm.dfm
@@ -0,0 +1,42 @@
+object Form3: TForm3
+ Left = 0
+ Top = 0
+ Caption = #48176#50676#49324#50857' '#49892#49845' '#50696#51228
+ ClientHeight = 275
+ ClientWidth = 305
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Button1: TButton
+ Left = 16
+ Top = 16
+ Width = 121
+ Height = 25
+ Caption = #48176#50676' '#45236#50857' '#52636#47141
+ TabOrder = 0
+ OnClick = Button1Click
+ end
+ object Memo1: TMemo
+ Left = 16
+ Top = 47
+ Width = 273
+ Height = 218
+ TabOrder = 1
+ end
+ object Button2: TButton
+ Left = 143
+ Top = 16
+ Width = 130
+ Height = 25
+ Caption = '50'#48372#45796' '#53360#49688'/'#51089#51008#49688
+ TabOrder = 2
+ OnClick = Button2Click
+ end
+end
diff --git a/20_Task/M1/leejaeho-123/30_Array/ArrayForm.pas b/20_Task/M1/leejaeho-123/30_Array/ArrayForm.pas
new file mode 100644
index 0000000..c495570
--- /dev/null
+++ b/20_Task/M1/leejaeho-123/30_Array/ArrayForm.pas
@@ -0,0 +1,111 @@
+unit ArrayForm;
+
+interface
+
+uses
+ Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
+ Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
+
+type
+ TForm3 = class(TForm)
+ Button1: TButton;
+ Memo1: TMemo;
+ Button2: TButton;
+ procedure Button1Click(Sender: TObject);
+ procedure FormCreate(Sender: TObject);
+ procedure Button2Click(Sender: TObject);
+ private
+ FNumArr: array[0..9] of Integer;
+
+ procedure InitArray;
+ function GetArraySum: Integer;
+ function GetArrayMaxNum: Integer;
+ public
+ { Public declarations }
+ end;
+
+var
+ Form3: TForm3;
+
+implementation
+
+{$R *.dfm}
+
+procedure TForm3.FormCreate(Sender: TObject);
+begin
+ InitArray;
+end;
+
+// ¹è¿¿¡ ÃʱⰪÀ» ¼³Á¤
+procedure TForm3.InitArray;
+var
+ I: Integer;
+begin
+ // ¹è¿(FNumArr)ÀÇ ±æÀ̸¸Å ¹Ýº¹Çϸç ÀÓÀÇÀÇ °ª(1~100)À» ¼³Á¤
+ for I := 0 to Length(FNumArr) - 1 do
+ FNumArr[I] := Random(100);
+end;
+
+procedure TForm3.Button1Click(Sender: TObject);
+var
+ I: Integer;
+ Sum, MaxNum: Integer;
+begin
+ // ¹è¿ÀÇ ÇÕ
+ Sum := GetArraySum;
+
+ // ¹è¿ Áß ÃÖ°í°ª
+ MaxNum := GetArrayMaxNum;
+
+ Memo1.Lines.Clear;
+ Memo1.Lines.Add('¹è¿ ³»¿ë');
+
+ { TODO :
+ (1) for ¹®À» ÀÌ¿ëÇØ ¹è¿ÀÇ ³»¿ëÀ» Ãâ·ÂÇϼ¼¿ä.
+ ¹è¿ÀÇ Å©±â º¯°æµÇµµ µ¿ÀÛÇϵµ·Ï ¹Ýº¹ÀÇ ³¡Àº Length(FNumArr) - 1·Î ¼³Á¤
+ ¿¹> for I := 0 to Length(FNumArr) - 1 do }
+
+ Memo1.Lines.Add('¹è¿ÀÇ ÇÕÀº ' + IntToStr(Sum) + ' ÀÔ´Ï´Ù.');
+ Memo1.Lines.Add('¹è¿ÀÇ ÃÖ´ë°ªÀº ' + IntToStr(MaxNum) + ' ÀÔ´Ï´Ù.');
+end;
+
+function TForm3.GetArraySum: Integer;
+var
+ I, Sum: Integer;
+begin
+ Sum := 0;
+ { TODO : (2) for ¹®À» ÀÌ¿ëÇØ ¹è¿ÀÇ °ªÀ» ¸ðµÎ ´õÇØ ¹ÝȯÇϵµ·Ï ±¸Çö }
+
+ Result := Sum;
+end;
+
+function TForm3.GetArrayMaxNum: Integer;
+var
+ I, MaxNum: Integer;
+begin
+ MaxNum := 0;
+ { TODO :
+ (3) for ¹®À» ÀÌ¿ëÇØ ¹è¿ÀÇ °ª Áß °¡Àå Å« °ªÀ» ¹ÝȯÇϵµ·Ï ±¸Çö
+ if ¹®À» ÀÌ¿ëÇØ ¼ýÀÚ¸¦ ºñ±³ }
+
+ Result := MaxNum;
+end;
+
+procedure TForm3.Button2Click(Sender: TObject);
+var
+ I,
+ CountOver, CountUnder: Integer;
+begin
+ CountOver := 0;
+ CountUnder := 0;
+ { TODO :
+ (4) for ¹®À» ÀÌ¿ëÇØ ¹è¿ÀÇ °ªÀÌ
+ 50 ÀÌ»ó(>=)ÀÎ °æ¿ì CountOver 1 Áõ°¡
+ 50 ¹Ì¸¸(<)ÀÎ °æ¿ì CountUnder 1 Áõ°¡ Çϵµ·Ï ±¸Çö
+ }
+
+ Memo1.Lines.Add('50 ÀÌ»óÀÎ ¼öÀÇ °¹¼ö: ' + IntToStr(CountOver));
+ Memo1.Lines.Add('50 ¹Ì¸¸ÀÎ ¼öÀÇ °¹¼ö: ' + IntToStr(CountUnder));
+end;
+
+end.
diff --git a/20_Task/M1/leejaeho-123/30_Array/ArraySample.dpr b/20_Task/M1/leejaeho-123/30_Array/ArraySample.dpr
new file mode 100644
index 0000000..37846ac
--- /dev/null
+++ b/20_Task/M1/leejaeho-123/30_Array/ArraySample.dpr
@@ -0,0 +1,14 @@
+program ArraySample;
+
+uses
+ Vcl.Forms,
+ ArrayForm in 'ArrayForm.pas' {Form3};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.MainFormOnTaskbar := True;
+ Application.CreateForm(TForm3, Form3);
+ Application.Run;
+end.
diff --git a/20_Task/M1/leejaeho-123/30_Array/ArraySample.dproj b/20_Task/M1/leejaeho-123/30_Array/ArraySample.dproj
new file mode 100644
index 0000000..f80b5f1
--- /dev/null
+++ b/20_Task/M1/leejaeho-123/30_Array/ArraySample.dproj
@@ -0,0 +1,613 @@
+
+
+ {9C9EFB2A-08E2-41B1-9350-E42542ECBFA1}
+ 18.6
+ VCL
+ ArraySample.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
+ RESTComponents;emsclientfiredac;FireDACIBDriver;emsclient;FireDACCommon;RESTBackendComponents;soapserver;CloudService;FireDACCommonDriver;inet;FireDAC;FireDACSqliteDriver;soaprtl;soapmidas;aurelius;$(DCC_UsePackage)
+ 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
+ ArraySample
+
+
+ DBXSqliteDriver;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;tethering;svnui;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;svn;Intraweb;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;DataSnapConnectors;VCLRESTComponents;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;DataSnapClient;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;emshosting;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;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;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;tethering;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;Intraweb;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;DataSnapConnectors;VCLRESTComponents;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;DataSnapClient;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;emshosting;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage)
+
+
+ DEBUG;$(DCC_Define)
+ true
+ false
+ true
+ true
+ true
+
+
+ false
+ true
+ PerMonitor
+
+
+ false
+ RELEASE;$(DCC_Define)
+ 0
+ 0
+
+
+ true
+ PerMonitor
+
+
+
+ MainSource
+
+
+
+ dfm
+
+
+ Cfg_2
+ Base
+
+
+ Base
+
+
+ Cfg_1
+ Base
+
+
+
+ Delphi.Personality.12
+ Application
+
+
+
+ ArraySample.dpr
+
+
+
+
+
+ ArraySample.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/20_Task/M1/leejaeho-123/30_Array/ArraySample.res b/20_Task/M1/leejaeho-123/30_Array/ArraySample.res
new file mode 100644
index 0000000..3d33dd3
Binary files /dev/null and b/20_Task/M1/leejaeho-123/30_Array/ArraySample.res differ
diff --git a/20_Task/M1/leejaeho-123/DelphiStudyGroup.groupproj b/20_Task/M1/leejaeho-123/DelphiStudyGroup.groupproj
new file mode 100644
index 0000000..4486cfb
--- /dev/null
+++ b/20_Task/M1/leejaeho-123/DelphiStudyGroup.groupproj
@@ -0,0 +1,60 @@
+
+
+ {6569F6C9-4131-4245-AC0B-BD5E5653DF21}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Default.Personality.12
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/20_Task/M2/Cla.dfm b/20_Task/M2/Cla.dfm
new file mode 100644
index 0000000..975d299
--- /dev/null
+++ b/20_Task/M2/Cla.dfm
@@ -0,0 +1,199 @@
+object Form1: TForm1
+ Left = 0
+ Top = 0
+ Caption = 'Form1'
+ ClientHeight = 406
+ ClientWidth = 389
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Edit1: TEdit
+ Left = 8
+ Top = 39
+ Width = 373
+ Height = 46
+ TabOrder = 0
+ end
+ object Button1: TButton
+ Left = 8
+ Top = 109
+ Width = 73
+ Height = 73
+ Caption = '1'
+ TabOrder = 1
+ OnClick = Button1Click
+ end
+ object Button2: TButton
+ Left = 80
+ Top = 109
+ Width = 73
+ Height = 73
+ Caption = '2'
+ TabOrder = 2
+ OnClick = Button2Click
+ end
+ object Button3: TButton
+ Left = 152
+ Top = 109
+ Width = 73
+ Height = 73
+ Caption = '3'
+ TabOrder = 3
+ OnClick = Button3Click
+ end
+ object Button4: TButton
+ Left = 8
+ Top = 181
+ Width = 73
+ Height = 73
+ Caption = '4'
+ TabOrder = 4
+ OnClick = Button4Click
+ end
+ object Button5: TButton
+ Left = 80
+ Top = 181
+ Width = 73
+ Height = 73
+ Caption = '5'
+ TabOrder = 5
+ OnClick = Button5Click
+ end
+ object Button6: TButton
+ Left = 152
+ Top = 181
+ Width = 73
+ Height = 73
+ Caption = '6'
+ TabOrder = 6
+ OnClick = Button6Click
+ end
+ object Button7: TButton
+ Left = 8
+ Top = 253
+ Width = 73
+ Height = 73
+ Caption = '7'
+ TabOrder = 7
+ OnClick = Button7Click
+ end
+ object Button8: TButton
+ Left = 80
+ Top = 253
+ Width = 73
+ Height = 73
+ Caption = '8'
+ TabOrder = 8
+ OnClick = Button8Click
+ end
+ object Button9: TButton
+ Left = 152
+ Top = 253
+ Width = 73
+ Height = 73
+ Caption = '9'
+ TabOrder = 9
+ OnClick = Button9Click
+ end
+ object Button10: TButton
+ Left = 8
+ Top = 325
+ Width = 73
+ Height = 73
+ TabOrder = 10
+ end
+ object Button11: TButton
+ Left = 80
+ Top = 325
+ Width = 73
+ Height = 73
+ Caption = '0'
+ TabOrder = 11
+ OnClick = Button11Click
+ end
+ object Button12: TButton
+ Left = 152
+ Top = 325
+ Width = 73
+ Height = 73
+ Caption = '.'
+ TabOrder = 12
+ OnClick = Button12Click
+ end
+ object Button13: TButton
+ Left = 231
+ Top = 109
+ Width = 73
+ Height = 73
+ Caption = 'c'
+ TabOrder = 13
+ OnClick = Button13Click
+ end
+ object Button14: TButton
+ Left = 310
+ Top = 109
+ Width = 73
+ Height = 73
+ Caption = #8592
+ TabOrder = 14
+ OnClick = Button14Click
+ end
+ object Button15: TButton
+ Left = 231
+ Top = 181
+ Width = 73
+ Height = 73
+ Caption = '+'
+ TabOrder = 15
+ OnClick = Button15Click
+ end
+ object Button16: TButton
+ Left = 310
+ Top = 181
+ Width = 73
+ Height = 73
+ Caption = '-'
+ TabOrder = 16
+ OnClick = Button16Click
+ end
+ object Button17: TButton
+ Left = 231
+ Top = 253
+ Width = 73
+ Height = 73
+ Caption = '*'
+ TabOrder = 17
+ OnClick = Button17Click
+ end
+ object Button18: TButton
+ Left = 310
+ Top = 253
+ Width = 73
+ Height = 73
+ Caption = '/'
+ TabOrder = 18
+ OnClick = Button18Click
+ end
+ object Button19: TButton
+ Left = 231
+ Top = 325
+ Width = 152
+ Height = 73
+ Caption = '='
+ TabOrder = 19
+ OnClick = Button19Click
+ end
+ object Edit2: TEdit
+ Left = 8
+ Top = 5
+ Width = 373
+ Height = 28
+ TabOrder = 20
+ end
+end
diff --git a/20_Task/M2/Cla.pas b/20_Task/M2/Cla.pas
new file mode 100644
index 0000000..abc9dc1
--- /dev/null
+++ b/20_Task/M2/Cla.pas
@@ -0,0 +1,199 @@
+unit Cla;
+
+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)
+ Edit1: TEdit;
+ 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;
+ Button17: TButton;
+ Button18: TButton;
+ Button19: TButton;
+ Edit2: TEdit;
+ procedure Button13Click(Sender: TObject);
+ procedure Button14Click(Sender: TObject);
+ procedure Button12Click(Sender: TObject);
+ procedure Button19Click(Sender: TObject);
+ procedure Button18Click(Sender: TObject);
+ procedure Button17Click(Sender: TObject);
+ procedure Button16Click(Sender: TObject);
+ procedure Button15Click(Sender: TObject);
+ procedure Button11Click(Sender: TObject);
+ procedure Button7Click(Sender: TObject);
+ procedure Button8Click(Sender: TObject);
+ procedure Button9Click(Sender: TObject);
+ procedure Button6Click(Sender: TObject);
+ procedure Button5Click(Sender: TObject);
+ procedure Button4Click(Sender: TObject);
+ procedure Button3Click(Sender: TObject);
+ procedure Button2Click(Sender: TObject);
+ procedure Button1Click(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+ num1, num2, res3: real;
+ clac: integer;
+
+implementation
+
+{$R *.dfm}
+
+procedure TForm1.Button11Click(Sender: TObject);
+begin
+ Edit1.Text:=Edit1.Text + (Sender as TButton).Caption;
+end;
+
+procedure TForm1.Button12Click(Sender: TObject);
+begin
+ Edit1.Text:=Edit1.Text + (Sender as TButton).Caption;
+end;
+
+procedure TForm1.Button13Click(Sender: TObject);
+begin
+ Edit1.clear;
+ Edit2.Clear;
+end;
+
+procedure TForm1.Button14Click(Sender: TObject);
+var
+ bs:string;
+begin
+ bs:=Edit1.Text;
+ delete(bs,length(bs),1);
+ Edit1.Text:=bs;
+end;
+
+procedure TForm1.Button15Click(Sender: TObject);
+begin
+ num1:=strtofloat(edit1.Text);
+ Edit1.Clear;
+ clac := 0;
+end;
+
+procedure TForm1.Button16Click(Sender: TObject);
+begin
+ num1:=strtofloat(edit1.Text);
+ Edit1.Clear;
+ clac := 1;
+end;
+
+procedure TForm1.Button17Click(Sender: TObject);
+begin
+ num1:=strtofloat(edit1.Text);
+ Edit1.Clear;
+ clac:= 2;
+end;
+
+procedure TForm1.Button18Click(Sender: TObject);
+begin
+ if Edit1.text = '0' then
+ begin
+ Edit1.Clear;
+ raise Exception.Create('0À¸·Î´Â ¾È³ª´²Áü, ´Ù½Ã ÀԷ¤¡¤¡');
+ end
+ else
+ begin
+ num1:=strtofloat(edit1.Text);
+ clac := 3;
+ Edit1.Clear;
+ end;
+end;
+
+procedure TForm1.Button19Click(Sender: TObject);
+var
+ s : string;
+begin
+ num2:=strtofloat(edit1.Text);
+ case clac of
+ 0: res3:= num1 + num2;
+ 1: res3:= num1 - num2;
+ 2: res3:= num1 * num2;
+ 3: if num2 = 0 then
+ begin
+ raise Exception.Create('¼ýÀÚ0À¸·Î ³ª´©´Â°Å ¤¤¤¤.');
+ end
+ else
+ begin
+ res3:= num1 / num2;
+ end;
+ end;
+ Edit1.Text := floattostr(res3);
+ s := floattostr(num1);
+ case clac of
+ 0: s := s + ' + ';
+ 1: s := s + ' - ';
+ 2: s := s + ' * ';
+ 3: s := s + ' / ';
+ end;
+ Edit2.Text := s + floattostr(num2);
+end;
+procedure TForm1.Button1Click(Sender: TObject);
+begin
+ Edit1.Text:=Edit1.Text + (Sender as TButton).Caption;
+end;
+
+procedure TForm1.Button2Click(Sender: TObject);
+begin
+ Edit1.Text:=Edit1.Text + (Sender as TButton).Caption;
+end;
+
+procedure TForm1.Button3Click(Sender: TObject);
+begin
+ Edit1.Text:=Edit1.Text + (Sender as TButton).Caption;
+end;
+
+procedure TForm1.Button4Click(Sender: TObject);
+begin
+ Edit1.Text:=Edit1.Text + (Sender as TButton).Caption;
+end;
+
+procedure TForm1.Button5Click(Sender: TObject);
+begin
+ Edit1.Text:=Edit1.Text + (Sender as TButton).Caption;
+end;
+
+procedure TForm1.Button6Click(Sender: TObject);
+begin
+ Edit1.Text:=Edit1.Text + (Sender as TButton).Caption;
+end;
+
+procedure TForm1.Button7Click(Sender: TObject);
+begin
+ Edit1.Text:=Edit1.Text + (Sender as TButton).Caption;
+end;
+
+procedure TForm1.Button8Click(Sender: TObject);
+begin
+ Edit1.Text:=Edit1.Text + (Sender as TButton).Caption;
+end;
+
+procedure TForm1.Button9Click(Sender: TObject);
+begin
+ Edit1.Text:=Edit1.Text + (Sender as TButton).Caption;
+end;
+
+end.
diff --git a/20_Task/M2/Clac.dpr b/20_Task/M2/Clac.dpr
new file mode 100644
index 0000000..701599e
--- /dev/null
+++ b/20_Task/M2/Clac.dpr
@@ -0,0 +1,20 @@
+program Clac;
+
+uses
+ Vcl.Forms,
+ Cla in 'Cla.pas' {Form1},
+ USplash in 'USplash.pas' {SplashForm};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.MainFormOnTaskbar := True;
+ SplashForm := TSplashForm.Create(application);
+ SplashForm.show; //½ºÇ÷¡½¬
+ SplashForm.Refresh;
+ Application.CreateForm(TForm1, Form1);
+ SplashForm.Hide; //½ºÇ÷¡½¬
+ SplashForm.Free;
+ Application.Run;
+end.
diff --git a/20_Task/M2/Clac.dproj b/20_Task/M2/Clac.dproj
new file mode 100644
index 0000000..510b3d2
--- /dev/null
+++ b/20_Task/M2/Clac.dproj
@@ -0,0 +1,616 @@
+
+
+ {FF79DC35-6FBB-424E-8075-63D6DE4428BB}
+ 18.6
+ VCL
+ Clac.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
+ Clac
+
+
+ DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;tethering;svnui;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;svn;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;vclribbon;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage)
+ Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)
+ Debug
+ true
+ CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=
+ 1033
+ $(BDS)\bin\default_app.manifest
+
+
+ DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;tethering;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;vclribbon;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage)
+
+
+ DEBUG;$(DCC_Define)
+ true
+ false
+ true
+ true
+ true
+
+
+ false
+ true
+ PerMonitorV2
+
+
+ false
+ RELEASE;$(DCC_Define)
+ 0
+ 0
+
+
+ true
+ PerMonitorV2
+
+
+
+ MainSource
+
+
+
+ dfm
+
+
+
+ dfm
+
+
+ Cfg_2
+ Base
+
+
+ Base
+
+
+ Cfg_1
+ Base
+
+
+
+ Delphi.Personality.12
+ Application
+
+
+
+ Clac.dpr
+
+
+
+
+
+ Clac.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/20_Task/M2/Clac.res b/20_Task/M2/Clac.res
new file mode 100644
index 0000000..128b543
Binary files /dev/null and b/20_Task/M2/Clac.res differ
diff --git a/20_Task/M2/USplash.dfm b/20_Task/M2/USplash.dfm
new file mode 100644
index 0000000..19d84cb
--- /dev/null
+++ b/20_Task/M2/USplash.dfm
@@ -0,0 +1,398 @@
+object SplashForm: TSplashForm
+ Left = 0
+ Top = 0
+ BorderStyle = bsNone
+ Caption = 'SplashForm'
+ ClientHeight = 263
+ ClientWidth = 313
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poScreenCenter
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 313
+ Height = 263
+ Align = alClient
+ Caption = 'Panel1'
+ TabOrder = 0
+ ExplicitLeft = 232
+ ExplicitTop = 120
+ ExplicitWidth = 185
+ ExplicitHeight = 41
+ object Image1: TImage
+ Left = 16
+ Top = 8
+ Width = 281
+ Height = 193
+ Picture.Data = {
+ 07544269746D6170E62B0000424DE62B00000000000076000000280000009900
+ 00008B0000000100040000000000702B00000000000000000000100000000000
+ 000000000000000080000080000000808000800000008000800080800000C0C0
+ C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
+ FF00777777777777777777777777777777777777777777777777777777777777
+ 7777777777777777777777777777777777777777777777777777777777777777
+ 77777777777777777777777777777F0000007777777777777777777777777777
+ 7777777777777777777777777777777777777777777777777777777777777777
+ 7777777777777777777777777777777777777777777777777777777777777F26
+ 2626777777777777777777777777777777777777777777777777777777777777
+ 7777777777777777777777777777777777777777777777777777777777777777
+ 77777777777777777777777777777F6262627777777777777777777777777777
+ 7777777777777777777777777777777777777777777777777777777777777777
+ 7777777777777777777777777777777777777777777777777777777777777F00
+ 0000777777777777777777877887787878777777774041404044040488888877
+ 7777777777777777777777777777777777777777777777777777777777777777
+ 77777777777777777777777777777FFFFFFF7777777777777778878888788878
+ 878878778777404FF8F8F8405777777777777777777777777777777777777777
+ 7777777777777777777777777777777777777777777777777777777777777F00
+ 0000777777777777887878777777777877878F88F877040FF8F8888408888777
+ 777777777777777777777777777777777777F777777777777777777777777777
+ 77777777777777777777777777777F0000007777777777878787777777777777
+ 777778778788450FFFFFFFFF487777777777777777777777777B77B7777B797B
+ 7B7B7777777F7777777777777777777777777777777777777777777777777FFF
+ FFFF7777777778F87777777777777777777777777777804F8F8FF8F8F0777777
+ 777777F77B7777B779789798389883889797B7B7777B77B77777777777777777
+ 77777777777777777777777777777FFFF000777777778F877777777777777777
+ 77777777777774088F88FFFFF477777777777777778988983898383893839839
+ 8373797B7B777777BF7777777777777777777777777777777777777777777FFF
+ FFFF77777778787777777777777777777777777777777040FF8F888F87777777
+ 7777779838183188183818813818389838937B7397B7B7B77777777777777777
+ 77777777777777777777777777777FFFFFFF7777778877777777777777777777
+ 7777777777777540FFFFFF8F87877777777B8988183818313181313181312131
+ 3183939B7B897B77B7B7F7777777777777777777777777777777777777777FFF
+ FFFF7777788777777777777777BBBBBBBBBBBBBBB8877704F8F8F8F8F8F87777
+ 779888318181301803121812131813838393373739B7B97B7777B77777777777
+ 77777777777777777777777777777FFFFFFF77777877777777777779BBB87777
+ 777777778BBBBB408FFFFFFFF8F8887773883108121181813181131812131303
+ 13389339B37B8BB7B7B777B77777777777777777777777777777777777777FFF
+ FFFF77777877777777777BBB77777777777777777777774058BFFF8FFFFF8877
+ 89818181181212110121812181318131381339373739B979B7B7B77777777777
+ 77777777777777777777777777777FFFFFFF777787777777777BBB7777777777
+ 77777777777777840F8888F8F8F8F87988812180301181121811213131813183
+ 13393839B9B7B7B7B77777777777777777777777777777777777777777777FFF
+ FFFF7778F877777777BB77777777777777777777777777704F8F88888FF888B8
+ 881811018130108131031112130312138138339338379B8B97BB7B7777777777
+ 77777777777777777777777777777FFFFFFF7777877777777B97777777777777
+ 777777777777777404FF8F888888889891818030101803101031803181318313
+ 13393938B9BB37BB7B7777777777777777777777777777777777777777777F00
+ 0F02777877777777BB77777777777777777777777777777050F8888888888878
+ 883881818121112118103181303131813813383937397B97B77B7B7777777777
+ 77777777777777777777777777777F00000F77788777777BB777777777777777
+ 777777777777777404F88F8888F8897B31011081801180130121112113181318
+ 313893939B8B9B8B97B777777777777777777777777777777777777777777F44
+ 444477787777778B777777777777777777777777777777784188F888D8888889
+ 7B71081138121810311812112131313313393337339B8B7B7B7B777777777777
+ 7777777777777777777777777777774444447778777777B77777777777777777
+ 777777777777777740488888888888888177B108018812118121181318121381
+ 318338939B8B8B9B7B77777777777777777777777777777777777777777777FF
+ FF007778777777B777777777777777777777777777777777041F878888898831
+ 0810B8B1181181821181211213181213833939338B9B9B7379FB777777777777
+ 777777777777777777777777777777000000777877777B877777777777777777
+ 77777777777777784404777778838103010301B8B01218181212118112131313
+ 1318338B93737B9B7B77777777777777777777777777777777777777777777FF
+ FFFF777877777B77777777777777777777777777777777888888888788898181
+ 80101010B37110318181130318131831833393937B9B97B7B7BF777777777777
+ 77777777777777777777777777777FFFFFFF777877777B777777777777777777
+ 7777777777777777777777777778930101080131183371181381213103103913
+ 13938B8339B8B89B7B77777777777777777777777777777777777777777777FF
+ FFFF777878777B77777777777777777777777777777777777777777777777811
+ 2110180121183B8108181801318130383389339B8B8B8BB89777777777777777
+ 777777777777777777777777777777FFFFFF777877777B777777777777777777
+ 77777777777777777777777777777777112110181121283B1108181810313131
+ 31339379B3B9B97BB7B7777777777777777777777777777777777777777777FF
+ FFFF777787778B77777777777777777777777777777777777777777777777777
+ 7771030112111181B81309803112181383938B3B9737B8B97B77777777777777
+ 777777777777777777777777777777FFFFFF777787778B777777777777777777
+ 7777777777777777777777777777777777777112181303012B89121812181318
+ 13839B9739B73B97B777777777777777777777777777777777777777777777FF
+ FFFF77778777BB77777777777777777777777777777777777777777777777777
+ 7777777130108118103B8118181301313313373B7B9B373B77B7777777777777
+ 777777777777777777777777777777FFFFFF777787778B777777777777777777
+ 7777777777777777777777777777777777777777113112121080B73108181303
+ 183939B9B8B97B7B9B7777777777777777777777777777777777777777777706
+ 260F777778777B77777777777777777777777777777777777777777777777777
+ 77777777730301111311017391218131313838379B8B9B97B777777777777777
+ 777777777777777777777777777777000000777778787B777777777777777777
+ 7777777777777777777777777777777777777777711181218010303838180812
+ 18339373B79B8B8B97BF777777777777777777777777777777777777777777FF
+ 000F777778777B77777777777777777777777777777777777777777777777777
+ 77777777712121101318110818B138181318339B8B37B9B8B77B777777777777
+ 777777777777777777777777777777000000777777877B777777777777777777
+ 7777777777777777777777777777777777777777718110318013013103889188
+ 31313839B97B8B7B7B7777777777777777777777777777777777777777777700
+ 0000777777877B77777777777777777777777777777777777777777777777777
+ 77777777701218121130130131338B118181313373B9B79B97B7777777777777
+ 77777777777777777777777777777F77FFFF7777777878B77777777777777777
+ 77777777777777777777777777777777777777777313108103013183183898B7
+ 38398318397373B7B7B7777777777777777777777777777777777777777777FF
+ FFFF7777777877B7777777777777777777777777777777777777777777777777
+ 7777777771010311811383939393338379883933139B9B79B777777777777777
+ 777777777777777777777777777777FFFFFF7777777877B77777777777777777
+ 7777777777777777777777777777777777777777718131031381331338318393
+ 8B93889383337B37B7B7F77777777777777777777777777777777777777777FF
+ FFFF7777777787B8777777777777777777777777777777777777777777777777
+ 77777777731810812133138313133138378983839389397B9B7B777777777777
+ 777777777777777777777777777777FFFFFF77777777878B7777777777777777
+ 7777777777777777777777777777777777777777773013131318131213381313
+ 138B89883933373B7977777777777777777777777777777777777777777777FF
+ FFFF7777777778FB777777777777777777777777777777777777777777777777
+ 777777777711213181213013181138393938B898383939B83B7B777777777777
+ 777777777777777777777777777777FFFFFF77777777778BB777777777777777
+ 7777777777777777777777777777777777777777770318131311818112131383
+ 383938B98983833587B7404404087777777777777777777777777777777777FF
+ FFFF77777777778FB77777777777777777777777777777777777777777777777
+ 777777777711318030121030313839B9B93B8373738939B8B04014007F740777
+ 777777777777777777777777777777FFFFFF77777777778FB877777777777777
+ 777777777777777777777777777777777777777777380311818113118139B7B7
+ B7B9393789B838937B4877FF7F7FF4778777777777777777777777777777770F
+ FFFF777777777778FB7777777777777777777777777777777777777777777777
+ 7777777777713103010301831BB77B77B97B8B93378973B939B477FFFFF8F878
+ 787777777777777777777777777777F000007777777777778B87777777777777
+ 77777777777777777777777777777777777777777713108131313939B777B77B
+ 77B9B3739B8B8983334085047F7FF8787778777777777777777777777777770F
+ FF007777777777778FB777777777777777777777777777777777777777777777
+ 77777777773013110813833B7B7B77B77B3739393837379734897BFF04F88878
+ 8787778777777777777777777777770FFFF077777777777778B8777777777777
+ 7777777777777777777777777777777777777777781810121103137777777B77
+ B97B8B83339873794838B77FF04F8F8F87778777777777777777777777777700
+ 0FFF777777777777778B77777777777777777777777777777777777777777777
+ 77777777713108112111813338B7B7B7B7B9393989333738409B8B7FFF41F888
+ F8777777777777777777777777777700FFFF777777777777778B877777777777
+ 777777777777777777777777777777777777777731031030103010118393B9B7
+ B93833833339897405389B77FF040F88888887878777777777777777777777FF
+ FFFF7777777777777778B7777778777777778777777777777777777777777777
+ 7777777731301118180130121038379B73933131389333B04073B77FFFF408F8
+ F87777777777777777777777777777BFFF7F7777777777777778B87787777878
+ 7777777777777777777777777777777777777777108180301318031813139B7B
+ 9338181313839734807979B7FFF0408888787877777777777777777777777F7F
+ BFBF77777777777777778B777778777778777777777777777777777777777777
+ 77777778131010113011311313183B7B8313131383933394048B8B77FFF80488
+ 888887887877777777777777777777FFFFFF7777777777777777788778787887
+ 8778778777777777777777777777777777777771310301081303183937BB9733
+ 1181308313389B3B41787977FFFF4148F87787777777777777777777777777FF
+ FFFF777777777777777787BB8F8F88F887877777777777777777777777777777
+ 777777830181130101813338B7F7FB81031211311393379B404B877B7FFF040F
+ 8F8777777777777777777777777777FFFFFF7777777777777777778888F88F88
+ 87887877777777777777777777777777777777311301801301210101337B3810
+ 31811303838393738417B877BFFF4048787787777777777777777777777777FF
+ FFFF777777777777777778FBB888888F888F8F87777777777777777777777777
+ 7777771210121130110108101010010310121813139373B9B408797877FF8057
+ 777777777777777777777777777777FFFFFF77777777777777778F8F8B88F888
+ 8F88F87778777777777777777777777777777813181112181081310801013931
+ 8131310318339B8B7340B7B877FF8447777777777777777777777777777777FF
+ FFFF777777777777778778888B88888F88F88778777777777777777777777777
+ 7777713010308131831131311331B83130812131339379B79B840977877F4007
+ 777777777777777777777777777777000F0277777777777777778F888F8888F8
+ 8F88F887777777777777777777777777777783113101101211338393397FB793
+ 1311813839373B8B7B7848B9787F047777777777777777777777777777777700
+ 0000777777777777778788F888BB8F8F8FBF8F87878777777777777777777777
+ 7777310810121811030313877FF7FB8318303131839397B9B9B9B407B8805777
+ 777777777777777777777777777777FFFFFF7777777777777778F8888888B888
+ 8888F878777777777777777777777777777710310810101218181337BF7FB9B9
+ 3131318338B8B9B7B7B7B97040847777777777777777777777777777777777FF
+ FFFF777777777777778F8F88F8F8B8F8F8F88B77787777777777777777777777
+ 7778131210101211013108137B777B83931831393939B8B79B79B7B7B98887B7
+ 777777777777777777777777777777FFFF0F7777777777777778F888888F8B88
+ BFBFF888B77777777777777777777777777318011018010813013133138B7B93
+ 8313131337B37B97B7B7B7B9B838878777777777777777777777777777777FFF
+ FFFF777777777777778F88F88F88BF8FF888B78F87B777777777777777777777
+ 7771011803010101011211018137B383131838389397B7B7B9B79B77B9318889
+ 7777777777777777777777777777777FFF7F7777777777777778F888F8FF8FBF
+ BFF8778B77877777777777777777777777731210101018033838138012317393
+ 31313139B8BB89B7B77B7B7B9733188817777777777777777777777777777777
+ 777777777777777777778F8F8888BF888FB77B777B7B77777777777777777777
+ 7771018101801091011131131113B938183138338B97BB79B7B7B77B7B110188
+ 818777777777777777777777777777F7F77F77777777777777878F88F8F8F8F8
+ 78778778B7777777777777777777777777818101010101213183B7B313777331
+ 33183939B37B97BB7B77B7B7B8B33B38898377B77777777777777777777777FF
+ FFFF7777777777777777788F88BFBFF8777877B7778B77777777777777777777
+ 7731031080121810139B7FFFFFFFF3138131338B379B7B797B7B777B7B10313B
+ 889898979777777777777777777777FFFFFF7777777777777777877878F88FB7
+ 787778787B778777777777777777777777801121010101033837FFFFFFFF7931
+ 3933893973B8B7B7B777BFB77B398103381338B83777777777777777777777FF
+ FFFF77777777777777777878788BFF8777787777787B77777777777777777777
+ 771308101081031813B7FFFFFFFF383938393B8B9B7B97B77B7B7B77BB130181
+ 3B8101017B77777777777777777777FFFFFF7777777777777777777878F8FB77
+ B777787B7B77877777777777777777773130110130101101339FFFFFFFFB9383
+ 39B389B8B97B7B7B7777F7FB7B31331383B89337BFF7B77BBBBBBB77777777FF
+ FFFF777777777777777777877BFBF88787777778777B77777777777777777777
+ 1810121001018031838FFFFFFFB7B9B9B8393B9B8B9B77B7B7BFB7BF7B313177
+ B87B397BFBFBFBB7777777B777777706260F777777777777777777778F8F8F87
+ 777B778F88B787777777777777777773121181018101010139B7FFFFFF7B77B7
+ B9B8B8B8B7B77B7F7FF7F7F7BB9837313988BB777FFF777777777777777777FF
+ FFFF7777777777777777777778FB7B77B787777B787777777777777777777771
+ 3112101010801081383FFFF7F7BF7B79B79B9B9B97B7BF77BF7BF7BFBB339181
+ 3038837B7F7FB7777777777B777777FFFFFF7777777777777777777777877788
+ 77778B77787B777777777777777777180181010801010112133FFFFFF77FB77B
+ 8B8B8B8B7BB777BF7F7FF7777793033183183BBBF777B777777777B777777FFF
+ FFF477777777777777777777777B7BF87B7B777B7B7877777777777777777301
+ 13018101210180011397FFFBFF7B77B7B9B79B98B777BFF7FBF7BFF7B3B11313
+ 131BB83B7B7B7777777777B77777770FFFFF77777777777777777777777878F8
+ 888778BF8877777777777777777781312130101101210181383FF7F7FBF77B7B
+ 9833337B97BF7F7FF7F7F7BBBBBBB83931B318831838377777777B7777777777
+ FF4477777777777777777777777778B778F8BFF8878777777777777777773181
+ 8103108010101010393BFFFF777B7B9333138133B7F7FFFFF7FBBBF779B31B8B
+ BB38181833181B7777777B77777777FFFFFF7777777777777777777777777787
+ BFBF8FB777777777777777777777112131810101801108010397F7F7B7B7B833
+ 8121131837BFFFFFFFB7F7FB7B39303B0133B3B8B91387777777B777777777FF
+ FFFF777777777777777777777777777778787877777777777777777777730311
+ 0318031018121101318B7FBF7B79339013138131B77FFFFFFFBFFF7FB9339B13
+ 318139837B339337777B7777777777FFFFFF7777777777777777777777777777
+ 7777777777777777777777777771812131011103010101210339F7F7B8331309
+ 318103739B77F7B77FB7FBF7B83BBB793131838788BBB38977B77777777777FF
+ FFFF777777777777777777777777777777777777777777777777777777713118
+ 01303081301801018138B77B7B9318120131313377B7B8B8B7B7FF77B9BBB77B
+ 8B931389B83713BB7B777777777777FFFFFF7777777777777777777777777777
+ 777777777777777777777777777701213181011011301801031377B793813101
+ 13121318338313138B9B77B7BB7BFBFB71238108888B131BBB777777777777FF
+ FFFF777777777777777777777777777777777777777777777777777777771811
+ 030131218010101103138B77331210812181813311303139337BB77BB9BF7FF7
+ B9113318108B13BB77BB7777777777FFFFFF7777777777777777777777777777
+ 7777777777777777777777777777731081310810180108100183397B31318110
+ 13103181281138933937FBBB38BF7FFBF7B3938398883B377777B777777777FF
+ FFFF777777777777777777777777777777777777777777777777777777777771
+ 3103131301010108113183B398121031810110111138133839B777BB39BF7F7F
+ B79739373897B97777777BB77777770FFFFF7777777777777777777777777777
+ 7777777777777777777777777777777103181010318030101803389731311121
+ 383383308313B79B837F7BB9B38B77FB83338BB97BBB8B777777777B777777F4
+ 44FF777777777777777777777777777777777777777777777777777777777813
+ 1031318101010112109139333112180110101011397B73393B7FBB731BB17BB3
+ 180138777B878B7777777777B77777444F447777777777777777777777777777
+ 7777777777777777777777777778138018130310181301211303831813813131
+ 213130338B33931B7FFB7B93831BB31B3131313B7FFF88B7777777777B7777FF
+ F444777777777777777777777777777777777777777777777777777777712111
+ 21081103011081180131383331121318130181313181337FF7B7B731B31837B3
+ B1331B33837378B77777777777B777FFF4447777777777777777777777777777
+ 7777777777777777777777777771810311313031030313011813131318318131
+ 313130981393FFFFFFB79383117B7B79BB1BB131188138B777777777777777FF
+ FFFF777777777777777777777777777777777777777777777777777777121318
+ 12110181318110312131839393131383138939337BFFFFFFFFB7B313837BFFB7
+ 9BB3B337B89B77BFB777777777777FFFF8317777777777777777777777777777
+ 7777777777777777777777777711210018031310103018101303183839383939
+ 379B7B7FBFF7FFF7F7B7391317BFFBFBB33339BBB7739BFBFB77777777B777FF
+ FFFF777777777777777777777777777777777777777777777777777773181131
+ 31180103181310318131331393B9B977B7B77777F7FFFFFFFFB383389BF7FF7F
+ B7BFFFB79BBBB77F7FB77777BB7777FFFFFF7777777777777777777777777777
+ 7777777777777777777777777830180103031810310121031318313383737B7B
+ 777B7BFBF7F7FFFF77BBB9133B77FFFB713B9FF7B77BFBFFFF7BBBB7777777BF
+ FFFF777777777777777777777777777777777777777777777777777777113013
+ 18113031101811812133183939B7B7B7BB77F77FBFFF7F7F77B9B8B33BBFF7B7
+ 9313B37F77FF77FFF7B77777777777FFFFFF7777777777777777777777777777
+ 7777777777777777777777777312101031030118013031018121339383B9B7B7
+ 777B7BFBFFBFFFF7BB83397FFF7B7BF339B7B7BFF777BB7BFB777777777777FF
+ FFFF777777777777777777777777777777777777777777777777777771811818
+ 109810303101121313181383397B97B7B7BF77F7F7FF777B779138391819339B
+ 7F77BBFFF7F77F77B7777777777777FFFFFF7777777777777777777777777777
+ 7777777777777777777777777030301121211811081081310313313937B37B97
+ B777BF7BF7F7BF7B9B7BB9BBBB3B77FFF7B7B9BFF7FFFFF8B7777777777777FF
+ FFFF777777777777777777777777777777777777777777777777777771110312
+ 1110301031031018138138339B97B77B77B777BF7FB7F7B7BF7FFF7777FFF7BF
+ 39BB839B7FFFFFF8B7777777777777FFFFFF7777777777777777777777777777
+ 77777777777777777777777778121181180311811031031213131398B37B77B7
+ 7B77B7777BF7B9B77393137B7F7777B13897FFFBB7FFFF78B7777777777777FF
+ F002777777777777777777777777777777777777777777777777777777109213
+ 01010310811031813183983398B97B77B77B777B777B8373983138138B3B3103
+ 13FFF7FF7BF77BF8B7777777777777FFFFFF7777777777777777777777777777
+ 777777777777777777777777778121103131803103081121831333397BB7B77B
+ 797B7B777B739B9313833939310101813B8B37777F3BB778B7777777777777FF
+ FFFF777777777777777777777777777777777777777777777777777777710103
+ 101211031111218131813893B97B7B77B7B777B7B79338333393933833181313
+ 7F139338FFBBBBBB7777777777777FFFFFFF7777777777777777777777777777
+ 7777777777777777777777777777181081810130801211311338933737B77B7B
+ 7B7B7B7B8138139FFFF7B7B9B939337BF38B39739FFFF7F877777777777777FF
+ FF0F777777777777777777777777777777777777777777777777777777771031
+ 101080101181130383933893797B7B7B97B73381333137F739B7FF77B77B77FF
+ F1397777F7FFFF78777777777777778121317777777777777777777777777777
+ 777777777777777777777777777773103013113103030813183939B3B8B7977B
+ 73118313381BF7B7FF7FBFFFFFFFFFFF33FF77FFFFFFFF8C77777777777777FF
+ FFF7777777777777777777777777777777777777777777777777777777777101
+ 0181218011011313393837379B7B7B97383839B913FFBFFFFFFFF7FFFFFFFF39
+ 7FF7FFFFFFF7FF8777777777777777FFFFFF7777777777777777777777777777
+ 777777777777777777777777777778121310110180112181383B939B8B9B87B8
+ 18131837FF7FF79339BFFFF7B7B9377FF77F7FBFFFFFFF8777777777777777FF
+ FFFF777777777777777777777777777777777777777777777777777777777718
+ 1001803101801313133938B8B7B7B333133877F7F7F89337FFF7BFFFFFF7FF7F
+ 77FFFFF77FFFFC8777777777777777FF7FFF7777777777777777777777777777
+ 77777777777777777777777777777711013101012110103839373B9B39739018
+ 11813377F98388F89377F7FF7F7F77F77FFFFFFFFFFFF87777777777777777FF
+ FFFF777777777777777777777777777777777777777777777777777777777772
+ 1801031810308101383B938383318931339B7F7B83897F383773777FF7FF7B87
+ FFFFFFFF7FFF877777777777777777FFFFFF7777777777777777777777777777
+ 7777777777777777777777777777777110181010981010121398393131003081
+ 81337393313FF17F7F7F7B77973337FFFFFFFFFFFFFC877777777777777777FF
+ FFFF777777777777777777777777777777777777777777777777777777777777
+ 1211031303131811383B831301811138388931313FF73FFFFFFFFFF7BB97FFFF
+ FFFFFFFFFF88777777777777777777FFFFFF7777777777777777777777777777
+ 7777777777777777777777777777777781103181310133893939318010133339
+ 39B7787F404041B9B87FFFFFF7FFFFF77777FFFFFC8777777777777777777706
+ 260F777777777777777777777777777777777777777777777777777777777777
+ 7308121393810138BB7B930113397FF7FB77F040873F7048FFF7FFF7FFFFFF77
+ FFFF7FFF887777777777777777777FFFFFFF7777777777777777777777777777
+ 777777777777777777777777777777777131113383939893977B713137738139
+ 3777F04797777F408FFFFFFF777FF77FFF7FFC88777777777777777777777700
+ 0000777777777777777777777777777777777777777777777777777777777777
+ 7703083131033BB37B777393713B9B7B7B7B714877F77880587FFFFFFFFFFFFF
+ FFC888777777777777777777777777FFFFF07777777777777777777777777777
+ 777777777777777777777777777777777711131830100187FBFB7B831B77FF7F
+ 777777577779FFF4078888888C88C8888887777777777777777777777777770B
+ 99BB777777777777777777777777777777777777777777777777777777777777
+ 777121393981313937FF7B139FFB739BFBF7FF7F777FF7F04FF777F7777877FF
+ F7777777777777777777777777777B77CCCC7777777777777777777777777777
+ 7777777777777777777777777777777777781303839B8BB77F777F37B3181389
+ 377FF7F777F77750477FFFFFFFFF77FFFB777777777777777777777777777754
+ 0FFF777777777777777777777777777777777777777777777777777777777777
+ 777718133130137B77BFFF71113B9BB7B7777777777FF8404FFFF77777777FFF
+ 777777777777777777777777777777FFFFFF7777777777777777777777777777
+ 7777777777777777777777777777777777777131379311133B7B7B3137B77FF7
+ FFFF7FF77F7F84048F777FFFFF7F7777777777777777777777777777777777FF
+ FFFF777777777777777777777777777777777777777777777777777777777777
+ 77777731833777B7FFF7FFFB7FF7339B7FFFFF7F7F774140FF7FFF7777FF7777
+ 777777777777777777777777777777FFFF7F7777777777777777777777777777
+ 777777777777777777777777777777777777777131383B7777FFFFFF733B7FFF
+ FFFF7FF7F774040777FFF7FFFF777777777777777777777777777777777777FF
+ FFFF777777777777777777777777777777777777777777777777777777777777
+ 77777777393938B7B7B7777BFFFFFFFFFFFFFF7F7850487777FFF7FF77777777
+ 777777777777777777777777777777FFFFFF7777777777777777777777777777
+ 777777777777777777777777777777777777777773833937B7777F7FF77F7FFF
+ 7F7F7F7774408F7F7F7F7F7777777777777777777777777777777777777777FF
+ FFFF777777777777777777777777777777777777777777777777777777777777
+ 7777777777B93739B7B7BF7FBFFFFFFFF7F777778400FFFF77F7F77777777777
+ 77777777777777777777777777777FFFFFFF7777777777777777777777777777
+ 77777777777777777777777777777777777777777777B93B97B777BF777FBFB7
+ 77777777414F777777777777B77777777777777777777777777777777777770F
+ FFFF777777777777777777777777777777777777777777777777777777777777
+ 77777777777777B7B7B7B7F7777777F777F77777404777777787777777777777
+ 777777777777777777777777777777CCAAAA7777777777777777777777777777
+ 777777777777777777777777777777777777777777777777B7B7777777777777
+ 77777777740777777707777777777777777777777777777777777777777777DD
+ DCCC777777777777777777777777777777777777777777777777777777777777
+ 77777777777777777777B777777777B7F7F77777740777777047777777777777
+ 77777777777777777777777777777FB139FF7777777777777777777777777777
+ 7777777777777777777777777777777777777777777777777777777777777777
+ 777777F7F7047777044777777777777777777777777777777777777777777777
+ 7777777777777777777777777777777777777777777777777777777777777777
+ 7777777777777777777777777777777777777777777404047787777777777777
+ 7777777777777777777777777777777777777777777777777777777777777777
+ 7777777777777777777777777777777777777777777777777777777777777777
+ 7777777777777777777777777777777777777777777777777777777777777707
+ 0000777777777777777777777777777777777777777777777777777777777777
+ 7777777777777777777777777777777777777777777777777777777777777777
+ 777777777777777777777777777777FF7777}
+ Stretch = True
+ end
+ object Label1: TLabel
+ Left = 72
+ Top = 224
+ Width = 155
+ Height = 13
+ Caption = #49368#54540#54532#47196#44536#47016' '#44592#46041#51473'...('#51060#51116#54840')'
+ end
+ end
+end
diff --git a/20_Task/M2/USplash.pas b/20_Task/M2/USplash.pas
new file mode 100644
index 0000000..ec225ed
--- /dev/null
+++ b/20_Task/M2/USplash.pas
@@ -0,0 +1,27 @@
+unit USplash;
+
+interface
+
+uses
+ Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
+ Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;
+
+type
+ TSplashForm = class(TForm)
+ Panel1: TPanel;
+ Image1: TImage;
+ Label1: TLabel;
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ SplashForm: TSplashForm;
+
+implementation
+
+{$R *.dfm}
+
+end.
diff --git a/30_Test/leejaeho-123/T1.zip b/30_Test/leejaeho-123/T1.zip
new file mode 100644
index 0000000..1fdbe17
Binary files /dev/null and b/30_Test/leejaeho-123/T1.zip differ
diff --git a/30_Test/leejaeho-123/T1/ConditionTest/ConditionForm.dfm b/30_Test/leejaeho-123/T1/ConditionTest/ConditionForm.dfm
new file mode 100644
index 0000000..3f1cc5c
--- /dev/null
+++ b/30_Test/leejaeho-123/T1/ConditionTest/ConditionForm.dfm
@@ -0,0 +1,56 @@
+object frmCondition: TfrmCondition
+ Left = 0
+ Top = 0
+ Caption = #54632#49688' '#48143' '#51312#44148#47928
+ ClientHeight = 300
+ ClientWidth = 316
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Label1: TLabel
+ Left = 32
+ Top = 112
+ Width = 58
+ Height = 13
+ Caption = #50500#51060#46356' '#47785#47197
+ end
+ object edtId: TEdit
+ Left = 32
+ Top = 47
+ Width = 121
+ Height = 21
+ TabOrder = 0
+ TextHint = #50500#51060#46356
+ end
+ object edtPwd: TEdit
+ Left = 32
+ Top = 74
+ Width = 121
+ Height = 21
+ TabOrder = 1
+ TextHint = #48708#48128#48264#54840
+ end
+ object Button1: TButton
+ Left = 159
+ Top = 72
+ Width = 75
+ Height = 25
+ Caption = #47196#44536#51064
+ TabOrder = 2
+ OnClick = Button1Click
+ end
+ object mmoIds: TMemo
+ Left = 32
+ Top = 131
+ Width = 257
+ Height = 137
+ TabOrder = 3
+ end
+end
diff --git a/30_Test/leejaeho-123/T1/ConditionTest/ConditionForm.pas b/30_Test/leejaeho-123/T1/ConditionTest/ConditionForm.pas
new file mode 100644
index 0000000..c0e9804
--- /dev/null
+++ b/30_Test/leejaeho-123/T1/ConditionTest/ConditionForm.pas
@@ -0,0 +1,104 @@
+unit ConditionForm;
+
+interface
+
+uses
+ Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
+ Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
+
+type
+ TfrmCondition = class(TForm)
+ edtId: TEdit;
+ edtPwd: TEdit;
+ Button1: TButton;
+ mmoIds: TMemo;
+ Label1: TLabel;
+ procedure FormCreate(Sender: TObject);
+ procedure Button1Click(Sender: TObject);
+ private
+ FIds: array of string;
+ FPwds: array of string;
+ public
+ { Public declarations }
+ procedure InitData;
+
+ function LoginCheck(AId, APwd: string): Integer;
+ end;
+
+var
+ frmCondition: TfrmCondition;
+
+const
+ LOGIN_RESULT_OK = 0;
+ LOGIN_RESULT_NOTFOUND_ID = 10;
+ LOGIN_RESULT_INCORRECT = 20;
+ LOGIN_RESULT_EMPTY = 30;
+
+implementation
+
+{$R *.dfm}
+
+{ TForm2 }
+
+procedure TfrmCondition.FormCreate(Sender: TObject);
+var
+ I: Integer;
+begin
+ InitData;
+
+ for I := 0 to Length(FIds) - 1 do
+ mmoIds.Lines.Add(FIds[I] + '/' + FPwds[I]);
+end;
+
+procedure TfrmCondition.InitData;
+begin
+ FIds := ['abc', 'test', 'yourid', 'myid', 'unknown'];
+ FPwds := ['123', '123', '123', '123', '123'];
+end;
+
+function TfrmCondition.LoginCheck(AId, APwd: string): Integer;
+var
+ i:integer;// º¯¼ö ¼±¾ð
+begin
+
+ { TODO : ¾ÆÀ̵ð¿Í ºñ¹Ð¹øÈ£°¡ ¾ø´Â(°ø¹é) °æ¿ì 30À» ¹Ýȯ }
+ if True then
+ begin
+ result := 30;
+ Exit;
+ end; //¤Ã¤Ã¤Ã
+
+
+ { TODO : ¾ÆÀ̵𰡠FIds ¹è¿¾È¿¡ ¾ø´Â °æ¿ì 10 ¹Ýȯ }
+ for I := 0 to Length(Fids) -1 do
+ begin
+ if Fids[I] = AId then
+ end;
+
+ { TODO : ºñ¹Ð¹øÈ£°¡ ¸ÂÁö ¾Ê´Â °æ¿ì 20À» ¹Ýȯ }
+
+ { TODO : ¾ÆÀ̵ð ºñ¹Ð¹øÈ£°¡ ¸Â´Â °æ¿ì 0 ¹Ýȯ }
+
+ Result := LOGIN_RESULT_OK;
+end;
+
+procedure TfrmCondition.Button1Click(Sender: TObject);
+var
+ LoginResult: Integer;
+begin
+ LoginResult := LoginCheck(edtId.Text, edtPwd.Text);
+
+ if LoginResult > 0 then
+ begin
+ case LoginResult of
+ LOGIN_RESULT_NOTFOUND_ID,
+ LOGIN_RESULT_INCORRECT: ShowMessage('¾ÆÀ̵ð ¶Ç´Â ºñ¹Ð¹øÈ£°¡ ¸ÂÁö ¾Ê½À´Ï´Ù.');
+ LOGIN_RESULT_EMPTY: ShowMessage('¾ÆÀ̵ð¿Í ºñ¹Ð¹øÈ£¸¦ ÀÔ·ÂÇϼ¼¿ä.');
+ end;
+ Exit;
+ end;
+
+ ShowMessage('·Î±×ÀÎ ¼º°ø');
+end;
+
+end.
diff --git a/30_Test/leejaeho-123/T1/ConditionTest/ConditionTest.dpr b/30_Test/leejaeho-123/T1/ConditionTest/ConditionTest.dpr
new file mode 100644
index 0000000..c593a27
--- /dev/null
+++ b/30_Test/leejaeho-123/T1/ConditionTest/ConditionTest.dpr
@@ -0,0 +1,14 @@
+program ConditionTest;
+
+uses
+ Vcl.Forms,
+ ConditionForm in 'ConditionForm.pas' {frmCondition};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.MainFormOnTaskbar := True;
+ Application.CreateForm(TfrmCondition, frmCondition);
+ Application.Run;
+end.
diff --git a/30_Test/leejaeho-123/T1/ConditionTest/ConditionTest.dproj b/30_Test/leejaeho-123/T1/ConditionTest/ConditionTest.dproj
new file mode 100644
index 0000000..7ccc922
--- /dev/null
+++ b/30_Test/leejaeho-123/T1/ConditionTest/ConditionTest.dproj
@@ -0,0 +1,612 @@
+
+
+ {C276C5A3-F3B9-4C9B-BFA4-957FB643EA50}
+ 18.6
+ VCL
+ ConditionTest.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
+ ConditionTest
+
+
+ DBXSqliteDriver;dxFlowChartRS26;dxPSdxMapControlLnkRS26;DBXDb2Driver;vclactnband;dxBarRS26;vclFireDAC;dxFireDACEMFRS26;tethering;dxSpreadSheetInplaceRichEditRS26;FireDACADSDriver;dxRichEditCoreRS26;dxPSdxSpreadSheetLnkRS26;FireDACMSSQLDriver;vcltouch;vcldb;svn;dxPSTeeChartRS26;dxGDIPlusRS26;dxPSdxFCLnkRS26;dxCloudServiceLibraryRS26;dxPSLnksRS26;FireDACDBXDriver;cxGridRS26;dxPDFViewerRS26;dxPsPrVwAdvRS26;vclx;dxPScxTLLnkRS26;RESTBackendComponents;VCLRESTComponents;Month;vclie;bindengine;CloudService;dxmdsRS26;FireDACMySQLDriver;dxdborRS26;DataSnapClient;dxFireDACServerModeRS26;bindcompdbx;BabaComp103;IndyIPServer;DBXSybaseASEDriver;HsBarcode1DRun;cxPivotGridRS26;IndySystem;cxTreeListdxBarPopupMenuRS26;dsnapcon;cxTreeListRS26;dxPScxPivotGridLnkRS26;cxSchedulerRibbonStyleEventEditorRS26;dxPSCoreRS26;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSpreadSheetRS26;dxBarExtItemsRS26;dxPSdxGaugeControlLnkRS26;emshosting;DBXOdbcDriver;FireDACTDataDriver;FMXTee;dxdbtrRS26;dxRichEditControlCoreRS26;soaprtl;DbxCommonDriver;dxFlowChartAdvancedCustomizeFormRS26;dxDockingRS26;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;cxLibraryRS26;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;dxPScxSchedulerLnkRS26;CodeSiteExpressPkg;dxSpreadSheetConditionalFormattingDialogsRS26;appanalytics;dxRibbonCustomizationFormRS26;cxSchedulerGridRS26;QR506RunDXE10_3;IndyIPClient;bindcompvcl;TeeUI;dxADOEMFRS26;VclSmp;cxInitD103;FireDACODBCDriver;dxRibbonRS26;DataSnapIndy10ServerTransport;dxPScxCommonRS26;dxRichEditDocumentModelRS26;DataSnapProviderClient;FireDACMongoDBDriver;dxFlowChartDesignerRS26;dxPScxGridLnkRS26;dxSpreadSheetCoreRS26;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;dxPScxExtCommonRS26;emsclientfiredac;DataSnapFireDAC;svnui;DBXMSSQLDriver;dxRichEditControlRS26;DatasnapConnectorsFreePascal;dxGaugeControlRS26;dxorgcRS26;dxPScxVGridLnkRS26;bindcompfmx;DBXOracleDriver;inetdb;dxBarDBNavRS26;dxDBXServerModeRS26;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;dxServerModeRS26;dxWizardControlRS26;dxTabbedMDIRS26;dxEMFRS26;dbexpress;IndyCore;dxComnRS26;dsnap;emsclient;DataSnapCommon;FireDACCommon;DataSnapConnectors;cxSchedulerTreeBrowserRS26;dxADOServerModeRS26;soapserver;cxPivotGridOLAPRS26;cxVerticalGridRS26;dxtrmdRS26;FireDACOracleDriver;DBXMySQLDriver;cxSchedulerRS26;cxSchedulerWebServiceStorageRS26;dxPSdxLCLnkRS26;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;dxMapControlRS26;inet;dxSpellCheckerRS26;IndyIPCommon;dxSpreadSheetCoreConditionalFormattingDialogsRS26;vcl;dxPSdxDBOCLnkRS26;FireDACDb2Driver;dxSpreadSheetReportDesignerRS26;ConvertPack260;dxPScxPCProdRS26;dxNavBarRS26;dxCoreRS26;cxExportRS26;TeeDB;FireDAC;dxHttpIndyRequestRS26;dxPSPrVwRibbonRS26;FireDACSqliteDriver;FireDACPgDriver;dxPSRichEditControlLnkRS26;FireDACASADriver;cxPivotGridChartRS26;dxPSDBTeeChartRS26;Tee;DataSnapServer;dxPSdxDBTVLnkRS26;vclwinx;FireDACDSDriver;dxTileControlRS26;dxSkinsCoreRS26;CustomIPTransport;vcldsnap;bindcomp;dxPSdxOCLnkRS26;DBXInformixDriver;dbxcds;adortl;dxSpreadSheetCoreDialogsRS26;dxBarExtDBItemsRS26;dsnapxml;dbrtl;IndyProtocols;inetdbxpress;dxPSdxPDFViewerLnkRS26;dxRichEditInplaceRS26;fmxase;$(DCC_UsePackage)
+ Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)
+ Debug
+ true
+ CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=
+ 1033
+ $(BDS)\bin\default_app.manifest
+
+
+ DBXSqliteDriver;dxFlowChartRS26;dxPSdxMapControlLnkRS26;DBXDb2Driver;vclactnband;dxBarRS26;vclFireDAC;dxFireDACEMFRS26;tethering;dxSpreadSheetInplaceRichEditRS26;FireDACADSDriver;dxRichEditCoreRS26;dxPSdxSpreadSheetLnkRS26;FireDACMSSQLDriver;vcltouch;vcldb;dxPSTeeChartRS26;dxGDIPlusRS26;dxPSdxFCLnkRS26;dxCloudServiceLibraryRS26;dxPSLnksRS26;FireDACDBXDriver;cxGridRS26;dxPDFViewerRS26;dxPsPrVwAdvRS26;vclx;dxPScxTLLnkRS26;RESTBackendComponents;VCLRESTComponents;vclie;bindengine;CloudService;dxmdsRS26;FireDACMySQLDriver;dxdborRS26;DataSnapClient;dxFireDACServerModeRS26;bindcompdbx;IndyIPServer;DBXSybaseASEDriver;HsBarcode1DRun;cxPivotGridRS26;IndySystem;cxTreeListdxBarPopupMenuRS26;dsnapcon;cxTreeListRS26;dxPScxPivotGridLnkRS26;cxSchedulerRibbonStyleEventEditorRS26;dxPSCoreRS26;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSpreadSheetRS26;dxBarExtItemsRS26;dxPSdxGaugeControlLnkRS26;emshosting;DBXOdbcDriver;FireDACTDataDriver;FMXTee;dxdbtrRS26;dxRichEditControlCoreRS26;soaprtl;DbxCommonDriver;dxFlowChartAdvancedCustomizeFormRS26;dxDockingRS26;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;cxLibraryRS26;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;dxPScxSchedulerLnkRS26;dxSpreadSheetConditionalFormattingDialogsRS26;appanalytics;dxRibbonCustomizationFormRS26;cxSchedulerGridRS26;QR506RunDXE10_3;IndyIPClient;bindcompvcl;TeeUI;dxADOEMFRS26;VclSmp;FireDACODBCDriver;dxRibbonRS26;DataSnapIndy10ServerTransport;dxPScxCommonRS26;dxRichEditDocumentModelRS26;DataSnapProviderClient;FireDACMongoDBDriver;dxFlowChartDesignerRS26;dxPScxGridLnkRS26;dxSpreadSheetCoreRS26;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;dxPScxExtCommonRS26;emsclientfiredac;DataSnapFireDAC;DBXMSSQLDriver;dxRichEditControlRS26;DatasnapConnectorsFreePascal;dxGaugeControlRS26;dxorgcRS26;dxPScxVGridLnkRS26;bindcompfmx;DBXOracleDriver;inetdb;dxBarDBNavRS26;dxDBXServerModeRS26;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;dxServerModeRS26;dxWizardControlRS26;dxTabbedMDIRS26;dxEMFRS26;dbexpress;IndyCore;dxComnRS26;dsnap;emsclient;DataSnapCommon;FireDACCommon;DataSnapConnectors;cxSchedulerTreeBrowserRS26;dxADOServerModeRS26;soapserver;cxPivotGridOLAPRS26;cxVerticalGridRS26;dxtrmdRS26;FireDACOracleDriver;DBXMySQLDriver;cxSchedulerRS26;cxSchedulerWebServiceStorageRS26;dxPSdxLCLnkRS26;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;dxMapControlRS26;inet;dxSpellCheckerRS26;IndyIPCommon;dxSpreadSheetCoreConditionalFormattingDialogsRS26;vcl;dxPSdxDBOCLnkRS26;FireDACDb2Driver;dxSpreadSheetReportDesignerRS26;dxPScxPCProdRS26;dxNavBarRS26;dxCoreRS26;cxExportRS26;TeeDB;FireDAC;dxHttpIndyRequestRS26;dxPSPrVwRibbonRS26;FireDACSqliteDriver;FireDACPgDriver;dxPSRichEditControlLnkRS26;FireDACASADriver;cxPivotGridChartRS26;dxPSDBTeeChartRS26;Tee;DataSnapServer;dxPSdxDBTVLnkRS26;vclwinx;FireDACDSDriver;dxTileControlRS26;dxSkinsCoreRS26;CustomIPTransport;vcldsnap;bindcomp;dxPSdxOCLnkRS26;DBXInformixDriver;dbxcds;adortl;dxSpreadSheetCoreDialogsRS26;dxBarExtDBItemsRS26;dsnapxml;dbrtl;IndyProtocols;inetdbxpress;dxPSdxPDFViewerLnkRS26;dxRichEditInplaceRS26;fmxase;$(DCC_UsePackage)
+
+
+ DEBUG;$(DCC_Define)
+ true
+ false
+ true
+ true
+ true
+
+
+ false
+ true
+ PerMonitorV2
+
+
+ false
+ RELEASE;$(DCC_Define)
+ 0
+ 0
+
+
+ true
+ PerMonitorV2
+
+
+
+ MainSource
+
+
+
+ dfm
+
+
+ Cfg_2
+ Base
+
+
+ Base
+
+
+ Cfg_1
+ Base
+
+
+
+ Delphi.Personality.12
+ Application
+
+
+
+ ConditionTest.dpr
+
+
+
+
+
+ ConditionTest.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/30_Test/leejaeho-123/T1/ConditionTest/ConditionTest.res b/30_Test/leejaeho-123/T1/ConditionTest/ConditionTest.res
new file mode 100644
index 0000000..7e8fd36
Binary files /dev/null and b/30_Test/leejaeho-123/T1/ConditionTest/ConditionTest.res differ
diff --git a/30_Test/leejaeho-123/T1/LoopTest/LoopForm.dfm b/30_Test/leejaeho-123/T1/LoopTest/LoopForm.dfm
new file mode 100644
index 0000000..3c4f9cb
--- /dev/null
+++ b/30_Test/leejaeho-123/T1/LoopTest/LoopForm.dfm
@@ -0,0 +1,59 @@
+object frmLoop: TfrmLoop
+ Left = 0
+ Top = 0
+ Caption = 'frmLoop'
+ ClientHeight = 144
+ ClientWidth = 227
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Label1: TLabel
+ Left = 103
+ Top = 35
+ Width = 8
+ Height = 13
+ Caption = '~'
+ end
+ object edtStartNum: TEdit
+ Left = 40
+ Top = 32
+ Width = 57
+ Height = 21
+ NumbersOnly = True
+ TabOrder = 0
+ TextHint = #49884#51089
+ end
+ object btnOddCount: TButton
+ Left = 40
+ Top = 59
+ Width = 161
+ Height = 25
+ Caption = #46160' '#49688' '#49324#51060#51032' '#54848#49688' '#44079#49688#45716'?'
+ TabOrder = 2
+ OnClick = btnOddCountClick
+ end
+ object edtEndNum: TEdit
+ Left = 128
+ Top = 32
+ Width = 57
+ Height = 21
+ NumbersOnly = True
+ TabOrder = 1
+ TextHint = #45149
+ end
+ object btnMul3Sum: TButton
+ Left = 40
+ Top = 90
+ Width = 161
+ Height = 25
+ Caption = #46160' '#49688' '#49324#51060#51032' 3'#51032' '#48176#49688#51032' '#54633#51008'?'
+ TabOrder = 3
+ OnClick = btnMul3SumClick
+ end
+end
diff --git a/30_Test/leejaeho-123/T1/LoopTest/LoopForm.pas b/30_Test/leejaeho-123/T1/LoopTest/LoopForm.pas
new file mode 100644
index 0000000..0d5f0eb
--- /dev/null
+++ b/30_Test/leejaeho-123/T1/LoopTest/LoopForm.pas
@@ -0,0 +1,84 @@
+unit LoopForm;
+
+interface
+
+uses
+ Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
+ Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
+
+type
+ TfrmLoop = class(TForm)
+ edtStartNum: TEdit;
+ btnOddCount: TButton;
+ edtEndNum: TEdit;
+ btnMul3Sum: TButton;
+ Label1: TLabel;
+ procedure btnOddCountClick(Sender: TObject);
+ procedure btnMul3SumClick(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ function CalcOddNumCount(AStartNum, AEndNum: Integer): Integer;
+ function CalcMul3NumSum(AStartNum, AEndNum: Integer): Integer;
+ end;
+
+var
+ frmLoop: TfrmLoop;
+
+implementation
+
+{$R *.dfm}
+
+{ TForm3 }
+
+procedure TfrmLoop.btnOddCountClick(Sender: TObject);
+var
+ StartNum, EndNum: Integer;
+ Count: Integer;
+begin
+ StartNum := StrToIntDef(edtStartNum.Text, 0);
+ EndNum := StrToIntDef(edtEndNum.Text, 0);
+
+ Count := CalcOddNumCount(StartNum, EndNum);
+
+ ShowMessage(Format('µÎ ¼ö »çÀÌÀÇ È¦¼ö´Â [%d]°³ ÀÔ´Ï´Ù.', [Count]));
+end;
+
+procedure TfrmLoop.btnMul3SumClick(Sender: TObject);
+var
+ StartNum, EndNum: Integer;
+ Sum: Integer;
+begin
+ StartNum := StrToIntDef(edtStartNum.Text, 0);
+ EndNum := StrToIntDef(edtEndNum.Text, 0);
+
+ Sum := CalcMul3NumSum(StartNum, EndNum);
+
+ ShowMessage(Format('µÎ ¼ö »çÀÌÀÇ 3ÀÇ ¹è¼öÀÇ ÇÕÀº [%d] ÀÔ´Ï´Ù.', [Sum]));
+end;
+
+function TfrmLoop.CalcOddNumCount(AStartNum, AEndNum: Integer): Integer;
+var
+ i : integer; //
+begin
+ {
+ TODO : AStartNum°ú AEndNum »çÀÌÀÇ È¦¼öÀÇ °¹¼ö¸¦ ¹ÝȯÇÕ´Ï´Ù.
+ Ȧ¼öÀÇ ÆÇ´ÜÀº mod(³ª¸ÓÁö) ¿¬»êÀÚ¸¦ ÀÌ¿ëÇÕ´Ï´Ù.
+ e.g. if Num mod 2 = 1 then
+ }
+ Result := 0;
+ for I := AStartNum to AEndNum do
+ if i mod 2 =1 then
+ Inc(Result);//
+end;
+
+function TfrmLoop.CalcMul3NumSum(AStartNum, AEndNum: Integer): Integer;
+begin
+ {
+ TODO : AStartNum°ú AEndNum »çÀÌÀÇ 3ÀÇ ¹è¼öÀÇ ÇÕÀ» ¹ÝȯÇÕ´Ï´Ù.
+ }
+ Result := 0;
+end;
+
+end.
diff --git a/30_Test/leejaeho-123/T1/LoopTest/LoopTest.dpr b/30_Test/leejaeho-123/T1/LoopTest/LoopTest.dpr
new file mode 100644
index 0000000..2ccb46a
--- /dev/null
+++ b/30_Test/leejaeho-123/T1/LoopTest/LoopTest.dpr
@@ -0,0 +1,14 @@
+program LoopTest;
+
+uses
+ Vcl.Forms,
+ LoopForm in 'LoopForm.pas' {frmLoop};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.MainFormOnTaskbar := True;
+ Application.CreateForm(TfrmLoop, frmLoop);
+ Application.Run;
+end.
diff --git a/30_Test/leejaeho-123/T1/LoopTest/LoopTest.dproj b/30_Test/leejaeho-123/T1/LoopTest/LoopTest.dproj
new file mode 100644
index 0000000..df341c6
--- /dev/null
+++ b/30_Test/leejaeho-123/T1/LoopTest/LoopTest.dproj
@@ -0,0 +1,615 @@
+
+
+ {5BDA901E-191B-4C85-9E35-854C64537FE3}
+ 18.6
+ VCL
+ LoopTest.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
+ LoopTest
+
+
+ DBXSqliteDriver;dxFlowChartRS26;dxPSdxMapControlLnkRS26;DBXDb2Driver;vclactnband;dxBarRS26;vclFireDAC;dxFireDACEMFRS26;tethering;dxSpreadSheetInplaceRichEditRS26;FireDACADSDriver;dxRichEditCoreRS26;dxPSdxSpreadSheetLnkRS26;FireDACMSSQLDriver;vcltouch;vcldb;svn;dxPSTeeChartRS26;dxGDIPlusRS26;dxPSdxFCLnkRS26;dxCloudServiceLibraryRS26;dxPSLnksRS26;FireDACDBXDriver;cxGridRS26;dxPDFViewerRS26;dxPsPrVwAdvRS26;vclx;dxPScxTLLnkRS26;RESTBackendComponents;VCLRESTComponents;Month;vclie;bindengine;CloudService;dxmdsRS26;FireDACMySQLDriver;dxdborRS26;DataSnapClient;dxFireDACServerModeRS26;bindcompdbx;BabaComp103;IndyIPServer;DBXSybaseASEDriver;HsBarcode1DRun;cxPivotGridRS26;IndySystem;cxTreeListdxBarPopupMenuRS26;dsnapcon;cxTreeListRS26;dxPScxPivotGridLnkRS26;cxSchedulerRibbonStyleEventEditorRS26;dxPSCoreRS26;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSpreadSheetRS26;dxBarExtItemsRS26;dxPSdxGaugeControlLnkRS26;emshosting;DBXOdbcDriver;FireDACTDataDriver;FMXTee;dxdbtrRS26;dxRichEditControlCoreRS26;soaprtl;DbxCommonDriver;dxFlowChartAdvancedCustomizeFormRS26;dxDockingRS26;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;cxLibraryRS26;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;dxPScxSchedulerLnkRS26;CodeSiteExpressPkg;dxSpreadSheetConditionalFormattingDialogsRS26;appanalytics;dxRibbonCustomizationFormRS26;cxSchedulerGridRS26;QR506RunDXE10_3;IndyIPClient;bindcompvcl;TeeUI;dxADOEMFRS26;VclSmp;cxInitD103;FireDACODBCDriver;dxRibbonRS26;DataSnapIndy10ServerTransport;dxPScxCommonRS26;dxRichEditDocumentModelRS26;DataSnapProviderClient;FireDACMongoDBDriver;dxFlowChartDesignerRS26;dxPScxGridLnkRS26;dxSpreadSheetCoreRS26;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;dxPScxExtCommonRS26;emsclientfiredac;DataSnapFireDAC;svnui;DBXMSSQLDriver;dxRichEditControlRS26;DatasnapConnectorsFreePascal;dxGaugeControlRS26;dxorgcRS26;dxPScxVGridLnkRS26;bindcompfmx;DBXOracleDriver;inetdb;dxBarDBNavRS26;dxDBXServerModeRS26;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;dxServerModeRS26;dxWizardControlRS26;dxTabbedMDIRS26;dxEMFRS26;dbexpress;IndyCore;dxComnRS26;dsnap;emsclient;DataSnapCommon;FireDACCommon;DataSnapConnectors;cxSchedulerTreeBrowserRS26;dxADOServerModeRS26;soapserver;cxPivotGridOLAPRS26;cxVerticalGridRS26;dxtrmdRS26;FireDACOracleDriver;DBXMySQLDriver;cxSchedulerRS26;cxSchedulerWebServiceStorageRS26;dxPSdxLCLnkRS26;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;dxMapControlRS26;inet;dxSpellCheckerRS26;IndyIPCommon;dxSpreadSheetCoreConditionalFormattingDialogsRS26;vcl;dxPSdxDBOCLnkRS26;FireDACDb2Driver;dxSpreadSheetReportDesignerRS26;ConvertPack260;dxPScxPCProdRS26;dxNavBarRS26;dxCoreRS26;cxExportRS26;TeeDB;FireDAC;dxHttpIndyRequestRS26;dxPSPrVwRibbonRS26;FireDACSqliteDriver;FireDACPgDriver;dxPSRichEditControlLnkRS26;FireDACASADriver;cxPivotGridChartRS26;dxPSDBTeeChartRS26;Tee;DataSnapServer;dxPSdxDBTVLnkRS26;vclwinx;FireDACDSDriver;dxTileControlRS26;dxSkinsCoreRS26;CustomIPTransport;vcldsnap;bindcomp;dxPSdxOCLnkRS26;DBXInformixDriver;dbxcds;adortl;dxSpreadSheetCoreDialogsRS26;dxBarExtDBItemsRS26;dsnapxml;dbrtl;IndyProtocols;inetdbxpress;dxPSdxPDFViewerLnkRS26;dxRichEditInplaceRS26;fmxase;$(DCC_UsePackage)
+ Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)
+ Debug
+ true
+ CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=
+ 1033
+ $(BDS)\bin\default_app.manifest
+
+
+ DBXSqliteDriver;dxFlowChartRS26;dxPSdxMapControlLnkRS26;DBXDb2Driver;vclactnband;dxBarRS26;vclFireDAC;dxFireDACEMFRS26;tethering;dxSpreadSheetInplaceRichEditRS26;FireDACADSDriver;dxRichEditCoreRS26;dxPSdxSpreadSheetLnkRS26;FireDACMSSQLDriver;vcltouch;vcldb;dxPSTeeChartRS26;dxGDIPlusRS26;dxPSdxFCLnkRS26;dxCloudServiceLibraryRS26;dxPSLnksRS26;FireDACDBXDriver;cxGridRS26;dxPDFViewerRS26;dxPsPrVwAdvRS26;vclx;dxPScxTLLnkRS26;RESTBackendComponents;VCLRESTComponents;vclie;bindengine;CloudService;dxmdsRS26;FireDACMySQLDriver;dxdborRS26;DataSnapClient;dxFireDACServerModeRS26;bindcompdbx;IndyIPServer;DBXSybaseASEDriver;HsBarcode1DRun;cxPivotGridRS26;IndySystem;cxTreeListdxBarPopupMenuRS26;dsnapcon;cxTreeListRS26;dxPScxPivotGridLnkRS26;cxSchedulerRibbonStyleEventEditorRS26;dxPSCoreRS26;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSpreadSheetRS26;dxBarExtItemsRS26;dxPSdxGaugeControlLnkRS26;emshosting;DBXOdbcDriver;FireDACTDataDriver;FMXTee;dxdbtrRS26;dxRichEditControlCoreRS26;soaprtl;DbxCommonDriver;dxFlowChartAdvancedCustomizeFormRS26;dxDockingRS26;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;cxLibraryRS26;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;dxPScxSchedulerLnkRS26;dxSpreadSheetConditionalFormattingDialogsRS26;appanalytics;dxRibbonCustomizationFormRS26;cxSchedulerGridRS26;QR506RunDXE10_3;IndyIPClient;bindcompvcl;TeeUI;dxADOEMFRS26;VclSmp;FireDACODBCDriver;dxRibbonRS26;DataSnapIndy10ServerTransport;dxPScxCommonRS26;dxRichEditDocumentModelRS26;DataSnapProviderClient;FireDACMongoDBDriver;dxFlowChartDesignerRS26;dxPScxGridLnkRS26;dxSpreadSheetCoreRS26;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;dxPScxExtCommonRS26;emsclientfiredac;DataSnapFireDAC;DBXMSSQLDriver;dxRichEditControlRS26;DatasnapConnectorsFreePascal;dxGaugeControlRS26;dxorgcRS26;dxPScxVGridLnkRS26;bindcompfmx;DBXOracleDriver;inetdb;dxBarDBNavRS26;dxDBXServerModeRS26;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;dxServerModeRS26;dxWizardControlRS26;dxTabbedMDIRS26;dxEMFRS26;dbexpress;IndyCore;dxComnRS26;dsnap;emsclient;DataSnapCommon;FireDACCommon;DataSnapConnectors;cxSchedulerTreeBrowserRS26;dxADOServerModeRS26;soapserver;cxPivotGridOLAPRS26;cxVerticalGridRS26;dxtrmdRS26;FireDACOracleDriver;DBXMySQLDriver;cxSchedulerRS26;cxSchedulerWebServiceStorageRS26;dxPSdxLCLnkRS26;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;dxMapControlRS26;inet;dxSpellCheckerRS26;IndyIPCommon;dxSpreadSheetCoreConditionalFormattingDialogsRS26;vcl;dxPSdxDBOCLnkRS26;FireDACDb2Driver;dxSpreadSheetReportDesignerRS26;dxPScxPCProdRS26;dxNavBarRS26;dxCoreRS26;cxExportRS26;TeeDB;FireDAC;dxHttpIndyRequestRS26;dxPSPrVwRibbonRS26;FireDACSqliteDriver;FireDACPgDriver;dxPSRichEditControlLnkRS26;FireDACASADriver;cxPivotGridChartRS26;dxPSDBTeeChartRS26;Tee;DataSnapServer;dxPSdxDBTVLnkRS26;vclwinx;FireDACDSDriver;dxTileControlRS26;dxSkinsCoreRS26;CustomIPTransport;vcldsnap;bindcomp;dxPSdxOCLnkRS26;DBXInformixDriver;dbxcds;adortl;dxSpreadSheetCoreDialogsRS26;dxBarExtDBItemsRS26;dsnapxml;dbrtl;IndyProtocols;inetdbxpress;dxPSdxPDFViewerLnkRS26;dxRichEditInplaceRS26;fmxase;$(DCC_UsePackage)
+
+
+ DEBUG;$(DCC_Define)
+ true
+ false
+ true
+ true
+ true
+
+
+ false
+ true
+ PerMonitorV2
+
+
+ false
+ RELEASE;$(DCC_Define)
+ 0
+ 0
+
+
+ true
+ PerMonitorV2
+
+
+
+ MainSource
+
+
+
+ dfm
+
+
+ Cfg_2
+ Base
+
+
+ Base
+
+
+ Cfg_1
+ Base
+
+
+
+ Delphi.Personality.12
+ Application
+
+
+
+ LoopTest.dpr
+
+
+
+
+
+ LoopTest.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
+
+
+ D:\Lectures\DelphiMaster\Master201907\30_Test\T1\LoopTest\Test\Week1TestTests.dproj
+
+
+ 12
+
+
+
+
+
diff --git a/30_Test/leejaeho-123/T1/LoopTest/LoopTest.res b/30_Test/leejaeho-123/T1/LoopTest/LoopTest.res
new file mode 100644
index 0000000..03a2a0d
Binary files /dev/null and b/30_Test/leejaeho-123/T1/LoopTest/LoopTest.res differ
diff --git a/30_Test/leejaeho-123/T1/Test/TestConditionForm.pas b/30_Test/leejaeho-123/T1/Test/TestConditionForm.pas
new file mode 100644
index 0000000..0468f50
--- /dev/null
+++ b/30_Test/leejaeho-123/T1/Test/TestConditionForm.pas
@@ -0,0 +1,84 @@
+unit TestConditionForm;
+{
+
+ Delphi DUnit Test Case
+ ----------------------
+ This unit contains a skeleton test case class generated by the Test Case Wizard.
+ Modify the generated code to correctly setup and call the methods from the unit
+ being tested.
+
+}
+
+interface
+
+uses
+ TestFramework, Vcl.Dialogs, Winapi.Windows, System.SysUtils, ConditionForm,
+ Vcl.Graphics, System.Variants, Winapi.Messages, Vcl.StdCtrls, Vcl.Controls, Vcl.Forms,
+ System.Classes;
+
+type
+ // Test methods for class TfrmFunction
+
+ TestTfrmCondition = class(TTestCase)
+ strict private
+ FfrmCondition: TfrmCondition;
+ public
+ procedure SetUp; override;
+ procedure TearDown; override;
+ published
+ procedure TestLoginCheckEmpty;
+ procedure TestLoginCheckNotfound;
+ procedure TestLoginCheckIncorrect;
+ procedure TestLoginCheckOK;
+ end;
+
+implementation
+
+procedure TestTfrmCondition.SetUp;
+begin
+ FfrmCondition := TfrmCondition.Create(nil);
+end;
+
+procedure TestTfrmCondition.TearDown;
+begin
+ FfrmCondition.Free;
+ FfrmCondition := nil;
+end;
+
+procedure TestTfrmCondition.TestLoginCheckEmpty;
+var
+ ReturnValue: Integer;
+begin
+ ReturnValue := FfrmCondition.LoginCheck('', '');
+ CheckEquals(ReturnValue, LOGIN_RESULT_EMPTY, '°ø¹é È®ÀÎ');
+end;
+
+procedure TestTfrmCondition.TestLoginCheckNotfound;
+var
+ ReturnValue: Integer;
+begin
+ ReturnValue := FfrmCondition.LoginCheck('no_id', '');
+ CheckEquals(ReturnValue, LOGIN_RESULT_NOTFOUND_ID, 'Id ¾øÀ½');
+end;
+
+procedure TestTfrmCondition.TestLoginCheckIncorrect;
+var
+ ReturnValue: Integer;
+begin
+ ReturnValue := FfrmCondition.LoginCheck('abc', '0000');
+ CheckEquals(ReturnValue, LOGIN_RESULT_INCORRECT, 'Id¿Í ºñ¹Ð¹øÈ£ ºñÀÏÄ¡');
+end;
+
+procedure TestTfrmCondition.TestLoginCheckOK;
+var
+ ReturnValue: Integer;
+begin
+ ReturnValue := FfrmCondition.LoginCheck('abc', '123');
+ CheckEquals(ReturnValue, LOGIN_RESULT_OK, 'OK');
+end;
+
+initialization
+ // Register any test cases with the test runner
+ RegisterTest(TestTfrmCondition.Suite);
+end.
+
diff --git a/30_Test/leejaeho-123/T1/Test/TestLoopForm.pas b/30_Test/leejaeho-123/T1/Test/TestLoopForm.pas
new file mode 100644
index 0000000..59725fd
--- /dev/null
+++ b/30_Test/leejaeho-123/T1/Test/TestLoopForm.pas
@@ -0,0 +1,78 @@
+unit TestLoopForm;
+{
+
+ Delphi DUnit Test Case
+ ----------------------
+ This unit contains a skeleton test case class generated by the Test Case Wizard.
+ Modify the generated code to correctly setup and call the methods from the unit
+ being tested.
+
+}
+
+interface
+
+uses
+ TestFramework, Vcl.Dialogs, Winapi.Windows, System.SysUtils, LoopForm, Vcl.Graphics,
+ System.Variants, Winapi.Messages, Vcl.StdCtrls, Vcl.Controls, Vcl.Forms,
+ System.Classes;
+
+type
+ // Test methods for class TForm3
+
+ TestTfrmLoop = class(TTestCase)
+ strict private
+ FfrmLoop: TfrmLoop;
+ public
+ procedure SetUp; override;
+ procedure TearDown; override;
+ published
+ procedure TestCalcOddNumCount;
+ procedure TestCalcMul3NumSum;
+ end;
+
+implementation
+
+procedure TestTfrmLoop.SetUp;
+begin
+ FfrmLoop := TfrmLoop.Create(nil);
+end;
+
+procedure TestTfrmLoop.TearDown;
+begin
+ FfrmLoop.Free;
+ FfrmLoop := nil;
+end;
+
+procedure TestTfrmLoop.TestCalcOddNumCount;
+var
+ ReturnValue: Integer;
+begin
+ ReturnValue := FfrmLoop.CalcOddNumCount(2, 5);
+ CheckEquals(ReturnValue, 2, '3, 5');
+
+ ReturnValue := FfrmLoop.CalcOddNumCount(1, 100);
+ CheckEquals(ReturnValue, 50, 'Odd count : 1 to 100');
+
+ ReturnValue := FfrmLoop.CalcOddNumCount(23, 231);
+ CheckEquals(ReturnValue, 105, 'Odd count : 23 to 231');
+end;
+
+procedure TestTfrmLoop.TestCalcMul3NumSum;
+var
+ ReturnValue: Integer;
+begin
+ ReturnValue := FfrmLoop.CalcMul3NumSum(1, 7);
+ CheckEquals(ReturnValue, 9, '3, 6');
+
+ ReturnValue := FfrmLoop.CalcMul3NumSum(4, 87);
+ CheckEquals(ReturnValue, 1302, 'Mul3 sum : 4 to 87');
+
+ ReturnValue := FfrmLoop.CalcMul3NumSum(1, 500);
+ CheckEquals(ReturnValue, 41583, 'Mul3 sum : 1 to 500');
+end;
+
+initialization
+ // Register any test cases with the test runner
+ RegisterTest(TestTfrmLoop.Suite);
+end.
+
diff --git a/30_Test/leejaeho-123/T1/Test/TestVariableForm.pas b/30_Test/leejaeho-123/T1/Test/TestVariableForm.pas
new file mode 100644
index 0000000..459963b
--- /dev/null
+++ b/30_Test/leejaeho-123/T1/Test/TestVariableForm.pas
@@ -0,0 +1,93 @@
+unit TestVariableForm;
+{
+
+ Delphi DUnit Test Case
+ ----------------------
+ This unit contains a skeleton test case class generated by the Test Case Wizard.
+ Modify the generated code to correctly setup and call the methods from the unit
+ being tested.
+
+}
+
+interface
+
+uses
+ TestFramework, Vcl.Dialogs, Winapi.Windows, VariableForm, System.SysUtils,
+ Vcl.Graphics, System.Variants, Winapi.Messages, Vcl.StdCtrls, Vcl.Controls, Vcl.Forms,
+ System.Classes;
+
+type
+ // Test methods for class TfrmVariable
+
+ TestTfrmVariable = class(TTestCase)
+ strict private
+ FfrmVariable: TfrmVariable;
+ public
+ procedure SetUp; override;
+ procedure TearDown; override;
+ published
+ procedure TestAddNum;
+ procedure TestSubNum;
+ procedure TestAddAndSubNum;
+ end;
+
+implementation
+
+procedure TestTfrmVariable.SetUp;
+begin
+ FfrmVariable := TfrmVariable.Create(nil);
+end;
+
+procedure TestTfrmVariable.TearDown;
+begin
+ FfrmVariable.Free;
+ FfrmVariable := nil;
+end;
+
+procedure TestTfrmVariable.TestAddNum;
+var
+ ReturnValue: Integer;
+begin
+ FfrmVariable.InitData;
+
+ ReturnValue := FfrmVariable.AddNum(2);
+ CheckEquals(ReturnValue, 2, '0 + 2 = 2');
+
+ ReturnValue := FfrmVariable.AddNum(3);
+ CheckEquals(ReturnValue, 5, '2 + 3 = 5');
+end;
+
+procedure TestTfrmVariable.TestSubNum;
+var
+ ReturnValue: Integer;
+begin
+ FfrmVariable.InitData;
+
+ ReturnValue := FfrmVariable.SubNum(3);
+ CheckEquals(ReturnValue, -3, '0 - 3 = -3');
+
+ ReturnValue := FfrmVariable.SubNum(4);
+ CheckEquals(ReturnValue, -7, '-3 - 4 = -7');
+end;
+
+procedure TestTfrmVariable.TestAddAndSubNum;
+var
+ ReturnValue: Integer;
+begin
+ FfrmVariable.InitData;
+
+ ReturnValue := FfrmVariable.AddNum(2);
+ CheckEquals(ReturnValue, 2, '0 + 2 = 2');
+
+ ReturnValue := FfrmVariable.AddNum(3);
+ CheckEquals(ReturnValue, 5, '2 + 3 = 5');
+
+ ReturnValue := FfrmVariable.SubNum(1);
+ CheckEquals(ReturnValue, 4, '5 - 1 = 4');
+end;
+
+initialization
+ // Register any test cases with the test runner
+ RegisterTest(TestTfrmVariable.Suite);
+end.
+
diff --git a/30_Test/leejaeho-123/T1/Test/Week1TestTests.dpr b/30_Test/leejaeho-123/T1/Test/Week1TestTests.dpr
new file mode 100644
index 0000000..ce5cb44
--- /dev/null
+++ b/30_Test/leejaeho-123/T1/Test/Week1TestTests.dpr
@@ -0,0 +1,31 @@
+program Week1TestTests;
+{
+
+ Delphi DUnit Test Project
+ -------------------------
+ This project contains the DUnit test framework and the GUI/Console test runners.
+ Add "CONSOLE_TESTRUNNER" to the conditional defines entry in the project options
+ to use the console test runner. Otherwise the GUI test runner will be used by
+ default.
+
+}
+
+{$IFDEF CONSOLE_TESTRUNNER}
+{$APPTYPE CONSOLE}
+{$ENDIF}
+
+uses
+ DUnitTestRunner,
+ VariableForm in '..\VariableTest\VariableForm.pas',
+ ConditionForm in '..\ConditionTest\ConditionForm.pas' {frmCondition},
+ TestVariableForm in 'TestVariableForm.pas',
+ TestConditionForm in 'TestConditionForm.pas',
+ TestLoopForm in 'TestLoopForm.pas',
+ LoopForm in '..\LoopTest\LoopForm.pas' {frmLoop};
+
+{$R *.RES}
+
+begin
+ DUnitTestRunner.RunRegisteredTests;
+end.
+
diff --git a/30_Test/leejaeho-123/T1/Test/Week1TestTests.dproj b/30_Test/leejaeho-123/T1/Test/Week1TestTests.dproj
new file mode 100644
index 0000000..8c0ed50
--- /dev/null
+++ b/30_Test/leejaeho-123/T1/Test/Week1TestTests.dproj
@@ -0,0 +1,635 @@
+
+
+ {CBD6EA17-A169-4B58-BDB6-F75F527BEF37}
+ 18.6
+ VCL
+ True
+ Debug
+ Win32
+ 1
+ Console
+ Week1TestTests.dpr
+
+
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Cfg_1
+ true
+ true
+
+
+ true
+ Base
+ true
+
+
+ .
+ .\$(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)\Source\DUnit\src;$(DCC_UnitSearchPath)
+ _CONSOLE_TESTRUNNER;$(DCC_Define)
+ Week1TestTests
+
+
+ DBXSqliteDriver;dxFlowChartRS26;dxPSdxMapControlLnkRS26;DBXDb2Driver;vclactnband;dxBarRS26;vclFireDAC;dxFireDACEMFRS26;tethering;dxSpreadSheetInplaceRichEditRS26;FireDACADSDriver;dxRichEditCoreRS26;dxPSdxSpreadSheetLnkRS26;FireDACMSSQLDriver;vcltouch;vcldb;svn;dxPSTeeChartRS26;dxGDIPlusRS26;dxPSdxFCLnkRS26;dxCloudServiceLibraryRS26;dxPSLnksRS26;FireDACDBXDriver;cxGridRS26;dxPDFViewerRS26;dxPsPrVwAdvRS26;vclx;dxPScxTLLnkRS26;RESTBackendComponents;VCLRESTComponents;Month;vclie;bindengine;CloudService;dxmdsRS26;FireDACMySQLDriver;dxdborRS26;DataSnapClient;dxFireDACServerModeRS26;bindcompdbx;BabaComp103;IndyIPServer;DBXSybaseASEDriver;HsBarcode1DRun;cxPivotGridRS26;IndySystem;cxTreeListdxBarPopupMenuRS26;dsnapcon;cxTreeListRS26;dxPScxPivotGridLnkRS26;cxSchedulerRibbonStyleEventEditorRS26;dxPSCoreRS26;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSpreadSheetRS26;dxBarExtItemsRS26;dxPSdxGaugeControlLnkRS26;emshosting;DBXOdbcDriver;FireDACTDataDriver;FMXTee;dxdbtrRS26;dxRichEditControlCoreRS26;soaprtl;DbxCommonDriver;dxFlowChartAdvancedCustomizeFormRS26;dxDockingRS26;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;cxLibraryRS26;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;dxPScxSchedulerLnkRS26;CodeSiteExpressPkg;dxSpreadSheetConditionalFormattingDialogsRS26;appanalytics;dxRibbonCustomizationFormRS26;cxSchedulerGridRS26;QR506RunDXE10_3;IndyIPClient;bindcompvcl;TeeUI;dxADOEMFRS26;VclSmp;cxInitD103;FireDACODBCDriver;dxRibbonRS26;DataSnapIndy10ServerTransport;dxPScxCommonRS26;dxRichEditDocumentModelRS26;DataSnapProviderClient;FireDACMongoDBDriver;dxFlowChartDesignerRS26;dxPScxGridLnkRS26;dxSpreadSheetCoreRS26;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;dxPScxExtCommonRS26;emsclientfiredac;DataSnapFireDAC;svnui;DBXMSSQLDriver;dxRichEditControlRS26;DatasnapConnectorsFreePascal;dxGaugeControlRS26;dxorgcRS26;dxPScxVGridLnkRS26;bindcompfmx;DBXOracleDriver;inetdb;dxBarDBNavRS26;dxDBXServerModeRS26;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;dxServerModeRS26;dxWizardControlRS26;dxTabbedMDIRS26;dxEMFRS26;dbexpress;IndyCore;dxComnRS26;dsnap;emsclient;DataSnapCommon;FireDACCommon;DataSnapConnectors;cxSchedulerTreeBrowserRS26;dxADOServerModeRS26;soapserver;cxPivotGridOLAPRS26;cxVerticalGridRS26;dxtrmdRS26;FireDACOracleDriver;DBXMySQLDriver;cxSchedulerRS26;cxSchedulerWebServiceStorageRS26;dxPSdxLCLnkRS26;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;dxMapControlRS26;inet;dxSpellCheckerRS26;IndyIPCommon;dxSpreadSheetCoreConditionalFormattingDialogsRS26;vcl;dxPSdxDBOCLnkRS26;FireDACDb2Driver;dxSpreadSheetReportDesignerRS26;ConvertPack260;dxPScxPCProdRS26;dxNavBarRS26;dxCoreRS26;cxExportRS26;TeeDB;FireDAC;dxHttpIndyRequestRS26;dxPSPrVwRibbonRS26;FireDACSqliteDriver;FireDACPgDriver;dxPSRichEditControlLnkRS26;FireDACASADriver;cxPivotGridChartRS26;dxPSDBTeeChartRS26;Tee;DataSnapServer;dxPSdxDBTVLnkRS26;vclwinx;FireDACDSDriver;dxTileControlRS26;dxSkinsCoreRS26;CustomIPTransport;vcldsnap;bindcomp;dxPSdxOCLnkRS26;DBXInformixDriver;dbxcds;adortl;dxSpreadSheetCoreDialogsRS26;dxBarExtDBItemsRS26;dsnapxml;dbrtl;IndyProtocols;inetdbxpress;dxPSdxPDFViewerLnkRS26;dxRichEditInplaceRS26;fmxase;$(DCC_UsePackage)
+ Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)
+ Debug
+ 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
+
+
+ DBXSqliteDriver;dxFlowChartRS26;dxPSdxMapControlLnkRS26;DBXDb2Driver;vclactnband;dxBarRS26;vclFireDAC;dxFireDACEMFRS26;tethering;dxSpreadSheetInplaceRichEditRS26;FireDACADSDriver;dxRichEditCoreRS26;dxPSdxSpreadSheetLnkRS26;FireDACMSSQLDriver;vcltouch;vcldb;dxPSTeeChartRS26;dxGDIPlusRS26;dxPSdxFCLnkRS26;dxCloudServiceLibraryRS26;dxPSLnksRS26;FireDACDBXDriver;cxGridRS26;dxPDFViewerRS26;dxPsPrVwAdvRS26;vclx;dxPScxTLLnkRS26;RESTBackendComponents;VCLRESTComponents;vclie;bindengine;CloudService;dxmdsRS26;FireDACMySQLDriver;dxdborRS26;DataSnapClient;dxFireDACServerModeRS26;bindcompdbx;IndyIPServer;DBXSybaseASEDriver;HsBarcode1DRun;cxPivotGridRS26;IndySystem;cxTreeListdxBarPopupMenuRS26;dsnapcon;cxTreeListRS26;dxPScxPivotGridLnkRS26;cxSchedulerRibbonStyleEventEditorRS26;dxPSCoreRS26;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSpreadSheetRS26;dxBarExtItemsRS26;dxPSdxGaugeControlLnkRS26;emshosting;DBXOdbcDriver;FireDACTDataDriver;FMXTee;dxdbtrRS26;dxRichEditControlCoreRS26;soaprtl;DbxCommonDriver;dxFlowChartAdvancedCustomizeFormRS26;dxDockingRS26;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;cxLibraryRS26;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;dxPScxSchedulerLnkRS26;dxSpreadSheetConditionalFormattingDialogsRS26;appanalytics;dxRibbonCustomizationFormRS26;cxSchedulerGridRS26;QR506RunDXE10_3;IndyIPClient;bindcompvcl;TeeUI;dxADOEMFRS26;VclSmp;FireDACODBCDriver;dxRibbonRS26;DataSnapIndy10ServerTransport;dxPScxCommonRS26;dxRichEditDocumentModelRS26;DataSnapProviderClient;FireDACMongoDBDriver;dxFlowChartDesignerRS26;dxPScxGridLnkRS26;dxSpreadSheetCoreRS26;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;dxPScxExtCommonRS26;emsclientfiredac;DataSnapFireDAC;DBXMSSQLDriver;dxRichEditControlRS26;DatasnapConnectorsFreePascal;dxGaugeControlRS26;dxorgcRS26;dxPScxVGridLnkRS26;bindcompfmx;DBXOracleDriver;inetdb;dxBarDBNavRS26;dxDBXServerModeRS26;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;dxServerModeRS26;dxWizardControlRS26;dxTabbedMDIRS26;dxEMFRS26;dbexpress;IndyCore;dxComnRS26;dsnap;emsclient;DataSnapCommon;FireDACCommon;DataSnapConnectors;cxSchedulerTreeBrowserRS26;dxADOServerModeRS26;soapserver;cxPivotGridOLAPRS26;cxVerticalGridRS26;dxtrmdRS26;FireDACOracleDriver;DBXMySQLDriver;cxSchedulerRS26;cxSchedulerWebServiceStorageRS26;dxPSdxLCLnkRS26;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;dxMapControlRS26;inet;dxSpellCheckerRS26;IndyIPCommon;dxSpreadSheetCoreConditionalFormattingDialogsRS26;vcl;dxPSdxDBOCLnkRS26;FireDACDb2Driver;dxSpreadSheetReportDesignerRS26;dxPScxPCProdRS26;dxNavBarRS26;dxCoreRS26;cxExportRS26;TeeDB;FireDAC;dxHttpIndyRequestRS26;dxPSPrVwRibbonRS26;FireDACSqliteDriver;FireDACPgDriver;dxPSRichEditControlLnkRS26;FireDACASADriver;cxPivotGridChartRS26;dxPSDBTeeChartRS26;Tee;DataSnapServer;dxPSdxDBTVLnkRS26;vclwinx;FireDACDSDriver;dxTileControlRS26;dxSkinsCoreRS26;CustomIPTransport;vcldsnap;bindcomp;dxPSdxOCLnkRS26;DBXInformixDriver;dbxcds;adortl;dxSpreadSheetCoreDialogsRS26;dxBarExtDBItemsRS26;dsnapxml;dbrtl;IndyProtocols;inetdbxpress;dxPSdxPDFViewerLnkRS26;dxRichEditInplaceRS26;fmxase;$(DCC_UsePackage)
+
+
+ DEBUG;$(DCC_Define)
+ true
+ false
+ true
+ true
+ true
+
+
+ false
+
+
+ false
+ RELEASE;$(DCC_Define)
+ 0
+ 0
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
+
+
+ dfm
+
+
+ Cfg_2
+ Base
+
+
+ Base
+
+
+ Cfg_1
+ Base
+
+
+
+ Delphi.Personality.12
+ Application
+
+
+
+ Week1TestTests.dpr
+
+
+
+
+
+ true
+
+
+
+
+ true
+
+
+
+
+ true
+
+
+
+
+ true
+
+
+
+
+ true
+
+
+
+
+ Week1TestTests.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
+
+
+ DUnit / Delphi Win32
+ GUI
+ D:\Lectures\DelphiMaster\Master201907\30_Test\T1\LoopTest\LoopTest.dproj
+
+
+
+ 12
+
+
+
+
+
diff --git a/30_Test/leejaeho-123/T1/Test/Week1TestTests.res b/30_Test/leejaeho-123/T1/Test/Week1TestTests.res
new file mode 100644
index 0000000..7435995
Binary files /dev/null and b/30_Test/leejaeho-123/T1/Test/Week1TestTests.res differ
diff --git a/30_Test/leejaeho-123/T1/VariableTest/VariableForm.dfm b/30_Test/leejaeho-123/T1/VariableTest/VariableForm.dfm
new file mode 100644
index 0000000..b0aaaa8
--- /dev/null
+++ b/30_Test/leejaeho-123/T1/VariableTest/VariableForm.dfm
@@ -0,0 +1,62 @@
+object frmVariable: TfrmVariable
+ Left = 0
+ Top = 0
+ Caption = #48320#49688' '#49324#50857
+ ClientHeight = 165
+ ClientWidth = 353
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Label2: TLabel
+ Left = 24
+ Top = 85
+ Width = 58
+ Height = 13
+ Caption = #49707#51088#46308#51032' '#54633
+ end
+ object Label1: TLabel
+ Left = 24
+ Top = 29
+ Width = 47
+ Height = 13
+ Caption = #49707#51088' '#51077#47141
+ end
+ object edtSum: TEdit
+ Left = 24
+ Top = 104
+ Width = 121
+ Height = 21
+ TabOrder = 0
+ end
+ object edtNum: TEdit
+ Left = 24
+ Top = 48
+ Width = 121
+ Height = 21
+ TabOrder = 1
+ end
+ object btnPlus: TButton
+ Left = 151
+ Top = 46
+ Width = 75
+ Height = 25
+ Caption = #45908#54616#44592
+ TabOrder = 2
+ OnClick = btnPlusClick
+ end
+ object btnMinus: TButton
+ Left = 232
+ Top = 46
+ Width = 75
+ Height = 25
+ Caption = #48764#44592
+ TabOrder = 3
+ OnClick = btnMinusClick
+ end
+end
diff --git a/30_Test/leejaeho-123/T1/VariableTest/VariableForm.pas b/30_Test/leejaeho-123/T1/VariableTest/VariableForm.pas
new file mode 100644
index 0000000..26d3cdc
--- /dev/null
+++ b/30_Test/leejaeho-123/T1/VariableTest/VariableForm.pas
@@ -0,0 +1,82 @@
+unit VariableForm;
+
+interface
+
+uses
+ Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
+ Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
+
+type
+ TfrmVariable = class(TForm)
+ Label2: TLabel;
+ Label1: TLabel;
+ edtSum: TEdit;
+ edtNum: TEdit;
+ btnPlus: TButton;
+ btnMinus: TButton;
+ procedure btnPlusClick(Sender: TObject);
+ procedure btnMinusClick(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ FSum : integer;
+ FSub : integer;
+ { Public declarations }
+ /// º¯¼ö FSumÀ» ÃʱâÈ ÇÑ´Ù.
+ procedure InitData;
+ /// º¯¼ö FSum¿¡ ÆÄ¶ó¸ÞÅÍ ANum °ªÀ» ´õÇÑ´Ù.
+ function AddNum(ANum: Integer): Integer;
+ /// º¯¼ö FSum¿¡ ÆÄ¶ó¸ÞÅÍ ANum °ªÀ» »«´Ù.
+ function SubNum(ANum: Integer): Integer;
+
+ end;
+
+var
+ frmVariable: TfrmVariable;
+
+implementation
+
+{$R *.dfm}
+
+{ TForm1 }
+
+// ±âÁ¸ÀÇ °ª¿¡¼ ÀÔ·ÂµÈ °ªÀ» »®´Ï´Ù.
+procedure TfrmVariable.btnMinusClick(Sender: TObject);
+var
+ Num, Sum: Integer;
+begin
+ Num := StrToInt(edtNum.Text);
+ Sum := SubNum(Num);
+
+ edtSum.Text := IntToStr(Sum);
+end;
+
+// ±âÁ¸ÀÇ °ª¿¡¼ ÀÔ·ÂµÈ °ªÀ» ´õÇÕ´Ï´Ù.
+procedure TfrmVariable.btnPlusClick(Sender: TObject);
+var
+ Num, Sum: Integer;
+begin
+ Num := StrToInt(edtNum.Text);
+ Sum := AddNum(Num);
+
+ edtSum.Text := IntToStr(Sum);
+end;
+
+procedure TfrmVariable.InitData;
+begin
+ // º¯¼ö FNumÀ» ÃʱâÈ Çϼ¼¿ä.
+end;
+
+function TfrmVariable.AddNum(ANum: Integer): Integer;
+begin
+ FSum := FSum + ANum;
+ Result :=FSum;
+end;
+
+function TfrmVariable.SubNum(ANum: Integer): Integer;
+begin
+ FSub := FSum - ANum;
+ Result := Fsub;
+end;
+
+end.
diff --git a/30_Test/leejaeho-123/T1/VariableTest/VariableTest.dpr b/30_Test/leejaeho-123/T1/VariableTest/VariableTest.dpr
new file mode 100644
index 0000000..c4cb622
--- /dev/null
+++ b/30_Test/leejaeho-123/T1/VariableTest/VariableTest.dpr
@@ -0,0 +1,14 @@
+program VariableTest;
+
+uses
+ Vcl.Forms,
+ VariableForm in 'VariableForm.pas' {frmVariable};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.MainFormOnTaskbar := True;
+ Application.CreateForm(TfrmVariable, frmVariable);
+ Application.Run;
+end.
diff --git a/30_Test/leejaeho-123/T1/VariableTest/VariableTest.dproj b/30_Test/leejaeho-123/T1/VariableTest/VariableTest.dproj
new file mode 100644
index 0000000..babb8d1
--- /dev/null
+++ b/30_Test/leejaeho-123/T1/VariableTest/VariableTest.dproj
@@ -0,0 +1,612 @@
+
+
+ {1A9F757D-0140-42FB-96FC-1B67743DB155}
+ 18.6
+ VCL
+ VariableTest.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
+ VariableTest
+
+
+ DBXSqliteDriver;dxFlowChartRS26;dxPSdxMapControlLnkRS26;DBXDb2Driver;vclactnband;dxBarRS26;vclFireDAC;dxFireDACEMFRS26;tethering;dxSpreadSheetInplaceRichEditRS26;FireDACADSDriver;dxRichEditCoreRS26;dxPSdxSpreadSheetLnkRS26;FireDACMSSQLDriver;vcltouch;vcldb;svn;dxPSTeeChartRS26;dxGDIPlusRS26;dxPSdxFCLnkRS26;dxCloudServiceLibraryRS26;dxPSLnksRS26;FireDACDBXDriver;cxGridRS26;dxPDFViewerRS26;dxPsPrVwAdvRS26;vclx;dxPScxTLLnkRS26;RESTBackendComponents;VCLRESTComponents;Month;vclie;bindengine;CloudService;dxmdsRS26;FireDACMySQLDriver;dxdborRS26;DataSnapClient;dxFireDACServerModeRS26;bindcompdbx;BabaComp103;IndyIPServer;DBXSybaseASEDriver;HsBarcode1DRun;cxPivotGridRS26;IndySystem;cxTreeListdxBarPopupMenuRS26;dsnapcon;cxTreeListRS26;dxPScxPivotGridLnkRS26;cxSchedulerRibbonStyleEventEditorRS26;dxPSCoreRS26;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSpreadSheetRS26;dxBarExtItemsRS26;dxPSdxGaugeControlLnkRS26;emshosting;DBXOdbcDriver;FireDACTDataDriver;FMXTee;dxdbtrRS26;dxRichEditControlCoreRS26;soaprtl;DbxCommonDriver;dxFlowChartAdvancedCustomizeFormRS26;dxDockingRS26;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;cxLibraryRS26;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;dxPScxSchedulerLnkRS26;CodeSiteExpressPkg;dxSpreadSheetConditionalFormattingDialogsRS26;appanalytics;dxRibbonCustomizationFormRS26;cxSchedulerGridRS26;QR506RunDXE10_3;IndyIPClient;bindcompvcl;TeeUI;dxADOEMFRS26;VclSmp;cxInitD103;FireDACODBCDriver;dxRibbonRS26;DataSnapIndy10ServerTransport;dxPScxCommonRS26;dxRichEditDocumentModelRS26;DataSnapProviderClient;FireDACMongoDBDriver;dxFlowChartDesignerRS26;dxPScxGridLnkRS26;dxSpreadSheetCoreRS26;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;dxPScxExtCommonRS26;emsclientfiredac;DataSnapFireDAC;svnui;DBXMSSQLDriver;dxRichEditControlRS26;DatasnapConnectorsFreePascal;dxGaugeControlRS26;dxorgcRS26;dxPScxVGridLnkRS26;bindcompfmx;DBXOracleDriver;inetdb;dxBarDBNavRS26;dxDBXServerModeRS26;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;dxServerModeRS26;dxWizardControlRS26;dxTabbedMDIRS26;dxEMFRS26;dbexpress;IndyCore;dxComnRS26;dsnap;emsclient;DataSnapCommon;FireDACCommon;DataSnapConnectors;cxSchedulerTreeBrowserRS26;dxADOServerModeRS26;soapserver;cxPivotGridOLAPRS26;cxVerticalGridRS26;dxtrmdRS26;FireDACOracleDriver;DBXMySQLDriver;cxSchedulerRS26;cxSchedulerWebServiceStorageRS26;dxPSdxLCLnkRS26;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;dxMapControlRS26;inet;dxSpellCheckerRS26;IndyIPCommon;dxSpreadSheetCoreConditionalFormattingDialogsRS26;vcl;dxPSdxDBOCLnkRS26;FireDACDb2Driver;dxSpreadSheetReportDesignerRS26;ConvertPack260;dxPScxPCProdRS26;dxNavBarRS26;dxCoreRS26;cxExportRS26;TeeDB;FireDAC;dxHttpIndyRequestRS26;dxPSPrVwRibbonRS26;FireDACSqliteDriver;FireDACPgDriver;dxPSRichEditControlLnkRS26;FireDACASADriver;cxPivotGridChartRS26;dxPSDBTeeChartRS26;Tee;DataSnapServer;dxPSdxDBTVLnkRS26;vclwinx;FireDACDSDriver;dxTileControlRS26;dxSkinsCoreRS26;CustomIPTransport;vcldsnap;bindcomp;dxPSdxOCLnkRS26;DBXInformixDriver;dbxcds;adortl;dxSpreadSheetCoreDialogsRS26;dxBarExtDBItemsRS26;dsnapxml;dbrtl;IndyProtocols;inetdbxpress;dxPSdxPDFViewerLnkRS26;dxRichEditInplaceRS26;fmxase;$(DCC_UsePackage)
+ Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)
+ Debug
+ true
+ CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=
+ 1033
+ $(BDS)\bin\default_app.manifest
+
+
+ DBXSqliteDriver;dxFlowChartRS26;dxPSdxMapControlLnkRS26;DBXDb2Driver;vclactnband;dxBarRS26;vclFireDAC;dxFireDACEMFRS26;tethering;dxSpreadSheetInplaceRichEditRS26;FireDACADSDriver;dxRichEditCoreRS26;dxPSdxSpreadSheetLnkRS26;FireDACMSSQLDriver;vcltouch;vcldb;dxPSTeeChartRS26;dxGDIPlusRS26;dxPSdxFCLnkRS26;dxCloudServiceLibraryRS26;dxPSLnksRS26;FireDACDBXDriver;cxGridRS26;dxPDFViewerRS26;dxPsPrVwAdvRS26;vclx;dxPScxTLLnkRS26;RESTBackendComponents;VCLRESTComponents;vclie;bindengine;CloudService;dxmdsRS26;FireDACMySQLDriver;dxdborRS26;DataSnapClient;dxFireDACServerModeRS26;bindcompdbx;IndyIPServer;DBXSybaseASEDriver;HsBarcode1DRun;cxPivotGridRS26;IndySystem;cxTreeListdxBarPopupMenuRS26;dsnapcon;cxTreeListRS26;dxPScxPivotGridLnkRS26;cxSchedulerRibbonStyleEventEditorRS26;dxPSCoreRS26;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSpreadSheetRS26;dxBarExtItemsRS26;dxPSdxGaugeControlLnkRS26;emshosting;DBXOdbcDriver;FireDACTDataDriver;FMXTee;dxdbtrRS26;dxRichEditControlCoreRS26;soaprtl;DbxCommonDriver;dxFlowChartAdvancedCustomizeFormRS26;dxDockingRS26;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;cxLibraryRS26;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;dxPScxSchedulerLnkRS26;dxSpreadSheetConditionalFormattingDialogsRS26;appanalytics;dxRibbonCustomizationFormRS26;cxSchedulerGridRS26;QR506RunDXE10_3;IndyIPClient;bindcompvcl;TeeUI;dxADOEMFRS26;VclSmp;FireDACODBCDriver;dxRibbonRS26;DataSnapIndy10ServerTransport;dxPScxCommonRS26;dxRichEditDocumentModelRS26;DataSnapProviderClient;FireDACMongoDBDriver;dxFlowChartDesignerRS26;dxPScxGridLnkRS26;dxSpreadSheetCoreRS26;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;dxPScxExtCommonRS26;emsclientfiredac;DataSnapFireDAC;DBXMSSQLDriver;dxRichEditControlRS26;DatasnapConnectorsFreePascal;dxGaugeControlRS26;dxorgcRS26;dxPScxVGridLnkRS26;bindcompfmx;DBXOracleDriver;inetdb;dxBarDBNavRS26;dxDBXServerModeRS26;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;dxServerModeRS26;dxWizardControlRS26;dxTabbedMDIRS26;dxEMFRS26;dbexpress;IndyCore;dxComnRS26;dsnap;emsclient;DataSnapCommon;FireDACCommon;DataSnapConnectors;cxSchedulerTreeBrowserRS26;dxADOServerModeRS26;soapserver;cxPivotGridOLAPRS26;cxVerticalGridRS26;dxtrmdRS26;FireDACOracleDriver;DBXMySQLDriver;cxSchedulerRS26;cxSchedulerWebServiceStorageRS26;dxPSdxLCLnkRS26;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;dxMapControlRS26;inet;dxSpellCheckerRS26;IndyIPCommon;dxSpreadSheetCoreConditionalFormattingDialogsRS26;vcl;dxPSdxDBOCLnkRS26;FireDACDb2Driver;dxSpreadSheetReportDesignerRS26;dxPScxPCProdRS26;dxNavBarRS26;dxCoreRS26;cxExportRS26;TeeDB;FireDAC;dxHttpIndyRequestRS26;dxPSPrVwRibbonRS26;FireDACSqliteDriver;FireDACPgDriver;dxPSRichEditControlLnkRS26;FireDACASADriver;cxPivotGridChartRS26;dxPSDBTeeChartRS26;Tee;DataSnapServer;dxPSdxDBTVLnkRS26;vclwinx;FireDACDSDriver;dxTileControlRS26;dxSkinsCoreRS26;CustomIPTransport;vcldsnap;bindcomp;dxPSdxOCLnkRS26;DBXInformixDriver;dbxcds;adortl;dxSpreadSheetCoreDialogsRS26;dxBarExtDBItemsRS26;dsnapxml;dbrtl;IndyProtocols;inetdbxpress;dxPSdxPDFViewerLnkRS26;dxRichEditInplaceRS26;fmxase;$(DCC_UsePackage)
+
+
+ DEBUG;$(DCC_Define)
+ true
+ false
+ true
+ true
+ true
+
+
+ false
+ true
+ PerMonitorV2
+
+
+ false
+ RELEASE;$(DCC_Define)
+ 0
+ 0
+
+
+ true
+ PerMonitorV2
+
+
+
+ MainSource
+
+
+
+ dfm
+
+
+ Cfg_2
+ Base
+
+
+ Base
+
+
+ Cfg_1
+ Base
+
+
+
+ Delphi.Personality.12
+ Application
+
+
+
+ VariableTest.dpr
+
+
+
+
+
+ VariableTest.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/30_Test/leejaeho-123/T1/VariableTest/VariableTest.res b/30_Test/leejaeho-123/T1/VariableTest/VariableTest.res
new file mode 100644
index 0000000..5426561
Binary files /dev/null and b/30_Test/leejaeho-123/T1/VariableTest/VariableTest.res differ
diff --git a/30_Test/leejaeho-123/T1/Week1TestGroup.groupproj b/30_Test/leejaeho-123/T1/Week1TestGroup.groupproj
new file mode 100644
index 0000000..983ba8a
--- /dev/null
+++ b/30_Test/leejaeho-123/T1/Week1TestGroup.groupproj
@@ -0,0 +1,72 @@
+
+
+ {F1BA179E-23C1-4698-8561-0FB7759A3D5E}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Default.Personality.12
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/40_Project/leejaeho-123/Source/AdminForm.dfm b/40_Project/leejaeho-123/Source/AdminForm.dfm
new file mode 100644
index 0000000..58e7482
--- /dev/null
+++ b/40_Project/leejaeho-123/Source/AdminForm.dfm
@@ -0,0 +1,263 @@
+object Admin: TAdmin
+ Left = 0
+ Top = 0
+ Caption = 'Admin'
+ ClientHeight = 433
+ ClientWidth = 648
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Ribbon1: TRibbon
+ Left = 0
+ Top = 0
+ Width = 648
+ Height = 143
+ Caption = #44288#47532
+ Tabs = <
+ item
+ Caption = #44288#47532
+ Page = RibbonPage1
+ end>
+ DesignSize = (
+ 648
+ 143)
+ StyleName = 'Ribbon - Luna'
+ object RibbonPage1: TRibbonPage
+ Left = 0
+ Top = 50
+ Width = 647
+ Height = 93
+ Caption = #44288#47532
+ Index = 0
+ object RibbonGroup1: TRibbonGroup
+ Left = 4
+ Top = 3
+ Width = 100
+ Height = 86
+ Caption = #51089#54408#44288#47532
+ GroupIndex = 0
+ end
+ object RibbonGroup2: TRibbonGroup
+ Left = 106
+ Top = 3
+ Width = 100
+ Height = 86
+ Caption = #50976#51200#44288#47532
+ GroupIndex = 1
+ end
+ end
+ end
+ object Pgc_Writer: TPageControl
+ Left = 0
+ Top = 143
+ Width = 648
+ Height = 290
+ ActivePage = TabSheet1
+ Align = alClient
+ TabOrder = 1
+ ExplicitLeft = -1
+ ExplicitTop = 145
+ object TabSheet1: TTabSheet
+ Caption = #51312' '#54924
+ ExplicitLeft = 132
+ object lbl_SearchList: TLabel
+ Left = 9
+ Top = 6
+ Width = 44
+ Height = 13
+ Caption = #44160#49353#47785#47197
+ end
+ object lbl_Search: TLabel
+ Left = 9
+ Top = 40
+ Width = 40
+ Height = 13
+ Caption = #44160' '#49353
+ end
+ object Cbx_Search: TComboBox
+ Left = 59
+ Top = 3
+ Width = 121
+ Height = 21
+ TabOrder = 0
+ OnChange = Cbx_SearchChange
+ Items.Strings = (
+ 'WRITER_ID'
+ 'WRITER_GOOD'
+ 'UP_LOAD')
+ end
+ object Edt_Search: TEdit
+ Left = 59
+ Top = 37
+ Width = 121
+ Height = 21
+ TabOrder = 1
+ OnChange = Edt_SearchChange
+ end
+ object Tbc_Writer: TTabControl
+ Left = 0
+ Top = 69
+ Width = 640
+ Height = 193
+ Align = alBottom
+ TabOrder = 2
+ Tabs.Strings = (
+ #51204#52404
+ '~10'
+ '~20'
+ '~50'
+ '~100'
+ '~200'
+ '~400'
+ '~800'
+ '~1600')
+ TabIndex = 0
+ OnChange = Tbc_WriterChange
+ object DBG_Writer: TDBGrid
+ Left = 4
+ Top = 24
+ Width = 632
+ Height = 165
+ Align = alClient
+ DataSource = DM.Writer_Source
+ 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 TabSheet2: TTabSheet
+ Caption = #49345#49464#51221#48372
+ ImageIndex = 1
+ ExplicitLeft = 0
+ ExplicitTop = 56
+ object lbl_ID: TLabel
+ Left = 25
+ Top = 27
+ Width = 32
+ Height = 13
+ Caption = 'I D'
+ end
+ object lbl_NickName: TLabel
+ Left = 25
+ Top = 67
+ Width = 33
+ Height = 13
+ Caption = #45769#45348#51076
+ end
+ object lbl_UpLoad: TLabel
+ Left = 25
+ Top = 107
+ Width = 44
+ Height = 13
+ Caption = #50732#47536#54943#49688
+ end
+ object lbl_Good: TLabel
+ Left = 25
+ Top = 147
+ Width = 33
+ Height = 13
+ Caption = #52628#52380#49688
+ end
+ object lbl_NotGood: TLabel
+ Left = 25
+ Top = 187
+ Width = 33
+ Height = 13
+ Caption = #49888#44256#49688
+ end
+ object lbl_WriterPoint: TLabel
+ Left = 25
+ Top = 227
+ Width = 55
+ Height = 13
+ Caption = #51089#44032#54252#51064#53944
+ end
+ object DbEdt_ID: TDBEdit
+ Left = 89
+ Top = 24
+ Width = 121
+ Height = 21
+ ReadOnly = True
+ TabOrder = 0
+ end
+ object DbEdt_NickName: TDBEdit
+ Left = 89
+ Top = 64
+ Width = 121
+ Height = 21
+ ReadOnly = True
+ TabOrder = 1
+ end
+ object DbEdt_UpLoad: TDBEdit
+ Left = 89
+ Top = 104
+ Width = 121
+ Height = 21
+ ReadOnly = True
+ TabOrder = 2
+ end
+ object DbEdt_Good: TDBEdit
+ Left = 89
+ Top = 144
+ Width = 121
+ Height = 21
+ ReadOnly = True
+ TabOrder = 3
+ end
+ object DbEdt_NotGood: TDBEdit
+ Left = 89
+ Top = 184
+ Width = 121
+ Height = 21
+ ReadOnly = True
+ TabOrder = 4
+ end
+ object DbEdt_Point: TDBEdit
+ Left = 89
+ Top = 224
+ Width = 121
+ Height = 21
+ ReadOnly = True
+ TabOrder = 5
+ end
+ object Btn_NovelMove: TButton
+ Left = 320
+ Top = 198
+ Width = 185
+ Height = 51
+ Caption = #51089#54408#51060#46041
+ TabOrder = 6
+ end
+ object DbRdoG_jeje: TDBRadioGroup
+ Left = 320
+ Top = 24
+ Width = 185
+ Height = 105
+ Caption = #51228#51228
+ Items.Strings = (
+ 'Write'
+ 'DoNot_Write')
+ TabOrder = 7
+ end
+ object Btn_ReWrite: TButton
+ Left = 320
+ Top = 137
+ Width = 185
+ Height = 51
+ Caption = #49688' '#51221
+ TabOrder = 8
+ end
+ end
+ end
+end
diff --git a/40_Project/leejaeho-123/Source/AdminForm.pas b/40_Project/leejaeho-123/Source/AdminForm.pas
new file mode 100644
index 0000000..96737b5
--- /dev/null
+++ b/40_Project/leejaeho-123/Source/AdminForm.pas
@@ -0,0 +1,96 @@
+unit AdminForm;
+
+interface
+
+uses
+ Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
+ Vcl.Controls, Vcl.Forms, Vcl.Dialogs, System.ImageList, Vcl.ImgList,
+ System.Actions, Vcl.ActnList, Vcl.StdActns, Vcl.ActnCtrls, Vcl.Ribbon,
+ Vcl.ToolWin, Vcl.ActnMan, Vcl.ActnMenus, Vcl.RibbonActnMenus,
+ Vcl.RibbonLunaStyleActnCtrls, Vcl.StdCtrls, Vcl.ComCtrls, Data.DB, Vcl.Grids,
+ Vcl.DBGrids, Vcl.ExtCtrls, Vcl.DBCtrls, Vcl.Mask;
+
+type
+ TAdmin = class(TForm)
+ Ribbon1: TRibbon;
+ RibbonPage1: TRibbonPage;
+ RibbonGroup2: TRibbonGroup;
+ Pgc_Writer: TPageControl;
+ TabSheet1: TTabSheet;
+ TabSheet2: TTabSheet;
+ lbl_SearchList: TLabel;
+ lbl_Search: TLabel;
+ Cbx_Search: TComboBox;
+ Edt_Search: TEdit;
+ Tbc_Writer: TTabControl;
+ DBG_Writer: TDBGrid;
+ DbEdt_ID: TDBEdit;
+ DbEdt_NickName: TDBEdit;
+ DbEdt_UpLoad: TDBEdit;
+ DbEdt_Good: TDBEdit;
+ DbEdt_NotGood: TDBEdit;
+ DbEdt_Point: TDBEdit;
+ lbl_ID: TLabel;
+ lbl_NickName: TLabel;
+ lbl_UpLoad: TLabel;
+ lbl_Good: TLabel;
+ lbl_NotGood: TLabel;
+ lbl_WriterPoint: TLabel;
+ Btn_NovelMove: TButton;
+ DbRdoG_jeje: TDBRadioGroup;
+ Btn_ReWrite: TButton;
+ procedure Tbc_WriterChange(Sender: TObject);
+ procedure Cbx_SearchChange(Sender: TObject);
+ procedure Edt_SearchChange(Sender: TObject);
+
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Admin: TAdmin;
+
+implementation
+
+{$R *.dfm}
+
+uses DM_Novel;
+
+procedure TAdmin.Cbx_SearchChange(Sender: TObject);
+begin
+ case Cbx_Search.ItemIndex of
+ 0:begin
+ dm.Writer.IndexName := 'W_ID';
+ dm.WRITERWRITER_ID.Index := 0;
+ dm.WRITERWRITER_GOOD.Index := 1; //ÇÊµå¼ø¼ º¯°æ ÄÚµù
+ end;
+ 1:begin
+ dm.Writer.IndexName := 'W_GOOD';
+ dm.WRITERWRITER_ID.Index := 0;
+ dm.WRITERWRITER_GOOD.Index := 1;
+ end;
+
+ 2:dm.Writer.IndexName := 'W_UP'; //ÄÞº¸È°¿ë°Ë»ö
+ end;
+end;
+
+procedure TAdmin.Edt_SearchChange(Sender: TObject);
+begin
+ dm.WRITER.FindNearest([Edt_Search.Text]);//±ÛÀÚº¯ÇÏ¸é¼ Å°Ã£¾Æ°¡´Â ÄÚµù
+end;
+
+procedure TAdmin.Tbc_WriterChange(Sender: TObject);
+begin
+ if Tbc_Writer.TabIndex = 0 then
+ dm.WRITER.Filtered := false // ù¹øÂ° Âï¾úÀ»‹š´Â ÇÊÅÍó¸® ¾ÈÇÔ
+ else
+ begin
+ dm.WRITER.Filtered := True;
+ dm.WRITER.Filter := 'WRITER_GOOD=' + '''' + //'''' ÄÁÄËÆ¼ºê
+ Tbc_Writer.Tabs[Tbc_Writer.TabIndex] + ''''; //
+ end;
+
+end;
+
+end.
diff --git a/40_Project/leejaeho-123/Source/DM_Novel.dfm b/40_Project/leejaeho-123/Source/DM_Novel.dfm
new file mode 100644
index 0000000..ddd3e82
--- /dev/null
+++ b/40_Project/leejaeho-123/Source/DM_Novel.dfm
@@ -0,0 +1,188 @@
+object DM: TDM
+ OldCreateOrder = False
+ Height = 291
+ Width = 417
+ object FDConnection1: TFDConnection
+ Params.Strings = (
+ 'ConnectionDef=Novel')
+ Left = 32
+ Top = 24
+ end
+ object Writer: TFDTable
+ IndexFieldNames = 'WRITER_ID'
+ Connection = FDConnection1
+ UpdateOptions.UpdateTableName = 'TB_WRITER'
+ TableName = 'TB_WRITER'
+ Left = 32
+ Top = 112
+ object WriterWRITER_ID: TWideStringField
+ DisplayWidth = 200
+ FieldName = 'WRITER_ID'
+ Origin = 'WRITER_ID'
+ Required = True
+ Size = 200
+ end
+ object WriterWRITER_PW: TIntegerField
+ DisplayWidth = 13
+ FieldName = 'WRITER_PW'
+ Origin = 'WRITER_PW'
+ Required = True
+ end
+ object WriterWRITER_NICKNAME: TWideStringField
+ DisplayWidth = 22
+ FieldName = 'WRITER_NICKNAME'
+ Origin = 'WRITER_NICKNAME'
+ Required = True
+ Size = 200
+ end
+ object WriterUP_LOAD: TIntegerField
+ DisplayWidth = 10
+ FieldName = 'UP_LOAD'
+ Origin = 'UP_LOAD'
+ Required = True
+ end
+ object WriterWRITER_POINT: TIntegerField
+ DisplayWidth = 12
+ FieldName = 'WRITER_POINT'
+ Origin = 'WRITER_POINT'
+ Required = True
+ end
+ object WriterNO_WRITE: TStringField
+ DisplayWidth = 9
+ FieldName = 'NO_WRITE'
+ Origin = 'NO_WRITE'
+ FixedChar = True
+ Size = 1
+ end
+ object WriterWRITER_GOOD: TIntegerField
+ DisplayWidth = 12
+ FieldName = 'WRITER_GOOD'
+ Origin = 'WRITER_GOOD'
+ Required = True
+ end
+ object WriterWRITER_NOTGOOD: TIntegerField
+ DisplayWidth = 16
+ FieldName = 'WRITER_NOTGOOD'
+ Origin = 'WRITER_NOTGOOD'
+ Required = True
+ end
+ object WriterWRITER_LOGIN: TDateField
+ DisplayWidth = 12
+ FieldName = 'WRITER_LOGIN'
+ Origin = 'WRITER_LOGIN'
+ Required = True
+ end
+ end
+ object FDPhysFBDriverLink1: TFDPhysFBDriverLink
+ Left = 160
+ Top = 24
+ end
+ object FDGUIxWaitCursor1: TFDGUIxWaitCursor
+ Provider = 'Forms'
+ Left = 272
+ Top = 24
+ end
+ object Novel: TFDTable
+ IndexFieldNames = 'NOVEL_CODE'
+ Connection = FDConnection1
+ UpdateOptions.UpdateTableName = 'TB_NOVEL'
+ TableName = 'TB_NOVEL'
+ Left = 32
+ Top = 168
+ object NovelNOVEL_CODE: TIntegerField
+ FieldName = 'NOVEL_CODE'
+ Origin = 'NOVEL_CODE'
+ Required = True
+ end
+ object NovelWRITER_ID: TWideStringField
+ FieldName = 'WRITER_ID'
+ Origin = 'WRITER_ID'
+ Required = True
+ Size = 200
+ end
+ object NovelGENRE_CODE: TIntegerField
+ FieldName = 'GENRE_CODE'
+ Origin = 'GENRE_CODE'
+ Required = True
+ end
+ object NovelNOVEL_TITLE: TWideStringField
+ FieldName = 'NOVEL_TITLE'
+ Origin = 'NOVEL_TITLE'
+ Required = True
+ Size = 1000
+ end
+ object NovelVIEW_POINT: TIntegerField
+ FieldName = 'VIEW_POINT'
+ Origin = 'VIEW_POINT'
+ Required = True
+ end
+ object NovelNOVEL_CREATE: TDateField
+ FieldName = 'NOVEL_CREATE'
+ Origin = 'NOVEL_CREATE'
+ end
+ end
+ object Sub: TFDTable
+ IndexFieldNames = 'SUB_CODE'
+ Connection = FDConnection1
+ UpdateOptions.UpdateTableName = 'TB_SUB'
+ TableName = 'TB_SUB'
+ Left = 32
+ Top = 224
+ object SubSUB_CODE: TIntegerField
+ FieldName = 'SUB_CODE'
+ Origin = 'SUB_CODE'
+ Required = True
+ end
+ object SubNOVEL_CODE: TIntegerField
+ FieldName = 'NOVEL_CODE'
+ Origin = 'NOVEL_CODE'
+ Required = True
+ end
+ object SubWRITER_ID: TWideStringField
+ FieldName = 'WRITER_ID'
+ Origin = 'WRITER_ID'
+ Required = True
+ Size = 200
+ end
+ object SubGENRE_CODE: TIntegerField
+ FieldName = 'GENRE_CODE'
+ Origin = 'GENRE_CODE'
+ Required = True
+ end
+ object SubSUB_TITLE: TWideStringField
+ FieldName = 'SUB_TITLE'
+ Origin = 'SUB_TITLE'
+ Required = True
+ Size = 200
+ end
+ object SubCONTENT_TXT: TMemoField
+ FieldName = 'CONTENT_TXT'
+ Origin = 'CONTENT_TXT'
+ BlobType = ftMemo
+ end
+ object SubSUB_NUM: TIntegerField
+ FieldName = 'SUB_NUM'
+ Origin = 'SUB_NUM'
+ Required = True
+ end
+ object SubSUB_CREATE: TDateField
+ FieldName = 'SUB_CREATE'
+ Origin = 'SUB_CREATE'
+ end
+ end
+ object Writer_Source: TDataSource
+ DataSet = Writer
+ Left = 120
+ Top = 112
+ end
+ object Novel_Source: TDataSource
+ DataSet = Novel
+ Left = 120
+ Top = 168
+ end
+ object Sub_Source: TDataSource
+ DataSet = Sub
+ Left = 120
+ Top = 224
+ end
+end
diff --git a/40_Project/leejaeho-123/Source/DM_Novel.pas b/40_Project/leejaeho-123/Source/DM_Novel.pas
new file mode 100644
index 0000000..1ee720e
--- /dev/null
+++ b/40_Project/leejaeho-123/Source/DM_Novel.pas
@@ -0,0 +1,63 @@
+unit DM_Novel;
+
+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.VCLUI.Wait,
+ FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf, FireDAC.DApt, Data.DB,
+ FireDAC.Comp.DataSet, FireDAC.Comp.Client, FireDAC.Phys.IB,
+ FireDAC.Phys.IBDef, FireDAC.Phys.FBDef, FireDAC.Comp.UI, FireDAC.Phys.IBBase,
+ FireDAC.Phys.FB;
+
+type
+ TDM = class(TDataModule)
+ FDConnection1: TFDConnection;
+ Writer: TFDTable;
+ FDPhysFBDriverLink1: TFDPhysFBDriverLink;
+ FDGUIxWaitCursor1: TFDGUIxWaitCursor;
+ Novel: TFDTable;
+ Sub: TFDTable;
+ Writer_Source: TDataSource;
+ Novel_Source: TDataSource;
+ Sub_Source: TDataSource;
+ WriterWRITER_ID: TWideStringField;
+ WriterWRITER_PW: TIntegerField;
+ WriterWRITER_NICKNAME: TWideStringField;
+ WriterUP_LOAD: TIntegerField;
+ WriterWRITER_POINT: TIntegerField;
+ WriterNO_WRITE: TStringField;
+ WriterWRITER_GOOD: TIntegerField;
+ WriterWRITER_NOTGOOD: TIntegerField;
+ WriterWRITER_LOGIN: TDateField;
+ NovelNOVEL_CODE: TIntegerField;
+ NovelWRITER_ID: TWideStringField;
+ NovelGENRE_CODE: TIntegerField;
+ NovelNOVEL_TITLE: TWideStringField;
+ NovelVIEW_POINT: TIntegerField;
+ NovelNOVEL_CREATE: TDateField;
+ SubSUB_CODE: TIntegerField;
+ SubNOVEL_CODE: TIntegerField;
+ SubWRITER_ID: TWideStringField;
+ SubGENRE_CODE: TIntegerField;
+ SubSUB_TITLE: TWideStringField;
+ SubCONTENT_TXT: TMemoField;
+ SubSUB_NUM: TIntegerField;
+ SubSUB_CREATE: TDateField;
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ DM: TDM;
+
+implementation
+
+{%CLASSGROUP 'Vcl.Controls.TControl'}
+
+{$R *.dfm}
+
+end.
diff --git a/40_Project/leejaeho-123/Source/Project_Novel.dpr b/40_Project/leejaeho-123/Source/Project_Novel.dpr
new file mode 100644
index 0000000..069cde9
--- /dev/null
+++ b/40_Project/leejaeho-123/Source/Project_Novel.dpr
@@ -0,0 +1,16 @@
+program Project_Novel;
+
+uses
+ Vcl.Forms,
+ AdminForm in 'AdminForm.pas' {Admin},
+ DM_Novel in 'DM_Novel.pas' {DM: TDataModule};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.MainFormOnTaskbar := True;
+ Application.CreateForm(TAdmin, Admin);
+ Application.CreateForm(TDM, DM);
+ Application.Run;
+end.
diff --git a/40_Project/leejaeho-123/Source/Project_Novel.dproj b/40_Project/leejaeho-123/Source/Project_Novel.dproj
new file mode 100644
index 0000000..3cbbd9a
--- /dev/null
+++ b/40_Project/leejaeho-123/Source/Project_Novel.dproj
@@ -0,0 +1,624 @@
+
+
+ {76DA656B-24F4-4A16-8466-55687CF14665}
+ 18.6
+ VCL
+ Project_Novel.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_Novel
+
+
+ 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;office2K;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;office2K;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;vclribbon;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage)
+
+
+ DEBUG;$(DCC_Define)
+ true
+ false
+ true
+ true
+ true
+
+
+ false
+ true
+ PerMonitorV2
+ true
+ 1033
+
+
+ false
+ RELEASE;$(DCC_Define)
+ 0
+ 0
+
+
+ true
+ PerMonitorV2
+
+
+
+ MainSource
+
+
+
+ dfm
+
+
+
+ dfm
+ TDataModule
+
+
+ Cfg_2
+ Base
+
+
+ Base
+
+
+ Cfg_1
+ Base
+
+
+
+ Delphi.Personality.12
+ Application
+
+
+
+ Project_Novel.dpr
+
+
+ Embarcadero C++Builder Office 2000 Servers Package
+ Embarcadero C++Builder Office XP Servers Package
+ Microsoft Office XP Sample Automation Server Wrapper Components
+
+
+
+
+
+ Project_Novel.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/leejaeho-123/Source/Project_Novel.res b/40_Project/leejaeho-123/Source/Project_Novel.res
new file mode 100644
index 0000000..d80ae68
Binary files /dev/null and b/40_Project/leejaeho-123/Source/Project_Novel.res differ
diff --git a/40_Project/leejaeho-123/Source/Sosul/SOSULGANINARU.IB b/40_Project/leejaeho-123/Source/Sosul/SOSULGANINARU.IB
new file mode 100644
index 0000000..66c52a8
Binary files /dev/null and b/40_Project/leejaeho-123/Source/Sosul/SOSULGANINARU.IB differ