📄 dbrw.pas
字号:
unit DBRW;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs,Db, DBTables, FieldDef, ConstDef;
type
TFrmDBRW = class(TForm)
tabEMKind: TTable;
tabEPKind: TTable;
procedure tabEMKindBeforeOpen(DataSet: TDataSet);
procedure tabEMKindAfterClose(DataSet: TDataSet);
procedure tabEPKindBeforeOpen(DataSet: TDataSet);
procedure tabEPKindAfterClose(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
Function btFunGetEMeterKind(var RecEKind: RecEMeterKindType):Byte;
Function btFunSetEMeterKind(RecEKind: RecEMeterKindType):Byte;
Function btFunClearEMeterKind(RecEKind: RecEMeterKindType):Byte;
Function btFunGetEPriceKind(var RecEKind: RecEPriceKindType):Byte;
Function btFunSetEPriceKind(RecEKind: RecEPriceKindType):Byte;
Function btFunClearEPriceKind(RecEKind: RecEPriceKindType):Byte;
implementation
{$R *.DFM}
Function btFunGetEMeterKind(var RecEKind: RecEMeterKindType):Byte;
var
FrmDBRW: TFrmDBRW;
begin
FrmDBRW:=TFrmDBRW.Create(nil);
with FrmDBRW do begin
try
tabEMKind.DatabaseName:=RecEKind.sAilas;
tabEMKind.Open;
with tabEMKind do begin
SetKey;
FieldByName(FLDiEKind).AsInteger:=RecEKind.iEKind;
if GotoKey then begin//查找指定记录
RecEKind.iEConst:=FieldByName(FLDiEConst).AsInteger;
RecEKind.sEMemDT:=FieldByName(FLDSEMemDT).AsString;
RecEKind.sEMark:=FieldByName(FLDSEMark).AsString;
Result := Byte(CntSuccess);
end
else Result := Byte(CntNone);
end;
tabEMKind.close;
except
Result := Byte(CntFail);
end;
end;
FrmDBRW.Close;
end;
Function btFunSetEMeterKind(RecEKind: RecEMeterKindType):Byte;
var
FrmDBRW: TFrmDBRW;
begin
FrmDBRW:=TFrmDBRW.Create(nil);
with FrmDBRW do begin
try
tabEMKind.DatabaseName:=RecEKind.sAilas;
tabEMKind.Open;
with tabEMKind do begin
SetKey;
FieldByName(FLDiEKind).AsInteger:=RecEKind.iEKind;
if Not GotoKey then begin//查找指定记录
Append;
FieldByName(FLDiEKind).AsInteger:=RecEKind.iEKind;
end;
Edit;
FieldByName(FLDiEConst).AsInteger:=RecEKind.iEConst;
FieldByName(FLDSEMemDT).AsString:=RecEKind.sEMemDT;
FieldByName(FLDSEMark).AsString:=RecEKind.sEMark;
Post;
Result := Byte(CntSuccess);
end;
tabEMKind.close;
except
Result := Byte(CntFail);
end;
end;
FrmDBRW.Close;
end;
Function btFunClearEMeterKind(RecEKind: RecEMeterKindType):Byte;
var
FrmDBRW: TFrmDBRW;
begin
FrmDBRW:=TFrmDBRW.Create(nil);
with FrmDBRW do begin
try
tabEMKind.DatabaseName:=RecEKind.sAilas;
tabEMKind.Open;
with tabEMKind do begin
while Not tabEMKind.Eof do begin
tabEMKind.Delete; //删除旧数据
tabEMKind.First;
end;
Result := Byte(CntSuccess);
end;
tabEMKind.close;
except
Result := Byte(CntFail);
end;
end;
FrmDBRW.Close;
end;
Function btFunGetEPriceKind(var RecEKind: RecEPriceKindType):Byte;
var
FrmDBRW: TFrmDBRW;
begin
FrmDBRW:=TFrmDBRW.Create(nil);
with FrmDBRW do begin
try
tabEPKind.DatabaseName:=RecEKind.sAilas;
tabEPKind.Open;
with tabEPKind do begin
SetKey;
FieldByName(FLDiEPriceKind).AsInteger:=RecEKind.iEPriceKind;
if GotoKey then begin//查找指定记录
RecEKind.sEPriceName:=FieldByName(FLDsEPriceName).AsString;
RecEKind.fEPrice:=FieldByName(FLDfEPrice).AsFloat;
RecEKind.sEPriceMark:=FieldByName(FLDSEPriceMark).AsString;
Result := Byte(CntSuccess);
end
else Result := Byte(CntNone);
end;
tabEPKind.close;
except
Result := Byte(CntFail);
end;
end;
FrmDBRW.Close;
end;
Function btFunSetEPriceKind(RecEKind: RecEPriceKindType):Byte;
var
FrmDBRW: TFrmDBRW;
begin
FrmDBRW:=TFrmDBRW.Create(nil);
with FrmDBRW do begin
try
tabEPKind.DatabaseName:=RecEKind.sAilas;
tabEPKind.Open;
with tabEPKind do begin
SetKey;
FieldByName(FLDiEPriceKind).AsInteger:=RecEKind.iEPriceKind;
if Not GotoKey then begin//查找指定记录
Append;
FieldByName(FLDiEPriceKind).AsInteger:=RecEKind.iEPriceKind;
end;
Edit;
FieldByName(FLDSEPriceName).AsString:=RecEKind.sEPriceName;
FieldByName(FLDfEPrice).AsFloat:=RecEKind.fEPrice;
FieldByName(FLDSEPriceMark).AsString:=RecEKind.sEPriceMark;
Post;
Result := Byte(CntSuccess);
end;
tabEPKind.close;
except
Result := Byte(CntFail);
end;
end;
FrmDBRW.Close;
end;
Function btFunClearEPriceKind(RecEKind: RecEPriceKindType):Byte;
var
FrmDBRW: TFrmDBRW;
begin
FrmDBRW:=TFrmDBRW.Create(nil);
with FrmDBRW do begin
try
tabEPKind.DatabaseName:=RecEKind.sAilas;
tabEPKind.Open;
with tabEPKind do begin
while Not tabEPKind.Eof do begin
tabEPKind.Delete; //删除旧数据
tabEPKind.First;
end;
Result := Byte(CntSuccess);
end;
tabEPKind.close;
except
Result := Byte(CntFail);
end;
end;
FrmDBRW.Close;
end;
procedure TFrmDBRW.tabEMKindBeforeOpen(DataSet: TDataSet);
begin
Session.AddPassword(Psw_EMKind);
end;
procedure TFrmDBRW.tabEMKindAfterClose(DataSet: TDataSet);
begin
Session.RemovePassword(Psw_EMKind);
end;
procedure TFrmDBRW.tabEPKindBeforeOpen(DataSet: TDataSet);
begin
Session.AddPassword(Psw_EPKind);
end;
procedure TFrmDBRW.tabEPKindAfterClose(DataSet: TDataSet);
begin
Session.RemovePassword(Psw_EPKind);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -