📄 unit_main.pas
字号:
unit Unit_main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Grids, DBGrids, ImgList, ToolWin, Menus,IniFiles,
DBCtrls, Mask, ExtCtrls,DB, ADODB,jpeg,DBTables, frame_CompanyList,Math,ShellAPI;
type
Tfrm_main = class(TForm)
MainMenu1: TMainMenu;
x_2_1: TMenuItem;
N_2_new: TMenuItem;
N_2: TMenuItem;
N_2_newcszxx: TMenuItem;
N_2_mod: TMenuItem;
N_2_save: TMenuItem;
N_7: TMenuItem;
N_2_del: TMenuItem;
N_9: TMenuItem;
t_2_exit: TMenuItem;
N_1_1: TMenuItem;
N_3_search: TMenuItem;
ToolBar1: TToolBar;
tbn_new: TToolButton;
tbn_delall: TToolButton;
tbn_saveall: TToolButton;
ImageList1: TImageList;
tbn_exit: TToolButton;
N_0_12: TMenuItem;
N_0_13: TMenuItem;
N_0_bxwf: TMenuItem;
N_0_21: TMenuItem;
N_1_22: TMenuItem;
N_0_zdwh: TMenuItem;
N_0_defform: TMenuItem;
PageControl1: TPageControl;
StringGrid1: TStringGrid;
Label1: TLabel;
tbn_mod: TToolButton;
N_2_newcs: TMenuItem;
s_2_delall: TMenuItem;
N_2_delcszxx: TMenuItem;
N_0_manage: TMenuItem;
StatusBar1: TStatusBar;
GroupBox1: TGroupBox;
Image1: TImage;
B_ADD: TButton;
B_DEL: TButton;
tbn_newcszxx: TToolButton;
tbn_newcs: TToolButton;
tbn_print: TToolButton;
btn1: TToolButton;
btn2: TToolButton;
tbn_search: TToolButton;
tbn_xtsz: TToolButton;
btn3: TToolButton;
btn4: TToolButton;
tbn_xxjh: TToolButton;
tbn_delzxx: TToolButton;
s_1_sjjh: TMenuItem;
N_1_zpdc: TMenuItem;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N3: TMenuItem;
PageControl2: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
GroupBox2: TGroupBox;
Label2: TLabel;
Label3: TLabel;
ListBox2: TListBox;
Label4: TLabel;
E_SeachTxt: TEdit;
B_Search: TButton;
GroupBox3: TGroupBox;
ListBox3: TListBox;
ListBox4: TListBox;
TabSheet3: TTabSheet;
ListBox5: TListBox;
ListBox6: TListBox;
Frame61: TFrame6;
N11: TMenuItem;
N_0_infowh: TMenuItem;
procedure FormCreate(Sender: TObject); //组建初始化
procedure N_2_newClick(Sender: TObject); //新增人员,数据库中添加记录
procedure N_2_saveClick(Sender: TObject);//保存当前激活页得信息
procedure N_0_defformClick(Sender: TObject); //进入动态页面设定
procedure N_2_modClick(Sender: TObject); //修改当前用户信息
procedure N_0_zdwhClick(Sender: TObject); //进入字段信息维护
procedure N18Click(Sender: TObject); //查询界面
//procedure ToolButton8Click(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure N_2_newcszxxClick(Sender: TObject);//新增从属信息,在dbgrid中显示
procedure tbn_saveallClick(Sender: TObject); //保存所有信息
procedure ListBox2DblClick(Sender: TObject); //查询出个人所有的项目信息
procedure PageControl1Change(Sender: TObject); //属性集页面转换显示页面信息
procedure PageControl1Changing(Sender: TObject;
var AllowChange: Boolean); //监视页面更改信息,并提示保存
procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean); //动态提取StringGrid1SelectCell行信息
procedure t_2_exitClick(Sender: TObject); //系统退出
procedure N_2_newcsClick(Sender: TObject); //增加从属信息
procedure N_2_delcszxxClick(Sender: TObject); //删除从属子类信息
procedure s_2_delallClick(Sender: TObject); //删除所有信息
procedure N_0_bxwfClick(Sender: TObject); //进入备选字段维护
procedure N29Click(Sender: TObject); // 进入人员照片导出界面(快捷键)
procedure N_0_manageClick(Sender: TObject); //进入用户管理界面
procedure N_3_searchClick(Sender: TObject); //进入数据查询界面
procedure FormActivate(Sender: TObject); //页面激活下,显示可用按钮
procedure N31Click(Sender: TObject); //退出系统
procedure B_ADDClick(Sender: TObject);//载入个人照片
procedure B_DELClick(Sender: TObject);//清除个人照片
procedure N_1_zpdcClick(Sender: TObject);//进入人员照片导出界面
procedure N_HBGBClick(Sender: TObject);
procedure s_1_sjjhClick(Sender: TObject); //进入数据交换界面
procedure FormClose(Sender: TObject; var Action: TCloseAction); //主窗体关闭
procedure N_delcsClick(Sender: TObject); //删除当前用户该页的从属信息
procedure lb_companyClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); //窗体关闭前,更改信息保存提示
procedure TreeView1Click(Sender: TObject);
//procedure N4Click(Sender: TObject);
//procedure TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
// Shift: TShiftState; X, Y: Integer);
procedure N3Click(Sender: TObject); //修改节点
procedure TreeView1Edited(Sender: TObject; Node: TTreeNode;
var S: String); //
{procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N8Click(Sender: TObject);}
procedure B_SearchClick(Sender: TObject); //快速查询出个人,并显示到listbox3里面
procedure ListBox3DblClick(Sender: TObject); //分页显示查询结果下的个人具体项目信息
procedure N11Click(Sender: TObject); //删除节点
procedure N_xinxicaijiClick(Sender: TObject); //信息采集
procedure tbn_printClick(Sender: TObject); //进入打印信息
procedure PageControl2Change(Sender: TObject);//单位列表,快速查询,不在职人员三者tabsheet相互转换信息显示
procedure ListBox5DblClick(Sender: TObject);//分页显示不在职人员具体的项目信息
procedure Frame61TreeView1Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean); //把单位列表在TreeView1中逐级展开
procedure Frame61TreeView1Click(Sender: TObject);//把单位列表在TreeView1中逐级展开
procedure N1Click(Sender: TObject); //新增节点
procedure Frame61TreeView1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer); //记录选择节点的鼠标位置
procedure FormDestroy(Sender: TObject);
procedure ListBox2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ListBox2KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState); //主界面关闭后,释放的信息
procedure showInforRenYuan;
procedure ListBox2Click(Sender: TObject); // 查询人员具体信息
procedure ComposeCreate(editflag,comflag:boolean); //动态创建组建
procedure ChangeComposeState(editflag,comflag:boolean);//改变创建组建的状态
//procedure DeleteCompose;//删除创建的组建
procedure ListBox5Click(Sender: TObject);
procedure ListBox5KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ListBox5KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure N_1_22Click(Sender: TObject);
procedure ListBox3Click(Sender: TObject); //根据数据库,在pagecontrol1页面进行组建创建
private
un_editable:boolean;
submenu_single:tstringlist;
submenu_multi:tstringlist;
// procedure CreateSubMenu(single:boolean;MenuItem:TMenuItem); //创建打印菜单下子 目录
procedure SubMenuSingle_OnClick(sender:TObject); //调用打印模块
procedure SubMenuMulti_OnClick(sender:TObject); //调用打印模块
{ Private declarations }
public
procedure MyButtonOnClick(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure OnEnter(sender:TObject); //用于帮助判断界面是否有改动
procedure onclick(sender: TObject); //checkbox的值是否有改动
procedure CBOnChange(Sender: TObject);
procedure CKOnchange(Sender:tobject); //
//procedure ShowCompany; @@@@@@@20053.10屏蔽
procedure CopyNodeUnder(treeview:TTreeview;sourcenode,targetnode:ttreenode);//复制节点下的目录信息到新的节目目录下
procedure CreateForm;//动态界面改变位置
procedure DelAllTable;
procedure OnExit(Sender: TObject);
end;
var
frm_main: Tfrm_main;
//company_listchanged:boolean;
implementation
uses data_module,unit3,unit4,unit_global,{,frm_tjcx}
frm_tjcx,frm_bxwh,frm_zdwh,frm_zpdc,frm_manage,frm_sjjh, Ufrm_login,{frmpreview,}
frm_SJCX,dlg_editnode, dlg_print;//,frm_sjcx;
{$R *.dfm}
//////////////////////////////////////////////
{
procedure Tfrm_main.DeleteCompose;
var
i,tabsheetcount,index:integer;
sqlstr:string;
begin
sqlstr:='select max(page) as maxnum from field_info';
with dm.ADOQuery1 do
begin
close;
sql.Clear;
sql.Add(sqlstr);
open;
if not eof then
tabsheetcount:=fieldbyname('maxnum').AsInteger
else
tabsheetcount:=0; //没有页数应该exit
end;
for i:=1 to tabsheetcount do
begin
sqlstr:='select * from field_info where yn=''1'' and page='+inttostr(pagecontrol1.ActivePageindex+1);
with dm.ADOQuery1 do
begin
close;
sql.Clear;
sql.Add(sqlstr);
open;
labcount:=recordcount;
first;
while not eof do
begin
index:=fieldbyname('ord').AsInteger-1;
labelcaption[i-1][index].Destroy;
if index<=labcount then
begin
if (fieldbyname('type').AsString='E') or (fieldbyname('type').AsString='UE') then
begin
editbox[i-1][index].Destroy;
//editbox[i][index].Enabled:=comflag;
end;
if fieldbyname('type').AsString='D' then
begin
maskedit[i-1][index].Destroy;
end;
if (fieldbyname('type').AsString='C') then
combobox[i-1][index].Destroy;
if (fieldbyname('type').AsString='B') then
checkbox[i-1][index].Destroy;
if (fieldbyname('type').AsString='M') then
memo[i-1][index].Destroy;
if (fieldbyname('type').AsString='N') then
updown[i-1][index].Destroy;
end;
next;
end;
end;
//tabsheet[i].Destroy;
end;
end;
}
///////////////2006-03////////////////////////
procedure Tfrm_main.ChangeComposeState(editflag,comflag:boolean);
var
sqlstr:string;
i,index,labcount:integer;
begin
i:=pagecontrol1.ActivePageindex;
sqlstr:='select * from field_info where yn=''1'' and page='+inttostr(pagecontrol1.ActivePageindex+1);
with dm.ADOQuery1 do
begin
close;
sql.Clear;
sql.Add(sqlstr);
open;
labcount:=recordcount;
first;
while not eof do
begin
index:=fieldbyname('ord').AsInteger-1;
if index<=labcount then
begin
if (fieldbyname('type').AsString='E') or (fieldbyname('type').AsString='UE') then
begin
editbox[i][index].ReadOnly:=editflag;
//editbox[i][index].Enabled:=comflag;
end;
if fieldbyname('type').AsString='D' then
begin
maskedit[i][index].ReadOnly:=editflag;
maskedit[i][index].Enabled:=comflag;
end;
if (fieldbyname('type').AsString='C') then
combobox[i][index].Enabled:=comflag;
if (fieldbyname('type').AsString='B') then
checkbox[i][index].Enabled:=comflag;
if (fieldbyname('type').AsString='M') then
memo[i][index].ReadOnly:=editflag;
if (fieldbyname('type').AsString='N') then
updown[i][index].Enabled:=comflag;
end;
next;
end;
end;
end;
//////////////2006-03/////////////////////////
procedure Tfrm_main.ComposeCreate(editflag,comflag:boolean);
var
tabsheetcount,comboboxcount:integer;
editboxcount:integer;
i,j,k,h,count:integer;
sqlstr:string;
pagenum:integer;
itop,ileft:integer;
dbgrid:tdbgrid;
index:integer;
fieldname:string;
sqltmp:string;
image:tdbimage;
tmpname:string;
tmpstr:string;
taborder:integer;
//yz1119字段变量
tmpfield:string;
begin
//company_listchanged:=false;
is_empty:=true;//序号栏为空
//|@@@@@@@@@@@@@@@@@
//创建所有公用的tstringlist变量
prescodelist:=tstringlist.Create;
noncompany_list:=tstringlist.create;
quicksearch_list:=tstringlist.create;
submenu_single:=tstringlist.Create;
submenu_multi:=tstringlist.Create;
//======统计模块用
//tj_tablelist:=tstringlist.Create;
//goallist:=tstringlist.Create;
{//==查询模块用
sql_conden:=tstringlist.create;
//UnChoseFieldlist:=tstringlist.Create;
//ChosedFieldlist:=tstringlist.Create;
tablelist:=tstringlist.create;
SJ_PreFieldName:=tstringlist.Create;
SJ_SelectFieldName:=tstringlist.Create;
//SelectField_Rellist:=tstringlist.Create;
SearchTablelist:=tstringlist.create;
SearchFieldList:=tstringlist.Create;
SqlTablelist:=tstringlist.Create;
SqlFieldlist:=Tstringlist.Create;
SqlRelation:=Tstringlist.Create;
SqlValue:=Tstringlist.Create;
SqlConn:=Tstringlist.Create;
resultlist:=tstringlist.create;}
//@@@@@@@@@@@@@@@@@@@
//frame61.OnResize(sender); //@@@@@@@20053.10
//showcompany;
Selected:=false;
taborder:=0;
tbn_newcs.Enabled:=false; //新增从属信息
tbn_newcszxx.Enabled:=false;//新增从属子信息
tbn_saveall.Enabled:=false;
tbn_delall.Enabled:=false;
tbn_delzxx.Enabled:=false;
tbn_mod.Enabled:=false;
tbn_print.Enabled:=false;
n_2_newcs.Enabled:=false;
n_2_newcszxx.Enabled:=false;
n_2_mod.Enabled:=false;
n_2_save.Enabled:=false;
s_2_delall.Enabled:=false;
n_2_delcszxx.Enabled:=false;
stringgrid1.Visible:=false;
AppPath:=ExtractFilePath(Application.ExeName);
/////将field_info所有信息导入到ado中
with dm.ADOQry_gen do
begin
close;
sql.Clear;
sql.Add('select * from field_info');
open;
end;
addstate:=false;
upstate:=false;
is_update:=false;
is_save:=true;
is_csadd:=false;
is_addnew:=false;
is_mod:=false;
comboboxcount:=0;
editboxcount:=0;
//==========创建pagecontrol
//计算页面个数
sqlstr:='select max(page) as maxnum from field_info';
with dm.ADOQuery1 do
begin
close;
sql.Clear;
sql.Add(sqlstr);
open;
if not eof=bof then
tabsheetcount:=fieldbyname('maxnum').AsInteger
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -