Time of Update: 2018-12-06
建立一個Win32程式的步驟:1 WinMain函數的的定義2 建立一個視窗2.1.1 設計一個視窗類別2.1.2 註冊視窗類別2.1.3 建立視窗2.1.4 顯示及更新視窗3 進行訊息迴圈4 編寫訊息過程函數 WinMainint WINAPI WinMain ( HINSTANCE hInstance, // handle to current instance,given
Time of Update: 2018-12-06
在Windows下有.LIB和.DLL兩種尾碼形式的庫這兩者之間有什麼區別和聯絡呢?lib是庫的簡稱,共有兩種一種包含了函數所在DLL檔案和檔案中函數位置的資訊,代碼由運行時載入在進程空間中的DLL提供。稱為動態連結程式庫dynamic link library另一種包含函數代碼本身,在編譯時間直接將代碼加入程式當中。稱為靜態連結庫static link library區別:
Time of Update: 2018-12-06
1 UML(整合模組化語言)1.1 UML是什麼一種建立程式模型的可視化語言,所謂的程式模型,就是程式的圖形化表現形式。1.2
Time of Update: 2018-12-06
犯錯誤了,怎麼辦?1.發現錯誤,立即停下正在做的事情。避免錯誤發展到更嚴重的程度。2.仔細獨自思考事情前後經過。切忌此時慌張,想掩瞞錯誤,胡亂採取措施,導致錯誤無法收拾或引發其他錯誤。3.找到原因。已知道錯誤發生,就可以找到原因的。找不到回到第2點。4.儘可能找出錯誤解決方案。多想幾個錯誤解決方案,比較一下,挑出最優的方案。如果不知道如何解決,也不必怕,下一步。5.找到能對這個問題直接負責的人。也就是對問題負有最終責任的人,一般為自己的頂頭上司。6.陳述問題。向負責人如實陳述問題,切忌推責任,找
Time of Update: 2018-12-06
委託是一種資料結構,它引用靜態方法或者引用類執行個體及該類的執行個體方法(MSDN);委託類型的聲明,建立了一個協定,該協定指向一個或者多個方法的簽名;委託是物件導向並且是型別安全的。一、Delegate的簡單例子:委託的聲明需要使用關鍵字:delegate;委託的命名是任意的,但是委託必須與它指向的方法簽名相匹配:傳回型別;參數個數與類型namespace ConsoleApplication1{ //定義委託,可以指向任何這樣的方法:傳回值 為 Int型,並且有兩個Int參數
Time of Update: 2018-12-06
以前寫aspx.cs代碼,在aspx中要展現一句話,如:共查詢出156條記錄。 我是這樣寫的:this.BeforeHint.Text = String.Format( "共查詢出{0}條記錄" , num ) ; 一般這樣沒有什麼問題,但是一旦發生要修改文字資訊的話,就需要修改aspx.cs檔案,也就需要重新編譯系統。如果只是一個地方修改倒也沒什麼很大的問題,就是辛苦一點,但是一旦要改的地方有多個(一個系統有多少個頁面,每個頁面有多少提示資訊)的時候,辛苦倒是其次,沒有修改到,造成風格不一致,
Time of Update: 2018-12-06
今天早上客戶提出一個需求:能不能在查詢條件輸入中使用萬用字元?嗯,的確是個好的需求,怎麼說呢?一般我做查詢時盡量會有預設值,這些預設值是我認為使用者使用最頻繁的查詢條件值,這樣使用者就儘可能不需要設定條件而查詢出他所需要的結果。其實就是“把客戶當成傻瓜”,現在客戶反過來說:我需要萬用字元。這說明客戶現在的自主意識越來越強,他們已逐漸擺脫開發方說什麼就是什麼,做了什麼就用什麼的束縛了。
Time of Update: 2018-12-06
文章目錄 開始顯示後台操作進度取消後台操作後台操作完成後,反饋給使用者從後台操作傳回值結束 BackgroundWorker 組件用來執行諸如資料庫事務、檔案下載等耗時的非同步作業。開始在應用程式中添加一個BackgroundWorker執行個體,如果用的是VS,可以從工具上直接拖到應用程式:BackgroundWorker backgroundWorker1 = new
Time of Update: 2018-12-06
函數功能描述:用這個函數能夠獲得指定視窗的資訊函數原型:LONG GetWindowLong( HWND hWnd,int nIndex )參數:hWnd:指定視窗的控制代碼nIndex:需要獲得的資訊的類型 值 功能nIndex取值如下:GWL_EXSTYLE 得到擴充的視窗風格GWL_STYLE 得到視窗風格GWL_WNDPROC 得到視窗回呼函數的地址,或者控制代碼。得到後必須使用CallWindowProc函數來調用
Time of Update: 2018-12-06
2 Singleton模式2.1 概述Singleton模式是用於確保一個特定的類有且僅有一個對象被執行個體化。2.2 設計那麼如何保證只產生一個對象呢?我們都知道,對象的產生是通過構造方法實現的。在C#中,我們執行個體化對象是這樣寫的:Student student = new Student() ;//產生學生對象其實在類Student執行個體化中,它是調用類的構造方法:public Student()
Time of Update: 2018-12-06
1. 需求的理解 項目組內所有成員開會,需求人員說明需求,編程人員當場理解,並提出不明白的問題。雖然能夠讓編程人員知道需求,但是好像工作效率低了。這句話反過來說應該是:雖然工作效率低、方法笨,但是能夠讓編程人員知道需求。其實好像找不到更好的辦法了! 2. 設計的評估,基本上是沒有,這樣就不能控制編程人員的編碼品質和水平了。設計是很重要和必要的,不單單是總體設計,局部設計,功能設計,介面設計都很重要啊。應該對系統進行設計並進行評估。 3.
Time of Update: 2018-12-06
GetWindowThe GetWindow function retrieves a handle to a window that has the specified relationship (Z order or owner) to the specified window. HWND GetWindow( HWND hWnd, // handle to original window UINT uCmd // relationship
Time of Update: 2018-12-06
在開發項目時,我發現:系統實施階段,特別是驗收前的實施階段是最難熬的。此時有一個完備的日誌功能來輔助、監控系統的實施,好處是很多的。1:登入日誌可以監控到有那些人員登入系統,那些使用者沒有登入系統。對沒有登入系統的使用者則可以重點跟蹤,“逼”其使用系統。同時可以通過登入日誌統計使用者的登入情況,反饋給客戶方,一方面讓他們配合系統的實施,另一方面讓他們明確地知道系統正在使用,大家在使用,效果明顯。2:關鍵動作記錄可以監控到使用者使用系統功能的詳細情況,同樣可以反饋給客戶方,明確地瞭解系統詳細的使用
Time of Update: 2018-12-06
1、命名空間: (程式集:mscorlib)2、描述: 1)、從一組鍵(Key)到一組值(Value)的映射,每一個添加項都是由一個值及其相關連的鍵組成 2)、任何鍵都必須是唯一的 3)、鍵不可為空引用null(VB中的Nothing),若值為參考型別,則可以為空白值 4)、Key和Value可以是任何類型(string,int,custom class 等)3、建立及初始化: Dictionary<int, string> myDictionary = new
Time of Update: 2018-12-06
關於XML序列化的簡單例子: public partial class Form1 : Form { public Form1() { InitializeComponent(); }//選擇儲存路徑 private void button1_Click(object sender, EventArgs e) { saveFileDialog1.Filter =
Time of Update: 2018-12-06
3 Façade模式3.1 概述又稱面板模式。這個模式是現實中很常見到的一種模式,比如汽車的設計,汽車裡面是很複雜的,但是開汽車是很簡單的,為什嗎?因為汽車設計人員把汽車的複雜部分“封裝”在汽車裡面,只提供很簡單易用的方向盤、刹車和加油給你控制汽車。這就是Façade模式,我們需要一個更簡單的方式使用一個複雜的東西,並可滿足我們的需要。3.2
Time of Update: 2018-12-06
1、命名空間: (程式集:mscorlib)2、描述: 1)、表示可通過索引訪問的對象的強型別列表;提供用於對列表進行搜尋、排序和操作的方法。 2)、是ArrayList類的泛型等效類。 3)、可以使用一個整數索引訪問此集合中的元素;索引從 零 開始。 4)、可以接收nullNull 參考(VB中的Nothing)。 5)、允許重複元素3、建立及初始化: List<string> myList = new
Time of Update: 2018-12-06
事情一:原有需求,檔案登記以社會安全號碼碼作為唯一標識。後來發現有很多檔案根本就沒有社會安全號碼碼,於是需求變更為:檔案登記中有社會安全號碼碼的,以社會安全號碼碼作為唯一標識;沒有社會安全號碼碼的,以一個特殊身份證111111111111111代替,且只有這個特殊身份證可以重複。編碼人員A在接到變更需求後修改代碼,改好後提交測試人員B測試。B在輸入特殊身份證111111111111111查詢時明明提示“沒有該人的檔案記錄”,可是在登記儲存時卻提示該社會安全號碼碼已存在,不能儲存。詢問A才知道,他
Time of Update: 2018-12-06
1、命名空間:(程式集:mscorlib)2、描述:1)、同一任意類型的執行個體的大小可變的後進先出 (LIFO) 集合。2)、Stack作為數組來實現。3)、Stack容量是指可以儲存的元素數;向Stack添加元素時,重新分配內部數組,根據需要自動增大容量。4)、可以接收nullNull 參考(VB中的Nothing)3、建立及初始化:1)、Stack<string> myStack = new
Time of Update: 2018-12-06
這幾天來,結合著Reflector工具,在學習泛型集合方面的基礎知識,也連續寫了幾篇筆記文章,今天繼續Queue的學習,主要是利用Reflector查看其內部的實現,以加深對基礎知識的理解: 1、Queue<T>隊列,表示對象的先進先出集合(MSDN) 2、主要私人成員變數: private T[] _array;//隊列的儲存與操作基於此數組實現 private int _head;//頭指標 private int