今天安装了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