备注字段中的输出

时间:2014-09-14 10:50:08

标签: formatting c++builder tmemo

void __fastcall TForm1::Step(int _Sum, int _Num, int _Val)
{
    if (_Sum <= 0 || _Num <= 0 || _Sum < _Val) return;
    if (_Num == 1)
    {
        data[theK - 1] = _Sum;
        Memo1->Lines->Add("{");
        for (int i = 0; i < theK; ++i)
            Memo1->Lines->Add(data[i]);
        sc++;
        Memo1->Lines->Add("}");
        Memo1->Lines->Add("\n");
        Label4->Caption = sc;
        return;
    }
    for (int i = _Val; i < _Sum; ++i)
    {
        data[theK - _Num] = i;
        Step(_Sum - i, _Num - 1, i);
    }
}

我有这样的输出:

  

1
2
3
4
<5 > 9
10
  11
12

但我需要输出:

  

1,2,3,4
5,6,7,8
9,10,11,12

如何在C ++ Builder中完成?我有Memo1或ListBox。我需要格式化输出。

1 个答案:

答案 0 :(得分:1)

我通常为每行输出构建一个UnicodeString,如下所示:

UnicodeString Str;
for (int I =0; I<5;i++)
{
  Str += IntToStr(I)+","
};
Str.SetLength(Str.Length -1);  // trim off last comma
Memo1->Add(Str);