zoukankan      html  css  js  c++  java
  • PowerBuilder9对中文字符串的处理方法

    PowerBuilder9对中文字符串的处理方法

    环境:PowerBuilder9.03

    由于PB9没有对Unicode的支持函数,处理汉字的字符串只能自己写函数处理。

    以下给len()定义函数of_len()处理带汉字字符串。代码如下:

    //////////////////////////////////////////////////////////////////////////////
    //
    // 函数: of_len
    //
    // 属性: public   
    //
    // 参数: string as_str
    //
    // 返回: integer
    //
    // 功能:
    // 返回字符串长度
    //
    //////////////////////////////////////////////////////////////////////////////

    //声明
    int    li_len
    int    li_p
    char   lc_char
    string ls_str

    //赋值
    ls_str= as_str
    li_p  = 1

    //处理
    do while len(ls_str)>= li_p
        lc_char= mid(ls_str,li_p,1)   
        if asc(lc_char) >127 then       
            li_p += 2     

        li_len+= 2
        else        
             li_p  += 1

         li_len+= 1
        end if   

    loop
    return li_len

    left()函数定义of_left()代替,代码如下: 

    //////////////////////////////////////////////////////////////////////////////
    //
    // 函数: of_left
    //
    // 属性: public   
    //
    // 参数: string  as_str
    //       integer ai_len
    //
    // 返回: string
    //
    // 功能:
    // 得到字符串左部指定个数的字符
    //
    //////////////////////////////////////////////////////////////////////////////


    //声明
    char l_ch
    int li_len
    string ls_str
    string ls_rtn

    //赋值
    li_len = of_len(as_str)
    if ai_len>= li_len then return as_str
    ls_str= as_str
    li_len= 1

    //处理
    do while li_len <= ai_len and len(ls_str)>=li_len
        l_ch = mid(ls_str,li_len,1)   
        if asc(l_ch) >127 then
            ls_rtn = ls_rtn + mid(ls_str,li_len,2)   
            li_len+= 2
            ai_len+= 1
        else
            ls_rtn = ls_rtn + mid(ls_str,li_len,1)   
            li_len +=1
        end if   
    loop
    return ls_rtn

  • 相关阅读:
    ubuntu11.04更改默认JDK
    10个实用的jQuery交互/通信插件和教程
    jquery 使用方法
    在没有安装 ASP.NET MVC3 的服务器上运行 MVC3
    固定 vs. 流动 vs. 弹性:哪种布局更适合你?[SM]
    提升设计品质的8种布局方案[SM]
    Ubuntu 手动安装JDK
    十个简单好用的设计技巧[SM]
    jQuery VSDoc下载地址
    Ubuntu 配置Apache+PHP+MySQL
  • 原文地址:https://www.cnblogs.com/PBDragon/p/1685604.html
Copyright © 2011-2022 走看看