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

📄 publicsel.~pas

📁 企业端数据申报系统:单位管理模块 单位查询. 业务申报模块 在线数据下载 在线数据上传 在线业务申核 申报业务查询 磁盘数据导出 磁盘数据导入 在线业务模块 在线业务
💻 ~PAS
字号:
unit publicsel;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, ExtCtrls, ImgList, fcTreeView;

type
  Tpublicsel_frm = class(TForm)
    StatusBar1: TStatusBar;
    Panel1: TPanel;
    ImageList1: TImageList;
    fcTreeView1: TfcTreeView;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure ListNode(L,H,id:integer;item:TfcTreeNode);
    procedure fcTreeView1DblClick(TreeView: TfcCustomTreeView;
      Node: TfcTreeNode; Button: TMouseButton; Shift: TShiftState; X,
      Y: Integer);
    procedure fcTreeView1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

type
  TMysel=record
  RootMes:String;
  TabMes:String;
end;

type
  Tcode=record
  parentid:integer;   //父节点编码
  id:integer;         //ID编码
  e_expr:string;     //编码
  c_brif:string;   //字符:
end;

var
  publicsel_frm: Tpublicsel_frm;
  Mysel:TMySel;
  code:array of Tcode;

implementation

uses datashare, maninfo;

{$R *.dfm}

procedure Tpublicsel_frm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  Action:=caFree;
end;

procedure Tpublicsel_frm.ListNode(L,H,id:integer;item:TfcTreeNode);
var
  i:integer;
  NewItem:TfcTreeNode;
begin
  for i:=L to H do
  begin
    if code[i].parentid=id then
    begin
      NewItem:=fcTreeView1.Items.AddChild(item,code[i].c_brif);
      NewItem.StringData:=code[i].e_expr;
      ListNode(i,H,code[i].id,NewItem);
    end;
  end;
end;

procedure Tpublicsel_frm.FormCreate(Sender: TObject);
var
  str:string;
  RootItem,NewItem:TfcTreeNode;
  i,k:integer;
begin
  //增加根结点
  self.Caption:=Mysel.RootMes+'选择框';
  RootItem := fcTreeView1.Items.Add(nil, Mysel.RootMes);
  RootItem.ImageIndex:=2;
  RootItem.SelectedIndex:=2;
  RootItem.StateIndex:=-1;

  try
    with datashare_form.Query1 do
    begin
      close;
      sql.Clear;
      str:='select parentid,id,e_expr,c_brif from codetab where C_Expr=:p1 and choose=:p2 order by parentid,id';
      sql.Add(str);
      params[0].AsString:=Mysel.TabMes;
      params[1].AsString:='0';
      prepare;
      open;
      setlength(code,recordcount);
      k:=0;
      while not eof do
      begin
        code[k].parentid:=fieldbyname('parentid').AsInteger;
        code[k].id:=fieldbyname('id').AsInteger;
        code[k].e_expr:=fieldbyname('e_expr').AsString;
        code[k].c_brif:=fieldbyname('c_brif').AsString;
        inc(k);
        next;
      end;
    end;
  except
    on e:exception do
      application.MessageBox(pchar(e.Message),'恩普软件',MB_OK+MB_IconStop+MB_SystemModal);
  end;

  for i:=low(code) to high(code) do
  begin
    if code[i].parentid=0 then
    begin
      NewItem:=fcTreeView1.Items.AddChild(RootItem,code[i].c_brif);
      NewItem.StringData:=code[i].e_expr;
      ListNode(i,high(code),code[i].id,NewItem);
    end;
  end;
end;

procedure Tpublicsel_frm.fcTreeView1DblClick(TreeView: TfcCustomTreeView;
  Node: TfcTreeNode; Button: TMouseButton; Shift: TShiftState; X,
  Y: Integer);
begin
  if fcTreeView1.Selected.Level<>0 then
  begin
    dispcode:=fcTreeView1.Selected.StringData;
    close;
  end;
end;

procedure Tpublicsel_frm.fcTreeView1KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  if key=13 then
  begin
    if fctreeview1.Selected.Level<>0 then
    begin
      dispcode:=fcTreeView1.Selected.StringData;
      close;
    end;
  end;
end;

end.

⌨️ 快捷键说明

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