⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 czyda.pas

📁 一个基于数据的药品行业管理系统,较全面,可供学习数据的开发人员参考消息
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 + -