Time of Update: 2018-12-03
在不依賴介面的使用WebBrowser的前提下,可以用.net封裝好的WebClient下載頁面,也可以用HttpRequest發請求。當然,也可以退回去用xmlhttp這個com組件擷取。事實證明,com組件非常快,而且很好用。因為頁面的編碼是自動識別的。多的不說,看代碼,以下測試代碼需要添加COM引用:Microsoft Xml任意版本都可以,我用的是6.0。測試代碼如下。效果非常明顯public static void Test(){ int tick =
Time of Update: 2018-12-03
正則可以實現關鍵字尋找,但效率很低。就把KMP稍微修改,實現一個效率還比較好的KMP關鍵字尋找演算法。c#實現的。話不多說,貼代碼。//擷取nextpublic static int[] GetKmpNext(string pattern){ int[] next = new int[pattern.Length]; next[0] = -1; if (pattern.Length < 2) return next; next[1] = 0; int i =
Time of Update: 2018-12-03
public struct AA{ public int value; public AA(int v) { value = v; }}public class Test{ public void Run() { List<AA> datas = new List<AA>(); datas.Add(new AA(1)); datas.Add(new AA(2));
Time of Update: 2018-12-03
用51單片機的定時器0的方式1計時,結果用4位元碼管顯示,分別為秒十位,秒個位,毫秒百位,毫秒十位。所以總共最大計時為1分鐘,精確到了0.01s。同時,加上3個獨立按鍵,分別控制秒錶的清零,暫停和開始功能。 按照模組化的思想,首先先把要用的函數和預定義寫到一個標頭檔中,要用到的預定義和全域變數如下:#include <reg52.h>#define uchar unsigned charsbit Clear=P3^7; //按鍵實現清零sbit Stop=P3^
Time of Update: 2018-12-03
可能是Debian這個版本的小bug,或者是由於自身電腦的問題,可能導致很多朋友在安裝Linux6.0時,明明在安裝過程中如果選擇了簡體中文,可是安裝完成後中文字型亂碼,就是方框。這的確是個頭疼的問題,如果是個新手的話,根本不知道各個選項的表徵圖,無從下手。造成這種亂碼的原因的確是中文字型沒有安裝,既然知道了根源,那麼問題是可以解決的。網上有很多解決的辦法,幾乎能搜到的我都試過,比如,從終端裡直接安裝字型,但是試過多次沒有成功;從Windows拷貝字型庫,安裝到Linux的/usr/fonts/
Time of Update: 2018-12-03
這幾天打算好好開始看郭天祥的單片機視頻,自己也寫了一個獨立鍵盤的51單片機程式,開發環境為Keil C51。剛開始看,功能並不是很複雜,由51單片機的P1^7口接LED燈,P0口作為6位元碼管的位選線和段選線,6位元碼管每次顯示相同的數字。位選和段選的控制由P2^7,P2^6口。按鍵只有一個,一端與地相連,一端接P3^7口。當按下按鍵時,LED燈會發光,同時6位元碼管顯示的數字加1,從0~F後返回0。鬆開按鍵後,LED燈滅。閑話少說,上代碼: #include
Time of Update: 2018-12-03
Linux下安裝、配置ACE 最近打算開始學習Linux下的C++程式開發,經過幾天的搜尋,發現ACE這套架構不錯,最主要的是能夠跨平台。不過在安裝的過程中還是走了不少的彎路,在此記錄下來。一、下載安裝包:[url]http://download.dre.vanderbilt.edu/[/url]由於我只需要使用ACE,因此我只下載了ACE.tar.gz二、安裝前的配置首先把檔案解壓,我解壓在了/Software檔案夾下,解壓後會出現一個名字為ACE_wrappers的檔案夾。這樣所有ACE的源
Time of Update: 2018-12-03
using System.Windows.Forms;public class SynchronizedScrollRichTextBox : System.Windows.Forms.RichTextBox{ public SynchronizedScrollRichTextBox Synchronized { get; set; } public const int WM_VSCROLL = 0x115; public const int EM_LINESCROLL = 0
Time of Update: 2018-12-03
FFT(快速傅裡葉變換)是數字訊號處理的經典演算法,學過DSP或者晶片設計的人大多知道這個演算法。但是,大家是否想過,為什麼數字訊號處理會有那麼多FFT呢?有人會說,為了分析訊號的頻譜。那麼下邊的問題就是,分析頻譜對我們的日常需求,比如手機打電話,雷達測量速度和方向等等一些與實際需求有什麼聯絡?為什麼FFT如此重要?本文舉一些簡明的例子,闡釋一下FFT到底有什麼用。先回憶一下FFT是什麼。上世紀70年代之前,我們主要通過類比電路來進行訊號處理,比如大家熟悉的用二極體和電容進行AM調製訊號的包絡檢
Time of Update: 2018-12-03
單片機和PC機間的通訊有很多方式,下面的程式主要用到的是51單片機的非同步串列通訊。 一.51單片機的串列通訊管腳 P3.1為單片機的TXD管腳(Transfer Data),P3.2為單片機的RXD管腳(Receive
Time of Update: 2018-12-03
掙脫羈絆,才能飛得更高、更遠。 程代展先生的“昨夜無眠”,讓我半夜無眠。在那篇博文的最後,程先生髮出這樣的疑問:是我錯了,還是他錯了?如果一定要在程先生和那位優秀的學生之間找一個錯者,我選程先生。錯誤的原因很簡單,程先生既是導師,更是嚴父。 錯誤一、己所夢,勿施於人
Time of Update: 2018-12-03
我不知道我的這個標題是否合適.反正不管了.我只是希望用輕鬆的寫法把設計模式表示清楚.(當然也許不清楚)反正我就怎麼寫了.OK,現在好了.如果在旅行中一個旅者有很多種狀態.這些狀態會直接影響到他的行為.例如.餓了就去吃飯.渴了就要喝水.累了就要休息.正常狀態就要繼續旅行.並且這些狀態相互切換.那麼你會怎麼做?如果是我.我首先會想到使用開關.那要直觀簡單.Ok那我們就那麼做enum myState {HUNGRY ,ADRY,TIRE,OK};public class StateManager{
Time of Update: 2018-12-03
上一篇文章主要羅列了一些編寫串口通訊必要的知識點。在具體的編程中,還有很多要注意的地方。下面的程式的主要功能為:通過串口調試助手向51單片機發送一個字母,單片機接收後,在數位管上顯示這個字母,並將這個字母反向顯示到串口調試助手的介面裡。51單片機的標頭檔中已經定義了串口緩衝區等一系列特殊功能寄存器,開啟標頭檔就可以找到下面這樣的定義:sfr SCON = 0x98;sfr SBUF = 0x99;等等。首先建立立一個標頭檔,將程式中要用到的變數和函式宣告寫進去:#include
Time of Update: 2018-12-03
其實我是想說平衡組,但我並是想寫一篇給零基礎的朋友們閱讀,我希望你是對正則有所瞭解,對平衡組不太瞭解的朋友閱讀。如果已經瞭解,看看也無妨。多一點思路。 分組捕獲 - ()就是用括弧把要匹配的內容擴起來 命名分組捕獲 -
Time of Update: 2018-12-03
執筆人:Dong W, Wenqi Y, Yiyi
Time of Update: 2018-12-03
很顯然.我們目前所生活的世界裡.到處都有這類人.他們很願意協助我們去完成我自身完成起來很困難的工作.願意充當一個中介層.在這一個層次中.Proxy代理就是主導.他會為我們處理那些看上去很彆扭的事情.畢竟我們的目的是制定總體方針.兒細節可以交給代理來完成.事實上,很多情況.我們都用到了代理.例如典型的我們在.NET中使用WebService就已經在使用Proxy.通過這個代理和實際的遠程對象打交道.實際的遠程對象又是通過WebService做介面來傳遞.這也就是所謂的遠程代理.當然還有很多的代理
Time of Update: 2018-12-03
要想實現人機互動,顯示裝置是不可缺少的。前面講到了如何利用單片機控制數位管的顯示,這篇文章主要關於如何控制液晶顯示,並在此基礎上加上定時器的功能,把原來已用數位管顯示的定時器搬到液晶屏上來。這裡用到的液晶為LCD1602,能夠同時顯示16x02即32個字元(16列2行)。1602液晶模組內部的字元發生儲存空間(CGROM)已經儲存了160個不同的點陣字元圖形,這些字元有:阿拉伯數字、英文字母的大小寫、常用的符號等,直接向其寫入ASCII碼即可顯示相應字元。1602共16個
Time of Update: 2018-12-03
新學期的開始,無疑是夠鬱悶的,發生了一系列讓人抓狂的事情,一再折磨自己。今天成績公布,果不其然,自己的成績被其他人無情地爆出翔來了,排名下降很多,創下了自己的排名最差紀錄······其實,我不會太看重成績,作為一名工科學生,我想比卷面上的學習成績更重要的是自己從大學幾年的基礎課也好,專業課也好,學到的解決工程實踐問題的能力,能夠把自己腦中所想的設計變為現實,帶來技術的進步,自己有很好的工作,為社會做出一個公民應該有的貢獻。但是,顯然,自己的實踐能力也不怎麼樣。半途而廢,似乎是自己現在最大的問題。
Time of Update: 2018-12-03
選修實驗要求研究一下Robotics ToolBox,好不容易在網上找到一些參考資料,沒想到新的工具箱中許多函數都有變化了,只好硬著頭皮看Lecture Notes了,好不容易憋出了幾行程式%第一個機器人模型%6個旋轉關節%xmfbitclear L1 L2 L3 L4 L5 L6 R qz qr t q qdd qdclose allclcL1=Link([0,0,20,0,0]);L2=Link([0,0,20,0,0]);L3=Link([0,0,20,pi/2,0]);L4=Link([
Time of Update: 2018-12-03
IDE86是一款組合語言編譯,調試,啟動並執行IDE環境。當然,從現在的角度看,它的介面並不友好,看上去也比較水,不過畢竟是上世紀80年代的東西了,水就水吧。。。下面就是Integration