Time of Update: 2018-12-06
[DllImport("user32.dll")]private static extern IntPtr GetProcessWindowStation();delegate bool EnumDesktopProc([MarshalAs(UnmanagedType.LPTStr)] string desktopName, int lParam); [DllImport("user32.dll", CharSet = CharSet.Auto)]static extern
Time of Update: 2018-12-06
常量: 只有資料, 雖然也佔用儲存空間, 但在編譯後的代碼中只引用資料,沒有地址的概念.如:const string hi = "hello";const int days = 31; 變數: 儲存在記憶體裡的資料(右值), 修改時需要引用地址(左值). 如:int num = 12;float d = 354.333F;bool b = true; 而指標則要關注3個數值: 儲存指標變數的記憶體位址, 指標指向的記憶體位址, 指標指向的值.若定義一個指標變數: int num =
Time of Update: 2018-12-06
在使用 GZipStream 進行壓縮的時候, 在最後必須調用 Close()方法, 否則會發現解壓縮後少一個位元組, 當壓縮的檔案小於4kb時, 解壓縮到檔案長度為0. 下面為一個完整的壓縮與解壓縮檔案的代碼, 以做參考: private void button1_Click(object sender, EventArgs e) { string fileName = textBox1.Text; //
Time of Update: 2018-12-06
google map 上畫 多條線段是使用 google.maps.Polyline 來實現的.javascript 代碼: var polyline; //畫多邊形 google.maps.Polyline function drawPolyline(latLngArray) { var path = new Array(); var latLngs = latLngArray.toString().split(";");
Time of Update: 2018-12-06
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】
Time of Update: 2018-12-06
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 不知不覺當中,我們就到了最後一種設計模式,即訪問者模式。訪問者模式,聽上去複雜一些。但是,這種模式用簡單的一句話說,就是不同的人對不同的事物有不同的感覺。比如說吧,豆腐可以做成麻辣豆腐,也可以做成臭豆腐。可是,不同的地方的人未必都喜歡這兩種豆腐。四川的朋友可能更喜歡辣豆腐,江浙的人就可能對臭豆腐更喜歡一些。那麼,這種情況應該怎麼用設計模式表達呢?[cpp] view
Time of Update: 2018-12-06
C#中 DateTime 為結構類型, 表示在公元 0001 年 1 月 1 日午夜 12:00:00 到公元 9999 年 12 月 31 日晚上 11:59:59 之間的日期和時間.GPS裝置上的時間定義的一個double 型值, 其開始時間為 1899-12-30 00:00:00. 轉換方法如下:DateTime dt= new DateTime(1899,12,30); // 起始時間double TimeNow= GetGPSTime(); // 從裝置上擷取時間,
Time of Update: 2018-12-06
多線程應用中經常要跨線程訪問表單控制項, 但在 C#中是不允許直接從非擁有控制項的線程中訪問控制項的, 必須通過委託的方式安全調用, 如下樣本所示:public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){Thread newThread = new Thread(new
Time of Update: 2018-12-06
雖然有 TabControl控制項, 但是為了減少主表單的代碼量, 可以將部分分頁的功能模組放置於一個 Form 中, 當調用時, 直接把這個 Form嵌入到一個 Panel中即可.樣本如下:要嵌入的 Form: public partial class FormEmbed : Form { public FormEmbed() { InitializeComponent(); } private
Time of Update: 2018-12-06
組件是一些可以重複使用的功能化的類.屬性(property)用於隱藏類中的欄位. 一般的將欄位設定成 private, 通過屬性安全的,受限制的訪問欄位; 同時, 在屬性中封裝附加的邏輯和規則,以處理所有可能的賦值方式.屬性是欄位和方法的一個交集, 即具有儲存和代碼限定訪問的功能, 一般定義如下:Accessmodifier Type PropertyName{ get { // get accessor } set {
Time of Update: 2018-12-06
在使用 TcpClient 網路連接中常常會發生用戶端串連異常斷開, 服務端需要設定檢測手段進行這種異常的處理. 對於短串連, 通過對 Socket 屬性 ReceiveTimeout 和 SendTimeout 設定適當的值, 當在進行讀/寫時逾時, 則會產生 SocketException 異常, 通過檢查這個異常並進行處理. 如下服務端串連處理程式碼範例: while (newClient.Connected &&
Time of Update: 2018-12-06
使用 互斥Mutex 保證應用程式只運行一個執行個體, 代碼如下:using System;using System.Collections.Generic;using System.Linq;using System.Windows.Forms;using System.Threading;using System.Runtime.InteropServices;namespace TestPlatform{ static class Program {
Time of Update: 2018-12-06
現在C#已經建議擯棄使用 Suspend, Resume 暫停/恢複線程, 也盡量少用 Abort方法中斷一個線程.建議使用線程的同步手段有: 、、, public Thread(ThreadStart start);另一種是帶參數(ParameterizedThreadStart 委託) --public Thread(ParameterizedThreadStart start);ParameterizedThreadStart 委託簽名:public delegate void
Time of Update: 2018-12-06
http://blog.csdn.net/lzx_bupt/article/details/6913039經過前面的幾個例子,是不是還少個線程建立時屬性參數沒有提到,見下文樣本:[cpp] view plaincopy#include <iostream> #include <pthread.h> #include <iostream> #include <pthread.h> using namespace std; #
Time of Update: 2018-12-06
http://blog.csdn.net/lzx_bupt/article/details/6910632線程會建立了,如何線上程調用函數時,傳入參數呢?則應如下所示:[cpp] view plaincopy#include <iostream> #include <pthread.h> using namespace std; #define NUM_THREADS 5 void* say_hello(void* args) { int
Time of Update: 2018-12-06
因為項目的中的資料是來源於網路, 而不是資料庫, 所有的table 都是動態建立的, 因此使用報表時也需要動態建立.具體樣本如下:1. MainForm 下 Data的 擷取: public DataTable table = new DataTable("myTable"); // 建立資料表資料 public void CreateDataTable() { table.Columns.Clear();
Time of Update: 2018-12-06
http://blog.csdn.net/lzx_bupt/article/details/6915117上篇說了下互斥量的用法,今兒說一下條件訊號量的用法,這兩種多線程變數的用法其實取決於情景,需要體會,見文:[cpp] view
Time of Update: 2018-12-06
http://blog.csdn.net/my_business/article/details/7497248什麼是C++ /CX? 首先要明白它跟C++ 0x/11以及C++ /CLR是完全不同的東西。C++ 0x/11是目前最新的C++標準庫,而C++ /CX其實是微軟在Win8開發平台下,對C++語言的一種擴充。C++ /CLR是微軟為了C++能在.Net下運行,針對CLR,雖然也是對C++的擴充,但它編譯後是託管於CLR的,屬於Managed C++。而C++
Time of Update: 2018-12-06
/// <summary> /// 產生隨機不重複數列表 /// </summary> /// <param name="count">不重複數數量</param> /// <returns>不重複數列表</returns> private static List<int> GetRandomList(int count) {
Time of Update: 2018-12-06
http://blog.csdn.net/lzx_bupt/article/details/6910597在基礎一上思考,如果線程調用的函數是在一個類中怎麼辦?答案是將該函數寫成靜態成員函數,如下模式就很符合C++的寫作模式:[cpp] view