afan 发表于 2019-8-15 01:42:44

Au3常量询捕 2.1

本帖最后由 afan 于 2022-5-14 14:43 编辑

200724 更新 2.1 版
      [修正]因SciTE标题格式有异而未能自动补库的问题

刚写完的,趁热~~
再也不会为写 UDF 或者其它需要查值的时候伤脑筋了…
复制需要查值的常量,点击粘贴查询即可
程序会自动计算终值并显示表达式、值等结果,均可单击复制
点击所在文件还可定位到记事本中查看可能有的相关解释
窗口任意空白处点击鼠标右键可清空输入
为SciTE增加常量补库功能:在SciTE编辑器运行时出现某常量未声明提示时,点击一下即可复制找到的库文件

首次运行会采集数据于AutoIt3安装目录 \Include\所有 *Constants* 文件,创建 AConstants.dat 数据库文件,简单粗暴~
如果你没有安装Au3,那就没必要用了~
随便拿了几个常量,大家可以测试下

$UHID_All
$BFFM_SETSTATUSTEXTA
$CDN_FIRST
$PD_USEDEVMODECOPIESANDCOLLATE
$SND_ALIAS_SYSTEMASTERISK
$SFGAO_CAPABILITYMASK
$BCM_GETIDEALSIZE
$CBN_ERRSPACE
$CBEM_GETCOMBOCONTROL
$TOKENPRIMARY
$SIDTYPEUNKNOWN
$tagNMCOMBOBOXEX
$tagTEXTMETRIC


更新历史:

200724 更新 2.1 版
      [修正]因SciTE标题格式有异而未能自动补库的问题

190827 更新 2.0.5 版
      [修正]监听剪贴板可能会中断,需要重新勾选才正常的问题
         原因是有些程序退出时没有按规则通知从剪贴板查看器链中删除(比如某些迅雷版本)

190821 更新 2.0 版 (未发布)
      [新增]SciTE补库增加函数库功能
         应对SciTE函数未定义的错误提示
         包含“Include”默认库目录及“用户Include”目录的所有函数库文件
         补库时就算库文件文件名含中文,待补库的au3文件编码为系统内码ANSI或UTF格式时均不会乱码
      [修改]去除补库时的非库内常量名/函数名的提示,实际意义不大
      [新增]在SciTE中选择了常量,懒得复制,点“捕获查询”可直接查询
      [修改]程序中文名正式命名为“常量询捕”

190820 更新 1.9 版 (未发布)
      [新增]设置自动保存,以便下次打开直接应用习惯设置及窗口位置
      [修改]弹出匹配的常量菜单增加“切换值进制”菜单
         菜单上的值在未切换前尽量使用原始的赋值形式,而非界面指定的16/10进制值
         点击该菜单可临时切换当前值的16/10进制值,仅当次有效
         如需一直使用某进制在界面操作即可

190818 更新 1.8 版 (未发布)
      [新增]智能 SciTE 常量剪贴板,大大方便修改代码
         当处于监听剪贴板模式时,如监听到剪贴板为匹配的常量,会在当前光标位置显示菜单:
         菜单1:关闭      (看看就好,关闭菜单,返回SciTE)
         菜单2,当前常量的计算值      (点击该菜单则自动粘贴该值)
         菜单3,值 与 当前常量名=值(点击该菜单则自动粘贴该值,并在行末粘贴注释 ;常量名=值)
         勾选“菜单”复选框即可使用以上功能

190818 更新 1.7 版 (未发布)
      [新增]监听剪贴板,让实时查询更简单,不需要来回切换
      [新增]菜单添加查看更新历史,相当于程序说明

190818 更新 1.6 版 (未发布)
      [新增]程序启动时即自动访问剪贴板和检测SciTE是否有常量出错提示
         一般情况下有困难才会找JC,基本上打开这个程序就是遇到问题了
         这样可以让你少走一步,想你所想
         1,剪贴板如有匹配的常量名会自动显示
         2,SciTE有常量出错提示则自动检索并做出智能处理:
         如有匹配且符合直接上屏的条件(1.3版有说明)则自动完成SciTE修改并气泡提示
         有一项不符合则不处理,需自行点击“SciTE常量补库”操作

190817 更新 1.5版 (未发布)
      [新增]重建数据库功能
         如有修改某常量库文件,则需要重建刷新一次数据库
      [新增]常量查重功能
         为避免使用多个常量库时出现常量重复的错误,所有的常量库应该不允许有重复的常量名
         但常量又分布在不同的文件内,难免有重复的现象,以前的Au3就经常出现这种问题
         而使用 If Not IsDeclared Then Assign 着实是一种无奈的方法,使用SciTE也经常会报错
         之后较新的版本进行了重整,此问题应已解决
         此功能就是对当前所有常量库文件进行检测,以防漏网,消除隐患

190817 更新 1.4版 (未发布)
      [修改]更快的计算方式,直接对表达式计算出结果
         虽然之前也不慢,150毫秒左右,现在基本不到10毫秒
         按住Ctrl键单击结果值仍使用之前的方法计算

190816 发布 1.3版
      [新增]使用SciTE补库功能时,可直接修改到SciTE窗口
         在获取到库文件时,除了可复制到剪贴板外,也可以直接修改到SciTE窗口
         在修改时会识别当前SciTE的任务窗口,如已切换发生改变会提醒切回
         除此之外就算SciTE窗口处于后台或最小化时均不会影响程序操作
         修改过程不会影响任何的代码折叠及标记

