现在的位置: 首页 > 综合 > 正文

Google输入法扩展API使用的一点心得

2018年06月07日 ⁄ 综合 ⁄ 共 1702字 ⁄ 字号 评论关闭

  今天安装了Google拼音输入法3,感觉比2好用多了。

     但是,我想使用快捷键输入时间的时候,感觉不大满意,irq就只输入日期,isj就只输入时间,于是,我查了一下Google输入法扩展API,对base.lua进行了修改,很快就实现了我想要的快捷效果。

    

修改过程如下:

第一步:我先添加了如下几个函数:

function NormalizeDate2(y, m, d)
  return string.format("%d年%02d月%02d日", y, m, d)
end

function NormalizeTime2(h, m,s)
  return string.format("%02d:%02d:%02d", h, m,s)
end

function NormalizeDateTime1(y,m1,d,h,m2, s)
  return string.format("%d-%02d-%02d %02d:%02d:%02d", y,m1,d,h,m2, s)
end

function NormalizeDateTime2(y,m1,d,h,m2, s)
  return string.format("%d年%02d月%02d日%02d:%02d:%02d", y,m1,d,h,m2, s)
end

 

第二步:修改GetTime函数:在其中增加了year, month, day,还增加了second

并将return改成我在第一步添加到函数:

function GetTime(input)
  local now = input
  local now1,now2
  if #input == 0 then
    now1 = os.date("%Y-%m-%d")
    now2 = os.date("%H:%M:%S")
  end
  local year, month, day, hour, minute, second
  now1:gsub(_DATE_PATTERN, function(y, m, d)
    year = tonumber(y)
    month = tonumber(m)
    day = tonumber(d)
  end)
  now2:gsub(_TIME_PATTERN1, function(h, m, s)
    hour = tonumber(h)
    minute = tonumber(m)
    second=tonumber(s)
  end)
  return {
    NormalizeDateTime2(year, month, day,hour, minute,second),
    NormalizeDateTime1(year, month, day,hour, minute,second),
    NormalizeTime2(hour, minute,second),
    NormalizeTime(hour, minute)
  }
end

 

第三步:修改GetDate函数:

只是在return中增加了我自己定义的函数:    NormalizeDate2(year, month, day),

 

第四步:该步容易忽视,但如果忽视了,GetTime就不能执行:

修改:_TIME_PATTERN ,即正在表达式:

我是直接增加一个:_TIME_PATTERN1 = "^(%d+):(%d+):(%d+)$"

 

第五步:根据自己的需要注册快捷键:

ime.register_command("ii", "GetTime", "输入时间", "alpha", "输入可选时间,例如2008-08-08 12:30:00")
ime.register_command("rr", "GetDate", "输入日期", "alpha", "输入可选日期,例如2008-08-08")

 

----------------------------

文件位置:XP:C:/Documents and Settings/All Users/Application Data/Google/Google Pinyin 3/Extensions

呵呵,一点心得,写下来免得以后自己又不记得了。

http://blog.csdn.net/mywait_00/article/details/6322402

抱歉!评论已关闭.