⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 base2infounit.pas

📁 进销存·完整的·有数据库的·非常完整·只得参考
💻 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 + -