找回密码
 加入
搜索
楼主: afan

[原创] AuMerger_1.6 [精简AU3代码工具]

 火... [复制链接]
 楼主| 发表于 2013-2-25 20:39:16 | 显示全部楼层
还用的 3.3.6.1 文档吗?

文档没版本号的要求吧,建议换换。。。。
我这里的 3.3.9.5 版的文档已是 ...
131738 发表于 2013-2-25 20:35



    我一般还是用3361,因为对我而言也够用了。不过其它高版本也有,切换起来也很方便,也就几行注册表信息。
发表于 2013-2-25 20:49:20 | 显示全部楼层
我一般还是用3361,因为对我而言也够用了。不过其它高版本也有,切换起来也很方便,也就几行注册 ...
afan 发表于 2013-2-25 20:39


3.3.6.1 的 RegRead 的备注:
注意/说明

键名必须以以下几种根键开头(也可用括号内的缩写):"HKEY_LOCAL_MACHINE" ("HKLM") 或 "HKEY_USERS" ("HKU") 或 "HKEY_CURRENT_USER" ("HKCU") 或 "HKEY_CLASSES_ROOT" ("HKCR") 或 "HKEY_CURRENT_CONFIG" ("HKCC").

当运行于 64-位 Windows 操作系统,如果您想删除一个键或者值,在64位环境下面比较特殊.您必须添加HK的后缀64,如:HKLM64. 

目前 AutoIt 支持的数据类型包括 REG_BINARY,REG_SZ,REG_MULTI_SZ,REG_EXPAND_SZ 以及 REG_DWORD. 

如果要访问 (默认)值项只需传递一个""(空字符串)到值项参数中即可.

若目标值项的数据类型是 REG_BINARY 则返回值将是一个十六进制的字符串.比如该值项的数据是 01,a9,ff,77 则返回的字符串将是"01A9FF77".

若目标值项的数据类型是 REG_MULTI_SZ 则多重字符串项目将被 @LF 分割,使用 StringSplit(..., @LF) 即可获得各个项目的内容.

如果要访问网络注册表则参数格式应该是"\\计算机名\键名".此功能要求您必须拥有相应的访问权限(2000/XP/2003)
3.3.9.5 的对应为:
运行于 64-位 Windows 操作系统, 如果读键或值, 必须在 HK... 后面添加后缀 64, 如: HKLM64.

AutoIt 支持的键类型包括: REG_BINARY, REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ, and REG_DWORD.

如果要访问 (Default) 值项, 只需传递 ""(空字符串) 到值名参数.

当读取 REG_BINARY 键, 结果是二进制数据类型 (以前版本这是十六进制的字符串).

当读取 REG_MULTI_SZ 键, 多个条目之间使用 @LF 分隔, 调用 StringSplit(..., @LF) 获取每个条目内容.

访问网络注册表的格式为: "\\计算机名\键名". 且必须拥有相应的访问权限.
发表于 2013-2-25 20:56:50 | 显示全部楼层
很强大,很伟大!
发表于 2013-2-25 21:03:51 | 显示全部楼层
支持A大!好东西好福利啊!
发表于 2013-2-25 21:42:41 | 显示全部楼层
如所讨论的,貌似ACN没有整合脚本的工具或功能,所以根据自己的需要写了个小工具 AuMerger 。如有类似需求 ...
afan 发表于 2012-11-28 18:19


有这样一句代码:

$GDIPlusData = StringSplit($Data[$hIndex], ";")

整合后导入为:

$GDIPlusData = StringSplit($Data[$hIndex], "

丢失 ;") 3个字符!请查找原因,应该是 ; 号的原因吧。。。。

64 位 Win8 测试!
 楼主| 发表于 2013-2-25 21:46:21 | 显示全部楼层
有这样一句代码:

$GDIPlusData = StringSplit($Data[$hIndex], ";")

整合后导入为:

$GDIPlu ...
131738 发表于 2013-2-25 21:42



    我这里测试没有问题,能否弄个可以再现问题的精简文件测试下(字符串也可)
发表于 2013-2-25 21:58:27 | 显示全部楼层
非常感谢分享!辛苦了!支持一下!
发表于 2013-2-25 22:19:47 | 显示全部楼层
我这里测试没有问题,能否弄个可以再现问题的精简文件测试下(字符串也可)
afan 发表于 2013-2-25 21:46


回到 32 位 Win7,问题依旧,我整个精简版看看。。。。
发表于 2013-2-25 22:19:53 | 显示全部楼层
我这里测试没有问题,能否弄个可以再现问题的精简文件测试下(字符串也可)
afan 发表于 2013-2-25 21:46


回到 32 位 Win7,问题依旧,我整个精简版看看。。。。
发表于 2013-2-25 22:36:42 | 显示全部楼层
我这里测试没有问题,能否弄个可以再现问题的精简文件测试下(字符串也可)
afan 发表于 2013-2-25 21:46


精简到只一句上面有问题的代码,整合导入正常!
这是个国外的脚本,全部代码分成 1 个主脚本和 6 个 #include 文件,
总计 16000 多行代码,有可能文件编码格式问题吧。。。
我以前对于这类脚本都是手工操作整合的。。。。
 楼主| 发表于 2013-2-25 22:42:51 | 显示全部楼层
精简到只一句上面有问题的代码,整合导入正常!
这是个国外的脚本,全部代码分成 1 个主脚本和 6 个 # ...
131738 发表于 2013-2-25 22:36



    只要能重现问题就行,不需要那些文件的。
将原脚本的 “$GDIPlusData = StringSplit($Data[$hIndex], ";")”上下几行都复制出来再测试看看。或者单独测试包含此行的脚本(如果该行不在主脚本的话)
发表于 2013-2-25 22:49:29 | 显示全部楼层
只要能重现问题就行,不需要那些文件的。
将原脚本的 “$GDIPlusData = StringSplit($Data[$hIn ...
afan 发表于 2013-2-25 22:42


基本就是你说的那样操作的:
主脚本精简:
#include "FormBuilder_Modes.au3"
包含文件精简:
#Region GDI+ Mode
Func _GDIPlusMode($hGDIWidth, $hGDIHeight, $hIndex)


        If $Data[$hIndex] <> "" Then
                $GDIPlusData = StringSplit($Data[$hIndex], ";")
        EndIf

        Dim $SelectedX[1] = [0], $SelectedY[1] = [0], $SelectedItem = 0


EndFunc
#EndRegion
整合的脚本:
#Region GDI+ Mode
Func _GDIPlusMode($hGDIWidth, $hGDIHeight, $hIndex)
        If $Data[$hIndex] <> "" Then
                $GDIPlusData = StringSplit($Data[$hIndex], ";")
        EndIf
        Dim $SelectedX[1] = [0], $SelectedY[1] = [0], $SelectedItem = 0
EndFunc
#EndRegion
 楼主| 发表于 2013-2-25 22:59:21 | 显示全部楼层
基本就是你说的那样操作的:
主脚本精简:包含文件精简:整合的脚本:
131738 发表于 2013-2-25 22:49



    除了第一段 #include "FormBuilder_Modes.au3" 没有文件测试外,下面两段都正常啊
发表于 2013-2-25 23:12:57 | 显示全部楼层
除了第一段 #include "FormBuilder_Modes.au3" 没有文件测试外,下面两段都正常啊
afan 发表于 2013-2-25 22:59


难道工作量过大导致问题吗。。。。
再次测试,使用完整主脚本,删除所有 #include 语句,
单留那出问题的 #include 语句,并且保持完整的 #include 文件,
再次整合,结果完全正常!
 楼主| 发表于 2013-2-25 23:26:19 | 显示全部楼层
难道工作量过大导致问题吗。。。。
再次测试,使用完整主脚本,删除所有 #include 语句,
单留那出问 ...
131738 发表于 2013-2-25 23:12



    总计 16000 多行代码,工作量并不算很大的,没办法重现问题也是个问题啊~

逐步再添加其上下的 #include 文件试试
还不出问题的话 只能上传文档再查了~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-1 13:48 , Processed in 0.076919 second(s), 15 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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