要弄清楚這兩個問題,就要明白For循環(huán)語句的語法規(guī)則:
創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、大柴旦網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、H5場景定制、商城網(wǎng)站建設、集團公司官網(wǎng)建設、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為大柴旦等各大城市提供網(wǎng)站開發(fā)制作服務。
For循環(huán)語句,首先是判斷循環(huán)條件,如果循環(huán)條件不合理,則循環(huán)不執(zhí)行。
那么看第一個語句,循環(huán)范圍是 i = -3.5 to 5.5,顯然這個是一個從-3.5到5.5的遞增范圍,可是后面的Step卻是一個負數(shù),表示以0.5的步長遞減。取值范圍要求從小到大,可是步長改變卻是由大變小,顯然這個循環(huán)條件自相矛盾,所以循環(huán)將不會執(zhí)行,也就是循環(huán)執(zhí)行的次數(shù)是0次!
如果循環(huán)條件合理,則開始執(zhí)行循環(huán)語句,直到根據(jù)步長變換,下一個值超出循環(huán)范圍則終止。
For j = 6 to 2 Step -2
Next
完整寫法就是:
For j = 6 to 2 Step -2
Next j
Next j的意思就是下一個j值。結(jié)合本題,下一個j值等于6-2=4,這個時候,就是循環(huán)語句的第二個規(guī)則,判斷循環(huán)變量的值是否超出循環(huán)范圍,我們這里的j=4,顯然是在6 to 2這個范圍之內(nèi),所以循環(huán)繼續(xù),到下一個j的時候為2,依然在循環(huán)范圍內(nèi);到這里,6,4,2我們的循環(huán)執(zhí)行了3次,準備第4次循環(huán)的時候j = 2 -2 = 0超過了6 to 2這個范圍,那么循環(huán)終止。
所以i循環(huán)內(nèi)的每一個j循環(huán)將執(zhí)行3次。
你確信只循環(huán)一次嗎?我看不像,在最后添加上一句msgbox jishu1,多半顯示3。
是在第二塊代碼中有問題,你應該把chaxun4 = xlsheet.Range("l1").Value + 2分別放到兩個條件句中初始chaxun4變量。
因為上一個Do Until atmbianhaop = xlsheet.Range("B" chaxun4).Value 循環(huán)退出后,下一個循環(huán)一開始就符合退出條件了,所以循環(huán)沒有進行了。
dim i
for i=2 to 1
msgbox("*")
next
語法沒問題,這應該在winform里面能夠調(diào)試成功,顯示運行框,但是在web application里面就不能出現(xiàn)彈出信息框了,在網(wǎng)頁上要出現(xiàn),建議用response.write("scriptalert('***')/script").
for i=100 to 1 這樣的語句在VB9.0后是支持的。樓下的,不要天天抱著VB6啃。
你先新建一個控制臺應用程序,然后全部復制就行了,用 Ctrl + F5 調(diào)試
Module Module1
Sub Main()
Dim temp As String = "*"
Dim i, j As Short
For i = 1 To 5 Step +2
For j = 1 To i
Console.Write("{0} ", temp)
Next j
Console.WriteLine("")
Next i
Console.ReadLine()
End Sub
End Module
其實你這樣不就好了
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a As String = "*" vbCrLf "* * *" vbCrLf "* * * * *"
MessageBox.Show(a)
End Sub
多方便
'假設數(shù)組如下
dim d(10) as integer
dim i as integer
for i=lbound(d) to ubound(d)
d(i) = i
next i
'數(shù)組各元素之和
dim S as integer = 0
for i=lbound(d) to ubound(d)
s = s + d(i)
next i
msgbox(s)
我寫了一段代碼,注意你讀取的方法,我改進了一下 Imports System.IO ‘代碼窗體的最上端一定要聲明
Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sr As StreamReader Dim TextBox As Control
Dim i As Integer
i = 1
For Each TextBox In Me.Controls
If TypeName(TextBox) = "TextBox" Then sr = New StreamReader("c:\save\" i ".ini", System.Text.Encoding.Default) ’注意選擇編碼方式,按你原來的方法,未設置編碼,顯示的是亂碼!路徑請按你的情況改! TextBox.Text = sr.ReadToEnd()
i += 1 End If
Next
MsgBox("已經(jīng)載入" i - 1 "個文件") End Sub注意:這樣的代碼是倒序的,第一個文本框顯示的是最后一個文件的內(nèi)容!請酌情處理!