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

📄 khxxgl.pas

📁 delphi开发的完整的客户管理系统(带数据库)
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit khxxgl;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Mask, StdCtrls, Buttons, ExtCtrls, DB, Grids, DBGrids;

type
  TForm9 = class(TForm)
    Panel2: TPanel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    BitBtn7: TBitBtn;
    BitBtn8: TBitBtn;
    Panel1: TPanel;
    Panel3: TPanel;
    Label1: TLabel;
    Label3: TLabel;
    Label6: TLabel;
    Label9: TLabel;
    Label14: TLabel;
    Label12: TLabel;
    Edit13: TEdit;
    Edit14: TEdit;
    Label11: TLabel;
    Edit9: TEdit;
    Edit8: TEdit;
    Label10: TLabel;
    Edit7: TEdit;
    MaskEdit1: TMaskEdit;
    Label7: TLabel;
    Edit11: TEdit;
    Label8: TLabel;
    Edit12: TEdit;
    Edit10: TEdit;
    Label13: TLabel;
    Edit5: TEdit;
    Edit3: TEdit;
    Label4: TLabel;
    Edit4: TEdit;
    Edit2: TEdit;
    Label2: TLabel;
    Edit1: TEdit;
    Label15: TLabel;
    Label16: TLabel;
    Edit15: TEdit;
    Label17: TLabel;
    Edit16: TEdit;
    DataSource1: TDataSource;
    Label5: TLabel;
    ComboBox1: TComboBox;
    Label18: TLabel;
    ComboBox2: TComboBox;
    DBGrid1: TDBGrid;
    procedure BitBtn1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BitBtn1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel2MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure BitBtn1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure Edit10KeyPress(Sender: TObject; var Key: Char);
    procedure FormShow(Sender: TObject);
    Procedure EditValue;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit3KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit4KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit5KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit10KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure MaskEdit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit11KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit12KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit7KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit8KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit14KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit9KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit13KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState); //为编辑框赋值
    procedure ShowDate;
    Procedure DisableComboBox;
    procedure DBGrid1DblClick(Sender: TObject);
    procedure DBGrid1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ComboBox2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ComboBox1Change(Sender: TObject);
    
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form9: TForm9;
  aa: Boolean = False; //保存按钮是否可用
  qydm: String; //保存区域代码
implementation
  uses data2;
{$R *.dfm}
procedure TForm9.BitBtn1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  TBitBtn(Sender).Font.Color := clRed;
end;

procedure TForm9.BitBtn1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  TBitBtn(Sender).Font.Color := clBlue;
end;

procedure TForm9.Panel2MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  Screen.Cursor := -2;
end;

procedure TForm9.BitBtn1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  Screen.Cursor := -21;
end;

procedure TForm9.BitBtn3Click(Sender: TObject);
var
  s,m: String;
  i: integer;
begin
  s:= 'K'+ FormatDateTime('yyyymmdd',Now());
  With datam.ADOQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select max(客户编号) as ss From 客户基础信息表 ');
    Open;
  end;
  If datam.ADOQuery1.FieldByName('ss').Value = null then
    s := s + '001'
  else
  begin
    m:= Trim(datam.ADOQuery1.FieldByName('ss').Value) ;
    i:= StrToInt(Trim(Copy(m,10,5))) ;
    if i<9 then
      s:= s + '00'+ InttoStr(i +1)
    else if i<99 then
      s:= s + '0'+ InttoStr(i +1)
    else
      s:= s +InttoStr(i +1);
  end;
  Edit1.Text := Trim(s);
  Edit2.Clear;
  Edit3.Clear;
  Edit4.Clear;
  Edit5.Clear;
  Edit7.Clear;
  Edit8.Clear;
  Edit9.Clear;
  Edit10.Clear;
  Edit11.Clear;
  Edit12.Clear;
  Edit13.Clear;
  Edit14.Clear;
  Edit15.Clear;
  MaskEdit1.Clear;
  Edit2.SetFocus;
  aa:= True;
  ComboBox1.Text := '';
  ComboBox2.Text := '';
  BitBtn5.Enabled := False;
  BitBtn6.Enabled := False;
  ComboBox1.Enabled := True;
  ComboBox2.Enabled := True;
end;

procedure TForm9.BitBtn4Click(Sender: TObject);
begin
  With datam.ADOQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select * from 客户基础信息表 where 客户编号 = :a');
    Parameters.ParamByName('a').Value := Trim(Edit1.Text);
    Open;
  end;
  if datam.ADOQuery1.RecordCount > 0 then
  begin
    Application.MessageBox('该客户已经存在。','提示',0+64);
    Exit;
  end;
  With datam.ADOQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select * from 客户级别表 where 级别名称 = :a');
    Parameters.ParamByName('a').Value := Trim(ComboBox2.Text);
    Open;
  end;
  if datam.ADOQuery1.RecordCount <1 then
  begin
    Application.MessageBox('客户级别不存在。','提示',64);
    ComboBox2.SetFocus;
    Exit;
  end;
  Try
  With datam.ADOQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('Insert 客户基础信息表 values ( :a,:b,:c,:d,:e,:f,:g,:h,:i,:j,:k,:l,:m,:n,:o,:p )');
    Parameters.ParamByName('a').Value := Trim(Edit1.Text);
    Parameters.ParamByName('b').Value := Trim(Edit2.Text);
    Parameters.ParamByName('c').Value := Trim(Edit3.Text);
    Parameters.ParamByName('d').Value := Trim(Edit4.Text);
    Parameters.ParamByName('e').Value := Trim(MaskEdit1.Text);
    Parameters.ParamByName('f').Value := Trim(Edit11.Text);
    Parameters.ParamByName('g').Value := Trim(Edit12.Text);
    Parameters.ParamByName('h').Value := Trim(Edit7.Text);
    Parameters.ParamByName('i').Value := Trim(Edit8.Text);
    Parameters.ParamByName('j').Value := Trim(Edit9.Text);
    Parameters.ParamByName('k').Value := Trim(Edit13.Text);
    Parameters.ParamByName('l').Value := Trim(Edit10.Text);
    Parameters.ParamByName('m').Value := Trim(Edit14.Text);
    Parameters.ParamByName('n').Value := Trim(qydm);
    Parameters.ParamByName('o').Value := Trim(ComboBox1.Text);
    Parameters.ParamByName('p').Value := Trim(ComboBox2.Text);
    ExecSQL;
  end;
  Application.MessageBox('保存成功。','提示',64);
  BitBtn1.Enabled := True;
  BitBtn2.Enabled := True;
  BitBtn4.Enabled := False;
  BitBtn7.OnClick(Sender);
  ShowDate;
  aa := False;
  Except
  Application.MessageBox('系统出错。','提示',0+64);
  Close;
  end;
end;

procedure TForm9.BitBtn7Click(Sender: TObject);
begin
  ShowDate;
  BitBtn5.Enabled := True;
  BitBtn6.Enabled := True;
  BitBtn2.Enabled := True;
  BitBtn4.Enabled := False;
  DisableComboBox;
end;

procedure TForm9.Edit1Change(Sender: TObject);
begin
  if (Trim(Edit1.Text)<>'')and(Trim(Edit2.Text)<>'')and(Trim(Edit3.Text)<>'')and
    (Trim(Edit4.Text)<>'')and(Trim(ComboBox1.Text)<>'')and(Trim(Edit5.Text)<>'')and
      (Trim(ComboBox2.Text)<>'')and(Trim(Edit10.Text)<>'')and(Trim(MaskEdit1.Text)<>'')and
        (Trim(Edit12.Text)<>'')and(Trim(Edit7.Text)<>'')and(Trim(Edit11.Text)<>'')
          and(Trim(Edit14.Text)<>'')and(Trim(Edit8.Text)<>'')and(Trim(Edit9.Text)<>'')and(Trim(Edit13.Text)<>'')and(aa = True)then
    BitBtn4.Enabled := True
  else
    BitBtn4.Enabled := False;
end;

procedure TForm9.Edit10KeyPress(Sender: TObject; var Key: Char);
var
  m: Boolean;
begin
  m := (key <#8)or(Key>#8)and(key <#48)or(key>#57);
  if m then
    key := #0;
end;

procedure TForm9.FormShow(Sender: TObject);
begin
  with datam.ADOQuery2 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select * from 客户级别表');
    Open;
  end;
  if datam.ADOQuery2.RecordCount>0 then
  begin
    while Not datam.ADOQuery2.Eof  do
    begin
      ComboBox2.Items.Add(datam.ADOQuery2.FieldByName('级别名称').Value);
      datam.ADOQuery2.Next;
    end;
  end;
  with datam.ADOQuery2 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select distinct 区域名称 from 客户区域表');
    Open;
  end;
  if datam.ADOQuery2.RecordCount>0 then
  while Not datam.ADOQuery2.Eof do
  begin
    ComboBox1.Items.Add(datam.ADOQuery2.FieldByName('区域名称').Value);
    datam.ADOQuery2.Next;
  end;
  with datam.ADOQuery2 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select * from 客户基础信息表');
    Open;
  end;
  If datam.ADOQuery2.FieldByName('客户编号').Value = null then
  begin
    Application.MessageBox('该表数据为空,请向该表中插入数据。','提示',64);
    BitBtn5.Enabled := False;
    BitBtn6.Enabled := False;
    BitBtn7.Enabled := False;
    BitBtn1.Enabled := False;
    BitBtn2.Enabled := False;
  end
  else
  EditValue;
end;

procedure TForm9.EditValue;
begin
  if datam.ADOQuery2.FieldByName('客户编号').Value <> null then
  begin
    Edit1.Text :=  datam.ADOQuery2.FieldByName('客户编号').Value;
    Edit2.Text :=  datam.ADOQuery2.FieldByName('客户全称').Value;
    Edit3.Text :=  datam.ADOQuery2.FieldByName('简称').Value;
    Edit4.Text :=  datam.ADOQuery2.FieldByName('地址').Value;
    with datam.ADOQuery1 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select * from 客户区域表 where 区域代码 = :a');
      Parameters.ParamByName('a').Value := Trim(datam.ADOQuery2.FieldByName('区域代码').Value);
      Open;
    end;
    ComboBox1.Text := datam.ADOQuery1.FieldByName('区域名称').Value;
    Edit5.Text := datam.ADOQuery1.FieldByName('省级名称').Value;
    Edit15.Text := datam.ADOQuery1.FieldByName('地区名称').Value;
    Edit16.Text := datam.ADOQuery1.FieldByName('县级名称').Value;
    Edit10.Text :=  datam.ADOQuery2.FieldByName('邮政编码').Value;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -