Time of Update: 2018-12-06
delphi 的pos函數中文下有bug.正常情況下: pos('a','abc') 返回 1;bug示範,中文情況下: pos('胺','封裝服務')=4 (⊙﹏⊙b汗); 因為 s :='胺'; s[1]=#176,s[2]=#183; s2 := '封裝服務'; s2[4] = #176('裝'第二個位元組);s2[5] =#183('服'第一個位元組); 因此錯誤判斷。呵呵。注意:補充: 如果想要在中文環境下正確使用pos ,那就用widestring。
Time of Update: 2018-12-06
------轉自 http://apps.hi.baidu.com/share/detail/33014978有開發網路應用經曆的人都知道,網路中的接收和發送資料都是使用WINDOWS中的SOCKET進行實現。但是如果此通訊端已經斷開,那發送資料和接收資料的時候就一定會有問題。可是如何判斷這個通訊端是否還可以使用呢? 有人一定想到使用Send函數中的返回結果來進行判斷。如果返回的長度和自己發送出去的長度一致,那就說明這個通訊端是可用的,否則此通訊端一定出現了問題。但是我們並不是無時無刻的發送
Time of Update: 2018-12-06
文章轉自:http://hi.baidu.com/duyingjie/blog/item/e0b06f59970cb72e2834f0a4.html轉載說明:轉載的時候標題有所變更。原始標題、作者及其著作權,請點擊以上串連從原文中可以查看完整的資訊目錄一、Makefile前言概述Makefile 與 makemake 文法Makefile 規則Makefile 變數Makefile 執行個體Makefile 慣例make 選項二、configure通用 configure 文法通用
Time of Update: 2018-12-06
這是一個停靠表單的容器控制項,不過現在似乎改名叫DockPanel了。這是一個極其強大的控制項,我們產品90%的介面都是它的地盤。當然,它的強大不在於它的面積,而在於它能夠仿VS設計器的傑出布局效果。不過最近卻遇到一個問題,在DockManager中,表單被分為兩類,一類為Document,對應類似於VS中代碼編輯器的表單;另一類為Content,對應類似於VS中工具箱、屬性框的表單。DockManager為Document的切換動作提供了一個ActiveDocumentChanged事件,但卻
Time of Update: 2018-12-06
在程式中需要遇到這樣的情況,已有一個資料集A,但需要一個這樣的可迭代資料集B:其中資料均由A中相應位置處的資料按指定規則轉換得到。一個簡單的例子是假定已經有一個人員資訊(Person類型)列表,但我們希望得到格式為“名字(性別)”的字串的可迭代結構。對這種情況,一般情況下只需在使用的地方迭代原列表,然後根據Person對象產生格式化字串即可。但也並非總能如此處理,例如我不希望這個格式化的邏輯散布在各個需要格式化字串的地方,若格式化過程比較複雜或將來輸出格式需要改變,則這將會比較麻煩。因此,我希望
Time of Update: 2018-12-06
前陣子測試DesignMode的時候,發現結果總是與預期不一致。好久都沒搞明白。 最近,偶然想到一件事。猜想可能與此有關。因此測試了一下。測試結果記錄如下: 測試1:在從設計器開啟表單時,是否執行建構函式,分別對當前類建構函式與基類建構函式進行測試。 測試過程:
Time of Update: 2018-12-06
此迭代器是ConvertEnumerator的姊妹類。設計出發點是為了在擷取資料集的子集時避免建立資料集對象。此類適用以滿足以下條件的情境:1、存在一個資料集A。2、在程式中需要擷取一個A的子集,且不止一處需要。因此,過濾的邏輯需要封裝。3、A變化頻繁或擷取子集的操作不頻繁。由於需要封裝,一般情況下,只能建立一個新資料集來儲存A的子集再向外提供。FilterEnumerator能夠映射到一個未經處理資料集,允許使用者對其進行迭代訪問並且訪問到的元素均是原資料集中滿足指定條件的元素。條件比較邏輯由
Time of Update: 2018-12-06
相較而言,表單的開啟和關閉是比較耗時的操作。其間涉及到線程、訊息佇列、視窗控制代碼等的建立和銷毀。另一方面,在其它線程上操作表單依表單的顯示狀態而不同。若在表單開啟或關閉過程未完成之前調用表單方法或設定表單內容,一般將導致異常:1、表單開啟過程期間,在其它線程上獲得到的InvokeRequired屬性值可能仍為false(此時表單線程尚未開始運行),此時,若直接設定表單的屬性值就將(或可能)出現那個著名的“從不是建立控制項"FrmBusyTip”的線程訪問它”異常(若表單線程已開始運行),若此時
Time of Update: 2018-12-06
前 註:這是自己平時根據自己需要寫的一些小代碼,為了避免再次資料丟失,所以放到網上來,未必對各看官有用。另外,這是根據個人想法而寫,未必嚴謹和符合設計原則,若有任何不妥之處,還請不吝賜教。 特 性:1、可在事件所有者外部觸發。2、增加Enabled屬性用于禁用事件。使得無需清空響應和重新添加響應,便可達到暫時屏蔽事件的效果。3、可非同步響應。.NET內建事件的響應在調用者線程上執行。4、事件委託限定為EventHandler<T>。 說
Time of Update: 2018-12-06
目前使用的Visual Studio 6.0的MFC4.2使用的是Winsock1.1,聽說MFC7.1中使用的也是。最近,為了使用WSAIoctl,需要把使用Winsock2,不過不能直接在項目中Include
Time of Update: 2018-12-06
前 註:這是自己平時根據自己需要寫的一些小代碼,為了避免再次資料丟失,所以放到網上來,未必對各看官有用。另外,這是根據個人想法而寫,未必嚴謹和符合設計原則,若有任何不妥之處,還請不吝賜教。說
Time of Update: 2018-12-06
前註: 這是自己平時寫的一些小代碼,未必有用及符合設計原則,若有不妥之處,還請大家指教。 說明:雖然INI這種設定檔早已不被微軟所推薦,但至少在VC6下用C++編寫一些小程式時,用INI還是有其長處的:簡單的INI要比簡單的XML更加直觀(當然在複雜情況則相反);Windows提供了專門的API來讀寫INI配置,只需一條語句即可。不過在最近寫的幾個小程式中,也發現了私人設定檔讀寫API的一些問題:1. 要擷取設定檔的全域路徑,並在每次調用API傳遞;2.
Time of Update: 2018-12-06
前註:這是自己平時寫的一些小代碼,未必有用及符合設計原則,若有不妥之處,還請大家指教。說明:此演算法與另一個通用快速排序演算法採用了相似的設計思想:對排序和尋找演算法而言,雖然其邏輯固定,但由於資料來源與比較或搜尋邏輯的差異,而資料處理的過程又與演算法邏輯相藕合,因而不得不對不同的資料來源及比較邏輯作不同的實現。也因此,若要抽象出演算法邏輯,則必須提取資料操作與比較介面。對二分尋找演算法而言,可以確定的一點是資料來源是可索引的。演算法通過嘗試比較不同索引處的資料來確定目標資料的方向;另一方面,演
Time of Update: 2018-12-06
這是自己平時根據自己需要寫的一些小代碼,未必對大家有用。另外,這是根據個人想法而寫,未必嚴謹和符合設計原則,若有任何不妥之處,還請不吝賜教。提示表單在所有軟體中都是必不可少的。其特徵在於按需顯示一個對話方塊,原操作介面被禁用,程式繼續運行;工作完成後,再將對話方塊關閉。看似很簡單的一個功能,但由於涉及到了線程、表單之間的微妙關係,其實現要比想象中的要複雜得多。最簡單的辦法是,直接在工作中調用Form.Show顯示提示表單,然後繼續工作,完成後調用Form.Close關閉提示表單。使用這個方法的程
Time of Update: 2018-12-06
一個程式碼片段,利用#if,使在Debug狀態下時,try/catch關鍵字不會被編譯,異常將被拋出;在Releae狀態下時,try/catch關鍵字會被編譯,程式可截獲異常。使用此代碼有利於調試。代碼Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-06
加速鍵與菜單密切相關——都向使用者提供一個應用程式的命令集的操作。通常情況下,使用者依靠菜單來瞭解命令集合,在熟悉了應用程式後轉而使用加速鍵。加速鍵提供比菜單更快、更直接的命令操作。雖然加速鍵通常產生菜單中存在的命令,但也可以產生菜單中不存在的命令。加速鍵表加速鍵表由一個ACCEL結構數組構成。每個結構定義一個獨立的加速鍵,由以下資訊組成:1. 擊鍵組合2. 標識符3.
Time of Update: 2018-12-06
文章目錄 1. 概述2. Configuration3. ConfigurationSection和ConfigurationSectionGroup 前陣子想改進產品的設定檔結構,因此研究了一下Configuration程式集,看看能不能用來做基礎,現總結如下。1. 概述在.NET Framework中,微軟提供了Configuration程式集,包含用於處理配置資料的編程模型的類型。1.1
Time of Update: 2018-12-06
前 註:這是自己平時根據自己需要寫的一些小代碼,未必對各看官有用。另外,這是根據個人想法而寫,未必嚴謹和符合設計原則,若有任何不妥之處,還請不吝賜教。說 明:本文描述一個根據 《BusyTip——顯示提示表單的實現(一) 》中所述思路設計的一個用於顯示提示表單的功能介面的實現。本實現在一個守候線程上迴圈彈出模態對話方塊,並封裝了觸發彈出、關閉對話方塊事件的介面。要 點:1.
Time of Update: 2018-12-06
1. 前言.NET
Time of Update: 2018-12-06
註:此文在互動出版網的譯文基礎上修正了少數翻譯問題,額,鑒於我的E文水平,也不排除改動後譯得更爛的可能性。原著作權資訊如下:組織:中國互動出版網(http://www.china-pub.com/)RFC文檔中文翻譯計劃(http://www.china-pub.com/compters/emook/aboutemook.htm)E-mail:ouyang@china-pub.com著作權:本中文翻譯文檔著作權歸中國互動出版網所有。可以用於非商業用途自由轉載,但必須保留本文檔的翻譯及著作權資訊。