PowerDesign9.5+中的GTL编程解决大问题
发表于:2007-05-25来源:作者:点击数:
标签:
在开发数据库模型时,通常会有这样的 需求 输入一个 表或字段的中文名称 自动生成它的中文拼音首字母简写功能 如 : 设备_变压器 自动形成数据库表名 SB_BYQ 在 POWERDesigner 9.5 以上版本中可以这样设置 打开 1。Tools ModelOptions..对话框 2。点击左边 N
在开发数据库模型时,通常会有这样的需求
输入一个 表或字段的中文名称 自动生成它的中文拼音首字母简写功能
如 :
设备_变压器 自动形成数据库表名 SB_BYQ
在 POWERDesigner 9.5 以上版本中可以这样设置
打开 1。Tools > ModelOptions..对话框
2。点击左边 Name Convension 树形结点
3。在右边面板中选择 Name/Code Convensions 选择框
4。在 Name/Code 页中 Convension Script 输入框中输入下面的代码
.foreach_part(%Name%,".") .vbscript(%CurrentPart%)
ScriptResult=getpy(ScriptInputArray(0)) function getpychar(char) tmp=65536+asc(char) if(tmp>=45217 and tmp<=45252) then getpychar= "A" elseif(tmp>=45253 and tmp<=45760) then getpychar= "B" elseif(tmp>=45761 and tmp<=46317) then getpychar= "C" elseif(tmp>=46318 and tmp<=46825) then getpychar= "D" elseif(tmp>=46826 and tmp<=47009) then getpychar= "E" elseif(tmp>=47010 and tmp<=47296) then getpychar= "F" elseif(tmp>=47297 and tmp<=47613) then getpychar= "G" elseif(tmp>=47614 and tmp<=48118) then getpychar= "H" elseif(tmp>=48119 and tmp<=49061) then getpychar= "J" elseif(tmp>=49062 and tmp<=49323) then getpychar= "K" elseif(tmp>=49324 and tmp<=49895) then getpychar= "L" elseif(tmp>=49896 and tmp<=50370) then getpychar= "M" elseif(tmp>=50371 and tmp<=50613) then getpychar= "N" elseif(tmp>=50614 and tmp<=50621) then getpychar= "O" elseif(tmp>=50622 and tmp<=50905) then getpychar= "P" elseif(tmp>=50906 and tmp<=51386) then getpychar= "Q" elseif(tmp>=51387 and tmp<=51445) then getpychar= "R" elseif(tmp>=51446 and tmp<=52217) then getpychar= "S" elseif(tmp>=52218 and tmp<=52697) then getpychar= "T" elseif(tmp>=52698 and tmp<=52979) then getpychar= "W" elseif(tmp>=52980 and tmp<=53640) then getpychar= "X" elseif(tmp>=53689 and tmp<=54480) then getpychar= "Y" elseif(tmp>=54481 and tmp<=62289) then getpychar= "Z" else '如果不是中文,则不处理 getpychar=char end if end function
function getpy(str) for i=1 to len(str) getpy=getpy&getpychar(mid(str,i,1)) next end function
.endvbscript
|
原文转自:http://www.ltesting.net
|