📄 czyda.pas
字号:
unit czyda;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ExtCtrls, StdCtrls, ToolWin, ImgList, Grids, DBGrids,
DB;
type
Tfrm_czyda = class(TForm)
ToolBar1: TToolBar;
tadd: TToolButton;
tdel: TToolButton;
tedit: TToolButton;
tsave: TToolButton;
tcancel: TToolButton;
tprint: TToolButton;
tfind: TToolButton;
ImageList2: TImageList;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
txtczybh: TEdit;
txtczymc: TEdit;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
TreeView1: TTreeView;
Label4: TLabel;
StringGrid1: TStringGrid;
txtczyqx: TComboBox;
Label3: TLabel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure reflesh;
procedure taddClick(Sender: TObject);
procedure tsaveClick(Sender: TObject);
procedure tfindClick(Sender: TObject);
procedure TabSheet2Show(Sender: TObject);
procedure FormCreate(Sender: TObject);
//procedure TreeView1Click(Sender: TObject);
procedure PageControl1Change(Sender: TObject);
procedure teditClick(Sender: TObject);
procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
procedure StringGrid1Click(Sender: TObject);
//procedure TreeView1Collapsed(Sender: TObject; Node: TTreeNode);
procedure treemenu;
procedure TreeView1GetSelectedIndex(Sender: TObject; Node: TTreeNode);
//procedure TreeView1Expanded(Sender: TObject; Node: TTreeNode);
procedure TreeView1Click(Sender: TObject);
procedure txtczyqxChange(Sender: TObject);
procedure TreeView1Expanded(Sender: TObject; Node: TTreeNode);
procedure TreeView1Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
// procedure stringpower;
private
{ Private declarations }
public
cell,coll:integer;
{ Public declarations }
end;
var
frm_czyda: Tfrm_czyda;
editflag:integer;
implementation
uses main, date1;
{$R *.dfm}
function aenabeld(key:integer):boolean;
begin
with frm_czyda do
begin
//浏览模式
if key=0 then
begin
//txtcsbh.enabled:=true;
//txthcbh.enabled:=false;
//txthcmc.enabled:=false;
// txtdw.enabled:=false;
//txtgg.enabled:=false;
//txtdqkc.enabled:=false;
//txtjhdj.enabled:=false;
//txtaqkc.enabled:=false;
//txtpc.enabled:=false;
txtczybh.Enabled:=false;
txtczymc.Enabled:=false;
tadd.Enabled:=true;
tdel.Enabled:=true;
tedit.Enabled:=true;
tsave.Enabled:=false;
tcancel.Enabled:=false;
tfind.Enabled:=true;
tprint.Enabled:=true;
end;
// 编辑模式
if key=1 then
begin
tadd.Enabled:=false;
tdel.Enabled:=false;
tedit.Enabled:=false;
tsave.Enabled:=true;
tcancel.Enabled:=true;
tfind.Enabled:=false;
//txtcsbh.enabled:=true;
//txthcbh.enabled:=false;
//txthcmc.enabled:=true;
//txtdw.enabled:=true;
//txtgg.enabled:=true;
//txtdqkc.enabled:=false;
//txtjhdj.enabled:=true;
//txtaqkc.enabled:=true;
//txtpc.enabled:=true;
txtczybh.Enabled:=false;
txtczymc.Enabled:=true;
txtczymc.SetFocus;
end;
//新增
if key=2 then
begin
tadd.Enabled:=false;
tdel.Enabled:=false;
tedit.Enabled:=false;
tsave.Enabled:=true;
tcancel.Enabled:=true;
tfind.Enabled:=false;
txtczybh.Enabled:=true;
txtczymc.Enabled:=true;
txtczybh.Clear;
txtczymc.Clear;
txtczybh.SetFocus;
//txthcmc.enabled:=true;
// txtdw.enabled:=true;
//txtgg.enabled:=true;
//txtdqkc.enabled:=false;
//txtjhdj.enabled:=true;
//txtaqkc.enabled:=true;
//txtpc.enabled:=true;
//txthcmc.clear;
//txtdw.clear;
//txtgg.clear;
//txtjhdj.clear;
//t//xtaqkc.clear;
//txtpc.clear;
//txthcmc.SetFocus;
//txthcmc.Color:=clskyblue;
//txtdqkc.Text:='0';
//txtpc.Text:='0';
end;
// 保存
if key=3 then
begin
{txtcsbh.enabled:=false;
txthcbh.enabled:=false;
txthcmc.enabled:=false;
txtdw.enabled:=false;
txtgg.enabled:=false;
txtdqkc.enabled:=false;
txtjhdj.enabled:=false;
txtaqkc.enabled:=false;
txtpc.enabled:=false; }
txtczybh.Enabled:=false;
txtczymc.Enabled:=false;
tadd.Enabled:=true;
tdel.Enabled:=true;
tedit.Enabled:=true;
tsave.Enabled:=false;
tcancel.Enabled:=false;
tfind.Enabled:=true;
tprint.Enabled:=true;
end;
if key=4 then//取消
begin
{txthcbh.clear;
txthcmc.clear;
txtdw.clear;
txtgg.clear;
txtjhdj.clear;
txtaqkc.clear;
//txtpc.clear;
txtcsbh.enabled:=true;
txthcbh.enabled:=false;
txthcmc.enabled:=false;
txtdw.enabled:=false;
txtgg.enabled:=false;
txtdqkc.enabled:=false;
txtjhdj.enabled:=false;
txtaqkc.enabled:=false;
txtpc.enabled:=false; }
txtczybh.Clear;
txtczymc.Clear;
txtczybh.Enabled:=false;
txtczymc.Enabled:=false;
tadd.Enabled:=true;
tdel.Enabled:=true;
tedit.Enabled:=true;
tsave.Enabled:=false;
tcancel.Enabled:=false;
tfind.Enabled:=true;
tprint.Enabled:=true;
end;
end;
end;
procedure Tfrm_czyda.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;
procedure Tfrm_czyda.FormShow(Sender: TObject);
begin
treemenu;
treeview1.Items[0].Selected;
pagecontrol1.ActivePage:=tabsheet1;
//reflesh;
end;
procedure Tfrm_czyda.reflesh;
var i,j,k:integer;
node,node1,node2,node3:ttreenode;
begin
node:=treeview1.Items.AddChild(nil,'系统功能列表');
node.ImageIndex:=11;
node.SelectedIndex:=1;
for i:=0 to 5 do
begin
node1:=treeview1.Items.AddChild(node,frm_main.MainMenu1.Items[i].Caption);
node1.ImageIndex:=0;
node1.SelectedIndex:=1;
for j:=0 to frm_main.MainMenu1.Items[i].Count-1 do
begin
if frm_main.MainMenu1.Items[i].Items[j].Caption<>'-' then
begin
node2:=treeview1.Items.AddChild(node1,frm_main.MainMenu1.Items[i].Items[j].Caption);
node2.ImageIndex:=0;
node2.SelectedIndex:=1;
for k:=0 to frm_main.MainMenu1.Items[i].Items[j].Count-1 do
begin
if frm_main.MainMenu1.Items[i].Items[j].items[k].Caption<>'-' then
begin
node3:=treeview1.Items.AddChild(node2,frm_main.MainMenu1.Items[i].Items[j].Items[k].Caption);
node3.ImageIndex:=0;
node3.SelectedIndex:=1;
end;
end;
end;
end;
end;
end;
procedure Tfrm_czyda.taddClick(Sender: TObject);
begin
aenabeld(2);
end;
procedure Tfrm_czyda.tsaveClick(Sender: TObject);
var str,sqlstr1,sqlstr2:string;
begin
if pagecontrol1.ActivePage=tabsheet2 then
begin
with data do
begin
aq1.Connection:=adoc1;
adoc1.BeginTrans;
aq1.Close;
aq1.SQL.Clear;
aq1.SQL.Add('select * from menulist where menuname=:menuname');
aq1.Parameters.ParamByName('menuname').Value:=trim(stringgrid1.cells[1,cell]);
aq1.Open;
if aq1.Recordset.RecordCount>0 then
begin
str:=trim(aq1.Fields.Fieldbyname('menucode').Value);
end;
sqlstr1:='delete from userpower where '+
' czybh='''+copy(trim(txtczyqx.items[txtczyqx.itemindex]),1,4)+''' and '+
' menucode='''+str+'''';
sqlstr2:='insert into userpower (czybh,menucode,price,rw,prin,sh) values '+
' (:czybh,:menucode,:price,:rw,:prin,:sh)';
if editflag=1 then
begin
aq1.Close;
aq1.SQL.Clear;
aq1.SQL.Add(sqlstr1);
aq1.ExecSQL;
end;
aq1.Close;
aq1.SQL.Clear;
aq1.SQL.Add(sqlstr2);
aq1.Parameters.ParamByName('czybh').Value:=
copy(trim(txtczyqx.Items[txtczyqx.itemindex]),1,4);
aq1.Parameters.ParamByName('menucode').Value:=str;
if stringgrid1.Cells[2,cell]<>' ' then
aq1.Parameters.ParamByName('price').Value:='1'
else
aq1.Parameters.ParamByName('price').Value:='0';
if stringgrid1.Cells[3,cell]<>' ' then
aq1.Parameters.ParamByName('rw').Value:='1'
else
aq1.Parameters.ParamByName('rw').Value:='0';
if stringgrid1.Cells[4,cell]<>' ' then
aq1.Parameters.ParamByName('prin').Value:='1'
else
aq1.Parameters.ParamByName('prin').Value:='0';
if stringgrid1.Cells[5,cell]<>' ' then
aq1.Parameters.ParamByName('sh').Value:='1'
else
aq1.Parameters.ParamByName('sh').Value:='0';
aq1.ExecSQL;
adoc1.CommitTrans;
tedit.Enabled:=true;
tsave.Enabled:=false;
tcancel.Enabled:=false;
stringgrid1.Enabled:=false;
end;
end;
if pagecontrol1.ActivePage=tabsheet1 then
begin
if txtczybh.text='' then begin
showmessage('不能为空');
exit;
end;
if txtczymc.text='' then
begin
showmessage('用户名称不能为空');
txtczymc.SetFocus;
exit;
end;
with data do
begin
aq1.Connection:=adoc1;
adoc1.BeginTrans;
aq1.Close;
aq1.SQL.Clear;
aq1.SQL.Add('insert into czyda (czybh,czymc,czymm)'+
' values ('''+trim(txtczybh.text)+''','''+trim(txtczymc.Text)+''',''1234'')');
aq1.ExecSQL;
adoc1.CommitTrans;
showmessage('新用户添加成功');
tfind.click;
end;
aenabeld(3);
end;
end;
procedure Tfrm_czyda.tfindClick(Sender: TObject);
begin
with data do
begin
aq1.Connection:=adoc1;
aq1.Close;
aq1.SQL.clear;
aq1.sql.Add('select czybh as 操作员编号,czymc as 操作员名称 from czyda');
aq1.Open;
if aq1.RecordCount>0 then
begin
datasource1.DataSet:=aq1;
dbgrid1.DataSource:=datasource1;
end;
end;
end;
procedure Tfrm_czyda.TabSheet2Show(Sender: TObject);
begin
treeview1.SetFocus;
txtczyqx.clear;
//txtczyqx.Items.Add(' ');
with data do
begin
aq1.Connection:=adoc1;
aq1.Close;
aq1.SQL.Clear;
aq1.SQL.Add('select * from czyda ');
aq1.Open;
if aq1.Recordset.RecordCount>0 then
begin
while not aq1.Eof do
begin
txtczyqx.Items.Add(aq1.Fieldbyname('czybh').Value+'-'+
aq1.fieldbyname('czymc').Value);
aq1.Next;
end;
txtczyqx.ItemIndex:=0;
end;
end;
end;
procedure Tfrm_czyda.FormCreate(Sender: TObject);
begin
stringgrid1.ColCount:=6;
stringgrid1.Cells[0,0]:='';
stringgrid1.Cells[1,0]:='功能';
stringgrid1.Cells[2,0]:='拥有';
stringgrid1.Cells[3,0]:='新增';
stringgrid1.Cells[4,0]:='打印';
stringgrid1.Cells[5,0]:='审核';
stringgrid1.ColWidths[0]:=10;
stringgrid1.ColWidths[1]:=80;
stringgrid1.ColWidths[2]:=40;
stringgrid1.ColWidths[3]:=40;
stringgrid1.ColWidths[4]:=40;
stringgrid1.ColWidths[5]:=40;
end;
procedure Tfrm_czyda.PageControl1Change(Sender: TObject);
begin
if pagecontrol1.ActivePage=tabsheet2 then
begin
tadd.Enabled:=false;
tdel.Enabled:=false;
end
else
begin
tadd.Enabled:=true;
tdel.Enabled:=true;
end;
end;
procedure Tfrm_czyda.teditClick(Sender: TObject);
begin
editflag:=1;
if pagecontrol1.ActivePage=tabsheet2 then
begin
stringgrid1.Enabled:=true;
stringgrid1.SetFocus;
tedit.Enabled:=false;
tsave.Enabled:=true;
tcancel.Enabled:=true;
end;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -