首页 > 开发 > 综合 > 正文

PowerDesign9.5+ 中的GTL编程 解决大问题

2024-07-21 02:11:25
字体:
来源:转载
供稿:网友

在开发数据库模型时,通常会有这样的需求
输入一个 表或字段的中文名称 自动生成它的中文拼音首字母简写功能
如 :
设备_变压器  自动形成数据库表名  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





商业源码热门下载www.html.org.cn

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表