📄 base2infoware.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 + -