📄 base2infosubject.pas
字号:
unit Base2InfoSubject;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
EditForm, StdCtrls, Buttons, ComCtrls, DBData, ExtCtrls, dxCntner,
dxEditor, dxEdLib, dxDBELib, dxExEdtr, Db, ADODB, KsSkinButtons, KsSkinForms,
KsSkinLabels, KsSkinPanels, KsSkinCheckBoxs, KsSkinGroupBoxs, se_controls,
KsSkinSpeedButtons;
type
TfrmBase2InfoSubject = class(TfrmEditForm)
bbOk: TSeSkinButton;
bbNo: TSeSkinButton;
bbAdd: TSeSkinButton;
Panel1: TSeSkinPanel;
lblName: TSeSkinLabel;
Label12: TSeSkinLabel;
lblPinYin: TSeSkinLabel;
edtName: TdxDBEdit;
edtPinYin: TdxDBEdit;
Label1: TSeSkinLabel;
dxDBEdit1: TdxDBEdit;
dxDBEdit2: TdxDBEdit;
Label3: TSeSkinLabel;
edtShortName: TdxDBEdit;
SeSkinGroupBox1: TSeSkinGroupBox;
srbJ: TSeSkinRadioButton;
srbD: TSeSkinRadioButton;
SeSkinGroupBox2: TSeSkinGroupBox;
edtCurrency: TdxDBButtonEdit;
srbNoCurrency: TSeSkinRadioButton;
srbAllCurrency: TSeSkinRadioButton;
srbOneCurrency: TSeSkinRadioButton;
dxDBCheckEdit1: TdxDBCheckEdit;
edtJD: TdxDBEdit;
edtWB: TdxDBEdit;
procedure bbNoClick(Sender: TObject);
procedure bbOkClick(Sender: TObject);
procedure bbAddClick(Sender: TObject);
procedure edtNameExit(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure edtCurrencyButtonClick(Sender: TObject; AbsoluteIndex: Integer);
private
{ Private declarations }
bReturn: Boolean;
lMode, lTabIndex, lRootID: Integer;
procedure MainShow;
procedure LoadData;
public
{ Public declarations }
end;
function Base2InfoSubjectShow(l1Mode, l1TabIndex, l1RootID: Integer): Boolean;
implementation
uses SysPublic, Base2Info;
{$R *.DFM}
function Base2InfoSubjectShow(l1Mode, l1TabIndex, l1RootID: Integer): Boolean;
var
frmBase2InfoSubject: TfrmBase2InfoSubject;
begin
frmBase2InfoSubject := TfrmBase2InfoSubject.Create(Application);
with frmBase2InfoSubject do
begin
lMode := l1Mode;
lTabIndex := l1TabIndex;
lRootID := l1RootID;
MainShow;
Result := bReturn;
Free;
end;
end;
procedure TfrmBase2InfoSubject.MainShow;
begin
DataSet := edtName.DataSource.DataSet;
LoadData;
ShowModal;
end;
procedure TfrmBase2InfoSubject.LoadData;
var
lWB: Integer;
begin
bReturn := false;
Caption := '会计科目信息编辑';
srbJ.Checked := True;
srbAllCurrency.Checked := True;
if edtJD.Text = srbJ.Caption then
srbJ.Checked := True
else
srbD.Checked := True;
lWB := DataSet.FieldByName(edtWB.DataField).AsInteger;
case lWB of
1: srbAllCurrency.Checked := True;
2: srbOneCurrency.Checked := True;
else
srbNoCurrency.Checked := True;
end;
end;
procedure TfrmBase2InfoSubject.bbNoClick(Sender: TObject);
begin
inherited;
Close;
end;
procedure TfrmBase2InfoSubject.bbOkClick(Sender: TObject);
var
lWB: Integer;
begin
inherited;
if not CheckEditEmpty(1, self, [lblName.Name], [edtName.Name]) then
Exit;
if srbJ.Checked = True then
DataSet.FieldByName(edtJD.DataField).AsString := srbJ.Caption
else
DataSet.FieldByName(edtJD.DataField).AsString := srbD.Caption;
if srbAllCurrency.Checked = True then
lWB := 1
else
if srbOneCurrency.Checked = True then
lWB := 2
else
lWB := 0;
DataSet.FieldByName(edtWB.DataField).AsInteger := lWB;
DataSet.FieldByName('ClassID').Value := lTabIndex;
DataSet.FieldByName('RootID').Value := lRootID;
bReturn := true;
Close;
end;
procedure TfrmBase2InfoSubject.bbAddClick(Sender: TObject);
var
lWB: Integer;
begin
inherited;
if not CheckEditEmpty(1, self, [lblName.Name], [edtName.Name]) then
Exit;
DataSet.Edit;
if srbJ.Checked = True then
DataSet.FieldByName(edtJD.DataField).AsString := srbJ.Caption
else
DataSet.FieldByName(edtJD.DataField).AsString := srbD.Caption;
if srbAllCurrency.Checked = True then
lWB := 1
else
if srbOneCurrency.Checked = True then
lWB := 2
else
lWB := 0;
DataSet.FieldByName(edtWB.DataField).AsInteger := lWB;
DataSet.FieldByName('ClassID').Value := lTabIndex;
DataSet.FieldByName('RootID').Value := lRootID;
SaveDataSet(TADODataSet(DataSet), false);
UpdateICCount('Subject', TADODataSet(DataSet).FieldByName('TreeParent').AsInteger);
DataSet.Last;
DataSet.Insert;
end;
procedure TfrmBase2InfoSubject.edtNameExit(Sender: TObject);
begin
inherited;
DataSet.FieldByName(edtPinYin.DataField).AsString := GetPY(edtName.Text);
if Trim(edtShortName.Text) = '' then
DataSet.FieldByName(edtShortName.DataField).AsString := Copy(edtName.Text, 1, 8);
end;
procedure TfrmBase2InfoSubject.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
if (bReturn = False) and (DataSet.State = dsInsert)
and (Trim(edtName.Text) <> '') then
begin
if MsgBox('你没有保存数据,确定要退出吗?',
'提示', MB_OKCANCEL) <> IDOK then
Action := caNone;
end;
end;
procedure TfrmBase2InfoSubject.edtCurrencyButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
var
sCurrency1: string;
begin
inherited;
sCurrency1 := BaseSelect(BASE_CURRENCY_STYLE, 1, edtCurrency.Text);
if sCurrency1 <> '' then DataSet.FieldByName(edtCurrency.DataField).AsString := sCurrency1;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -