窗体上有一个combo1控件和一个文本框text1 .
combo1里边可选择的内容有三个,但是是通过下面的代码加进去的Private Sub Form_Load()
Combo1.AddItem 小王
Combo1.AddItem 小李
Combo1.AddItem 小张
End Sub目前达到的目的
Private Sub Combo1_Click()
If Combo1.Text = "小王" Then
Text1.Text = "A区"
else
If Combo1.Text = "小李" Then
Text1.Text = "B区"
else
If Combo1.Text = "小张" Then
Text1.Text = "C区"
end if
end if 
end if
end sub问题:
因为三个人的人名和对应的区是经常变的
有没有办法把每个人的名称和对应的区写进记事本里边,达到可以随时更改名字以及对应的区
例如
下次我要把combo1里边就成另外四项(小吴,小丽,小白,旺财)
同时在text1文本框里对应的显示出 (E区,G区,H区,U区)
另外有没有高手能够告诉我,VB中,可不可以做到下面的功能
我在文本文件中写几段代码,当VB在执行的过程中,如果要用到文本文件中的代码时,把代码读进来,然后执行?
例如:
VB窗体上加一个Command1按扭和text2文本框
文本文件中写有:
text2.text="这是文本文件里的内容"
text2.ForeColor = vbRed当我按下command1时,text2里显示红字"这是文本文件里的内容" 
command1在VB里对应的代码是什么,可以帮忙给出

解决方案 »

  1.   

    怕没听懂:
    也就是假如我把下面的代码全部写进记事本里,起名叫prg.txt
    ------------------------------
    Private Sub Command2_Click() 
    Combo1.AddItem 小王 
    Combo1.AddItem 小李 
    Combo1.AddItem 小张 
    End Sub '达到的目的 
    Private Sub Combo1_Click() 
    If Combo1.Text = "小王" Then 
    Text1.Text = "A区" 
    else 
    If Combo1.Text = "小李" Then 
    Text1.Text = "B区" 
    else 
    If Combo1.Text = "小张" Then 
    Text1.Text = "C区" 
    end if 
    end if 
    end if 
    end sub 
    --------------------------------
    然后在VB窗体上加好combo1控件及text1控件通过
    Private Sub Form_Load()
    即窗口启动运行时,把prg.txt内的这些内容读进去.
    然后我选择combo1时里边也会有三项,切换人名时,text1里也显示对应的区.
    也就是代码不写在VB里,但是可以读进去执行.
      

  2.   

    就是要把文本内容解析成代码执行呢
    因为这种名称与A区B区没有什么规则,而且可能改得比较频烦,总不能每改一次,来改VB里的代码,然后编译一下,这样子人受不了啊
    所以想到,最好能够把文本内容解析成代码,不知道老兄可否把许多方法中的一个详细说说.
      

  3.   

    感觉楼主在小题大做,其实你的问题用ini文件就行了,为什么非得把完整的代码写在文本文件里来读?用VB来做一个编译器难度可不小啊
      

  4.   

    我的思路很简单,就是把A区B区放入数组或者文本文件中,数组下标对应combox的listindex就行了......
      

  5.   

    既然做个编译器很难,我估计肯定在我的能力之外了,那就不去研究了吧,谢谢楼上两位啊
    把分送了
    麻烦帮我回答个简单的问题吧如何在读取文本文件时统计两个标识之间的行数啊例如:(下面是文本文件中的内容,省略号表示其他内容)
    .......


    #加入COMBOX
    小张
    小王
    小李
    小猪
    A区
    B区
    C区
    D区
    #加入完成
    .........就统计#号下一行,和另一个#号上一行,一共有多少行
    然后把多少行除以2  ,前面四个加入bombobox  后面四个作为对应值
      

  6.   

    dim n as integer,n0 as integer,s as string
    open "c:\data.txt" for input as #1
    do while not eof(1)
        line input #1,s
        if s like "#*" then '如果以#开头
            n=n+1
            debug.print n-n0 '这就是两个#开头的行之间隔的行数
             '以下加入其它处理代码
             n0=n
        end if
    loop大体就是这么个意思
      

  7.   

    可以如楼上一行行读,也可以一次性读出分析,这个最好 和你的需求集合起来一次性读出:    dim s as string
        dim h as long
        dim tmp
        
        h=freefile
        open "d:\t.txt" for binary as h
            s=space(lof(h))
            get #h,,s
        close
        tmp=split(s,"#")(1)
        tmp=split(tmp,vbcrLf)
        msgBox ubound(tmp)-1