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

哪位高手帮小弟我分析上,Case 7 '全部的代码如何实现

2012-08-13 
谁帮我分析下,Case 7 全部的代码怎么实现VB codePublic Sub TabStrip1_Click()Dim J As IntegerDim k As

谁帮我分析下,Case 7 '全部的代码怎么实现

VB code
Public Sub TabStrip1_Click()    Dim J As Integer    Dim k As Integer    Dim I As Integer    Dim PO_Z As Long    Dim temp As Long    Dim AX, AY As Integer    Dim P2_buff() As Byte    ReDim P2_buff(0 To (XP_W + 1) * (XP_H + 1) * 3 - 1)    Dim TEMP_BUFF() As Byte    ReDim TEMP_BUFF(0 To (BMP_BUFF_DX))    Dim TEMP_XXS_XBSB As Integer '需显示细胞下标    For I = 0 To MAX_XS_GS - 1        Picture2(I).Visible = False    Next    If TabStrip1.SelectedItem.Index <> LastIndex Then        txtpage.Text = 1    End If    LastIndex = TabStrip1.SelectedItem.Index    Select Case TabStrip1.SelectedItem.Index        Case 1 '中性            If Val(txtpage.Text) > (Val(Text1(1).Text) - 1) / MAX_XS_GS + 1 Then txtpage.Text = Val(txtpage.Text) - 1            For I = 0 To MAX_XS_GS - 1            '按图号NucCount将该图的数据放入buff                TEMP_XXS_XBSB = I + (CInt(txtpage.Text) - 1) * MAX_XS_GS                If I < CInt(Text1(1).Text) - (CInt(txtpage.Text) - 1) * MAX_XS_GS Then                    If I > 0 Then                        If XB_L_1(TEMP_XXS_XBSB).NucCount <> XB_L_1(TEMP_XXS_XBSB - 1).NucCount Then                            GET_XBMP_buff TEMP_BUFF, XB_L_1(TEMP_XXS_XBSB).NucCount                        End If                    End If                    If I = 0 Then                        GET_XBMP_buff TEMP_BUFF, XB_L_1(TEMP_XXS_XBSB).NucCount                    End If                    BMP_JQ TEMP_BUFF, BMP_WIDTH, BMP_HEIGHT, P2_buff, XP_W + 1, XP_H + 1, XB_L_1(TEMP_XXS_XBSB).X, XB_L_1(TEMP_XXS_XBSB).Y                    'XS_XBMP_2 P2_buff, I                    XS_SB_XBMP P2_buff, I, 2                    Picture2(I).Visible = True                Else                    Picture2(I).Visible = False                End If            Next I        Case 2 '淋巴            If Val(txtpage.Text) > (Val(Text1(2).Text) - 1) / MAX_XS_GS + 1 Then txtpage.Text = Val(txtpage.Text) - 1            For I = 0 To MAX_XS_GS - 1                TEMP_XXS_XBSB = I + (CInt(txtpage.Text) - 1) * MAX_XS_GS                If I < CInt(Text1(2).Text) - (CInt(txtpage.Text) - 1) * MAX_XS_GS Then                '按图号NucCount将该图的数据放入buff                    If I > 0 Then                        If XB_L_2(TEMP_XXS_XBSB).NucCount <> XB_L_2(TEMP_XXS_XBSB - 1).NucCount Then                            GET_XBMP_buff TEMP_BUFF, XB_L_2(TEMP_XXS_XBSB).NucCount                        End If                    End If                    If I = 0 Then                        GET_XBMP_buff TEMP_BUFF, XB_L_2(TEMP_XXS_XBSB).NucCount                    End If                    BMP_JQ TEMP_BUFF, BMP_WIDTH, BMP_HEIGHT, P2_buff, XP_W + 1, XP_H + 1, XB_L_2(TEMP_XXS_XBSB).X, XB_L_2(TEMP_XXS_XBSB).Y                    'XS_XBMP_2 P2_buff, I                    XS_SB_XBMP P2_buff, I, 2                    Picture2(I).Visible = True                Else                    Picture2(I).Visible = False                End If            Next I        Case 3 '单核            If Val(txtpage.Text) > (Val(Text1(3).Text) - 1) / MAX_XS_GS + 1 Then txtpage.Text = Val(txtpage.Text) - 1            For I = 0 To MAX_XS_GS - 1                TEMP_XXS_XBSB = I + (CInt(txtpage.Text) - 1) * MAX_XS_GS                If I < CInt(Text1(3).Text) - (CInt(txtpage.Text) - 1) * MAX_XS_GS Then                '按图号NucCount将该图的数据放入buff                    If I > 0 Then                        If XB_L_3(TEMP_XXS_XBSB).NucCount <> XB_L_3(TEMP_XXS_XBSB - 1).NucCount Then                            GET_XBMP_buff TEMP_BUFF, XB_L_3(TEMP_XXS_XBSB).NucCount                        End If                    End If                    If I = 0 Then                        GET_XBMP_buff TEMP_BUFF, XB_L_3(TEMP_XXS_XBSB).NucCount                    End If                    BMP_JQ TEMP_BUFF, BMP_WIDTH, BMP_HEIGHT, P2_buff, XP_W + 1, XP_H + 1, XB_L_3(TEMP_XXS_XBSB).X, XB_L_3(TEMP_XXS_XBSB).Y                    'XS_XBMP_2 P2_buff, I                    XS_SB_XBMP P2_buff, I, 2                    Picture2(I).Visible = True                Else                    Picture2(I).Visible = False                End If            Next I        Case 4 '嗜酸            If Val(txtpage.Text) > (Val(Text1(4).Text) - 1) / MAX_XS_GS + 1 Then txtpage.Text = Val(txtpage.Text) - 1            For I = 0 To MAX_XS_GS - 1                TEMP_XXS_XBSB = I + (CInt(txtpage.Text) - 1) * MAX_XS_GS                If I < CInt(Text1(4).Text) - (CInt(txtpage.Text) - 1) * MAX_XS_GS Then                '按图号NucCount将该图的数据放入buff                    If I > 0 Then                        If XB_L_4(TEMP_XXS_XBSB).NucCount <> XB_L_4(TEMP_XXS_XBSB - 1).NucCount Then                            GET_XBMP_buff TEMP_BUFF, XB_L_4(TEMP_XXS_XBSB).NucCount                        End If                    End If                    If I = 0 Then                        GET_XBMP_buff TEMP_BUFF, XB_L_4(TEMP_XXS_XBSB).NucCount                    End If                    BMP_JQ TEMP_BUFF, BMP_WIDTH, BMP_HEIGHT, P2_buff, XP_W + 1, XP_H + 1, XB_L_4(TEMP_XXS_XBSB).X, XB_L_4(TEMP_XXS_XBSB).Y                    'XS_XBMP_2 P2_buff, I                    XS_SB_XBMP P2_buff, I, 2                    Picture2(I).Visible = True                Else                    Picture2(I).Visible = False                End If            Next I        Case 5 '嗜碱            If Val(txtpage.Text) > (Val(Text1(5).Text) - 1) / MAX_XS_GS + 1 Then txtpage.Text = Val(txtpage.Text) - 1            For I = 0 To MAX_XS_GS - 1                TEMP_XXS_XBSB = I + (CInt(txtpage.Text) - 1) * MAX_XS_GS                If I < CInt(Text1(5).Text) - (CInt(txtpage.Text) - 1) * MAX_XS_GS Then                '按图号NucCount将该图的数据放入buff                    If I > 0 Then                        If XB_L_5(TEMP_XXS_XBSB).NucCount <> XB_L_5(TEMP_XXS_XBSB - 1).NucCount Then                            GET_XBMP_buff TEMP_BUFF, XB_L_5(TEMP_XXS_XBSB).NucCount                        End If                    End If                    If I = 0 Then                        GET_XBMP_buff TEMP_BUFF, XB_L_5(TEMP_XXS_XBSB).NucCount                    End If                    BMP_JQ TEMP_BUFF, BMP_WIDTH, BMP_HEIGHT, P2_buff, XP_W + 1, XP_H + 1, XB_L_5(TEMP_XXS_XBSB).X, XB_L_5(TEMP_XXS_XBSB).Y                    'XS_XBMP_2 P2_buff, I                    XS_SB_XBMP P2_buff, I, 2                    Picture2(I).Visible = True                Else                    Picture2(I).Visible = False                End If            Next I        Case 6 '未分类            If Val(txtpage.Text) > (Val(Text1(6).Text) - 1) / MAX_XS_GS + 1 Then txtpage.Text = Val(txtpage.Text) - 1            For I = 0 To MAX_XS_GS - 1                TEMP_XXS_XBSB = I + (CInt(txtpage.Text) - 1) * MAX_XS_GS                If I < CInt(Text1(0).Text) - (CInt(txtpage.Text) - 1) * MAX_XS_GS Then                '按图号NucCount将该图的数据放入buff                    If I > 0 Then                        If XB_L_0(TEMP_XXS_XBSB).NucCount <> XB_L_0(TEMP_XXS_XBSB - 1).NucCount Then                            GET_XBMP_buff TEMP_BUFF, XB_L_0(TEMP_XXS_XBSB).NucCount                        End If                    End If                    If I = 0 Then                        GET_XBMP_buff TEMP_BUFF, XB_L_0(TEMP_XXS_XBSB).NucCount                    End If                    BMP_JQ TEMP_BUFF, BMP_WIDTH, BMP_HEIGHT, P2_buff, XP_W + 1, XP_H + 1, XB_L_0(TEMP_XXS_XBSB).X, XB_L_0(TEMP_XXS_XBSB).Y                    'XS_XBMP_2 P2_buff, I                    XS_SB_XBMP P2_buff, I, 2                    Picture2(I).Visible = True                Else                    Picture2(I).Visible = False                End If            Next I        Case 7 '全部            If Val(txtpage.Text) > (Val(Text1(7).Text) - 1) / MAX_XS_GS + 1 Then txtpage.Text = Val(txtpage.Text) - 1            ’实现将前6种细胞都统计在一起显示,第页只能显示27个细胞            For I = 0 To MAX_XS_GS - 1                TEMP_XXS_XBSB = I + (CInt(txtpage.Text) - 1) * MAX_XS_GS                If I < CInt(Text1(6).Text) - (CInt(txtpage.Text) - 1) * MAX_XS_GS Then                    Picture2(I).Visible = True                Else                    Picture2(I).Visible = False                End If            Next I                    End SelectEnd Sub 



[解决办法]
你把前面几个 Case n 每一个case后面执行的语句一段段都用sub包好, Case 7的时候就调用这6个sub
[解决办法]
管理菜单右边有个结贴。
[解决办法]
弄成全局变量要考虑效率了

热点排行