📄 client.pas
字号:
unit client;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, DB, DBTables, ExtCtrls, Grids, DBGrids;
type
TForm_client = class(TForm)
btn_first: TButton;
btn_prev: TButton;
btn_next: TButton;
btn_last: TButton;
btn_addnew: TButton;
btn_edit: TButton;
btn_save: TButton;
btn_cancel: TButton;
Button1: TButton;
DBMemo1: TDBMemo;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
GroupBox1: TGroupBox;
Button2: TButton;
Button3: TButton;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
DBEdit9: TDBEdit;
DBEdit10: TDBEdit;
DBGrid1: TDBGrid;
DBComboBox2: TDBComboBox;
DBEdit8: TDBEdit;
Query1: TQuery;
Query1BDEDesigner: TIntegerField;
Query1BDEDesigner2: TStringField;
Query1BDEDesigner3: TStringField;
Query1BDEDesigner4: TStringField;
Query1BDEDesigner5: TStringField;
Query1BDEDesigner6: TStringField;
Query1BDEDesigner7: TStringField;
Query1BDEDesigner8: TStringField;
Query1BDEDesigner9: TStringField;
Query1BDEDesigner10: TStringField;
Query1BDEDesigner11: TStringField;
Query1BDEDesigner12: TStringField;
Query1BDEDesigner13: TStringField;
Query1BDEDesigner14: TStringField;
Query1BDEDesigner15: TDateTimeField;
Query1BDEDesigner16: TStringField;
Query1BDEDesigner17: TMemoField;
DataSource1: TDataSource;
QueryUse: TQuery;
Query2: TQuery;
Query2BDEDesigner: TIntegerField;
Query2BDEDesigner2: TStringField;
Query2BDEDesigner3: TStringField;
Query2BDEDesigner4: TStringField;
Query2BDEDesigner5: TStringField;
Query2BDEDesigner6: TStringField;
Query2EMAIL: TStringField;
DataSource2: TDataSource;
procedure btn_firstClick(Sender: TObject);
procedure btn_lastClick(Sender: TObject);
procedure btn_addnewClick(Sender: TObject);
procedure btn_saveClick(Sender: TObject);
procedure btn_cancelClick(Sender: TObject);
procedure btn_editClick(Sender: TObject);
procedure btn_prevClick(Sender: TObject);
procedure btn_nextClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure DBEdit1Exit(Sender: TObject);
procedure Query1AfterScroll(DataSet: TDataSet);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Query1BeforeScroll(DataSet: TDataSet);
procedure DBEdit8KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
procedure LockEdit;
//定义函数,来改变各个输入框是否可以编辑,当用户再增加新记录
//或者编辑记录以前,不可以修改
procedure UnlockEdit;
//定义函数,用来让输入文本框可以编辑
procedure DisableBtn;
//定义过程,用来使某些按钮失效
procedure EnableBtn;
//定义过程,用来使某些按钮有效
procedure query2select;
//procedure fillkhh(khh:string);
public
{ Public declarations }
end;
var
Form_client: TForm_client;
implementation
uses contract, Unit_dm_contract_z;
//uses data;
{$R *.dfm}
//自定义过程,用来确定每个Edit空间是否可以编辑
procedure TForm_client.LockEdit;
begin
DBEdit1.ReadOnly :=true;
DBEdit2.ReadOnly :=true;
DBEdit3.ReadOnly :=true;
DBEdit4.ReadOnly :=true;
DBEdit5.ReadOnly :=true;
DBEdit6.ReadOnly :=true;
DBEdit7.ReadOnly :=true;
DBEdit9.ReadOnly :=true;
DBEdit10.ReadOnly :=true;
end;
procedure TForm_client.UnlockEdit ;
begin
DBEdit1.ReadOnly :=false;
DBEdit2.ReadOnly :=false;
DBEdit3.ReadOnly :=false;
DBEdit4.ReadOnly :=false;
DBEdit5.ReadOnly :=false;
DBEdit6.ReadOnly :=false;
DBEdit7.ReadOnly :=false;
DBEdit9.ReadOnly :=false;
DBEdit10.ReadOnly :=false;
end;
procedure TForm_client.DisableBtn ;
begin
btn_first.Enabled :=false;
btn_prev.Enabled :=false;
btn_next.Enabled :=false;
btn_last.Enabled :=false;
btn_addnew.Enabled :=false;
btn_edit.Enabled :=false;
end;
procedure TForm_client.EnableBtn ;
begin
btn_first.Enabled :=true;
btn_prev.Enabled :=true;
btn_next.Enabled :=true;
btn_last.Enabled :=true;
btn_addnew.Enabled :=true;
btn_edit.Enabled :=true;
end;
//shangmiande
procedure TForm_client.btn_firstClick(Sender: TObject);
begin
query1.First ;
end;
procedure TForm_client.btn_lastClick(Sender: TObject);
begin
query1.Last ;
end;
procedure TForm_client.btn_addnewClick(Sender: TObject);
begin
//UnlockEdit;
//DisableBtn;
query1.append ;
//btn_save.Enabled :=true;
//btn_cancel.Enabled :=true;
end;
procedure TForm_client.btn_saveClick(Sender: TObject);
begin
//if not DatabaseJxw.intransaction then data.databasejxw.starttransaction;
query1.ApplyUpdates ;
query2.ApplyUpdates ;
//btn_save.Enabled :=false;
btn_cancel.Enabled :=false;
//锁住所有文本框
LockEdit;
//使按钮有效
EnableBtn ;
//Table1.ReadOnly :=true;
end;
procedure TForm_client.btn_cancelClick(Sender: TObject);
begin
query1.Cancel ;
EnableBtn;
LockEdit;
btn_cancel.Enabled :=false;
btn_save.Enabled :=false;
end;
procedure TForm_client.btn_editClick(Sender: TObject);
begin
//让文本框可以编辑
UnlockEdit;
//使一些按钮失效
DisableBtn;
query1.Edit ;
btn_save.Enabled :=true;
btn_cancel.Enabled :=true;
end;
procedure TForm_client.btn_prevClick(Sender: TObject);
begin
if not query1.Bof then query1.Prior ;
end;
procedure TForm_client.btn_nextClick(Sender: TObject);
begin
if not query1.Eof then query1.Next ;
end;
procedure TForm_client.FormCreate(Sender: TObject);
begin
with queryuse do begin
if active then close;
unprepare;
sql.Clear;
sql.Add('select distinct 办事处名称 from pub_z_office');
prepare;
open;
while not eof do begin
DBComboBox2.Items.Add(fieldbyname('办事处名称').AsString);
next;
end;
end;
if not query1.active then query1.open;
//if query1.findfirst then begin
//end;
end;
procedure TForm_client.Button1Click(Sender: TObject);
begin
close;
end;
procedure TForm_client.DBEdit1Exit(Sender: TObject);
begin
{with queryuse do begin
if active then close;
unprepare;
sql.Clear;
sql.Add('select 客户号 from pub_z_client where 客户号=:khh');
parambyname('khh').AsString:=query1.fieldbyname('客户号').asstring;
prepare;
open;
if findfirst then begin
application.MessageBox('客户号重复,请重新输入!','提示',MB_OK);
dbedit1.SetFocus;
end;
end;}
//query2filter;
end;
procedure TForm_client.Query1AfterScroll(DataSet: TDataSet);
begin
query2select;
end;
procedure TForm_client.Button2Click(Sender: TObject);
begin
query2.Append;
query2.FieldByName('客户号').AsString:=query1.fieldbyname('客户号').asstring;
end;
procedure TForm_client.Button3Click(Sender: TObject);
begin
query2.Delete;
end;
procedure TForm_client.query2select();
begin
//if query1.recordcount<1 then exit;
with query2 do begin
if active then close;
unprepare;
parambyname('khh').AsString:=query1.fieldbyname('客户号').asstring;
prepare;
open;
end;
end;
{procedure TForm_client.fillkhh(khh:string);
var
temp:integer;
begin
{if not query2.findfirst then exit;
temp:=query2.RecordCount;
with query2 do begin
//while not eof do begin
edit;
fieldbyname('客户号').asstring:=khh;
//findnext;
//end;
end;
end;}
procedure TForm_client.Query1BeforeScroll(DataSet: TDataSet);
begin
//if query2.Active then fillkhh(query1.fieldbyname('客户号').asstring);
end;
procedure TForm_client.DBEdit8KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then DBEdit2.SetFocus ;
end;
procedure TForm_client.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
// Form_contract.form_comtract_flag := false;
if Form_contract.form_comtract_flag = true then
begin
Form_contract.DBComboBox1.Text:= '' ;
Form_contract.DBComboBox1.SelText:=self.DBEdit8.text;
Form_contract.form_comtract_flag := false;
Form_contract.TabSheet1.SetFocus ;
Form_contract.DBComboBox1.SetFocus;
//重新检索客户名称;
//Form_contract.DBComboBox1.Items.Add(self.DBEdit8.text);
//
end
end;
procedure TForm_client.FormActivate(Sender: TObject);
begin
/////
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -