2009年4月18日 星期六

Visual Basic 教學

http://4rdp.blogspot.com/2009/04/visual-basic-tuition.html

之前與阿吉老師餐敘時,他提到對 Cube Solver 非常感興趣,希望能製作一套解魔術方塊的機器,期望以 NILabView 設計,這一點個人看法不同,雖然 LabView 功能強大,可以像 NXT-G 簡單設計 PC 程式,但是,不是每個人都買的起 LabView (最便宜的至少也要 NT 40000元)!成立研發養成所的目的,希望提供廉價或甚至免費的資訊給需要的人,讓參考過我的文章的人能獲取關鍵訊息,然後內化成自己的知識,爾後創作出好的作品,再分享給其他的人。

設計 Cube Solver 有很多種方法:
LEGO MINDSTORMS NXT 的玩家,可以由 NXT 顏色辨識到旋轉方塊解題,不限程式語言種類,以一個 NXT 程式全部包辦;也可以和電腦程式分工處理,就是 NXT 負責顏色辨識,將資料傳給 PC 程式計算解題,之後 PC 控制 NXT 轉動魔術方塊完成;沒有 NXT 的人可以寫純 PC 程式玩看看,反正重點在學程式設計,因此取得方便好用的程式工具,是學程式設計的第一步。

PC 程式語言百百種,功能用途不一也有難易分別,有想過在研發養成所貼 HTMLJavaScript 相關文章,就個人經驗,寫網頁程式難度比一般應用程式較難,因為必須先懂 HTML,然後再利用網頁程式控制頗為複雜,另外遇到不同瀏覽器,有些寫法會不同,因此它不適合入門程式設計領域。如果一般電腦只安裝 Microsoft Office,可以嘗試寫 VBA 但是也有缺點,它是 VB (Visual Basic) 的極精簡版很多功能被限制,想寫出 VB 原有的簡單功能,反而程式搞的更複雜,這會令入門者望之卻步。因此我推薦程式設計入門者用 Microsoft VB Express,它免費並且功能齊全,未來程式轉移至正版 VB 不用修改就可以使用。

想在 PC 上控制 NXT 執行 Cube Solver,有兩個重要控制項必備:通訊埠與計時器。以 JavaScript 設計須引用外部 DLL 的 ActiveXObject,我找不到微軟有官方技術發佈,這可能涉及網頁控制本機安全性問題,不過有 Third Party 提供解決方案但是要$$。VBA 這兩樣東西都沒提供,如果你決定用 VBA 搞程式,無論你是用 API 或是 OCX 來解決,都會讓你傷腦筋,而使用 VB Express 設計,不必煩惱這兩樣控制項。

未來幾篇文章,將指導各位如何以 VB 設計 Cube Solver,原則上我只提供釣竿教你釣魚,程式還是自己寫比較有趣,比較有成就感,學會這些關鍵技術,自己就可以像組合樂高積木設計出好玩的作品。

沒有留言:

張貼留言