⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 khzlbj.pas

📁 服务信息管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 + -