Time of Update: 2018-12-07
1、DateTime 數字型 System.DateTime currentTime=new System.DateTime(); 1.1 取當前年月日時分秒 currentTime=System.DateTime.Now; 1.2 取當前年 int 年=currentTime.Year; 1.3 取當前月 int 月=currentTime.Month; 1.4 取當前日 int 日=currentTime.Day; 1.5 取當前時 int
Time of Update: 2018-12-07
這幾天為了設計外掛程式開發架構,嘗試用了一下發散思維來思考問題。中間看過依賴注入,AOP(面向方面編程),以及契約式設計等。雖然有些工具無法直接使用,但是這些思想還是可以借鑒的,比如依賴注入,契約式設計。至於AOP,和工具相關性較大,雖然思想不錯,但是無法直接在C++中使用。我設計的外掛程式間的依賴不是通過介面實現的,而是通過外掛程式間的資料(信元流)。而信元流的檢測可以使用契約來檢查。外掛程式開發架構的總體結構微核心 :1、 負責外掛程式的載入,檢測,初始化。2、 負責服務的註冊。3、
Time of Update: 2018-12-07
上面一篇文章大致描述了一下外掛程式開發架構整體結構。這篇描述一下核心層的設計和實現。至於核心層的設計,我想借鑒 一下微核心的思想。核心層只負責實現下面幾個功能:1、 外掛程式的載入,檢測,初始化。2、 服務的註冊。3、 服務的調用。4、 服務的管理。外掛程式的載入,檢測,初始化 外掛程式的載入利用linux共用庫的動態載入技術。具體的方法可以看一下IBM網站的一篇資料《Linux 動態庫剖析》 。服務的註冊服務的註冊與調用採用表驅動的方法。核心層中維護一個服務註冊表。//外掛程式間互動訊息類型
Time of Update: 2018-12-07
原文出處:CodeProject:The Complete Guide to C++ Strings, Part I 引言 毫無疑問,我們都看到過像 TCHAR, std::string, BSTR 等各種各樣的字串類型,還有那些以 _tcs
Time of Update: 2018-12-07
xml檔案格式如下:<?xml version="1.0" encoding="utf-8"?> <userdata createuser="false"> <dataconnection> <server>localhost</server> <uid>sa</uid> <pwd></pwd>
Time of Update: 2018-12-07
class MyClass001{private: public: MyClass001() { printf("MyClass001"); } MyClass001(int i) { printf("MyClass001-i"); } };resolve: MyClass001 k1;//顯示MyClass001 k1=1;//顯示MyClass001-i 其實第二句相當於是在調用有int
Time of Update: 2018-12-07
經常看到如下代碼: #ifdef _cplusplus extern "C" { #endif #include "XXX.h" #ifdef _cplusplus } #endif解釋: 這段代碼的含義是,如果當前的程式是C++程式,那麼下面引用的標頭檔是C檔案, 那如果當前程式不是C++呢?難道包含的就不是C檔案了嗎?當然不是,不管當前程式是什麼,這個XXX.h都是一個C檔案 那為什麼還要多此一舉呢? 原因: C++為了支援函數重載,將編譯後的函數名做了重整(mangled
Time of Update: 2018-12-07
已知有一個XML檔案(bookstore.xml)如下: <?xml version="1.0" encoding="gb2312"?> <bookstore> <book genre="fantasy" ISBN="2-3631-4"> <title>Oberon's Legacy</title> <author>Corets, Eva</author> <price>5
Time of Update: 2018-12-07
因工作需要,總結了幾種分隔字串的方法:1、用字串分隔:using System.Text.RegularExpressions; string str="aaajsbbbjsccc";string[] sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);foreach (string i in sArray) Response.Write(i.ToString() +
Time of Update: 2018-12-07
第一種方法:string s=abcdeabcdeabcde;string[] sArray=s.Split(c) ;foreach(string i in sArray) Console.WriteLine(i.ToString());輸出下面的結果:abdeabdeabde第二種方法:我們看到了結果是以一個指定的字元進行的分割。使用另一種構造方法對多個字元進行分割: string s=abcdeabcdeabcdestring[] sArray1=s.Split(new
Time of Update: 2018-12-07
Windows服務是獨立於登入使用者而工作的Windows應用程式,它通常在電腦啟動時開始執行,且常常連續執行,直到電腦關閉為止。像Exchange Server,IIS和殺毒軟體等都使用這種方式,這樣就可以獨立於某一使用者而且可以在任何使用者登入前來運行,同時也可以服務於所有的進程,從而以一種服務的形式存在。
Time of Update: 2018-12-07
一、簡介 大家都知道,目前比較流行的網路瀏覽器如Mozilla FireFox以及MyIE2等都具有多頁面瀏覽功能,每開啟一個新的頁面都自動產生一個新的索引標籤頁面面,頁面的關閉也十分簡便。這種設計思想使得使用者在瀏覽多個網頁時案頭十分簡潔,也避免了使用者等待單頁面顯示的苦惱。由於這些瀏覽器一般都支援操作多種檔案格式,所以當瀏覽本地機器上的多個檔案時也極為方便。 本文使用Visual C#詳細介紹如何?這種多頁面瀏覽功能。同時,還實現了下面附加功能: 列印,
Time of Update: 2018-12-07
如果在c#中實現使用者定義控制項內的事件掛勾到調用的表單事件中 我們都知道在asp.net開發中,如果使用使用者定義控制項可以有效進行程式的模組化。其實在.net 的winform中也是可以使用的。細節如下:1、建立應用程式windowsapplication1。2、添加新的使用者控制項userlogin。(user)3、定義使用者屬性 //定義屬性 public string username { get{return username;} set{
Time of Update: 2018-12-07
呵呵,不知道對一些筆/面試是否有協助 :)1. 以下三條輸出語句分別輸出什嗎?[C易]char str1[] = "abc";char str2[] = "abc";const char str3[] = "abc"; const char str4[] = "abc"; const char* str5 = "abc";const char* str6 = "abc";cout << boolalpha << ( str1==str2 ) &
Time of Update: 2018-12-07
從學校圖書館借了《C# Design Patterns: A Tutorial》(影印版)這本書,花些時間看看,順便把一些讀書筆記寫在這裡。雖然有人說該書不怎麼樣(看了一部分,的確書中的錯誤不少,而且明顯地帶有Java的色彩,似乎沒有把C#語言的特點發揮出來。不知道作者有沒興趣出第二版?呵呵),但我也未曾系統地學習過設計模式,剛好借我感興趣的語言C#和這本書初探這裡面可複用編程的思想。 設計模式是從介紹經典的23種設計模式的書《Design Patterns: Elements of
Time of Update: 2018-12-07
中午到圖書館借書,行至C語言書籍中,發現數本C#的書似乎很受歡迎,已經飽經翻閱,略顯老態,其受歡迎程式可見一斑。是何故使這個出生(正式推出)不過3年的新興語言如此流行?我想原因是多方面的,微軟的商業行為和極力奉行;源於C++又有其強烈的特色還在不斷髮展的青出於藍而勝於藍;與Java相似,而又有其易用性和優越性;等等。
Time of Update: 2018-12-07
C#用多了,最近又回到C++編程。發現有些致命的區別,如果不注意,很可能導致一些莫名其妙的bug。參考型別就是其中一個。在C#中,引用跟指標比較接近,除了實值型別(int, float, struct等),其它類型都是參考型別。它本身是一個棧上面的變數,指向堆上面的具體執行個體,可以隨意更改它指向的執行個體。而在C++中,引用是變數的一個別名而已,它需要在初始化時指向一個執行個體,之後對它的操作就相當於在原來執行個體上做修改。大部分情況下像C#更改引用的用法是可以編譯通過的: Code
Time of Update: 2018-12-07
其實網路上這類文章很多,我大致從頭說說我自己的經驗。1、加入引用 在控制項欄按右鍵,選擇“添加/移除項”,選COM組件,選中“Microsoft Web Browser”。然後就可以往表單上拖出一個該控制項(下面把該控制項一個對象稱為webBrowser)。控制項屬性中可以調整的不多,從一些資料中得知WebBrowser中的MenuBar、StatusBar等其實都沒實現。(注: .Net
Time of Update: 2018-12-07
ms級:#include <windows.h>GetTickCount()ns級:#include <windows.h>QueryPerformanceFrequency()cycle級unsigned int timehi , timelo;__asm{ rdtsc mov timehi , edx; mov timelo , eax;}return ((int __int64)timehi << 32) + (__int64
Time of Update: 2018-12-07
其實網路上這類文章很多,我大致從頭說說我自己的經驗。1、加入引用 在控制項欄按右鍵,選擇“添加/移除項”,選COM組件,選中“Microsoft Web Browser”。然後就可以往表單上拖出一個該控制項(下面把該控制項一個對象稱為webBrowser)。控制項屬性中可以調整的不多,從一些資料中得知WebBrowser中的MenuBar、StatusBar等其實都沒實現。