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

📄 unit_frmdict.pas

📁 影院售票系统完整源码
💻 PAS
字号:
unit Unit_frmdict;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Unit_frmtemplate, ExtCtrls, ComCtrls, CyberListVw, StdCtrls,
  Buttons, CyberPanel, CyberXPMenu;

type
  Tfrmdict = class(Tfrmtemplate)
    BtnAdd: TBitBtn;
    BtnEdit: TBitBtn;
    BtnDel: TBitBtn;
    BtnExit: TBitBtn;
    CyberSizePanel1: TCyberSizePanel;
    TreeView1: TTreeView;
    Panel4: TPanel;
    ListView1: TCyberListView;
    CyberXPMenu1: TCyberXPMenu;
    procedure BtnExitClick(Sender: TObject);
    procedure BtnAddClick(Sender: TObject);
    procedure ListView1CustomDrawItem(Sender: TCustomListView;
      Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
    procedure TreeView1Click(Sender: TObject);
    procedure BtnEditClick(Sender: TObject);
    procedure BtnDelClick(Sender: TObject);
    procedure ListView1DblClick(Sender: TObject);
    procedure ListView1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    kindname        :string;
    procedure refreshlistview(lstv:TCyberListView;sqlstr:string);
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmdict: Tfrmdict;

implementation
uses unit_public,unit_adodm,unit_frmdictinfo, Unit_frmhallinfo;
{$R *.dfm}

procedure Tfrmdict.BtnExitClick(Sender: TObject);
begin
  inherited;
  close;
end;

procedure Tfrmdict.BtnAddClick(Sender: TObject);
var
  selnode       :TTreeNode;
begin
  inherited;
  selnode       :=treeview1.Selected ;
  if (selnode=nil) or (selnode.Level=0) then
  begin
    publicinfo.showmsg('请选择一种类别');
    exit;
  end;
  frmdictinfo   :=Tfrmdictinfo.MyCreate(Application,false);
  try
    frmdictinfo.kind :=selnode.Index+1;
    frmdictinfo.kindname :=selnode.Text ;
    frmdictinfo.ShowModal ;
  finally
    frmdictinfo.Free ;
    refreshlistview(listview1,'select * from tbldict where kind='+inttostr(selnode.Index+1));
  end;
end;

procedure Tfrmdict.refreshlistview(lstv: TCyberListView; sqlstr: string);
var
  i,_id                 :integer;
  _code,_name,_remarks  :string;
  item0                 :TListItem;
begin
  lstv.Items.Clear ;
  lstv.Items.BeginUpdate ;
  try
    if publicinfo.Execsql(sqlstr,false) then
    begin
      if adodm.ADOQRY.RecordCount<=0 then exit;
      with adodm.ADOQRY do
      begin
        first;
        for i:=1 to recordcount do
        begin
          _id           :=fieldbyname('id').AsInteger ;
          _code         :=fieldbyname('code').AsString ;
          _name         :=fieldbyname('name').AsString ;
          _remarks      :=fieldbyname('remarks').AsString ;
          item0:=lstv.Items.Add ;
          item0.Caption :=_code;
          item0.SubItems.Add(_name);
          item0.SubItems.Add(_remarks);
          item0.Data :=pointer(_id);
          next;
        end;
      end;
    end;
  finally
    lstv.Items.EndUpdate ;
  end;
end;

procedure Tfrmdict.ListView1CustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  inherited;
  publicinfo.ListViewDraw(item,DefaultDraw);
end;

procedure Tfrmdict.TreeView1Click(Sender: TObject);
var
  selnode       :TTreeNode;
  _kind         :integer;
  sqlstr        :string;
begin
  inherited;
  selnode       :=treeview1.Selected ;
  if (selnode=nil) or (selnode.Level=0) then exit;
  _kind :=selnode.Index+1 ;
  kindname      :=selnode.text;
  sqlstr:='select * from tbldict where kind='+inttostr(_kind);
  refreshlistview(listview1,sqlstr);
end;

procedure Tfrmdict.BtnEditClick(Sender: TObject);
var
  selitem       :TListItem;
begin
  inherited;
  selitem       :=listview1.Selected ;
  if selitem=nil then exit;
  Frmdictinfo     :=TFrmdictinfo.MyCreate(application,true);
  try
    Frmdictinfo.id       :=integer(selitem.Data);
    Frmdictinfo.kindname :=kindname;
    if Frmdictinfo.ShowModal=mrok then
    begin
      selitem.Caption :=Frmdictinfo.Edtcode.Text ;
      selitem.SubItems[0]:=frmdictinfo.EdtName.Text ;
      selitem.SubItems[1]:=frmdictinfo.EdtRemarks.Text;
    end;  
  finally
    Frmdictinfo.Free ;
  end;
end;

procedure Tfrmdict.BtnDelClick(Sender: TObject);
var
  selitem       :TListItem;
  sqlstr        :string;
begin
  inherited;
  selitem       :=listview1.Selected ;
  if selitem=nil then exit;
  sqlstr:='delete from tbldict where id='+inttostr(integer(selitem.Data));
  if publicinfo.Execsql(sqlstr,true) then
  begin
    selitem.Delete ;
    publicinfo.showmsg(kindname+'信息删除成功'); 
  end;
end;

procedure Tfrmdict.ListView1DblClick(Sender: TObject);
begin
  inherited;
  if BtnEdit.Enabled then BtnEditClick(nil);
end;

procedure Tfrmdict.ListView1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  if key=13 then ListView1DblClick(nil);
  if (key=46) and (btndel.Enabled) then btndelclick(nil);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -