📄 khzlbj.pas
字号:
unit khzlbj;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, Shellapi, StdCtrls, Db, DBTables, jpeg, ExtCtrls, Grids, DBGrids, Buttons,
DBCtrls;
type
Tfrmkhzlbj = class(TForm)
Panel1: TPanel;
KhzlDBNavigator: TDBNavigator;
BitBtnsave: TBitBtn;
Button1: TButton;
BitBtnexit: TBitBtn;
Label1: TLabel;
KhzlTable: TTable;
Label2: TLabel;
KhbhEdit: TEdit;
DqEdit: TEdit;
Button2: TButton;
Label3: TLabel;
KhmcEdit: TEdit;
Label4: TLabel;
ZjmEdit: TEdit;
Label5: TLabel;
KhlxTable: TTable;
dhEdit: TLabeledEdit;
KhlxComboBox: TComboBox;
KhlxEdit: TEdit;
lxrEdit: TLabeledEdit;
shedit: TLabeledEdit;
zhEdit: TLabeledEdit;
emailEdit: TLabeledEdit;
yzbmEdit: TLabeledEdit;
dzEdit: TLabeledEdit;
Label6: TLabel;
bzMemo: TMemo;
Label7: TLabel;
xysjdtp1: TDateTimePicker;
Label8: TLabel;
xysjdtp2: TDateTimePicker;
DataSource2: TDataSource;
DataSource1: TDataSource;
Panel2: TPanel;
DBGrid1: TDBGrid;
Panel3: TPanel;
Label9: TLabel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
khgjTable: TTable;
KhgjQuery12: TQuery;
KhgjsjkTable: TTable;
KhbjQuery: TQuery;
KhgjQuery: TQuery;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtnexitClick(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure KhlxComboBoxSelect(Sender: TObject);
procedure KhmcEditChange(Sender: TObject);
procedure KhmcEditEnter(Sender: TObject);
procedure KhmcEditExit(Sender: TObject);
procedure lxrEditEnter(Sender: TObject);
procedure lxrEditExit(Sender: TObject);
procedure bzMemoEnter(Sender: TObject);
procedure bzMemoExit(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure KhlxComboBoxEnter(Sender: TObject);
procedure KhlxComboBoxExit(Sender: TObject);
procedure ZjmEditExit(Sender: TObject);
procedure KhbhEditExit(Sender: TObject);
procedure BitBtnsaveClick(Sender: TObject);
procedure xysjdtp1Enter(Sender: TObject);
procedure xysjdtp1Exit(Sender: TObject);
procedure KhlxEditEnter(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure KhzlDBNavigatorClick(Sender: TObject; Button: TNavigateBtn);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
function GetKhmaxbh: string; //取得客户资料中最大的客户编号
function dataverify(Verify_lx: string): Boolean; //数据校验事件
{verify_lx:数据校验类型
第一位:进行客户编号校验
第二位:进行客户名称校验
第三位: 进行助记码是否有重复校验
第四位: 进行地区校验}
function datasave: Boolean; //数据保存函数
function dataassign(data_bjzt: string): Boolean; //数据赋值函数
procedure Khgjdataassign(Sender: TObject); //客户业务资料的赋值
public
{ Public declarations }
end;
var
frmkhzlbj: Tfrmkhzlbj;
khzlbj_bjzt: string; //数据编辑状态
khxx_bh, khxx_ybh, khxx_mc, khxx_zjm, khxx_lxr, khxx_dh, khxx_sh: string;
khxx_zh, khxx_email, khxx_dqbh, khxx_dqmc, khxx_dz: string;
khxx_xysj1, khxx_xysj2: Tdate;
khxx_bz: string;
khxx_lx, khxx_fwlxbh, khxx_yzbm: string;
implementation
uses khzlxx, PubProc, mainform, khgjxxbj, dqcx;
{$R *.dfm}
procedure Tfrmkhzlbj.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
frmkhzlbj := nil
end;
procedure Tfrmkhzlbj.BitBtnexitClick(Sender: TObject);
begin
Close;
end;
procedure Tfrmkhzlbj.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
if not (ActiveControl is TDbgrid) then
begin
key := #0;
SelectNext(ActiveControl, True, True);
end
else
begin
if (ActiveControl is TDbgrid) then
begin
if DbGrid1.SelectedIndex = 7 then
begin
Khgjtable.Append;
DbGrid1.SelectedIndex := 1;
end
else
begin
with TDbgrid(ActiveControl) do
if Selectedindex < (FieldCount - 1) then
selectedindex := selectedindex + 1
else
selectedindex := 0;
end;
end;
end;
end;
end;
procedure Tfrmkhzlbj.KhlxComboBoxSelect(Sender: TObject);
begin
KhlxEdit.Text := KhlxCombobox.Text;
end;
procedure Tfrmkhzlbj.KhmcEditChange(Sender: TObject);
begin
BitBtnsave.Enabled := True;
end;
procedure Tfrmkhzlbj.KhmcEditEnter(Sender: TObject);
begin
(Sender as TEdit).color := clGradientActiveCaption;
end;
procedure Tfrmkhzlbj.KhmcEditExit(Sender: TObject);
begin
(Sender as TEdit).color := clWindow;
if KhmcEdit.Text = '' then
begin
MessageDlg('请输入客户的名称', mtError, [mbOk], 0);
KhmcEdit.SetFocus;
end
else
if ZjmEdit.Text = '' then
ZjmEdit.Text := hztozjm(KhmcEdit.Text);
end;
procedure Tfrmkhzlbj.lxrEditEnter(Sender: TObject);
begin
(Sender as TLabeledEdit).color := clGradientActiveCaption;
end;
procedure Tfrmkhzlbj.lxrEditExit(Sender: TObject);
begin
(Sender as TLabeledEdit).color := clWindow;
end;
procedure Tfrmkhzlbj.bzMemoEnter(Sender: TObject);
begin
(Sender as TMemo).color := clGradientActiveCaption;
end;
procedure Tfrmkhzlbj.bzMemoExit(Sender: TObject);
begin
(Sender as TMemo).color := clWindow;
end;
procedure Tfrmkhzlbj.FormShow(Sender: TObject);
begin
dataassign(khzlbj_bjzt); //根据不同的编辑类型进行数据赋值
if Khgjtable.Active = False then Khgjtable.Active := True;
if khzlbj_bjzt = 'khzladd' then //客户资料增加
begin
KhzlDBNavigator.Enabled := False;
DqEdit.Text := khxx_dqmc;
khbhedit.Text := GetKhmaxbh();
end;
if khzlbj_bjzt = 'khzledit' then //客户资料修改
begin
KhzlDBNavigator.Enabled := True;
Khgjdataassign(sender); //客户业务资料的赋值
end;
KhlxTable.Open;
if KhlxTable.RecordCount <> 0 then
begin
with KhlxTable do
begin
KhlxComboBox.Items.Add('');
First;
while not eof do
begin
KhlxComboBox.Items.Add(FieldValues['khlxbh'] + ' ' + FieldValues['khlxmc']);
Next;
end;
end;
end;
KhlxTable.Close;
Bitbtnsave.Enabled := False;
end;
function Tfrmkhzlbj.GetKhmaxbh: string;
var
lsbl_khbh: string;
begin
with khbjquery do
begin
Close;
SQL.Clear;
SQL.Add('select max(kh_bh) as khbh from khxxk');
open;
First;
if FieldByName('khbh').AsString <> '' then
begin
lsbl_khbh := FieldValues['khbh'];
lsbl_khbh := inttostr(strtoint(lsbl_khbh) + 1);
lsbl_khbh := Copy('00000000', 1, 8 - length(lsbl_khbh)) +
lsbl_khbh;
Result := lsbl_khbh;
end
else
Result := '00000001';
end;
end;
function Tfrmkhzlbj.dataassign(data_bjzt: string): Boolean;
begin
Result := True;
if data_bjzt = 'khzladd' then
begin
khxx_bh := '';
khxx_ybh := '';
khxx_mc := '';
khxx_zjm := '';
khxx_lxr := '';
khxx_dh := '';
khxx_sh := '';
khxx_zh := '';
khxx_email := '';
//khxx_dqbh := '';
//khxx_dqmc := '';
khxx_yzbm := '';
khxx_dz := '';
khxx_xysj1 := date();
khxx_xysj2 := date();
khxx_bz := '';
khxx_lx := '';
khxx_fwlxbh := '';
KhbhEdit.Text := '';
KhmcEdit.Text := '';
zjmEdit.Text := '';
KhlxComboBox.Text := '';
KhlxEdit.Text := '';
lxrEdit.Text := '';
dhEdit.Text := '';
zhEdit.Text := '';
shEdit.Text := '';
emailEdit.Text := '';
dzEdit.Text := '';
yzbmEdit.Text := '';
xysjdtp1.Date := date();
xysjdtp2.Date := date();
bzMemo.Lines.Text := '';
Result := True;
end;
if data_bjzt = 'khzledit' then
begin
with frmkhzl.KhxxQuery do
begin
khxx_bh := FieldByName('kh_bh').AsString;
khxx_ybh := FieldByName('kh_bh').AsString;
khxx_mc := FieldByName('kh_mc').AsString;
khxx_zjm := FieldByName('kh_zjm').AsString;
khxx_lxr := FieldByName('kh_lxr').AsString;
khxx_dh := FieldByName('kh_dh').AsString;
khxx_sh := FieldByName('kh_sh').AsString;
khxx_zh := FieldByName('kh_zh').AsString;
khxx_email := FieldByName('kh_email').AsString;
khxx_dqbh := FieldByName('kh_dqbh').AsString;
khxx_dqmc := FieldByName('dq_mc').AsString;
khxx_yzbm := FieldByName('kh_yzbm').AsString;
khxx_dz := FieldByName('kh_dz').AsString;
khxx_xysj1 := FieldByName('kh_xysj1').AsDateTime;
khxx_xysj2 := FieldByName('kh_xysj2').AsDateTime;
khxx_bz := FieldByName('kh_bz').AsString;
khxx_lx := FieldByName('kh_lxmc').AsString;
DqEdit.Text := FieldByName('dq_mc').AsString;
KhbhEdit.Text := FieldByName('kh_bh').AsString;
KhmcEdit.Text := FieldByName('kh_mc').AsString;
zjmEdit.Text := FieldByName('kh_zjm').AsString;
KhlxComboBox.Text := FieldByName('kh_lx').AsString + ' ' + FieldByName('kh_lxmc').AsString;
KhlxEdit.Text := FieldByName('kh_lx').AsString + ' ' + FieldByName('kh_lxmc').AsString;
lxrEdit.Text := FieldByName('kh_lxr').AsString;
dhEdit.Text := FieldByName('kh_dh').AsString;
zhEdit.Text := FieldByName('kh_zh').AsString;
shEdit.Text := FieldByName('kh_sh').AsString;
emailEdit.Text := FieldByName('kh_email').AsString;
dzEdit.Text := FieldByName('kh_dz').AsString;
yzbmEdit.Text := FieldByName('kh_yzbm').AsString;
xysjdtp1.Date := FieldByName('kh_xysj1').AsDateTime;
xysjdtp2.Date := FieldByName('kh_xysj2').AsDateTime;
bzMemo.Lines.Text := FieldByName('kh_bz').AsString;
Result := True;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -