mapgis6.7二次开发vc6_demo 之五(输出VCT函数 总入口)

mapgis6.7二次开发vc6_demo 之五(输出VCT函数  总入口)

// // //VCT 导出功能 version=1, topo=0 //vp:hsg //create date:2012-04-20 // // #include "stdafx.h" #include "resource.h" #include <math.h> #include "win_area.h" #include "win_oper.h" #include "map_out.h" // #include "demo.h" //------------------------------------------------------- extern char* AppTitle; //应用程序名称 extern AREA_HINST AHInst; extern HWND MainWnd; //主窗口句柄 extern HWND GrpWnd; //图形窗口句柄 //------------------------------------------------------- //------------------------------------------------------------ //define function style Vct_Export.cpp /* void Vct_Export(); //输出VCT函数 总入口 */ //------------------------------------------------------------ //输出VCT函数 总入口 void Vct_Export() { _StartClockCursor(); _GoingClockCursor(); _StartWait(); // WriteToLog_f_delete(); //TestGetDiskSpace(); //取打开的工作区数 short n=_GetAreaNumber(AHInst); char* n_str=l2cp(n); ShowMsg(n_str); //获取当前可执行文件目录 char* curdir=GetCurDir(); ShowMsg(curdir); //WriteToLog(curdir); //获取显示工作区表集合 short *ptALst=NULL; if((ptALst=_GetDispAreaListAddr(GrpWnd))!=NULL) { if(ptALst==NULL) return; ShowMsg("工作区表不为空"); //short ai,LayerType; //char* Lfilename; char* total_str=i2cp(ptALst[0]); char* tt_str=a2u("工作区表总个数:",total_str); ShowMsg(tt_str); //vct输出 char* t_fn="dgx.vct";//getfilename_lc(Lfilename,"\\"); WriteToLog(t_fn); char* tmp_line_path=a2u("c:\\",t_fn); WriteToLog(tmp_line_path); // f_SetFilePath(tmp_line_path); f_OpenFile_w(); OutVctHeadBeginEnd(); //1输出VCT文件头段 OutVctFeatureCodeBeginEnd(ptALst); //2输出VCT要素代码段 OutVctTableStructureBeginEnd(ptALst); //3输出VCT表结构段 //ptALst[0]表示总个数 //1输出点要素几何图形 OutVctPointBeginEnd(ptALst); //2输出线要素几何图形 OK OutVctLineBeginEnd(ptALst); //3输出面要素几何图形 OutVctPloygonBeginEnd(ptALst); //4输出注记要素几何图形 OutVctAnnotationBeginEnd(ptALst); //5输出属性表数据 OutVctAttributeBeginEnd(ptALst); // f_FlushFile(); f_CloseFile(); } _EndWait(); _EndClockCursor(); ShowMsg("生成完毕!"); } /* //获取工作区文件名 Lfilename=_GetAreaFileName(ai); //------------------------------- //获原文件路径的文件名 char* t_dir=getdir_lc(Lfilename,"\\"); char* t_f_ext=getfilenameWithEx_lc(Lfilename,"\\"); char* t_fname=getfilenameNoExt_lc(Lfilename,"\\"); ShowMsg(t_dir);ShowMsg(t_f_ext);ShowMsg(t_fname); //------------------------------- */ //获取线层总个数 /* _GetLinNum(ai,&i,&ln); f_WriteLine(UnionStr("线总个数:",i2cp(ln))); for(i=1;i<ln;i++) { if(_GetLin(ai,i,&lxy,&len,NULL)<=0) { continue; } WriteToLog(i2cp(i)); //线序号 f_WriteLine(i2cp(i)); for(j=0;j<len;j++,lxy++) //线节点 { //获取窗口坐标 //x=(int)((lxy->x-wxy->x0)*wxy->r); //y=(int)((lxy->y-wxy->y0)*wxy->r); //获取地理坐标 x=lxy->x; y=lxy->y; //写入到文本中 char* x_s=d2cp(x); char* y_s=d2cp(y); tmp=a2u(x_s,","); tmp=a2u(tmp,y_s); WriteToLog(tmp); f_WriteLine(tmp); } }*/ //删除线图层的所有要素 //_GetLin(lai,&logN,&n); //for(i=1;i<n;i++) /*编者注:图元实体号应从1开始*/ // _DelLin(lai,i); /*应该是for(i=1;i<=n;i++)*/ //走钟光标 //void WINAPI _StartClockCursor(void); //void WINAPI _GoingClockCursor(void); //void WINAPI _EndClockCursor(void); //void WINAPI _StartWait(void); //开始显示等待光标 //void WINAPI _EndWait(void); //结束显示等待光标---the---end---

---vp:hsg

---create date:2012-04-20

转载于:https://www.cnblogs.com/sqlite3/archive/2012/04/20/2566715.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值