JS小工具_01_清单

1、将 Qt中 执行的 JS,从 明文 字符串 转换成 const的二进制的数组(这样肉眼也增加肉眼识别难度)

2、类的标识(数字[32/64/更多位数] 或者 字符串)

  2.1、数字:例如 32位数字,从低位到高位排序(0~31),基类占位0,第一层子类占 位1&位2,子类1标志(0x03)、子类2标志(0x05)、子类3标志(0x07);这样就出现问题(缺陷):g光用类的标志类做 与操作(&)的话, 子类3(包裹其子类) 都是 子类1 的子类了... 于是就需要 将 位0~3 整体比较,那就要指定比较的位数,这样 每个类都要指定需要比较的位数(用 map对应查找 或者 数组对应查找),这样就比较麻烦了,不方便...

  2.2、字符串:虽然没有上面数字的缺陷(每个类占几个位就是几个位,不多占,少的用0补齐;这样就只要比较字符串的右侧部分是否一致就可以了[ 类似endwith()的函数 ]),缺陷:字符串 操作较慢

  2.3、现在使用这样的方式:

    使用类似 XML的格式来定义这个枚举类型,这样 在判断 是否属于某一个基类的范围时,只需要 做一个整数的范围比较即可。方便又省事,而且 类型再多也不怕,一个整数的范围总够放了...

    ZC:实际上 只要是类似 XML的树形结构,都可以使用这种的方式

enum TdrawUnitType
{
    dutNone = 0,
    dutBaseGraph,
        dutBaseLink,
            dutLinkPoint,
        dutBaseDrag,
            dutDragPoint,
            dutDragLineSegment,
        dutDrGraph,
            dutUse,
                dutUseGroup,
                    dutSCKG,// 手车开关
                    dutLJB,// 两圈变
                        dutYZLJB,//有载两圈变
                    dutLJB_END,
                    dutSJB,// 三卷变(三圈变)
                        dutYZSJB,// 有载三卷变(有载三圈变)
                        dutWZSJB,// 无载三卷变(无载三圈变)
                    dutSJB_END,
                dutUseGroup_END,// <== <== <== <== <== ZC:这里就是 dutUseGroup 的结束的位置,要判断一个类是否是 UseGroup,只要判断是否在 [dutUseGroup,dutUseGroup_END)范围中 即可 ! ! !
                dutUseA,
            dutCrossLink,
            dutText,
            dutDrGraphA,
                dutBus,// 母线
                dutRectA,


    dutUse__C       = 0x80000000 | dutUse,
        dutUseA__C       = 0x80000000 | dutUseA,
    dutCrossLink__C = 0x80000000 | dutCrossLink,
    dutBus__C       = 0x80000000 | dutBus,

    dutSCKG__C  = 0x80000000 | dutSCKG,
    dutSJB__C   = 0x80000000 | dutSJB,
    dutYZSJB__C = 0x80000000 | dutYZSJB,
    dutWZSJB__C = 0x80000000 | dutWZSJB,
    dutLJB__C   = 0x80000000 | dutLJB,
    dutYZLJB__C = 0x80000000 | dutYZLJB,
    dutText__C  = 0x80000000 | dutText,
//        dutTextRect__C = 0x80000000 | dutTextRect,
        dutRectA__C = 0x80000000 | dutRectA
};

 

3、协议的过程中(圈圈教你USB),作者说 他写了一个 java版的 在线的生成 USB数据包的工具(但是我访问过,网址已经失效了),我可以写一个 JavaScript版本的小工具。

4、

5、

 

posted @ 2018-08-16 08:51  Html5Skill  阅读(212)  评论(0编辑  收藏  举报