摘要:
使用A2W,A2T这些宏函数是常见的方法,但是中文会乱码,所以采用MultiByteToWideChar进行转换//计算char *数组大小,以字节为单位,一个汉字占两个字节 int charLen = strlen(sText); //计算多字节字符的大小,按字符计算。 int len = MultiByteToWideChar(CP_ACP,0,sText,charLen,NULL,0); //为宽字节字符数组申请空间,数组大小为按字节计算的多字节字符大小 TCHAR *buf = new TCHAR[len + 1]; //多字节编码转换成宽字节编码 ... 阅读全文
摘要:
首先声明:文章中的内容大都来源于网络,做的过程遇到了不少问题,所以想写下此文,记录一个完整的过程,以飨后人。gsoap为何物,相信能看到这篇文章的人一定是有所了解了。不过还是啰嗦一下,保持文章的完整性。gSOAP是一个夸平台的,用于开发Web Service服务端和客户端的工具,在Windows、Linux、MAC OS和UNIX下使用C和C++语言编码,集合了SSL功能。下载地址:http://sourceforge.net/projects/gsoap2官方网站:http://genivia.com/Products/gsoap/index.html1、配置gSOAP下载gSOAP,解压后 阅读全文
摘要:
在我的上一篇博文里面,谈到了注记的转换问题,但是其中的转换并未包含空间参考信息,所以,再写一篇来记录空间参考信息的转换。首先,是获取dwg文件中的参考信息,部分关键代码如下 IWorkspacePtr ipWork; IWorkspaceFactoryPtr ipWFactory(CLSID_CadWorkspaceFactory); HRESULT result = ipWFactory->OpenFromFile(CComBSTR(path), NULL, &ipWork); IFeatureWorkspacePtr ipFWork = ipWork; ... 阅读全文
摘要:
CAD注记层转到SDE Annotation Features本文会提到两种方式,不过都是要添加一个element,所以,首先给出一个创建element的函数ITextElementPtr MakeTextElement(CString strText, double x, double y){ HRESULT hr; ITextElementPtr ipTextElement(CLSID_TextElement); hr = ipTextElement->put_ScaleText(VARIANT_TRUE); hr = ipTextElement->put_Text... 阅读全文
摘要:
AE10中一个明显的改变就是运行时绑定,ArcGIS10有一些明显的产品架构上变更。新架构最明显的优势是独立存在的ArcGIS Desktop和Engine runtime。你可以将ArcGIS Desktop和Engine安装在不同的目录下。你同样可以分别为Engine和Desktop打补丁。但是这种构架的变化要求你将你的Engine程序以及自定义组件绑定到你机器上指定的产品。独立应用程序既可绑定到Desktop也可以绑定到Engine的runtime。但是,要在程序使用AO之前就做好绑定。那么,应该如何绑定呢(C#实现)首先添加引用:ESRI.ArcGIS.Version然后ESRI.A 阅读全文
摘要:
环境:Xtreme.Toolkit.Pro v11.2.1+vs2008sp1在工作中用到了CXTPCommandBars,但是按照默认的,是英文的,这样拿给客户,肯定是不行的,所以需要改成中文。我想着改一下资源文件里面的内容(我理解就是改一下宏)。这样改了以后,发现中文会出现乱码。然后我设想设置一下setlocale,但是,事实证明,我这个拍脑袋的想法行不通。最后,认真查看了资料,发现其实Xtreme本身就提供了多语言的支持,不需要自己改资源文件,已经有现成的资源文件了。现在,开始我们的汉化。一、打开ToolkitPro_vc90.sln项目,然后查看ToolkitPro.rc源代码,拉到文 阅读全文
摘要:
UniCode 下 CString 转 char* 的方法的文章有很多,但是大部分都是在互相转载,看了那么多资料,仍然没有解决乱码的问题,后来从一个论坛的一条回复里面找到了正确的方法,特此拿出来与大家分享。先总结一下网上找到的三种转换的方法:方法一:使用函数setlocale setlocale(LC_ALL,"chs"); 需要包含头文件#include <locale.h> 此方法的思路是配置地域化信息。通常在需要输入输出中文的时候设置一下,就没问题了,setlocale详情 点我方法二:使用函数:T2A、W2A CString str = _T(" 阅读全文
摘要:
关于校园网客户端安装后无法运行的解决方案有很多,流传最多的就是官方的解决方案:(1) 先进入你安装后生成的GHCADialer文件夹,然后在里面找到reg.bat批处理文件。然后双击运行它,该过程只是闪一下就过去了的!其实这个批处理文件就是把里面的三个DLL文件导入系统的!做完这一步试一下能不能打开拨号器!如果能打开就OK啦,如果还不能打开就进行第二步。(2) 打开我的电脑,然后右键属性---高级---环境变量---系统变量,在系统变量下找到path变量,并双击打开它,然后在变量值最后面加上:C:\WINDOWS\system32;,切记是最后面。(3) 最后点确定,然后再按1的步骤运行一次, 阅读全文
摘要:
像素坐标与逻辑坐标的转换需要两个要素,视窗坐上角的位置与视窗的大小像素坐标(1024*768) X:0——1024 Y:0——768逻辑坐标(0——1)public Point PixelToLogical(Point pixel) { //ViewportOrigin显示图片的左上角 Point offset = ViewportOrigin; double scale = ViewportWidth /ActualWidth; Point logical = new Point((pixel.X * scale) + offset.X, (pixel.Y * scale) + offset 阅读全文
摘要:
自己定义了一个类ImageLayer,然后想把特定的样式应用到ImageLayer,可以把如下代码加入app<Stylex:Name="ImageLayerStyle"TargetType="layer:ImageLayer"><SetterProperty="Template"><Setter.Value><ControlTemplateTargetType="layer:ImageLayer"><Canvas><Gridx:Name=" 阅读全文