📄 main.pas
字号:
//-----------------------------------------------------------------------------
// AreaQuery
//
// Copyright (C) 2003 Written by C.X.M
//
// All Rights Reserved.
//-----------------------------------------------------------------------------
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ksthemeengine, te_controls, ksthemeforms, StdCtrls, Buttons,
Grids, DBGrids, ksthemelistboxs, DB, ADODB, ksthemepanels,
ksthememessages, ksthemelabels, ksthemecomboboxs, ksthemeswitch,
ksthemebuttons, ksthemeedits;
type
TForm1 = class(TForm)
TeThemeForm1: TTeThemeForm;
TeThemeEngine1: TTeThemeEngine;
ListBox1: TTeThemeListBox;
ListBox: TTeThemeListBox;
TeThemeLabel1: TTeThemeLabel;
ListBox2: TTeThemeListBox;
TeThemeLabel2: TTeThemeLabel;
TeThemeLabel3: TTeThemeLabel;
TeThemePanel1: TTeThemePanel;
TeSwitcherComboBox1: TTeSwitcherComboBox;
TeThemePanel2: TTeThemePanel;
Edit1: TTeThemeEdit;
TeThemeLabel4: TTeThemeLabel;
TeThemeButton1: TTeThemeButton;
TeThemeButton2: TTeThemeButton;
procedure FormCreate(Sender: TObject);
procedure ListBoxClick(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure TeThemeButton2Click(Sender: TObject);
procedure TeThemeButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
procedure myquery(sql: string);
var
Form1: TForm1;
implementation
uses datam;
type data = record
code :string;
name :string;
parentcode :string;
end;
{$R *.dfm}
procedure myquery(sql: string);
begin
DM.Query.SQL.Clear();
DM.Query.SQL.Add(sql);
DM.Query.Open();
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i: integer;
con: string;
begin
try
//动态连接ACCESS数据库
con:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;';
con:=con+'Data Source=';
con:=con+ExtractFilePath(Application.ExeName);
con:=con+'\Area.mdb';
//con:=con+'Mode=Share Deny None;Extended Properties="";';
//con:=con+'Jet OLEDB:System database="";Jet OLEDB:Registry Path="";';
//con:=con+'Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;';
//con:=con+'Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;';
//con:=con+'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";';
//con:=con+'Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;';
DM.Connection.ConnectionString:=con;
DM.Connection.Connected:=true;
except
ShowMessage('连接数据文件出错!');
end;
myquery('select name from id where code like "%0000"');
DM.Query.First;
for i:=0 to DM.Query.RecordCount-1 do
begin
ListBox.Items.Add(DM.Query.FieldValues['name']);
DM.Query.Next;
end;
dm.Query.Close;
end;
procedure TForm1.ListBoxClick(Sender: TObject);
var
str: string;
i: integer;
begin
ListBox2.Clear;
str:=ListBox.Items.Strings[ListBox.ItemIndex];
myquery('select code from id where name ='+'"'+str+'"');
str:=DM.Query.FieldValues['code'];
myquery('select name from id where parentcode ='+'"'+str+'"');
ListBox1.Clear;
for i:=0 to DM.Query.RecordCount-1 do
begin
ListBox1.Items.Add(DM.Query.FieldValues['name']);
DM.Query.Next;
end;
dm.Query.Close;
end;
procedure TForm1.ListBox1Click(Sender: TObject);
var
str: string;
i: integer;
begin
str:=ListBox1.Items.Strings[ListBox1.ItemIndex];
myquery('select code from id where name ='+'"'+str+'"');
str:=DM.Query.FieldValues['code'];
myquery('select name from id where parentcode ='+'"'+str+'"');
ListBox2.Clear;
for i:=0 to DM.Query.RecordCount-1 do
begin
ListBox2.Items.Add(DM.Query.FieldValues['name']);
DM.Query.Next;
end;
dm.Query.Close;
end;
procedure TForm1.TeThemeButton2Click(Sender: TObject);
begin
Edit1.Clear;
end;
procedure TForm1.TeThemeButton1Click(Sender: TObject);
var
str,str1:string;
dstr,parentdstr :data;
i: integer;
begin
try
str:=edit1.Text;
if str='' then
begin
ShowMessage('请输入查询内容!');
exit;
end;
myquery('select * from id where name like'+'"%'+str+'%"');
dstr.code:=DM.Query.FieldValues['code'];
dstr.name:=DM.Query.FieldValues['name'];
if DM.Query.FieldValues['parentcode']=NULL then
begin
dstr.parentcode:='';
for i := 0 to ListBox.Items.Count-1 do
begin
if ListBox.Items.Strings[i]= dstr.name then
begin
ListBox.Selected[i]:=true;
ListBox.TopIndex:=i;
end;
end;
end
else
begin
dstr.parentcode:=DM.Query.FieldValues['parentcode'];
myquery('select * from id where code ='+'"'+dstr.parentcode+'"');
if DM.Query.FieldValues['parentcode']=NULL then
begin
str:=DM.Query.FieldValues['name'];
for i := 0 to ListBox.Items.Count-1 do ListBox.Selected[i]:=false;
for i := 0 to ListBox.Items.Count-1 do
begin
if ListBox.Items.Strings[i]= str then
begin
ListBox.TopIndex:=i;
ListBox.Selected[i]:=true;
end;
end;
str:=DM.Query.FieldValues['code'];
myquery('select name from id where parentcode ='+'"'+str+'"');
ListBox1.Clear;
for i:=0 to DM.Query.RecordCount-1 do
begin
ListBox1.Items.Add(DM.Query.FieldValues['name']);
DM.Query.Next;
end;
dm.Query.Close;
str:=dstr.name;
ListBox2.Clear;
for i := 0 to ListBox1.Items.Count-1 do
begin
if ListBox1.Items.Strings[i]= str then
begin
ListBox1.TopIndex:=i;
ListBox1.Selected[i]:=true;
end;
end;
end
else if DM.Query.FieldValues['parentcode']<>NULL then
begin
parentdstr.parentcode:=DM.Query.FieldValues['parentcode'];
parentdstr.code:=DM.Query.FieldValues['code'];
parentdstr.name:=DM.Query.FieldValues['name'];
str:=parentdstr.parentcode;
str1:=parentdstr.parentcode;
myquery('select name from id where code ='+'"'+str+'"');
str:=DM.Query.FieldValues['name'];
for i := 0 to ListBox.Items.Count-1 do ListBox.Selected[i]:=false;
for i := 0 to ListBox.Items.Count-1 do
begin
if ListBox.Items.Strings[i]= str then
begin
ListBox.TopIndex:=i;
ListBox.Selected[i]:=true;
end;
end;
myquery('select name from id where parentcode ='+'"'+str1+'"');
ListBox1.Clear;
for i:=0 to DM.Query.RecordCount-1 do
begin
ListBox1.Items.Add(DM.Query.FieldValues['name']);
DM.Query.Next;
end;
str:=parentdstr.name;
ListBox2.Clear;
for i := 0 to ListBox1.Items.Count-1 do
begin
if ListBox1.Items.Strings[i]= str then
begin
ListBox1.TopIndex:=i;
ListBox1.Selected[i]:=true;
end;
end;
//
str:=parentdstr.code;
myquery('select name from id where parentcode ='+'"'+str+'"');
ListBox2.Clear;
for i:=0 to DM.Query.RecordCount-1 do
begin
ListBox2.Items.Add(DM.Query.FieldValues['name']);
DM.Query.Next;
end;
str:=dstr.name;
for i := 0 to ListBox2.Items.Count-1 do
begin
if ListBox2.Items.Strings[i]= str then
begin
ListBox2.TopIndex:=i;
ListBox2.Selected[i]:=true;
end;
end;
end;
end;
except
ShowMessage('发生错误!');
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -