搜索

iVocaloid论坛

查看: 1272|回复: 2
打印 上一主题 下一主题

[其他] 请教一个关于lua工作插件的问题 [复制链接]

Rank: 2Rank: 2

0
3
0


UID: 158909
权限: 10
属性: 不明
发帖: 6 (0精)
积分: 22
章鱼: 0
大葱: 2
茄子: 194
注册:2017/9/24
存在感:36
跳转到指定楼层
[1L]楼主
Ehobits 发表于 2017/12/15 14:08:44 |只看该作者 |倒序浏览
本帖最后由 Ehobits 于 2017/12/16 10:30 编辑

最近想写一个lua插件,其中一个基础功能是获取lua所在的路径,并在其中建立一个TXT或ini文件。但由于局限于VOCALOID糟糕的lua脚本特性我试了一打获取自身路径的办法都不成功,只会返回空值
当前部分代码如下:
  1. local str = "abab.txt"
  2. -- 获取路径
  3. function stripFileName(str)  
  4.     return string.match(str, "(.+)\\[^\\]*%.%w+$")
  5. end  

  6. -- 获取文件名
  7. function getFileName(str)  
  8.     return string.match(str, ".+\\([^\\]*%.%w+)$")
  9. end  

  10. -- 环境参数在运行时传递。
  11.   scriptDir  = stripFileName(str)                -- Lua脚本所在的目录路径(包括末尾的分隔符“\”)。
  12.   scriptName = getFileName(str)            -- Lua脚本的文件名。

  13. function main(processParam, envParam)
  14.     -- 局部变量声明。
  15.         local retCode                        -- 函数的返回值。

  16.     -- 检查API版本。
  17.     if (envParam.apiVersion == nil) or (envParam.apiVersion == "") then
  18.         -- 当API版本无法获取时。
  19.         -- 显示错误消息并退出。
  20.                 VSMessageBox("该插件需要版本4.2.0或更高版本的VOCALOID 4。", 0)
  21.         return STATUS_NORMAL
  22.     end
  23.         
  24.         VSMessageBox(scriptDir .. scriptName,0)    --这里出错  提示“scriptDir” “scriptName”是空值

  25. return retCode
  26. end
复制代码

希望有懂lua的大佬帮我看一下,这个要这么解决,怎样才能取到自身路径和文件名。在下感激不尽

知识共享许可协议 除非另有声明,本帖内容采用 署名-非商业-相同方式共享 3.0 许可协议 授权,且需注明出处,所有权利归发帖人。

使用道具 举报

Rank: 2Rank: 2

0
3
0


UID: 158909
权限: 10
属性: 不明
发帖: 6 (0精)
积分: 22
章鱼: 0
大葱: 2
茄子: 194
注册:2017/9/24
存在感:36
[2L]沙发
Ehobits 发表于 2017/12/16 10:31:27 |只看该作者
没有大佬来回答吗

使用道具 举报

IA愛好者

Lv.3-章鱼烧

Rank: 3

0
9
0


UID: 161923
权限: 20
属性: 2.5次元
发帖: 19 (0精)
积分: 123
章鱼: 0
大葱: 16
茄子: 133
注册:2018/1/9
存在感:113
[3L]板凳
sean3424867 发表于 2018/1/12 11:38:37 |只看该作者
這是甚麼

使用道具 举报

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

申请友链|Archiver|iVocaloid - 自由,开放,合作,共享    | 版权持有者点击这里进行举报

GMT+8, 2025/6/6 10:41

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部