Time of Update: 2018-12-04
C#的DES加解密,同時支援.NET與.NET CF 2.0平台,這樣就可以把一個封裝好的類同時用在PC/WM手機上。C#的DES比其他語言的DES演算法多了個IV實現,其實IV可以設定為隨意的8位byte即可,注意要加入desc.Mode = CipherMode.ECB 相容其他語言的Des密碼編譯演算法。 直接貼出代碼,下面部分代碼比較普通,高手們切勿見笑! using System;using System.Collections.Generic;using
Time of Update: 2018-12-04
最近無聊,用C#在WM手機上寫個安防的小軟體,判斷網路攝影機前面的物體是否移動了,這個軟體很適合在出租房或者在宿舍住的時候使用,當然,其實也只是我無聊之作而已。。。。 在.NETCF上,C#要驅動DirectShow,是件非常困難的事情,DirectShow的介面不好弄,並且運行速度不夠C++的快,所以,我修改網上主流的控制DirectShow的代碼,做成DLL,讓普通的C#程式員也可以使用。這個DirectShow的DLL工程,可以到
Time of Update: 2018-12-03
C/S項目可以說是一個很完整很系列的軟體工程項目。通過此項目的學習,我們可以從整體上認識和經曆軟體開發的全過程,深切體會軟體開發過程中軟體工程起到的作用和協助。 從一開始的軟體文檔,宏觀瞭解軟體工程,然後是UML圖的學習,理解並實際操作UML圖,接下來就是設計模式,VB.NET,三層的基礎學習,其實之前學的這五項本領都是為了之後的重構版做鋪墊或是之後的重構版是為了之前學的這五項的一個練手和深刻理解。總之,相輔相成。 下面再具體來說說C/S每個階段的學習吧。
Time of Update: 2018-12-03
設計模式看下來,由於沒有很系統的鍛煉C#的代碼,雖然大體上能明白,但是總有些概念以及技術性東西不甚明了。既然遇到了,本著不求甚解的態度,將其記錄在案。無它,權當一次筆記。 一、Regex(解譯器模式) 概念:是指對字串操作的一種邏輯公式,即用事先定義的特定字元、及這些特定字元的組合,組成一個“規則字串”。這個規則字串用以表達對字串的一種過濾邏輯。
Time of Update: 2018-12-03
程式的開發離不開變數和常量的應用。我們在學習vb的時候,也對變數和常量有了一定的瞭解,其實非常簡單,變數就是本身被用於儲存特定類型的資料,而常量則儲存不變的資料值。一、變數 1.基本概念: 變數本身被用於儲存特定類型的資料,可以根據需要隨時改變變數中所儲存的資料值。變數具有名稱、類型和值。和類相同,使用變數之前也必須聲明變數,即指定變數的類型和名稱。 2.變數類型:
Time of Update: 2018-12-03
前一陣子項目中,一直在用靜態方法,或者是靜態變數,就從網上查了一些資料做了小小的一個梳理與總結,便用加深理解。 那什麼是靜態方法呢?最直觀上靜態方法採用了使用了static修飾符。靜態方法作為一種特殊的成員方法,它可以看作為是屬於類本身的一種方法,而不屬於類的某一個具體的執行個體。所以對靜態方法不需要類的執行個體化就可以使用了,使用時格式一般而是採用類名.靜態方法。 class A { public static void b() {.........
Time of Update: 2018-12-03
類圖:時序圖:UI層代碼:namespace LoginUI{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnLogin_Click(object sender, EventArgs e) { string userName =
Time of Update: 2018-12-03
什麼是三層架構:三層架構(3-tier application) 通常意義上的三層架構就是將整個業務應用劃分為:表現層(UI)、商務邏輯層(BLL)、資料訪問層(DAL)。區分層次的目的即為了“高內聚,低耦合”的思想。三層架構都有哪些優點:1、易於項目的修改和維護。在項目的開發過程中或者開發後的升級過程中,甚至在項目的移植過程中。這種三層架構是非常方便的。比如項目從Web移植到
Time of Update: 2018-12-03
方法重載可以使同一功能適用於各種類型的資料,它是聲明兩個以上的同名方法,實現對不同資料類型進行相同的處理方法重載的要求1、 重載的方法名稱必須相同2、 重載的方法,其形參個數或類型必須不同 如我們定義了swap(ref int a,ref intb)該函數用來實現兩個整形變數值的交換,但不會處理浮點型資料,我們在定義一個swap(ref flot a,ref flot b),這樣swap這個方法可以實現整形變數值的交換,也可以實現浮點型資料交換了(系統會根據資料的類型自己決定調用合適的方法)
Time of Update: 2018-12-03
本站網友提到Linux小工具indent,試用了一下,果然很好用,現總結一下,期望能給讀者帶來協助。 下載和安裝: 1.對 Linux(Fedora)使用者來說,最簡單的安裝方式是"yum install indent" 2. Windows 使用者可從http://gnuwin32.sourceforge.net/packages/indent.htm下載。 用法: 請參閱:http://www.worldhello.net/doc/program_rules/indent.html,
Time of Update: 2018-12-03
Delphi6/7,c++ Builder6/2007下的StatusBar控制項的功能有限,通過該擴充,可以在StatusBar上加入其他的控制項,如:Edit框,進度條等。該代碼已經使用若干年,現在整理出來,方便有需要的人。 //----------------Start of StatusBarEx --------------------------//檔案名稱:StatusBarEx.pasunit
Time of Update: 2018-12-03
// clrscr.h // // adapted from // Vincent Fatica // vefatica@syr.edu // Syracuse University Mathematics // http://barnyard.syr.edu/~vefatica/ // // by Shannon Bauman // August 9, 1998 // // clear entire console screen buffer #ifndef
Time of Update: 2018-12-03
在c++調用c或者c調用c++時,標頭檔中聲明的函數必須使用'extern "C"進行修飾,這樣才能正常編譯使用。可用於c和c++混合編程。(1) 被extern限定的函數或變數是extern類型的(2) 被extern
Time of Update: 2018-12-03
fputsint fputs ( const char * str, FILE * stream );Write string to streamWrites the string pointed by str to the stream.The function begins copying from the address specified (str) until it reaches the terminating null character ('/0'). This final
Time of Update: 2018-12-03
C裡面可是沒有string的,得用char*實現#include <stdio.h>#include "Base.h"const char base[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";char *base64_encode(const char* data, int data_len){ //int data_len = strlen(data); int
Time of Update: 2018-12-03
繼前一篇關於ActiveX控制項的部落格之後,現在再增加一部分後續的問題如何編寫一個安全的ActiveX控制項ActiveX控制項,用js調用時經常因為IE瀏覽器安全許可權問題被阻止或提示等,先來看下IE使用權限設定,如,IE選項的安全性標籤,選擇自訂層級,可以找到如下所示有一部分專門對ActiveX控制項的設定,如果我們預設設定且編寫一個未標記安全的控制項,則會出現如下被禁用提示點擊允許封鎖的內容當然也可以正常運行,難免覺得不是很友好.下面加上一小段代碼即可標記為安全在我們的ActiveX
Time of Update: 2018-12-04
編譯環境VS2012。如題用C++實現單例模式,代碼如下。#ifndef SINGLETON_H#define SINGLETON_H#endif#ifndef _IOSTREAM_#include <iostream>#endif#ifndef _STRING_#include <string>#endif#ifndef _WINDOWS_#include <windows.h>#endifusing namespace std;class
Time of Update: 2018-12-04
例:ssize_t recvfrom(int sockfd, void *buff, size nbytes, int flags, struct sockaddr *from, socklen_t *addrlen);最後一個參數不可為int*,否則報錯將參數類型改為socklen_t *後恢複正常該資料類型可作為sizeof的傳回值,不需強制轉換(同int?)gcc編譯時間無此問題,利用g++編譯時間出現windows下最後一個參數類型為int可以typedef int socklen_t;
Time of Update: 2018-12-04
這是一個簡單的表達多節點樹的結構的容器。////////////////////////////////////////////////////////////////////////// class name:// tree// description:// tree template used to express tree-liked data structure.// For example, a list of
Time of Update: 2018-12-04
P5: Line -1: 每一個non-inline member function 只會誕生一個函數實體. 至於每一個"擁有零個或一個定義"的 inline function 則會在其每一個使用者(模組)身上產生一個函數實體.這句話不太理解, 難道inline function 會放在對象所儲存的記憶體空間中?我已經測試過了,帶不帶inline function的對象大小都是一樣的. 需要弄清楚這句話到底表達什麼樣的意思.P32: Line 8:現在, 請看這種情況:Bear