• PowerDesigner之设置(3)——根据Name首字母生成Code


    SQL版本:2000

    PowerDesigner版本:16

    网上有不少介绍 PowerDesigner Name/Code自动调整 的文章,但基本如出一辙。

    这里,我就介绍下如何根据输入的Name根据首字母自动生成Code的方法,这也是在实际应用中最常用的。根据默认设置,Code内容与Name一致,假如输入中文Name名称,Code自动生成的也是中文的,这不是我们想要的,往往我们以中文首字母作为Code。

    下面就来介绍一下方法:

    1. 主菜单Tools->General Options->Dialog-> Name to Code mirroring,勾上(默认是勾上的)。
    2. 主菜单Tools->Model Options-> Naming Convention项(设置该项,会影响所有的子节点).勾选" Enable name/code conversions".

      然后在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
      脚本

      然后点击确定,设置完成。(如果想更改原来的设置,勾上Apply Name To Code Conversion->To All Objects即可,这样就会把所有对象的Code根据Name首字母重新生成。)

    下面赶紧新建一列试试效果吧。

  • 相关阅读:
    Java集合:HashMap底层实现和原理(源码解析)
    Java获取异常堆栈信息
    win7 64位系统 PB连接oracle数据库出现“oracle library oci.dll could not be loaded”问题的解决方法
    Oralce 使用递归方式获取BOM树显示结构
    Oracle 链接数据库语句
    根据数据窗口某列的值定位行
    pb中数据窗口filter函数和retrieve函数的区别和联系
    用代码保存共享文件夹登录名和密码
    PB 组合数据窗口子窗口数据赋值方法
    PB 导出PDF
  • 原文地址:https://www.cnblogs.com/liuke1987/p/3237977.html
Copyright © 2020-2023  润新知