📄 ry.pas
字号:
unit ry;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids,inifiles, ExtCtrls, StdCtrls, Buttons,
SkinCtrls, DBGridEh, Menus, ComCtrls, jpeg, Gauges;
type
TForm5 = class(TForm)
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
Panel1: TPanel;
GroupBox1: TGroupBox;
Label1: TLabel;
ComboBox1: TComboBox;
SpeedButton1: TSpeedButton;
Panel2: TPanel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Panel3: TPanel;
Edit4: TEdit;
spSkinButton1: TspSkinButton;
DBGridEh1: TDBGridEh;
Panel4: TPanel;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
TreeView1: TTreeView;
Panel5: TPanel;
ADOQuery2: TADOQuery;
spSkinToolBar1: TspSkinToolBar;
spSkinBevel1: TspSkinBevel;
spSkinSpeedButton1: TspSkinSpeedButton;
spSkinSpeedButton2: TspSkinSpeedButton;
spSkinSpeedButton3: TspSkinSpeedButton;
spSkinBevel2: TspSkinBevel;
spSkinSpeedButton4: TspSkinSpeedButton;
spSkinSpeedButton5: TspSkinSpeedButton;
spSkinBevel3: TspSkinBevel;
spSkinSpeedButton6: TspSkinSpeedButton;
Panel6: TPanel;
Image1: TImage;
Gauge1: TGauge;
Timer1: TTimer;
Gauge2: TGauge;
Timer2: TTimer;
ADOQuery3: TADOQuery;
procedure FormShow(Sender: TObject);
procedure onmousewhell(var msg:tmsg;var handled:boolean);
procedure FormResize(Sender: TObject);
procedure ComboBox1Select(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure spSkinButton1Click(Sender: TObject);
procedure TreeView1Click(Sender: TObject);
procedure DBGridEh1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
procedure spSkinSpeedButton6Click(Sender: TObject);
procedure spSkinSpeedButton2Click(Sender: TObject);
procedure spSkinSpeedButton1Click(Sender: TObject);
procedure spSkinSpeedButton3Click(Sender: TObject);
procedure DBGridEh1DblClick(Sender: TObject);
procedure spSkinSpeedButton4Click(Sender: TObject);
procedure spSkinSpeedButton5Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
uses login,jbxishowall,ygxxedit,xxprive;
{$R *.dfm}
procedure TForm5.FormShow(Sender: TObject);
begin
gauge2.Top:=gauge1.Top;
gauge2.Left:=gauge1.Left;
gauge2.Visible:=false;
adoquery1.sql.Clear;
adoquery1.SQL.Add('select * from jibenxinxi');
adoquery1.Open;
gauge1.MaxValue:=adoquery1.Recordset.RecordCount;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('select * from bumen where 状态="正常"');
adoquery2.Open;
adoquery2.First;
treeview1.Items.Clear;
treeview1.Items.Add(nil,'所有员工');
while not adoquery2.Eof do
begin
treeview1.Items.AddChild(nil,adoquery2.FieldValues['部门名称']);
adoquery2.Next;
end;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('select * from gongz');
adoquery3.Open;
end;
procedure tform5.onmousewhell(var msg:tmsg;var handled:boolean);
begin
if Msg.message = WM_MouseWheel then
begin
if Msg.wParam > 0 then
begin
if DBGrideh1.Focused then
SendMessage(DBGrideh1.Handle,WM_VSCROLL,SB_PAGEUP,0);
end
else
begin
if DBGrideh1.Focused then
SendMessage(DBGrideh1.Handle,WM_VSCROLL,SB_PAGEDOWN,0);
end;
Handled:= True;
end;
end;
procedure TForm5.FormResize(Sender: TObject);
begin
groupbox1.Width:=panel1.Width-5;
spskinbutton1.Left:=groupbox1.Width-self.Width+groupbox1.Width-42;
end;
procedure TForm5.ComboBox1Select(Sender: TObject);
var it:string;
x1,y1:integer;
hwnd:hdc;
begin
hwnd:=getwindowdc(panel1.Handle);
canvas.Handle:=groupbox1.Handle;
x1:=speedbutton1.Left+speedbutton1.Width+4;
y1:=speedbutton1.Top+speedbutton1.Height;
canvas.Pen.Color:=clred;
canvas.Handle:=hwnd;
canvas.Rectangle(speedbutton1.Left+2,speedbutton1.Top-2,x1,y1);
it:=combobox1.Text;
if it='员工代码' then
begin
panel2.Visible:=true;
panel3.Visible:=false;
speedbutton1.Visible:=true;
end;
if it='姓 名' then
begin
panel2.Visible:=false;
panel3.Visible:=true;
panel3.Left:=panel2.Left;
speedbutton1.Visible:=true;
end;
if it='年 龄' then
begin
panel2.Visible:=true;
panel3.Visible:=false;
speedbutton1.Visible:=true;
end;
end;
procedure TForm5.SpeedButton1Click(Sender: TObject);
var str:string;
begin
str:='select * from jibenxinxi where 姓名 like '+'"%'+edit4.text+'%"';
adoquery1.SQL.Clear;
adoquery1.Close;
if panel3.Visible then
begin
adoquery1.SQL.Add(str);
adoquery1.Active:=true;
adoquery1.Open;
dbgrideh1.Refresh;
dbgrideh1.Columns[1].Color:=clcream;
if adoquery1.Recordset.RecordCount=0 then application.MessageBox('对不起,没有查询到你的数据信息!','查询提示',mb_ok);
end;
if combobox1.text='员工代码' then
begin
if (trim(edit2.text)<>'') and (trim(edit1.Text)<>'') then
begin
str:='select * from jibenxinxi where 员工代码 between '+edit2.Text+' and '+edit1.Text;
adoquery1.SQL.Add(str);
adoquery1.Active:=true;
adoquery1.Open;
dbgrideh1.Refresh;
dbgrideh1.Columns[0].Color:=clcream;
if adoquery1.Recordset.RecordCount=0 then application.MessageBox('对不起,没有查询到你的数据信息!','查询提示',mb_ok);
end
else application.MessageBox('查询条件不能为空,请输入查询条件','查询提示',mb_ok);
end;
if combobox1.Text='年 龄' then
begin
if (trim(edit2.text)<>'') and (trim(edit1.Text)<>'') then
begin
str:='select * from jibenxinxi where 年龄 between '+edit2.Text+' and '+edit1.Text;
adoquery1.SQL.Add(str);
adoquery1.Active:=true;
adoquery1.Open;
dbgrideh1.Refresh;
dbgrideh1.Columns[4].Color:=clcream;
if adoquery1.Recordset.RecordCount=0 then application.MessageBox('对不起,没有查询到你的数据信息!','查询提示',mb_ok);
end
else application.MessageBox('查询条件不能为空,请输入查询条件','查询提示',mb_ok);
end;
end;
procedure TForm5.FormClose(Sender: TObject; var Action: TCloseAction);
begin
adoquery1.close;
adoquery2.Close;
adoquery3.Close;
gauge1.Destroy;
gauge2.Destroy;
end;
procedure TForm5.spSkinButton1Click(Sender: TObject);
begin
close;
end;
procedure TForm5.TreeView1Click(Sender: TObject);
begin
if treeview1.Selected.text='所有员工' then
begin
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from jibenxinxi');
adoquery1.Open;
end
else
begin
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from jibenxinxi where 所在部门="'+treeview1.Selected.Text+'"');
adoquery1.Open;
dbgrideh1.Refresh;
dbgrideh1.Columns[0].Color:=clcream;
dbgrideh1.Columns[1].Color:=clcream;
dbgrideh1.Columns[2].Color:=clcream;
dbgrideh1.Columns[3].Color:=clcream;
dbgrideh1.Columns[24].Color:=clskyblue;
//gauge1.MaxValue:=adoquery1.FieldCount;
if adoquery1.Recordset.RecordCount=0 then showmessage('对不起,该部门有可能是刚成立的,现在还没有员工!!'+#13+' ---希望贵单位能够很快招到好人才!');
end;
end;
procedure TForm5.DBGridEh1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
var i:integer;
begin
for i:=0 to dbgrideh1.Columns.Count-1 do
begin
dbgrideh1.Columns[i].Title.Alignment:=tacenter;
end;
end;
procedure TForm5.spSkinSpeedButton6Click(Sender: TObject);
begin
close;
end;
procedure TForm5.spSkinSpeedButton2Click(Sender: TObject);
begin
if application.MessageBox('你确认要删除该条员工信息吗?','系统提示',MB_YesNo OR MB_defbutton2 or mb_iconstop or mb_applmodal)=idyes then
begin
with adoquery1 do
begin
try
delete;
showmessage('该条员工信息已删除,删除成功!');
except
cancel;
showmessage('删除数据时出现错误,删除失败!!');
end;
end;
dbgrideh1.Refresh;
end;
end;
procedure TForm5.spSkinSpeedButton1Click(Sender: TObject);
begin
ygshowall:=tygshowall.Create(application);
ygshowall.Caption:='添加新员工信息';
ygshowall.ShowModal;
end;
procedure TForm5.spSkinSpeedButton3Click(Sender: TObject);
begin
if adoquery1.Recordset.RecordCount<>0 then
begin
panel6.Visible:=true;
panel6.Refresh;
gauge2.Visible:=true;
gauge2.Progress:=0;
gauge2.MaxValue:=adoquery1.FieldCount;
form38:=tform38.Create(application);
form38.Caption:='员工信息修改';
timer2.Enabled:=true;
end
else showmessage('当前没有要修改的员工信息,请你选择要修改的员工信息!');
end;
procedure TForm5.DBGridEh1DblClick(Sender: TObject);
begin
if adoquery1.Recordset.RecordCount<>0 then
begin
panel6.Visible:=true;
panel6.Refresh;
gauge2.Visible:=true;
gauge2.Progress:=0;
gauge2.MaxValue:=adoquery1.FieldCount;
form38:=tform38.Create(application);
form38.Caption:='员工信息修改';
timer2.Enabled:=true;
end
else showmessage('当前没有要修改的员工信息,请你选择要修改的员工信息!');
end;
procedure TForm5.spSkinSpeedButton4Click(Sender: TObject);
begin
prive:=tprive.Create(application);
prive.QuickRep1.PreviewModal;
end;
procedure TForm5.spSkinSpeedButton5Click(Sender: TObject);
begin
prive:=tprive.Create(application);
prive.QuickRep1.print;
end;
procedure TForm5.Timer1Timer(Sender: TObject);
begin
gauge1.Progress:=gauge1.Progress+1;
if gauge1.Progress=adoquery1.Recordset.RecordCount then
begin
timer1.Enabled:=false;
panel6.Visible:=false;
gauge1.Visible:=false;
spskintoolbar1.Enabled:=true;
groupbox1.Enabled:=true;
panel4.Visible:=true;
dbgrideh1.Visible:=true;
end;
end;
procedure TForm5.Timer2Timer(Sender: TObject);
begin
gauge2.Progress:=gauge2.Progress+1;
if gauge2.progress=adoquery1.FieldCount then
begin
timer2.Enabled:=false;
panel6.Visible:=false;
form38.ShowModal;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -