0

CrystalXIを使用する

2つの配列があります。1つは時点のリストをキャプチャし、もう1つはそれらに関連付けられた時間をキャプチャします。

出力が次のようになるように、2つを関連付ける必要があります

timepoint[1] - time [1]  - timepoint[2] - timepoint[2]; 

timepoint[3] - time[3]  -  timepoint[4] - timepoint[4];

したがって、次のコードを記述します。配列はヘッダーで初期化され、詳細セクションにデータが読み込まれ、グループフッターに表示されます(3つの数式のトリック)。2つの配列のデータを別々に表示できますOK

(as timepoint[1], timepoint[2], etc)

この問題は、2つを組み合わせようとしたときにのみ発生します。以下のコードは、すべてのレコードではなく、gorupの配列の最後の2つのレコードのみを出力します。したがって、5つの時点と5倍の場合、以下のコードが表示されます

タイムポイント[4]-タイム[4]-タイムポイント[5]-タイム[5]

最終的には、関連付けられた2つの日時の間で計算を実行する必要がありますが、今のところは、関連付けと表示を機能させることを試みています。

Shared stringVar array Timepoints;
Shared DateTimeVar array Times;
local stringVar combineStr;
local numbervar i;

For i:=1 to UBound(Times)-2 do   
(combineStr := Timepoints[i] + ','+ totext(Times[i]) + '-' + 
Timepoints[i+1] + totext(Times[i+1]) + ',');
 combineStr;

これを見てくれてありがとう

4

1 に答える 1

1

反復ごとに、combineStr変数の以前の値を上書きしています。これを行う必要があります:

.
.
.
For i:=1 to UBound(Times)-2 do   
(combineStr := combineStr + Timepoints[i] + ','+ totext(Times[i]) + '-' + 
Timepoints[i+1] + totext(Times[i+1]) + ',');

combineStr;

その他のいくつかのこと:1。質問の例のように表示するには、反復間のコンマではなく、改行文字chr(10)を連結する必要があります。2. forループに「ステップ2」を追加する必要があります。そうしないと、タイムポイントが2回出力されます。

于 2012-08-14T15:50:26.167 に答える