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

📄 base2infoware.pas

📁 进销存·完整的·有数据库的·非常完整·只得参考
💻 PAS
字号:
unit Base2InfoWare;

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, dxTL, dxDBCtrl, dxDBGrid,
  KsSkinGroupBoxs, KsSkinTabs, se_controls, KsSkinSpeedButtons;

type
  TfrmBase2InfoWare = class(TfrmEditForm)
    PageControl1: TSeSkinPageControl;
    TabSheet1: TSeCustomTabSheet;
    TabSheet2: TSeCustomTabSheet;
    Panel1: TSeSkinPanel;
    lblName: TSeSkinLabel;
    lblCode: TSeSkinLabel;
    edtUserCode: TdxDBEdit;
    edtName: TdxDBEdit;
    Label3: TSeSkinLabel;
    edtShortName: TdxDBEdit;
    Label4: TSeSkinLabel;
    edtUnit: TdxDBButtonEdit;
    dxDBMemo1: TdxDBMemo;
    Label12: TSeSkinLabel;
    Label5: TSeSkinLabel;
    Label6: TSeSkinLabel;
    Label11: TSeSkinLabel;
    dxDBEdit5: TdxDBEdit;
    dxDBEdit6: TdxDBEdit;
    dxDBEdit4: TdxDBEdit;
    Label1: TSeSkinLabel;
    btWareSort: TdxDBButtonEdit;
    dxDBCheckEdit1: TdxDBCheckEdit;
    bbAdd: TSeSkinButton;
    bbOk: TSeSkinButton;
    bbNo: TSeSkinButton;
    lblPinYin: TSeSkinLabel;
    edtPinYin: TdxDBEdit;
    Panel3: TSeSkinPanel;
    Label15: TSeSkinLabel;
    Label17: TSeSkinLabel;
    Label18: TSeSkinLabel;
    Label19: TSeSkinLabel;
    Label20: TSeSkinLabel;
    Label21: TSeSkinLabel;
    Label22: TSeSkinLabel;
    Label16: TSeSkinLabel;
    dxDBEdit14: TdxDBEdit;
    dxDBEdit16: TdxDBEdit;
    dxDBEdit17: TdxDBEdit;
    dxDBEdit18: TdxDBEdit;
    dxDBEdit19: TdxDBEdit;
    dxDBEdit20: TdxDBEdit;
    dxDBEdit21: TdxDBEdit;
    dxDBEdit15: TdxDBEdit;
    SeSkinLabel1: TSeSkinLabel;
    dxDBEdit1: TdxDBEdit;
    dsList: TDataSource;
    ADOSetList: TADODataSet;
    SeSkinGroupBox1: TSeSkinGroupBox;
    SeSkinLabel5: TSeSkinLabel;
    SeSkinLabel6: TSeSkinLabel;
    edtUnit2: TdxDBButtonEdit;
    edtScale: TdxDBEdit;
    procedure bbNoClick(Sender: TObject);
    procedure bbOkClick(Sender: TObject);
    procedure edtUnitButtonClick(Sender: TObject;
      AbsoluteIndex: Integer);
    procedure btWareSortButtonClick(Sender: TObject;
      AbsoluteIndex: Integer);
    procedure bbAddClick(Sender: TObject);
    procedure edtNameExit(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure btWareSortKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure btWareSortDblClick(Sender: TObject);
    procedure edtUnitDblClick(Sender: TObject);
    procedure edtUnit2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edtUnit2ButtonClick(Sender: TObject; AbsoluteIndex: Integer);
  private
    { Private declarations }
    bReturn: Boolean;
    lMode: Integer;
    function CheckEdit: Boolean;
    procedure MainShow;
    procedure LoadData;
  public
    { Public declarations }
  end;

function Base2InfoWareShow(l1Mode: Integer): Boolean;

implementation

uses SysPublic, Base2Info;

{$R *.DFM}

function Base2InfoWareShow(l1Mode: Integer): Boolean;
var
  frmBase2InfoWare: TfrmBase2InfoWare;
begin
  frmBase2InfoWare := TfrmBase2InfoWare.Create(Application);
  with frmBase2InfoWare do
  begin
    lMode := l1Mode;
    MainShow;
    Result := bReturn;
    Free;
  end;
end;

procedure TfrmBase2InfoWare.MainShow;
begin
  DataSet := edtName.DataSource.DataSet;
  LoadData;
  ShowModal;
end;

procedure TfrmBase2InfoWare.LoadData;
begin
  bReturn := false;
  if lMode = BASE_WARE then
    Caption := '商品详细资料';
end;

procedure TfrmBase2InfoWare.bbNoClick(Sender: TObject);
begin
  inherited;
  Close;
end;

function TfrmBase2InfoWare.CheckEdit: Boolean;
var
  sID: string;
begin
  Result := CheckEditEmpty(1, self, [lblName.Name], [edtName.Name]);
  if Result then
  begin
    sID := DataSet.FieldByName('ID').AsString;
    if (Trim(edtUserCode.Text) <> '') and (sID <> '') and not
      GetDataSetEmpty('Select ID From Ware WHERE Usercode=''' +
      Trim(edtUserCode.Text) + ''' and ID<>' + sID) then
    begin
      ShowMsg('相同编号的商品已存在,请重新输入编号!');
      Result := False;
    end;
  end;
end;

procedure TfrmBase2InfoWare.bbOkClick(Sender: TObject);
begin
  inherited;
  if not CheckEdit then Exit;
  DataSet.FieldByName('Mode').AsInteger := lMode;
  bReturn := true;
  Close;
end;

procedure TfrmBase2InfoWare.edtUnitButtonClick(Sender: TObject;
  AbsoluteIndex: Integer);
var
  sUnit: string;
begin
  inherited;
  sUnit := BaseSelect(BASE_WARE_UNIT, 1, edtUnit.text);
  if sUnit <> '' then
    DataSet.FieldByName(edtUnit.DataField).AsString := sUnit;
end;

procedure TfrmBase2InfoWare.btWareSortButtonClick(Sender: TObject;
  AbsoluteIndex: Integer);
var
  sSort1: string;
begin
  inherited;
  sSort1 := BaseSelect(BASE_WARE_SORT, 1, btWareSort.text);
  if sSort1 <> '' then
    DataSet.FieldByName(btWareSort.DataField).AsString := sSort1;
end;

procedure TfrmBase2InfoWare.bbAddClick(Sender: TObject);
begin
  inherited;
  if not CheckEdit then Exit;
  DataSet.Edit;
  DataSet.FieldByName('Mode').AsInteger := lMode;
  SaveDataSet(TADODataSet(DataSet), false);
  UpdateICCount('Ware', TADODataSet(DataSet).FieldByName('TreeParent').AsInteger);
  DataSet.Last;
  DataSet.Insert;
end;

procedure TfrmBase2InfoWare.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 TfrmBase2InfoWare.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 TfrmBase2InfoWare.btWareSortKeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  inherited;
  case KEY of
    VK_RETURN: TdxDBButtonEdit(Sender).OnButtonClick(nil, 0);
  end;
end;

procedure TfrmBase2InfoWare.btWareSortDblClick(Sender: TObject);
begin
  inherited;
  TdxDBButtonEdit(Sender).OnButtonClick(nil, 0);
end;

procedure TfrmBase2InfoWare.edtUnitDblClick(Sender: TObject);
begin
  inherited;
  TdxDBButtonEdit(Sender).OnButtonClick(nil, 0);
end;

procedure TfrmBase2InfoWare.edtUnit2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  case KEY of
    VK_RETURN: TdxDBButtonEdit(Sender).OnButtonClick(nil, 0);
  end;
end;

procedure TfrmBase2InfoWare.edtUnit2ButtonClick(Sender: TObject;
  AbsoluteIndex: Integer);
var
  sUnit: string;
begin
  inherited;
  sUnit := BaseSelect(BASE_WARE_UNIT, 1, edtUnit2.text);
  if sUnit <> '' then DataSet.FieldByName(edtUnit2.DataField).AsString := sUnit;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -