我有个字符串str:='xxx.yyy.ccmm.value' 怎么通过str得到xxx.yyy.ccmm.value
或者怎么得到xxx.yyy.+‘cc’+'mm'+.value
谢谢

解决方案 »

  1.   

    你的问题?
    var
      Str: String;
    begin
      Str := 'xxx.yyy.ccmm.value'
      Edit1.Text := Str; 
    end;
      

  2.   

    你没明白不是字符串xxx.yyy.ccmm.value,而是xxx.yyy.ccmm.value对象的值,
    我真晕啊
      

  3.   

    这是论坛里的一个帖子,参考一下吧:如何在程序中执行动态生成的Delphi代码经常发现有人提这类问题,或者提问内容最后归结成这种问题前些阵子有位高手写了一个“执行动态生成的代码”,这是真正的高手,我没那种功力,我只会投机取巧。这里提供三种方法,都是借助第三方的组件来实现的。1、MicroSoft Windows Script Control(http://www.microsoft.com/downloads/details.aspx?FamilyID=d7e31492-2595-49e6-8c02-1426fec693ac&DisplayLang=en)
      这是微软的东西,OCX的,我对OCX的东西一向没什么好感,:)但总算是解决问题的一个方法。
      到以上地址下载回来sct10en.exe,这是个安装程序,安装完成以后,在安装目录里有一个msscript.ocx,就是它了。
      在Delphi中Import OCX...导入安装,在窗体上添加一个TScriptControl类的实例。
      设置好它的Scriptanguage属性:VBScript,JScript...IE认识的它都认识,没有Object Pascal?不要急,好戏总是放在后头嘛...
      以VbScript为例:
        运行脚本:ScriptControl1.ExecuteStatement('msgbox("Runing....")');
        计算公式:ShowMessage(scriptcontrol1.Eval('1+1'));
      
      优点:皇家的东西,相信它,没错的
      缺点:发布程序带个OCX,只能支持微软的Script2、Dream Collection中的DCScripter(ftp://202.117.210.28/file/dream4.rar)
      安装好以后在控件面板DreamCompany里面有一个向右的黑色箭头,就是它了。
      以VbScript为例:
      运行脚本:DCScripter1.Script.Add('msgbox("Script Runing...")');
                DCScripter1.Run;
      计算公式:ShowMessage(DCScripter1.Evaluate('1+1'));  优点:VCL的,除支持微软的脚本以外,还支持Perl,Python
      缺点:还是不支持Object Pascal...(别打,就来了...)3、DelphiWebScriptII(http://prdownloads.sourceforge.net/dws/dws2src11.zip)
      这个东西好啊,功能超强,太强了,太强了,真强...
      安装完成以后,将TDelphiWebScriptII,Tdws2GUIFunctions加入窗体,引用dws2Exprs单元。
      运行脚本:
      var
        prg: TProgram;
      begin
        prg := DelphiWebScriptII1.Compile('ShowMessage(''hi'');');
        prg.Execute;
      end;
      这个东西是用稍微复杂一点,不过看看Demo吧,接下来的造化就看你自己的了。  优点:VCL的,功能超强,支持Object Pascal...
      缺点:只支持Object Pascal...以上三个各有忧缺点,大家可能比较欣赏DelphiWebScript的功能,但是我觉得如果是给用户使用的话,还是Dream Scripter比较好,毕竟VbScript等比较容易为用户所接受。其实现在很多网管等都很习惯于利用系统提供的COM对象,使用纯脚本进行编程。很方便的。
      

  4.   

    var
        prg: TProgram;
      begin
        prg := DelphiWebScriptII1.Compile(xxx.yyy.ccmm.value;');
        prg.Execute;
      end;
      

  5.   

    xxx、yyy、ccmm是Integer类型吧?是不是把时间的字符串转换成数值还是?
      

  6.   

    你们都没理解提问者的意思,belllab(bell) 的解释应该是对的。
      

  7.   

    谢谢belllab(bell),其实我的意思不知道你们做过脚本没有,javascript里有eval(),我就是想知道delphi里有没有等同于javascript里有eval()的函数
    belllab(bell),我下载安装了DelphiWebScriptII,可是在引用单元的时候说我没有.dcu,不知道你是怎么做的,
    有人做过没有?
      

  8.   

    谢谢 belllab(bell) ,我的真正本意他理解了。
    不知道你们做过脚本没有,在javascript里有eval(),不知道在delphi里有没有和javascript里的eval()相对应的函数没有,
    belllab(bell) ,我下载了DelphiWebScriptII可是安装后,引用单元的时候,说缺少.dcu文件,belllab(bell) 你是怎么做的?
      

  9.   

    tmpstr:='tmprs.fields.item['ccc'].value'
    怎么由tmpstr取得tmprs.fields.item['ccc'].value
      

  10.   

    又如webbrowser1.oleobject.document.all.'a1'.value
    webbrowser1.oleobject.document.all.'a2'.value
    webbrowser1.oleobject.document.all.'a3'.value
    ......