首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

。上标越界

2013-01-09 
求助 。下标越界下标越界了i,j 都是intFor i 2 To 8temp.Caption lbl(2, i).Captionj i - 1While tem

求助 。下标越界
下标越界了   i,j 都是int

      For i = 2 To 8
                temp.Caption = lbl(2, i).Caption
        
     j = i - 1
     While temp.Caption < lbl(2, j).Caption   //下标越界。。。
     lbl(2, j + 1).Caption = lbl(2, j).Caption
     j = j - 1
          Wend
      lbl(2, j + 1).Caption = temp.Caption
         Next i
      

另:模块 为

Public a(8) As Integer
Public lbl(1 To 2, 1 To 8) As Label
Public s As Double
Public pause1 As Boolean

[解决办法]

引用:
LS 请问 有什么办法 改进么。。我也大概知道为什么错 但是改不来~~

  For i = 2 To 8
  temp.Caption = lbl(2, i).Caption
   
  j = i - 1
  Do While temp.Caption < lbl(2, j).Caption '//下标越界。。。
  lbl(2, j + 1).Caption = lbl(2, j).Caption
  j = j - 1
  If j < 1 Then Exit Do
  Loop
  lbl(2, j + 1).Caption = temp.Caption
  Next i

[解决办法]
分析了一下楼主的代码逻辑,楼主试下:
For i = 2 To 8
  temp.Caption = lbl(2, i).Caption
  j = i - 1
  Do While (i > 0)
    If (temp.Caption < lbl(2, j).Caption) Then
      lbl(2, j + 1).Caption = lbl(2, j).Caption
    Else
      Exit Do
    End If
    j = j - 1
  Wend
  lbl(2, j + 1).Caption = temp.Caption
Next i

热点排行