最近寫了個控制台程序,這個程序功能很簡單,就是從資料庫中將(指定表名,指定表中字段名)數據導出到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.cnblogs.com/blueskybcl/archive/2010/04/24/1719171.html