简单写了个,可直接选择文件,也可拖放到图标即可检测,如有问题则会写入“检测报告 ...
afan 发表于 2015-9-27 22:36 http://www.autoitx.com/images/common/back.gif
这个单独使用视乎意义不大, 应该整合到相应的其它工具脚本,或需扩展这个工具的功能吧,就像记事本程序那样, 记事本在另存为时也有这个提示功能........... 回复131738
简单写了个,可直接选择文件,也可拖放到图标即可检测,如有问题则会写入“检测报告 ...
afan 发表于 2015-9-27 22:36 http://www.autoitx.com/images/common/back.gif
收下了, 我看看.... 本帖最后由 131738 于 2015-9-27 22:53 编辑
回复131738
几天没上来,没想到我的问题被讨论啦,我之前安装的是老版本:AUTOIT_SVN R1054M.exe
所 ...
sdwd_lhq 发表于 2015-9-27 21:50 http://www.autoitx.com/images/common/back.gif
怎么说呢...........................................{:face (396):}
你那老版 记得好像的 3.3.9.x, 这里是 3.3.14.2, 要是没有区别, 官方发颠啊.....
反编帮助文档, 查找script_breaking_changes_excel_udf.htm, 打开看看吧.......... 回复 3486# 131738
简单写了个,可直接选择文件,也可拖放到图标即可检测,如有问题则会写入“检测报告.txt ”。 谢谢楼主,收藏备用 必须收藏试用 回复 3437# 131738
几天没上来,没想到我的问题被讨论啦,我之前安装的是老版本:AUTOIT_SVN R1054M.exe
所编写的程序都是在这个版本下完成。
安装好新版本后,打开以前写的程序进行来回的修改和编写,或者进行ctrl+t编码重排的操作,后就发现有时就会发生原来程序代码中的中文变成了乱码,大体就是这个意思。
另外还发现新版本的“用户自定义函数”部分的帮助文档中,关于“excle”等函数与老版比较,函数名称都发生了很大变化:
新版:
函 数 名 称 函 数 描 述
_Excel_BookAttach 附加依据所选模式搜索字符串的匹配方法到一个工作簿的第一个实例
_Excel_BookClose 关闭指定的工作簿
_Excel_BookList 返回所有 Excel 实例或指定工作簿的列表
_Excel_BookNew 创建新工作簿
_Excel_BookOpen 打开一个现有的工作簿
_Excel_BookOpenText 打开一个文本文件, 并解析其内容到新工作簿的工作表
_Excel_BookSave 保存指定的工作簿.
_Excel_BookSaveAs 工作簿另存为新的文件名和/或类型.
_Excel_Close 关闭所有工作表和 Excel 应用实例
老版本:
用户自定义函数 详细信息
_ExcelBookAttach 连接到首个存在的使基于选择模式与搜索字符串相匹配的Microsoft Excel实例
_ExcelBookClose 关闭活动工作表并移除指定的 Excel 对象.
_ExcelBookNew 创建一个新的工作表并返回一个对象标识(ID).
_ExcelBookOpen 打开一个存在的工作表并返回它的对象标识.
_ExcelBookSave 保存指定Excel对象的活动工作表.
_ExcelBookSaveAs 使用新文件名或格式保存指定Excel对象的活动工作簿
_ExcelColumnDelete 删除活动工作表中一定数量的列
_ExcelColumnInsert 向活动工作表中插入列
不知是什么原因? 回复131738
的确,常见的就是那个版权符号了,那个确实不影响程序的功能
如果程序中有含有这类 ...
afan 发表于 2015-9-27 10:37 http://www.autoitx.com/images/common/back.gif
期待.... 回复 3484# 131738
的确,常见的就是那个版权符号了,那个确实不影响程序的功能
如果程序中有含有这类字符的字符串,那就肯定会影响程序的功能了,比如拼音字符、韩文字符、特殊符号等等。
我抽空做个工具,如果含有不能以ANSI格式保存的字符即提示就OK了,以提醒用户用其它的方式保存字符串,比如 BinaryToString()
,
本帖最后由 131738 于 2015-9-27 09:49 编辑大致的意思我明白了,都以ANSI格式来保存可能是当下较为理想的方式。只是如果含有某些U码字符的话 ...
afan 发表于 2015-9-26 23:38 http://www.autoitx.com/images/common/back.gif
目前我所见只有个版权注册符号, 在 ANSI 显示为 ?, 在 UTF 显示为 " 漏 ", 这个大概就是"U码字符"吧. 如果是就不会有什么大问题的, 只是显示在编译后的 exe 文件右键属性中, 对程序功能完全不会有任何影响的, 是吧.并且这个符号只是出现在国外的脚本中, 国内视乎没有人使用的.
并且这个符号在记事本中显示正常, 如果 SciTE 的字符显示可以像记事本那样就完美了, 也可能就不会存在编码转换问题了.
3.3.14.0发布后, 我见过官网有反映带重音符号的字母显示不完整的问题. 1. 我已修改工具脚本相关代码到合并为 ANSI 编码, 不然不会有现在的文档上传了.
2. 前面有个我回复 ...
131738 发表于 2015-9-26 21:49 http://www.autoitx.com/images/common/back.gif
大致的意思我明白了,都以ANSI格式来保存可能是当下较为理想的方式。只是如果含有某些U码字符的话那些字符就会丢失而变成“?”了,就像我之前说过的。虽然一般很少见,但也还是存在的,需要提醒注意一下。 “总之保持和源一样,应该是最合理的。ANSI就ANSI,UTF就UTF,有BOM就有,没有就没有”—— 其实 ...
afan 发表于 2015-9-26 21:16 http://www.autoitx.com/images/common/back.gif
1. 我已修改工具脚本相关代码到合并为 ANSI 编码, 不然不会有现在的文档上传了.
2. 前面有个我回复的帖子说到我已经将AutoIt3Wrapper 中 FileOpen($ScriptFile_In, 2 + $SrceUnicodeFlag) 修改为 FileOpen($ScriptFile_In, 2 + 512) 了. 1 楼还追加上传了修改版的 AutoIt3Wrapper.exe
源变量 $SrceUnicodeFlag 是检测当前文件编码的返回值, 该变量符合你 "ANSI就ANSI,UTF就UTF,有BOM就有,没有就没有 " 的概念.
上贴回复的意思只是想说明要汉化 AUtoIt , 就目前的状态, 不修改为 ANSI 编码, 汉化后的 AutoIt 很难适应中文环境, 因此不能遵循你的 "保持和源一样,应该是最合理的" 概念, 没有其他意思, 不要误会啊!
毕竟汉化的 AutoIt 针对的是不懂英文的初学者(高手可能就直接使用英文原版了), 不修改为 ANSI 编码, 一旦出现乱码, 初学者可能会无法应对, 从而失去继续学习的信心了. 这个结论只能对纯英文脚本有效, 要是这样的话, 汉化就没有意义!
7 月 10 号 3.3.14.0 开始, 接着 3. ...
131738 发表于 2015-9-26 11:30 http://www.autoitx.com/images/common/back.gif
“总之保持和源一样,应该是最合理的。ANSI就ANSI,UTF就UTF,有BOM就有,没有就没有”—— 其实我指的只是针对前辈之前提到的我的AuMFC程序的处理意见…
既然讨论开了,那就继续接着~
乱码似乎牵涉到2个问题:
1,帮助 .chm 文档的汉化
这其中就包含了.htm 文件的汉化,以及例子 .au3 文档的汉化
而乱码的原因是用官方工具脚本合并成UTF8造成的,如果可能的话,是否将其保存为ANSI试试?
2,SciTE编辑器中的乱码
在SciTE中直接保存,虽说不知什么原因会在含中文字符时会转码为ANSI,但并没有乱码的现象
而乱码主要是由于“选项编译”调用 AutoIt3Wrapper 而导致的,因此,估计修改AutoIt3Wrapper 相关代码就解决了。 总之保持和源一样,应该是最合理的。ANSI就ANSI,UTF就UTF,有BOM就有,没有就没有
afan 发表于 2015-9-25 19:49 http://www.autoitx.com/images/common/back.gif
这个结论只能对纯英文脚本有效, 要是这样的话, 汉化就没有意义!
7 月 10 号 3.3.14.0 开始, 接着 3.3.15.0, 3.3.14.1, 到 3.3.14.2, 汇编后的文档, 窗口左侧目录, 索引窗格的中文全是乱码.
研读官方的文档生成工具脚本(就因为这个反反复复了 2 个多月)发现:
1 个帮助文档的资源除 .htm 文件之外, 还有 1 个 方案文件, 1 个目录文件, 1 个索引文件(暂且称其为 1 套文件吧).
现在的 AUtoIt.chm 看起来是 1 套文件, 实际生成之前是 2 套(内置和 UDF)文件.
工具脚本在生成文档之前, 先将 2 套文件的目录, 索引文件合并为一套目录, 索引文件, 乱码问题就因为这个合并处理.
研读这个合并处理的脚本代码, 原来是合并为 UTF8 文件了,记事本打开合并后的文件,显示完全正常!
现在可以确定乱码只能是文档汇编程序 HTML Help Workshop(这是官方工具脚本指定的汇编程序)造成的了.
这个汇编程序一直使用国内的汉化版, 为了确定是否真的是这个原因, 特意到微软下载了英文原版的测试, 结果还是乱码!(什么原因我是弄不明白的).
官方工具脚本不是一成不变的, 3.3.14.0 开始的工具脚本是更新了的最新版工具脚本.
回头又去看 3.3.12.0 版工具脚本的合并结果,却是 ANSI 的!
按你"保持和源一样"的说法, 合并后的乱码文档就没有任何意义了....
另外, 前面已有两位网友反馈, 通过"选项编译"窗口添加编译指令后, AutoIt3Wrapper 将源脚本处理为 UTF8, 使源脚本中文乱码(我也测试过了)...
为此, 使用英文原版 AutoIt3Wrapper.au3 作以下测试:
1. 右键"新建 au3 脚本",
2. 检测编码为 256 -->> UTF8 (无 BOM).
3. SciTE 打开脚本, 添加一句 MsgBox(0,0,'123'), 运行后关闭脚本
4. 再检测编码还是 256 -->> UTF8 (无 BOM).
5. 打开 "选项编译" 窗口, 向这个脚本添加有中文的编译指令 "测试.exe", 保存到脚本后退出"选项编译"窗口
结果编译指令中 " 测试.exe " 的 "测试" 显示乱码, 运行正常后关闭脚本
6. 检测编码还是 256 -->> UTF8 (无 BOM).
7. 再打开这个脚本, 修改上面添加的代码为 MsgBox(0,0,'再见'), 运行后关闭脚本
8. 再次检测编码, 奇迹了, 变为 512 -->> ANSI !!! (一直不明白什么原因)
再重新做同样的测试:
1. 右键"新建 au3 脚本",
2. 检测编码为 256 -->> UTF8 (无 BOM).
3. SciTE 打开脚本, 添加一句 MsgBox(0,0,'2 次测试'), 中文显示正常, 运行后关闭脚本
4. 再次检测编码, 又奇迹了, 变为 512 -->> ANSI !!!
5. 打开 "选项编译" 窗口, 向这个脚本添加有中文的编译指令 "2 次测试.exe", 保存到脚本后退出"选项编译"窗口
6. 此时脚本所有中文全部乱码!!! 但运行正常!!!
从以上测试看来, 要保持和源一样, 编写脚本就不能使用中文了...
以上说法供参考...