📄 purview.pas
字号:
unit Purview;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, RzTreeVw, StdCtrls, RzLstBox, RzDBList, RzTray,
RzShellCtrls, DB, ADODB, ExtCtrls, ToolWin, ImgList;
type
TFrmPurview = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
PurviewTree: TRzCheckTree;
ToolBar1: TToolBar;
BtSave: TToolButton;
BtClose: TToolButton;
ImageList1: TImageList;
QPoliceMan: TADOQuery;
QPurview: TADOQuery;
PoliceTree: TRzTreeView;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure PoliceTreeClick(Sender: TObject);
procedure BtCloseClick(Sender: TObject);
procedure BtSaveClick(Sender: TObject);
procedure PurviewTreeStateChange(Sender: TObject; Node: TTreeNode;
NewState: TRzCheckState);
private
procedure AddPurviewTree;
function readname(jyname: string): string;
{ Private declarations }
public
{ Public declarations }
end;
var
FrmPurview: TFrmPurview;
changPur: boolean;
NonceNum: string;
implementation
uses Dm;
{$R *.dfm}
function TFrmPurview.readname(jyname: string): string;
var
rname, rs: string;
i: word;
begin
rname := '';
i := 1;
rs := copy(jyname, i, 1);
while rs <> #$A3 do
begin
rname := rname + Trim(rs);
i := i + 1;
rs := copy(jyname, i, 1);
end;
result := Trim(rname);
end;
//TRzCheckState = ( csUnknown, csUnchecked, csChecked, csPartiallyChecked );
procedure TFrmPurview.AddPurviewTree;
var
pur: string;
begin
QPurview.Close;
QPurview.SQL.Text := 'select * from jyqx where jybm=' + quotedstr(Trim(QPoliceman.FieldByName('JYBH').AsString));
QPurview.Open;
PurviewTree.ItemState[0] := csUnchecked;
QPurview.First;
while not Qpurview.Eof do
begin
pur := Trim(QPurview.FieldByName('QXMC').AsString);
if pur = '导入图片' then
PurviewTree.ItemState[2] := cschecked
else
if pur = '信息录入' then
PurviewTree.ItemState[3] := cschecked
else
if pur = '信息审核' then
PurviewTree.ItemState[4] := cschecked
else
if pur = '信息发布' then
PurviewTree.ItemState[6] := cschecked
else
if pur = '处罚' then
PurviewTree.ItemState[7] := cschecked
else
if pur = '信息查询' then
PurviewTree.ItemState[9] := cschecked
else
if pur = '分季度统计信息' then
PurviewTree.ItemState[11] := cschecked
else
if pur = '各地点信息统计' then
PurviewTree.ItemState[12] := cschecked
else
if pur = '分时段统计信息' then
PurviewTree.ItemState[13] := cschecked
else
if pur = '次数统计' then
PurviewTree.ItemState[14] := cschecked
else
if pur = '本地统计' then
PurviewTree.ItemState[15] := cschecked
else
if pur = '地点配置' then
PurviewTree.ItemState[18] := cschecked
else
if pur = '方向配置' then
PurviewTree.ItemState[19] := cschecked
else
if pur = '类型配置' then
PurviewTree.ItemState[20] := cschecked
else
if pur = '记录类型' then
PurviewTree.ItemState[21] := cschecked
else
if pur = '车类型配置' then
PurviewTree.ItemState[22] := cschecked
else
if pur = '颜色配置' then
PurviewTree.ItemState[23] := cschecked
else
if pur = '牌类型配置' then
PurviewTree.ItemState[24] := cschecked
else
if pur = '特殊信息配置' then
PurviewTree.ItemState[25] := cschecked
else
if pur = '基本信息配置' then
PurviewTree.ItemState[27] := cschecked
else
if pur = '权限配置' then
PurviewTree.ItemState[28] := cschecked;
Qpurview.next;
end;
ChangPur := False;
end;
procedure TFrmPurview.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action := cafree;
FrmPurview := nil;
end;
procedure TFrmPurview.FormCreate(Sender: TObject);
var
firstnode, node: tTreenode;
i: integer;
begin
firstnode := PoliceTree.Items.AddFirst(nil, '姓名');
QPoliceman.Close;
QPoliceman.SQL.Text := 'select * from JY where jybh<>' + quotedstr(Trim(FrmDm.QLogin.FieldValues['jybh']))
+ ' and jyxm<>' + quotedstr('sys');
QPoliceman.Open;
while not QPoliceMan.Eof do
begin
node := PoliceTree.Items.AddChild(firstnode, Trim(QPoliceman.FieldByName('JYXM').AsString)
+ '(' + Trim(QPoliceman.FieldByName('JYBH').AsString) + ')');
QPoliceman.Next;
end;
for i := 0 to PurviewTree.Items.Count - 1 do
PurviewTree.Items.Item[i].Expanded := True;
PoliceTree.Items.Item[0].Expanded := True;
AddPurviewTree;
end;
procedure TFrmPurview.PoliceTreeClick(Sender: TObject);
begin
if (PoliceTree.Selected <> nil) and (PoliceTree.Selected.Text <> '姓名') then
begin
if ChangPur = true then
if MessageBox(0, '权限已改变,是否保存修改?', '提示', MB_ICONWARNING + mb_YESNO) = idyes then
Btsave.Click;
QPoliceMan.Close; //获取姓名
QPoliceMan.SQL.Text := 'select * from jy where jyxm=' + quotedstr(readname(Trim(PoliceTree.Selected.Text)));
QPoliceMan.Open;
PurviewTree.ItemState[0] := csunchecked;
AddPurviewTree;
NonceNum := Trim(QPoliceman.FieldByName('JYBH').AsString);
end;
end;
procedure TFrmPurview.BtCloseClick(Sender: TObject);
begin
close;
end;
procedure TFrmPurview.BtSaveClick(Sender: TObject);
var
i: integer;
ComPurview: TAdoCommand;
begin
try
ComPurview := TAdoCommand.Create(self);
ComPurview.Connection := FrmDm.ConnPolice;
ComPurview.CommandText := 'delete from jyqx where jybm=' + quotedstr(NonceNum);
ComPurview.Execute;
QPurview.Close;
for i := 0 to PurviewTree.Items.Count - 1 do
if PurviewTree.ItemState[i] <> csUnchecked then
begin
ComPurview.CommandText := 'insert into jyqx values('
+ quotedstr(PurviewTree.Items.Item[i].Text)
+ ',' + quotedstr(Trim(QPoliceman.FieldByName('JYBH').AsString)) + ')';
ComPurview.Execute;
end;
finally
ComPurview.Free;
ChangPur := False;
MessageBox(0, '保存成功!', '提示', MB_ICONINFORMATION + mb_OK);
end;
end;
procedure TFrmPurview.PurviewTreeStateChange(Sender: TObject;
Node: TTreeNode; NewState: TRzCheckState);
begin
ChangPur := true;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -