73 lines
1.8 KiB
ObjectPascal
73 lines
1.8 KiB
ObjectPascal
unit EmployeeUnit;
|
|
|
|
interface
|
|
|
|
uses
|
|
System.SysUtils, System.Classes, Data.DB, dxmdaset, System.ImageList,
|
|
Vcl.ImgList, Vcl.Controls, cxImageList, cxGraphics;
|
|
|
|
type
|
|
TdmData = class(TDataModule)
|
|
mdEmployee: TdxMemData;
|
|
mdEmployeename: TStringField;
|
|
mdEmployeeage: TSmallintField;
|
|
mdEmployeesalary: TIntegerField;
|
|
mdEmployeesex: TBooleanField;
|
|
mdEmployeeaddress: TStringField;
|
|
mdEmployeeposition: TStringField;
|
|
dsEmployee: TDataSource;
|
|
liSmallIcons: TcxImageList;
|
|
mdPosition: TdxMemData;
|
|
mdPositionName: TStringField;
|
|
mdPositionid: TIntegerField;
|
|
procedure DataModuleCreate(Sender: TObject);
|
|
procedure DataModuleDestroy(Sender: TObject);
|
|
procedure dsEmployeeStateChange(Sender: TObject);
|
|
private
|
|
{ Private declarations }
|
|
public
|
|
{ Public declarations }
|
|
end;
|
|
|
|
var
|
|
dmData: TdmData;
|
|
|
|
implementation
|
|
|
|
{%CLASSGROUP 'Vcl.Controls.TControl'}
|
|
|
|
{$R *.dfm}
|
|
|
|
uses
|
|
Vcl.Dialogs,
|
|
MainUnit;
|
|
|
|
var
|
|
Path: string;
|
|
|
|
procedure TdmData.DataModuleCreate(Sender: TObject);
|
|
begin
|
|
Path:= GetCurrentDir + '\data.db';
|
|
// 'D:\Embarcadero\projects\스터디\2024.12.01.dataset_demo\bin\Win32\Debug\data.db'
|
|
if FileExists(Path) then
|
|
mdEmployee.LoadFromBinaryFile(Path);
|
|
end;
|
|
|
|
procedure TdmData.DataModuleDestroy(Sender: TObject);
|
|
begin
|
|
mdEmployee.SaveToBinaryFile(Path);
|
|
end;
|
|
|
|
procedure TdmData.dsEmployeeStateChange(Sender: TObject);
|
|
{ dsInactive, dsBrowse, dsEdit, dsInsert, dsSetKey,
|
|
dsCalcFields, dsFilter, dsNewValue, dsOldValue, dsCurValue, dsBlockRead,
|
|
dsInternalCalc, dsOpening }
|
|
begin
|
|
// ShowMessage('데아타셋 상태값이 변경이 되었습니다');
|
|
frmMain.acSave.Enabled:= dsEmployee.State in [dsInsert, dsEdit];
|
|
// if (dsEmployee.State = dsInsert) or (dsEmployee.State = dsEdit) then
|
|
// frmMain.acSave.Enabled:= True
|
|
end;
|
|
|
|
end.
|