2012-12-19 67 views
1

我有一個文本文件(記事本)放在AX 2012 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); 
} 

感謝揚B.

回答

1

你沒有描述什麼您想要在文件上執行的操作。

假定您要使用默認的程序,以顯示該文件到您的用戶,然後執行:

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

,而不是使用硬編碼名稱的臨時文件。爲回答這樣Quikly

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! 
} 
+0

嘿,感謝:

您還可以顯示在窗體控件中的文本。目前我不想使用代碼執行任何操作。我只想打開一個文件。所以,用戶可以查看它。我已經完成了上述代碼。資源的名稱是「flow_for_address_book_txt」,文件名是「addressbook.txt的流程」。當我點擊按鈕時,它說「窗口無法找到文件flow_for_address_book_txt.txt請確保您輸入的名稱正確,然後再試一次」@jan –

+0

答覆已更新。如果總是一個文本文件,我會去表單控件選項。 –

+0

@ Jan ..偉大的東西..但是,我仍然沒有得到正在使用上面的代碼臨時創建的文本文件。臨時文件正在「C:\ Users \ mohdsaddaf.uzzamankh \ AppData \ Local \ Temp」下創建。而WiNAPi正試圖在「C:\ Windows \ System32」下查找文件。你能告訴我,如何改變路徑來獲得臨時文件... –

相關問題