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

📄 fun.pas

📁 我所收集的所有编程开发资料
💻 PAS
字号:
unit fun;

interface
uses forms,adodb,windows,classes,sysutils,
         SUIDlg,datamdo,Controls,inifiles,registry,
         SUITreeView,ComCtrls,SUIListView,StdCtrls,SUIDBCtrls;
   type
    Tsc = class(Tcomponent)
   public
    function writeinifile(kuaiming,zhiduan,str:string):string;
    function readinifile( kuaiming, zhiduan: string): string;
    procedure selectdata(sql:string);
    procedure listtree(tree:TsuiTreeview);
    procedure liststatusbar(statusbar1:Tstatusbar);
    procedure treeclick(tree:Tsuitreeview;listview1:Tsuilistview);
    procedure editchange(str:string;listbox1:Tlistbox;Mode:integer);
    procedure listboxdbclick(listbox1:Tlistbox;str:string);
    procedure listcombox(combox:Tsuidbcombobox);
   end;
implementation
    uses msg;
{ Tsc }

procedure Tsc.editchange(str: string; listbox1: Tlistbox;Mode:integer);
var
i:integer;
begin
if str<>'' then
  begin
    dm.ADOQuery1.Close;
    dm.ADOQuery1.SQL.Clear;
    case mode of
     0 : dm.ADOQuery1.SQL.Add('select * from sc where 名称 like '''+'%'+str+'%'+'''');
     1 : dm.ADOQuery1.SQL.Add('select * from sc where 简拼 like '''+'%'+str+'%'+'''');
     2 : dm.ADOQuery1.SQL.Add('select * from sc where 全拼 like '''+'%'+str+'%'+'''');
    end;
    dm.ADOQuery1.Open;
    dm.ADOQuery1.first;
    ListBox1.Clear;
    for i:=0 to dm.ADOQuery1.RecordCount-1 do
       begin
         ListBox1.Items.Append(dm.ADOQuery1.FieldValues['名称']);
         dm.ADOQuery1.Next;
       end;
  end;
end;

procedure Tsc.listboxdbclick(listbox1: Tlistbox; str: string);
begin

end;

procedure Tsc.listcombox(combox: Tsuidbcombobox);
var
 i:integer;
begin
  with dm do
    begin
      adoquery1.Close;
      adoquery1.SQL.Clear;
      adoquery1.SQL.Add('select distinct 大类 from sc');
      adoquery1.Open;
      adoquery1.First;
      combox.Items.Clear;
      for i:=0 to adoquery1.RecordCount-1 do
        begin
          combox.Items.Add(adoquery1['大类']);
          adoquery1.Next;
        end;
    end;
end;

procedure Tsc.liststatusbar(statusbar1: Tstatusbar);
begin
with dm.ADOQuery1 do
  begin
    close;
    sql.Clear;
    sql.Add('select *  from sc');
    open;
    StatusBar1.Panels[1].Text:='共有记录'+inttostr(RecordCount)+'条。';
  end;
  StatusBar1.Panels[0].Text:=DateTimeTostr(now);
end;

procedure Tsc.listtree(tree: TsuiTreeview);
var
  RootNode:TTreenode;
  curID,SubNodeName:string;
  subnode,subnodechild:TTreenode;
begin
  msgform.Show;
  tree.Items.Clear;
  RootNode:= Tree.Items.Add(nil, '全部'); { Add a root node }
  RootNode.ImageIndex:=1;
    with dm do
    begin
      ADOQuery1.close;
      ADOQuery1.sql.Clear;
      ADOQuery1.sql.Add('select distinct 大类 as a from sc ');
      ADOQuery1.open;
      ADOQuery1.first;
      while not ADOQuery1.Eof do
      begin
        curID:=trim(ADOQuery1.FieldByName('a').AsString);
        SubNodeName:=curID;
        subnodechild:=tree.items.addchild(rootnode,SubNodeName);
        subnodechild.ImageIndex:=2;

        ADOQuery2.close;
        ADOQuery2.sql.Clear;
        ADOQuery2.sql.Add('select distinct 小类 as b from sc where 大类='''+ADOQuery1.FieldByName('a').AsString+'''');
        ADOQuery2.open;
        ADOQuery2.first;
        while not ADOQuery2.Eof do
        begin
        curID:=trim(ADOQuery2.FieldByName('b').AsString);
        SubNodeName:=curID;
        subnode:=tree.items.addchild(subnodechild,SubNodeName);
        subnode.ImageIndex:=2;
        ADOQuery2.Next;
        end;
        ADOQuery1.next;
      end;
   end;
  msgform.close;

end;

function Tsc.readinifile(kuaiming, zhiduan: string): string;
var
 myinifile:Tinifile;
begin
   myinifile:=Tinifile.Create(''+'sc.ini');
    readinifile:=myinifile.ReadString(kuaiming,zhiduan,'');
end;

procedure Tsc.selectdata(sql: string);
begin
 with dm do begin
   adoquery3.Close;
   adoquery3.SQL.Clear;
   adoquery3.SQL.Add(sql);
   adoquery3.open;
 end;
end;

procedure Tsc.treeclick(tree: Tsuitreeview; listview1: Tsuilistview);
var
  a,b:string;
  I: Integer;
  ListItem: TListItem;
begin
 // dbmemo1.Visible:=false;
  //listview1.Visible:=true;

  a:=tree.Selected.Text;
  with dm do
  begin
    if (a<>'全部') then
    begin
      b:=tree.Selected.Parent.Text;
      if  (b<>'全部') then
      begin
        ADOQuery2.close;
        ADOQuery2.sql.Clear;
        ADOQuery2.sql.Add('select * from sc where 小类='''+a+'''');
        ADOQuery2.open;

            with ListView1 do
            begin
             //SmallImages := imlSmall;
           //  LargeImages := imlLarge;
             Clear;
             with dm do
              begin
                adoquery2.first;
                for I := 0 to adoquery2.RecordCount - 1 do
                begin
                ListItem := Items.Add;
                Listitem.Caption :=adoquery2.FieldByName('名称').AsString;
                ListItem.ImageIndex :=2;
                ListItem.SubItems.Add(adoquery2.FieldByName('大类').AsString);
                ListItem.SubItems.Add(adoquery2.FieldByName('日期').AsString);
                adoquery2.next;
             end;
         end;
       end;
      end;
    end;
  end;

end;

function Tsc.writeinifile(kuaiming, zhiduan, str: string): string;
var
myinifile:Tinifile;
begin
   myinifile:=Tinifile.Create(''+'sc.ini');
   myinifile.WriteString(kuaiming,zhiduan,str);
end;

end.

⌨️ 快捷键说明

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