📄 frm_customeredit.pas
字号:
unit Frm_CustomerEdit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Frm_Cargo, XPMenu, StdCtrls, CoolCtrls, CoolCtrlsEx, ComCtrls,
Buttons, EnterAsTab, DB, ADODB, Menus;
type
TFrmCustomerEdit = class(TFrmCargo)
EnterAsTab1: TEnterAsTab;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
BtnCheck: TSpeedButton;
Label9: TLabel;
Label13: TLabel;
Label14: TLabel;
Label21: TLabel;
Label23: TLabel;
Label10: TLabel;
Label4: TLabel;
Label6: TLabel;
BtnCusBillName: TCoolPopupButton;
EdtCusCode: TEdit;
EdtCusCName: TEdit;
EdtCusName: TEdit;
EdtCusFax: TEdit;
EdtCusRelation: TEdit;
EdtCusEmail: TEdit;
EdtCusTele: TEdit;
MemCusYAddress: TMemo;
CmbCountryCode: TComboBox;
CoolScrollCustomer: TCoolScrollBox;
CmbCusType: TComboBox;
EdtCusCAddress: TEdit;
CoolGroupBox1: TCoolGroupBox;
ChkShipper: TCoolCheckRadioBox;
ChkConsignee: TCoolCheckRadioBox;
ChkAgent: TCoolCheckRadioBox;
ChkCoLoad: TCoolCheckRadioBox;
CoolPageControl1: TCoolPageControl;
TabCountryIn: TCoolTabSheet;
TabCountryOut: TCoolTabSheet;
TabAgent: TCoolTabSheet;
lblagent: TLabel;
CmbAgentType: TComboBox;
Label28: TLabel;
CmbAgentComm: TComboBox;
Label29: TLabel;
MemAgentTerms: TMemo;
Label27: TLabel;
CmbAgentAC: TComboBox;
Label5: TLabel;
CmbAgentCity: TComboBox;
Label25: TLabel;
Label26: TLabel;
MemForeignRequest: TMemo;
Label12: TLabel;
CmbCusTradeType: TComboBox;
Label11: TLabel;
CmbProviceCode: TComboBox;
Label7: TLabel;
EdtCusPost: TEdit;
Label24: TLabel;
EdtBank: TEdit;
Label15: TLabel;
EdtCusRmbAccount: TEdit;
Label16: TLabel;
EdtCusDollarACcount: TEdit;
BtnAdd: TButton;
BtnSave: TButton;
BtnClose: TButton;
QryTemp: TADOQuery;
CmbForeignSource: TComboBox;
PopupMenu1: TPopupMenu;
NAdd: TMenuItem;
NDel: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure CmbCountryCodeExit(Sender: TObject);
procedure CmbProviceCodeExit(Sender: TObject);
procedure BtnCheckClick(Sender: TObject);
procedure BtnAddClick(Sender: TObject);
procedure BtnSaveClick(Sender: TObject);
procedure BtnCloseClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure NAddClick(Sender: TObject);
procedure NDelClick(Sender: TObject);
private
CoolEditBtnNum: Integer;
CusTypeDesc: string;
{ Private declarations }
public
CusCode: string;
IsEdit: Boolean;
MemCusBillName: array of TMemo;
CusBillID: array of string;
MemCount: Integer;
procedure MemDblClick(Sender: TObject);
{ Public declarations }
end;
var
FrmCustomerEdit: TFrmCustomerEdit;
implementation
uses Frm_Main, Frm_CusBillNameWordEdit, Frm_CustomerInfo;
{$R *.dfm}
procedure TFrmCustomerEdit.MemDblClick(Sender: TObject);
begin
FrmCusBillNameWordEdit := TFrmCusBillNameWordEdit.Create(Self);
FrmCusBillNameWordEdit.CusBillName := (Sender as TMemo).Lines.text;
FrmCusBillNameWordEdit.ShowModal;
if FrmCusBillNameWordEdit.ModalResult = MrOk then
begin
(Sender as TMemo).Lines.text := FrmCusBillNameWordEdit.CusBillName;
end;
end;
procedure TFrmCustomerEdit.FormCreate(Sender: TObject);
var
SqlStr: string;
begin
inherited;
SqlStr := 'Select Code,CName From CountryInfo ';
FrmMain.Full_FilterCombobox(CmbCountryCode, SqlStr, 'Code', 'CName');
SqlStr := 'Select Code,CName From ProviceInfo ';
FrmMain.Full_FilterCombobox(CmbProviceCode, SqlStr, 'Code', 'CName');
SqlStr := 'Select Distinct AgentType From CustomerInfo ';
FrmMain.Full_FilterCombobox(CmbAgentType, SqlStr, 'AgentType');
SqlStr := 'Select Distinct AgentCity From CustomerInfo ';
FrmMain.Full_FilterCombobox(CmbAgentCity, SqlStr, 'AgentCity');
SqlStr := 'Select Distinct AgentComm From CustomerInfo ';
FrmMain.Full_FilterCombobox(CmbAgentComm, SqlStr, 'AgentComm');
SqlStr := 'Select Distinct AgentAC From CustomerInfo ';
FrmMain.Full_FilterCombobox(CmbAgentAC, SqlStr, 'AgentAC');
SqlStr := 'Select Distinct CusTradeType From CustomerInfo ';
FrmMain.Full_FilterCombobox(CmbCusTradeType, SqlStr, 'CusTradeType');
SqlStr := 'Select CusCName From CustomerInfo Where CusType=''代理''';
FrmMain.Full_FilterCombobox(CmbForeignSource, SqlStr, 'CusCName');
end;
procedure TFrmCustomerEdit.FormActivate(Sender: TObject);
var
I: Integer;
begin
inherited;
if IsEdit then
else
Exit;
QryTemp.Close;
QryTemp.Sql.text := 'Select * from Customerinfo where cuscode=''' + Cuscode +
'''';
QryTemp.open;
EdtCuscode.Text := QryTemp.fieldbyname('Cuscode').asstring;
CmbCusType.ItemIndex :=
cmbCusType.Items.IndexOf(QryTemp.Fieldbyname('CusType').asstring);
EdtCusCName.Text := QryTemp.fieldbyname('CusCName').asstring;
EdtCusName.Text := QryTemp.fieldbyname('CusName').asstring;
MemCusYAddress.Lines.Text := QryTemp.fieldbyname('CusAddress').asstring;
EdtCusCAddress.Text := QryTemp.fieldbyname('CusCAddress').asstring;
EdtCusTele.Text := QryTemp.fieldbyname('CusTele').asstring;
EdtCusFax.Text := QryTemp.fieldbyname('CusFax').asstring;
CmbCountryCode.Text :=
FrmMain.setcomboboxtext(QryTemp.fieldbyname('CountryCode').asstring,
CmbCountryCode);
EdtCusEMail.Text := QryTemp.fieldbyname('CusEMail').asstring;
EdtCusRelation.Text := QryTemp.fieldbyname('CusRelation').asstring;
CusTypeDesc := QryTemp.fieldbyname('CusTypeDesc').asstring;
if CmbCusType.text = '国内客户' then
begin
CmbCusTradeType.Text := QryTemp.fieldbyname('CusTradeType').asstring;
CmbProviceCode.Text :=
FrmMain.setcomboboxtext(QryTemp.fieldbyname('ProviceCode').asstring,
CmbProviceCode);
EdtCusPost.Text := QryTemp.fieldbyname('CusPost').asstring;
EdtBank.Text := QryTemp.fieldbyname('Bank').asstring;
EdtCusRmbACcount.Text := QryTemp.fieldbyname('CusRmbaCcount').asstring;
EdtCusDollarACcount.Text :=
QryTemp.fieldbyname('CusDollarACcount').asstring;
TabCountryOut.TabVisible := false;
TabAgent.TabVisible := False;
TabCountryIn.TabVisible := True;
end;
if CmbCusType.text = '国外客户' then
begin
CmbForeignSource.Text := QryTemp.fieldbyname('ForeignSource').asstring;
MemForeignRequest.Lines.Text :=
QryTemp.fieldbyname('ForeignRequest').asstring;
TabCountryOut.TabVisible := True;
TabAgent.TabVisible := False;
TabCountryIn.TabVisible := False;
end;
if CmbCusType.text = '代理' then
begin
CmbAgentType.Text := QryTemp.fieldbyname('AgentType').asstring;
CmbAgentCity.Text := QryTemp.fieldbyname('AgentCity').asstring;
CmbAgentComm.Text := QryTemp.fieldbyname('AgentComm').asstring;
CmbAgentAc.Text := QryTemp.fieldbyname('AgentAc').asstring;
MemAgentTerms.lines.Text := QryTemp.fieldbyname('AgentTerms').asstring;
TabCountryOut.TabVisible := False;
TabAgent.TabVisible := True;
TabCountryIn.TabVisible := False;
end;
if Pos('发货人', CusTypeDesc) > 0 then
ChkShipper.Checked := True;
if Pos('收货人', CusTypeDesc) > 0 then
ChkConsignee.Checked := True;
if Pos('目的港代理', CusTypeDesc) > 0 then
ChkAgent.Checked := True;
if Pos('CoLoad公司', CusTypeDesc) > 0 then
ChkCoLoad.Checked := True;
QryTemp.Close;
QryTemp.SQL.Text := 'Select * from CustomerBillName Where CusCode=''' + CusCode
+ '''';
QryTemp.Open;
MemCount := FrmMain.RecordCount(QryTemp);
SetLength(MemCusBillName, MemCount);
SetLength(CusBillID, MemCount);
I := 0;
while not QryTemp.Eof do
begin
MemCusBillName[I] := TMemo.Create(Self);
MemCusBillName[I].Parent := CoolScrollCustomer;
MemCusBillName[I].ScrollBars := ssVertical;
MemCusBillName[I].Align := alTop;
MemCusBillName[I].Height := 50;
MemCusBillName[I].Lines.Text := QryTemp.fieldbyname('CusBillName').AsString;
MemCusBillName[I].Tag := I;
MemCusBillName[I].OnDblClick := MemDblClick;
CusBillID[I] := Inttostr(QryTemp.fieldbyname('ID').AsInteger);
I := I + 1;
QryTemp.Next;
end;
end;
procedure TFrmCustomerEdit.CmbCountryCodeExit(Sender: TObject);
begin
inherited;
CmbCountryCode.Text := FrmMain.CheckComboBox(CmbCountryCode);
end;
procedure TFrmCustomerEdit.CmbProviceCodeExit(Sender: TObject);
begin
inherited;
CmbProviceCode.Text := FrmMain.CheckComboBox(CmbProviceCode);
end;
procedure TFrmCustomerEdit.BtnCheckClick(Sender: TObject);
begin
inherited;
if IsEdit then
begin
if CusCode = EdtCusCode.text then
else
if FrmMain.CheckExistCount('CusCode', EdtCusCode.Text, 'CustomerInfo') >= 1
then
begin
ShowMessage('对不起,客户代码重复,请检查重新录入!');
EdtCusCode.SetFocus;
Exit;
end;
end
else
begin
if FrmMain.CheckExistCount('CusCode', EdtCusCode.Text, 'CustomerInfo') >= 1
then
begin
ShowMessage('对不起,客户代码重复,请检查重新录入!');
EdtCusCode.SetFocus;
Exit;
end;
end;
ShowMessage('检查完毕,没有问题!!');
end;
procedure TFrmCustomerEdit.BtnAddClick(Sender: TObject);
var
I: Integer;
begin
inherited;
EdtCuscode.Text := '';
CmbCusType.ItemIndex := 0;
TabCountryOut.TabVisible := false;
TabAgent.TabVisible := False;
TabCountryIn.TabVisible := True;
EdtCusCName.Text := '';
EdtCusName.Text := '';
MemCusYAddress.Lines.Text := '';
EdtCusCAddress.Text := '';
EdtCusTele.Text := '';
EdtCusFax.Text := '';
CmbCountryCode.Text := '';
EdtCusEMail.Text := '';
EdtCusRelation.Text := '';
CmbCusTradeType.Text := '';
CmbProviceCode.Text := '';
EdtCusPost.Text := '';
EdtBank.Text := '';
EdtCusRmbACcount.Text := '';
EdtCusDollarACcount.Text := '';
TabCountryOut.Visible := false;
TabAgent.Visible := False;
TabCountryIn.Visible := True;
CmbForeignSource.Text := '';
MemForeignRequest.Lines.Text := '';
CmbAgentType.Text := '';
CmbAgentCity.Text := '';
CmbAgentComm.Text := '';
CmbAgentAc.Text := '';
MemAgentTerms.lines.Text := '';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -