📄 userver.~pas
字号:
begin
Close;
SQL.Clear;
SQL.Add('select * from Employee');
SQL.Add('where 员工口令='+''''+tempPwd+'''');
SQL.Add('and 员工编号='+''''+tempID+'''');
Open;
end;
if MADOQuery.RecordCount>0 then result:=True
else Result:=False;
finally
MADOQuery.Free;
end;
end;
Function Temptime(TempID:string):String;
var MADOQuery:TADOQuery;
begin
MADOQuery:=TADOQuery.Create(Application);
MADOQuery.Connection:=Fr_Server.ADOConnection1;
try
with MADOQuery do
begin
Close;
SQL.Clear;
SQL.Add('select * from Server');
SQL.Add('where 上班状态='+'"正在上班"');
SQL.Add('and 员工编号='+''''+tempID+'''');
Open;
end;
if MADOQuery.RecordCount>0 then result:=MADOQuery.fieldbyname('上班时间').AsString
else Exit;
finally
MADOQuery.Free;
end;
end;
procedure TFr_Server.Btn_SetPortClick(Sender: TObject);
begin
MiniFile:=Tinifile.Create(extractfilepath(application.exename)+'Server.ini');
MiniFile.WriteString('SET','port',Ed_port.Text);
MiniFile.Free;
showmessage('完成设置!');
listbox1.Items.Insert(0,'修改了端口'+datetimetostr(now));
end;
procedure TFr_Server.Btn_ServerClick(Sender: TObject);
var MADOQuery:TADOQuery;
begin
MADOQuery:=TADOQuery.Create(Application);
MADOQuery.Connection:=Fr_Server.ADOConnection1;
try
with MADOQuery do
begin
Close;
SQL.Clear;
SQL.Add('select * from Employee');
SQL.Add('where 员工口令='+''''+Ed_manapwd.Text+'''');
SQL.Add('and 员工姓名='+''''+Ed_manaName.Text+'''');
SQL.Add('and 员工身份='+'"系统管理"');
Open;
end;
if MADOQuery.RecordCount>0 then
begin
Btn_setport.Enabled:=True;
Btn_control.Enabled:=True;
Btn_user.Enabled:=True;
Btn_search.Enabled:=True;
Btn_clear.Enabled:=True;
Btn_del.Enabled:=True;
Btn_Server.Enabled:=False;
showmessage('登录成功!');
Listbox1.Items.Insert(0,'管理员:'+Ed_manaName.Text+'登录成功'+datetimetostr(now));
Ed_manapwd.Text:='';
working;
worked;
Memo1.Lines.LoadFromFile(ReadLog(date));
end
else
begin
Btn_setport.Enabled:=False;
Btn_control.Enabled:=False;
Btn_user.Enabled:=False;
Btn_search.Enabled:=False;
Btn_clear.Enabled:=False;
Btn_del.Enabled:=False;
Btn_Server.Enabled:=True;
showmessage('登录失败!');
Ed_manapwd.Text:='';
Listbox1.Items.Insert(0,'管理员:'+Ed_manaName.Text+'登录失败'+datetimetostr(now));
end;
finally
MADOQuery.Free;
end;
end;
procedure TFr_Server.Btn_clearClick(Sender: TObject);
begin
Btn_setport.Enabled:=False;
Btn_control.Enabled:=False;
Btn_user.Enabled:=False;
Btn_search.Enabled:=False;
Btn_clear.Enabled:=False;
Btn_del.Enabled:=False;
Btn_Server.Enabled:=True;
showmessage('注销成功!');
Listbox1.Items.Insert(0,'管理员已注销'+datetimetostr(now));
end;
procedure TFr_Server.Btn_userClick(Sender: TObject);
var temp:string;
begin
if Ed_ID.Text='' then Exit;
if Ed_pwd.Text='' then Exit;
if CheckBox1.Checked then temp:='系统管理'
else temp:='普通用户';
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select * from Employee');
SQL.Add('where 员工编号='+''''+Ed_ID.Text+'''');
Open;
end;
if ADOQuery1.RecordCount>0 then
begin
Showmessage('该员工编号已经存在!');
Exit;
end
else with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('insert into Employee(员工编号,员工姓名,员工口令,员工身份)');
SQL.Add('values('+''''+Ed_ID.Text+''''+','+''''+Ed_name.Text+''''+','+''''+Ed_pwd.Text+''''+','+''''+temp+''''+')');
ExecSQL;
Showmessage('添加成功');
Listbox1.Items.Insert(0,'添加了编号为:<'+Ed_ID.Text+'>的员工'+datetimetostr(now));
end;
end;
procedure TFr_Server.Btn_delClick(Sender: TObject);
var tempID:string;
begin
inputQuery('请输入要删除的员工编号:','确认删除',tempID);
if tempID<>'' then
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select * from Employee');
SQL.Add('where 员工编号='+''''+tempID+'''');
Open;
end;
if ADOQuery1.RecordCount<0 then
begin
Showmessage('该员工编号不存在!');
Exit;
end
else
if ADOQuery1.FieldByName('员工身份').AsString='系统管理' then
if MessageBox(handle,'该员工是管理员,真的删除吗?','删除确认',Mb_iconQuestion or Mb_YESNO)=IDNo then Exit;
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('update Employee set 删除标志='+'"是"');
SQL.Add('where 员工编号='+''''+tempID+'''');
ExecSQL;
Showmessage('删除成功!');
listbox1.Items.Insert(0,'删除了员工:'+tempID+datetimetostr(now));
end;
end;
procedure TFr_Server.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
var TempMemo:Tmemo;
i:integer;
begin
if trim(Stringgrid1.Cells[1,1])<>'' then
if MessageBox(handle,'还有员工未下班,你确认退出吗?','退出确认',Mb_iconQuestion or Mb_YESNO)=IDNO then
begin
CanClose:=False;
exit;
end;
TempMemo:=TMemo.Create(Application);
TempMemo.Parent:=Fr_server;
TempMemo.Clear;
if Btn_control.Enabled then listbox1.Items.insert(0,'系统已经关闭'+datetimetostr(now));
try
try
TempMemo.Lines.LoadFromFile(ReadLog(date));
for i:=0 to listbox1.Items.Count-1 do
begin
TempMemo.Lines.Add(listbox1.Items.Strings[i]);
TempMemo.Lines.SaveToFile(ReadLog(date));
end;
except
CanClose:=True;
end;
finally
tempmemo.Free;
end;
end;
procedure TFr_Server.Ed_manaNameKeyPress(Sender: TObject; var Key: Char);
begin
if key=chr(13) then
postmessage(handle,wm_keydown,vk_Tab,0);
end;
procedure TFr_Server.Ed_manaPwdKeyPress(Sender: TObject; var Key: Char);
begin
if key=chr(13) then Btn_server.Click;
end;
procedure TFr_Server.Ed_IDKeyPress(Sender: TObject; var Key: Char);
begin
if key=chr(13) then
postmessage(handle,wm_keydown,vk_Tab,0);
end;
procedure TFr_Server.Ed_pwdKeyPress(Sender: TObject; var Key: Char);
begin
if key=chr(13) then
postmessage(handle,wm_keydown,vk_Tab,0);
end;
procedure TFr_Server.Ed_nameKeyPress(Sender: TObject; var Key: Char);
begin
if key=chr(13) then
postmessage(handle,wm_keydown,vk_Tab,0);
end;
Function ReadLog(tempdate:Tdate):string;
var i:integer;
begin
for i:=1 to 10 do
if not fileexists(Extractfilepath(Application.ExeName)+'Log\'+datetostr(tempdate)+'.Txt') then
tempdate:=date-i
else break;
if i<10 then result:=Extractfilepath(Application.ExeName)+'Log\'+datetostr(tempdate)+'.Txt'
else
try
begin
filecreate(Extractfilepath(Application.ExeName)+'Log\'+datetostr(date)+'.Txt');
result:=Extractfilepath(Application.ExeName)+'Log\'+datetostr(date)+'.Txt';
end;
except
end;
end;
procedure TFr_Server.Btn_SearchClick(Sender: TObject);
var tempY,tempM,tempD:word;
temp:string;
i,j:integer;
begin
decodedate(datetimepicker1.Date,tempY,tempM,tempD);
temp:=inttostr(tempY)+'-'+inttostr(tempM)+'-'+inttostr(tempD);
delete(temp,1,2);
With Fr_server.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select Server.员工编号,Employee.员工姓名,Server.考勤日期,Server.上班时间,Server.下班时间 from Server,Employee');
SQL.Add('where Server.员工编号=Employee.员工编号');
SQL.Add('and 考勤日期='+''''+temp+'''');
SQL.Add('order by Server.员工编号,Server.考勤日期');
open;
end;
with Fr_server do
begin
for i:=0 to Stringgrid2.RowCount do
for j:=1 to 6 do
stringgrid2.Cells[j,i]:='';
if ADOQuery1.RecordCount>5 then Stringgrid2.RowCount:=ADOQuery1.RecordCount+1;
if ADOQuery1.RecordCount>0 then
for i:=1 to ADOQuery1.RecordCount do
begin
Stringgrid2.Cells[0,0]:='序号';
stringgrid2.Cells[1,0]:='员工姓名';
Stringgrid2.Cells[2,0]:='考勤日期';
Stringgrid2.Cells[3,0]:='上班时间';
stringgrid2.Cells[4,0]:='下班时间';
Stringgrid2.Cells[5,0]:='员工编号';
Stringgrid2.Cells[0,i]:=inttostr(i);
Stringgrid2.Cells[1,i]:=AdoQuery1.fieldbyname('员工姓名').AsString;
Stringgrid2.Cells[2,i]:=AdoQuery1.fieldbyname('考勤日期').AsString;
Stringgrid2.Cells[3,i]:=AdoQuery1.fieldbyname('上班时间').AsString;
Stringgrid2.Cells[4,i]:=AdoQuery1.fieldbyname('下班时间').AsString;
Stringgrid2.Cells[5,i]:=AdoQuery1.fieldbyname('员工编号').AsString;
if not ADOQuery1.Eof then ADOQuery1.Next;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -