【问题标题】:Copy character values from character array variable to character (string) variable将字符值从字符数组变量复制到字符(字符串)变量
【发布时间】:2012-03-28 06:57:30
【问题描述】:

这是我的问题

define varibale MyArray as character extent 40 no-undo.
define variable Mychara as character           no-undo.

Mychara = "hai this is checking how to copy values"

现在我想将此字符串复制到我的“MyArray”。所以应该是这样的

MyArray[1]=h ,MyArray[2]=a ,M​​yArray[3]=i ,MyArray[4]="" ,MyArray[5]=t ,MyArray[6]=h 等等……

那么怎么做呢?

【问题讨论】:

    标签: progress-4gl openedge


    【解决方案1】:

    鉴于您的代码示例,这应该可以解决问题:

    define variable MyArr as character EXTENT 40 no-undo.
    define variable Mychara as character           no-undo.
    
    Mychara = "hai this is checking how to copy values".
    
    DEF VAR i AS INT NO-UNDO.
    
    DO i = 1 TO 40:
        MyArr[i] = SUBSTRING(MyChara,i,1).
    END.
    

    但需要注意的是:这意味着您必须事先知道 String 的(最大)大小,才能适当地定义数组大小。

    【讨论】:

      【解决方案2】:

      一点点动​​态;)

      define variable MyArr   as character EXTENT no-undo.
      define variable Mychara as character no-undo.
      DEF    VAR      i       AS INT       NO-UNDO.
      
      Mychara = "hai this is checking how to copy values".
      
      EXTENT (MyArr) = LENGTH (Mychara).
      
      DO i = 1 TO EXTENT (MyArr):
        MyArr[i] = SUBSTRING(MyChara,i,1).
      END.
      

      【讨论】:

        【解决方案3】:
        define var l_mychara as integer no-undo.
        define variable MyArray as character format "x(5)" extent 40 no-undo.
             define variable Mychara as character format "x(5)" no-undo.
        def var i as int init 1.
        
        Mychara = "hai this is checking how to copy values".
            assign l_mychara = length(Mychara).
        
        do while i <= l_mychara.
            assign myarray[i] =   substring(mychara,i,1).
            if myarray[i] = "" then assign myarray[i] = "blank".
            i = i + 1.
           end.
        
        disp Myarray .
        

        【讨论】:

        • 欢迎来到 Stack Overflow。请在您的代码中添加一些解释,否则,一个非常简洁的答案'
        猜你喜欢
        • 2020-09-20
        • 1970-01-01
        • 1970-01-01
        • 2017-09-27
        • 1970-01-01
        • 1970-01-01
        • 2019-02-08
        • 1970-01-01
        • 2015-03-08
        相关资源
        最近更新 更多