📄 base2infounit.pas
字号:
unit Base2InfoUnit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
EditForm, StdCtrls, Buttons, ComCtrls, DBData, ExtCtrls, dxCntner,
dxEditor, dxEdLib, dxDBELib, dxExEdtr, Db, ADODB, KsControls, KsButtons,
KsSkinButtons, KsHooks, KsForms, KsSkinForms, KsLabels, KsSkinLabels,
KsPanels, KsSkinPanels, KsTabs, KsSkinTabs;
type
TfrmBase2InfoUnit = class(TfrmEditForm)
PageControl1: TSeSkinPageControl;
TabSheet1: TKsCustomTabSheet;
TabSheet2: TKsCustomTabSheet;
Panel1: TSeSkinPanel;
Panel2: TSeSkinPanel;
lblName: TSeSkinLabel;
lblCode: TSeSkinLabel;
dxDBEdit1: TdxDBEdit;
edtName: TdxDBEdit;
Label3: TSeSkinLabel;
edtShortName: TdxDBEdit;
Label4: TSeSkinLabel;
Label5: TSeSkinLabel;
dxDBEdit5: TdxDBEdit;
Label6: TSeSkinLabel;
dxDBEdit6: TdxDBEdit;
Label7: TSeSkinLabel;
dxDBEdit7: TdxDBEdit;
Label9: TSeSkinLabel;
dxDBEdit9: TdxDBEdit;
edtAreaName: TdxDBButtonEdit;
Label11: TSeSkinLabel;
dxDBEdit4: TdxDBEdit;
dxDBMemo1: TdxDBMemo;
Label12: TSeSkinLabel;
Label13: TSeSkinLabel;
dxDBEdit11: TdxDBEdit;
Label14: TSeSkinLabel;
dxDBEdit12: TdxDBEdit;
Label15: TSeSkinLabel;
dxDBEdit13: TdxDBEdit;
Label16: TSeSkinLabel;
dxDBEdit14: TdxDBEdit;
bbAdd: TSeSkinButton;
bbOk: TSeSkinButton;
bbNo: TSeSkinButton;
lblPinYin: TSeSkinLabel;
edtPinYin: TdxDBEdit;
SeSkinLabel1: TSeSkinLabel;
dxDBEdit2: TdxDBEdit;
Label8: TSeSkinLabel;
Label10: TSeSkinLabel;
dxDBEdit8: TdxDBEdit;
dxDBEdit10: TdxDBEdit;
lblARTotal: TSeSkinLabel;
SeSkinLabel2: TSeSkinLabel;
edtARTotal: TdxDBEdit;
procedure bbNoClick(Sender: TObject);
procedure bbOkClick(Sender: TObject);
procedure edtAreaNameButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
procedure bbAddClick(Sender: TObject);
procedure edtNameExit(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure edtAreaNameKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edtAreaNameDblClick(Sender: TObject);
private
{ Private declarations }
bReturn: Boolean;
lMode: Integer;
procedure MainShow;
procedure LoadData;
public
{ Public declarations }
end;
function Base2InfoUnitShow(l1Mode: Integer): Boolean;
implementation
uses SysPublic, Base2Info;
{$R *.DFM}
function Base2InfoUnitShow(l1Mode: Integer): Boolean;
var
frmBase2InfoUnit: TfrmBase2InfoUnit;
begin
frmBase2InfoUnit := TfrmBase2InfoUnit.Create(Application);
with frmBase2InfoUnit do
begin
lMode := l1Mode;
MainShow;
Result := bReturn;
Free;
end;
end;
procedure TfrmBase2InfoUnit.MainShow;
begin
DataSet:=edtName.DataSource.DataSet;
LoadData;
ShowModal;
end;
procedure TfrmBase2InfoUnit.LoadData;
begin
bReturn := false;
if bStartAccount and (DataSet.State = dsEdit) then
edtARTotal.Enabled := False
else edtARTotal.Enabled := True;
if lMode = BASE_CLIENT then
begin
Caption := '客户详细资料';
lblCode.Caption := '客户编号:';
lblName.Caption := '客户名称:';
lblARTotal.Caption := '期初应收:';
edtARTotal.DataField := 'Receive';
end
else if lMode = BASE_PROVIDE then
begin
Caption := '供应商详细资料';
lblCode.Caption := '供应商编号:';
lblName.Caption := '供应商名称:';
lblARTotal.Caption := '期初应付:';
edtARTotal.DataField := 'Payable';
end;
end;
procedure TfrmBase2InfoUnit.bbNoClick(Sender: TObject);
begin
inherited;
Close;
end;
procedure TfrmBase2InfoUnit.bbOkClick(Sender: TObject);
begin
inherited;
if not CheckEditEmpty(1, self, [lblName.Name], [edtName.Name]) then
Exit;
DataSet.FieldByName('Mode').AsInteger := lMode;
bReturn := true;
Close;
end;
procedure TfrmBase2InfoUnit.edtAreaNameButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
var
sSel: string;
begin
inherited;
sSel := BaseSelect(BASE_AREA, 1, edtAreaName.text);
if Trim(sSel) <> '' then DataSet.FieldByName(edtAreaName.DataField).AsString := sSel;
end;
procedure TfrmBase2InfoUnit.bbAddClick(Sender: TObject);
begin
inherited;
if not CheckEditEmpty(1, self, [lblName.Name], [edtName.Name]) then Exit;
DataSet.Edit;
DataSet.FieldByName('Mode').AsInteger := lMode;
SaveDataSet(TADODataSet(DataSet), false);
UpdateICCount('Unit', TADODataSet(DataSet).FieldByName('TreeParent').AsInteger);
DataSet.Last;
DataSet.Insert;
end;
procedure TfrmBase2InfoUnit.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 TfrmBase2InfoUnit.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 TfrmBase2InfoUnit.edtAreaNameKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
inherited;
case KEY of
VK_RETURN: TdxDBButtonEdit(Sender).OnButtonClick(nil, 0);
end;
end;
procedure TfrmBase2InfoUnit.edtAreaNameDblClick(Sender: TObject);
begin
inherited;
TdxDBButtonEdit(Sender).OnButtonClick(nil, 0);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -