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

📄 unit5.~pas

📁 作者针对当前酒店客房管理的现状
💻 ~PAS
字号:
unit Unit5;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, StdCtrls, DB, DBTables, ExtCtrls;

type
  TForm5 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Label3: TLabel;
    Edit3: TEdit;
    Label4: TLabel;
    ComboBox1: TComboBox;
    DBGrid1: TDBGrid;
    Panel3: TPanel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Query1: TQuery;
    DataSource1: TDataSource;
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure Edit2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit3KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Edit2Change(Sender: TObject);

    procedure Button3Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.Button4Click(Sender: TObject);
begin
     Edit1.Clear;
    Edit2.Clear;
    Edit3.Clear;
    ComboBox1.ItemIndex:= 0;
end;

procedure TForm5.Button5Click(Sender: TObject);
begin
   close;
end;

procedure TForm5.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
     if key = vk_return then
    Edit2.SetFocus;
end;

procedure TForm5.Edit2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
     if key = vk_return then
    Edit3.SetFocus;
  if key = vk_up then
    Edit1.SetFocus;
end;

procedure TForm5.Edit3KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if key = vk_return then
    ComboBox1.SetFocus;
  if Key = vk_up then
    Edit2.SetFocus;
end;

procedure TForm5.ComboBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if (key = vk_return)and(Button2.Enabled = True) then
    Button2.SetFocus;
end;

procedure TForm5.Button1Click(Sender: TObject);
begin
  With Query1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select UserID From Operator ');
    Open;
  end;
  If Query1.FieldByName('UserID').Value = null then


Query1.FieldByName('UserID').Value:= Edit1.Text ;


end;

procedure TForm5.Button2Click(Sender: TObject);
begin
  with Query1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select * from Operator where UserID= :a');
   ParamByName('a').Value  := Trim(Edit1.Text);
    Open;
  end;
  If Query1.RecordCount >0 then
  begin
    Application.MessageBox('操作员已经存在,请重新输入。','提示',0+64);
    Button4.OnClick(Sender);
    Exit;
  end;
  Try
  with Query1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('Insert  Operator Values(:a , :b , :c , :d ,Default)');
    ParamByName('a').Value := Trim(Edit1.Text);
    ParamByName('b').Value := Trim(Edit2.Text);
   ParamByName('c').Value := Trim(Edit3.Text);
   ExecSQL;
  end;
    Application.MessageBox(Pchar('添加成功,操作员密码为“'+ Trim(Edit3.Text)+'”'),'提示',0+64);
    Button2.OnClick(Sender);
  Except
  begin
    Application.MessageBox('系统出错。','提示',0+64);
    Close;
  end;
  end;
  with Query1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select * from Operator' );
    Open;
  end;

end;

procedure TForm5.Edit2Change(Sender: TObject);
begin
   if (Trim(Edit1.Text)<>'')and(Trim(Edit2.Text)<>'')and(Trim(Edit3.Text)<>'')
    and(Trim(ComboBox1.Text )<>'')then
    begin
      Button2.Enabled := True;
      Button3.Enabled := True;
    end
  else
    begin
    Button2.Enabled := False;
    Button3.Enabled := False;
  end;
end;



procedure TForm5.Button3Click(Sender: TObject);
begin
   with Query1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select * from Operator where UserID= :a');
  ParamByName('a').Value  := Trim(Edit1.Text);
    Open;
  end;
  If Query1.RecordCount <1 then
  begin
    Application.MessageBox('操作员不存在,请在列表中选择操作员。','提示',0+64);
    Button4.OnClick(Sender);
    Exit;
  end
  Else
  begin
    Try
    with Query1 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('Delete Operator where UserID = :a');
    ParamByName('a').Value := Trim(Edit1.Text);
      if Application.MessageBox(pchar('确实要删除编号为'+ Edit1.Text + '的操作员吗?'),'提示',MB_YESNO )= ID_Yes then
      begin
        ExecSQL;
        Application.MessageBox('删除成功。','提示',0+64);
        Button4.OnClick(Sender);
      end
      else
      begin
        Close;
        SQL.Clear;
        Button4.OnClick(Sender);
      end;
    end;
    Except
    begin
      Application.MessageBox('系统出错。','提示',0+64);
      Self.Close;
    end;
    end;
  end;
  with Query1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select * from Operator');
    Open;
end;
  end;
procedure TForm5.FormShow(Sender: TObject);
begin
   with Query1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select UserID,UserName,UserPwd,Class from Operator');
    Open;
  end;
  if Query1.RecordCount>0 then
    DataSource1.DataSet := Query1
  else
    DataSource1.DataSet := Nil;
  Combobox1.ItemIndex := 0 ;

  Button1.SetFocus;
end;

procedure TForm5.DBGrid1CellClick(Column: TColumn);
begin
  if DataSource1.DataSet <> Nil then
    if DataSource1.DataSet.RecordCount>0 then
    begin
      Edit1.Text := Query1.FieldByName('UserID').AsString;
      Edit2.Text := Query1.FieldByName('UserName').AsString;
      Edit3.Text := Query1.FieldByName('UserPwd').AsString;
      ComboBox1.Text :=  Trim(Query1.FieldByName('Class').AsString);
    end;
end;

end.

⌨️ 快捷键说明

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