2011-07-26 25 views
1

我是一位具有一定編程技能的機械工程師,我需要一些來自程序設計人員的建議。我正在編寫一個優化平臺,該平臺將涉及(至少在開始時)一個商業優化工具,一個商業設計程序和一個用C++編寫的程序。該平臺應該準備優化工具的案例,它將以正確的順序運行所有必要的程序。這部分從我的平臺設置優化工具不是問題,因爲我有一些培訓,他們有非常好的指示。與這個商業設計程序的溝通也很容易,因爲它使用了OLE接口並有大量的例子。 我有一個很大的問題是爲我的程序提供很大的靈活性。計算主要基於經驗相關性,我不想將它們放在代碼中。我需要把它們拿出來,以便在新數據和新相關情況下提供方便的訪問。我不只是在寫一些係數的改變,而是在改變整個方程。例如:假設某事用等式X = A * Y^3 + B * Y^2 + C * Y + D來描述。 ABCD是係數,Y是從程序中的對象取得的值,X當然是解決方案。但是可以有另一種關聯,它可以考慮來自程序對象的另一個值。 X = A * Y^2 + B * Z^2 + Y/Z。所以我需要一種方法從我的代碼中取出所有相關性,將它們放在分隔符文件中,並能夠創建新的相關性,以便他們可以訪問我的代碼中的對象屬性。 我正在考慮使用Python宏(因爲在這個商業設計程序中,它工作的很好,正如我所描述的那樣),但是我越是關心這個,我越不知道它是否會工作。我正在編寫Windows窗體應用程序,並使用VS 2010.第一個問題是,這是不受管理的,整個程序都被管理。 所以我用這樣的事情:C++中的Python接口Windows窗體應用程序

#pragma unmanaged 
#ifdef _DEBUG 
#undef _DEBUG 
#include <python.h> 
#define _DEBUG 
#endif 
#pragma managed 

至少程序編譯,但我有從Pyton鑄造非託管類型的變量在C++託管問題。

所以我的第一個問題:

  1. 是否可以使用Python作爲寫在VS Windows窗體應用程序的宏腳本工具?

  2. 我從哪裏可以得到關於此的更多信息?我閱讀了Python文檔以及網絡中的一些教程,但都在Win32控制檯應用程序中。

  3. 也許我應該嘗試使用提升?它會幫助我嗎?

  4. 有沒有一些簡單的方法來做到這一點? (如果有人會向我展示一個帶有一個按鈕,一個文本框和一個具有兩個屬性A和B以及Python中的宏(在單獨文件中)的簡單表單應用程序,它將向此文本框返回X = A + B * 2將是我的英雄:)

  5. 如果回答前四個問題是否定的請求,至少給我一些提示,我可以如何以其他方式做到這一點。 謝謝!

回答

0
  1. 示例中的應用類型應該不是真正的問題。在大多數情況下,Python綁定和支持代碼將是相同的,它只會在你想要評估的python代碼的源代碼方面有所不同(即配置文件或應用程序內的文本框)。
  2. Boost有一個python模塊,它支持寫入對象,然後在Python中「自動」可用。它不如手寫的那樣強大,但它應該足以滿足你需要做的事情。這可能是一個很好的開始,請參閱:http://www.boost.org/doc/libs/1_47_0/libs/python/doc/tutorial/doc/html/index.html
相關問題