找回密码
 加入
搜索
查看: 6340|回复: 17

[AU3基础] AUTOIT3.3.14.2软件与V3.12.0在处理表示路径的字符串时有何不同?[已解决]

 火.. [复制链接]
发表于 2016-2-11 10:36:29 | 显示全部楼层 |阅读模式
本帖最后由 zdzdzddd 于 2016-2-12 09:42 编辑

我用AUTOIT3.3.14.2软件编辑V3.12.0上编译能通过的脚本时,虽然编译不报错,但发现处理表示路径的字符串时出了问题,编译结果不能用。先是找出了FileOpen()打开含有路径字符串的文档变成了16进制码,于是加128模式参数或加进制转换函数后可以读为字符,结果可用,但是在在处理含有汉字的路径时又不能读出来结果不可用了,算是领略了新版的不同,不知有何设置和额外包含可以解决的,敬请老师指教。(我实验了win732和XP两个环境状况一样。)
发表于 2016-2-11 14:33:22 | 显示全部楼层
本帖最后由 afan 于 2016-2-11 14:34 编辑

加512模式
试试
 楼主| 发表于 2016-2-11 17:08:26 | 显示全部楼层
回复 2# afan


加512参数真的就可以了,afan 老师真厉害。只是还不知这是属于那些参数组合?何以成因?继续拜老师指教。
发表于 2016-2-11 19:02:39 | 显示全部楼层
512在新版是ANSI模式  以前的版本ANSI是0
发表于 2016-2-11 19:06:49 | 显示全部楼层
回复  afan


加512参数真的就可以了,afan 老师真厉害。只是还不知这是属于那些参数组合?何以成因?继 ...
zdzdzddd 发表于 2016-2-11 17:08


3.3.14.2 强制 ANSI 编码,
3.3.14.0 之前一直强制支持 Unicode 编码,
2 个版本通用性不是很好, 存在一些问题, 我发了中文 3.3.14.2, 但我一直在坚持使用 3.3.12.0
发表于 2016-2-11 19:14:23 | 显示全部楼层
512在新版是ANSI模式  以前的版本ANSI是0
afan 发表于 2016-2-11 19:02


3.3.12.0 的 FileOpen() 文档简直就没有 512 选项, 但支持 512 参数, 如果使用常量参数 $FO_ANSI 则会报常量未声明.........
 楼主| 发表于 2016-2-11 19:41:16 | 显示全部楼层
回复 6# 131738

谢谢131738老师赐教,算是明白了。另外还想问,_ArrayCreate函数是在哪个版本中有定义的吗?
发表于 2016-2-11 22:33:55 | 显示全部楼层
回复  131738

谢谢131738老师赐教,算是明白了。另外还想问,_ArrayCreate函数是在哪个版本中有定义的吗 ...
zdzdzddd 发表于 2016-2-11 19:41


我这里只根据英文原版整理, 英文版没有的函数, 我也不知道, 你搜索一下吧..............
发表于 2016-2-12 18:47:23 | 显示全部楼层
回复 4# afan

FileOpen()
FileWrite()
FileWriteLine()
......
默认都变成UTF-8,原先保存的源码不可用。
发表于 2016-2-12 19:28:23 | 显示全部楼层
回复 9# fuldho

也不是不能用, 只是中文有可能显示乱码, 但脚本仍然可以正常运行, 运行的 GUI 中文也能正常显示
发表于 2016-2-12 19:44:55 | 显示全部楼层
回复 10# 131738

安装au3源码变成这样



加+ 512

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2016-2-12 22:07:20 | 显示全部楼层
本帖最后由 zdzdzddd 于 2016-2-12 22:38 编辑

我已经明白了,原由就在ANSI编码模式上。V3.12.0能够编译成功是因为默认的是ANSI编码,而V3.14.2默认的是 UTF8 编码,需要512参数设定为ANSI编码模式就对了。
     解决这个问题对我很重要,因为是用于汉字路经的处理,若读不对路径脚本往下走就没有意义了。我得到了有益的警训,在运用到不同编码情况时得特别留意fileopen()的参数选择,几免困扰于脚本编译顺利通过了结果却不能使用、还查无究里的囧境。
发表于 2016-2-12 22:42:32 | 显示全部楼层
回复  131738

安装au3源码变成这样



加+ 512
fuldho 发表于 2016-2-12 19:44


这是什么呀.......au3 文件的右键菜单?..........这个还真没见过.....
菜单也和 512 有关系?..... autoit 什么版本?.........
您老能明示清除一下吗?
发表于 2016-2-12 23:02:16 | 显示全部楼层
3.3.14.2 强制 ANSI 编码,
3.3.14.0 之前一直强制支持 Unicode 编码,
2 个版本通用性不是很好, 存在 ...
131738 发表于 2016-2-11 19:06


癫狂了, 烂回帖, 还不能编辑了........

3.3.14.2 强制 UTF 8 编码,
3.3.14.0 之前一直强制支持 ANSI 编码,
发表于 2016-2-12 23:43:55 | 显示全部楼层
回复  afan

FileOpen()
FileWrite()
FileWriteLine()
......
默认都变成UTF-8,原先保存的源码不 ...
fuldho 发表于 2016-2-12 18:47



    所有有FileWrite()、Fileopen()的Udf都需要修改,否则可能会出错或肯定存在隐患。
如果你不清楚主脚本及包含文件(即最终源码)中是否包含这些函数,可在整合(精简)脚本后检查修正。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-29 02:12 , Processed in 0.104264 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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