该系统演示了怎样用VSL从数组读取字符串,它是习题4的逆过程。
- 开始,创建一个数组,进入"Array Setup"面板对它进行编辑。
根据你的喜欢穿件一些列(Column),并创建几行。
现在再在每个单元格中填充一些文本。 - 你的数组可能会像下面这个样子:
- 在层级(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/.。