Time of Update: 2018-12-04
許多時候, 點了某個按鈕後,資料讀寫需要一段時間, 這時候,有的人需要來個小表單,炫一炫,或者出於業務需要,不讓使用者進行任何操作. 1.先做一個表單.(1).表單無邊框.(2).表單透明度為0.01(1%), 調試時, 最好弄個紅色的, 容易看清楚效果.(3).背景色設成跟主表單色調相近或一樣的顏色.(4).TopMost為真.(5).UseWaitCursor為真.(6).StartPosition為Manual(手動),設成別的,等待表單會亂跑.(7).Name暫時命名為maskForm.
Time of Update: 2018-12-04
using System;using System.Management;namespace DiskQuota{ /// <summary> /// Class1 的摘要說明。 /// </summary> class Class1 { /// <summary> /// 應用程式的主進入點。 /// </summary> [STAThread] static void Main(string[] args) { try {
Time of Update: 2018-12-04
app.csusing System;using System.IO;namespace com.todayisp.bakup{ /// <summary> /// app 的摘要說明。 /// </summary> public class app { //列舉某個盤下面的所有目錄,不包括檔案。 //目錄路徑pathstr,如e:/ //返回以目錄組成的數組。 public string[] Directorys(string pathstr) { if(
Time of Update: 2018-12-04
模板方法模式(Template Method):定義一個操作中的演算法的骨架,而將一些方法實現延遲到子類。模板方法使得子類可以不改變一個演算法的結構即可以重定義該演算法的某些特定步驟。 通俗一點講,假設一個類或者演算法實現需要調用函數f1、f2、f3,調用的順序確定,為f1,f2,f3,但是對於不同的類,不同的演算法,f1、f2、f3的實現過程會有不同;那麼模板方法怎麼解決問題的呢?首先,定義一個函數將f1、f2、f3按確定的順序封裝起來,並將該函數定義為virtual
Time of Update: 2018-12-04
c程式如何啟動:當核心執行C程式時(使用exec函數),在調用main函數之前調用一個特殊的啟動常式。可執行檔將此啟動常式指定為程式的起始地址---這是由串連編輯器設定的,而串連編輯器由c的編譯器調用。同時,啟動常式從核心取得命令列參數和環境變數。進程的終止總共有8種方式使進程終止,其中前5種正常,後3種不正常。從main返回。在這種方式中,main函數返回後立即調用exit函數。調用exit函數。
Time of Update: 2018-12-04
在Modern C++ Design中提到了很多關於模板的用法,給我印象最深的是Typelist,其他的主要是看不懂,所以不知道有什麼用,所以這裡不談。但是對於Typelist,書中講述了如何?,但卻沒有用法介紹,我這裡給出一個例子:#include <iostream>#include <assert.h>#include "typelist.h"using namespace std;struct MsgRegisterRequest{ int container_
Time of Update: 2018-12-04
setlocale配置地區化資訊。文法: char * setlocale ( int category, const char * locale );傳回值: 字串函數種類: 作業系統與環境內容說明本函數用來配置地區的資訊,設定當前程式使用的本地化資訊。參數 category 有下列的選擇: * LC_ALL 包括下面的全項選項都要。 * LC_COLLATE 配置字串比較,PHP 目前尚未實作出來本項。 * LC_CTYPE 配置字元類別及轉換。例如全變大寫
Time of Update: 2018-12-04
最近做了個題目,遇到了要將字串前後空格消除的細節問題。在Java中好像有一個字串函數為trim()可以消除字串後的空格。對於c++,查了一下,可以引用一個c++標準庫Boost,可以輕鬆解決,但要下載,設定環境變數,因而沒去弄。當然還可以用Regex進行匹配,但似乎都大材小用。不如就用substr()函數,而且string有find_last_not_of,find_first_not_of等等屬性,已經夠我們解決問題了。#include <iostream> #include &
Time of Update: 2018-12-04
範圍:變數名有效範圍 存在期:變數在程式中存在的時期. 儲存方式:auto, register, extern, static 儲存空間類型: 棧(stack):自動分配和清除的變數.如:局部變數和函數參數等 堆(heap):由malloc等函數分配的空間. (在c++裡這叫自由儲存區,而把new得來的空間叫做堆) 全域/靜態儲存區:儲存全域變數和靜態變數. 常量儲存區:儲存常量(常量字串,magic number等),不允許修改. 類型補充範圍存在期初始化外部定義(函數外面)
Time of Update: 2018-12-04
C/C++中Static的作用詳述一.在C語言中,static的字面意思很容易把我們匯入歧途,其實它的作用有三條。(1)先來介紹它的第一條也是最重要的一條:隱藏。當我們同時編譯多個檔案時,所有未加static首碼的全域變數和函數都具有全域可見度。為理解這句話,我舉例來說明。我們要同時編譯兩個源檔案,一個是a.c,另一個是main.c。下面是a.c的內容char a = 'A'; // global variablevoid
Time of Update: 2018-12-04
文章目錄 第一種條件編譯第二種條件編譯 先行編譯是整個編譯過程的第一步,是g++ -E選項輸出的結果。這個步驟處理的是源檔案/標頭檔中的宏,巨集指令常用的有以下幾類:檔案包含:#include宏定義:#define、#undef條件編譯:#ifdef、#ifndef、#if、#elif、#else、#endif1. 檔案包含 #include預先處理會把要包含的檔案的內容全部包含進來,比如下面這個檔案prepro.cpp:#include
Time of Update: 2018-12-04
昨天發貼提了個問題,今天總結在這。原帖點擊進入,有興趣可以看看,我呆會兒還會說。C++的new是語言自訂的操作符,這個操作符的行為包含兩件事,而且你不能改變。第一件事:調用operator new分配記憶體。所以通常說的重載new函數其實重載的是operator new,你無法重載new。第二件事:調用你要new的對象的所屬類的建構函式初始化第一步中分配的記憶體。這就是為什麼你Object *pobj = new
Time of Update: 2018-12-04
例子:在C的main函數中調用組合語言寫的addone函數,把傳入的參數加一然後返回。彙編裡面首先要把用到的寄存器壓棧,使用指令global使函數可以在其他檔案中調用,順便說一句,C中的static函數之所以只能在本檔案中可用,就是編譯後的彙編檔案沒有用global指令,彙編的傳回值放在EAX寄存器中。彙編檔案名稱是addone.asm,彙編方法在後面,內容如下:global addone;addone:MOV RAX, [RSP + 20]; stack top + 20 bytesADD
Time of Update: 2018-12-04
C++ 計時器 單位【原文出處】http://my.csdn.net/yuhentian/code/detail/29603C++中基本的計時器使用,有多種基本單位可選//Windows系統下time(),clock(),timeGetTime(),GetTickCount(),QueryPerformanceCounter()來計時#include <stdio.h> #include <windows.h> #include <time.h>
Time of Update: 2018-12-04
使用宏時,用圓括弧括住每個參數,並括住宏的整體定義;一般來說,在宏中不要使用自增或自減運算子。 下面是一些常見的宏定義: [1]最值#define MIN(x, y) (((x) < (y)) ? (x) : (y))求兩者間的較小者#define MAX(x, y) (((x) > (y)) ? (x) : (y))求兩者間的較大者#define MAX3(x,y,z) MAX(MAX(x,y),z)求三者間的較大者[2]移位#define SHIFT(value, n)
Time of Update: 2018-12-04
在C++中,記憶體分成5個區,他們分別是堆、棧、自由儲存區、全域/靜態儲存區和常量儲存區。 棧,就是那些由編譯器在需要的時候分配,在不需要的時候自動清楚的變數的儲存區。裡面的變數通常是局部變數、函數參數等。 堆,就是那些由new分配的記憶體塊,他們的釋放編譯器不去管,由我們的應用程式去控制,一般一個new就要對應一個delete。如果程式員沒有釋放掉,那麼在程式結束後,作業系統會自動回收。
Time of Update: 2018-12-04
按照此書作者要求,今天先從這本書的 附錄習題開始,摸個底以下是做錯的:1.請填寫BOOL , float, 指標變數 與“零值”比較的 if 語句錯誤風格:if (flag == TRUE)if (flag == 1 )if (flag == FALSE)if (flag == 0)正確風格:if ( flag )if ( !flag ) 2.請寫出 float x 與“零值”比較的 if 語句錯誤風格:if (x == 0.0)if (x != 0.0)正確風格:const float
Time of Update: 2018-12-04
國際C語言混亂代碼大賽(IOCCC)是一項年度競賽,自1984年以來一直延續至今。它由Landon Curt和Larry Bassel在USENET上舉辦,冬天接收參賽作品,春天評判,夏天公布獲勝者。 隨便貼兩段,你能看懂嗎?。。。。。。。。。 X=1024; Y=768; A=3;J=0;K=-10;L=-7;M=1296;N=36;O=255;P=9;_=1<<15;E;S;C;D;F(b){E="1""111886:6:??AAF""FHHMMOO55557799@@>
Time of Update: 2018-12-04
[f@pc-lzs MyTest]$ cat data.dat 000000012, 3 000000023, 1 000000123, 1 000000124, 5 [f@pc-lzs MyTest]$ ./test [f@pc-lzs MyTest]$ cat data.dat 000000001, 5 000000012, 3 000000023, 6 000000080, 10 000000123, 1 000000124, 5 000000
Time of Update: 2018-12-04
1.終於RVDS4.0可以完全取代RVDS2.2了,之前因為RVDS4.0在調試上面無法同步顯示C代碼,因此調試起來不大方便,一直使用AXD進行調試,昨天晚上在網上查了一下,發現GCC裡面需要添加-g這個參數才能添加同步調試資訊,我就嘗試的在RVDS4.0上面試了一下,果真可以,現在和大家分享一下,終於可以完全拋棄古老的RVDS2.2了。2.建議大家使用RVDS4.0的時候關閉或者將最佳化調到最低,否則可能會出現各種意向不到的問題。3.其實AXD卡死不是AXD或者RVDS2.2的問題,這個其實是