iT邦幫忙

0

c # 音階撥放程式異常

我的環境是 win 7 + vs 2017 , 照書上做得怎麼不成功 , 是書上印錯嗎 ? 他是用在 VB , 我換 VC 這樣可以嗎 ?
http://ithelp.ithome.com.tw/upload/images/20170929/20104326RVOt9wGARM.jpg
http://ithelp.ithome.com.tw/upload/images/20170929/20104326QfMk8AIG2d.jpg
http://ithelp.ithome.com.tw/upload/images/20170929/20104326hFhgPVQzEG.jpg
http://ithelp.ithome.com.tw/upload/images/20170929/20104326DERSrtWpso.jpg
http://ithelp.ithome.com.tw/upload/images/20170929/20104326cHsvKvDxWH.jpg

看更多先前的討論...收起先前的討論...
我相信如果大大夠有心...
應該可以自己解決...
我是很多年沒接觸VB~更不用說VC..0.0

不過...可以容我問你...看得懂錯誤訊息的意思嗎?
baida0630 iT邦新手 4 級 ‧ 2017-09-29 16:18:54 檢舉
king742171 大大,我覺得對於新手還是不要太苛刻了,起碼有心照著做是可以鼓勵的。

給alex9453的建議是你先跟著書一模一樣的去做,再去挑戰書之外的事情吧

大家都有剛起步的時候,但是有句話是這麼說的,先學會走在想著怎麼去跑

我現在就算給你查詢類別庫的網站我也相信你也是有看沒有懂,所以我建議你先跟著書一模一樣的做,出了錯去DEBUG,看不懂錯誤訊息再發問。
丹尼 iT邦研究生 4 級 ‧ 2017-09-29 19:36:28 檢舉
阿唷我伊亞
去當兵啦 你就知道怎麼解決事情
丹尼 iT邦研究生 4 級 ‧ 2017-09-29 19:39:55 檢舉
你在那邊摸東摸西不如去投履歷表
請廠商教你教你 學現成的比較快
alex9453 iT邦新手 3 級 ‧ 2017-09-30 17:03:49 檢舉
什麼廠商願意教
巨匠、聯成、資策會願意教,只要你付錢。不過不保證對你有用。
alex9453 iT邦新手 3 級 ‧ 2017-10-20 10:49:14 檢舉
這種課老師講得很爽 , 學生聽了霧殺殺 , 上過兩次當
聽不懂就是要問,而不是認為老師教得很爽就好
多PO XD

2 個回答

0
froce
iT邦高手 2 級 ‧ 2017-10-01 13:42:53
最佳解答

你學習方法完全不對了。
學習一個語言,先聚焦在簡單的處理,然後再慢慢擴大。
至少先把全域、區域變數搞懂再說吧。
請先去練習cmd的程式,練到你至少簡單的都能自己寫出來,熟悉變數生命週期,變數處理,流程控制、條件判斷、函式都可以熟練運用了,再去進階到GUI的程式。

這本書第三章就在教接API,書上有遇到的你可以照抄,沒遇到的你會做嗎?有能力改嗎?自己想清楚該不該先把這本放在旁邊。
書上的範例打不打出來沒關係,問題是你要看懂這些程式碼為什麼放在那個位置、為什麼要這樣用、他用的api是什麼,去那可以看到文件。有時候打出來是可以釐清思路,但是要知道程式不是用背出來的。

你要學web的話真的還早,先把你要學的語言基本該弄懂的弄清楚再說。

2
baida0630
iT邦新手 4 級 ‧ 2017-09-29 16:05:19

...書上怎麼寫就怎麼做好嗎,不知道怎麼去吐槽了

如果你擔心的是書上是vb但是你寫的是c#你加入的參考可能不能用,請先去點我查一下或著你直接照做先試試看能不能動,不是我今天寫c#他是vb我就用VisualCSharp的類別庫去找出一樣的來用

況且你還是用C不是CSharp讓我不知道從哪裡吐槽了

看更多先前的回應...收起先前的回應...
weiclin iT邦高手 4 級 ‧ 2017-09-29 16:16:09 檢舉

其實看他貼的圖, 他用的是 C#
但是把 C# 說成 VC 我也有點頭暈了

baida0630 iT邦新手 4 級 ‧ 2017-09-29 16:23:42 檢舉

對阿 但是新手嘛 給他建議先跟著書做試試看會比較OK的 我剛剛有去查並且試了一下 C# Microsoft.VisualBasic.Devices是可以加入參考的,所以他應該是可行的

weiclin iT邦高手 4 級 ‧ 2017-09-29 17:22:23 檢舉

很好的建議啊, 給你一個讚

小魚 iT邦好手 1 級 ‧ 2017-09-29 19:09:54 檢舉

VB跟C#函式庫基本上是可以共用的,甚至聽說可以同一個專案一部分用C#一部分用VB,只是我沒有這樣試過@@

alex9453 iT邦新手 3 級 ‧ 2017-09-29 23:23:27 檢舉

http://ithelp.ithome.com.tw/upload/images/20170929/20104326eMJ2nnOL15.png
http://ithelp.ithome.com.tw/upload/images/20170929/20104326z95oJKT9LS.png

alex9453 iT邦新手 3 級 ‧ 2017-09-29 23:30:46 檢舉

錯誤訊息 ,有看沒有懂

baida0630 iT邦新手 4 級 ‧ 2017-09-30 09:03:33 檢舉

你第11行放的地方有問題
沒人放在Using下的

我印象是你先對你WindosForm拉畫面的頁面空白的地方點兩下 他會產生一個類似你的p1_click寫code的地方 把第11放在裡面試試看

baida0630 iT邦新手 4 級 ‧ 2017-09-30 09:06:54 檢舉

書這樣寫確實欠缺考慮了,不過前面幾章一定有正確的宣告方式,我建議你回去依樣畫葫蘆。

baida0630 iT邦新手 4 級 ‧ 2017-09-30 09:14:10 檢舉

http://ithelp.ithome.com.tw/upload/images/20170930/20102893RdLvOMsiLl.jpg

baida0630 iT邦新手 4 級 ‧ 2017-09-30 09:15:34 檢舉

只能說你不夠用心,我剛剛看了一下你下面貼的圖跟上面貼的圖差很多,上面幾乎是做對了一半,下面的慘不忍睹

alex9453 iT邦新手 3 級 ‧ 2017-09-30 10:56:08 檢舉

感謝你這麼熱心指導 , 請問另外一個問題 , 我這個算是 MVC 嗎 ? 看了 MVC 簡介 , 咬文嚼字還是不太懂 , 初學直接學 MVC 比較好嗎 ?

alex9453 iT邦新手 3 級 ‧ 2017-09-30 10:59:51 檢舉

http://ithelp.ithome.com.tw/upload/images/20170930/20104326et7uVUGNn9.png

baida0630 iT邦新手 4 級 ‧ 2017-09-30 11:47:36 檢舉

完全不是 你用的是Windows form

alex9453 iT邦新手 3 級 ‧ 2017-09-30 11:48:12 檢舉

請問輸入字停頓時 , 游標就會往下跳 , 這是哪裡需要設定

baida0630 iT邦新手 4 級 ‧ 2017-09-30 11:54:02 檢舉

然後 你要更正一下 這樣才對喔 我是做個範例 告訴你 Computer C = new Computer();
不能放在using正下方

你跟著我放 你的c會找不到 因為你宣告在form_load裡面 只有form_load找的到
http://ithelp.ithome.com.tw/upload/images/20170930/20102893XeabPTnH0c.jpg

baida0630 iT邦新手 4 級 ‧ 2017-09-30 12:02:56 檢舉

你下面那段錯誤就是告訴你 27行的C 他不知道它是來自哪裡的

這時候你有兩個辦法讓他找的到 第一個是在BUTTON_Click裡面做區域宣告 第二個是在整個 class做全域的宣告

