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

📄 registeremployee.pas

📁 餐饮管理源代码 使用BDE Administrator在本地机器上添加一个Paradox数据库别名命名为WorkData
💻 PAS
字号:
unit registerEmployee;

interface

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

type
  TfrmRegisterEmployee = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    employeeId: TEdit;
    employeeName: TEdit;
    gender: TComboBox;
    folk: TEdit;
    birthday: TDateTimePicker;
    telephone: TEdit;
    joinTime: TDateTimePicker;
    address: TEdit;
    Label10: TLabel;
    note: TEdit;
    btnCancel: TButton;
    btnOk: TButton;
    eduLevel: TComboBox;
    Panel1: TPanel;
    DBGrid1: TDBGrid;
    GroupBox3: TGroupBox;
    asc: TRadioButton;
    desc: TRadioButton;
    GroupBox2: TGroupBox;
    id: TRadioButton;
    name: TRadioButton;
    level: TRadioButton;
    join: TRadioButton;
    Query1: TQuery;
    DataSource1: TDataSource;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Table1: TTable;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ascClick(Sender: TObject);
    procedure descClick(Sender: TObject);
    procedure idClick(Sender: TObject);
    procedure nameClick(Sender: TObject);
    procedure levelClick(Sender: TObject);
    procedure joinClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure btnCancelClick(Sender: TObject);
    procedure btnOkClick(Sender: TObject);
  private
    { Private declarations }
    function isTelephone(s:string):boolean;
  public
    { Public declarations }
  end;

var
  frmRegisterEmployee: TfrmRegisterEmployee;

implementation



{$R *.dfm}

procedure TfrmRegisterEmployee.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
   self.Free;
end;
procedure TfrmRegisterEmployee.ascClick(Sender: TObject);
var
   col:string;
begin
   if id.Checked then col:='员工编号'
   else if name.Checked then col:='员工姓名'
   else if level.Checked then col:='学历'
   else if join.Checked then col:='加盟时间';
   query1.Close;
   query1.SQL.Clear;
   query1.SQL.Add('select * from employee order by '+col+' asc');
   try
      query1.Open;
   except
      query1.ExecSQL;
   end;
end;

procedure TfrmRegisterEmployee.descClick(Sender: TObject);
var
   col:string;
begin
   if id.Checked then col:='员工编号'
   else if name.Checked then col:='员工姓名'
   else if level.Checked then col:='学历'
   else if join.Checked then col:='加盟时间';
   query1.Close;
   query1.SQL.Clear;
   query1.SQL.Add('select * from employee order by '+col+' desc');
   try
      query1.Open;
   except
      query1.ExecSQL;
   end;
end;

procedure TfrmRegisterEmployee.idClick(Sender: TObject);
var
   s:string;
begin
   if asc.Checked then s:='asc'
   else if desc.Checked then s:='desc';
   query1.Close;
   query1.SQL.Clear;
   query1.SQL.Add('select * from employee order by 员工编号 '+s);
   try
      query1.Open;
   except
      query1.ExecSQL;
   end;
end;

procedure TfrmRegisterEmployee.nameClick(Sender: TObject);
var
   s:string;
begin
   if asc.Checked then s:='asc'
   else if desc.Checked then s:='desc';
   query1.Close;
   query1.SQL.Clear;
   query1.SQL.Add('select * from employee order by 员工姓名 '+s);
   try
      query1.Open;
   except
      query1.ExecSQL;
   end;
end;

procedure TfrmRegisterEmployee.levelClick(Sender: TObject);
var
   s:string;
begin
   if asc.Checked then s:='asc'
   else if desc.Checked then s:='desc';
   query1.Close;
   query1.SQL.Clear;
   query1.SQL.Add('select * from employee order by 学历 '+s);
   try
      query1.Open;
   except
      query1.ExecSQL;
   end;
end;

procedure TfrmRegisterEmployee.joinClick(Sender: TObject);
var
   s:string;
begin
   if asc.Checked then s:='asc'
   else if desc.Checked then s:='desc';
   query1.Close;
   query1.SQL.Clear;
   query1.SQL.Add('select * from employee order by 加盟时间 '+s);
   try
      query1.Open;
   except
      query1.ExecSQL;
   end;
end;

procedure TfrmRegisterEmployee.FormCreate(Sender: TObject);
var
   maxNo,tmp:integer;
begin
   birthday.Date:=strToDate('1980-3-6');
   joinTime.Date:=now;
   {获取新添加会员的编号----------<会员表>}
   with table1 do
   begin
      open;
      first;
      maxNo:=fieldByName('员工编号').AsInteger;
      while not eof do
      begin
         tmp:=fieldByName('员工编号').AsInteger;
         if maxNo<tmp then maxNo:=tmp;
         next;
      end;
      close;
   end;
   employeeId.Text:=intToStr(maxNo+1);
   activeControl:=employeeName;
