私は、テキストファイルに書き込む値のセットを持っています。ダイナミクスにテキストファイルを書くAX
フィールドのサイズが10ですが、フィールドのサイズが20に固定されていると仮定して、次のフィールドが来たら、21の位置に挿入して最初のフィールドの残りの10スペースを空白で埋めます。
誰でも私にこれがどのように行われたか教えていただけますか?
私は、テキストファイルに書き込む値のセットを持っています。ダイナミクスにテキストファイルを書くAX
フィールドのサイズが10ですが、フィールドのサイズが20に固定されていると仮定して、次のフィールドが来たら、21の位置に挿入して最初のフィールドの残りの10スペースを空白で埋めます。
誰でも私にこれがどのように行われたか教えていただけますか?
機能strLfix
は、最も可能性が高い修正プログラムです。同様の機能が指定された長さにテキストを整列させます。
出力フィールドの区切り文字を空の文字列に設定することも忘れないでください。 1つの空白スペースのデフォルトはここでは関係ありません。
static void TextIoTest(Args _args)
{
TextIo f = new TextIo(@"C:\Temp\test.txt", 'w');
;
f.outFieldDelimiter('');
f.outRecordDelimiter('\r\n');
f.write( strLfix("abc",20), '|', strRfix("xyz",15), '|', 117);
f.writeExp([strLfix("abc",20), '|', strRfix("xyz",15), '|', 117]);
f.write(); // To force CR NL
}
ジョブが書き込みのためにファイルを開きます(既存のファイルを切り捨てるか、新しいファイルを作成します)、フィールドを設定し、レコード区切り文字は、その後、(二つの異なる呼び出しを使用)を2回、同じ行を書き込みます。 write
への最後の呼び出しでレコード区切り文字が追加されますが、これは受信者によっては重要である場合とそうでない場合があります。
strrep
,substr
およびstrpoke
を使用すると、\Classes\VendOutPaymRecord_UK_BACS\output
の例をご覧ください。
これは私に多くの助けになります...ありがとう月 –