一、如何制作一个刷新按钮,主要功能是:重新调用FORM_LOAD,应该怎么写呢?二、一个文本文件,格式大致为A: AAAAA
BB: BBBBBBB
CCC:  BBBBBBBB
DD: DDDDDD我想依次读取每一行,然后把值赋对应的变量因为只想要“:”后面的值,而且每一行的字符数不确定,对我这个初学者来说好困难,向高手请教,谢谢~~!!

解决方案 »

  1.   

    1、
    private sub cmdRefresh()
            call form_load
    end sub
    2、用OPEN打开文本文件,按行取出来=strLine,然后定义一个数组arr(),用arr()=split(strLine,":"),arr(1)就是你要的   
      

  2.   

    1、因为在form_load下面,定义了TmpDir1、TmpFile1的控件,所以刷新的时候会提示“已经有一个名为TmpDir1的控件”,所以在  call form_load之前,是不是应该先退出所有的功能?该如何写呢??
      

  3.   

    '看你这个 TmpDir1、TmpFile1 的变量名称, 有极大的可能是用我写的代码吧? 呵呵....'再帮你一把吧, 只是我觉得你的Form_Load再来一次有啥意义?'添加 Command1Private WithEvents TmpDir1 As DirListBox
    Private WithEvents TmpFile1 As FileListBox
    Dim aa$
    Private Sub Form_Load()
       Dim i&, ctl As Control
       For Each ctl In Me.Controls
          aa = aa & Me.Controls(i).Name & " "
          i = i + 1
       Next
       If InStr(aa, "TmpDir1") = 0 Then Set TmpDir1 = Me.Controls.Add("VB.DirListBox", "TmpDir1")
       If InStr(aa, "TmpFile1") = 0 Then Set TmpFile1 = Me.Controls.Add("VB.FileListBox", "TmpFile1")
    End SubPrivate Sub Command1_Click()
       Form_Load
    End Sub
    '*********************************************
    '添加 Command1
    'c:\test.txt就是你上面那四排的内容Dim aa$, s
    Private Sub Command1_Click()
       Open "c:\test.txt" For Input As #1
       While Not EOF(1)
          Line Input #1, aa
          If InStr(aa, ":") > 0 Then
             s = Split(aa, ":")
             Print Trim(s(1))
          End If
       Wend
       Close #1
    End Sub
      

  4.   

    用 Me.Refresh 不能达到你想要的效果吗? 如此就不用那么麻烦啦