📄 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, KsSkinButtons, KsSkinForms,
KsSkinLabels, KsSkinPanels, KsSkinTabs, se_controls, KsSkinSpeedButtons;
type
TfrmBase2InfoUnit = class(TfrmEditForm)
PageControl1: TSeSkinPageControl;
TabSheet1: TSeCustomTabSheet;
TabSheet2: TSeCustomTabSheet;
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 + -