そのため、値を読み取って取得したい要約ファイルがいくつかあります。
私は次のことをしています:
OutputSummary := TStringList.Create;
for idx := 0 to 82 do
OutputSummary.Insert(idx, '');
使用している値を初期化する
次に、ループがあります:
for idx := 0 to SummaryFiles.Count - 1 do
begin
AssignFile(finp, SummaryFiles[idx]);
ReSet(finp);
for ndx := 0 to 5 do
ReadLn(finp, buff);
for ndx := 0 to 82 do
begin
ReadLn(finp, buff);
temp := GetToken(buff, ' ');
buff := GetRemains(buff, '|');
temp := GetToken(buff, '|');
valuestring := OutputSummary[ndx] + delimiter + temp;
OutputSummary.Insert(ndx, valuestring);
end;
CloseFile(finp);
end;
最初の 0 から 5 のループは読みたくない行をスキップし、0 から 82 は次のような行を読み取ります。
1. Initial Wait List|1770
そこで、プログラムをデバッグして、2 つの SummaryFiles だけでどのように動作するかを確認しました。
初めて、それは完全に機能します。行が正しく読み取られ、値が取得され、値文字列を挿入すると、",1770" のように表示されます (たとえば)。また、挿入コマンドの後に OutputSummary[ndx] を強調表示して、値が正しく挿入されたことを確認することもできます。
次に、2 番目のファイルを開きます。これも次の行まで正常に動作します。
valuestring := OutputSummary[ndx] + delimiter + temp;
初めて、OutputSummary[0] は正しく、正しい行が追加されます。
ただし、OutputSummary[1] ~ OutputSummary[82] は OutputSummary[0] と同じです。これらの値を最初に追加したときに、OutputSummary[1] から 82 までが一意で正しいことがわかったので、これは意味がありません。
誰でも問題を確認できますか? デバッガのエラーですか?見えない明らかなものが欠けているだけですか?
ありがとう