1

私のドキュメントには、3 つの Text-List フィールドがあります。最初の Text-List を昇順で並べ替えることができます。しかし、Text-List 2 と 3 を Text-List 1 の最終的な並べ替えに従うようにするにはどうすればよいでしょうか? 次のようなもの:

ソート前:

テキストリスト 1 (C、A、D、B)、テキストリスト 2 (W、X、Y、Z)、テキストリスト 3 (L、I、S、T)

ソート後(次のようにしたい):

テキストリスト 1 (A、B、C、D)、テキストリスト 2 (X、Z、W、Y)、テキストリスト 3 (I、T、L、S)

これを達成する方法はありますか?各 Text-List を配列に入れようとしましたが、一時変数でインデックスを追跡し、インデックスを使用して Text-リスト 2 と 3 の要素をそれぞれの 2 番目の一時配列に転送します。

4

3 に答える 3

4

あなたが持っていると仮定して

  • ドキュメント List1、List2、および List3 の 3 つのフィールド
  • それらはすべて同じ量のリスト要素を持っています
  • 64K より大きくなることはありません

次に、Evaluate を使用して、リストを連結し、並べ替えてフィールドに書き戻すことができます。

vResult = Evaluate(|
    _Delimiter := "#";
    _ListAll := @Sort(List1 + _Delimiter + List2 + _Delimiter + List3);
    FIELD List1 := @Word(_ListAll; _Delimiter; 1);
    FIELD List2 := @Word(_ListAll; _Delimiter; 2);
    FIELD List3 := @Word(_ListAll; _Delimiter; 3);
    ""|, doc)

リストに表示されない区切り文字を選択してください。

于 2013-09-17T05:59:44.923 に答える