📄 ord110_02.pas.svn-base
字号:
unit Ord110_02;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Bas100_01, ExtCtrls, StdCtrls, Buttons, dxdbtrel, Menus, DB,
ADODB, Mask, DBCtrls;
type
TOrd110_02Form = class(TBas100_01Form)
lblClass: TLabel;
lblParent: TLabel;
bbtnOk: TBitBtn;
bbtnExit: TBitBtn;
Bevel1: TBevel;
qryOrd110: TADOQuery;
dsOrd110: TDataSource;
edtClass: TEdit;
cbParent: TdxLookupTreeView;
ADOQuery1: TADOQuery;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure bbtnOkClick(Sender: TObject);
procedure bbtnExitClick(Sender: TObject);
procedure cbParentKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
AMode,AOldClass:string;
procedure SetInterface;
{ Private declarations }
public
procedure OpenData(ANo:Integer);
{ Public declarations }
end;
var
Ord110_02Form: TOrd110_02Form;
implementation
uses SYSDATA, CommFun;
{$R *.dfm}
procedure TOrd110_02Form.SetInterface;
begin
Caption:=GetDBString('ORD11002001'); //客户类别维护
lblClass.Caption:=GetDBString('ORD11002002'); //类别名称
lblParent.Caption:=GetDBString('ORD11002003'); //上级类别
bbtnOk.Caption:=GetDBString('ORD11002004'); //确定(&O)
bbtnExit.Caption:=GetDBString('ORD11002005'); //退出(&X)
cbParent.TreeViewPopupMenu:=nil;
end;
procedure TOrd110_02Form.OpenData(ANo:Integer);
var
AParent:Integer;
begin
if ANo=0 then
begin
AMode:='ADD';
edtClass.Text:='';
cbParent.Text:='';
if Visible then edtClass.SetFocus;
AOldClass:='';
Exit;
end;
AMode:='UPD';
ADOQuery1.Locate('O110_001',ANo,[]);
edtClass.Text:=ADOQuery1.FieldByName('O110_002').Value;
AParent:=ADOQuery1.FieldByName('O110_003').Value;
AOldClass:=edtClass.Text;
qryOrd110.Close;
qryOrd110.SQL.Clear;
qryOrd110.SQL.Add('select * from ORD110');
qryOrd110.Open;
qryOrd110.Locate('O110_001',AParent,[]);
if Visible then edtClass.SetFocus;
end;
procedure TOrd110_02Form.FormCreate(Sender: TObject);
begin
inherited;
SetInterface;
ADOQuery1.Open;
end;
procedure TOrd110_02Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
ADOQuery1.Close;
qryOrd110.Close;
end;
procedure TOrd110_02Form.bbtnOkClick(Sender: TObject);
begin
inherited;
//确定(&O)
if trim(edtClass.Text)='' then
begin
ShowMsg('UMS10000178'); //类别名称不能为空
edtClass.SetFocus;
Abort;
end;
if AOldClass<>edtClass.Text then
begin
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select 1 from ORD110 where O110_002='+''''+edtClass.Text+'''');
SYSDM.qryQuery.Open;
if not SYSDM.qryQuery.IsEmpty then
begin
ShowMsg('UMS10000341'); //类别名称已存在,請重新輸入
edtClass.SetFocus;
Abort;
end;
end;
if AMode='ADD' then ADOQuery1.Append else ADOQuery1.Edit;
ADOQuery1.FieldByName('O110_002').Value:=edtClass.Text;
ADOQuery1.FieldByName('O110_003').Value:=0;
ADOQuery1.FieldByName('O110_004').Value:=True;
if cbParent.Text<>'' then
begin
ADOQuery1.FieldByName('O110_003').Value:=qryOrd110.FieldByName('O110_001').Value;
qryOrd110.Edit;
qryOrd110.FieldByName('O110_004').Value:=False;
qryOrd110.Post;
end;
try
ADOQuery1.Post;
except
ShowMsg(SYSDM.ADOC.Errors[0].Description,1);
Abort;
end;
qryOrd110.Close;
qryOrd110.Open;
if AMode='ADD' then OpenData(0) else ModalResult:=1;
end;
procedure TOrd110_02Form.bbtnExitClick(Sender: TObject);
begin
inherited;
//退出(&X)
Close;
end;
procedure TOrd110_02Form.cbParentKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if (Key=vk_delete) or (key=vk_back) then cbParent.Text:='';
end;
initialization
RegisterClass(TOrd110_02Form);
finalization
UnRegisterClass(TOrd110_02Form);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -