PowerDesigner使用:[1]Name首字母生成Code
1、主菜单Tools->General Options->Dialog-> Name to Code mirroring,勾上(默认是勾上的)。
![PowerDesigner使用:[1]Name首字母生成Code](https://exp-picture.cdn.bcebos.com/01bd69f7980e5f2055d3af68bd20b93acc898e35.jpg)
![PowerDesigner使用:[1]Name首字母生成Code](https://exp-picture.cdn.bcebos.com/ccc83ec5260f8835c328a96dce07880139708635.jpg)
2、主菜单Tools->Model Options-> Naming Convention项(设置该项,会影响所有的子节点).勾选" Enable name/code conversions".
![PowerDesigner使用:[1]Name首字母生成Code](https://exp-picture.cdn.bcebos.com/3931cb413a8ca60883ad644fdb8c9bcec6f8fe35.jpg)
![PowerDesigner使用:[1]Name首字母生成Code](https://exp-picture.cdn.bcebos.com/9a8fd9f88a775ddda5ee15f9a427e7ef2906f935.jpg)
3、在Name To Code标签页输入以下脚本即可.
.vbscript(%Name%)
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
![PowerDesigner使用:[1]Name首字母生成Code](https://exp-picture.cdn.bcebos.com/2947750192dd334083516134881c99c0aefcf135.jpg)
4、如果想更改原来的设置,勾上Apply Name To Code Conversion->To All Objects即可,这样就会把所有对象的Code根据Name首字母重新生成。效果如下
![PowerDesigner使用:[1]Name首字母生成Code](https://exp-picture.cdn.bcebos.com/aebdff86242fa872a9bd4e57bfdaf05e4b23e935.jpg)