end;

procedure TfrmRegisterEmployee.btnCancelClick(Sender: TObject);
var
   maxNo,tmp:integer;
begin
   {获取新添加会员的编号----------<会员表>}
   with table1 do
   begin
      open;
      first;
      maxNo:=fieldByName('员工编号').AsInteger;
      while not eof do
      begin
         tmp:=fieldByName('员工编号').AsInteger;
         if maxNo<tmp then maxNo:=tmp;
         next;
      end;
      close;
   end;
   employeeId.Text:=intToStr(maxNo+1);
   activeControl:=employeeName;
   employeeName.Text:='';
   folk.Text:='';
   gender.ItemIndex:=0;
   birthday.Date:=now;
   eduLevel.ItemIndex:=0;
   telephone.Text:='';
   address.Text:='';
   joinTime.DateTime:=now;
   note.Text:='';
end;

procedure TfrmRegisterEmployee.btnOkClick(Sender: TObject);
var
   maxNo,tmp:integer;
begin
   {添加一个新员工----------<员工表>}
   try
      {检查"员工姓名"}
      if (employeeName.Text='') or (length(employeeName.Text)>8) then
      begin
         messageDlg('"员工姓名"输入错误,请重新输入!',mtWarning,[mbOk],0);
         activeControl:=employeeName;
         abort;
      end;
      {检查"性别"}
      if gender.Text='' then
      begin
         messageDlg('请选择员工"性别"!',mtWarning,[mbOk],0);
         activeControl:=gender;
         abort;
      end;
      {检查"学历"}
      if eduLevel.Text='' then
      begin
         messageDlg('请选择员工"学历"!',mtWarning,[mbOk],0);
         activeControl:=eduLevel;
         abort;
      end;
      {检查"生日"与"加盟时间"}
      if birthday.Date>=joinTime.Date then
      begin
         messageDlg('"加盟时间"或"生日"输入错误,请重新输入!',mtWarning,[mbOk],0);
         activeControl:=birthDay;
         abort;
      end;
      {检查"电话"}
      if (length(telephone.Text)>12)or(isTelephone(telephone.Text)=false) then
      begin
         messageDlg('"联系电话"输入错误,请重新输入!',mtWarning,[mbOk],0);
         activeControl:=telephone;
         abort;
      end;
      {检查"民族"}
      if(length(folk.Text)>6) then
      begin
         messageDlg('"民族"输入错误,请重新输入!',mtWarning,[mbOk],0);
         activeControl:=folk;
         abort;
      end;
      {检查"住址"}
      if(length(address.Text)>20)or(address.Text='') then
      begin
         messageDlg('"住址"输入错误,请重新输入!',mtWarning,[mbOk],0);
         activeControl:=address;
         abort;
      end;
      {检查"备注"}
      if length(note.Text)>60 then
      begin
         messageDlg('"备注"输入过长,请重新输入!',mtWarning,[mbOk],0);
         activeControl:=note;
         abort;
      end;
      {将员工数据填入<员工表>}
      with table1 do
      begin
         open;
         append;
         fieldByName('员工编号').AsInteger:=strToInt(employeeId.Text);
         fieldByName('员工姓名').AsString:=employeeName.Text;
         fieldByName('性别').AsString:=gender.Text;
         fieldByName('民族').AsString:=folk.Text;
         fieldByName('学历').AsString:=eduLevel.Text;
         fieldByName('生日').AsDateTime:=birthday.Date;
         fieldByName('电话').AsString:=telephone.Text;
         fieldByName('住址').AsString:=address.Text;
         fieldByName('加盟时间').AsDateTime:=joinTime.Date;
         fieldByName('备注').AsString:=note.Text;
         post;
         close;
      end;
   except
      on ex:EConvertError do
      begin
         messageDlg('输入有误,请重试!',mtWarning,[mbOk],0);
      end;
   end; {end of try}

   {让数据控件dbGrid1同步显示}
   with query1 do
   begin
      close;
      sql.Clear;
      sql.Add('select * from employee');
      open;
   end;

   {清屏准备输入下一位新员工}
   btnCancelClick(Sender);//调用清屏按钮的处理操作
   messageDlg('新员工添加成功!',mtWarning,[mbOk],0);
   activeControl:=employeeName;
end;

function TfrmRegisterEmployee.isTelephone(s: string): boolean;
var
   i:integer;
begin
   if length(s)=0 then
   begin
      result:=false;
      exit;
   end;
   i:=1;
   while i<=length(s) do
   begin
      if isNumeric(s[i])=false then
      begin
         result:=false;
         exit;
      end;
      i:=i+1;
   end;
end;
end.

⌨️ 快捷键说明

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