testh iT邦新手 4 級 ‧ 2017-09-30 12:05:13 檢舉

我多此一舉了

baida0630 iT邦新手 4 級 ‧ 2017-09-30 12:07:40 檢舉

你做了什麼事情嗎

alex9453 iT邦新手 3 級 ‧ 2017-09-30 12:16:39 檢舉

baida0630 感謝你的指導 , 已經可以執行了 , 你沒回答是否要用 MVC 的意思 , 是說用 Windows form 就好了嗎 ?

baida0630 iT邦新手 4 級 ‧ 2017-09-30 12:20:13 檢舉

先學會走再去跑吧 MVC這個概念對現在的你來說我覺得太"困難"
你先把你手上的書啃熟了 基本的邏輯 偵錯 都用熟了以後開始接觸與資料庫溝通 再去碰MVC吧

baida0630 iT邦新手 4 級 ‧ 2017-09-30 12:29:04 檢舉

寫程式不是照抄就好,要自己去了解為什麼

拿作文來比喻就是需要有起承轉合

我建議你在看書的同時,去了解為什麼這麼做

以這支程式來說 為什麼 他的 Computer要做成全域而不是區域

因為你有不止一個Click會用到他,這樣你可以少寫很多行需要他的時候再拉進去用就好

當你了解了用意,你在練習的時候才有意義。

很顯然你做到3-3章都還是沒了解到為什麼書上要這麼做。

先想再做,如果都是抱著先做再想的態度去業界的話,恭喜你有改不完的BUG修不完的程式在等著你。

alex9453 iT邦新手 3 級 ‧ 2017-09-30 12:57:25 檢舉

原來要先想再做 , 我都先做再想 . 謝謝 !

小魚 iT邦好手 1 級 ‧ 2017-09-30 13:25:31 檢舉

如果你說的是ASP.NET MVC那是網頁的,
WinForm是單機的,
完全是兩個不一樣的東西...

還有看書最好是從第一章開始看跟操作,
懂了再做下一章...
如果書上有附光碟是最好,
就會有範例了...
不過還是建議要從前面開始自己打一遍

alex9453 iT邦新手 3 級 ‧ 2017-09-30 15:38:27 檢舉

剛才試過先想再做,但是沒操作只是看著想,只看的懂一半,這樣就無法想了

alex9453 iT邦新手 3 級 ‧ 2017-09-30 15:40:45 檢舉

所以自己打印象比較深刻,拷貝範例就沒什麼印象了

baida0630 iT邦新手 4 級 ‧ 2017-10-02 13:57:08 檢舉

拷貝範例的用意是讓你先跑過一次程式並了解每個void
的用意是幹麻的,等你了解了再回去想為什麼他這麼做,再去實際的自己操作看看,然後再透過既有功能衍伸出更多功能,拿這隻播放聲音的程式是不是可以再做一個按鈕按下去播放出生日快樂歌或是真善美,你現在說好聽的叫自己寫一遍,難聽一點就是照抄,有意義嗎?沒有。

windows form有個好處是你在設計頁面上雙擊物件兩下會帶你到那個物件的事件裡面,基本上沒有更多複雜的操作很適合新手去練習,如果你要往網頁、系統方向走,那很顯然你選錯學習的書籍了。

我個人學習歷程也是從windows form開始(學校時期),去觸碰到web form是開始工作的時候的事情了,這個學習階段我已經掌握了基本的邏輯判斷式、還有去Debug的部分。

這兩個也是現在你最需要去達成的事情了。

如果你覺得你ok了,嘗試透過windows form做出一個簡易的計算機功能。

當你能完成這個計算機,基本上你對於程式的架構就能比較清楚了。

當完成計算機以後你再去做一個99乘法表的練習,利用兩個迴圈寫九九乘法表,這算是很多公司面試考題,不難但是一堆人寫不出來。

等到這些都ok了我覺得你再去挑戰web form也不遲,你的情況過去遇上前端只會讓你自己更混亂而已,更不要說還有資料庫的部分還沒加入了

我要發表回答

立即登入回答