Project1

标题: print的实现 [打印本页]

作者: wolves    时间: 2015-6-8 23:18
标题: print的实现
没有对p和print做以区分(懒了- -||)
不知道为什么,我的rmvx没办法用p和print显示小窗口,不知道是不是通病。于是我草草写了个代码- -|||
  1. MessageBox=Win32API.new("user32.dll","MessageBoxA","lppl","l")
  2. FindWindow=Win32API.new("user32.dll","FindWindowA","pp","l")
  3. TITLE="Project1"#游戏标题名
  4. def p(m)
  5.   m="nil" if m.nil?
  6.   m=m.to_s
  7.   a=FindWindow.call("",TITLE)
  8.   MessageBox.call(a,EasyConv.u2s(m),"message",0)
  9. end
  10. def print(m)
  11.   p m
  12. end
  13. module EasyConv
  14. CP_ACP = 0
  15. CP_UTF8 = 65001
  16. def self.u2s(text)
  17.    m2w = Win32API.new('kernel32', 'MultiByteToWideChar', 'ilpipi', 'i')
  18.    w2m = Win32API.new('kernel32', 'WideCharToMultiByte', 'ilpipipp', 'i')
  19.    len = m2w.call(CP_UTF8, 0, text, -1, nil, 0)
  20.    buf = "\0" * (len*2)
  21.    m2w.call(CP_UTF8, 0, text, -1, buf, buf.size/2)
  22.    len = w2m.call(CP_ACP, 0, buf, -1, nil, 0, nil, nil)
  23.    ret = "\0" * len
  24.    w2m.call(CP_ACP, 0, buf, -1, ret, ret.size, nil, nil)
  25.    return ret
  26. end
  27. end

  28. p 'Hello'
复制代码

作者: 怪蜀黍    时间: 2015-6-9 09:33
VX一直都可以p和print小窗口的喵~
作者: chd114    时间: 2015-6-9 11:52
我一直认为p和print的区别是输出"XXX"的时候会不会带上""
作者: taroxd    时间: 2015-6-9 21:55
写个 inspect 区分一下,代码反而个人更简单的说




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1