?? ps_comcustomer.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 + -