190816 发布 1.2版
      [修改]微调使用SciTE补库时功能
         描述用词修改(有时多余了复制到剪贴板的提示)
         增加检索完成耗时提示
         增加了小图标以突出其含义
      [新增]关闭到托盘复选框
         勾选后点击关闭将不再退出,在托盘保留,单击托盘(或右键菜单)还原

190815 发布 1.1版
      [新增]为SciTE增加常量补库功能
         在SciTE编辑器运行时出现某常量未声明提示时,点击一下即可复制找到的库文件
         至于想粘贴到哪自己干,不想干预书写脚本习惯

190815 发布 1.0版
      [修正]在结果值为字符串时切换“16进制”复选框会使结果成0x0
      [新增]可以直接复制“#include <XXXXX>”
      [新增]按住Ctrl键单击结果值可对结果值进行再次计算
         如果结果值是含&连接符或者包含变量连接的字符串,可以整合成整体字符串
         而对于是16进制值的则会进行左减零处理(左边多个0减为一个0)
      [修改]数据库保存到AutoIt3安装目录,因为版本间的差异Constants数量也可能不同
         对应当前的版本更有实际意义
         (建议使用较新版本,太老的版本很多常量并没有分开到Constants文件,比如3.3.6.1只有不到40个,而3.3.14.2有近70个)
      [修改]其它细微修改,如界内任意按住拖移窗口等

190814 初发布 0.9版




动画演示~






**** Hidden Message *****



afan 发表于 2019-8-15 20:57:20

gzh888666 发表于 2019-8-15 17:51
我记得论坛里有一个可以根据调试错误自动添加“#include ”的工具,版本太老,现在不能用了,A版有新的吗?

因为大家使用的 SciTE 及其环境很有可能不同,因此本次追加的功能不一定对其他人有效,我只在自己电脑测试过,如有问题,可以反馈。

以下是一段会出错的代码例子,执行出错后运行本工具下方的 附: SciTE常量补库 试试~

Opt('GUIOnEventMode', 1)
Global $hGuiMain, $id_1, $id_2

#Region :: START AuGUIDesigner ::
Dim $hGuiMain = GUICreate('新建设计窗口', 400, 426, -1, -1, $WS_SIZEBOX + $WS_SYSMENU)
GUISetOnEvent($GUI_EVENT_CLOSE, '_GuiClose')
Dim $id_1 = GUICtrlCreateButton('1-Button', 116, 83, 116, 36, $BS_CENTER + $BS_DEFPUSHBUTTON)
Dim $id_2 = GUICtrlCreateLabel('2-Label', 126, 144, 104, 42, $SS_CENTER + $SS_CENTERIMAGE)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUISetState()
#EndRegion :: END AuGUIDesigner ::
While 1
        Sleep(1000)
WEnd
Func _GuiClose()
        Exit
EndFunc   ;==>_GuiClose

menfan1 发表于 2019-8-15 07:35:45

支持一下,呵呵

zghwelcome 发表于 2019-8-15 08:07:57

太赞了,经常去百度半天

zmdzhxj 发表于 2019-8-15 09:11:29

正是我这样新手需要的,赞一个!

chzj589 发表于 2019-8-15 09:18:35

下载保存,辛苦了。

风过无痕 发表于 2019-8-15 09:54:46

赶紧收藏了,下载试试

gzh888666 发表于 2019-8-15 10:12:43

A版出品,必属精品!

redapple2008 发表于 2019-8-15 11:21:30

A版出品,定要收藏。支持一下

redapple2008 发表于 2019-8-15 11:22:59

楼主的程序我的电脑一直无法打,nod32直接删除。能不能不要加壳?

afan 发表于 2019-8-15 11:25:26

redapple2008 发表于 2019-8-15 11:22
楼主的程序我的电脑一直无法打,nod32直接删除。能不能不要加壳?

不加壳对你有用吗?一会发个1.0版你试试吧

redapple2008 发表于 2019-8-15 11:29:47

afan 发表于 2019-8-15 11:25
不加壳对你有用吗?一会发个1.0版你试试吧

不知道,nod32一打开就不见程序。我用mpress加壳好像不查杀。

afan 发表于 2019-8-15 11:57:36

redapple2008 发表于 2019-8-15 11:29
不知道,nod32一打开就不见程序。我用mpress加壳好像不查杀。

已更新1.0版,你试试

redapple2008 发表于 2019-8-15 13:14:19

afan 发表于 2019-8-15 11:57
已更新1.0版,你试试

还是不见了,nod32看来对au3不认可,我加mpress可以用

afan 发表于 2019-8-15 13:29:35

redapple2008 发表于 2019-8-15 13:14
还是不见了,nod32看来对au3不认可,我加mpress可以用

那就算了,杀软从来就对au3不友好,商道即奸道

gzh888666 发表于 2019-8-15 17:51:50

我记得论坛里有一个可以根据调试错误自动添加“#include <XXXXX>”的工具,版本太老,现在不能用了,A版有新的吗?
页: [1] 2 3 4 5 6 7 8
查看完整版本: Au3常量询捕 2.1