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