最近寫了個控制臺程序,這個程序功能很簡單,就是從數據庫中將(指定表名,指定表中字段名)數據導出到Word文件中,程序寫完了,在測試的時候發現當用戶在導出一個數據庫表后,如果還想導出另一張表中的數據,就要重新運行一遍程序,這樣顯然不好。但是如果在程序中用循環或用goto語句實現的話,控制臺里的文字太多,不好看。所以最后想到能不能當我們導完一個數據庫表后,讓控制臺自動清屏,進行下一個數據庫表的導出操作。然后就上網上搜了好長時間,沒找到一個滿意的答案,網上的“清屏”辦法是輸出n個回車,我覺得這根本就不是清屏。忽然想到了用C++寫一個清屏的DLL,結果還算滿意。下面我們一步一步的來實現C#語言在控制臺中清屏:
(1)打開VS2005,新建一個C++類庫項目,叫CLS;
(2)打開CLS.h文件,將類名重命名為"CLS";
(3)打開CLS.cpp文件,在里面引入“windows.h”文件;
// 這是主 DLL 文件。
#include "stdafx.h"
#include "windows.h"
#include "CLS.h"
(4)在CLS類中添加一個個靜態方法(訪問屬性為public)
public ref class CLS
{
public :
static void cls()
{
system("cls");
}
};
(5)最后編譯整個工程,將CLS/debug/文件夾下的CLS.dll引入到C#項目工程中;
(6)在需要清屏的地方,調用CLS.cls()即可實現。也可以實現暫停(pause)等功能,方法同上。
這樣為什么可以呢?只要學過.Net FrameWork都應該很明白,因為不管是C++,C,VB還是C#語言,最終都會生成IL(Intermediate Language(中間語言))語言,所以不管用上面哪一種語言寫的程序都可以互用的。
如果上面哪兒寫的不對,請多多指教!剛開始寫博客,肯定有很多地方需要學習
http://www.survivalescaperooms.com/blueskybcl/archive/2010/04/24/1719171.html
新聞熱點
疑難解答