Time of Update: 2018-12-06
方法一:綁定enum TestEnum {zero=0,one=1,two=2} ComboBox cbo = new ComboBox(); cbo.DataSource = System.Enum.GetNames(typeof(TestEnum));TestEnum test = TestEnum .one; cbo.SelectedIndex = this.cbo.FindString(test.ToString());取值TestEnum testenum =
Time of Update: 2018-12-06
在區域網路內像處理本地磁碟上的檔案一樣進行檔案的讀寫操作,有很多方案,FTP :配置較麻煩,而且是非同步傳輸,傳輸完成的結果響應比較複雜;物理映射:需要在本地添加共用使用者的帳號Net Use:可以直接使用指定的共用目錄帳號(不需要在本地建立帳號)進行訪問,使用此Dos命令建立串連後,就可以直接像本地磁碟檔案一樣進行操作了。 以下是實現的C#代碼代碼Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-06
函數存放在記憶體的代碼地區內,它們同樣有地址,我們如何能獲得函數的地址呢? 如果我們有一個int test(int a)的函數,那麼,它的地址就是函數的名字,這一點如同數組一樣,數組的名字就是數組的起始地址。 定義一個指向函數的指標用如下的形式,以上面的test()為例: int (*fp)(int a);//這裡就定義了一個指向函數的指標 函數指標不能絕對不能指向不同類型,或者是帶不同形參的函數,在定義函數指標的時候我們很容易犯如下的錯誤。int *fp(int
Time of Update: 2018-12-06
C++多繼承 多繼承可以看作是單繼承的擴充。所謂多繼承是指衍生類別具有多個基類,衍生類別與每個基類之間的關係仍可看作是一個單繼承。 多繼承下衍生類別的定義格式如下: class
Time of Update: 2018-12-06
C++提供的編譯預先處理功能主要有以下三種: (一) 宏定義 (二) 檔案包含 (三) 條件編譯在C++中,我們一般用const定義符號常量。很顯然,用const定義常量比用define定義常量更好。 在使用宏定義時應注意的是: (a) 在書寫#define 命令時,注意<宏名>和<字串>之間用空格分開,而不是用等號串連。 (b) 使用#define定義的標識符不是變數,它只用作宏替換,因此不佔有記憶體。 (c)
Time of Update: 2018-12-06
最近時間忙得裡焦外嫩的,參與物聯網項目的開發(兩個人,PM和我)兼軟體產品的維護,昨天接到一個緊急處理,一個關於銀行刷卡取值的小段代碼(此數卡機本配套的有動態庫,但是動態庫沒有文檔,開發動態庫的公司又不存在了),其他同事處理了也暫時沒結果,拖得都三周了,老闆問我會不會,我很少做與硬體互動的(幾乎沒有),哎,沒辦法,拿了裝置之後先,根據測試軟體瞭解了流程。1.系統設定2.設定磁軌,建立通訊3.讀卡現在流程基本已清晰了,接下來看磁條讀寫器命令表看了之後暈了,竟然那麼多,都是發送命令,響應訊息。幸虧只
Time of Update: 2018-12-06
今天就開始製作Activex外掛程式。12.暫時放個文字框,和按鈕,點擊按鈕後將所要顯示資訊顯示到文字框中3. 更改“項目屬性-應用程式-程式集資訊”設定,勾選“使程式集 COM 可見”(重要):4.更改“項目屬性-產生”設定,勾選“為 COM Interop 註冊”(注意,此處如果實在debug狀態下修改的,那在調到release狀態下還需要再設定一次)(重要):5.修改AssemblyInfo.cs檔案,添加[assembly: AllowPartiallyTrustedCallers()]
Time of Update: 2018-12-06
最近看Effective
Time of Update: 2018-12-06
使用C#尋找資料中重複資料,刪除數組重複項的解決方案。個人感覺,如果在數組不是很大的情況下,用正則替換還是最快的。原理就是先排序,再用正則替換重複。當然泛型+foreach是最好的選擇,第二種方法很是不錯,代碼簡潔,只是泛型的應用,如果再FOREACH就更好。第一種方法:public static String[] RemoveDup(String[] myData){ if (myData.Length > 0) {Array.Sort(myData); //先對數組進行排序int
Time of Update: 2018-12-06
今天偶然看了一下C#4.0的新特性, 第一個新特性就令我興奮不已, 曾經一度令我使用C#很不習慣的"死參數"問題終於搞定了.實在太爽了!過去用C++, VB.NET的時候都很爽, 開始用C#了發現怎麼沒有這個功能, 令我很難受, 一直不明白是C#設計的問題還是其中實現起來太複雜啊, 不過這回終於OK了. 代碼 Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-06
本文,我們將介紹一種利用模板匹配來實作類別型甄別的技術。首先,類型是數值的抽象,那麼我們從最簡單的編譯期數值甄別開始看,如果你寫下了下面這樣一段代碼: 1 int main() 2 { 3 int i = 10; 4 i++; 5 bool b = i > 0 ? true:false; 6 if(b){ 7 cout<<"TRUE"<<endl; 8 }else{ 9 cout<<
Time of Update: 2018-12-06
第3章 命名規則比較著名的命名規則當推Microsoft公司的“匈牙利”法,該命名規則的主要思想是“在變數和函數名中加入首碼以增進人們對程式的理解”。例如所有的字元變數均以ch為首碼,若是指標變數則追加首碼p。如果一個變數由ppch開頭,則表明它是指向字元指標的指標。“匈牙利”法最大的缺點是煩瑣,例如int i, j, k; float x, y, z;倘若採用“匈牙利”命名規則,則應當寫成int iI, iJ, ik; // 首碼
Time of Update: 2018-12-06
using System; namespace SelectionSorter { public class SelectionSorter { private int min; public void Sort(int [] list) { for(int i=0;i<list.Length-1;i++) {
Time of Update: 2018-12-06
第10章 類的繼承與組合 對象(Object)是類(Class)的一個執行個體(Instance)。如果將對象比作房子,那麼類就是房子的設計圖紙。所以物件導向設計的重點是類的設計,而不是對象的設計。對於C++程式而言,設計孤立的類是比較容易的,難的是正確設計基類及其衍生類別。本章僅僅論述“繼承”(Inheritance)和“組合”(Composition)的概念。注意,當前物件導向技術的應用熱點是COM和CORBA,這些內容超出了C++教材的範疇,請閱讀COM和CORBA相關論著。10.1
Time of Update: 2018-12-06
第11章 其它編程經驗11.1 使用const提高函數的健壯性看到const關鍵字,C++程式員首先想到的可能是const常量。這可不是良好的條件反射。如果只知道用const定義常量,那麼相當於把火藥僅用於製作鞭炮。const更大的魅力是它可以修飾函數的參數、傳回值,甚至函數的定義體。const是constant的縮寫,“恒定不變”的意思。被const修飾的東西都受到強制保護,可以預防意外的變動,能提高程式的健壯性。所以很多C++程式設計書籍建議:“Use const whenever
Time of Update: 2018-12-06
C++記憶體配置秘籍—new,malloc,GlobalAlloc詳解 _______只為因記憶體配置而無法入眠的程式員一。關於記憶體 1、記憶體配置方式 記憶體配置方式有三種: (1)從靜態儲存地區分配。記憶體在程式編譯的時候就已經分配好,這塊記憶體在程式的整個運行期間都存在。例如全域變數,static變數。
Time of Update: 2018-12-06
不太清楚微軟為啥給泛型List提供了Distinct擴充, 卻非要傳遞一個Compare型的參數, 為啥不是一個委託呢?好麻煩啊, 只能實現那個介面...代碼Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-06
不對稱式加密 對稱式加密的缺點是雙方使用相同的密鑰和IV進行加密、解密。由於接收方必須知道密鑰和IV才能解密資料,因此發送方需要先將密鑰和IV傳遞給接收方。這就有一個問題,如果攻擊者截獲了密鑰和IV,也就等於知道了如何解密資料!如何保證發送方傳遞給接收方的密鑰和IV不被攻擊者截獲並破譯呢?不對稱式加密也叫公開金鑰加密,這種技術使用不同的加密金鑰與解密密鑰,是一種“由已知加密金鑰推匯出解密密鑰在計算上是不可行的”密碼體制。不對稱式加密產生的主要原因有兩個,一是對稱式加密的密鑰分配問題,另一個是由於
Time of Update: 2018-12-06
線程同步這一方面,因為相對來說用得比較少,每次做多線程相關的問題是都必須重新溫習,今天在看非同步TCP時,又重新梳理了下。多線程同步大概有兩類:一類是訊號量,另一類是互斥,排他1.訊號量: 執行個體代碼如: class Program { private int n1, n2, n3; EventWaitHandle myEventWaitHandle = new EventWaitHandle(false,
Time of Update: 2018-12-06
1. 前言