找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 20991|回复: 16
打印 上一主题 下一主题

Catia二次开发(读取配置文件)

[复制链接]
跳转到指定楼层
1
发表于 2007-3-19 11:58:55 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
直接在VC6.0 中使用GetPrivateProfileString("CONNECTION","ServerName",NULL,   
  ServerName.GetBuffer(MAX_PATH),MAX_PATH,".//backup.ini");

是可以读取出来参数的,就是不知道怎样才能移植到CAA中使用,CString PathStr;
   GetPrivateProfileString("CONNECTION","athStr",NULL,   
  PathStr.GetBuffer(MAX_PATH),MAX_PATH,".//PathFile.ini");

这样使用的结果有错误:

error C2664: 'GetPrivateProfileStringW' : cannot convert parameter 1 from 'char [16]' to 'const unsigned short *'

请问如何解决,谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
17
发表于 2007-3-21 13:25:00 | 只看该作者
那我是不是不能用GetPrivateProfileString取配置文件信息了?
GetPrivateProfileString(_T("CONNECTION"),_T("PathStr"),NULL,
        PathStr.GetBuffer(MAX_PATH),
        MAX_PATH,       
        _T("D:\\PathFile.ini"));
这个函数中的第四项参数应该如何使用才能得到正确的CATUnicodeString类型的参数呢?(这里的PathStr是CString类型的)
16
发表于 2007-3-20 21:13:06 | 只看该作者
谢谢两位的解答,下午没有时间上来看,晚上回家没有办法测试机器没有带回来
明天上班我去试试,再次感谢
15
发表于 2007-3-20 16:58:46 | 只看该作者
acoka说的对,有些东西直接用CUnicodeString还比较好。

CString和CUnicodeString属于两个类,中间没有直接的转换,并接两者支持的字符集也不同。所以必须将其转换一下。
14
发表于 2007-3-20 16:55:16 | 只看该作者
CString到CATUnicodeString需要通过BSTR转换;

GetPrivateProfileString中的字符串应为_T(“你的字符串”)。
13
发表于 2007-3-20 15:05:54 | 只看该作者
CString在VC2005已经不好用了

CATUnicodeString        sFilePath= "D:\\backini.ini";
wchar_t ws_filename[256]; //<- 最好取sFilePath的长度后用alloc动态定长
sFilePath.ConvertToWChar( ws_filename);
LPTSTR FileName = (LPTSTR)ws_filename;
12
发表于 2007-3-20 13:54:22 | 只看该作者
还要请问下:
我在测试时发生了如下问题
CString test = "D:\\backini.ini";
GetPrivateProfileString((BSTR)"CONNECTION",(BSTR)""LoginID",NULL,   
  LoginID.GetBuffer(MAX_PATH),MAX_PATH,test);
我这样写为了方便测试看取出的参数是否正确,我这样打印出的字符串为空,好象没有取出来,LoginID中没有任何数据?我是哪里出了错呢?如果直接把test内容打印出来就没有问题(我暂时还没有解决CString转CATUnicodeString,使用(char*)(test.AllocSysString())只能打印出第一个字母)
11
发表于 2007-3-20 13:16:36 | 只看该作者
我在上面的GetPrivateProfileString("CONNECTION","ServerName",NULL,   
  ServerName.GetBuffer(MAX_PATH),MAX_PATH,".//backup.ini");中就是通过在"CONNEXTION"和"ServerName"字符型参数前都加了(BSTR)后已经使得函数的错误不报了,现在正在测试得到的结果想把它转成CATUnicodeString在弹出窗口显示查看是否正确,所以问了上面的问题。感谢  
horizan  
的回答,我再找找如何利用BSTR过渡,如果还是不能解决我再问你
10
发表于 2007-3-20 12:30:50 | 只看该作者
通过BSTR过渡
9
发表于 2007-3-20 11:02:53 | 只看该作者
请问horizan,怎么转CSTring 到CATUnicodeString ?
查了CAA帮助BuildFromUTF16调用不管用CATUnicodeString::BuildFromUTF16(str),CATUnicodeString::BuildFromSTEP(str)
能否再提示一下?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2025-8-7 01:40 , Processed in 0.026574 second(s), 12 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

快速回复 返回顶部 返回列表