📄 zfrm_popedomu.pas
字号:
{
'┌───────────────────────────────────┐
'│**********************************************************************│
'│*** 文件名称:zfrm_popedomU *│
'│*** 功能描述: *│
'│*** 编写人员:朱华 *│
'│*** 编写日期:2001-06-16 *│
'│*** 修改人员: *│
'│*** 修改日期: *│
'│**********************************************************************│
'└───────────────────────────────────┘
}
unit zfrm_popedomU;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, ImgList, ToolWin, Menus, ExtCtrls, ActnList, Db, DBTables,
StdCtrls;
type
Tzfrm_popedom = class(TForm)
MainMenu1: TMainMenu;
M1: TMenuItem;
H1: TMenuItem;
S1: TMenuItem;
N1: TMenuItem;
X1: TMenuItem;
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ImageList1: TImageList;
StatusBar1: TStatusBar;
TreeView1: TTreeView;
Panel1: TPanel;
Image1: TImage;
C1: TMenuItem;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ListView1: TListView;
PopupMenu1: TPopupMenu;
ActionList1: TActionList;
z_setcustomer: TAction;
z_customermanager: TAction;
ToolButton6: TToolButton;
z_deletecustomer: TAction;
S2: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
Query1: TQuery;
ImageList2: TImageList;
Query4: TQuery;
D1: TMenuItem;
N4: TMenuItem;
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormResize(Sender: TObject);
procedure X1Click(Sender: TObject);
procedure z_setcustomerExecute(Sender: TObject);
procedure z_customermanagerExecute(Sender: TObject);
procedure z_deletecustomerExecute(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure TreeView1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Procedure CreateParams(Var Params: TCreateParams); Override;
procedure z_FlashTreeView1P();
procedure z_FlashCustomerListView1P(z_pi_code:string);
end;
{
type
PMyRec = ^TMyRec;
TMyRec = record
z_pi_code :string; // 声明-(工程代码)-变量
end;
}
var
zfrm_popedom: Tzfrm_popedom;
// 自定义变量
// z_TreeViewDate_STU: PMyRec;
// z_nodesA :array[0..10000] of TtreeNode; // 声明-(工程节点)-数组
implementation
uses zfrm_customerU, zfrm_setcustomerU, zmod_commonDateU;
{$R *.DFM}
Procedure Tzfrm_popedom.CreateParams(Var Params: TCreateParams);
begin
Inherited ;
With Params Do
exStyle := exStyle Or WS_EX_APPWINDOW;
end;
////////////////////// 用户自定义- <开始> //////////////////////
//
procedure Tzfrm_popedom.z_FlashCustomerListView1P(z_pi_code:string);
var
NewItem: TListItem;
begin
//
ListView1.Items.Clear;
zh_Select_SQL := 'select * from tm_customerprojectinfoV where pi_code=' + '''' + z_pi_code + '''' ;
try {try <1> S}
Query4.Close ;
Query4.SQL.Clear ;
Query4.SQL.Add(zh_Select_SQL) ;
Query4.Prepare ;
Query4.Open ;
Query4.First ;
except
// 数据库错
Application.MessageBox(
'数据库连接错误,请您检查或系统管理员联系',
'数据库错',
MB_OK+MB_ICONError) ;
Exit ;
end; {try <1> E}
while not Query4.Eof do
begin {while <1> S}
NewItem:=ListView1.Items.add ;
NewItem.Caption :=Query4.Fields[0].AsString ;
NewItem.SubItems.Add(Query4.Fields[1].AsString) ;
NewItem.SubItems.Add(Query4.Fields[2].AsString) ;
NewItem.SubItems.Add(Query4.Fields[3].AsString) ;
NewItem.SubItems.Add(Query4.Fields[4].AsString) ;
NewItem.SubItems.Add(Query4.Fields[5].AsString) ;
NewItem.ImageIndex := 1 ;
Query4.Next ;
end; {while <1> E}
//
end;
//
procedure Tzfrm_popedom.z_FlashTreeView1P();
var
I :integer;
pi_id :string ; // 声明-(工程代码)-变量
pi_name :string ; // 声明-(工程名称)-变量
begin
// TreeView1 — 部门结构,初始化
TreeView1.Items.Clear ;
I := 0 ;
// 为结构赋值
New(z_TreeViewDate_STU);
z_nodesA[I] := TreeView1.Items.AddObject(TreeView1.Items.GetFirstNode, '工程列表', z_TreeViewDate_STU) ;
z_nodesA[I].ImageIndex := 0 ;
z_nodesA[I].SelectedIndex := 0 ;
//try
zh_Select_SQL := 'select g_pi_id, pi_code, pi_name from tm_projectinfo where pi_statetype<>' + '''' + '关闭' + '''' + ' order by g_pi_id desc' ;
Query1.Close ;
Query1.SQL.Clear ;
Query1.SQL.Add(zh_Select_SQL) ;
Query1.Prepare ;
Query1.Open ;
Query1.First ;
While not Query1.Eof do
begin
I := Query1.FieldByName('g_pi_id').AsInteger ;
pi_id := Query1.FieldByName('pi_code').AsString ;
pi_name := Query1.FieldByName('pi_name').AsString ;
// 为结构赋值
New(z_TreeViewDate_STU);
z_TreeViewDate_STU.z_pi_code := pi_id ;
z_nodesA[I] := TreeView1.Items.AddChildObject(z_nodesA[0], pi_name, z_TreeViewDate_STU) ;
z_nodesA[I].ImageIndex := 1 ;
z_nodesA[I].SelectedIndex := 2 ;
Query1.Next ;
end;
// 展开所有树结构
z_nodesA[0].Expanded := True ;
//except
//end;
//
end;
//
////////////////////// 用户自定义- <结束> //////////////////////
procedure Tzfrm_popedom.Image1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
var
temp1 :integer;
begin
//
if (ssLeft in Shift)then
begin
temp1 := X + TreeView1.Width ;
if (temp1 < 30) then Exit ;
if (temp1 > 600) then Exit ;
Panel1.Left := temp1 ;
Panel1.Height := image1.Height ;
end;
//
end;
procedure Tzfrm_popedom.Image1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
//
if (ssLeft in Shift)then
begin
Panel1.Visible := True ;
end;
//
end;
procedure Tzfrm_popedom.Image1MouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
//
TreeView1.Width := Panel1.Left ;
Panel1.Visible := False ;
//
end;
procedure Tzfrm_popedom.FormResize(Sender: TObject);
begin
//
Panel1.Top := image1.Top ;
Panel1.Left := image1.Left ;
Panel1.Height := image1.Height ;
Panel1.Width := image1.Width ;
//
end;
procedure Tzfrm_popedom.X1Click(Sender: TObject);
begin
//
Close ;
//
end;
procedure Tzfrm_popedom.z_setcustomerExecute(Sender: TObject);
var
tempS :string;
begin
// 设置用户
try
tempS := PMyRec(TreeView1.Selected.Data)^.z_pi_code ;
if tempS = '' then Exit ;
except
Exit ;
end;
z_pi_code := tempS ;
z_pi_name := TreeView1.Selected.Text ;
zfrm_setcustomer.ShowModal ;
// 刷新
z_FlashCustomerListView1P(PMyRec(TreeView1.Selected.Data)^.z_pi_code) ; //***//
//
end;
procedure Tzfrm_popedom.z_customermanagerExecute(Sender: TObject);
begin
// 用户管理
with zfrm_customer do
begin
Show ;
WindowState := wsNormal;
end;
//
end;
procedure Tzfrm_popedom.z_deletecustomerExecute(Sender: TObject);
var
I,J :integer ;
z_pi_code:string;
z_ci_loginname:string;
begin
// 删除对于工程用户
// 得到用户ID
J := ListView1.Items.Count-1 ;
for I:=0 to J do
begin
if ListView1.Items.Item[I].Selected then
begin
z_ci_loginname := ListView1.Items.Item[I].Caption ;
z_pi_code := ListView1.Items.Item[I].SubItems[4] ;
break ;
end;
end;
if z_ci_loginname='' then Exit;
// 删除提示
zh_returnV:=Application.MessageBox(
'您是否要从该工程中删除此用户?',
'删除用户',
MB_YesNo++MB_ICONWARNING);
if zh_returnV=IDNO then Exit;
// 删除用户
try {try <2> S}
zh_Delete_SQL := 'delete from tm_customerproject where (ci_loginname=:cu_loginname) and (pi_code=:g_de_id)';
//showmessage(zh_Insert_SQL);
Query1.Close;
Query1.SQL.Clear ;
Query1.SQL.Add(zh_Delete_SQL);
Query1.ParamByName('cu_loginname').AsString := z_ci_loginname ;
Query1.ParamByName('g_de_id').AsString := z_pi_code ;
Query1.Prepare ;
Query1.ExecSQL ;
except
// 数据库错
Application.MessageBox(
'数据库连接错误,请您检查',
'数据库错',
MB_OK+MB_ICONError);
Exit ;
end; {try <2> E}
// 刷新
TreeView1Click(Self);
//
end;
procedure Tzfrm_popedom.FormActivate(Sender: TObject);
begin
// 刷新
z_FlashTreeView1P ; //***//
//
end;
procedure Tzfrm_popedom.TreeView1Click(Sender: TObject);
begin
// 得到,选中节点属性
try
z_FlashCustomerListView1P(PMyRec(TreeView1.Selected.Data)^.z_pi_code) ; //***//
except
end;
//
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -