📄 user_unit.pas
字号:
unit User_Unit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, ComCtrls, ToolWin, ExtCtrls, StdCtrls, Grids, DBGrids,
DB, ADODB, Menus;
type
TUser_Form = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ImageList1: TImageList;
DBGrid1: TDBGrid;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
Label3: TLabel;
Edit3: TEdit;
procedure ToolButton3Click(Sender: TObject);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormCreate(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ToolButton6Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
private
{ Private declarations }
public
{ Public declarations }
Modify: boolean;
end;
var
User_Form: TUser_Form;
implementation
uses Datamodule_Unit;
{$R *.dfm}
procedure TUser_Form.ToolButton3Click(Sender: TObject);
begin
Self.Close;
end;
procedure TUser_Form.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = vk_Return then
begin
if Edit1.Text = '' then
begin
Application.MessageBox('请输入编码!', '提示', Mb_Ok or Mb_IconWarning);
end
else
begin
Edit2.SetFocus;
end;
end;
end;
procedure TUser_Form.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = vk_Return then
begin
if Edit2.Text = '' then
begin
Application.MessageBox('请输入用户名称!', '提示', Mb_Ok or Mb_IconWarning);
end
else
begin
Edit3.SetFocus;
end;
end
end;
procedure TUser_Form.FormCreate(Sender: TObject);
begin
Modify := False;
with datamodule_Unit.DM.Aq_user do
begin
Close;
Sql.Clear;
SQL.Add('select * from 用户信息表');
try
Open;
except
end;
DBGrid1.Columns.Items[0].FieldName := 'User_Id';
DBGrid1.Columns.Items[1].FieldName := 'User_Name';
DBGrid1.Columns.Items[0].Title.Caption := '用户编号';
DBGrid1.Columns.Items[1].Title.Caption := '用户名称';
end;
end;
procedure TUser_Form.FormActivate(Sender: TObject);
begin
Edit1.SetFocus;
if Edit3.Enabled = False then
begin
Edit3.Enabled := True;
end;
end;
procedure TUser_Form.ToolButton2Click(Sender: TObject);
begin
if Datamodule_Unit.DM.Aq_user.RecordCount > 0 then
begin
if application.MessageBox('是否真的删除?', '记录删除', 4) = 6 then
begin
if Datamodule_Unit.DM.Aq_user.FieldByName('User_id').AsString = 'System' then
begin
Application.MessageBox('不能删除系统管理员!', '提示', Mb_Ok or Mb_IconError);
Exit;
end;
try
Datamodule_Unit.DM.Aq_user.Delete;
Application.MessageBox('删除成功!', '提示', Mb_Ok or Mb_IconInformation);
except
Application.MessageBox('删除失败!', '提示', Mb_Ok or Mb_IconStop);
end;
end;
with Datamodule_Unit.DM.Aq_user do
begin
Close;
SQL.Clear;
SQL.Add('select * from 用户信息表');
Active := true;
end;
end;
end;
procedure TUser_Form.ToolButton1Click(Sender: TObject);
begin
Edit1.Clear;
Edit2.Clear;
Edit1.SetFocus;
if ToolButton2.Enabled = False then
begin
ToolButton2.Enabled := True;
end;
if ToolButton5.Enabled = False then
begin
ToolButton5.Enabled := True;
end;
end;
procedure TUser_Form.DBGrid1DblClick(Sender: TObject);
begin
ToolButton5.Click;
end;
procedure TUser_Form.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := CaFree;
User_Form := nil;
end;
procedure TUser_Form.ToolButton6Click(Sender: TObject);
begin
ToolButton2.Enabled := True;
ToolButton5.Enabled := True;
if (Edit1.Text = '') or (Edit2.Text = '') then
begin
Application.MessageBox('请输入完整的信息!', '提示', Mb_Ok or Mb_IconWarning);
Edit1.SetFocus;
end
else //输入信息完整可以保存
begin
with Datamodule_Unit.DM.Aq_user do
begin
SQL.Clear;
SQL.Add('select * from 用户信息表 where User_id=:bm');
Parameters.ParamByName('bm').Value := edit1.Text;
Active := true;
if Recordset.RecordCount > 0 then //有此条记录
begin
if Modify = False then //非修改模式
begin
Application.MessageBox('已有此信息,请重输!', '提示', Mb_Ok or Mb_IconWarning);
Close;
SQL.Clear;
SQL.Add('select * from 用户信息表 order by User_id');
Active := true;
edit1.SetFocus;
end
else //单击了修改按钮
begin
Edit;
FieldByName('User_id').AsString := Edit1.Text;
FieldByName('User_name').AsString := Edit2.Text;
FieldByName('PWD').AsString := Edit3.Text;
try
Post;
Application.MessageBox('保存成功!', '提示', Mb_Ok or Mb_IconInformation);
Modify := False;
except
Application.MessageBox('保存失败!', '提示', Mb_Ok or Mb_IconStop);
end;
end;
end
else //新用户
begin
SQL.Clear;
SQL.Add('insert into 用户信息表(User_id,User_Name,PWD) values(:bm,:mc,:PWD)');
parameters.ParamByName('bm').value := edit1.text;
parameters.ParamByName('mc').value := edit2.text;
parameters.ParamByName('PWD').value := edit3.text;
try
ExecSQL;
Application.MessageBox('保存成功!', '提示', Mb_Ok or Mb_IconInformation);
except
Application.MessageBox('保存失败!', '提示', Mb_Ok or Mb_IconStop);
end;
end;
SQL.Clear;
SQL.Add('select * from 用户信息表');
Active := true;
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit1.SetFocus;
end;
end;
end;
procedure TUser_Form.ToolButton5Click(Sender: TObject);
begin
if Datamodule_Unit.DM.Aq_user.RecordCount > 0 then
begin
Edit1.Text := Datamodule_Unit.DM.Aq_user.FieldValues['User_Id'];
Edit2.Text := Datamodule_Unit.DM.Aq_user.FieldValues['User_Name'];
if Datamodule_Unit.DM.Aq_user.FieldValues['PWD'] <> null then
begin
Edit3.Text := Datamodule_Unit.DM.Aq_user.FieldValues['PWD'];
end;
Modify := True;
end;
end;
procedure TUser_Form.N1Click(Sender: TObject);
begin
ToolButton1.Click;
end;
procedure TUser_Form.N2Click(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TUser_Form.N3Click(Sender: TObject);
begin
ToolButton5.Click;
end;
procedure TUser_Form.N4Click(Sender: TObject);
begin
ToolButton6.Click;
end;
procedure TUser_Form.FormShow(Sender: TObject);
begin
Modify := False;
end;
procedure TUser_Form.Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 13 then
begin
ToolButton6.Click;
end;
end;
procedure TUser_Form.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if DBGrid1.DataSource.DataSet.RecNo mod 2 = 0 then //条件判断
begin
with DBGrid1 do
begin
Canvas.Font.Color := clBlack;
Canvas.Brush.Color := clAqua;
end;
end
Else
begin
with DBGrid1 do
begin
Canvas.Font.Color := clBlack;
Canvas.Brush.Color := clMoneyGreen;
end;
end;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -