📄 uyhqx.pas
字号:
unit UYHQX;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, Grids, DBGrids, StdCtrls, ExtCtrls, ToolWin, ComCtrls;
type
TFRM_YHQX = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Panel5: TPanel;
GroupBox2: TGroupBox;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
DBGrid1: TDBGrid;
CheckBox5: TCheckBox;
CheckBox6: TCheckBox;
CheckBox7: TCheckBox;
CheckBox8: TCheckBox;
CheckBox9: TCheckBox;
CheckBox10: TCheckBox;
CheckBox11: TCheckBox;
CheckBox12: TCheckBox;
CheckBox13: TCheckBox;
CheckBox14: TCheckBox;
CheckBox15: TCheckBox;
CheckBox16: TCheckBox;
ToolBar1: TToolBar;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Edit2Change(Sender: TObject);
procedure Edit3Change(Sender: TObject);
procedure Edit4Change(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure DBGrid1CellClick(Column: TColumn);
procedure DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
private
{ Private declarations }
public
procedure ENA;
procedure DIS;
procedure CLS;
procedure Posting;
procedure GetAll;
function cansave:boolean;
procedure BH;
procedure tr;
{ Public declarations }
end;
var
FRM_YHQX: TFRM_YHQX;
implementation
uses UDM, UMAIN;
{$R *.dfm}
procedure TFRM_YHQX.tr;
var
i:integer;
begin
for i:=ComponentCount - 1 downto 0 do
if(Components[i] is TEdit) then
TEdit(Components[i]).Text:=trim(TEdit(Components[i]).Text);
end;
procedure TFRM_YHQX.BH;
var
s,m:string;
i:integer;
begin
s:= 'YH'+ FormatDateTime('yyyymmdd',Now());
With DM.QYHQX do
begin
Close;
SQL.Clear;
SQL.Add('select max(用户编号) as ss From 用户表');
Open;
end;
If DM.QYHQX.FieldByName('ss').Value=null then
s := s + '001'
else
begin
m:= Trim(DM.QYHQX.FieldByName('ss').Value) ;
i:= StrToInt(Trim(Copy(m,11,8))) ;
s:= s +Formatfloat('000',i+1);
end;
Edit1.Text := s;
end;
Function TFRM_YHQX.CanSave: Boolean;
begin
if (Edit1.Text='') then
begin
Result:=False;
Application.MessageBox('用户编号不能为空!','提示信息',0+MB_ICONINFORMATION);
exit;
end;
if (Edit2.Text='') then
begin
Result:=False;
Application.MessageBox('用户名不能为空!','提示信息',0+MB_ICONINFORMATION);
exit;
end;
if (Edit3.Text='') then
begin
Result:=False;
Application.MessageBox('密码不能为空!','提示信息',0+MB_ICONINFORMATION);
exit;
end;
if (Edit4.Text='') then
begin
Result:=False;
Application.MessageBox('请确认密码!','提示信息',0+MB_ICONINFORMATION);
exit;
end;
end;
procedure TFRM_YHQX.GetAll;
begin
Edit1.Text:=DM.DSOYHQX.FieldByName('用户编号').AsString;
Edit2.Text:=DM.DSOYHQX.FieldByName('用户名称').AsString;
Edit3.Text:=DM.DSOYHQX.FieldByName('密码').AsString;
CheckBox1.Checked:=DM.DSOYHQX.FieldByName('B1').AsBoolean;
CheckBox2.Checked:=DM.DSOYHQX.FieldByName('B2').AsBoolean;
CheckBox3.Checked:=DM.DSOYHQX.FieldByName('B3').AsBoolean;
CheckBox4.Checked:=DM.DSOYHQX.FieldByName('B4').AsBoolean;
CheckBox5.Checked:=DM.DSOYHQX.FieldByName('B5').AsBoolean;
CheckBox6.Checked:=DM.DSOYHQX.FieldByName('B6').AsBoolean;
CheckBox7.Checked:=DM.DSOYHQX.FieldByName('B7').AsBoolean;
CheckBox8.Checked:=DM.DSOYHQX.FieldByName('B8').AsBoolean;
CheckBox9.Checked:=DM.DSOYHQX.FieldByName('B9').AsBoolean;
CheckBox10.Checked:=DM.DSOYHQX.FieldByName('B10').AsBoolean;
CheckBox11.Checked:=DM.DSOYHQX.FieldByName('B11').AsBoolean;
CheckBox12.Checked:=DM.DSOYHQX.FieldByName('B12').AsBoolean;
CheckBox13.Checked:=DM.DSOYHQX.FieldByName('B13').AsBoolean;
CheckBox14.Checked:=DM.DSOYHQX.FieldByName('B14').AsBoolean;
CheckBox15.Checked:=DM.DSOYHQX.FieldByName('B15').AsBoolean;
CheckBox16.Checked:=DM.DSOYHQX.FieldByName('B16').AsBoolean;
end;
procedure TFRM_YHQX.Posting;
begin
if ActionCD='N' then
BEGIN
with DM.QYHQX do
begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO 用户表(用户名称,密码,B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,B13,B14,B15,B16,用户编号)');
SQL.Add('Values(:用户名称,:密码,:B1,:B2,:B3,:B4,:B5,:B6,:B7,:B8,:B9,:B10,:B11,:B12,:B13,:B14,:B15,:B16,:用户编号)');
Parameters.Items[0].Value:=Edit2.Text;
Parameters.Items[1].Value:=Edit3.Text;
Parameters.Items[2].Value:=CheckBox1.Checked;
parameters.Items[3].Value:=CheckBox2.Checked;
parameters.Items[4].Value:=CheckBox3.Checked;
parameters.Items[5].Value:=CheckBox4.Checked;
parameters.Items[6].Value:=CheckBox5.Checked;
parameters.Items[7].Value:=CheckBox6.Checked;
parameters.Items[8].Value:=CheckBox7.Checked;
parameters.Items[9].Value:=CheckBox8.Checked;
parameters.Items[10].Value:=CheckBox9.Checked;
parameters.Items[11].Value:=CheckBox10.Checked;
parameters.Items[12].Value:=CheckBox11.Checked;
parameters.Items[13].Value:=CheckBox12.Checked;
parameters.Items[14].Value:=CheckBox13.Checked;
parameters.Items[15].Value:=CheckBox14.Checked;
parameters.Items[16].Value:=CheckBox15.Checked;
parameters.Items[17].Value:=CheckBox16.Checked;
Parameters.Items[18].Value:=Edit1.Text;
Prepared:=True;
ExecSQL;
end;
END else
if ActionCD='M' then
begin
With DM.QYHQX DO
begin
Close;
SQL.Clear;
SQL.Add('update 用户表 Set 用户名称=:用户名称,');
SQL.Add('密码=:密码,B1=:B1,B2=:B2,B3=:B3,B4=:B4,B5=:B5,B6=:B6,B7=:B7,B8=:B8,B9=:B9,');
SQL.Add('B10=:B10,B11=:B11,B12=:B12,B13=:B13,B14=:B14,B15=:B15,B16=:B16 Where 用户编号=:用户编号');
Parameters.Items[0].Value:=Edit2.Text;
Parameters.Items[1].Value:=Edit3.Text;
Parameters.Items[2].Value:=CheckBox1.Checked;
parameters.Items[3].Value:=CheckBox2.Checked;
parameters.Items[4].Value:=CheckBox3.Checked;
parameters.Items[5].Value:=CheckBox4.Checked;
parameters.Items[6].Value:=CheckBox5.Checked;
parameters.Items[7].Value:=CheckBox6.Checked;
parameters.Items[8].Value:=CheckBox7.Checked;
parameters.Items[9].Value:=CheckBox8.Checked;
parameters.Items[10].Value:=CheckBox9.Checked;
parameters.Items[11].Value:=CheckBox10.Checked;
parameters.Items[12].Value:=CheckBox11.Checked;
parameters.Items[13].Value:=CheckBox12.Checked;
parameters.Items[14].Value:=CheckBox13.Checked;
parameters.Items[15].Value:=CheckBox14.Checked;
parameters.Items[16].Value:=CheckBox15.Checked;
parameters.Items[17].Value:=CheckBox16.Checked;
Parameters.Items[18].Value:=DM.DSOYHQX.FieldByName('用户编号').AsString;
Prepared:=true;
ExecSQL;
end;
end;
end;
procedure TFRM_YHQX.ENA;
var
i:integer;
begin
for i:=ComponentCount-1 downto 0 do
begin
if (Components[i] is TEdit) then
begin
TEdit(Components[i]).Color:=clWindow;
TEdit(Components[i]).ReadOnly:=False;
end;
end;
SpeedButton1.Enabled:=False;
SpeedButton2.Enabled:=False;
SpeedButton3.Enabled:=True;
SpeedButton5.Enabled:=True;
Panel1.Enabled:=True;
Panel2.Enabled:=True;
end;
procedure TFRM_YHQX.DIS;
var
i:integer;
begin
for i:=ComponentCount-1 downto 0 do
begin
if (Components[i] is Tedit) then
begin
TEdit(Components[i]).Color:=$00EFEFEF;
TEdit(Components[i]).ReadOnly:=true;
end;
end;
SpeedButton1.Enabled:=True;
SpeedButton2.Enabled:=True;
SpeedButton3.Enabled:=False;
SpeedButton4.Enabled:=False;
SpeedButton5.Enabled:=False;
Panel1.Enabled:=False;
end;
procedure TFRM_YHQX.CLS;
var
i:integer;
begin
for i:=ComponentCount-1 downto 0 do
begin
if(Components[i] is tedit) then
TEdit(Components[i]).Clear;
end;
Panel1.Enabled:=True;
Panel2.Enabled:=True;
CheckBox1.Checked:=False;
CheckBox2.Checked:=False;
CheckBox3.Checked:=False;
CheckBox4.Checked:=False;
CheckBox5.Checked:=False;
CheckBox6.Checked:=False;
CheckBox7.Checked:=False;
CheckBox8.Checked:=False;
CheckBox9.Checked:=False;
CheckBox10.Checked:=False;
CheckBox11.Checked:=False;
CheckBox12.Checked:=False;
CheckBox13.Checked:=False;
CheckBox14.Checked:=False;
CheckBox15.Checked:=False;
CheckBox16.Checked:=False;
end;
procedure TFRM_YHQX.SpeedButton1Click(Sender: TObject);
begin
CLS;
ENA;
ActionCD := 'N';
bh;
Edit2.SetFocus;
end;
procedure TFRM_YHQX.SpeedButton6Click(Sender: TObject);
begin
Close;
end;
procedure TFRM_YHQX.FormShow(Sender: TObject);
begin
DIS;
if ActionCD = 'M' then
GetAll
else if ActionCD = 'N' then
begin
CLS;
ENA;
end;
DM.DSOYHQX.Open;
Edit1.Text:=DM.DSOYHQX.FieldByName('用户编号').Value;
Edit2.Text:=DM.DSOYHQX.FieldByName('用户名称').Value;
Edit3.Text:=DM.DSOYHQX.FieldByName('密码').Value;
end;
procedure TFRM_YHQX.FormCreate(Sender: TObject);
begin
with DM.QYHQX do
begin
Close;
SQL.Clear;
SQL.Add('Select * from 用户表');
Open;
end;
DM.DSOYHQX.Open;
end;
procedure TFRM_YHQX.SpeedButton2Click(Sender: TObject);
begin
ENA;
SpeedButton4.Enabled:=True;
Edit2.SetFocus;
ACtionCD := 'M';
end;
procedure TFRM_YHQX.SpeedButton3Click(Sender: TObject);
begin
if Edit3.Text<>Edit4.Text then
begin
Application.MessageBox('两次输入密码不同,请重新输入!','提示!',64);
Edit4.Clear;
exit;
end;
if (cansave) then
begin
Posting;
DIS;
DM.DSOYHQX.Close;
DM.DSOYHQX.Open;
Application.MessageBox('保存成功!','提示!',64);
actioncd:='';
self.Close;
end;
end;
procedure TFRM_YHQX.SpeedButton4Click(Sender: TObject);
begin
Application.MessageBox('如果您不小心将最高权限用户删除,请不要退出系统,直接执行数据初始化操作!','提示',0+MB_ICONINFORMATION);
if DM.DSOYHQX.RecordCount=1 then
begin
Application.MessageBox('只有一条记录,无法删除!','提示',0+MB_ICONINFORMATION);
exit;
end;
if DM.DSOYHQX.IsEmpty then
exit;
if ID_YES=application.MessageBox('确实要删除这条记录吗?','提示',MB_YESNO) then
begin
DM.DSOYHQX.Delete;
self.OnShow(Sender);
end;
end;
procedure TFRM_YHQX.SpeedButton5Click(Sender: TObject);
begin
DIS;
SpeedButton4.Enabled:=False;
FRM_YHQX.GetAll;
ActionCD:='';
end;
procedure TFRM_YHQX.FormDestroy(Sender: TObject);
begin
DM.QYHQX.Close;
DM.DSOYHQX.Close;
end;
procedure TFRM_YHQX.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
Edit3.SetFocus;
end;
procedure TFRM_YHQX.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
Edit4.SetFocus;
end;
procedure TFRM_YHQX.Edit2Change(Sender: TObject);
begin
Edit2.Text:=Trim(Edit2.Text);
end;
procedure TFRM_YHQX.Edit3Change(Sender: TObject);
begin
Edit3.Text:=Trim(Edit3.Text);
end;
procedure TFRM_YHQX.Edit4Change(Sender: TObject);
begin
Edit4.Text:=Trim(Edit4.Text);
end;
procedure TFRM_YHQX.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
key:=#0;
end;
procedure TFRM_YHQX.DBGrid1CellClick(Column: TColumn);
begin
GetAll;
end;
procedure TFRM_YHQX.DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
GetAll;
end;
procedure TFRM_YHQX.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
FRM_MAIN.SetDBGird(Sender as TDBGrid,DM.QYHQX ,Rect,DataCol,Column,State);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -