uqxxg.pas

来自「很好的汽车管理系统 很实用的 谢谢合作」· PAS 代码 · 共 373 行

PAS
373
字号
unit UQXXG;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, Grids, DBGrids, StdCtrls, ExtCtrls, DBCtrls, Mask;

type
  TQXXG = class(TForm)
    Panel1: TPanel;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label4: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Panel2: TPanel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    SpeedButton6: TSpeedButton;
    Panel3: TPanel;
    DBGrid1: TDBGrid;
    GroupBox2: TGroupBox;
    Label5: TLabel;
    Edit3: TEdit;
    Edit4: TEdit;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure DBGrid1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    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 DBGrid1DblClick(Sender: TObject);
  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
  QXXG: TQXXG;
  ActionCD:String;
implementation

uses UMain, UDM;

{$R *.dfm}

procedure TQXXG.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 TQXXG.BH;
var
  s,m:string;
begin
  with dm.Qoper do
  begin
    Close;
    SQL.Clear;
    SQL.Add('Select max(userno) as 用户编号 From userpower');
    Open;
  end;
  if dm.ADODSOPER.FieldByName('userno').Value=null then
    s:=s+'1'
  else
  begin
    dm.ADODSOPER.Last;
    m:=Trim(DM.ADODSOPER.Fieldbyname('userno').Value);
    s:=inttostr(strtoint(m)+1);
  end;
  edit1.Text:=s;
end;

function TQXXG.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 TQXXG.GetAll;
begin
  Edit1.Text:=DM.ADODSOPER.fieldbyname('userno').AsString;
  Edit2.Text:=DM.ADODSOPER.FieldByName('username').AsString;
  Edit3.Text:=DM.ADODSOPER.FieldByName('pas').AsString;
  CheckBox1.Checked:=DM.ADODSOPER.FieldByName('N1').AsBoolean;
  CheckBox2.Checked:=DM.ADODSOPER.FieldByName('N2').AsBoolean;
  CheckBox3.Checked:=DM.ADODSOPER.FieldByName('N11').AsBoolean;
  CheckBox4.Checked:=DM.ADODSOPER.FieldByName('N5').AsBoolean;
end;

procedure TQXXG.Posting;
begin
  if ActionCD='N' then
  BEGIN
    with DM.Qoper do
    begin
      Close;
      SQL.Clear;
      SQL.Add('INSERT INTO userpower(username,pas,n1,n2,n11,n5,userno)');
      SQL.Add('Values(:用户名称,:密码,:基本信息,:系统设置,:日常业务,:查询统计,:用户编号)');
      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:=Edit1.Text;
      Prepared:=True;
      ExecSQL;
    end;
  END else
  if ActionCD='M' then
  begin
    With DM.Qoper DO
    begin
      Close;
      SQL.Clear;
      SQL.Add('update userpower Set username=:用户名称,');
      SQL.Add('pas=:密码,n1=:基本信息,n2=:系统设置,n11=:日常业务,n5=:查询统计 Where userno=:用户编号');
      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:=DM.ADODSOPER.FieldByName('userno').AsString;
      Prepared:=true;
      ExecSQL;
    end;
  end;
end;

procedure TQXXG.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;
  SpeedButton4.Enabled:=True;
  Panel1.Enabled:=True;
end;
procedure TQXXG.DIS;
var
  i:integer;
begin
  for i:=ComponentCount-1 downto 0 do
  begin
    if (Components[i] is Tedit) then
    begin
      TEdit(Components[i]).Color:=$00d8d8d8;
      TEdit(Components[i]).ReadOnly:=true;
    end;
  end;
  SpeedButton1.Enabled:=True;
  SpeedButton2.Enabled:=True;
  SpeedButton3.Enabled:=False;
  SpeedButton4.Enabled:=False;
  Panel1.Enabled:=False;
end;
procedure TQXXG.CLS;
var
  i:integer;
begin
  for i:=ComponentCount-1 downto 0 do
  begin
    if(Components[i] is tedit) then
      TEdit(Components[i]).Clear;
  end;
  CheckBox1.Checked:=False;
  CheckBox2.Checked:=False;
  CheckBox3.Checked:=False;
  CheckBox4.Checked:=False;
end;
procedure TQXXG.SpeedButton5Click(Sender: TObject);
begin
  DIS;
  ActionCD:='';
  Close;
end;

procedure TQXXG.SpeedButton1Click(Sender: TObject);
begin
  CLS;
  ENA;
  ActionCD := 'N';
  bh;
  Edit2.SetFocus;
end;

procedure TQXXG.SpeedButton2Click(Sender: TObject);
begin
  ENA;
  ACtionCD := 'M';
end;

procedure TQXXG.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.ADODSOPER.Close;
    DM.ADODSOPER.Open;
    Application.MessageBox('保存成功!','提示!',64);
    actioncd:='';
    qxxg.Close;
  end;
end;

procedure TQXXG.SpeedButton4Click(Sender: TObject);
begin
  DIS;
  QXXG.GetAll;
  ActionCD:='';
end;

procedure TQXXG.SpeedButton6Click(Sender: TObject);
begin
    Application.MessageBox('如果您不小心将最高权限用户删除,请不要退出系统,直接执行数据初始化操作!','提示',0+MB_ICONINFORMATION);
    if dm.ADODSOPER.RecordCount=1 then
    begin
      Application.MessageBox('只有一条记录,无法删除!','提示',0+MB_ICONINFORMATION);
      exit;
    end;
    if dm.ADODSOPER.IsEmpty then
      exit;
    if ID_YES=application.MessageBox('确实要删除这条记录吗?','提示',MB_YESNO) then
    begin
      dm.ADODSOPER.Delete;
      self.OnShow(Sender);
    end;
end;

procedure TQXXG.FormShow(Sender: TObject);
begin
  DIS;
  if ActionCD = 'M' then
    GetAll
  else if ActionCD = 'N' then
  begin
    CLS;
    ENA;
  end;
  dm.ADODSOPER.Open;
  Edit1.Text:=DM.ADODSOPER.FieldByName('userno').Value;
  Edit2.Text:=DM.ADODSOPER.FieldByName('username').Value;
  Edit3.Text:=DM.ADODSOPER.FieldByName('pas').Value;
end;

procedure TQXXG.FormCreate(Sender: TObject);
begin
  with DM.Qoper do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select * from USERPOWER');
    Open;
  end;
  DM.ADODSOPER.Open;
end;

procedure TQXXG.DBGrid1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  GETALL;
end;

procedure TQXXG.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
  if (key in[#46]) then
    key:=#0;
  if key=#13 then
    Edit3.SetFocus;
end;

procedure TQXXG.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
    Edit4.SetFocus;
end;

procedure TQXXG.Edit2Change(Sender: TObject);
begin
tr
end;

procedure TQXXG.Edit3Change(Sender: TObject);
begin
tr
end;

procedure TQXXG.Edit4Change(Sender: TObject);
begin
tr
end;

procedure TQXXG.DBGrid1DblClick(Sender: TObject);
begin
  GetAll;
end;

end.


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?