[VB6 ] 很玄!! 百思不得其解

看板Visual_Basic作者 (try it)時間13年前 (2011/08/01 17:44), 編輯推噓2(2016)
留言18則, 5人參與, 最新討論串1/1
小弟是程式新手 從這個暑假開始自學VB試著寫演算法 最近完成一個模擬退火法用來求解排程問題 在執行我設定的例題求解的時候 發現一個很玄的問題 ... 就是我只要在表單上隨便 print一個我演算裡計算的值(本來是用來檢查跑的過程用的) print任何一個值或著print我設的一個記數的參數在計算演算法的迭代次數時 演算法在同樣例題都會跑出較好的解!! 而只要表單上都不print任何的值 (run的速度會快一些) 跑出的結果就會比較差一點... 我知道說了大概會有人覺得很瞎!! 但還是想要分享一下我這個發現... 因為我只是print一個值 不可能會影響程式的運算吧 不知各位先進知道是什麼原因嗎... -- 這個世界什麼都是障眼法 ... 你看到的未必是真 ... 而真的你又未必看得到 !! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.74.222

08/01 18:11, , 1F
請愛用textbox輸出,不要再用print了。
08/01 18:11, 1F

08/02 00:23, , 2F
printf("QQ");
08/02 00:23, 2F

08/02 02:56, , 3F
程式裡面有呼叫ocx or dll or class?
08/02 02:56, 3F

08/02 11:45, , 4F
回M大 我用print印值 只是在檢查運算過程有沒有錯
08/02 11:45, 4F

08/02 11:46, , 5F
回F大 不知道您print"QQ" 是什麼意思?
08/02 11:46, 5F

08/02 11:47, , 6F
回J大 都沒有呼叫您說的那些東西
08/02 11:47, 6F

08/02 12:37, , 7F
print已經上古遺跡了 頂多用debug.print
08/02 12:37, 7F

08/02 12:37, , 8F
上古的東東有一些靈異現象也是正常的
08/02 12:37, 8F

08/02 12:48, , 9F
試試看把那行 print 換成 doevents 在比比看結果
08/02 12:48, 9F

08/02 17:51, , 10F
J大 不好意思!! 不懂您說改成Doevents 該怎麼做?
08/02 17:51, 10F

08/02 17:55, , 11F
雖然不知道F大的意思 不過我真的就隨便print個字串"QQ"
08/02 17:55, 11F

08/02 17:56, , 12F
在我表單上 我是寫在迴圈內 讓他隨著運算印出一整排
08/02 17:56, 12F

08/02 17:57, , 13F
結果得到的解 也會比什麼都不印的好 真的怪哉!!
08/02 17:57, 13F

08/02 23:20, , 14F
貼個程式碼?
08/02 23:20, 14F

08/03 09:52, , 15F
就把你原本的 print "QQ" 換成 doevents
08/03 09:52, 15F

08/08 12:48, , 16F
print 為什麼會這麼玄阿!!
08/08 12:48, 16F

08/08 12:49, , 17F
回J大 我換成Doevents 解真的就變差了!!
08/08 12:49, 17F

08/08 13:59, , 18F
所以說不要用啦 這種上古留下來的黑盒子指令(command)
08/08 13:59, 18F
文章代碼(AID): #1EDdLvoD (Visual_Basic)