2011 7 20 總結一下近來學習過程中的波折

2021-05-26 19:22:26 字數 2305 閱讀 6826

從7月8號發下的培訓規範到現在已經有11天的時間了,目前任務的進度有1/3已經實現了,這期間主要是解決了這麼幾個關鍵的地方:

1.串列埠資料的讀取儲存

2.資料的解析

3.繪製星空圖

這是任務進行到此的三個關鍵實現的過程。在實現串列埠資料的讀取時,開始我並不了解什麼是串列埠,串列埠對應於電腦上的哪些埠,串列埠傳送資料的格式是怎麼樣的,

串列埠會把資料傳送到哪,又該如何進行讀取。現在看來我的理解是這樣的,串列埠是眾多埠的一種,也是通常gps與pc連線進行資料互動的方式。

在.net裡serialport類提供了對串列埠的各種操作的類,如搜尋可用的串列埠,建立串列埠物件,設定串列埠的屬性,多種從串列埠讀取資料的方式。了解到了這裡,再結合乙個

參考例項,大致就了解了乙個串列埠讀取資料的過程是如何實現的了,還有乙個重要的地方是,串列埠資料在傳輸時是二進位制的形式(?)在資料緩衝區裡也是二進位制的格

式,而用不同的讀方法(readchar、readbyte、readline、readexisiting)而得到的不一樣形式的資料物件(位元組、字元、字串、字元陣列(?)),然後在將這個讀

取到的物件儲存到相同型別的資料物件,以供下一步所用。

在讀取到資料之後,就是對資料的分析,了解其格式、內容,考慮我們是將之顯示出來,或是直接從中提取出需要用到的資料屬性。這裡涉及到的主要是對字串的處

處理,將字串裡的資料內容通過一定的方式提取出來,然後在轉換成所需要的資料型別(string、int、double、datetime、經緯度、角度),字串處理相信會是一

有意思的部分,對乙個字串,到底會有多少種方法將之變成你所想要的資料呢?大致都是將之分割,匹配提取,轉換格式嗎?再將這些資料按條目的形式儲存到陣列

裡,或者是乙個自己定義的類物件裡,這裡有乙個疑問,為什麼物件資料,在使用的時候需要確定其大小,並將每個物件進行初始化? 最後得到了想要的資料。

在獲得了想要的資料之後,就是將這些資料使用的時候了,簡單的通過介面控制項顯示,一些衛星經緯度資料還可以通過繪製星空圖的方式更形象的顯示,在這個過程中

所遇到的問題是,怎麼樣在我需要的地方繪製我所期望的圖形,我的解決辦法是,通過乙個picturebox控制項,在其之上繪製,之後又遇到了乙個困擾了我兩天的問題,

picturebox 是通過paint事件進行繪製的,在窗體初始化之後,不知道該怎麼再重新觸發paint事件按我給的方法進行再繪製,我去看了事件與委託的介紹,感覺仍不明白

之後,我寫了乙個委託的方法,處理資料的過程中加入判斷,滿足條件時則呼叫這個繪製方法,這裡遇到了乙個大困惑,繪製是通過 graphics 物件(或許不是物件,

graphics沒有建構函式)執行繪製方法完成的,但是在我的委託方法裡,沒有picturebox1的graphics物件,我只看到在paint事件執行的方法裡有個painteventargs類

型的 e ,e 就是那個事件裡繪製動作的執行者,我想e是對應於picturebox1的,而我寫的委託裡雖然也有e,但是卻不是那個e,paint事件裡的e是個引數,我該如何把

它賦給委託方法裡的e呢?始終想不到如何用方法傳遞,最後我在全域性範圍宣告了乙個 graphics物件g,在paint事件執行時的e.graphics賦予給g,然後再在之後的

委託方法裡呼叫g,這在邏輯上應該可以了吧,但是執行的時候卻是不行,提示引數出錯,我想一定是我這樣傳遞物件的方式錯誤,而具體的原因我想是深一層的,期望

得到解答,後來我通過creatgraphics()方法實現了繪製, graphics gg = picturebox1.creatgraphics() ,這樣的gg就是屬於picturebox1的graphics物件了,這樣我用

gg執行的方法就是在picturebox1上繪製圖形了。

其實程式設計的過程就是將處理事情進行邏輯表達的過程,步驟與方法大致相似,但是不同的語言在表現和實現上各有不同,.net類的封裝實現了非常非常多的方法,使得

不需要去自己創造乙個方法(類與方法封裝了實現的細節),不需要每個人都去造輪子,需要做的是去了解這方法有什麼用怎麼用。(這裡不得不說看msdn上的類理

解起來真的吃力),還需要將這些方式試著用,才能更了解其作用,用多了之後也就對這些方法熟悉了。

再回到開始之初,在遇到問題時,我已經想到了處理的邏輯過程,但是該如何去程式設計實現呢?該用哪些方法,處理什麼資料,定義什麼物件,實現什麼過程,這些沒有

人告訴你,但是還好知道該從**找,那就去找去試吧,在這過程中一定會有疑惑和犯錯,不知道方法的用處或用錯方法,這都是乙個經驗積累的過程,積累的錯誤經

驗和正確經驗越來越多時,就能越快的找到正確的方法去解決問題,同時也對其中的某些方法更熟練而得心應手。

程式設計師使用不同的語言幫助人們更智慧型的使用cumputer,為成為乙個合格的程式設計師而努力吧!

大一下學習總結

但是在大學嘛,都是靠自己的自制力,不像在初中和高中一樣,老師和父母天天跟著自己,逼著自己學習。沒有了外界的約束,我有時候覺得自己可以 為所欲為 了,我感覺今天稍微放鬆一下沒事,不是還有明天嘛。每次老師發布了新的東西,在心裡老是想 等到明天再做吧,今天太累了!有多少次,我落下了昨天的課程,打算今天補上...

稍微總結一下

其實整個程式16日的時候應該已經搞得差不多,文件也已經比較詳細。但是由於這個禮拜又是筆試又是面試,所以都沒有時間review整個程式。今天看了一下,改了一些輸出檔案的位置,基本上完成了所有任務了。程式放在 http xiao 81 svn auto testing 下。其中包括三個可執行指令碼 1....

總結一下模板

二叉樹的各種操作 include include include includetypedef struct node tree void createbitree tree p 建樹 return void xpreorder tree p 輸出先序 void zpreorder tree p 輸...