Q
question
Unregistered / Unconfirmed
GUEST, unregistred user!
在 Delphi 中,使用 MapObject ,如何对制定的信息进行定位,并突出显示?
如:
我知道一个图的 ID 号,我希望在地图中这个ID号对应的区域用指定的颜色显示!
想知道的:
1)如何在IMoRecordset中利用关键字查询数据(我现在用的是循环)代码在后。
2)如何对符合要求的数据区域上色或进行相应的处理。
想实现的:代码注释的!
谢谢!
var
l : IMoMapLayer;
recs : IMoRecordset;
tdesc: IMoTableDesc;
flds : IMoFields;
fld : IMoField;
I:Integer;
begin
l := IMoMapLayer(CreateOleObject('MapObjects2.MapLayer'));
l :=IMoMapLayer(Map1.layers.item('bount.pat'));
recs := l.Records;
if recs.Count>0 then
begin
recs.MoveFirst;
While not recs.EOFdo
begin
tdesc := IMoTableDesc(CreateOleObject('MapObjects2.TableDesc'));
tdesc := recs.TableDesc;
flds := recs.Fields;
for i := 0 to tdesc.FieldCount-1do
begin
fld := flds.Item(tdesc.FieldName);
if (fld.Name = 'BOUNT-ID') and (fld.valueasstring='360124') then
begin
StringGrid1.Cells[0,i+1] := fld.name ;
StringGrid1.Cells[1,i+1] :=fld.valueasstring;
//想在这里对符合要求的数据处理,可不会。
//想标记为红色,同时画个三角符号!
end;
end;
recs.MoveNext;
end;
end;
end;
如:
我知道一个图的 ID 号,我希望在地图中这个ID号对应的区域用指定的颜色显示!
想知道的:
1)如何在IMoRecordset中利用关键字查询数据(我现在用的是循环)代码在后。
2)如何对符合要求的数据区域上色或进行相应的处理。
想实现的:代码注释的!
谢谢!
var
l : IMoMapLayer;
recs : IMoRecordset;
tdesc: IMoTableDesc;
flds : IMoFields;
fld : IMoField;
I:Integer;
begin
l := IMoMapLayer(CreateOleObject('MapObjects2.MapLayer'));
l :=IMoMapLayer(Map1.layers.item('bount.pat'));
recs := l.Records;
if recs.Count>0 then
begin
recs.MoveFirst;
While not recs.EOFdo
begin
tdesc := IMoTableDesc(CreateOleObject('MapObjects2.TableDesc'));
tdesc := recs.TableDesc;
flds := recs.Fields;
for i := 0 to tdesc.FieldCount-1do
begin
fld := flds.Item(tdesc.FieldName);
if (fld.Name = 'BOUNT-ID') and (fld.valueasstring='360124') then
begin
StringGrid1.Cells[0,i+1] := fld.name ;
StringGrid1.Cells[1,i+1] :=fld.valueasstring;
//想在这里对符合要求的数据处理,可不会。
//想标记为红色,同时画个三角符号!
end;
end;
recs.MoveNext;
end;
end;
end;