📄 fun.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 + -