데이타셋 데모
1. Tag를 활용한 리펙토링 2. Interface를 활용한 DataSet State 분리
This commit is contained in:
@@ -0,0 +1,399 @@
|
|||||||
|
object frmMain: TfrmMain
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Caption = 'DataSet '#49892#49845
|
||||||
|
ClientHeight = 685
|
||||||
|
ClientWidth = 816
|
||||||
|
Color = clBtnFace
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -12
|
||||||
|
Font.Name = 'Segoe UI'
|
||||||
|
Font.Style = []
|
||||||
|
Position = poScreenCenter
|
||||||
|
OnCreate = FormCreate
|
||||||
|
TextHeight = 15
|
||||||
|
object lcMain: TdxLayoutControl
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 816
|
||||||
|
Height = 665
|
||||||
|
Align = alClient
|
||||||
|
TabOrder = 0
|
||||||
|
LayoutLookAndFeel = dxLayoutSkinLookAndFeel1
|
||||||
|
object btnAdd: TcxButton
|
||||||
|
Left = 401
|
||||||
|
Top = 12
|
||||||
|
Width = 75
|
||||||
|
Height = 35
|
||||||
|
Action = acAdd
|
||||||
|
TabOrder = 0
|
||||||
|
end
|
||||||
|
object btnEdit: TcxButton
|
||||||
|
Left = 483
|
||||||
|
Top = 12
|
||||||
|
Width = 75
|
||||||
|
Height = 35
|
||||||
|
Action = acEdit
|
||||||
|
TabOrder = 1
|
||||||
|
end
|
||||||
|
object btnDelete: TcxButton
|
||||||
|
Left = 565
|
||||||
|
Top = 12
|
||||||
|
Width = 75
|
||||||
|
Height = 35
|
||||||
|
Action = acDelete
|
||||||
|
TabOrder = 2
|
||||||
|
end
|
||||||
|
object btnPost: TcxButton
|
||||||
|
Left = 647
|
||||||
|
Top = 12
|
||||||
|
Width = 75
|
||||||
|
Height = 35
|
||||||
|
Action = acSave
|
||||||
|
TabOrder = 3
|
||||||
|
end
|
||||||
|
object btnCancel: TcxButton
|
||||||
|
Left = 729
|
||||||
|
Top = 12
|
||||||
|
Width = 75
|
||||||
|
Height = 35
|
||||||
|
Action = acCancel
|
||||||
|
TabOrder = 4
|
||||||
|
end
|
||||||
|
object grdEmployee: TcxGrid
|
||||||
|
Left = 12
|
||||||
|
Top = 175
|
||||||
|
Width = 792
|
||||||
|
Height = 478
|
||||||
|
TabOrder = 10
|
||||||
|
object dbtvEmployee: TcxGridDBTableView
|
||||||
|
Navigator.Buttons.CustomButtons = <>
|
||||||
|
ScrollbarAnnotations.CustomAnnotations = <>
|
||||||
|
DataController.DataSource = dmData.dsEmployee
|
||||||
|
DataController.Summary.DefaultGroupSummaryItems = <>
|
||||||
|
DataController.Summary.FooterSummaryItems = <>
|
||||||
|
DataController.Summary.SummaryGroups = <>
|
||||||
|
OptionsData.CancelOnExit = False
|
||||||
|
OptionsData.Deleting = False
|
||||||
|
OptionsData.DeletingConfirmation = False
|
||||||
|
OptionsData.Editing = False
|
||||||
|
OptionsData.Inserting = False
|
||||||
|
OptionsSelection.CellSelect = False
|
||||||
|
OptionsView.ColumnAutoWidth = True
|
||||||
|
OptionsView.GroupByBox = False
|
||||||
|
object dbtvEmployeeRecId: TcxGridDBColumn
|
||||||
|
DataBinding.FieldName = 'RecId'
|
||||||
|
Visible = False
|
||||||
|
end
|
||||||
|
object dbtvEmployeename: TcxGridDBColumn
|
||||||
|
Caption = #51060#47492
|
||||||
|
DataBinding.FieldName = 'name'
|
||||||
|
PropertiesClassName = 'TcxTextEditProperties'
|
||||||
|
Properties.Alignment.Horz = taCenter
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
end
|
||||||
|
object dbtvEmployeeage: TcxGridDBColumn
|
||||||
|
Caption = #45208#51060
|
||||||
|
DataBinding.FieldName = 'age'
|
||||||
|
PropertiesClassName = 'TcxTextEditProperties'
|
||||||
|
Properties.Alignment.Horz = taCenter
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
end
|
||||||
|
object dbtvEmployeeposition: TcxGridDBColumn
|
||||||
|
Caption = #51649#50948
|
||||||
|
DataBinding.FieldName = 'position'
|
||||||
|
PropertiesClassName = 'TcxTextEditProperties'
|
||||||
|
Properties.Alignment.Horz = taCenter
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 41
|
||||||
|
end
|
||||||
|
object dbtvEmployeesalary: TcxGridDBColumn
|
||||||
|
Caption = #44553#50668
|
||||||
|
DataBinding.FieldName = 'salary'
|
||||||
|
PropertiesClassName = 'TcxCurrencyEditProperties'
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
end
|
||||||
|
object dbtvEmployeeaddress: TcxGridDBColumn
|
||||||
|
Caption = #51452#49548
|
||||||
|
DataBinding.FieldName = 'address'
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object grdEmployeeLevel1: TcxGridLevel
|
||||||
|
GridView = dbtvEmployee
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object dbteName: TcxDBTextEdit
|
||||||
|
Left = 55
|
||||||
|
Top = 93
|
||||||
|
AutoSize = False
|
||||||
|
DataBinding.DataField = 'name'
|
||||||
|
DataBinding.DataSource = dmData.dsEmployee
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 5
|
||||||
|
Height = 27
|
||||||
|
Width = 157
|
||||||
|
end
|
||||||
|
object dbseAge: TcxDBSpinEdit
|
||||||
|
Left = 248
|
||||||
|
Top = 93
|
||||||
|
AutoSize = False
|
||||||
|
DataBinding.DataField = 'age'
|
||||||
|
DataBinding.DataSource = dmData.dsEmployee
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 6
|
||||||
|
Height = 27
|
||||||
|
Width = 157
|
||||||
|
end
|
||||||
|
object dbtePosition: TcxDBTextEdit
|
||||||
|
Left = 441
|
||||||
|
Top = 93
|
||||||
|
AutoSize = False
|
||||||
|
DataBinding.DataField = 'position'
|
||||||
|
DataBinding.DataSource = dmData.dsEmployee
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 7
|
||||||
|
Height = 27
|
||||||
|
Width = 156
|
||||||
|
end
|
||||||
|
object dbseSalary: TcxDBSpinEdit
|
||||||
|
Left = 633
|
||||||
|
Top = 93
|
||||||
|
AutoSize = False
|
||||||
|
DataBinding.DataField = 'salary'
|
||||||
|
DataBinding.DataSource = dmData.dsEmployee
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 8
|
||||||
|
Height = 27
|
||||||
|
Width = 157
|
||||||
|
end
|
||||||
|
object dbteAddress: TcxDBTextEdit
|
||||||
|
Left = 55
|
||||||
|
Top = 127
|
||||||
|
DataBinding.DataField = 'address'
|
||||||
|
DataBinding.DataSource = dmData.dsEmployee
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 9
|
||||||
|
Width = 735
|
||||||
|
end
|
||||||
|
object lgRoot: TdxLayoutGroup
|
||||||
|
AlignHorz = ahClient
|
||||||
|
AlignVert = avClient
|
||||||
|
Hidden = True
|
||||||
|
ItemIndex = 1
|
||||||
|
ShowBorder = False
|
||||||
|
Index = -1
|
||||||
|
end
|
||||||
|
object lgToolbar: TdxLayoutGroup
|
||||||
|
Parent = lgRoot
|
||||||
|
CaptionOptions.Text = 'New Group'
|
||||||
|
CaptionOptions.Visible = False
|
||||||
|
ItemIndex = 4
|
||||||
|
LayoutDirection = ldHorizontal
|
||||||
|
ShowBorder = False
|
||||||
|
Index = 0
|
||||||
|
end
|
||||||
|
object lgInput: TdxLayoutGroup
|
||||||
|
Parent = lgRoot
|
||||||
|
CaptionOptions.Text = #52628#44032' / '#54200#51665
|
||||||
|
ItemIndex = 1
|
||||||
|
Index = 1
|
||||||
|
end
|
||||||
|
object lgGrid: TdxLayoutGroup
|
||||||
|
Parent = lgRoot
|
||||||
|
AlignVert = avClient
|
||||||
|
CaptionOptions.Text = 'New Group'
|
||||||
|
CaptionOptions.Visible = False
|
||||||
|
ShowBorder = False
|
||||||
|
Index = 2
|
||||||
|
end
|
||||||
|
object liAdd: TdxLayoutItem
|
||||||
|
Parent = lgToolbar
|
||||||
|
AlignHorz = ahRight
|
||||||
|
CaptionOptions.Text = 'cxButton1'
|
||||||
|
CaptionOptions.Visible = False
|
||||||
|
Control = btnAdd
|
||||||
|
ControlOptions.OriginalHeight = 35
|
||||||
|
ControlOptions.OriginalWidth = 75
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 0
|
||||||
|
end
|
||||||
|
object liEdit: TdxLayoutItem
|
||||||
|
Parent = lgToolbar
|
||||||
|
AlignHorz = ahRight
|
||||||
|
CaptionOptions.Text = 'cxButton2'
|
||||||
|
CaptionOptions.Visible = False
|
||||||
|
Control = btnEdit
|
||||||
|
ControlOptions.OriginalHeight = 35
|
||||||
|
ControlOptions.OriginalWidth = 75
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 1
|
||||||
|
end
|
||||||
|
object liDelete: TdxLayoutItem
|
||||||
|
Parent = lgToolbar
|
||||||
|
AlignHorz = ahRight
|
||||||
|
CaptionOptions.Text = 'cxButton3'
|
||||||
|
CaptionOptions.Visible = False
|
||||||
|
Control = btnDelete
|
||||||
|
ControlOptions.OriginalHeight = 35
|
||||||
|
ControlOptions.OriginalWidth = 75
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 2
|
||||||
|
end
|
||||||
|
object liSave: TdxLayoutItem
|
||||||
|
Parent = lgToolbar
|
||||||
|
AlignHorz = ahRight
|
||||||
|
CaptionOptions.Text = 'cxButton4'
|
||||||
|
CaptionOptions.Visible = False
|
||||||
|
Control = btnPost
|
||||||
|
ControlOptions.OriginalHeight = 35
|
||||||
|
ControlOptions.OriginalWidth = 75
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Enabled = False
|
||||||
|
Index = 3
|
||||||
|
end
|
||||||
|
object liCancel: TdxLayoutItem
|
||||||
|
Parent = lgToolbar
|
||||||
|
AlignHorz = ahRight
|
||||||
|
CaptionOptions.Text = 'cxButton5'
|
||||||
|
CaptionOptions.Visible = False
|
||||||
|
Control = btnCancel
|
||||||
|
ControlOptions.OriginalHeight = 35
|
||||||
|
ControlOptions.OriginalWidth = 75
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 4
|
||||||
|
end
|
||||||
|
object liGird: TdxLayoutItem
|
||||||
|
Parent = lgGrid
|
||||||
|
AlignHorz = ahClient
|
||||||
|
AlignVert = avClient
|
||||||
|
CaptionOptions.Text = 'cxGrid1'
|
||||||
|
CaptionOptions.Visible = False
|
||||||
|
Control = grdEmployee
|
||||||
|
ControlOptions.OriginalHeight = 200
|
||||||
|
ControlOptions.OriginalWidth = 250
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 0
|
||||||
|
end
|
||||||
|
object dxLayoutItem2: TdxLayoutItem
|
||||||
|
Parent = dxLayoutAutoCreatedGroup1
|
||||||
|
AlignHorz = ahClient
|
||||||
|
CaptionOptions.Text = #51060#47492
|
||||||
|
Control = dbteName
|
||||||
|
ControlOptions.OriginalHeight = 27
|
||||||
|
ControlOptions.OriginalWidth = 121
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 0
|
||||||
|
end
|
||||||
|
object dxLayoutItem3: TdxLayoutItem
|
||||||
|
Parent = dxLayoutAutoCreatedGroup1
|
||||||
|
AlignHorz = ahClient
|
||||||
|
CaptionOptions.Text = #45208#51060
|
||||||
|
Control = dbseAge
|
||||||
|
ControlOptions.OriginalHeight = 27
|
||||||
|
ControlOptions.OriginalWidth = 121
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 1
|
||||||
|
end
|
||||||
|
object dxLayoutItem4: TdxLayoutItem
|
||||||
|
Parent = dxLayoutAutoCreatedGroup1
|
||||||
|
AlignHorz = ahClient
|
||||||
|
CaptionOptions.Text = #51649#50948
|
||||||
|
Control = dbtePosition
|
||||||
|
ControlOptions.OriginalHeight = 27
|
||||||
|
ControlOptions.OriginalWidth = 121
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 2
|
||||||
|
end
|
||||||
|
object dxLayoutItem5: TdxLayoutItem
|
||||||
|
Parent = dxLayoutAutoCreatedGroup1
|
||||||
|
AlignHorz = ahClient
|
||||||
|
CaptionOptions.Text = #44553#50668
|
||||||
|
Control = dbseSalary
|
||||||
|
ControlOptions.OriginalHeight = 27
|
||||||
|
ControlOptions.OriginalWidth = 121
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 3
|
||||||
|
end
|
||||||
|
object dxLayoutItem6: TdxLayoutItem
|
||||||
|
Parent = lgInput
|
||||||
|
CaptionOptions.Text = #51452#49548
|
||||||
|
Control = dbteAddress
|
||||||
|
ControlOptions.OriginalHeight = 27
|
||||||
|
ControlOptions.OriginalWidth = 121
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 1
|
||||||
|
end
|
||||||
|
object dxLayoutAutoCreatedGroup1: TdxLayoutAutoCreatedGroup
|
||||||
|
Parent = lgInput
|
||||||
|
LayoutDirection = ldHorizontal
|
||||||
|
Index = 0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object sbMain: TdxStatusBar
|
||||||
|
Left = 0
|
||||||
|
Top = 665
|
||||||
|
Width = 816
|
||||||
|
Height = 20
|
||||||
|
Panels = <
|
||||||
|
item
|
||||||
|
PanelStyleClassName = 'TdxStatusBarTextPanelStyle'
|
||||||
|
end>
|
||||||
|
end
|
||||||
|
object acToolbar: TActionList
|
||||||
|
Images = dmData.ilSmallIcons
|
||||||
|
Left = 288
|
||||||
|
Top = 8
|
||||||
|
object acAdd: TAction
|
||||||
|
Tag = 1
|
||||||
|
Caption = #52628#44032
|
||||||
|
ImageIndex = 0
|
||||||
|
OnExecute = DataSetCRUD
|
||||||
|
end
|
||||||
|
object acEdit: TAction
|
||||||
|
Tag = 2
|
||||||
|
Caption = #49688#51221
|
||||||
|
ImageIndex = 1
|
||||||
|
OnExecute = DataSetCRUD
|
||||||
|
end
|
||||||
|
object acDelete: TAction
|
||||||
|
Tag = 3
|
||||||
|
Caption = #49325#51228
|
||||||
|
ImageIndex = 2
|
||||||
|
OnExecute = DataSetCRUD
|
||||||
|
end
|
||||||
|
object acSave: TAction
|
||||||
|
Tag = 4
|
||||||
|
Caption = #51200#51109
|
||||||
|
Enabled = False
|
||||||
|
ImageIndex = 3
|
||||||
|
OnExecute = DataSetCRUD
|
||||||
|
end
|
||||||
|
object acCancel: TAction
|
||||||
|
Tag = 5
|
||||||
|
Caption = #52712#49548
|
||||||
|
ImageIndex = 4
|
||||||
|
OnExecute = DataSetCRUD
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object scTheme: TdxSkinController
|
||||||
|
NativeStyle = False
|
||||||
|
SkinName = 'WXI'
|
||||||
|
SkinPaletteName = 'Clearness'
|
||||||
|
Left = 72
|
||||||
|
Top = 8
|
||||||
|
end
|
||||||
|
object dxLayoutLookAndFeelList: TdxLayoutLookAndFeelList
|
||||||
|
Left = 176
|
||||||
|
Top = 8
|
||||||
|
object dxLayoutSkinLookAndFeel1: TdxLayoutSkinLookAndFeel
|
||||||
|
PixelsPerInch = 96
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -0,0 +1,114 @@
|
|||||||
|
unit MainUnit;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
{ Delphi }
|
||||||
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
||||||
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, System.Actions, Vcl.ActnList, System.ImageList, Vcl.ImgList,
|
||||||
|
Vcl.Menus, Vcl.StdCtrls, Data.DB,
|
||||||
|
{ DevExpress }
|
||||||
|
dxForms, cxGraphics, dxUIAClasses, cxControls, dxLayoutControlAdapters, dxLayoutContainer,
|
||||||
|
cxButtons, cxClasses, dxLayoutControl, cxStyles, cxCustomData, cxFilter, cxData,
|
||||||
|
cxDataStorage, cxEdit, cxNavigator, dxDateRanges, dxScrollbarAnnotations, cxDBData,
|
||||||
|
cxGridLevel, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
|
||||||
|
cxGrid, dxmdaset, dxLayoutcxEditAdapters, cxTextEdit, cxCurrencyEdit, cxContainer,
|
||||||
|
cxImageList, cxMaskEdit, cxSpinEdit, cxDBEdit, dxCore, dxStatusBar,
|
||||||
|
{ DevExpress Skin }
|
||||||
|
cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinWXI, dxLayoutLookAndFeels, dxSkinsForm,
|
||||||
|
{ Custom }
|
||||||
|
DataUnit;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfrmMain = class(TdxForm, IDataStateNotifier)
|
||||||
|
lgRoot: TdxLayoutGroup;
|
||||||
|
lcMain: TdxLayoutControl;
|
||||||
|
lgToolbar: TdxLayoutGroup;
|
||||||
|
lgInput: TdxLayoutGroup;
|
||||||
|
lgGrid: TdxLayoutGroup;
|
||||||
|
btnAdd: TcxButton;
|
||||||
|
liAdd: TdxLayoutItem;
|
||||||
|
btnEdit: TcxButton;
|
||||||
|
liEdit: TdxLayoutItem;
|
||||||
|
btnDelete: TcxButton;
|
||||||
|
liDelete: TdxLayoutItem;
|
||||||
|
btnPost: TcxButton;
|
||||||
|
liSave: TdxLayoutItem;
|
||||||
|
btnCancel: TcxButton;
|
||||||
|
liCancel: TdxLayoutItem;
|
||||||
|
dbtvEmployee: TcxGridDBTableView;
|
||||||
|
grdEmployeeLevel1: TcxGridLevel;
|
||||||
|
grdEmployee: TcxGrid;
|
||||||
|
liGird: TdxLayoutItem;
|
||||||
|
dbtvEmployeeRecId: TcxGridDBColumn;
|
||||||
|
dbtvEmployeename: TcxGridDBColumn;
|
||||||
|
dbtvEmployeeage: TcxGridDBColumn;
|
||||||
|
dbtvEmployeeposition: TcxGridDBColumn;
|
||||||
|
dbtvEmployeesalary: TcxGridDBColumn;
|
||||||
|
dbtvEmployeeaddress: TcxGridDBColumn;
|
||||||
|
dbteName: TcxDBTextEdit;
|
||||||
|
dxLayoutItem2: TdxLayoutItem;
|
||||||
|
dbseAge: TcxDBSpinEdit;
|
||||||
|
dxLayoutItem3: TdxLayoutItem;
|
||||||
|
dbtePosition: TcxDBTextEdit;
|
||||||
|
dxLayoutItem4: TdxLayoutItem;
|
||||||
|
dbseSalary: TcxDBSpinEdit;
|
||||||
|
dxLayoutItem5: TdxLayoutItem;
|
||||||
|
dbteAddress: TcxDBTextEdit;
|
||||||
|
dxLayoutItem6: TdxLayoutItem;
|
||||||
|
dxLayoutAutoCreatedGroup1: TdxLayoutAutoCreatedGroup;
|
||||||
|
acToolbar: TActionList;
|
||||||
|
acAdd: TAction;
|
||||||
|
acEdit: TAction;
|
||||||
|
acDelete: TAction;
|
||||||
|
acSave: TAction;
|
||||||
|
acCancel: TAction;
|
||||||
|
scTheme: TdxSkinController;
|
||||||
|
dxLayoutLookAndFeelList: TdxLayoutLookAndFeelList;
|
||||||
|
dxLayoutSkinLookAndFeel1: TdxLayoutSkinLookAndFeel;
|
||||||
|
sbMain: TdxStatusBar;
|
||||||
|
procedure DataSetCRUD(Sender: TObject);
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
private
|
||||||
|
procedure NotifyDataSetStateChange(const AState: TDataSetState);
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
frmMain: TfrmMain;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure TfrmMain.DataSetCRUD(Sender: TObject);
|
||||||
|
// action에 Tag로 하나의 함수로 리펙토링
|
||||||
|
begin
|
||||||
|
var Tag:= TAction(Sender).Tag;
|
||||||
|
Case Tag of
|
||||||
|
1: // 추가
|
||||||
|
begin
|
||||||
|
dmData.mdEmployee.Append;
|
||||||
|
dbteName.SetFocus;
|
||||||
|
end;
|
||||||
|
2: dmData.mdEmployee.Edit; // 수정
|
||||||
|
3: dmData.mdEmployee.Delete; // 삭제
|
||||||
|
4: dmData.mdEmployee.Post; // 저장
|
||||||
|
5: dmData.mdEmployee.Cancel; // 취소
|
||||||
|
End;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmMain.FormCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
// DataSet State를 DataUnit으로 분리(유닛간 결합도를 분리) 리펙토링
|
||||||
|
if Assigned(dmData) then
|
||||||
|
dmData.SetNotifier(Self);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmMain.NotifyDataSetStateChange(const AState: TDataSetState);
|
||||||
|
begin
|
||||||
|
acSave.Enabled:= Not(AState in [dsBrowse]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
@@ -0,0 +1,456 @@
|
|||||||
|
object dmData: TdmData
|
||||||
|
OnCreate = DataModuleCreate
|
||||||
|
Height = 332
|
||||||
|
Width = 408
|
||||||
|
object mdEmployee: TdxMemData
|
||||||
|
Indexes = <>
|
||||||
|
Persistent.Data = {
|
||||||
|
5665728FC2F5285C8FFE3F050000000A000000010005006E616D650002000000
|
||||||
|
02000400616765000500000001000900706F736974696F6E0004000000030007
|
||||||
|
0073616C61727900320000000100080061646472657373000106000000C8ABB1
|
||||||
|
E6B5BF011F000104000000B4EBB8AE0140E133000112000000BACEBBEA20B5BF
|
||||||
|
B7A1B1B820B8EDC0E5B5BF0106000000B1E8B8BBB5BF012A000104000000B0FA
|
||||||
|
C0E501401640000112000000BACEBBEA20C7D8BFEEB4EBB1B820BFECB5BF}
|
||||||
|
SortOptions = []
|
||||||
|
Left = 208
|
||||||
|
Top = 80
|
||||||
|
object mdEmployeename: TStringField
|
||||||
|
FieldName = 'name'
|
||||||
|
Size = 10
|
||||||
|
end
|
||||||
|
object mdEmployeeage: TSmallintField
|
||||||
|
FieldName = 'age'
|
||||||
|
end
|
||||||
|
object mdEmployeeposition: TStringField
|
||||||
|
FieldName = 'position'
|
||||||
|
Size = 5
|
||||||
|
end
|
||||||
|
object mdEmployeesalary: TIntegerField
|
||||||
|
FieldName = 'salary'
|
||||||
|
end
|
||||||
|
object mdEmployeeaddress: TStringField
|
||||||
|
FieldName = 'address'
|
||||||
|
Size = 50
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object dsEmployee: TDataSource
|
||||||
|
AutoEdit = False
|
||||||
|
DataSet = mdEmployee
|
||||||
|
OnStateChange = dsEmployeeStateChange
|
||||||
|
Left = 112
|
||||||
|
Top = 80
|
||||||
|
end
|
||||||
|
object ilSmallIcons: TcxImageList
|
||||||
|
SourceDPI = 96
|
||||||
|
FormatVersion = 1
|
||||||
|
Left = 136
|
||||||
|
Top = 160
|
||||||
|
Bitmap = {
|
||||||
|
494C010105000800040010001000FFFFFFFF2110FFFFFFFFFFFFFFFF424D3600
|
||||||
|
0000000000003600000028000000400000002000000001002000000000000020
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000010000130000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000201001E683908B10000000000000000000000000000
|
||||||
|
00000000000000000000000000002816036F0000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000042A170372C36B0FF3D77610FF0000000000000000000000000000
|
||||||
|
0000000000000000000E4C2905974A2905970000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000905
|
||||||
|
00358C4D0BCED77610FFD77610FFD77610FF00000008010000120603002C180D
|
||||||
|
02574E2B069ABC670EEFD77610FF0B06003B0000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000000000000000000E45260591D274
|
||||||
|
10FCD77610FFD77610FFD77610FFD77610FFD77610FFD77610FFD77610FFD776
|
||||||
|
10FFD77610FFD77610FF703D08B8000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000160C0152AB5E0DE4D77610FFD776
|
||||||
|
10FFD77610FFD77610FFD77610FFD77610FFD77610FFD77610FFD77610FFD776
|
||||||
|
10FFD77610FFAC5F0DE40201001C000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000001109014AA45A0DDFD77610FFD776
|
||||||
|
10FFD77610FFD77610FFD77610FFD77610FFD77610FFD77610FFD77610FFD776
|
||||||
|
10FF894B0BCC0302002200000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000000000000000000B3E220489CF72
|
||||||
|
10FBD77610FFD77610FFD77610FFD77610FFC76E0FF6A45A0DDF623507AC170D
|
||||||
|
0155000000030000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000703
|
||||||
|
002E83480AC7D77610FFD77610FFD77610FF0000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000022414026ABE690FF0D77610FF0000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000020100195F3407A90000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000000000001F8C02F2229C02FF229C
|
||||||
|
02FF229C02FF229C02FF229C02FF229C02FF229C02FF229C02FF229C02FF229C
|
||||||
|
02FF229C02FF229C02FF209202F6000000000000000000000000000000000000
|
||||||
|
000000000008071F0073166501CF219602FB219702FB176901D1072100760000
|
||||||
|
000A000000000000000000000000000000000000000000000000D77610FFD575
|
||||||
|
10FE211202650201001900000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000805052A73121289CF1B1BC9FB1B1BCAFB12128CD105052C760000
|
||||||
|
000A0000000000000000000000000000000000000000229C02FF229C02FF229C
|
||||||
|
02FF229C02FF229C02FF229C02FF229C02FF229C02FF229C02FF229C02FF229C
|
||||||
|
02FF229C02FF229C02FF229C02FF000000000000000000000000000000000001
|
||||||
|
001B176902D1229C02FF229C02FF229C02FF229C02FF229C02FF229C02FF186E
|
||||||
|
02D60002001F0000000000000000000000000000000000000000D57510FE2112
|
||||||
|
026508040034BC670EEF321C037C000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
021B12128DD11B1BD1FF1B1BD1FF1B1BD1FF1B1BD1FF1B1BD1FF1B1BD1FF1414
|
||||||
|
93D60000031F00000000000000000000000000000000229C02FF229C02FF229C
|
||||||
|
02FF229C02FF229C02FF229C02FF229C02FF229C02FF229C02FF229C02FF229C
|
||||||
|
02FF229C02FF229C02FF229C02FF000000000000000000000000000000071767
|
||||||
|
02D0229C02FF229C02FF229C02FF0000000000000000229C02FF229C02FF229C
|
||||||
|
02FF186E02D60000000A00000000000000000000000000000000211202650804
|
||||||
|
0034BC670EEFD77610FFD77610FF321C037C0000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000071212
|
||||||
|
8BD01B1BD1FF12128DD21717ADE81B1BD1FF1B1BD1FF1818B7EF111185CC1B1B
|
||||||
|
D1FF141493D60000000A000000000000000000000000229C02FF229C02FF229C
|
||||||
|
02FF000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000229C02FF229C02FF229C02FF000000000000000000000000061C006E229C
|
||||||
|
02FF229C02FF229C02FF229C02FF0000000000000000229C02FF229C02FF229C
|
||||||
|
02FF229C02FF07210076000000000000000000000000000000000000000EB664
|
||||||
|
0EEBD77610FFD77610FFD77610FFD77610FF321C037C00000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000505266E1B1B
|
||||||
|
D1FF131390D4000001140000052B1717ADE81717B2EC010108340000000E1111
|
||||||
|
80C81B1BD1FF05052C76000000000000000000000000229C02FF229C02FF229C
|
||||||
|
02FF000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000229C02FF229C02FF229C02FF000000000000000000000000156001C9229C
|
||||||
|
02FF229C02FF229C02FF229C02FF0000000000000000229C02FF229C02FF229C
|
||||||
|
02FF229C02FF176902D10000000000000000000000000000000000000000190D
|
||||||
|
0257D07210FBD77610FFD77610FFD77610FFD77610FF321C037C000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000111182C91B1B
|
||||||
|
D1FF1818B7EF01010834000000000000052B0000072F000000000000052B1616
|
||||||
|
A9E51B1BD1FF12128CD1000000000000000000000000229C02FF229C02FF229C
|
||||||
|
02FF000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000229C02FF229C02FF229C02FF000000000000000000000000208E02F3229C
|
||||||
|
02FF000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000229C02FF229702FB00000000000000000000000000000000000000000000
|
||||||
|
0000190D0257D07210FBD77610FFD77610FFD77610FFD77610FF321C037C0000
|
||||||
|
00000000000000000000000000000000000000000000000000001919BDF31B1B
|
||||||
|
D1FF1B1BD1FF1818B7EF0101083400000000000000000000062D1717ADE81B1B
|
||||||
|
D1FF1B1BD1FF1B1BCAFB000000000000000000000000229C02FF229C02FF229C
|
||||||
|
02FF229C02FF229C02FF229C02FF229C02FF229C02FF229C02FF229C02FF229C
|
||||||
|
02FF229C02FF229C02FF229C02FF0000000000000000000000001F8D02F3229C
|
||||||
|
02FF000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000229C02FF219602FB00000000000000000000000000000000000000000000
|
||||||
|
000000000000190D0257D07210FBD77610FFD77610FFD77610FFD77610FF301A
|
||||||
|
03790000000000000000000000000000000000000000000000001818BCF31B1B
|
||||||
|
D1FF1B1BD1FF1717B2EC0000072F00000000000000000000052B1717ADE81B1B
|
||||||
|
D1FF1B1BD1FF1A1AC9FB000000000000000000000000229C02FF229C02FF229C
|
||||||
|
02FF229C02FF229C02FF229C02FF229C02FF229C02FF229C02FF229C02FF229C
|
||||||
|
02FF229C02FF229C02FF229C02FF000000000000000000000000145E01C7229C
|
||||||
|
02FF229C02FF229C02FF229C02FF0000000000000000229C02FF229C02FF229C
|
||||||
|
02FF229C02FF166601CF00000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000190D0257D07210FBD77610FFD77610FFCF7210FA150C
|
||||||
|
015104020024000000000000000000000000000000000000000011117FC71B1B
|
||||||
|
D1FF1717B2EC0000072F000000000000072F01010834000000000000052B1717
|
||||||
|
ADE81B1BD1FF121289CF000000000000000000000000229C02FF229C02FF229C
|
||||||
|
02FF229C02FF229C02FF229C02FF229C02FF229C02FF229C02FF229C02FF229C
|
||||||
|
02FF229C02FF229C02FF229C02FF000000000000000000000000061B006B229C
|
||||||
|
02FF229C02FF229C02FF229C02FF0000000000000000229C02FF229C02FF229C
|
||||||
|
02FF229C02FF071F007300000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000190D0257D07210FBCF7210FA150C0151120A
|
||||||
|
014BCB7010F8311B037B000000000000000000000000000000000505246B1B1B
|
||||||
|
D1FF141494D7000001170000072F1717B2EC1818B7EF01010834000001141212
|
||||||
|
8DD21B1BD1FF05052A73000000000000000000000000229C02FF229C02FF229C
|
||||||
|
02FF000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000229C02FF229C02FF229C02FF000000000000000000000000000000061663
|
||||||
|
01CC229C02FF229C02FF229C02FF0000000000000000229C02FF229C02FF229C
|
||||||
|
02FF176902D10000000800000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000190D0257150C0151120A014BCB70
|
||||||
|
10F8D77610FFBD680EEF00000000000000000000000000000000000000061111
|
||||||
|
85CC1B1BD1FF141494D71717B2EC1B1BD1FF1B1BD1FF1818B7EF131390D41B1B
|
||||||
|
D1FF12128DD100000008000000000000000000000000229C02FF229C02FF229C
|
||||||
|
02FF00000000229C02FF229C02FF229C02FF229C02FF00000000000000000000
|
||||||
|
0000229C02FF229C02FF229C02FF000000000000000000000000000000000001
|
||||||
|
0017166301CC229C02FF229C02FF229C02FF229C02FF229C02FF229C02FF1767
|
||||||
|
01D00001001B0000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000001000017C56C0FF4D776
|
||||||
|
10FFC56C0FF40D07003F00000000000000000000000000000000000000000000
|
||||||
|
0117111185CC1B1BD1FF1B1BD1FF1B1BD1FF1B1BD1FF1B1BD1FF1B1BD1FF1212
|
||||||
|
8BD00000021B00000000000000000000000000000000229C02FF229C02FF229C
|
||||||
|
02FF00000000229C02FF00000000229C02FF229C02FF00000000000000000000
|
||||||
|
0000229C02FF229C02FF229C02FF000000000000000000000000000000000000
|
||||||
|
000000000006061B006B145E01C71F8D02F31F8E02F3156001C9061C006E0000
|
||||||
|
0007000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000190D0257AF60
|
||||||
|
0DE60D07003F0000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000060505246B11117FC71919BDF31919BDF3111182C90505266E0000
|
||||||
|
00070000000000000000000000000000000000000000229C02FF229C02FF229C
|
||||||
|
02FF00000000229C02FF00000000229C02FF229C02FF00000000000000000000
|
||||||
|
0000229C02FF229C02FF229C02FF000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000000000001E8802EE229C02FF229C
|
||||||
|
02FF00000000229C02FF229C02FF229C02FF229C02FF00000000000000000000
|
||||||
|
0000229C02FF229C02FF1F8C02F2000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000424D3E000000000000003E000000
|
||||||
|
2800000040000000200000000100010000000000000100000000000000000000
|
||||||
|
000000000000000000000000FFFFFF0000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000}
|
||||||
|
DesignInfo = 10485896
|
||||||
|
ImageInfo = <
|
||||||
|
item
|
||||||
|
ImageClass = 'TdxSmartImage'
|
||||||
|
Image.Data = {
|
||||||
|
3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554
|
||||||
|
462D38223F3E0D0A3C7376672076657273696F6E3D22312E31222069643D224C
|
||||||
|
617965725F312220786D6C6E733D22687474703A2F2F7777772E77332E6F7267
|
||||||
|
2F323030302F7376672220786D6C6E733A786C696E6B3D22687474703A2F2F77
|
||||||
|
77772E77332E6F72672F313939392F786C696E6B2220783D223070782220793D
|
||||||
|
22307078222076696577426F783D2230203020333220333222207374796C653D
|
||||||
|
22656E61626C652D6261636B67726F756E643A6E657720302030203332203332
|
||||||
|
3B2220786D6C3A73706163653D227072657365727665223E262331333B262331
|
||||||
|
303B3C7374796C6520747970653D22746578742F6373732220786D6C3A737061
|
||||||
|
63653D227072657365727665223E2E426C75657B66696C6C3A23313137374437
|
||||||
|
3B7D262331333B262331303B2623393B2E59656C6C6F777B66696C6C3A234646
|
||||||
|
423131353B7D262331333B262331303B2623393B2E426C61636B7B66696C6C3A
|
||||||
|
233732373237323B7D262331333B262331303B2623393B2E477265656E7B6669
|
||||||
|
6C6C3A233033394332333B7D262331333B262331303B2623393B2E5265647B66
|
||||||
|
696C6C3A234431314331433B7D262331333B262331303B2623393B2E7374307B
|
||||||
|
6F7061636974793A302E37353B7D262331333B262331303B2623393B2E737431
|
||||||
|
7B6F7061636974793A302E353B7D3C2F7374796C653E0D0A3C672069643D2241
|
||||||
|
6464436972636C6564223E0D0A09093C7061746820636C6173733D2247726565
|
||||||
|
6E2220643D224D31362C3443392E342C342C342C392E342C342C313673352E34
|
||||||
|
2C31322C31322C31327331322D352E342C31322D31325332322E362C342C3136
|
||||||
|
2C347A204D32342C3138682D367636682D34762D364838762D34683656386834
|
||||||
|
763668365631387A222F3E0D0A093C2F673E0D0A3C2F7376673E0D0A}
|
||||||
|
FileName = 'SVG Images\Icon Builder\Actions_AddCircled.svg'
|
||||||
|
Keywords = 'Icon Builder;Actions;AddCircled'
|
||||||
|
end
|
||||||
|
item
|
||||||
|
ImageClass = 'TdxSmartImage'
|
||||||
|
Image.Data = {
|
||||||
|
3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554
|
||||||
|
462D38223F3E0D0A3C7376672076657273696F6E3D22312E31222069643D224C
|
||||||
|
617965725F312220786D6C6E733D22687474703A2F2F7777772E77332E6F7267
|
||||||
|
2F323030302F7376672220786D6C6E733A786C696E6B3D22687474703A2F2F77
|
||||||
|
77772E77332E6F72672F313939392F786C696E6B2220783D223070782220793D
|
||||||
|
22307078222076696577426F783D2230203020333220333222207374796C653D
|
||||||
|
22656E61626C652D6261636B67726F756E643A6E657720302030203332203332
|
||||||
|
3B2220786D6C3A73706163653D227072657365727665223E262331333B262331
|
||||||
|
303B3C7374796C6520747970653D22746578742F6373732220786D6C3A737061
|
||||||
|
63653D227072657365727665223E2E426C75657B66696C6C3A23313137374437
|
||||||
|
3B7D262331333B262331303B2623393B2E59656C6C6F777B66696C6C3A234646
|
||||||
|
423131353B7D262331333B262331303B2623393B2E426C61636B7B66696C6C3A
|
||||||
|
233732373237323B7D262331333B262331303B2623393B2E477265656E7B6669
|
||||||
|
6C6C3A233033394332333B7D262331333B262331303B2623393B2E5265647B66
|
||||||
|
696C6C3A234431314331433B7D262331333B262331303B2623393B2E7374307B
|
||||||
|
6F7061636974793A302E37353B7D262331333B262331303B2623393B2E737431
|
||||||
|
7B6F7061636974793A302E353B7D3C2F7374796C653E0D0A3C672069643D2245
|
||||||
|
646974223E0D0A09093C7061746820636C6173733D22426C75652220643D224D
|
||||||
|
32372E362C382E326C2D332E382D332E38632D302E352D302E352D312E342D30
|
||||||
|
2E352D312E392C306C2D322E352C322E356C352E382C352E386C322E352D322E
|
||||||
|
354332382E312C392E362C32382E312C382E382C32372E362C382E327A222F3E
|
||||||
|
0D0A09093C706F6C79676F6E20636C6173733D22426C75652220706F696E7473
|
||||||
|
3D22342C323820392E382C323820342C32322E32202623393B222F3E0D0A0909
|
||||||
|
3C7265637420783D22352E382220793D2231332E3422207472616E73666F726D
|
||||||
|
3D226D617472697828302E373037202D302E3730373220302E3730373220302E
|
||||||
|
373037202D382E303732312031352E34303438292220636C6173733D22426C75
|
||||||
|
65222077696474683D2231372E3622206865696768743D22382E32222F3E0D0A
|
||||||
|
093C2F673E0D0A3C2F7376673E0D0A}
|
||||||
|
FileName = 'SVG Images\Icon Builder\Actions_Edit.svg'
|
||||||
|
Keywords = 'Icon Builder;Actions;Edit'
|
||||||
|
end
|
||||||
|
item
|
||||||
|
ImageClass = 'TdxSmartImage'
|
||||||
|
Image.Data = {
|
||||||
|
3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554
|
||||||
|
462D38223F3E0D0A3C7376672076657273696F6E3D22312E31222069643D224C
|
||||||
|
617965725F312220786D6C6E733D22687474703A2F2F7777772E77332E6F7267
|
||||||
|
2F323030302F7376672220786D6C6E733A786C696E6B3D22687474703A2F2F77
|
||||||
|
77772E77332E6F72672F313939392F786C696E6B2220783D223070782220793D
|
||||||
|
22307078222076696577426F783D2230203020333220333222207374796C653D
|
||||||
|
22656E61626C652D6261636B67726F756E643A6E657720302030203332203332
|
||||||
|
3B2220786D6C3A73706163653D227072657365727665223E262331333B262331
|
||||||
|
303B3C7374796C6520747970653D22746578742F6373732220786D6C3A737061
|
||||||
|
63653D227072657365727665223E2E426C75657B66696C6C3A23313137374437
|
||||||
|
3B7D262331333B262331303B2623393B2E59656C6C6F777B66696C6C3A234646
|
||||||
|
423131353B7D262331333B262331303B2623393B2E426C61636B7B66696C6C3A
|
||||||
|
233732373237323B7D262331333B262331303B2623393B2E477265656E7B6669
|
||||||
|
6C6C3A233033394332333B7D262331333B262331303B2623393B2E5265647B66
|
||||||
|
696C6C3A234431314331433B7D262331333B262331303B2623393B2E7374307B
|
||||||
|
6F7061636974793A302E37353B7D262331333B262331303B2623393B2E737431
|
||||||
|
7B6F7061636974793A302E353B7D3C2F7374796C653E0D0A3C672069643D2244
|
||||||
|
656C657465436972636C6564223E0D0A09093C7061746820636C6173733D2252
|
||||||
|
65642220643D224D31362C3443392E342C342C342C392E342C342C313673352E
|
||||||
|
342C31322C31322C31327331322D352E342C31322D31325332322E362C342C31
|
||||||
|
362C347A204D32332E312C32302E326C2D322E382C322E384C31362C31382E38
|
||||||
|
6C2D342E322C342E3220202623393B2623393B6C2D322E382D322E386C342E32
|
||||||
|
2D342E326C2D342E322D342E326C322E382D322E386C342E322C342E326C342E
|
||||||
|
322D342E326C322E382C322E384C31382E382C31364C32332E312C32302E327A
|
||||||
|
222F3E0D0A093C2F673E0D0A3C2F7376673E0D0A}
|
||||||
|
FileName = 'SVG Images\Icon Builder\Actions_DeleteCircled.svg'
|
||||||
|
Keywords = 'Icon Builder;Actions;DeleteCircled'
|
||||||
|
end
|
||||||
|
item
|
||||||
|
ImageClass = 'TdxSmartImage'
|
||||||
|
Image.Data = {
|
||||||
|
3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554
|
||||||
|
462D38223F3E0D0A3C7376672076657273696F6E3D22312E31222069643D224C
|
||||||
|
617965725F312220786D6C6E733D22687474703A2F2F7777772E77332E6F7267
|
||||||
|
2F323030302F7376672220786D6C6E733A786C696E6B3D22687474703A2F2F77
|
||||||
|
77772E77332E6F72672F313939392F786C696E6B2220783D223070782220793D
|
||||||
|
22307078222076696577426F783D2230203020333220333222207374796C653D
|
||||||
|
22656E61626C652D6261636B67726F756E643A6E657720302030203332203332
|
||||||
|
3B2220786D6C3A73706163653D227072657365727665223E262331333B262331
|
||||||
|
303B3C7374796C6520747970653D22746578742F637373223E2E477265656E7B
|
||||||
|
66696C6C3A233033394332333B7D3C2F7374796C653E0D0A3C7061746820636C
|
||||||
|
6173733D22477265656E2220643D224D32392C32682D35763130483856324833
|
||||||
|
43322E342C322C322C322E342C322C3376323663302C302E362C302E342C312C
|
||||||
|
312C3168323663302E362C302C312D302E342C312D3156334333302C322E342C
|
||||||
|
32392E362C322C32392C327A204D32342C32344838762D3620202623393B6831
|
||||||
|
365632347A204D31302C327638683856324831307A204D31342C38682D325634
|
||||||
|
683256387A222F3E0D0A3C2F7376673E0D0A}
|
||||||
|
FileName = 'SVG Images\XAF\Action_SaveScript.svg'
|
||||||
|
Keywords = 'XAF;Action;SaveScript'
|
||||||
|
end
|
||||||
|
item
|
||||||
|
ImageClass = 'TdxSmartImage'
|
||||||
|
Image.Data = {
|
||||||
|
3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554
|
||||||
|
462D38223F3E0D0A3C7376672076657273696F6E3D22312E31222069643D224C
|
||||||
|
617965725F312220786D6C6E733D22687474703A2F2F7777772E77332E6F7267
|
||||||
|
2F323030302F7376672220786D6C6E733A786C696E6B3D22687474703A2F2F77
|
||||||
|
77772E77332E6F72672F313939392F786C696E6B2220783D223070782220793D
|
||||||
|
22307078222076696577426F783D2230203020333220333222207374796C653D
|
||||||
|
22656E61626C652D6261636B67726F756E643A6E657720302030203332203332
|
||||||
|
3B2220786D6C3A73706163653D227072657365727665223E262331333B262331
|
||||||
|
303B3C7374796C6520747970653D22746578742F637373223E2E426C75657B66
|
||||||
|
696C6C3A233131373744373B7D3C2F7374796C653E0D0A3C7061746820636C61
|
||||||
|
73733D22426C75652220643D224D33322C323863302C302C302D382D31362D38
|
||||||
|
76364C302C31364C31362C3676364333322C31322C33322C32382C33322C3238
|
||||||
|
7A222F3E0D0A3C2F7376673E0D0A}
|
||||||
|
FileName = 'SVG Images\XAF\Action_Cancel.svg'
|
||||||
|
Keywords = 'XAF;Action;Cancel'
|
||||||
|
end>
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
unit DataUnit;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
{ Delphi }
|
||||||
|
System.SysUtils, System.Classes, Data.DB, dxmdaset, System.ImageList,
|
||||||
|
Vcl.ImgList, Vcl.Controls, cxImageList, cxGraphics,
|
||||||
|
{ Constom }
|
||||||
|
Employee.Model;
|
||||||
|
|
||||||
|
type
|
||||||
|
/// <summary>MainUnit에서 DataSet State를 사용하기 위해 인터페이스로 전달</summary>
|
||||||
|
IDataStateNotifier = interface
|
||||||
|
procedure NotifyDataSetStateChange(const AState: TDataSetState);
|
||||||
|
end;
|
||||||
|
|
||||||
|
TdmData = class(TDataModule)
|
||||||
|
mdEmployee: TdxMemData;
|
||||||
|
mdEmployeename: TStringField;
|
||||||
|
mdEmployeeage: TSmallintField;
|
||||||
|
mdEmployeeposition: TStringField;
|
||||||
|
mdEmployeesalary: TIntegerField;
|
||||||
|
mdEmployeeaddress: TStringField;
|
||||||
|
dsEmployee: TDataSource;
|
||||||
|
ilSmallIcons: TcxImageList;
|
||||||
|
procedure dsEmployeeStateChange(Sender: TObject);
|
||||||
|
procedure DataModuleCreate(Sender: TObject);
|
||||||
|
private
|
||||||
|
FNotifier: IDataStateNotifier;
|
||||||
|
public
|
||||||
|
procedure SetNotifier(ANotifier: IDataStateNotifier);
|
||||||
|
/// <summary>Employee 전체 데이타 반환</summary>
|
||||||
|
/// <returns>TArray<TEmployee> TEmployee 레코드를 배열로 반환</returns>
|
||||||
|
/// <remarks>예제함수</remarks>
|
||||||
|
function GetAllEmployee: TArray<TEmployee>;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
dmData: TdmData;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure TdmData.DataModuleCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
mdEmployee.Active:= True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TdmData.dsEmployeeStateChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
// DataSet 상태가 변할때 NotifyDataSetStateChange 메소드로 전달
|
||||||
|
if Assigned(FNotifier) then
|
||||||
|
FNotifier.NotifyDataSetStateChange(dsEmployee.DataSet.State);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TdmData.SetNotifier(ANotifier: IDataStateNotifier);
|
||||||
|
begin
|
||||||
|
FNotifier:= ANotifier;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TdmData.GetAllEmployee: TArray<TEmployee>;
|
||||||
|
begin
|
||||||
|
var Employees: TArray<TEmployee>;
|
||||||
|
var i:= 0;
|
||||||
|
|
||||||
|
SetLength(Employees, mdEmployee.RecordCount);
|
||||||
|
mdEmployee.First;
|
||||||
|
|
||||||
|
while Not mdEmployee.EOF do
|
||||||
|
begin
|
||||||
|
Employees[i].Name:= mdEmployee.FieldByName('Name').AsString;
|
||||||
|
Inc(i);
|
||||||
|
mdEmployee.Next;
|
||||||
|
end;
|
||||||
|
|
||||||
|
result:= Employees;
|
||||||
|
end;
|
||||||
|
end.
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
unit Employee.Model;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
type
|
||||||
|
TEmployee = record
|
||||||
|
Name: string;
|
||||||
|
Age: integer;
|
||||||
|
Position: string;
|
||||||
|
Salary: integer;
|
||||||
|
Address: string;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
end.
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
program Á÷¿ø°ü¸®;
|
||||||
|
|
||||||
|
uses
|
||||||
|
Vcl.Forms,
|
||||||
|
MainUnit in 'MainUnit.pas' {frmMain},
|
||||||
|
DataUnit in 'controller\DataUnit.pas' {dmData: TDataModule},
|
||||||
|
Employee.Model in 'model\Employee.Model.pas';
|
||||||
|
|
||||||
|
{$R *.res}
|
||||||
|
|
||||||
|
begin
|
||||||
|
Application.Initialize;
|
||||||
|
Application.MainFormOnTaskbar := True;
|
||||||
|
Application.CreateForm(TdmData, dmData);
|
||||||
|
Application.CreateForm(TfrmMain, frmMain);
|
||||||
|
Application.Run;
|
||||||
|
end.
|
||||||
+1123
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,21 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<BorlandProject>
|
||||||
|
<Transactions>
|
||||||
|
<Transaction>1899-12-30 00:00:00.000.450,D:\Embarcadero\projects\스터디\20241117_데이타셋\source\controller\DataUnit.dfm=D:\Embarcadero\projects\스터디\20241117_데이타셋\source\Unit1.dfm</Transaction>
|
||||||
|
<Transaction>1899-12-30 00:00:00.000.095,=D:\Embarcadero\projects\Unit1.pas</Transaction>
|
||||||
|
<Transaction>1899-12-30 00:00:00.000.172,=D:\Embarcadero\projects\Unit1.pas</Transaction>
|
||||||
|
<Transaction>1899-12-30 00:00:00.000.114,=D:\Embarcadero\projects\Unit1.pas</Transaction>
|
||||||
|
<Transaction>1899-12-30 00:00:00.000.547,=D:\Embarcadero\projects\스터디\20241117_데이타셋\source\Unit1.pas</Transaction>
|
||||||
|
<Transaction>1899-12-30 00:00:00.000.833,=D:\Embarcadero\projects\스터디\20241117_데이타셋\source\Unit1.pas</Transaction>
|
||||||
|
<Transaction>1899-12-30 00:00:00.000.842,=D:\Embarcadero\projects\WebModuleUnit1.pas</Transaction>
|
||||||
|
<Transaction>1899-12-30 00:00:00.000.905,D:\Embarcadero\projects\스터디\20241117_데이타셋\source\직원관리.dproj=D:\Embarcadero\projects\Project1.dproj</Transaction>
|
||||||
|
<Transaction>1899-12-30 00:00:00.000.724,D:\Embarcadero\projects\스터디\20241117_데이타셋\source\Employee.Model.pas=D:\Embarcadero\projects\스터디\20241117_데이타셋\source\model\Employee.Model.pas</Transaction>
|
||||||
|
<Transaction>1899-12-30 00:00:00.000.127,D:\Embarcadero\projects\스터디\20241117_데이타셋\source\MainUnit.pas=D:\Embarcadero\projects\Unit1.pas</Transaction>
|
||||||
|
<Transaction>1899-12-30 00:00:00.000.127,D:\Embarcadero\projects\스터디\20241117_데이타셋\source\MainUnit.dfm=D:\Embarcadero\projects\Unit1.dfm</Transaction>
|
||||||
|
<Transaction>1899-12-30 00:00:00.000.001,D:\Embarcadero\projects\스터디\20241117_데이타셋\source\model\Employee.Model.pas=D:\Embarcadero\projects\스터디\20241117_데이타셋\source\Unit1.pas</Transaction>
|
||||||
|
<Transaction>1899-12-30 00:00:00.000.851,=D:\Embarcadero\projects\Unit1.pas</Transaction>
|
||||||
|
<Transaction>1899-12-30 00:00:00.000.450,D:\Embarcadero\projects\스터디\20241117_데이타셋\source\controller\DataUnit.pas=D:\Embarcadero\projects\스터디\20241117_데이타셋\source\Unit1.pas</Transaction>
|
||||||
|
<Transaction>1899-12-30 00:00:00.000.106,=D:\Embarcadero\projects\FormUnit1.pas</Transaction>
|
||||||
|
<Transaction>1899-12-30 00:00:00.000.805,D:\Embarcadero\projects\스터디\20241117_데이타셋\source\Employee.Model.pas=D:\Embarcadero\projects\스터디\20241117_데이타셋\source\model\Employee.Model.pas</Transaction>
|
||||||
|
</Transactions>
|
||||||
|
</BorlandProject>
|
||||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,61 @@
|
|||||||
|
[ExpressSkins]
|
||||||
|
Default=1
|
||||||
|
ShowNotifications=0
|
||||||
|
Enabled=1
|
||||||
|
dxSkinBasic=0
|
||||||
|
dxSkinBlack=0
|
||||||
|
dxSkinBlue=0
|
||||||
|
dxSkinBlueprint=0
|
||||||
|
dxSkinCaramel=0
|
||||||
|
dxSkinCoffee=0
|
||||||
|
dxSkinDarkroom=0
|
||||||
|
dxSkinDarkSide=0
|
||||||
|
dxSkinDevExpressDarkStyle=0
|
||||||
|
dxSkinDevExpressStyle=0
|
||||||
|
dxSkinFoggy=0
|
||||||
|
dxSkinGlassOceans=0
|
||||||
|
dxSkinHighContrast=0
|
||||||
|
dxSkiniMaginary=0
|
||||||
|
dxSkinLilian=0
|
||||||
|
dxSkinLiquidSky=0
|
||||||
|
dxSkinLondonLiquidSky=0
|
||||||
|
dxSkinMcSkin=0
|
||||||
|
dxSkinMetropolis=0
|
||||||
|
dxSkinMetropolisDark=0
|
||||||
|
dxSkinMoneyTwins=0
|
||||||
|
dxSkinOffice2007Black=0
|
||||||
|
dxSkinOffice2007Blue=0
|
||||||
|
dxSkinOffice2007Green=0
|
||||||
|
dxSkinOffice2007Pink=0
|
||||||
|
dxSkinOffice2007Silver=0
|
||||||
|
dxSkinOffice2010Black=0
|
||||||
|
dxSkinOffice2010Blue=0
|
||||||
|
dxSkinOffice2010Silver=0
|
||||||
|
dxSkinOffice2013DarkGray=0
|
||||||
|
dxSkinOffice2013LightGray=0
|
||||||
|
dxSkinOffice2013White=0
|
||||||
|
dxSkinOffice2016Colorful=0
|
||||||
|
dxSkinOffice2016Dark=0
|
||||||
|
dxSkinOffice2019Black=0
|
||||||
|
dxSkinOffice2019Colorful=0
|
||||||
|
dxSkinOffice2019DarkGray=0
|
||||||
|
dxSkinOffice2019White=0
|
||||||
|
dxSkinPumpkin=0
|
||||||
|
dxSkinSeven=0
|
||||||
|
dxSkinSevenClassic=0
|
||||||
|
dxSkinSharp=0
|
||||||
|
dxSkinSharpPlus=0
|
||||||
|
dxSkinSilver=0
|
||||||
|
dxSkinSpringtime=0
|
||||||
|
dxSkinStardust=0
|
||||||
|
dxSkinSummer2008=0
|
||||||
|
dxSkinTheAsphaltWorld=0
|
||||||
|
dxSkinTheBezier=0
|
||||||
|
dxSkinValentine=0
|
||||||
|
dxSkinVisualStudio2013Blue=0
|
||||||
|
dxSkinVisualStudio2013Dark=0
|
||||||
|
dxSkinVisualStudio2013Light=0
|
||||||
|
dxSkinVS2010=0
|
||||||
|
dxSkinWhiteprint=0
|
||||||
|
dxSkinWXI=1
|
||||||
|
dxSkinXmas2008Blue=0
|
||||||
Reference in New Issue
Block a user