Time of Update: 2018-12-05
Windows的硬體資訊儲存的機制,也是利用類資料庫的方式,採用WMI的查詢方式,基本可以擷取所有的硬體資訊,就像前面我提到的 C#遍曆系統所安裝的印表機.今天,有個網友,問及 MAC 位址的事,我就給出了下面的代碼:static string GetMAC(){using (ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration")){ManagementObjectCollection moc =
Time of Update: 2018-12-05
今天,有個網友問起:使用ExecuteReader方式執行的預存程序,預存程序既返回了查詢結果,又有輸出參數和傳回值,但是傳回值和輸出結果總是取不到其實這個問題,微軟本身就給出瞭解釋,MSDN上有明確的說明,我直接貼出來了:Command 對象公開了幾個可用於執行所需操作的 Execute 方法。當以資料流的形式返回結果時,使用 ExecuteReader 可返回 DataReader 對象。使用 ExecuteScalar 可返回單個值。使用 ExecuteNonQuery
Time of Update: 2018-12-05
private List<string> readFileToList(string fileName) { FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read); List<string> list = new List<string>(); StreamReader
Time of Update: 2018-12-05
C#中:1、首先,添加一個LicenseControl,, 。在上面點擊右鍵選擇屬性,在彈出的屬性表單上選擇如下:選中ArcInfo即可,其餘都不選。右側的Extention可選。2、然後再在功能表列上選擇“項目”——“Add ArcGIS Reference…”,在彈出的表單上添加引用ConversionTools,Geoprocessing,Geoprocessor,如所示:3、在表單上添加一個按鈕,在表單的代碼視窗上輸入下列代碼:using System; using
Time of Update: 2018-12-05
1、基本原理 在Visual C++ 6.0中,顯示位元影像的方法及過程如下: 1.1 顯示程式資源中的位元影像(位元影像的所有資料均存在於可執行檔中) 1)從資源中裝入位元影像 ·定義位元影像對象資料成員CBitmap m_Bitmap; ·調用CBitmap成員函數LoadBitmap(),例如:m_Bitmap.LoadBitmap(IDB_BITMAP1);
Time of Update: 2018-12-05
宏定義有兩種:不帶參數的宏定義和帶參數的宏定義。不帶參數的宏定義不帶參數宏定義的一般形式為:#define 宏名 字串#define PI 3.1415926 main() {float area, r;printf (“area=%f”,PI*r*r);}以上程式中以宏名PI來替換字串3.1415926,這樣做的好處是顯然的,一是可以簡化程式,二是便於修改。說明:1. 宏定義一般寫在程式的開頭。2. 宏名的命名規則同變數名,一般習慣用大寫字母如PI,以區別程式中的變數。3.
Time of Update: 2018-12-05
在項目中經常會遇到從資料庫查詢資料繫結到TreeVIew上,這時我們需要將查詢出來的資料轉換成樹形結構資料,每次寫覺得工作會很重複,所以寫了一個通用的轉換類。 第一步,我們需要建一個基類,這個基類的意義主要是擴充資料庫實體類做串連用,用於確定樹形結構中節點與子項的關係,其中Parent為當前節點的父節點,Children為當前節點的子節點,IsLinked是判斷當前節點是否已串連,用於防止資料中有循環相依性導致建立樹的時候形成死迴圈。TreeModel基類public class
Time of Update: 2018-12-05
東去春來,春雨綿綿,又是嶄新的一年,喜歡雨天,不僅可以懶懶的宅在宿舍了,更是充滿的淡淡的詩意,總讓人覺得流戀,回想往事如過眼雲煙。近來看甄嬛傳,裡面讓人流淚的頗多的,讓人感受也是頗多,有些畫面也是令人難以忘懷,看的近來思家情節驟增,甄嬛當時的多麼的深愛皇帝,是皇帝傷她至深,每每回憶便有些憐惜。 好吧,扯遠了,切入正題,今天就寫寫關於XML序列化吧,序列化有對象序列化,有XML序列化,對象序列化就是在類上標記
Time of Update: 2018-12-05
在C#中類型的轉換分兩種:顯式和隱式,基本的規則如下。基類對象轉化為子類對象,必須顯式轉換,規則:(類型名)對象。實值型別和參考型別的轉換採用裝箱(boxing)或拆箱(unboxing)。子類轉化為基類對象。基本類型互相之間轉化可以用Convert類來實現。字串類型轉換為對應的基本類型用Parse方法,除了String類型外其他的類型都可以用Parse方法。用GetType可以取得對象的精確類型。子類轉化為基類,採用隱式轉換。下面來說說AS和IS操作符。as:用於在相容的參考型別之間執行轉換。
Time of Update: 2018-12-05
Emumeration 這個概念早在C時代就有了, 不過以前沒怎麼用過。基本表達, 改變預設值和預設類型Enumeration的預設值是從0開始的int如下: enum Direction{ UP, RIGHT DOWN, LEFT,};此時UP=0, DOWN=1...依此類推 改變預設值:enum Direction{ UP=1, RIGHT=2, DOWN=3, LEFT=4,}; 改變類型(只能改變成:byte, sbyte, short, ushort,
Time of Update: 2018-12-05
C# int year = DateTime.Now.Year;int month = DateTime.Now.Month;DateTime firstDayOfThisMonth = new DateTime(year, month, 1);DateTime lastDayOfThisMonth = new DateTime(year, month, DateTime.DaysInMonth(year, month)); SQL DECLARE @NOW DATETIMEDECLARE
Time of Update: 2018-12-05
1:定義: 它們看起來象函數,運作起來象函數,比宏(macro)要好得多,使用時還不需要承擔函數調用的開銷。當內聯一個函數時,編譯器可以對函數體執行特定環境下的最佳化工作。這樣的最佳化對"正常"的函數調用是不可能的。2:規則: inline關鍵字必須和函數體定義放在一起才可以實現內聯,僅僅將inline放在函式宣告之前不起任何作用。inline是一個用於實現的關鍵字而不是一個用於聲明的關鍵字。對於類方法,定義在類體內部的方法自動成為內聯方法。3:實現思想:
Time of Update: 2018-12-05
printf的聲明 int _cdecl printf(const char* format, …);呼叫慣例:_cdecl_cdecl呼叫慣例的特點: 1). 參數從右向左依次入棧 2). 調用者負責清理堆棧 3). 參數的數量類型不會導致編譯階段的錯誤對x86, 棧的生長方向向下(高地址向低地址),_cdecl呼叫慣例函數參數從右向左入棧,因此從第一個固定參數(format)的堆棧地址向前(向上,向高地址)移動就可得到其他變參的地址。1:
Time of Update: 2018-12-05
List<Control> controls = new List<Control>(); public Form2() { InitializeComponent(); controls.Clear(); foreach (Control ctrl in Form1.Controls) {
Time of Update: 2018-12-05
<fstream>
Time of Update: 2018-12-05
原文連結:http://blog.csdn.net/geeeeeeee/archive/2008/12/02/3427920.aspxdynamic_cast: 通常在基類和衍生類別之間轉換時使用,run-time castconst_cast: 主要針對const和volatile的轉換. static_cast: 一般的轉換,no run-time check.通常,如果你不知道該用哪個,就用這個。 reinterpret_cast:
Time of Update: 2018-12-05
Lists將元素按順序儲存在鏈表中. 與 向量(vectors)相比, 它允許快速的插入和刪除,但是隨機訪問卻比較慢. assign() 給list賦值 back() 返回最後一個元素 begin() 返回指向第一個元素的迭代器 clear() 刪除所有元素 empty() 如果list是空的則返回true end() 返回末尾的迭代器 erase() 刪除一個元素 front() 返回第一個元素 get_allocator() 返回list的配置器 insert() 插入一個元素到list中
Time of Update: 2018-12-05
C語言中如何使用宏C(和C++)中的宏(Macro)屬於編譯器預先處理的範疇,屬於編譯期概念(而非運行期概念)。下面對常遇到的宏的使用問題做了簡單總結。 關於#和##在C語言的宏中,#的功能是將其後面的宏參數進行字串化操作(Stringfication),簡單說就是在對它所引用的宏變數 通過替換後在其左右各加上一個雙引號。比如下面代碼中的宏: #define WARN_IF(EXP) do{ if (EXP) fprintf(stderr, "Warning: " #EXP "/n"
Time of Update: 2018-12-05
[原創]關於C語言中函數調用和參數傳遞機制的探討關於C語言中函數調用和參數傳遞機制的探討函數,相信許多人也知道其重要性;一個檔案往往由一個或者多個函數構成的。然而可能許多人還不知道函數調用的一些深層問題,所以我寫的這篇文章一來是應了一個好朋友的要求而寫,二來希望一些朋友能夠從我這篇文章瞭解函數調用的機制。但是並不是每個人都可以完全讀懂這文章,想完全讀懂此文,我想必須具備三個條件:一、對於C語言有一定的瞭解,最起碼有一個整體的初步瞭解;二、能夠讀懂UNIX/LINUX下的AT&T文法的彙編;AT&
Time of Update: 2018-12-05
事件聲明通常省略事件訪問器聲明,例如Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public delegate void MouseEventHandler();public event MouseEventHandler MouseDown ;但會有一些特殊情況,例如,為每個事件設定一個欄位所造成的記憶體開銷,有時會變得不可接受。在這種情況下,