iVocaloid论坛

标题: 请教一个关于lua工作插件的问题 [打印本页]

作者: Ehobits    时间: 2017/12/15 14:08     标题: 请教一个关于lua工作插件的问题

本帖最后由 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的大佬帮我看一下,这个要这么解决,怎样才能取到自身路径和文件名。在下感激不尽

作者: Ehobits    时间: 2017/12/16 10:31

没有大佬来回答吗
作者: sean3424867    时间: 2018/1/12 11:38

這是甚麼




欢迎光临 iVocaloid论坛 (http://bbs.ivocaloid.com/) Powered by Discuz! X2