Time of Update: 2018-12-06
C#中使用GDI+實現餅狀圖和柱狀圖跟資料庫聯結顯示資料的方法.(其實也就是餅圖的製作原理之一) using System; using System.IO;//用於檔案存取 using System.Data;//用於資料訪問 using System.Drawing;//提供畫GDI+圖形的準系統 using
Time of Update: 2018-12-06
• 隱式類型的本地變數和數組 var i = 5;var a = new[] { 0, 1, 2 };• 物件初始設定式 private class Cat { public int Age { get; set; } public string Name { get; set; } } static void MethodA() { Cat cat = new Cat { Age
Time of Update: 2018-12-06
一、理解GDI+ GDI+是一個庫,它提供了一個介面,此介面允許程式員編寫與印表機、監視器或檔案等圖形裝置進行互動的windows和web圖形應用程式。其實是由C++編寫的一個類,供我們調用。在程式中使用GDI+需要添加相應的命名空間,主要由 System.Drawing:基本的GDI+功能的定義,它提供了Graphics類,這個類提供了最重要的繪圖與填充方法。還封裝了矩形,點,畫筆和鋼筆等GDI圖元類。
Time of Update: 2018-12-06
電信的IP過一段時間重新整理一下, 所以我寫了個類, 用來發送公網IP的郵件到自己郵箱, gmail, 163的都可以使用StmpClient, QQ好像不行, 在網上找了找, 說是 QQ 的Smtp 不能適應 StmpClient public class SendEmailHelper { private static readonly ILog log = LogManager.GetLogger(typeof(SendEmailHelper));
Time of Update: 2018-12-06
C++語言中的一些概念及他們之間的區別(需要深刻理解): (1) 局部變數 全域變數 靜態變數 const常量 寄存器變數 宏定義的常量 static變數 (注:包括它們的記憶體配置,範圍,初始化等) 局部變數: 指在函數(過程)內部定義的變數 範圍為定義該變數的函數 記憶體配置: 在棧中按地址從高到低分配;. 全域變數: 通常在檔案開頭定義(理想位置),當這些函數以及同一個程式中的其他來源程式檔案中的某些函數需
Time of Update: 2018-12-06
前兩天,一個朋友學C#問我,在c++中物件導向不是要進行資料封裝嗎,怎麼會出現友元這種情況呢,明顯的破壞封裝性嘛。呵呵,當時我也沒給說出什麼來。後來看了點資料才發現,友元原來是這麼來的。 在C++
Time of Update: 2018-12-06
C++中關於“流”存在兩個版本,一個是老的版本(非標準化的版本),一個是新的版本(屬於C++標準庫中的一部分)。目前這兩個版本在VC6.0中均被支援,強烈建議使用標準化的版本。下面是新舊版本的類結構圖。old version new version新舊版本的區別:(1)使用不同的標頭檔 old version 標頭檔如:#include <fstream.h> new version 標頭檔如:#inlcude <fstream>
Time of Update: 2018-12-06
以下代碼必須有“Common Language Runtime Support(/clr)” 和“MFC”支援1. 字元竄之間的轉換 1 // 託管類型到非託管類型 2 inline CString ManageToUnManageStr(System::String^ cmStr) 3 { 4 using namespace System::Runtime::InteropServices; 5 CString cStr =
Time of Update: 2018-12-06
關於c++對象的記憶體模型 - 【記憶體對齊】方面,網上有大把的資料對此進行介紹,本篇文章僅對這些內容做一個梳理。對齊規則,不同編譯器存在差異,本文在“vc6/32bit”windows平台進行編譯測試。(預設為8位元組對齊)0.範例程式碼: 1 #pragma pack(1) // 以1位元組方式對齊 2 class A1 3 { 4 char a; 5 short b; 6 }; 7 #pragma pack() //
Time of Update: 2018-12-06
在MFC中使用AE(AO)進行二次開發時,當目標機器上若沒有安裝AE的Runtime,程式會直接掛掉。對此,通過在CXXApp的InitInstance()的起始處增加環境的檢測代碼,來友好地提示使用者安裝AE的Runtime。代碼如下: 1 BOOL CMap2DApp::InitInstance() 2 { 3 CoInitialize(NULL); 4 5 try 6 { 7 IAoInitializePtr
Time of Update: 2018-12-06
使用C++進行GDI+編程,首先要看系統中是否已經安裝好了GDI+,目前大部分XP(SP3)中已安裝好了GDI+【在system32中包含Gdiplus.dll檔案】。開發環境為:Windows XP(SP3)+ VS2008 (1)使用GdiPlus a.包含標頭檔 #include <Gdiplus.h> using namespace Gdiplus; b.連結匯入庫 #pragma
Time of Update: 2018-12-06
友元不存在許可權的概念,原因是友元函數(友元類)並不屬於該類的一部分。用friend關鍵字將一個函數(類)聲明在該類之下,只是表明這個函數(類)的內部可以訪問該類的私人成員。美其名曰:友元函數(友元類)。意思就是你是我的好朋友,可以隨便拿。++++++++++++++class A{friend class B; // B為A的友元類friend int add(A& a, int m, int n) // add為A的友元函數{return
Time of Update: 2018-12-06
C++異常機制由兩部分組成,即拋出端和處理端。當程式拋出一個異常,控制權不會再回到拋出端。在拋出端,我們可以拋出一個數或對象,也可以拋出一個指標。值得注意的是:被拋出的數、對象或指標都會產生一個副本,這個副本最後被傳遞給處理端。完成拋出過程之後,原來的數、對象或指標會隨之被銷毀。因此要保證此時指標所指向的記憶體地區不會被回收,否則,拋出的指標將指向一塊無效記憶體地區。另外,這個副本是調用對象的靜態類型(不含有動態運行時特性)的拷貝建構函式來建立的。// 最後會在螢幕上列印出"A"//
Time of Update: 2018-12-06
#類中的元素0. 成員變數 1. 成員函數 2. 靜態成員變數 3. 靜態成員函數 4. 虛函數 5. 純虛函數#影響對象大小的因素0. 成員變數 1. 虛函數表指標(_vftptr) 2. 虛基類表指標(_vbtptr) 3. 記憶體對齊_vftptr、_vbtptr的初始化由對象的建構函式, 賦值運算子自動完成;對象生命週期結束後,由對象的解構函式來銷毀。對象所關聯的類型(type_info),通常放在virtual table的第一個slot中。虛繼承:
Time of Update: 2018-12-06
如果你在Form中繪圖的話,不論是不是採用的雙緩衝,都會看到圖片在更新的時候都會不斷地閃爍,解決方案就是在這個表單的建構函式中增加以下三行代碼:請在建構函式裡面底下加上如下幾行:SetStyle(ControlStyles.UserPaint, true);SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.SetStyle(ControlStyles.DoubleBuffer, true); //
Time of Update: 2018-12-06
在C#中可以利用通過Pocess.Start調用Dos命令來完成很多操作,而且非常方便。例如關閉當前的應用程式,重新啟動電腦等。 下面介紹幾個常用的命令://重新啟動電腦的命令private void RestartPC(){ //重啟電腦的命令發出 Process.Start("shutdown.exe", "-r"); //關閉所有相關進程
Time of Update: 2018-12-06
具有內嵌字元數組的結構某些函數接受具有內嵌字元數組的結構。例如,GetTimeZoneInformation() 函數接受指向以下結構的指標:typedef struct _TIME_ZONE_INFORMATION { LONG Bias; WCHAR StandardName[ 32 ]; SYSTEMTIME StandardDate; LONG StandardBias; WCHAR
Time of Update: 2018-12-06
//C#判斷常見類型格式是否正確的類 public class GF_IsOk { /// <summary> /// 判讀是否是IP地址 /// </summary> /// <param name="in_str"></param> /// <returns></returns> public static bool
Time of Update: 2018-12-06
/// <summary> /// 關閉進程 /// </summary> /// <param name="processName">進程名</param> private void KillProcess(string processName) { Process[] myproc = Process.GetProcesses();
Time of Update: 2018-12-06
using System;using System.Collections.Generic;using System.Text;using Microsoft.Win32; //對註冊表操作using System.Collections; //使用Arraylistusing System.Security.Cryptography;//加密解密using System.IO; //檔案操作using System.Runtime.InteropServices;//調用DLL