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

编程|解决|问题

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

时间: 2025-01-01 14:50:02

PowerDesign9.5+ 中的GTL编程 解决大问题的相关文章

socket-Java中的Socket编程关于多次输入输出的问题,希望给出解决方法

问题描述 Java中的Socket编程关于多次输入输出的问题,希望给出解决方法 实现了多线程,这是服务端的代码:需求是接受客户端发送的数字,根据数字选择相应的case,当是1的时候要向服务端发送一个user的对象,ObjectInputStream ois=new ObjectInputStream(s.getInputStream());这句话的异常是java.io.EOFException at java.io.ObjectInputStream$PeekInputStream.readFu

Weblogic Portal中实现AJAX编程之架构

ajax|web|编程|架构 摘要 门户应用程序非常适用于从多个源提取信息以及为包含门户Web应用程序的portlet提供应用服务.对于用户,portlet应用程序是独立的实体,类似于桌面上的窗口应用程序.如果在一个窗口应用程序中执行一项操作会导致其他所有应用程序中的内容被刷新,那又会怎么样呢?这就是当前大多数门户的情况.在一个portlet中通过页面流进行转移会导致整个Web页面被刷新,包括该页面上的其他所有portlet. 为了避免出现这种有时不希望有的行为,Web开发人员采用了所谓Ajax

编程解决聊天室刷新问题(来源:赛迪网—中国计算机报)

编程|解决|聊天室|刷新|问题 编程解决聊天室刷新问题 编写聊天室程序时,通常,我们有两种把服务器数据传到浏览器的方式.一种是在服务器端有信息后,把信息推到客户端,这种方式使服务器的负载比较重:另一种就是在客户端用refresh命令进行刷新,大多数的聊天室都采用这种方式,这就使得我们在浏览器上看到屏幕在不断地刷新,非常影响浏览,在网速慢的时候这种情况更为严重. 有没有好的办法能够解决这个问题呢?答案是肯定的.下面笔者就给大家介绍一种用javascript来解决这种问题的方法.本方法虽然不是最好,

在BEA WEBLOGIC PORTAL中进行AJAX编程 第1部分

摘要 门户应用程序非常适用于从多个源提取信息以及为包含门户Web应用程序的portlet提供应用服务.对于用户,portlet应用程序是独立的实体,类似于桌面上的窗口应用程序.如果在一个窗口应用程序中执行一项操作会导致其他所有应用程序中的内容被刷新,那又会怎么样呢?这就是当前大多数门户的情况.在一个portlet中通过页面流进行转移会导致整个Web页面被刷新,包括该页面上的其他所有portlet. 为了避免出现这种有时不希望有的行为,Web开发人员采用了所谓Ajax-风格的编程方法.Ajax即异

Fn.py:享受Python中的函数式编程

尽管Python事实上并不是一门纯函数式编程语言,但它本身是一门多范型语言,并给了你足够的自由利用函数式编程的 便利.函数式风格有着各种理论与实际上的好处(你可以在Python的文档中找到这个列表): 形式上可证 模块性 组合性 易于调试及测试 虽然这份列表已经描述得够清楚了,但我还是很喜欢Michael O.Church在他的文章"函数式程序极少腐坏(Functional programs rarely rot)"中对函数式编程的优点所作的描述.我在PyCon UA 2012期间的讲

java-Java中关于方法编程的问题

问题描述 Java中关于方法编程的问题 题目如下:编写一个方法,计算一个整数各位数字之和:public static int sumDigits(long n)例如: sumDigits(234)返回9:我自己编写了一段代码如下:package myownJava;import java.util.Scanner;public class SumDigits { public static void main(String[] args){ System.out.print(""Ent

【原创】Matlab与.NET混合编程解决人脸识别问题

              本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新    Matlab和C#混合编程文章目录 :[目录]Matlab和C#混合编程文章目录 如果这些文章对你有用,有帮助,期待更多开源组件介绍,请不要吝啬手中的鼠标.  [原创分享]Matlab.NET混编调用Figure窗体 http://www.cnblogs.com/asxinyu/archive/2013/04/14/3020813.html   [原创]Matlab与.NET基于类型安全的接口编程

c语言-M只猴子选大王的另一种问法,怎样用C语言编程解决啊,急求

问题描述 M只猴子选大王的另一种问法,怎样用C语言编程解决啊,急求 M只猴子选大王,选举办法如下:所有猴子按1...M编号围坐一圈,从第1号开始按顺序1,2...N报数,报到N的猴子退出到圈外,再从下一个猴子开始继续1,2...N报数,报到N的猴子退出圈外,如此循环,直至圈内只剩下一只猴子时就说大王,给定M和最后出圈的者的编号S,求最小的N 解决方案 约瑟夫环问题 解决方案二: 来自百度: #include #include #define n 19 #define m 4 typedef st

Matlab与.NET混合编程解决人脸识别问题

原文:[原创]Matlab与.NET混合编程解决人脸识别问题 如果这些文章对你有用,有帮助,期待更多开源组件介绍,请不要吝啬手中的鼠标.  [原创分享]Matlab.NET混编调用Figure窗体 http://www.cnblogs.com/asxinyu/archive/2013/04/14/3020813.html   [原创]Matlab与.NET基于类型安全的接口编程入门 http://www.cnblogs.com/asxinyu/archive/2013/05/16/3082299