1樓:
執行需要的**後迴圈沒有終止,q 一直到259 ,你一次有必要開啟多個音訊檔案嗎?
dim qfor q = 0 to 259select case
case "1"
bianma\"
case "2"
bianma\"
case "3"
bianma\"
end select
close" '關閉mmcontrol1控制元件。
open" '啟動mmcontrol1控制元件。
play"exit for
next q
vb程式設計,大佬看下**錯了?
2樓:夏天的小紅花
樓主沒有把問題的要求說明清楚,現在只能檢查語法上的問題。
其實**本身沒有語法錯誤。這程式**是把文字框中輸入的數,插入到一個有序陣列中,使陣列依然保持有序。
只要補全**中需要的四個控制元件(一個命令按鈕、兩個列表框、一個文字框),就可以正確執行程式了:
private sub command1_click()list1 =
dim a(10) as integer
dim x as integer
x = val(
a(1) =7: a(2) =10: a(3) =13: a(4) =16: a(5) =19
for i = 1 to 5
str(a(i))
next i
i = 5do while a(i) >xa(i + 1) =a(i)
i = i - 1
loopa(i + 1) =x
for i = 1 to 6
str(a(i))
next i
end sub
vb**輸入錯誤會出現什麼
3樓:我的美我的行
分段檢查,把複雜的問題簡單化。把出錯的地方單獨另列為一個程式,單獨執行。
根據錯誤提示,檢查相應的問題。
根據錯誤的情況,大致可分為語法錯誤,執行錯誤,邏輯錯誤三大類情況。
最簡單的是語法錯誤,程式根本不能執行。應該檢查拼寫語法的問題,如拼寫錯誤,變數未定義等,最好將vb設定為要求強制先宣告變數才能使用,否則會因為變數名拼寫錯誤,出現一些莫名其妙的問題。
其次是執行錯誤,在執行過程中提示錯誤。應該檢查相關資料是否正確,是否有被零整除等錯誤,物件不存在,窗體未建立等。
如果程式能執行,但結果與目的不符合,就是出現了邏輯錯誤,這種錯誤是最難找到和修改的。要認真分析程式中的計算過程,是否出現了問題,如計算公式失誤,邏輯關係判斷失誤等。這種情況可以設立斷點,當執行至斷點時,可以在**中檢視當前的狀態,變數值等,判斷是否有問題。
也可以用彈出對話方塊,新增文字框等方法,在程式執行時,將中間的一些狀態顯示出來,便於分析問題所在。
vb 沒執行也會出錯?
4樓:果建翼
樓上搞笑。這種問題80%是你的程式寫的有漏洞。
操作了記憶體或者一些比較危險的控制代碼,使用了copymemory、varptr,callwindowproc之類的相對於vb本身而言比較危險的操作函式,這樣你在執行程式的時候稍微不注意可能就會導致記憶體訪問越界、資料覆蓋、記憶體洩漏、段異常、棧溢位、棧失衡等問題。
注意,這些問題可能不是一發生就立刻導致程式死掉的,而往往帶有滯後性,有問題的**執行完畢之後可能表面上沒有什麼異常,但是整個程式的執行環境某些方面已經被破環了(比如棧失衡),或者是vb託管的一些控制代碼之類的失效,這些會在之後的某個時間導致問題。
至於你的程式為啥會導致vb的ide掛掉,那是因為按f5執行程式,其實vb是工作在解釋模式下的,你寫的程式和vb的ide是同一個程序,所以你程式內的錯誤會導致vb的ide的出錯,而且往往是滯後性的,當你程式退出之後,某些錯誤才會突然發作(最簡單一個例子,你在vb裡面申請一個陣列,然後使用copymemory改變它的safe_array結構,如果在退出程式的時候沒有改回來,那麼在程式退出時vb的ide就會因為**空間出錯而崩掉,當然這個屬於比較bt的用法了)。
你如果新開啟一個vb,載入你的工程,編譯之後獨立啟動執行,就不會出現ide錯誤的現象。這也是許多人在vb6下面除錯比較危險**時候的一個常用手段。或者就養成每次f5之前先儲存的習慣。
補充:都說了這80%是你**的問題,如果你都重新換了個vb還出現這種問題,那20%也基本上被排除了。你還是按我說的先檢查下你的**吧。
如果實在有不明白的可以貼**片段出來讓大家看看,幫你找毛病。
5樓:鬏靈燊
你的vb有問題。。。是vb的錯,不是你的,,,重灌vb吧,你那已經用不了了。
你的程式設計操作了記憶體或其他危險api嗎?
如果是,那可能就是你程式不嚴謹,如果你就只是用vb的內部函式和一些控制元件,這絕對不是你程式的問題。
6樓:匿名使用者
不是vb的問題,你查查病毒吧,因為“**不能為read”是指定記憶體不能讀的意思,如果是“0x0000...的那就說名是程式乾脆就沒有被分配一個記憶體。
7樓:匿名使用者
“**不能為read”是典型的記憶體訪問越界,比如vb中一個簡單的語句就可以導致這個錯誤:
copymemory byval 0&, 0, 1 '向地址0寫入資料。
你確定你的vb程式中有沒有直接訪問記憶體?或者有沒有引用一些其他的庫?這些庫可能不完善或者庫裡面有比較危險的操作。
一些vb問題
8樓:匿名使用者
1、print輸出時,是靠逗號和分號來連線下一個輸出內容的,雖然逗號表示隔一段距離輸出,分號表示緊密相連,但是總是將本來應該下一行輸出的內容“拉”到同一行。
如果光溜溜的輸入一個print,後面自然不帶分號和逗號,那必然換行,輸出內容了,但是內容是“空”,你是看不見的。而這個“空”後面,不帶逗號和分號,後續輸出內容自然另成一行。
2、str表示將數字轉化成字元,所以裡面只能是數字,你如果純粹輸出數字比如print 5,得到的5前面也是有空格的,這個空格是放正負號的,不信你輸-5看看,由此,str轉化後,前面也得有空格。
3、可以修改,但是不建議這樣改,你可以在form_load的時候add進去。
4、想不想show,就看你自己需要不需要。
5、k的取值分別是10, 25 40,迴圈3次,掉出迴圈後k為55,s就是10+25+40
9樓:匿名使用者
1.不能 2.格式問題 3.可以 4.有多個視窗有時候。
10樓:網友
能表示換行而非另加一空行嗎 【可以】,(n為數字)是字元,為什麼前後還有空格 【這個是vb的問題,可以用trim(str(n))】
3.下拉選單框的text屬效能在屬性視窗修改嗎 【可以,但需這個的style屬性值為0】
4.什麼時候formload 中要加show 【當你需要載入且顯示另一個未顯示(或隱藏了)的視窗時】
for k=10 to 50 step 15s=s+k
next k
print s
s=75】s=多少。
在VB執行中為什麼會出現實時錯誤11除數為零啊
vb裡沒有 這個常數 出現以後按變數處理 沒有賦值以前 0 所以會出現這樣情況 前邊加一句 3.1415926 就可以了 vb是不會知道這個 究竟是什麼東東的 它會認為是個未宣告的變數,初始值為專0,這樣屬的話4 實際上就相當於4 0 了,這不就是除數為零嗎?應該把 宣告為常數 要放在窗體 的通用部...
VB這個為什麼執行不出來,要怎麼修改呢
private sub form click dim i n1 n2 n1 2 for i 1 to 1000 n2 2 i 2 2 i 1 2 i 1 n1 n1 n2 if i 10 then msgbox 當n 10 時,n1 if i 100 then msgbox 當n 100 時,n1 ...
為什麼驗證碼總是顯示錯誤,為什麼輸入的驗證碼明明對了,系統卻總是顯示 輸入的驗證碼錯誤?
驗證碼錯誤多數情況出現在網路繁忙或者網路不穩定的時候的,因為你網路處於繁忙的狀態下,伺服器和使用者所看到的驗證碼不同同步,這樣伺服器上的驗證碼和使用者所看到的驗證碼不同就導致驗證錯誤,就需要你繼續提交驗證碼的!你可以嘗試多輸入幾次,或者是稍等下再試!希望能幫到你噢!有問題可追問 這是因為頁面重新整理...