开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 8216|回复: 11
收起左侧

[易语言支持库] LUA5.3支持库测试版本

[复制链接]
发表于 2016-7-13 23:31:46 | 显示全部楼层 |阅读模式   天津市天津市
本帖最后由 宇智波·佐助 于 2016-7-21 14:41 编辑
  1. .版本 2
  2. .支持库 LUA5
  3. .支持库 spec

  4. .程序集 窗口程序集_启动窗口
  5. .程序集变量 lua, LUA5_3
  6. .程序集变量 句柄1, 整数型
  7. .程序集变量 句柄2, 整数型

  8. .子程序 __启动窗口_创建完毕

  9. lua.创建 ()
  10. 句柄1 = lua.取出句柄 ()
  11. lua.打开_全部库 ()
  12. lua.注册函数 (“print”, &print)
  13. lua.注册函数 (“取文本”, &取文本)
  14. lua.注册函数 (“取数字”, &取数字)
  15. lua.注册函数 (“取逻辑”, &取逻辑)

  16. lua.执行脚本文本 (编辑框_脚本1.内容)
  17. 标签_线程1.标题 = 到文本 (句柄1)

  18. lua.创建 ()
  19. 句柄2 = lua.取出句柄 ()
  20. lua.打开_全部库 ()
  21. lua.注册函数 (“调试输出”, &print)

  22. lua.执行脚本文本 (编辑框_脚本2.内容)
  23. 标签_线程2.标题 = 到文本 (句柄2)
  24. 标签_当前线程.标题 = 到文本 (句柄2)


  25. .子程序 print
  26. .局部变量 i, 整数型
  27. .局部变量 输出文本, 文本型

  28. ' LUA调用易语言里的函数时,被调用易语言函数,必须要用函数参数 的函数 否则会中断程序



  29. .计次循环首 (lua.取出栈大小 (), i)
  30. .判断开始 (lua.是否为空 (i))
  31. 输出文本 = 输出文本 + “nui”
  32. .判断 (lua.是否为数值 (i))
  33. 输出文本 = 输出文本 + 到文本 (lua.取出小数 (i))

  34. .判断 (lua.是否为文本 (i))
  35. 输出文本 = 输出文本 + “【” + lua.取出文本 (i) + “】”
  36. .判断 (lua.是否为逻辑 (i))
  37. 输出文本 = 输出文本 + 到文本 (lua.取出逻辑 ())
  38. .默认

  39. .判断结束

  40. .如果真 (lua.取出栈大小 () > 1)
  41. 输出文本 = 输出文本 + “ | ”

  42. .如果真结束




  43. .计次循环尾 ()
  44. 编辑框_调试信息.加入文本 (“(” + 输出文本 + “)” + #换行符)

  45. .子程序 _按钮1_被单击



  46. .如果真 (lua.取出句柄 () = 句柄1)


  47. lua.执行脚本文本 (编辑框_脚本1.内容)


  48. .如果真 (lua.取出错误信息 () ≠ “”)
  49. 编辑框_调试信息.加入文本 (lua.取出错误信息 () + #换行符)

  50. .如果真结束

  51. .如果真结束
  52. .如果真 (lua.取出句柄 () ≠ 句柄1)
  53. 编辑框_调试信息.内容 = “当前线程错误,请切换至当前线程” + #换行符
  54. .如果真结束


  55. .子程序 _按钮2_被单击

  56. lua.返回句柄 (句柄1)
  57. 标签_当前线程.标题 = 到文本 (句柄1)
  58. 编辑框_调试信息.内容 = “已经切换至线程1” + #换行符 + “开始运行被调试程序” + #换行符

  59. .子程序 _按钮4_被单击


  60. .如果真 (lua.取出句柄 () = 句柄2)


  61. lua.执行脚本文本 (编辑框_脚本2.内容)
  62. .如果真 (lua.取出错误信息 () ≠ “”)
  63. 编辑框_调试信息.加入文本 (lua.取出错误信息 () + #换行符)

  64. .如果真结束

  65. .如果真结束
  66. .如果真 (lua.取出句柄 () ≠ 句柄2)
  67. 编辑框_调试信息.内容 = “当前线程错误,请切换至当前线程” + #换行符
  68. .如果真结束


  69. .子程序 _按钮3_被单击

  70. lua.返回句柄 (句柄2)
  71. 标签_当前线程.标题 = 到文本 (句柄2)
  72. 编辑框_调试信息.内容 = “已经切换至线程2” + #换行符 + “开始运行被调试程序” + #换行符

  73. .子程序 取文本, 整数型

  74. ' LUA调用易语言里的函数时,被调用易语言函数,必须要用函数参数 的函数 否则会中断程序

  75. lua.压入文本 (lua.取出文本 (1) + “1”)
  76. 返回 (1) ' ///////返回栈参数的个数,如果为0 无参数返回栈中,LUA无法收到数据,压入指令无效。

  77. .子程序 取数字, 整数型
  78. .局部变量 L, 整数型

  79. ' LUA调用易语言里的函数时,被调用易语言函数,必须要用函数参数 的函数 否则会中断程序

  80. L = lua.取出小数 (1) + 1
  81. lua.压入数值 (L)
  82. 返回 (1) ' ///////返回栈参数的个数,如果为0 无参数返回栈中,LUA无法收到数据,压入指令无效。

  83. .子程序 取逻辑, 整数型

  84. ' LUA调用易语言里的函数时,被调用易语言函数,必须要用函数参数 的函数 否则会中断程序

  85. .判断开始 (lua.取出逻辑 (1) = 假)
  86. lua.压入逻辑 (真)
  87. .判断 (lua.取出逻辑 (1))
  88. lua.压入逻辑 (假)
  89. .默认

  90. .判断结束
  91. 返回 (1) ' ///////返回栈参数的个数,如果为0 无参数返回栈中,LUA无法收到数据,压入指令无效。


  92. .子程序 _按钮5_被单击


  93. 函数测试 ()
  94. ' 要调用LUA中函数必须要用一个用来完成,并且要按
  95. ' 1向栈中压入函数名称
  96. ' 2向栈中压入函数参数1
  97. ' 3向栈中压入函数参数n
  98. ' 4开始调用LUA函数
  99. ' 5取回函数的返回值
  100. ' 6返回栈参数的个数,如果为0 无参数返回栈中,LUA无法收到数据。
  101. ' 这个流程来完成函数调用。

  102. .子程序 函数测试, 整数型

  103. ' *****************向栈中压入函数名称********************
  104. lua.压入全局变量 (编辑框_函数名称.内容)



  105. ' *****************向栈中压入函数参数1********************
  106. .判断开始 (组合框_参数1.现行选中项 = 0)
  107. lua.压入数值 (到小数 (编辑框_参数1.内容))
  108. .判断 (组合框_参数1.现行选中项 = 1)
  109. lua.压入文本 (编辑框_参数1.内容)
  110. .判断 (组合框_参数1.现行选中项 = 2)
  111. .如果真 (编辑框_参数1.内容 = “真”)
  112. lua.压入逻辑 (真)
  113. .如果真结束
  114. .如果真 (编辑框_参数1.内容 = “假”)
  115. lua.压入逻辑 (假)
  116. .如果真结束


  117. .默认

  118. .判断结束

  119. ' *****************向栈中压入函数参数2********************
  120. .判断开始 (组合框_参数2.现行选中项 = 0)
  121. lua.压入数值 (到小数 (编辑框_参数2.内容))
  122. .判断 (组合框_参数2.现行选中项 = 1)
  123. lua.压入文本 (编辑框_参数2.内容)
  124. .判断 (组合框_参数2.现行选中项 = 2)
  125. .如果真 (编辑框_参数2.内容 = “真”)
  126. lua.压入逻辑 (真)
  127. .如果真结束
  128. .如果真 (编辑框_参数2.内容 ≠ “真”)
  129. lua.压入逻辑 (假)
  130. .如果真结束

  131. .默认

  132. .判断结束

  133. ' *****************开始调用LUA函数********************
  134. lua.调用函数 (2, 1, 0)


  135. ' *****************取回函数的返回值********************
  136. 调试输出 (lua.取出小数 (lua.取出栈大小 ()), lua.取出栈大小 ())

  137. 返回 (3) ' ///////返回栈参数的个数,如果为0 无参数返回栈中,LUA无法收到数据,压入指令无效。


  138. .子程序 _按钮6_被单击

  139. 调试输出 (lua.取出错误信息 ())

复制代码

本版本为测试版本,本版本基本于LUA5.33的源文件编写。可以多线程运行,
我要提前声明“本支库基于LUA5.33,本版本为测试版本,只供学习使用,调用“执行脚本文本”或者“执行脚本文本”这两个函数次数达到200次,库会锁定,要重新启动才可以"), ”table 还正编写中,编写完成后再分享正式版本。



如有BUG  要来论坛反馈啊!我改正BUG的地方!

lua地址.txt

84 Bytes, 下载次数: 59, 下载积分: 精币 -2 枚

下载地址

5.3.zip

20.04 KB, 下载次数: 55, 下载积分: 精币 -2 枚

易语言测试例子

捕获11.PNG
捕获12.PNG
结帖率:100% (1/1)
发表于 2022-8-16 03:25:34 | 显示全部楼层   广东省茂名市
下载地址过期了
回复 支持 反对

使用道具 举报

结帖率:32% (7/22)

签到天数: 5 天

发表于 2022-7-12 11:47:53 | 显示全部楼层   贵州省黔东南苗族侗族自治州
回帖是美德
回复 支持 反对

使用道具 举报

结帖率:100% (16/16)

签到天数: 5 天

发表于 2020-3-1 21:00:55 | 显示全部楼层   山东省淄博市
谢谢楼主就是支持库里面的fne不一样
回复 支持 反对

使用道具 举报

结帖率:50% (3/6)

签到天数: 1 天

发表于 2018-2-20 20:57:13 | 显示全部楼层   云南省曲靖市
#在这里快速回复#感谢发布原创作品,精易因你更精彩!
回复 支持 反对

使用道具 举报

发表于 2018-2-16 05:03:20 | 显示全部楼层   四川省成都市
看看。。。。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

发表于 2018-2-16 05:03:08 | 显示全部楼层   四川省成都市
看看。。。。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

发表于 2016-8-17 08:32:38 | 显示全部楼层   广东省中山市
看看。。。。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

结帖率:50% (2/4)
发表于 2016-7-20 15:49:32 | 显示全部楼层   四川省绵阳市
很好,很屌........  小白不懂,LUAJIT会不会更好点?
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2016-7-18 00:57:44 | 显示全部楼层   黑龙江省齐齐哈尔市
有正式版本了吗 ???
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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