其實一直很想完成狀態機的自動排版的,不過想想還是先放代碼出來之后再慢慢解決這個問題好了。對于一個Demo來說狀態機的自動排版功能顯然是不必要的。
代碼在
這里下載。
文件結構:
<根目錄>
<Demo>
<RegexDebugger>:Visual C++ 2008 Solution及Regex Debugger的代碼
<Library>
<Data>:少量其他代碼
<Data>:字符串以及容器
<Grammar2>:正則表達式引擎代碼
<Windows>:GUI Framework代碼(preview版,別指望寫了的都能用)
Library里面的Vczh Library++是被剝離的,只有Regex Debugger需要的部分。在正確安裝Visual Studio 2008的電腦上可以編譯。Visual C++ Express 2008沒有試過,Visual Studio 2005如果你會改*.sln和*.vcproj的話可以,更低版本無法編譯代碼。程序僅在Windows Vista底下跑過,XP不知道有沒有啥事情,不過一般不會有。
正則表達式語法請見Library\Data\Grammar2\VL_RegExp.h的單元注釋,如果以前不懂正則表達式的話建議先學一學(正則表達式的語法本身沒多少功能,都看了)然后再看這個注釋。
程序界面部分結構如下:
class RegForm : public VL_WinForm
{
void InitControls()
{
/*創建控件*/
}
public:
RegForm():VL_WinForm(true)
{
SetText(WindowTitle);
InitControls();
MoveCenter();
}
};
void main()
{
/*創建窗口*/
(new RegForm())->ShowMaximized();
/*啟動程序*/
GetApplication()->Run();
}
posted on 2008-08-25 04:17
陳梓瀚(vczh) 閱讀(20299)
評論(18) 編輯 收藏 引用 所屬分類:
作品