读文本调用函数,求宗师

读文本调用函数,求大师功能:1、读取文本内容触发程序中定义好的函数。2、文本中要支持if for语句比如,我在VB

读文本调用函数,求大师
功能:
1、读取文本内容触发程序中定义好的函数。
2、文本中要支持if for语句
比如,我在VB中定义一函数:
public Function pant(tet as string)
List.AddItem tet
End Function
我在TXT文本中写入pant "hello" 或 pant text1 (大概就这意思,格式也许错了)
然后程序中的list就会添加显示
hello
text1
是不是有点乱,有人说ScriptControl1。
我试过,可以实现简单的文本输出,也支持IF FOR语句,但是不会调用函数,
也许是我的问题。
[解决办法]

    Dim fso, f,s
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.OpenTextFile("c:\testfile.txt", 1,0)
    Do While f.AtEndOfStream <> True
        s = f.ReadLine
        if instr(s,"pant")>0 then
            pant mid(s,6)
        end if
    Loop
    f.Close
    set f=nothing
    set fso=nothing

[解决办法]
也就是说,你想自己实现一个简单的脚本解析器.

在文本文件中写入要执行的脚本,再由你写的程序加载,并执行其中所写的代码.

这个东西首先要进行语法解析,然后再进行代码重构,最终再实现具体功能.

所支持的每一个语句,你都要对它们进行单独处理,也就是说如果你想在你的脚本里支持100个语句,那你至少要写100种解析,这还不包括对这100个语句之间互相关联的逻辑处理代码.

有点头痛,除非你支持的语句非常少,不然有得写了.
[解决办法]
如果只是为代码中的函数设定参数,可以仿照 .ini 文件的方式:

[ListAdd]
Loop = 10
Pant = "ello"
Delay = 3

读到相应的段标签,就首先调用 API 读入参数,然后运行函数:

Public Sub ListAdd(Byval loop As Integer, Byval delay as Integer, Byval pant As String)
Dim i As Integer

For i = 1 To 10
    List1.AddItem pant
    Sleep delay * 1000
Next i

End Sub