设为首页收藏本站淘宝杂货铺

从F到0 - From F to 0

 找回密码
 注册已关闭
搜索
查看: 2814|回复: 3
收起左侧

易语言配色编辑模块源码2.0版 - 指针操作(字节集)与自定义数据类型强制交换变量实现

[复制链接]
发表于 2018-10-27 17:29:21 | 显示全部楼层 |阅读模式

  1. .版本 2

  2. .程序集 程序集1

  3. .子程序 _启动子程序, 整数型

  4. _临时子程序 ()
  5. 返回 (0)  ' 可以根据您的需要返回任意数值


  6. .子程序 _临时子程序
  7. .局部变量 配色, 易语言配色
  8. .局部变量 路径, 文本型

  9. 路径 = “E:\Program Files (x86)\e\clr\默认配色.clr”
  10. 配色 = 读入配色 (读入文件 (路径))
  11. .如果真 (配色是否有效 (配色) = 假)
  12.     输出调试文本 (“无效配色!”)
  13.     返回 ()
  14. .如果真结束

  15. 输出调试文本 (取配色数据 (配色) = 读入文件 (路径))


  16. .子程序 读入配色, 易语言配色, 公开
  17. .参数 配色数据, 字节集
  18. .局部变量 配色副本, 字节集
  19. .局部变量 返回值, 易语言配色

  20. 配色副本 = 调整字节集长度 (配色数据, #配色长度)
  21. 强制交换前准备 (配色副本)
  22. 强制交换变量 (返回值, 配色副本)
  23. 返回 (返回值)



  24. .子程序 取配色数据, 字节集, 公开
  25. .参数 配色数据, 易语言配色
  26. .局部变量 配色副本, 易语言配色
  27. .局部变量 指针, 整数型

  28. 配色副本 = 配色数据
  29. 强制交换变量 (配色副本, 指针)
  30. 返回 (指针到字节集 (指针, #配色长度))


  31. .子程序 调整字节集长度, 字节集, , 超出的截取,否则用0填充
  32. .参数 数据, 字节集
  33. .参数 调整长度, 整数型
  34. .局部变量 长度, 整数型

  35. 长度 = 取字节集长度 (数据)
  36. .如果 (长度 = 调整长度)
  37.     返回 (数据)
  38. .否则
  39.     .如果 (长度 > 调整长度)
  40.         返回 (取字节集左边 (数据, 调整长度))
  41.     .否则
  42.         返回 (数据 + 取空白字节集 (调整长度 - 长度))
  43.     .如果结束

  44. .如果结束
  45. 返回 ({  })


  46. .子程序 强制交换前准备, , , 字节集与任意自定义数据类型强制交换前需要将指针+8,执行此命令后不允许对字节集进行读写操作,否则可能会造成程序崩溃
  47. .参数 字节集, 字节集, , 执行完此命令后,使用 强制交换变量() 与自定义数据类型交换指针,

  48. 置入代码 ({ 80, 83, 139, 69, 8, 139, 24, 131, 195, 8, 137, 24, 91, 88 })
  49. ' push eax
  50. ' push ebx
  51. ' mov eax,[ebp+8]
  52. ' mov ebx,[eax]
  53. ' add ebx,8
  54. ' mov [eax],ebx
  55. ' pop ebx
  56. ' pop eax

  57. .子程序 配色是否有效, 逻辑型, 公开
  58. .参数 配色数据, 易语言配色
  59. .局部变量 配色字节集数据, 字节集
  60. .局部变量 索引, 整数型
  61. .局部变量 颜色值, 整数型

  62. 配色字节集数据 = 取配色数据 (配色数据)
  63. 索引 = 1
  64. .循环判断首 ()
  65.     颜色值 = 取字节集数据 (配色字节集数据, 3, 索引)
  66.     .判断开始 (索引 = 5 且 颜色值 ≠ #配色头)
  67.         返回 (假)
  68.     .判断 (颜色值 > #白色 或 颜色值 < #黑色)
  69.         返回 (假)
  70.     .默认

  71.     .判断结束

  72. .循环判断尾 (索引 ≠ -1)
  73. 返回 (真)

  74. .版本 2

  75. .常量 配色长度, "268", 公开, 不同版本的配色长度可能会有不同,按照当前版本进行调整
  76. .常量 配色头, "10275437", 公开, 用于识别是否为易语言配色文件,不能修改否则易语言无法识别
  77. .版本 2

  78. .数据类型 易语言配色, 公开
  79.     .成员 配色头, 整数型, , ,  
  80.     .成员 通常前景, 整数型
  81.     .成员 通常背景, 整数型
  82.     .成员 表格标题前景, 整数型
  83.     .成员 表格文本前景, 整数型
  84.     .成员 通常表头背景, 整数型
  85.     .成员 通常表格背景, 整数型
  86.     .成员 程序集表头背景, 整数型
  87.     .成员 程序集表背景, 整数型
  88.     .成员 子程序定义表头背景, 整数型
  89.     .成员 子程序定义表背景, 整数型
  90.     .成员 子程序变量表头背景, 整数型
  91.     .成员 子程序变量表背景, 整数型
  92.     .成员 块内文本前景, 整数型
  93.     .成员 块内文本背景, 整数型
  94.     .成员 块内表格标题前景, 整数型
  95.     .成员 通常调用名前景, 整数型
  96.     .成员 流程命令名前景, 整数型
  97.     .成员 语句中变量或组件名, 整数型
  98.     .成员 成员方法名前景, 整数型
  99.     .成员 成员变量或属性名前景, 整数型
  100.     .成员 备注或草稿前景, 整数型
  101.     .成员 数组下标中括号前景, 整数型
  102.     .成员 小括号前景, 整数型
  103.     .成员 操作符前景, 整数型
  104.     .成员 成员引用句点前景, 整数型
  105.     .成员 逗号分隔符前景, 整数型
  106.     .成员 常量前景, 整数型
  107.     .成员 数值前景, 整数型
  108.     .成员 逻辑值前景, 整数型
  109.     .成员 日期时间前景, 整数型
  110.     .成员 字符串前景, 整数型
  111.     .成员 常量集花括号前景, 整数型
  112.     .成员 子程序指针前景, 整数型
  113.     .成员 连接线, 整数型
  114.     .成员 表格线, 整数型
  115.     .成员 块内表格线, 整数型
  116.     .成员 分割线, 整数型
  117.     .成员 参数开启状态指示器, 整数型
  118.     .成员 参数名称文本前景, 整数型
  119.     .成员 标志列背景, 整数型
  120.     .成员 变量或参数定义名, 整数型
  121.     .成员 数据类型, 整数型
  122.     .成员 数组定义, 整数型
  123.     .成员 选中标记, 整数型
  124.     .成员 子程序定义名, 整数型
  125.     .成员 自定义数据类型定义名, 整数型
  126.     .成员 DLL命令定义名, 整数型
  127.     .成员 程序集定义名, 整数型
  128.     .成员 属性表线条, 整数型
  129.     .成员 属性表标题前景, 整数型
  130.     .成员 属性表标题背景, 整数型
  131.     .成员 属性表项前景, 整数型
  132.     .成员 属性表项背景, 整数型
  133.     .成员 属性表光标行标题前景, 整数型
  134.     .成员 属性表光标行标题背景, 整数型
  135.     .成员 属性表变灰属性前景, 整数型
  136.     .成员 属性表光标行变灰属性前景, 整数型
  137.     .成员 窗体设计器背景, 整数型
  138.     .成员 所引用窗口名称前景, 整数型
  139.     .成员 所引用窗口组件名称前景, 整数型
  140.     .成员 所引用全局变量名称前景, 整数型
  141.     .成员 所引用程序集变量名称前景, 整数型
  142.     .成员 所引用局部变量名称前景, 整数型
  143.     .成员 所引用子程序参数名称前景, 整数型
  144.     .成员 高亮待搜寻单词文本前景, 整数型
  145.     .成员 高亮待搜寻单词文本背景, 整数型

复制代码

相关帖子

发表于 2018-10-27 23:40:40 | 显示全部楼层
原来还能这样的搞...
发表于 2018-10-28 08:30:38 | 显示全部楼层
原来自定义数据类型还有这样整的
发表于 2018-10-30 19:50:31 | 显示全部楼层
指针操作就是6
您需要登录后才可以回帖 登录 | 注册已关闭

本版积分规则

QQ|手机版|Archiver|从F到0 ( 蒙ICP备17002595号-1 )
蒙公网安备15010402000325号

腾讯云安全认证

GMT+8, 2024-3-29 21:57 , Processed in 0.778044 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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