Time of Update: 2018-12-07
在我做的第一個頁遊項目中,伺服器使用了外掛程式的機制,但是當時的外掛程式都是用C#寫,而且如何?的也不是很清楚。之後的幾個頁遊項目都是自己一個人包攬伺服器部分,所以一直沒有寫外掛程式的需求。下一個頁遊專案服務器這邊需要多人合作,因此我想把其他模組都獨立的做成外掛程式的模式,目前也是在探索階段。通過網上資料尋找以及自己的整理,實現了一個簡單版本的外掛程式機制。實現代碼如下: 檔案Object.hpp中實現了所有外掛程式類的基類,所有外掛程式都要繼承該類。 1 #ifndef _
Time of Update: 2018-12-07
枚舉是開發人員可以定義的一個類型。枚舉的關鍵特徵是它標識了一個在編譯時間定義的所有可能值得集合,每個值都由一個名稱來引用,這就使得代碼更加的易讀。我們採用與類相似的文法來定義一個枚舉(枚舉類型的聲明必須跟類是平級的),如: enum ConnectionState { Disconnected, Connecting, Connected, Disconnecting
Time of Update: 2018-12-07
1.枚舉和常量(1) 常量 文法:const 類型 變數名=變數值; 如:const int pi=3.14;在定義時賦值,在其他地方不允許賦值。(2) 枚舉讓我們定義一種枚舉類型並且在定義這種類型時我們要指定這個類型的所有值。文法: enum 自己起的類型名稱{值1,值1,值3…..值n}註:枚舉的定義一般和類定義在同一個層級,這樣,在同一個命名空間下的所有的類就都可以使用這個枚舉了(方法中/類中也可以)。舉例示範: enum Gender{男,女}在main函數中調用
Time of Update: 2018-12-07
一.多線程的概念 Windows是一個多任務的系統,如果你使用的是windows
Time of Update: 2018-12-07
public class ExcelHelper { #region 成員變數 private string templetFile = null; private string outputFile = null; private object missing = Missing.Value; private DateTime beforeTime; //Excel啟動之前時間
Time of Update: 2018-12-07
共產生9個dll,如:1.在程式中添加*_csharp.dll四個檔案的引用;2.將剩餘的五個檔案複製到程式的Debug檔案夾中;(如果不複製這五個檔案就會出現類似“OSGeo.GDAL.GdalPINVOKE的類型初始值設定項引發異常”的錯誤)3.測試程式: OSGeo.GDAL.Gdal.AllRegister(); OSGeo.GDAL.Dataset ds=OSGeo.GDAL.Gdal.Open(@"D:\我的文件\案頭\檔案讀取\tif\
Time of Update: 2018-12-07
模板模式也是相當簡單的一種模式,而且是比較常用的。模板模式是定義一個操作中的演算法的骨架,而將一些步驟延遲到子類中。TemplateMethod使得子類可以不改變一個演算法的結構即可重定義該演算法的某些特定步驟。cbf4life舉的例子是悍馬車模型,更詳細的例子說明可以參考原作者部落格:cbf4life.cnblogs.com。這裡只提出C++的設計和實現方法,以方便隨用隨取。9.1.解釋main(),客戶CHummerModel,悍馬模型CHummerH1Model,悍馬模型型號1CHumme
Time of Update: 2018-12-07
在多線程編程中,我們經常要在背景工作執行緒中去更新介面顯示,而在多線程中直接調用介面控制項的方法是錯誤的做法,Invoke 和 BeginInvoke 就是為瞭解決這個問題而出現的,使你在多線程中安全的更新介面顯示。正確的做法是將背景工作執行緒中涉及更新介面的代碼封裝為一個方法,通過 Invoke 或者 BeginInvoke 去調用,兩者的區別就是一個導致背景工作執行緒等待,而另外一個則不會。而所謂的“一面響應操作,一面添加節點”永遠只能是相對的,使 UI
Time of Update: 2018-12-07
閑話不多,代碼如下: private void button1_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "*.mxd|*.mxd"; ofd.ShowDialog(); string fp = ofd.FileName;
Time of Update: 2018-12-07
在C#中實值型別的變數直接儲存資料,而參考型別的變數持有的是資料的引用,資料存放區在資料堆中。常見的實值型別資料有:整值型(整形,浮點型,十進位型),布爾類型,枚舉類型;參考型別有:介面,數組,Object類型,類,委託,字串,null類型。在C#中每種類型的儲存方式有兩種:1)分配在託管棧中;2)分配在託管堆中;記憶體的分配有CLR管理(即通用語言執行平台),這兩種方法的區別是:1)分配在託管棧中的變數會在建立它們的方法返回時自動釋放,例如在一個方法中聲明Char型的變數UserInput=C
Time of Update: 2018-12-07
前言: 完全是我在學習過程中記錄的筆記,只不過分享一下讓很多剛開始學習.net編程的人能夠很快的學會C#語言Managed 程式碼,Unmanaged 程式碼(1) 凡是由.net產生的程式碼,需要CLR啟動並執行代碼均為Managed 程式碼(2) 不由CLR進行維護的執行代碼為Unmanaged 程式碼break和Continue的區別 (1)舉例說明: static void Main(string[] args) { for
Time of Update: 2018-12-07
1using System; 2using System.Web.UI; 3using System.Web.UI.WebControls; 4using System.ComponentModel; 5using System.Text; 6namespace FlashAdRotator 7{ 8 /**//// <summary> 9 /// fpAdRotator 的摘要說明。10 /// </summary>11 [DefaultPro
Time of Update: 2018-12-07
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook workbook = xlApp.Workbooks.Add(true); Microsoft.Office.Interop.Excel.Worksheet
Time of Update: 2018-12-07
很多C++或者驅動程式或者嵌入式設計人員都會對結構體對齊問題深有感觸。錯與對之間竟然就是這麼單純,你有沒有經曆過驅動調試藍屏?如果有的話除了分析藍屏碼之外是不是會無意識考慮到參數長度匹配問題,可能你的結構體布局又出問題了?作為.NET開發人員,如果通過互操作跟本地代碼進行互動話,出現這種問題的情況就更多了,更專業的說是不是我的結構體封送出現了問題?很簡單了Marshals.Sizeof()下就知道了。結構體在被編譯器編譯的時候會被自動的按照某種方式對齊排序,其目的是減少CPU讀取資料的次數以提高
Time of Update: 2018-12-07
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;namespace TemplateFileDelete{ public partial class
Time of Update: 2018-12-07
c#字串轉數位函數|c#字串轉數位無錯函數|c#字串轉數位最好函數 //字串轉整數public int GetInt(string str) { int tempInt = 0; int.TryParse(str,out tempInt); return tempInt; }/字串轉整數浮點 public decimal GetDecimal(string str) { decimal tempDecimal = 0; decimal.TryParse(str, out
Time of Update: 2018-12-07
文章目錄 1. 多維陣列2. 鋸齒數組3. 數組的常用操作4. ArrayList 1. 多維陣列多維陣列:行數和列數在定義時已確定string[,] arr = new string[2, 3];arr[0, 0] = "座標:1-1";arr[0, 1] = "座標:1-2";arr[0, 2] = "座標:1-3";arr[1, 0] = "座標:2-1";arr[1, 1] = "座標:2-2";arr[1, 2] = "座標:2-
Time of Update: 2018-12-07
C語言中“char * params[]”的參數在delphi中該如何定義?100分求解決放過。 Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiAPI/html/delphi_20061130165801145.htmlVC寫的動態庫 一個參數定義成 “char * params[]”delphi中該如何定義?才能正確的調用。 有經驗的朋友應該一看就知道。 因為好久沒有來泡壇了。
Time of Update: 2018-12-07
C/S結構中如何?服務端與用戶端的同步,實現動態重新整理 Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiNetwork/html/delphi_20061127013343246.html資料庫:MS SQL2000 服務端:ADOquery,ADOconnection,datasetprovider,DBGrid
Time of Update: 2018-12-07
7-Zip 簡介7-Zip 是一款號稱有著現今最高壓縮比的壓縮軟體,它不僅支援專屬的 7z 檔案格式,而且還支援各種其它壓縮檔格式,其中包括 ZIP, RAR, CAB, GZIP, BZIP2和 TAR 等等。此軟體壓縮的壓縮比要比普通 ZIP 檔案高 30-50% ,因此,它可以把 Zip 格式的檔案再壓縮 2-10% 。 7-Zip 主要特徵 更新了演算法來加大 7z 格式 的壓縮比 支援格式: 壓縮及解壓縮:7z、ZIP、GZIP、BZIP2 和 TAR