⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uyhqx.pas

📁 明日科技的《Delphi数据库开发案例精选》中的资源管理系统源代码。界面美观
💻 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 + -