且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

通过实例学习Virtools脚本语言VSL - 从数组读取字符串

更新时间:2021-12-01 04:58:13

该系统演示了怎样用VSL从数组读取字符串,它是习题4的逆过程。

  1. 开始,创建一个数组,进入"Array Setup"面板对它进行编辑。
    根据你的喜欢穿件一些列(Column),并创建几行。
    现在再在每个单元格中填充一些文本。
  2. 你的数组可能会像下面这个样子:

    通过实例学习Virtools脚本语言VSL - 从数组读取字符串
  3. 在层级(Level)下创建一个脚本,并添加一个Run VSL BB。在VSL Script Manager工作区中,为该BB添加一个名为的"myarray"的pIn参数,类型为"Array"。编辑该参数,并将它设置给你的数组。
    void main()
    {
    // Array where we will put the strings that will be read.
    ArrayString arrayString;

    // String as temporary buffer.
    String tmp;

    // Loop to read each array's cell.
    for (int c = 0; c < myarray.GetColumnCount(); ++c) {
    for (int r = 0; r < myarray.GetRowCount(); ++r) {

    // First we get the size of the string at pos (r, c)
    // (zero included)

    int lengthToRead = myarray.GetElementStringValue(r, c, null);

    // Then we resize the string before reading the array.
    tmp.Resize(lengthToRead-1);

    // At last, we can read the string.
    // Note that 3rd parameter of GetElementStringValue is a str
    // and not an String.

    myarray.GetElementStringValue(r, c, tmp.Str());

    // We keep the read string in our array.
    arrayString.PushBack(tmp);
    }
    }

    // We can do what we want with these strings.
    int stringNb = arrayString.Size();
    for (int i = 0; i < stringNb; ++i) {
    bc.OutputToConsole(arrayString[i].Str());
    }
    }


现在可以去看看Virtools Minisite 中提供更多的VSL技术性样例,位置在Dev的文档文件夹下 /CMOS/TechnicalSamples/VSL/Samples/.。