如何在任何形式的按钮的帮助下打开文本文件?

时间:2012-12-19 05:53:26

标签: axapta dynamics-ax-2012 ax

我有一个文本文件(记事本)放在AX 2012 AOT的资源节点下。现在,我的任务是在任何形式的按钮的帮助下打开这个文件。

http://msdn.microsoft.com/en-us/library/cc967403.aspx

在创建用于书写或阅读的临时文件时,上述链接很有用。 另外,AX 2012中有一个名为“smmDocuments”的表单,我们可以在其中放置我们使用的文本文件,我们可以从那里轻松打开该文件。我研究过并发现AX 2012中有一个名为“DocuAction”的类来执行文本文件操作。 但是我无法理解那件事是如何运作的。

/////////////////// 我把它当作:

void clicked()
{
    //super();
   str sTempPath,
        sFileName = "notes.txt";
    SysResource::saveToTempFile(SysResource::getResourceNode(resourceStr(flow_for_address_book_txt)), false, "notes.txt");
    sTempPath = WinAPI::getTempPath();
    WinAPI::shellExecute(sTempPath+sFileName);
}

感谢Jan B.

1 个答案:

答案 0 :(得分:1)

您没有描述要对文件执行的操作。

假设您要使用默认程序向用户显示该文件,请执行以下操作:

void clicked()
{
    SysResource::saveToTempFile(SysResource::getResourceNode(resourceStr(MyImage), false, "notes.txt");
    WinAPI::shellExecute("notes.txt");
}

使用临时文件而不是硬编码名称。

您还可以在表单控件中显示文本:

void clicked()
{
    container con = SysResource::getResourceNodeData(SysResource::getResourceNode(resourceStr(MyImage), false, "notes.txt");
    infoStringControl.text(conpeek(con,1)); //Not sure how to use the container!
}