📄 custedfrm.pas
字号:
unit CustEdFrm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, RzCmboBx, Mask, RzEdit, ComCtrls, RzBtnEdt,Variants,
ExtCtrls, RzPanel, Buttons, RzBorder, RzDTP, DB, DBClient, MConnect,
RzDBDTP, RzDBBnEd, RzDBCmbo, DBCtrls, RzDBEdit, RzButton, RzRadChk,
RzDBChk,iMainFrm, ceGlobal;
type
TFmCustEd = class(TForm)
RzPanel1: TRzPanel;
Label1: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label8: TLabel;
Label9: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
Label24: TLabel;
Label10: TLabel;
Label13: TLabel;
Label16: TLabel;
Label11: TLabel;
Label14: TLabel;
Label23: TLabel;
Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
Label28: TLabel;
Label29: TLabel;
Label30: TLabel;
Label2: TLabel;
Label31: TLabel;
RzBorder1: TRzBorder;
edCustNo: TRzDBEdit;
edAddress: TRzDBEdit;
edName: TRzDBEdit;
edPostCode: TRzDBEdit;
edAccountBank: TRzDBEdit;
edTaxNo: TRzDBEdit;
edPermitNo: TRzDBEdit;
edRemark: TRzDBEdit;
edAccountNo: TRzDBEdit;
edCompetency: TRzDBEdit;
edLinkMan: TRzDBEdit;
edMobile: TRzDBEdit;
edCorpName: TRzDBEdit;
edFax: TRzDBEdit;
edLinkTel: TRzDBEdit;
edCorpDuty: TRzDBEdit;
edWorkingBound: TRzDBEdit;
edWorkingMode: TRzDBEdit;
edQualityPar: TRzDBEdit;
edOwnerKind: TRzDBEdit;
edSubjectDept: TRzDBEdit;
edTrade: TRzDBComboBox;
edArea: TRzDBEdit;
edRelation: TRzDBComboBox;
edCredit: TRzDBNumericEdit;
edPriceModulus: TRzDBNumericEdit;
CkPause: TRzDBCheckBox;
DlgBtnOk: TRzBitBtn;
DlgBtnCancel: TRzBitBtn;
edPriceMode: TRzComboBox;
Label7: TLabel;
RzDBEdit1: TRzDBEdit;
dsCustEd: TDataSource;
Label12: TLabel;
edEmpNo: TRzDBButtonEdit;
Label15: TLabel;
edPyCode: TRzDBButtonEdit;
Label17: TLabel;
edPayMode: TRzDBButtonEdit;
Label32: TLabel;
RzDBNumericEdit1: TRzDBNumericEdit;
procedure DlgBtnOkClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DlgBtnCancelClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure edEmpNoButtonClick(Sender: TObject);
procedure edPayModeButtonClick(Sender: TObject);
procedure edEmpNoKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edPyCodeButtonClick(Sender: TObject);
procedure edPyCodeEnter(Sender: TObject);
procedure edNameChange(Sender: TObject);
private
{ Private declarations }
AbleClose : Boolean;
iClientID:Integer;
iFmMain:IMainForm;
public
{ Public declarations }
IsMode:Integer; //1表示插入,0表示修改
svrCustEd:TDispatchConnection;
iModeNo:Integer;
end;
var
FmCustEd: TFmCustEd;
lModeNo:TStrings;
implementation
uses CustomerFrm, SelectEmpFrm, SelectPayMode;
{$R *.DFM}
procedure TFmCustEd.DlgBtnOkClick(Sender: TObject);
begin
if (edCustNo.Text='')or(edName.Text='')then begin
Application.MessageBox('必须输入客户编号及名称!', '厂商资料', MB_OK+MB_ICONWARNING);
Exit;
end;
with TClientDataSet(dsCustEd.DataSet) do
begin
if edPriceMode.ItemIndex=0 then
FieldByName('PriceMode').Clear
else
FieldByName('PriceMode').AsInteger := StrToInt(lModeNo[edPriceMode.ItemIndex-1]);
If ApplyUpdates(0)>0 Then begin
Application.MessageBox('数据提交失败!', '消息', MB_ICONINFORMATION);
SetForegroundWindow(Handle);
Exit;
end;
end;
AbleClose := True;
ModalResult := MrOK;
end;
procedure TFmCustEd.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=Cafree;
end;
procedure TFmCustEd.DlgBtnCancelClick(Sender: TObject);
begin
AbleClose := True;
Close;
end;
procedure TFmCustEd.FormCreate(Sender: TObject);
begin
AbleClose := False;
iFmMain:=Application.MainForm As IMainForm;
iClientID:=IFmMain.IFmMainEx.ClientID;
Color := FormBackColor;
end;
procedure TFmCustEd.FormShow(Sender: TObject);
Var
Str:String;
A:Variant;
K,i:Integer;
begin
//显示价格方案
lModeNo:=TStringList.Create;
Str:='Select ModeNO,ModeName From PriceModes Where DataUsable=1 ';
A:=SvrCustEd.AppServer.GetNeedValue(iClientID,2,Str);
If (Not VarIsNull(A)) And (VarIsArray(A)) Then
Begin
edPriceMode.Items.Clear;
lModeNO.Clear;
k := VarArrayHighBound(A,2);
for i:=VarArrayLowBound(A,2) to k do
begin
edPriceMOde.Items.Add(A[1,i]);
lModeNo.Add(A[0,i]);
edPriceMode.ITems[i] :='['+lModeNo[i]+']'+edPriceMode.Items[i];
end;
edPriceMode.Items.Insert(0, '<无>');
edPriceMode.ItemIndex := lModeNo.IndexOf(Inttostr(iModeNo))+1;
End;
iModeNo:=dsCustEd.DataSet.FieldByName('PriceMode').AsInteger;
end;
procedure TFmCustEd.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := AbleClose;
end;
procedure TFmCustEd.edEmpNoButtonClick(Sender: TObject);
var EmpNo: string;
begin
if (not dsCustEd.DataSet.Active)or(not(dsCustEd.DataSet.State in dsEditModes)) then exit;
if SelectEmp(EmpNo) then
edEmpNo.Field.AsString := EmpNo;
end;
procedure TFmCustEd.edPayModeButtonClick(Sender: TObject);
var PayID,PayName: string;
begin
if (not dsCustEd.DataSet.Active)or(not(dsCustEd.DataSet.State in dsEditModes)) then exit;
if SelectPay(PayID,PayName) then
edPayMode.Field.AsString := PayID;
end;
procedure TFmCustEd.edEmpNoKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=13)and(ssCtrl in Shift) then
if Assigned(TRzDBButtonEdit(Sender).OnButtonClick) then
TRzDBButtonEdit(Sender).OnButtonClick(Sender);
end;
procedure TFmCustEd.edPyCodeButtonClick(Sender: TObject);
var s: string;
begin
//如果不经过中间变量s的转换,调用DLL时偶然出错
s := edName.Text;
s := BuildSpellHeadOfHZ(s);
edPyCode.Text := s;
end;
procedure TFmCustEd.edPyCodeEnter(Sender: TObject);
begin
edPyCodeButtonClick(nil);
end;
procedure TFmCustEd.edNameChange(Sender: TObject);
var s: string;
begin
//如果不经过中间变量s的转换,调用DLL时偶然出错
s := edName.Text;
s := BuildSpellHeadOfHZ(s);
edPyCode.Text := s;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -