jiangchen.pas
来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 961 行 · 第 1/3 页
PAS
961 行
end;
end;
end;
procedure tformjiangchen.showjcname(i:string);
begin
with datamod.ADOQuery1 do
begin
sql.clear;
case strtoint(i) of
0:begin
sql.add('select * from per18010 where jckind=''奖励'' ');
open;
while not eof do
begin //在奖劢名称中,显示奖劢类别中所有的奖劢种类
formjiangchen.dbgrid1.columns[6].picklist.add(fieldbyname('jcname').asstring);
next;
end;
end;
1:begin
sql.add('select * from per18010 where jckind=''处罚'' ');
open;
while not eof do
begin //在处罚名称中,显示奖劢类别中所有的处罚种类
dbgrid2.columns[6].picklist.add(fieldbyname('jcname').asstring);
next;
end;
end;
end;
close;
end;
end;
procedure TformJiangChen.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
with sender as twincontrol do
postmessage(handle,wm_keydown,vk_tab,0);
key:=#0;
end;
end;
procedure TformJiangChen.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
setdbgridwidth(dbgrid1,'p'+'jiangchen');
setdbgridwidth(dbgrid2,'p'+'jiangchen');
setdbgridwidth(dbgrid3,'p'+'jiangchen');
{if not (isdate(datamod.adojiangchen.FieldByName('jcdate').text)) then
begin
if messagedlg('日期可能有误,确定退出吗?',mtconfirmation,[mbyes,mbno],0)=mryes then
datamod.Adoadvance.CancelUpdates //当用户输入一条不符合要求的记录时,在
else
exit;
end;}
action:=cafree;
formjiangchen:=nil;
end;
procedure TformJiangChen.btnexitClick(Sender: TObject);
begin
close;
end;
procedure TformJiangChen.DBGrid2KeyPress(Sender: TObject; var Key: Char);
begin
dbgrid_keypress(sender,key);
end;
procedure TformJiangChen.FormActivate(Sender: TObject);
begin
getdbgridwidth(dbgrid1,'p'+'jiangchen');
getdbgridwidth(dbgrid2,'p'+'jiangchen');
getdbgridwidth(dbgrid3,'p'+'jiangchen');
with datamod do
begin
ADOjiangchen.close;
ADOjckind.close;
ADOjiangchen.CursorType :=ctkeyset;
ADOjckind.LockType :=ltpessimistic;
ADOjiangchen.LockType :=ltpessimistic;
ADOjckind.CursorType :=ctkeyset;
ADOjiangchen.Open;
ADOjckind.Open;
radiobutton1.checked:=not adojckindjcway.AsBoolean;
radiobutton2.checked:=adojckindjcway.AsBoolean;
end;
//pagecontrol1.ActivePageIndex :=0;
end;
procedure TformJiangChen.DBNavigator1BeforeAction(Sender: TObject;
Button: TNavigateBtn);
begin
{case button of
nbinsert:if pagecontrol1.activepageindex=0 then
datamod.adojiangchen.fieldbyname('jckind').asstring:='奖劢'
else
datamod.adojiangchen.fieldbyname('jckind').asstring:='处罚';
end;}
end;
procedure TformJiangChen.tbnexitClick(Sender: TObject);
begin
close;
end;
procedure TformJiangChen.ToolButton6Click(Sender: TObject);
begin
datamod.ADOjiangchen.Cancel;
end;
procedure TformJiangChen.tbnsortClick(Sender: TObject);
var i:1..5;
begin
if manyfield then
begin
manyfield:=false;
tbnsort.hint:='设定多字段排序';
popupmenu1.Items[0].Enabled :=false;
popupmenu1.Items[1].Enabled :=false;
popupmenu1.Items[2].Enabled :=false;
popupmenu1.Items[3].Enabled :=false;
end
else begin
manyfield:=true;
tbnsort.hint:='取消多字段排序'; //说明现在dbgrid1正处于多字段排序中
f:='';
popupmenu1.Items[0].Enabled :=true;
popupmenu1.Items[1].Enabled :=true;
popupmenu1.Items[2].Enabled :=true;
popupmenu1.Items[3].Enabled :=true;
fcount:=0;
for i:=1 to 5 do
begin
findex[i]:=0;
fsort[i]:='';
end;
end;
end;
procedure TformJiangChen.tbnfindClick(Sender: TObject);
begin
if assigned(formcanfind) then formcanfind.close;
findrecorder(datamod.adojiangchen,'Adojiangchen','per17010'); //调用publicfuction中的查询功能
end;
procedure TformJiangChen.DBGrid1TitleClick(Column: TColumn);
begin
if f='DESC' then
f:='ASC'
else
f:='DESC';
datamod.ADOjiangchen.Sort :=column.FieldName+' '+f;
end;
procedure TformJiangChen.DBGrid3TitleClick(Column: TColumn);
begin
if f='DESC' then
f:='ASC'
else
f:='DESC';
datamod.ADOjckind.Sort :=column.FieldName+' '+f;
end;
procedure TformJiangChen.N1Click(Sender: TObject);
var i:integer;
dbgrid:Tdbgrid;
begin
if fcount>0 then
if db<>pagecontrol1.ActivePageIndex then
begin
dbgrid:=tdbgrid(findcomponent('dbgrid'+inttostr(db+1)));
with dbgrid do
begin
for i:=1 to fcount do
dbgrid.Columns[findex[i]].Color :=clwindow;
end;
fcount:=0;
end;
db:=pagecontrol1.ActivePageIndex;
dbgrid:=tdbgrid(findcomponent('dbgrid'+inttostr(db+1)));
with dbgrid do
begin
for i:=1 to fcount do
if dbgrid.SelectedIndex =findex[i] then
begin
fsort[i]:='ASC';
exit;
end;
if fcount<5 then
begin
fcount:=fcount+1;
findex[fcount]:=dbgrid.selectedindex;
fsort[fcount]:='ASC';
dbgrid.Columns[dbgrid.selectedindex].Color :=clgray;
end;
end;
end;
procedure TformJiangChen.N2Click(Sender: TObject);
var i:integer;
dbgrid:Tdbgrid;
begin
if fcount>0 then
if db<>pagecontrol1.ActivePageIndex then
begin
dbgrid:=tdbgrid(findcomponent('dbgrid'+inttostr(db+1)));
with dbgrid do
begin
for i:=1 to fcount do
dbgrid.Columns[findex[i]].Color :=clwindow;
end;
fcount:=0;
end;
db:=pagecontrol1.ActivePageIndex;
dbgrid:=tdbgrid(findcomponent('dbgrid'+inttostr(db+1)));
with dbgrid do
begin
for i:=1 to fcount do
if dbgrid.SelectedIndex =findex[i] then
begin
fsort[i]:='DESC';
exit;
end;
if fcount<5 then
begin
fcount:=fcount+1;
findex[fcount]:=dbgrid.selectedindex;
fsort[fcount]:='DESC';
dbgrid.Columns[dbgrid.selectedindex].Color :=clgray;
end;
end;
end;
procedure TformJiangChen.N4Click(Sender: TObject);
var i:1..5;
sortexp:string;
dbgrid:Tdbgrid;
begin
if db<>pagecontrol1.ActivePageIndex then
begin
dbgrid:=tdbgrid(findcomponent('dbgrid'+inttostr(db+1)));
with dbgrid do
begin
for i:=1 to fcount do
dbgrid.Columns[findex[i]].Color :=clwindow;
end;
fcount:=0;
exit;
end;
sortexp:='';
for i:=1 to fcount do
begin
dbgrid:=tdbgrid(findcomponent('dbgrid'+inttostr(db+1)));
with dbgrid do
begin
if dbgrid.Columns[findex[i]].Color=clgray then
begin
sortexp :=sortexp+dbgrid.Columns[findex[i]].FieldName+' '+fsort[i];
if i<fcount then sortexp:=sortexp+',';
end;
end;
end;
if sortexp<>'' then
case pagecontrol1.ActivePageIndex of
0,1: datamod.ADOjiangchen.Sort :=sortexp;
2: datamod.ADOjckind.sort:=sortexp;
end;
end;
procedure TformJiangChen.N3Click(Sender: TObject);
var i:1..5;
dbgrid:Tdbgrid;
begin
dbgrid:=tdbgrid(findcomponent('dbgrid'+inttostr(pagecontrol1.ActivePageIndex+1)));
with dbgrid do
begin
for i:=1 to fcount do
dbgrid.Columns[findex[i]].Color :=clwindow;
end;
fcount:=0;
end;
procedure TformJiangChen.PageControl1Changing(Sender: TObject;
var AllowChange: Boolean);
begin
(sender as Tpagecontrol).activepage.Highlighted :=false;
end;
procedure TformJiangChen.DBEdit8KeyPress(Sender: TObject; var Key: Char);
begin
if (key<#48) or (key>#58) then
key:=#0;
end;
procedure TformJiangChen.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (activecontrol=dbgrid1) or (activecontrol=dbgrid2) or (activecontrol=dbgrid3) then
exit;
if key=#13 then
begin
key:=#0;
if activecontrol=dbcombobox2 then
begin
if datamod.ADOjiangchen.State =dsinsert then
begin
datamod.ADOjiangchen.post;
datamod.ADOjiangchen.append;
end;
dbedit1.setfocus;
end
else
selectnext(activecontrol,true,true);
end;
end;
procedure TformJiangChen.FormCreate(Sender: TObject);
begin
i:=true;
j:=true;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?