Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1263963
  • 博文数量: 135
  • 博客积分: 10588
  • 博客等级: 上将
  • 技术积分: 1325
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-18 11:12
文章分类

全部博文(135)

文章存档

2013年(6)

2012年(3)

2011年(11)

2010年(7)

2009年(14)

2008年(6)

2007年(42)

2006年(46)

分类:

2006-10-23 10:04:05

动态加载一个目录下所有图层:

var path,fileName:string;

    myLayerInfo:LayerInfo;

    hFindFile:Cardinal;

    FindFileData:WIN32_FIND_DATA;

 

begin

  path:=ExtractFilePath(Application.ExeName)+'map\';

  ChDir(path);

 

  hFindFile:=FindFirstFile('*.TAB',FindFileData);//找到第一个扩展名为tab的文件

 

  if hFindFile <>windows.INVALID_HANDLE_VALUE then

  begin

    repeat

      filename:=FindFileData.cFileName;

{在这里可以实现对当前文件的处理,比如文件的解密等功能,这样对每个土层都能加密了,不过显然打开速度要慢很多}

      try

        myLayerInfo := CoLayerInfo.Create;

        myLayerInfo.Type_ := miLayerInfoTypeTab;

        myLayerInfo.AddParameter('FileSpec',path+filename );

        myLayerInfo.AddParameter('Name', ExtractFileName(fileName) );

        Map1.Layers.Add(myLayerInfo, EmptyParam);//加载图层

      except

      end;

    until (FindNextFile(hFindFile,FindFileData)=false);

 

    WindowS.FindClose(hFindFile);  ;

  end;

end;

阅读(2323) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~