Time of Update: 2018-12-04
網路編程真麻煩,只能這麼死記硬背了. private void myButton1_Click(object sender, EventArgs e) { //建立串連,發送訊息 System.Net.Sockets.TcpClient tcp = new System.Net.Sockets.TcpClient("192.168.24.23", 8051); string signal = "create
Time of Update: 2018-12-04
private void myButton2_Click(object sender, EventArgs e) { //Execute("net user zero 0571m.com /add", 0); string output = Execute("ver" + "/r/n", 0); Console.WriteLine(output); } public static
Time of Update: 2018-12-04
沒啥大用,感覺做個上下班時間 ,可能還不錯.呵呵 private void sysLogViewEdit(string strF) { if (strF == "1") { EventLog log = new EventLog(); try { log.Source = "my app";
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
public enum DateInterval { Second, Minute, Hour, Day, Week, Month, Quarter, Year } public long DateDiff(DateInterval Interval, System.DateTime StartDate, System.DateTime EndDate) ...{ long lngDateDiffValue = 0; System
Time of Update: 2018-12-04
需要引入 System.Management . public string NetStatus() { ManagementObjectCollection objects; string status = ""; ManagementObjectSearcher searcher = new ManagementObjectSearcher();
Time of Update: 2018-12-04
1.先建一類ControlMoveResize.csusing System;using System.Collections.Generic;using System.Text;using System.Drawing;using System.Windows.Forms;namespace yaohao{ class ControlMoveResize { bool IsMoving = false; Point
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
策略模式(Strategy):它定義了演算法家族,分別封裝起來,讓他們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。上面是《大話設計模式》中給出的定義,感覺這個概念給的不好,看了之後不能完全清晰明白該模式(可能自己水平太水的原因吧)。在《effective c++》中指出,策略模式是virtual
Time of Update: 2018-12-04
我們使用tcp上傳圖片,設計思路是:服務端一直開著,用戶端上傳圖片,需要給服務端一個圖片的路徑,在服務端使用用戶端的檔案名稱在儲存。如果重名,我們就加一個序號。因為圖片上傳我們使用的是位元組流,所有我們先用一個長度為100的位元組數組開儲存檔案名稱。然後服務端使用前面一百個資料開擷取檔案名稱下面貼出源碼:用戶端:package com.hsj.net.upload;import java.io.BufferedInputStream;import java.io.File;import
Time of Update: 2018-12-04
在供應鏈這個模組中,建議不要使用ctrl+c、v在為啟用儲存格的狀態下進行粘貼、複製。因為在代碼中使用了 kdtEntries.getActionMap().remove("Paste");進行如果我們需要這個功能的話,建議現在二次開發的建構函式中先擷取、然後在添加action_past=(KDTTransferAction)kdtEntries.getActionMap().get("Paste");
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
1、在cpp檔案中調用c檔案中實現的函數的時候,需要用extern "C"聲明該函數,否則cpp會按名字改編後的函數名去找該函數而找不到。(這是作用) c檔案中有一函數: void Transfer(int a; char b); cpp檔案中必須用extern "C"聲明該函數如下才可以實行調用: extern "C" void Transfer(int a; char
Time of Update: 2018-12-04
來源程式編譯 Makefile的編寫 程式庫的連結 程式的調試 標頭檔和系統求助 1.來源程式的編譯 在Linux下面,如果要編譯一個C語言來源程式,我們要使用GNU的gcc編譯器. 下面我們以一個執行個體來說明如何使用gcc編譯器. 假設我們有下面一個非常簡單的來源程式(hello.c): int main(int argc,char **argv) { printf( " "Hello Linux " "); } 要編譯這個程式,