DataSet State 변경 및 파일저장

This commit is contained in:
pagewiz@naver.com
2024-12-01 15:21:36 +09:00
parent 5282430fd9
commit a3d7709e12
8 changed files with 878 additions and 57 deletions
+41 -2
View File
@@ -1,9 +1,10 @@
unit EmployeeUnit;
unit EmployeeUnit;
interface
uses
System.SysUtils, System.Classes, Data.DB, dxmdaset;
System.SysUtils, System.Classes, Data.DB, dxmdaset, System.ImageList,
Vcl.ImgList, Vcl.Controls, cxImageList, cxGraphics;
type
TdmData = class(TDataModule)
@@ -15,6 +16,13 @@ type
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
@@ -30,4 +38,35 @@ implementation
{$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.