📄 khqygl.~pas
字号:
unit khqygl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TForm23 = class(TForm)
Panel2: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
Panel1: TPanel;
Panel3: TPanel;
Label1: TLabel;
Label3: TLabel;
Label7: TLabel;
Label10: TLabel;
Label13: TLabel;
Label14: TLabel;
Edit3: TEdit;
Edit1: TEdit;
ComboBox1: TComboBox;
Edit2: TEdit;
Label5: TLabel;
Label2: TLabel;
Label8: TLabel;
Label11: TLabel;
Label12: TLabel;
Label9: TLabel;
Label6: TLabel;
Label4: TLabel;
procedure FormShow(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
Procedure Clear;
Procedure EditValue;
Procedure ShowEdit;
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ComboBox1Change(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Edit3Change(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure BitBtn1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form23: TForm23;
aa: Boolean = False; //保存按钮是否可用
implementation
uses Data2;
{$R *.dfm}
procedure TForm23.FormShow(Sender: TObject);
begin
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);
BitBtn6.Enabled := False;
BitBtn7.Enabled := False;
BitBtn1.Enabled := False;
BitBtn2.Enabled := False;
end
else
begin
Clear;
EditValue;
end;
end;
procedure TForm23.BitBtn3Click(Sender: TObject);
var
s,m: String;
i: integer;
begin
s:= 'A'+ 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;
Label4.Caption := Trim(s);
aa:= True;
BitBtn6.Enabled := False;
ComboBox1.Text := '';
Edit1.Enabled := False;
Edit2.Clear;
Edit2.Enabled := True;
Edit2.SetFocus;
Edit3.Enabled := False;
ComboBox1.Enabled := False;
Edit1.Clear;
Edit3.Clear;
Label6.Caption := '';
Label9.Caption := '';
Label12.Caption := '';
Label14.Caption := '';
end;
procedure TForm23.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_ReTurn then
if Trim(Edit2.Text)<>'' then
begin
ComboBox1.Enabled := True;
ComboBox1.SetFocus;
end;
end;
procedure TForm23.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
s,m: String;
i: integer;
begin
if Key = VK_ReTurn then
if Trim(ComboBox1.Text)<> '' then
begin
with datam.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select * from 客户区域表 where 省级名称 = :a');
Parameters.ParamByName('a').Value := Trim(ComboBox1.Text);
Open;
end;
if datam.ADOQuery1.RecordCount>0 then
begin
Label6.Caption := datam.ADOQuery1.FieldByName('省级代码').Value;
Edit1.Enabled := True;
Edit1.SetFocus;
BitBtn4.Enabled := True;
end
else
begin
s:= 'P'+ FormatDateTime('yyyymm',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,8,10))) ;
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;
Label6.Caption := s;
if (Trim(Label9.Caption)='')and(Trim(Label12.Caption)='')then
Label14.Caption := '省级代理';
Edit1.Enabled := True;
Edit1.SetFocus;
BitBtn4.Enabled := True;
end;
end;
end;
procedure TForm23.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
s,m: String;
i: integer;
begin
if Key = VK_ReTurn then
if Trim(Edit1.Text)<> '' then
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
Label9.Caption := datam.ADOQuery1.FieldByName('地区代码').Value
else
begin
s:= 'S'+ FormatDateTime('yyyymm',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,8,10))) ;
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;
Label9.Caption := s;
end;
Label14.Caption := '市级代理';
Edit3.Enabled := True;
Edit3.SetFocus;
end;
if Key = VK_Up then
if ComboBox1.Enabled = True then
ComboBox1.SetFocus;
end;
procedure TForm23.Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
s,m: String;
i: integer;
begin
if Key = VK_ReTurn then
if Trim(Edit3.Text)<> '' then
begin
with datam.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Select * from 客户区域表 where 县级名称 = :a');
Parameters.ParamByName('a').Value := Trim(Edit3.Text);
Open;
end;
if datam.ADOQuery1.RecordCount>0 then
Label12.Caption := datam.ADOQuery1.FieldByName('县级代码').Value
else
begin
s:= 'X'+ FormatDateTime('yyyymm',Now());
With datam.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select max(县级代码) as ss From 客户区域表 ');
Open;
end;
If (Trim(datam.ADOQuery1.FieldByName('ss').Value) = null)or(Trim(datam.ADOQuery1.FieldByName('ss').Value)='') then
s := s + '001'
else
begin
m:= Trim(datam.ADOQuery1.FieldByName('ss').Value) ;
i:= StrToInt(Trim(Copy(m,8,10))) ;
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;
Label12.Caption := s;
end;
Label14.Caption := '县级代理';
end;
if Key = Vk_up then
if Edit1.Enabled = True then
Edit1.SetFocus;
end;
procedure TForm23.ComboBox1Change(Sender: TObject);
begin
Edit1.Clear;
Edit3.Clear;
Label14.Caption := '';
Label6.Caption := '';
Label9.Caption := '';
Label12.Caption := '';
BitBtn4.Enabled := False;
end;
procedure TForm23.Edit1Change(Sender: TObject);
begin
Edit3.Clear;
Label14.Caption := '省级代理';
Label9.Caption := '';
Label12.Caption := '';
end;
procedure TForm23.Edit3Change(Sender: TObject);
begin
Label14.Caption := '市级代理';
Label12.Caption := '';
end;
procedure TForm23.Edit2Change(Sender: TObject);
begin
Edit1.Enabled := False;
Edit3.Enabled := False;
Edit1.Clear;
Edit3.Clear;
Label14.Caption := '';
Label6.Caption := '';
Label9.Caption := '';
Label12.Caption := '';
end;
procedure TForm23.BitBtn4Click(Sender: TObject);
begin
if Trim(Label14.Caption)<>'' then
begin
Try
With datam.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Insert 客户区域表 values (:a ,:b ,:c,:d,:e,:f,:g,:h,:i)');
Parameters.ParamByName('a').Value := Trim(Label4.Caption);
Parameters.ParamByName('b').Value := Trim(Edit2.Text);
Parameters.ParamByName('c').Value := Trim(Label6.Caption);
Parameters.ParamByName('d').Value := Trim(Combobox1.Text);
Parameters.ParamByName('e').Value := Trim(Label9.Caption);
Parameters.ParamByName('f').Value := Trim(Edit1.Text);
Parameters.ParamByName('g').Value := Trim(Label12.Caption);
Parameters.ParamByName('h').Value := Trim(Edit3.Text);
if Trim(Label14.Caption)='省级代理' then
Parameters.ParamByName('i').Value := 1
else if Trim(Label14.Caption)='市级代理' then
Parameters.ParamByName('i').Value := 2
else
Parameters.ParamByName('i').Value := 3;
ExecSQL;
end;
Application.MessageBox('添加成功。','提示',64);
BitBtn7.OnClick(Sender);
Except
Application.MessageBox('系统出错。','提示',64);
Close;
end;
end;
end;
procedure TForm23.Clear;
begin
Edit2.Clear;
Edit1.Enabled := False;
Edit3.Enabled := False;
ComboBox1.Enabled := False;
Edit2.Enabled := False;
Edit1.Clear;
Edit3.Clear;
Label4.Caption := '';
Label6.Caption := '';
Label9.Caption := '';
Label12.Caption := '';
Label14.Caption := '';
BitBtn4.Enabled := False;
end;
procedure TForm23.EditValue;
begin
Clear;
if datam.ADOQuery2.FieldByName('区域代码').Value <> null then
begin
Edit2.Text := datam.ADOQuery2.FieldByName('区域名称').Value;
Label4.Caption := datam.ADOQuery2.FieldByName('区域代码').Value;
ComboBox1.Text := datam.ADOQuery2.FieldByName('省级名称').Value;
Label6.Caption := datam.ADOQuery2.FieldByName('省级代码').Value;
Edit1.Text := datam.ADOQuery2.FieldByName('地区名称').Value;
Label9.Caption := datam.ADOQuery2.FieldByName('地区代码').Value;
Edit3.Text := datam.ADOQuery2.FieldByName('县级名称').Value;
Label12.Caption := datam.ADOQuery2.FieldByName('县级代码').Value;
if datam.ADOQuery2.FieldByName('区域级别').Value=1 then
Label14.Caption := '省级代理'
else if datam.ADOQuery2.FieldByName('区域级别').Value= 2 then
Label14.Caption := '市级代理'
else
Label14.Caption := '县级代理';
end
else
Clear;
end;
procedure TForm23.BitBtn1Click(Sender: TObject);
begin
if Not datam.ADOQuery2.Bof then
begin
datam.ADOQuery2.Prior;
EditValue;
end
else
BitBtn1.Enabled := False;
BitBtn2.Enabled := True;
BitBtn6.Enabled := True;
end;
procedure TForm23.BitBtn2Click(Sender: TObject);
begin
if Not datam.ADOQuery2.Eof then
begin
datam.ADOQuery2.Next;
EditValue;
end
else
BitBtn2.Enabled := False;
BitBtn1.Enabled := True;
BitBtn6.Enabled := True;
end;
procedure TForm23.ShowEdit;
begin
with datam.ADOQuery2 do
begin
Close;
SQL.Clear;
SQL.Add('select * from 客户区域表');
Open;
end;
EditValue;
end;
procedure TForm23.BitBtn7Click(Sender: TObject);
begin
Clear;
ShowEdit;
BitBtn6.Enabled := True;
BitBtn2.Enabled := True;
end;
procedure TForm23.BitBtn6Click(Sender: TObject);
begin
if Application.MessageBox(Pchar('确实要删除区域代码为' + Trim(Label4.Caption)+ '的区域信息吗?'),'提示',MB_YesNO) = Id_Yes then
begin
Try
with datam.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('delete 客户区域表 where 区域代码 = :a');
Parameters.ParamByName('a').Value := Trim(Label4.Caption);
ExecSQL;
end;
Application.MessageBox('删除成功。','提示',64);
BitBtn7.OnClick(Sender);
Except
Application.MessageBox('系统出错。','提示',64);
Close;
end;
end;
end;
procedure TForm23.BitBtn1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
TBitBtn(Sender).Font.Color := clRed;
end;
procedure TForm23.BitBtn1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
TBitBtn(Sender).Font.Color := clBlue;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -