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

📄 main.pas

📁 用delphi做的,里面的数据库是ACCESS.可以查全国的地区,对初学者很有用,直接下载后就可以用到了,不用去添加全国各地的地名记录!
💻 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 + -