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

📄 ps_comcustomer.pas

📁 DELPHI5加SQL SERVER2000完成的进销存系统,具体哪些内容记不清了,六七年前写的,希望还能有点贡献
💻 PAS
字号:
unit PS_comcustomer;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, DBCtrls, Mask, Buttons,db;

type
  TF_comcustomer = class(TForm)
    GroupBox1: TGroupBox;
    L_id: TLabel;
    L_name: TLabel;
    L_shortname: TLabel;
    L_address: TLabel;
    L_telephone1: TLabel;
    L_telephone2: TLabel;
    L_boss: TLabel;
    L_bosstitle: TLabel;
    L_limitcredit: TLabel;
    L_earlyfunds: TLabel;
    L_earlyfundspaid: TLabel;
    L_presentfunds: TLabel;
    L_memo: TLabel;
    E_address: TDBEdit;
    E_id: TDBEdit;
    E_name: TDBEdit;
    E_shortname: TDBEdit;
    E_telephone1: TDBEdit;
    E_telephone2: TDBEdit;
    E_boss: TDBEdit;
    E_bosstitle: TDBEdit;
    E_limitcredit: TDBEdit;
    E_earlyfunds: TDBEdit;
    E_earlyfundspaid: TDBEdit;
    E_presentfunds: TDBEdit;
    M_memo: TDBMemo;
    GB_flag: TGroupBox;
    CB_flag1: TCheckBox;
    CB_flag2: TCheckBox;
    procedure E_addressClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure CB_flag1Click(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    function caninsert:boolean;
    procedure insert;
    procedure afterinsert;
    procedure LimitCredit_State(flag:integer);
    procedure refresh;
    procedure BeforeInsert;
    procedure modify;
    procedure HaveRecord;
    procedure NoRecord;
    procedure FormActivate(Sender: TObject);
  private
    flag:integer;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  F_comcustomer: TF_comcustomer;

implementation

uses PS_db, PS_main;

{$R *.DFM}
//自定义函数部分

function TF_comcustomer.caninsert:boolean;
begin
  result:=true;
  with tf_comcustomer(f_main.activemdichild) do
    if not((cb_flag1.checked)xor(cb_flag2.checked))then begin
      showmessage('请选择是录入客户还是厂商');
      result:=false;
      end
end;

procedure TF_comcustomer.insert;
begin
  with comdatabase.comcustomer do begin
    if caninsert then begin
      if f_main.savetocache then begin
        append;
        fieldvalues['flag']:=tF_comcustomer(f_main.ActiveMDIChild).flag;
        end
      end
    else
      if isempty then norecord;
    end;
end;

procedure TF_comcustomer.BeforeInsert;
begin
  with tF_comcustomer(f_main.ActiveMDIChild) do begin
    e_id.SetFocus;
    E_earlyfundspaid.ReadOnly:=false;
    E_earlyfundspaid.TabStop:=true;
    E_presentfunds.ReadOnly:=false;
    E_presentfunds.TabStop:=true;
    end;
end;

procedure TF_comcustomer.afterinsert;
begin
  with tF_comcustomer(f_main.ActiveMDIChild) do begin
    E_earlyfundspaid.ReadOnly:=true;
    E_earlyfundspaid.TabStop:=false;
    E_presentfunds.ReadOnly:=true;
    E_presentfunds.TabStop:=false;
    LimitCredit_State(comdatabase.comcustomer.fieldvalues['flag']);
    end;
end;

procedure TF_comcustomer.LimitCredit_State(flag:integer);
var
  temp:boolean;
begin
  temp:=flag=1;
  tF_comcustomer(f_main.ActiveMDIChild).E_limitcredit.enabled:=temp;
  tF_comcustomer(f_main.ActiveMDIChild).l_limitcredit.enabled:=temp;
end;

procedure TF_comcustomer.modify;
begin
  if caninsert then
    beforeinsert;
end;

procedure TF_comcustomer.refresh;
begin
  with comdatabase.comcustomer do begin
    close;
    open;
    end;
end;

procedure TF_comcustomer.NoRecord;
begin
  with tf_comcustomer(f_main.activemdichild) do begin
    E_id.Enabled:=false;
    E_name.Enabled:=false;
    E_shortname.Enabled:=false;
    E_address.Enabled:=false;
    E_telephone1.Enabled:=false;
    E_telephone2.Enabled:=false;
    E_boss.Enabled:=false;
    E_bosstitle.Enabled:=false;
    E_earlyfunds.Enabled:=false;
    E_earlyfundspaid.Enabled:=false;
    E_presentfunds.Enabled:=false;
    M_memo.Enabled:=false;
    E_limitcredit.Enabled:=false;
    end;
end;

procedure TF_comcustomer.HaveRecord;
begin
  with tf_comcustomer(f_main.activemdichild) do begin
    E_id.Enabled:=true;
    E_name.Enabled:=true;
    E_shortname.Enabled:=true;
    E_address.Enabled:=true;
    E_telephone1.Enabled:=true;
    E_telephone2.Enabled:=true;
    E_boss.Enabled:=true;
    E_bosstitle.Enabled:=true;
    E_earlyfunds.Enabled:=true;
    E_earlyfundspaid.Enabled:=true;
    E_presentfunds.Enabled:=true;
    M_memo.Enabled:=true;
    E_limitcredit.Enabled:=cb_flag1.Checked;
    end;
end;
//程序正体部分
procedure TF_comcustomer.FormActivate(Sender: TObject);
begin
  f_main.currentTable:=comdatabase.comcustomer;
  f_main.TableName:=Rcomcustomer;
  f_main.buttonstate;
end;

procedure TF_comcustomer.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
  canclose:=f_main.savetocache;
end;

procedure TF_comcustomer.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  with comdatabase do begin
    comcustomer.close;
    comcustomer.Filtered:=false;
    end;
  f_main.currentTable:=nil;
  action:=cafree;
end;

procedure TF_comcustomer.E_addressClick(Sender: TObject);
begin
  tedit(sender).selectall;
end;

procedure TF_comcustomer.CB_flag1Click(Sender: TObject);
begin
  with comdatabase.comcustomer do begin
    disablecontrols;
    close;
    filtered:=false;
    if (cb_flag1.Checked)or(cb_flag2.checked)then begin
      if not((cb_flag1.Checked)and(cb_flag2.checked))then
      if cb_flag1.Checked then begin
        flag:=1;
        filter:='flag=1';
        filtered:=true;
        end
      else begin
        flag:=2;
        filter:='flag=2';
        filtered:=true;
        end;
      open;
      if not isempty then
        haverecord;
      end;
    Limitcredit_state(flag);
    enablecontrols;
    f_main.buttonstate;

    if (isempty)or(state=dsedit)or(state=dsinsert)then begin
      if tcheckbox(sender)=cb_flag1 then
        cb_flag2.Checked:=not cb_flag1.Checked
      else
        cb_flag1.Checked:=not cb_flag2.Checked;
      end
    end;
end;

end.

⌨️ 快捷键说明

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