📄 easyquery.~pas
字号:
unit EasyQuery;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, MapObjects2_TLB, Buttons;
type
TEasyFrm = class(TForm)
CbbName: TComboBox;
Label1: TLabel;
BbConcel: TBitBtn;
BbQuery: TBitBtn;
procedure FormActivate(Sender: TObject);
procedure BbConcelClick(Sender: TObject);
procedure BbQueryClick(Sender: TObject);
procedure CbbNameKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
EasyFrm: TEasyFrm;
implementation
uses Main;
{$R *.DFM}
procedure TEasyFrm.FormActivate(Sender: TObject);
var
ThisRecord:ImoRecordSet;
begin
Cbbname.Text:='';
CurrentLayer:=ImoMaplayer(MainFrm.MainMap.Layers.Item(0));
ThisRecord:=Currentlayer.Records;
ThisRecord.MoveFirst;
While not ThisRecord.EOF do
begin
//过滤重复值
CbbName.items.Add(ThisRecord.Fields.Item('MC').ValueAsString);
ThisRecord.MoveNext;
end;
end;
procedure TEasyFrm.BbConcelClick(Sender: TObject);
begin
EasyFrm.Close;
end;
procedure TEasyFrm.BbQueryClick(Sender: TObject);
begin
CurrentLayer:=ImoMaplayer(MainFrm.MainMap.Layers.Item(0));
//按地名模糊查询
if CbbName.Text<>''then
begin
MainFrm.FindRecord:= CurrentLayer.SearchExpression('MC like'+' '+chr(39)+CbbName.Text+'%'+chr(39));
if not MainFrm.FindRecord.EOF then
begin
MainFrm.MainMap.Refresh;
if MainFrm.Mnzl.Checked then mainFrm.ShowZl();
MainFrm.AttrShow();
end
else
begin
showmessage('没有记录,请重试');
exit;
end;
MainFrm.FindRecord:=nil;
end
else
showmessage('请输入地名');
end;
procedure TEasyFrm.CbbNameKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then BbQuery.Click;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -