在Dynamics AX中编写文本文件

时间:2011-09-07 11:02:44

标签: axapta x++

我有一组值写入文本文件。

假设我有一个大小为10的字段值,但字段大小固定为20,所以当下一个字段到来时,它应该插入位置21,用空格填充第一个字段的剩余10个空格。 / p>

任何人都可以告诉我这是怎么做到的吗?

2 个答案:

答案 0 :(得分:2)

函数strLfix将是最可能的解决方案。类似的函数strRfix将文本右对齐到指定的长度。

还记得将输出字段分隔符设置为空字符串。一个空格的默认值与此无关。

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
}

作业打开文件进行写入(截断现有文件或创建新文件),设置字段和记录分隔符,然后将同一行写入两次(使用两个不同的调用)。对write的最后一次调用附加了记录分隔符,取决于接收者,这可能重要也可能不重要。

答案 1 :(得分:0)

您可以使用strrepsubstrstrpoke,请在\Classes\VendOutPaymRecord_UK_BACS\output中找到示例。