?? userver.pas
字號(hào):
begin
Close;
SQL.Clear;
SQL.Add('select * from Employee');
SQL.Add('where 員工口令='+''''+tempPwd+'''');
SQL.Add('and 員工編號(hào)='+''''+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 上班狀態(tài)='+'"正在上班"');
SQL.Add('and 員工編號(hào)='+''''+tempID+'''');
Open;
end;
if MADOQuery.RecordCount>0 then result:=MADOQuery.fieldbyname('上班時(shí)間').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('完成設(shè)置!');
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 員工身份='+'"系統(tǒng)管理"');
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('注銷(xiāo)成功!');
Listbox1.Items.Insert(0,'管理員已注銷(xiāo)'+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:='系統(tǒng)管理'
else temp:='普通用戶';
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select * from Employee');
SQL.Add('where 員工編號(hào)='+''''+Ed_ID.Text+'''');
Open;
end;
if ADOQuery1.RecordCount>0 then
begin
Showmessage('該員工編號(hào)已經(jīng)存在!');
Exit;
end
else with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('insert into Employee(員工編號(hào),員工姓名,員工口令,員工身份)');
SQL.Add('values('+''''+Ed_ID.Text+''''+','+''''+Ed_name.Text+''''+','+''''+Ed_pwd.Text+''''+','+''''+temp+''''+')');
ExecSQL;
Showmessage('添加成功');
Listbox1.Items.Insert(0,'添加了編號(hào)為:<'+Ed_ID.Text+'>的員工'+datetimetostr(now));
end;
end;
procedure TFr_Server.Btn_delClick(Sender: TObject);
var tempID:string;
begin
inputQuery('請(qǐng)輸入要?jiǎng)h除的員工編號(hào):','確認(rèn)刪除',tempID);
if tempID<>'' then
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select * from Employee');
SQL.Add('where 員工編號(hào)='+''''+tempID+'''');
Open;
end;
if ADOQuery1.RecordCount<0 then
begin
Showmessage('該員工編號(hào)不存在!');
Exit;
end
else
if ADOQuery1.FieldByName('員工身份').AsString='系統(tǒng)管理' then
if MessageBox(handle,'該員工是管理員,真的刪除嗎?','刪除確認(rèn)',Mb_iconQuestion or Mb_YESNO)=IDNo then Exit;
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('update Employee set 刪除標(biāo)志='+'"是"');
SQL.Add('where 員工編號(hào)='+''''+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,'還有員工未下班,你確認(rèn)退出嗎?','退出確認(rèn)',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,'系統(tǒng)已經(jīng)關(guān)閉'+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.員工編號(hào),Employee.員工姓名,Server.考勤日期,Server.上班時(shí)間,Server.下班時(shí)間 from Server,Employee');
SQL.Add('where Server.員工編號(hào)=Employee.員工編號(hào)');
SQL.Add('and 考勤日期='+''''+temp+'''');
SQL.Add('order by Server.員工編號(hào),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]:='序號(hào)';
stringgrid2.Cells[1,0]:='員工姓名';
Stringgrid2.Cells[2,0]:='考勤日期';
Stringgrid2.Cells[3,0]:='上班時(shí)間';
stringgrid2.Cells[4,0]:='下班時(shí)間';
Stringgrid2.Cells[5,0]:='員工編號(hào)';
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('上班時(shí)間').AsString;
Stringgrid2.Cells[4,i]:=AdoQuery1.fieldbyname('下班時(shí)間').AsString;
Stringgrid2.Cells[5,i]:=AdoQuery1.fieldbyname('員工編號(hào)').AsString;
if not ADOQuery1.Eof then ADOQuery1.Next;
end;
end;
end;
end.
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -