Files
2024-12-01 15:21:36 +09:00

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.