先谢谢各位热心的人.
是这样的,form上有
两个image数组控件, image1()和image2()
两个label数组控件,label1()和label2()
数组控件的的个数都一样.
我想把下面的两个过程改为一个过程,请问应该怎样做?多谢了!
下面是代码.
Private Sub FindImg1()
Dim i as Integer
For i=0 to label1.count
   Image1(i).Picture=LoadPicture(label1(i))    ‘这里的label1(i)是一个路径
   …………………………….                ‘这里还有很多含有image1(i)和label1(i)的代码
   …………………………….
   ……………………………..
Next
End SubPrivate Sub FindImg2()
Dim i as Integer
For i=0 to label2.count
   Image2(i).Picture=LoadPicture(label2(i))    ‘这里的label2(i)是一个路径
   …………………………….                  ‘这里还有很多含有image2(i)和label2(i)的代码
   …………………………….
   ……………………………..
Next
End SubCommand1_Click()                   ‘这里调用两个过程.
 Call FindImg1                 
 Call FindImg2
End Sub看了上面的代码大家一定知道FindImg1和Findimg2内容是同样的意思,只是Image1变成image2,Label1变成Label2.  请问各位我要如何才可能让这两个过程,合为一个过程,调用时改一下参数就行.?

解决方案 »

  1.   


    Private Sub FindImg2()
    Dim i as Integer
    For i=0 to label2.count
       Image2(i).Picture=LoadPicture(label2(i))    ‘这里的label2(i)是一个路径
       …………………………….                  ‘这里还有很多含有image2(i)和label2(i)的代码
       …………………………….
       ……………………………..
    Next
    For i=0 to label1.count
       Image1(i).Picture=LoadPicture(label1(i))    ‘这里的label1(i)是一个路径
       …………………………….                ‘这里还有很多含有image1(i)和label1(i)的代码
       …………………………….
       ……………………………..
    NextEnd Sub
    Command1_Click()                   ‘这里调用两个过程.
                    
     Call FindImg2
    End Sub
      

  2.   

    如果label2.count  和 label1.count 相等的话还可以这样
    Private Sub FindImg2()
    Dim i as Integer
    For i=0 to label2.count          ' or label1.count
       Image2(i).Picture=LoadPicture(label2(i))    ‘这里的label2(i)是一个路径
       …………………………….                  ‘这里还有很多含有image2(i)和label2(i)的代码
       …………………………….
       ……………………………..   Image1(i).Picture=LoadPicture(label1(i))    ‘这里的label1(i)是一个路径
       …………………………….                ‘这里还有很多含有image1(i)和label1(i)的代码
       …………………………….
       ……………………………..
    NextEnd Sub
    Command1_Click()                   ‘这里调用两个过程.
                    
     Call FindImg2
    End Sub
      

  3.   

    ZOU_SEAFARER(国际海员),我的意思不是这样的啦,不过还是谢谢你.
    因为上面所有的代码中就只有Image1,image2,label1,label2是不同的.我不想把那些代码再重复写一遍,而ZOU_SEAFARER(国际海员)朋友的这种方法事实上也跟我上面的方法差不多.
    我想把控件名做为参数.而这样就不用重复的写代码,一个简单的函数就好.
    调用的时候:
    Call FindImg(label1,image1)
    Call findimg(label2,image2)
      

  4.   

    Private Sub FindImg(lbl,img)
    Dim i as Integer
    For i=0 to lbl.count
       img(i).Picture=LoadPicture(lbl(i))
       Next
    End Sub
      

  5.   

    楼上的朋友,我也是像你这样做的.
    下面这里的参数的出错:形态不符
    Private Sub FindImg(lbl,img)
      

  6.   

    谢谢lsftest()
    但我不明callbyname。。
    能否进一步说明一下.
      

  7.   

    我想,就是因为image和label都是控件数组的关系,所以要让它们做为参数,我都不知道要怎么写.
    如果不是组数就好办了.我查了一下关于callbyname函数的数据,应该也不好做.