📄 unit_main.pas
字号:
with dm.ADOQuery1 do
begin
close;
sql.Clear;
sql.Add(sqlstr);
open;
first;
j:=1;
while not eof do
begin
table_name:=fieldbyname('table_name').AsString;
index:=fieldbyname('ord').AsInteger-1;
if (fieldbyname('type').AsString='E') or (fieldbyname('type').AsString='UE') then
begin
//values:=editbox[i][strtoint(fieldbyname('ord').AsString)-1].Text;
with dm.ADOQuery2 do
begin
close;
sql.Clear;
sql.Add('select * from b01 where dept='''+editbox[i][index].Text+'''');
try
open;
first;
if not eof then
companycode:=fieldbyname('dm').AsString;
except
close;
end;
end;
values:=editbox[i][index].Text;
end;
if fieldbyname('type').AsString='D' then
values:=maskedit[i][index].Text;
if (fieldbyname('type').AsString='C') then
values:=combobox[i][index].Text;
if (fieldbyname('type').AsString='N') then
values:=inttostr(strtointdef(editbox[i][index].Text,0)); //将空值缺省为'0'
if (fieldbyname('type').AsString='M') then
values:=memo[i][index].Text;
if j=1 then
begin
fieldstr:= 'prescode'+','+fieldbyname('field').AsString;
valuestr:=quotedstr(code)+','+quotedstr(values);
j:=2;
end
else
begin
valuestr:=valuestr+','+quotedstr(values);
fieldstr:=fieldstr+','+fieldbyname('field').AsString;
end;
next;
end;
end;
////////////////////2006-03//////////////////////////////////////////////////
//if pagecontrol1.ActivePageIndex=1 then //此处以后要改,万一职务信息不放在page1要出错
//sqlstr:='insert into '+table_name+' (a0209,a0206,'+fieldstr+') values ('+quotedstr(company_code)+','+quotedstr(company_name)+','+valuestr+')'
// else
//sqlstr:='insert into '+table_name+' ('+fieldstr+') values ('+valuestr+')';
//////////////////////////////////////////////////////////////////////////
////////////////////2006-03//////////////////////////////////////////////////
if pagecontrol1.ActivePageIndex=1 then //此处以后要改,万一职务信息不放在page1要出错
begin
if companycode='' then
begin
application.MessageBox('单位列表中无此单位,请先在单位列表中添加该单位!','信息提示',mb_ok);
exit;
end else
sqlstr:='insert into '+table_name+' (a0209,'+fieldstr+') values ('+quotedstr(company_code)+','+valuestr+')';
end else
sqlstr:='insert into '+table_name+' ('+fieldstr+') values ('+valuestr+')';
///////////////////////////////////////////////////////////////////////////////
//sqlstr:='insert into '+table_name+' ('+fieldstr+') values ('+valuestr+')';
with dm.ADOQuery1 do
begin
close;
sql.Clear;
sql.Add(sqlstr);
execsql;
end;
is_csadd:=false;
unit3.UpdateStringGrid;
is_addnew:=false;
is_update:=false;
addstate:=false;
upstate:=false;
is_save:=true;
is_mod:=false;
unit3.UpdateStringGrid;
if pagecontrol1.ActivePageIndex=1 then
//@@@@@@@20053.11 屏蔽 unit3.Updatelistbox(listbox1,listbox2); //$$$$$$$$$$$$$$$$$$$
unit3.Updatelistbox(prescodelist,listbox2);
end;
end;
tbn_mod.Enabled:=true;
n_2_mod.Enabled:=true;
is_mod:=false;
///////////////////2006-03//////////////////////////////////////////////////
ChangeComposeState(true,false);//组建内容不可修改
/////////////////////////////////////////////////////////////////////////
end;
procedure Tfrm_main.N_0_defformClick(Sender: TObject);
begin
//if not assigned(form4) then
//form4:=Tform4.Create(nil);
form4.Show;
end;
procedure Tfrm_main.N_2_modClick(Sender: TObject); //修改当前用户信息
var
name:string;
sqlstr:string;
tabsheetnum:integer;
begin
if addstate and (is_save=false) then
begin
if Application.Messagebox('你还未保存新增人员信息,是否要保存!','注意!',MB_OKCANCEL+ mb_iconexclamation)=IDOK then
begin
N_2_saveClick(Sender);
exit;
end
else
begin
if is_addnew and (is_save=false) then
begin
///////////////////2006-03//////////////////////////////////////////////////
ChangeComposeState(true,false);//组建内容不可以修改
///////////////////////////////////////////////////////////////////////////
DelAllTable;
addstate:=false;
is_addnew:=false;
is_save:=true;
gencode:='';
end;
end;
end;
if gencode='' then
begin
application.MessageBox('未选中信息!','注意',mb_ok);
exit;
end;
is_mult:=false;
sqlstr:='select mult_rec from page_def where page_no='+inttostr(pagecontrol1.ActivePageindex+1);
with dm.ADOQuery1 do
begin
close;
sql.Clear;
sql.Add(sqlstr);
open;
end;
if dm.ADOQuery1.fieldbyname('mult_rec').AsVariant=true then
is_mult:=true;
if Application.Messagebox('是否要修改当前用户的信息!','注意!',MB_OKCANCEL+ mb_iconexclamation)=IDOK then
begin
///////////////////2006-03//////////////////////////////////////////////////
ChangeComposeState(false,true);//组建内容可以修改
/////////////////////////////////////////////////////////////////////////
is_addnew:=false;
is_update:=true;
upstate:=true;
is_save:=false;
addstate:=false;
is_csadd:=false;
tabsheetnum:=PageControl1.ActivePageIndex+1;
upperscode:=gencode;
end;
end;
procedure Tfrm_main.N_0_zdwhClick(Sender: TObject);
begin
frm_zd.show;//form6.Show;
end;
procedure Tfrm_main.N18Click(Sender: TObject);
begin
frm_cx.Show;
end;
procedure tfrm_main.MyButtonOnClick(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if is_lock then
application.MessageBox('请选择增加从属信息或从属子信息进行录入!','界面已锁',mb_OK);
end;
{procedure Tfrm_main.ToolButton8Click(Sender: TObject);
begin
form9.Show;
end;}
procedure Tfrm_main.ListBox1Click(Sender: TObject);
var
i:integer;
perscode:string;
begin
end;
procedure Tfrm_main.N_2_newcszxxClick(Sender: TObject); //新增从属信息,在dbgrid中显示
var
i:integer;
perscode:string;
sqlstr:string;
fieldstr:string;
valuestr,value:string;
table_name:string;
begin
////////////2006-03 zjx/////////////////////////
ChangeComposeState(false,true); //可读写
///////////////////////////////////////////
addstate:=true;
is_csadd:=true;
is_save:=false;
unit3.ClearSGSheet;
end;
procedure Tfrm_main.tbn_saveallClick(Sender: TObject); //保存信息
var
i,j,index:integer;
sqlstr:string;
table_name:string;
fieldstr,valuestr,value:string;
code:string;
begin
N_2_saveClick(Sender);
is_mod:=false;
end;
////////////////////查询相应人员具体信息/////2006-03////////////////
procedure Tfrm_main.showInforRenYuan;
var
i:integer;
perscode:string;
sqlstr:string;
table_name:string;
sqltmp:string;
index:integer;
tmpvar:OleVariant;
values:string;
DefPath:string;
Sender:TObject;
begin
if addstate and (is_save=false) then
begin
if application.MessageBox('还未保存当前增加的信息,是否要保存','注意!',MB_OKCANCEL+ mb_iconexclamation)=IDOK then
begin
N_2_saveClick(Sender);//(Sender);
exit; //回到浏览状态
end
else
begin
if is_addnew and (is_save=false) then
begin
DelAllTable;
addstate:=false;
is_addnew:=false;
gencode:='';
end;
addstate:=false;
is_csadd:=false;
is_save:=true;
end;
end;
if upstate and (is_save=false) then
begin
if application.MessageBox('还未保存当前修改的信息,是否要保存','注意!',MB_OKCANCEL+ mb_iconexclamation)=IDOK then
begin
N_2_saveClick(Sender);//(Sender);
exit; //回到浏览状态
end;
end;
tbn_print.Enabled:=true;//1023添加 打印按钮可用
tbn_mod.Enabled:=true;
n_2_mod.Enabled:=true;
n_2_save.Enabled:=true;
tbn_saveall.Enabled:=true;
tbn_delall.Enabled:=true;
tbn_delzxx.Enabled:=false;
n_2_del.Enabled:=true;
s_2_delall.Enabled:=true;
n_2_delcszxx.Enabled:=false;
pagecontrol1.ActivePageIndex:=0;
groupbox1.Visible:=true;
b_add.Visible:=true;
b_del.Visible:=true;
stringgrid1.Visible:=false;
for i:=0 to listbox2.Count-1 do
begin
if listbox2.Selected[i] then
begin
//@@@@@2005.3.11屏蔽 perscode:=listbox1.Items[i];
//@@@@@@@@@@csperscode:=listbox1.items[i];
//@@@@@@@@@@@2
perscode:=prescodelist[i];
csperscode:=prescodelist[i];
//@@@@@@@@@@@2
gencode:=csperscode;
end;
end;
if gencode<>'' then
begin
AppPath:=ExtractFilePath(Application.ExeName);
DefPath:=AppPath+'defaultbmp.bmp';
image1.Picture.LoadFromFile(DefPath);//载入默认图片
readpic;
if pagecontrol1.ActivePageIndex<>0 then
begin
label1.Parent:=tabsheet[pagecontrol1.ActivePageIndex];
label1.BringToFront;
label1.Top:=tabsheet[pagecontrol1.ActivePageIndex].Top-10;
label1.Left:=90;
with dm.ADOQuery1 do //显示当前用户信息
begin
close;
sql.Clear;
sql.Add('select a0101,a0102,a0103,a0104 from a01 where prescode='+quotedstr(gencode));
open;
label1.Caption:=fieldbyname('a0101').AsString+' , '+fieldbyname('a0102').AsString+' , '
+fieldbyname('a0103').AsString+' , '+fieldbyname('a0104').AsString;
end;
end;
end;
is_addnew:=false;
pagecontrol1.ActivePageIndex:=0;
showinfo(pagecontrol1.ActivePageIndex+1,perscode);
is_mod:=false;
end;
procedure Tfrm_main.ListBox2DblClick(Sender: TObject);
var
i:integer;
perscode:string;
sqlstr:string;
table_name:string;
sqltmp:string;
index:integer;
tmpvar:OleVariant;
values:string;
DefPath:string;
begin
showInforRenYuan; //2006-03
{
if addstate and (is_save=false) then
begin
if application.MessageBox('还未保存当前增加的信息,是否要保存','注意!',MB_OKCANCEL+ mb_iconexclamation)=IDOK then
begin
N_saveClick(Sender);//(Sender);
exit; //回到浏览状态
end
else
begin
if is_addnew and (is_save=false) then
begin
DelAllTable;
addstate:=false;
is_addnew:=false;
gencode:='';
end;
addstate:=false;
is_csadd:=false;
is_save:=true;
end;
end;
if upstate and (is_save=false) then
begin
if application.MessageBox('还未保存当前修改的信息,是否要保存','注意!',MB_OKCANCEL+ mb_iconexclamation)=IDOK then
begin
N_saveClick(Sender);//(Sender);
exit; //回到浏览状态
end
end;
tbn_print.Enabled:=true;//1023添加 打印按钮可用
tbn_mod.Enabled:=true;
n_mod.Enabled:=true;
n_save.Enabled:=true;
tbn_saveall.Enabled:=true;
tbn_delall.Enabled:=true;
tbn_delzxx.Enabled:=false;
n_del.Enabled:=true;
s_delall.Enabled:=true;
n_delcszxx.Enabled:=false;
pagecontrol1.ActivePageIndex:=0;
groupbox1.Visible:=true;
b_add.Visible:=true;
b_del.Visible:=true;
stringgrid1.Visible:=false;
for i:=0 to listbox2.Count-1 do
begin
if listbox2.Selected[i] then
begin
//@@@@@2005.3.11屏蔽 perscode:=listbox1.Items[i];
//@@@@@@@@@@csperscode:=listbox1.items[i];
//@@@@@@@@@@@2
perscode:=prescodelist[i];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -