Time of Update: 2017-02-27
大型作業答辯:C/S考試系統程式製作詳解一、伺服器程式採用了WinSocket32的完成連接埠模型(I/O completion ports)WIN32多線程技術ODBC APIS 進行資料庫操作二、用戶端程式用Win32 API函數構造主表單和介面元素,如圖一所示:圖一 程式組織圖伺服器程式詳解一、完全連接埠模型(I/O completion
Time of Update: 2017-02-27
前一陣在工作中做項目的時候,遇到了COM組件的調用和使用問題,當時研究和好一陣,才把中間的環節打通,現在寫出來為大家提供方便,這裡包含了四個類型:1、在VS2005中,C#編寫DLL並使用C++調用2、在VS2005中C#編寫的COM組件,使用VC6.0調用3、在VC6.0中編寫COM組件,使用VS2005 C#調用4、在VC6.0中編寫COM組件,使用VC6.0調用其中每個類型都寫了兩個程式,一個為COM組件程式,一個為調用程式程式實現:1、在VS2005中,C#編寫DLL並使用C++調用(1
Time of Update: 2017-02-27
經常在論壇上見到一些使用者詢問如何在Visual C++中如何?對剪貼簿的操作,其實在VC++/MFC中是相當簡單的。本文主要介紹了如下內容:1、常值內容的操作2、WMF資料的操作3、位元影像的操作4、設定使用自訂格式5、感知剪貼簿內容的改變6、自動將資料粘貼到另一應用程式視窗一、常值內容的操作下面的代碼示範了如何將常值內容複製到剪貼簿:Cstring source;//常值內容儲存在source變數中if(openClipboard()){HGLOBAL clipbuffer;char *
Time of Update: 2017-02-27
如何在C++Builder中使用Compress Html Help (.chm檔案):微軟提供的HTML HELP Workshop中包含了htmlhelp.h和htmlhelp.lib,用於在程式中使用Compressed Html Help。但其中htmlhelp.lib不能直接在BCB中使用。在BCB中的使用方法如下:implib hhctrl.lib hhctrl.ocx:建立HtmlHelp的庫檔案。在程式中include
Time of Update: 2017-02-27
第6章主要講述了執行期語意學,主要內容是關於數組的在構建和析構是如何進行的。第7章主要講述了有關Template的相關內容。這兩章內容散見於《Effective C++》、《More Effective C++》、《C++Primer》《C++Templates中
Time of Update: 2017-02-27
***Template的“具現”行為***template class中的任何member都只能通過template class的某個實體來存取或操作。Point<float>::Status s; // okPoint::Status s; // error如果我們定義一個指標,指向特定的實體,像這樣:Point<float> *ptr = 0;由於這是一個指向class object的指標,本身並不是一個class
Time of Update: 2017-02-27
***對象的構造和解構***一般而言,我們會把object儘可能放置在使用它的那個程式區段附近,這樣做可以節省不必要的對象 產生操作和銷毀操作。***全域對象***全域對象的靜態初始化策略包括以下幾個步驟:(1)為每一個需要靜態初始化的對象產生一個_sti_……()函數,內含必要的 constructor叫用作業或inline expansions;(2)為每一個需要靜態記憶體釋放操作的對象產生一個_std_……()函數,內含必要
Time of Update: 2017-02-27
***非靜態成員函數(Nonstatic Member Functions)***C++的設計準則之一就是: nonstatic member function至少必須和一般的nonmember function有相同的效率。也就是說,如果我們 要在以下兩個函數之間作選擇:float magnitude3d(const Point3d *this) { ... }float Point3d::magnitude3d() const { ... }那麼選擇member function不應該帶來
Time of Update: 2017-02-27
在visual C++ 6.0中測試如下代碼:#include "iostream"using namespace std;class X {};class Y : public virtual X {};class Z : public virtual X {};class A : public Y,public Z {};int main(){ cout<<"sizeof(X):
Time of Update: 2017-02-27
default constructor僅在編譯器需要它時,才會被合成出來。通常來說,由編譯器合成出來的default constructor是沒啥用的(trivial),但有以下幾種例外:(1)帶有“Default Constructor”的Member Class Object如果一個class沒有任何 constructor,但它內含一個member object,而後者有default constructor,那麼編譯器會在
Time of Update: 2017-02-27
在工業生產控制系統中,有許多需要定時完成的操作,如:定時顯示目前時間,定時重新整理螢幕上的進度條,上位機定時向下位機發送命令和傳送資料等。特別是在對控制效能要求較高的控制系統和資料擷取系統中,就更需要精確定時操作。眾所周知,Windows是基於訊息機制的系統,任何事件的執行都是通過發送和接收訊息來完成的。這樣就帶來了一些問題,如一旦電腦的CPU被某個進程佔用,或系統資源緊張時,發送到訊息佇列中的訊息就暫時被掛起,得不到即時處理。因此,不能簡單地通過Windows訊息引發一個對定時要求嚴格的事件。
Time of Update: 2017-02-27
在C++中,有兩種class data members:static和nonstatic,以及三種class member functions: static、nonstatic和virtual.已知下面這個class Point聲明:class Point ...{public:Point(float xval);virtual ~Point();float x() const;static int PointCount();protected:virtual ostream&
Time of Update: 2017-02-27
還在Dos時代,人們就在尋求一種多任務的實現。於是出現了TSR類型的後台駐留程式,比較有代表性的有Side Kick、Vsafe等優秀的TSR程式,這類程式的出現和應用確實給使用者使用電腦帶來了極大的方便,比如Side
Time of Update: 2017-02-27
雖然說C++ Builder 3.0是Borland C++ 5.02 的下一個版本,一樣支援MFC ,但若要在C++ Builder 3.0 下使用 MFC 並不簡單。不是直接寫個 MFC nativeCode 並在 Project Option 中再勾選個MFC Compatibility這麽簡單,若你只這樣做,保證你在編譯時間一定會得到一堆的Warnning與Error。要讓你與BCB都能夠輕鬆的編譯MFC ,我們所必需的就是自己動點手腳,並將這個動過手腳的Project
Time of Update: 2017-02-27
JAVA以其跨平台的特性深受人們喜愛,而又正由於它的跨平台的目的,使得它和本地機器的各種內部聯絡變得很少,約束了它的功能。解決JAVA對本地操作的一種方法就是JNI。JAVA通過JNI調用本地方法,而本地方法是以庫檔案的形式存放的(在WINDOWS平台上是DLL檔案形式,在UNIX機器上是SO檔案形式)。通過調用本地的庫檔案的內部方法,使JAVA可以實現和本地機器的緊密聯絡,調用系統級的各介面方法。簡單介紹及應用如下:一、JAVA中所需要做的工作在JAVA程式中,首先需要在類中聲明所調用的庫名稱
Time of Update: 2017-02-27
1、引言在“C++中例外的處理”一文中(見電腦世界網2001年12月20日),我們討論了C++中的例外(或異常)處理。本文將進一步探討Visual C++中的結構異常處理。想象一下,如果在編程過程中你不需要考慮任何錯誤,你的程式永遠不會出錯,有足夠的記憶體,你需要的檔案永遠存在,這將是一件多麼愉快的事。這時你的程式不需要太多的if語句轉來轉去,非常容易寫,容易讀,也容易理解。如果你認為這樣的編程環境是一種夢想,那麼你就會喜歡結構異常處理(structu reed
Time of Update: 2017-02-27
一、隱藏和顯示光線標函數: int ShowCursor ( BOOL bShow );參數 bshow,為布爾型,bShow的值為False時隱藏游標,為True時顯示光線標;該函數的傳回值為整型,為滑鼠隱藏或顯示的指數器;傳回值大於等於0時顯示光線標,否則隱藏滑鼠;如果安裝了滑鼠初值為0。執行個體:在基於對話方塊的應用程式中放置兩個Button,名稱分別為HideCursor和ShowCursor;再放置一個CStatic控制項,名稱為Label1,用於顯示光線標計數器。來源程式為://
Time of Update: 2017-02-27
類的多態特性是支援物件導向的語言最主要的特性,有過非物件導向語言開發經曆的人,通常對這一章節的內容會覺得不習慣,因為很多人錯誤的認為,支援類的封裝的語言就是支援物件導向的,其實不然,Visual BASIC 6.0
Time of Update: 2017-02-27
我們知道, .Net類庫裡提供了HttpWebRequest等類,方便我們編程與Web伺服器進行互動.
Time of Update: 2017-02-27
Java在虛擬機器上運行Java原始碼並不是被編譯成為普通的機器代碼。而是被翻譯成為虛擬機器可以執行的代碼。一個Java解譯器最終執行這些代碼。這其中沒有串連的過程;解釋在需要的時候動態載入一些類;Java是完全物件導向的Java是一種完全物件導向的語言。這意味著你對任何一個Java對象所做的動作都是通過一個方法實現的。第一點就是,再也沒有沒有主函數這樣的孤立的東西了。取而代之的是,你必須開始用一個對象的看法看待一個程式,一個類的對象。但是這個對象又什麼對象呢?大多數Java程式只是簡單的通過繼