CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VB.NET

VB.NET能否用代码执行代码?

楼主ddvddvddv()2006-03-13 11:06:11 在 .NET技术 / VB.NET 提问

RT。  
   
  例如一个FORM上有一个TEXTBOX,用户输入一个字符串:  
  msgbox   "Test   ok!"  
   
  如何执行这句代码? 问题点数:20、回复次数:11Top

1 楼Gerryjiang(下一站)回复于 2006-03-13 11:13:26 得分 0

你要自己定义你的命令行在程式里了Top

2 楼43720938(烦烦烦烦)回复于 2006-03-13 11:16:39 得分 0

用TEXTBOX_Change事件可以做到Top

3 楼ddvddvddv()回复于 2006-03-13 11:35:37 得分 0

各位能否讲的具体点?Top

4 楼lifengguo(黎锋果)回复于 2006-03-13 12:55:55 得分 0

如楼上:43720938(烦)   (   )   信誉:100Top

5 楼sz_lgp(longguoping)回复于 2006-03-13 12:56:55 得分 0

你是说在TEXTBOX输入msgbox   "Test   ok!"后程序执行 msgbox   "Test   ok!"吗?  
   
  可以textbox.keydwon事件中处理,不能直接执行msgbox   "Test   ok!"Top

6 楼ddvddvddv()回复于 2006-03-13 13:32:01 得分 0

楼上的理解正确!我想直接执行一句(或一段)代码:  
  例如    
  msgbox   "Test   ok!"   或    
   
  lable1.txt="asdasd"  
   
  这样的功能如何实现?Top

7 楼drk928(一起看斜阳)回复于 2006-03-13 15:11:58 得分 13

调用编译器编译执行代码字符串  
   
    关于CodeDom,我倒是稍有些心得,下面这个你贴上去运行试试:  
   
  Private   Function   GetJedgement(ByVal   Expression   As   String)   As   Boolean  
  Dim   Comp   As   ICodeCompiler   =   New   VBCodeProvider().CreateCompiler  
  Dim   cp   As   CompilerParameters   =   New   CompilerParameters  
  Dim   _Compiled   As   Object   =   Nothing  
   
  cp.ReferencedAssemblies.Add("system.dll")  
  cp.ReferencedAssemblies.Add("system.data.dll")  
  cp.ReferencedAssemblies.Add("system.xml.dll")  
  cp.GenerateExecutable   =   False  
  cp.GenerateInMemory   =   True  
  'dim   CodeBuilding   as    
  Dim   code   As   String  
  code   =   "Imports   System   "   &   vbCrLf   &   _  
  "Imports   System.Data   "   &   vbCrLf   &   _  
  "Imports   System.Xml   "   &   vbCrLf   &   _  
  "Public   Class   Judgement   "   &   vbCrLf   &   _  
  "   Public   Function   GetJude()   as   Object   "   &   vbCrLf   &   _  
  "   Return   ("   &   Expression   &   ")   "   &   vbCrLf   &   _  
  "   End   Function   "   &   vbCrLf   &   _  
  "End   Class   "  
   
  Dim   cr   As   CompilerResults   =   Comp.CompileAssemblyFromSource(cp,   code.ToString())  
  Debug.Write(code.ToString)  
  If   (cr.Errors.HasErrors)   Then  
   
  Dim   ErrorMessage   As   String  
   
  ErrorMessage   =   "编译错误:"   &   vbCrLf  
  Dim   Err   As   CompilerError  
  For   Each   Err   In   cr.Errors  
  ErrorMessage   =   ErrorMessage   &   Err.ErrorText   &   vbCrLf  
  Next  
  Debug.WriteLine(ErrorMessage)  
  #If   DEBUG   Then  
  Stop  
  #Else  
  Throw   New   Exception("编译错误:   "   +   ErrorMessage)  
  #End   If  
  End   If  
   
  Dim   a   As   System.Reflection.Assembly   =   cr.CompiledAssembly  
  _Compiled   =   a.CreateInstance("Judgement")  
   
  Dim   mi   As   MethodInfo   =   _Compiled.GetType().GetMethod("GetJude")  
  Return   (CType(mi.Invoke(_Compiled,   Nothing),   Boolean))  
  End   Function  
  '测试  
  Private   Sub   Button1_Click(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   Button1.Click  
  Dim   x   As   String   =   "6"  
  Dim   tmp   As   String   =   x   &   ">5   And   "   &   x   &   "<10"  
  MsgBox(GetJedgement(InputBox("输入表达式:",   ,   tmp)))  
  End   Sub  
   
     
   
  Top

8 楼naturalth(自我批判,是思想、品德、素质、技能创新的优良工具)回复于 2006-03-13 16:38:17 得分 2

把你mail给我,我发一份给你Top

9 楼seeJessica(计院洲洲)回复于 2006-03-14 03:33:30 得分 5

利用System.codedom   生成一个C/S程序集   使用发射机制调用元数据---MethodInfoTop

10 楼ddvddvddv()回复于 2006-03-14 07:57:42 得分 0

我的邮箱sqjtjxq@163.com  
   
  我想做这方面的一些程序:  
  程序员是程序的设计者和一级用户,  
   
  程序的二级用户负责程序的二次开发和实施。  
   
  程序的三级用户才是最终的用户。  
   
  各位谁有兴趣可以一起探讨一下,  
  naturalth有现成的例子没有发一份给我吧!谢谢!Top

11 楼ddvddvddv()回复于 2006-03-14 08:03:03 得分 0

我的qq:76997643Top

相关问题

  • 关于在.Net的代码文件中(.vb、.cs)执行 JavaScript脚本 的问题!
  • vb程序,动态执行vb代码的问题
  • 在VB中如何实现动态添加执行代码?
  • 请问,用ScriptControl控件执行VB代码的速度,是不是比直接写入程序中的VB代码的执行速度慢?给分啊!!!
  • .net函数中,可不可以执行传入的C#代码?
  • 如何使VB组件启动时接着执行一段代码呢?
  • 如何在VB中实现代码的同步执行?在线等待
  • 在VB中,如何使程序的代码执行暂时停止?
  • 关于 Setup Factory 6.0 制作安装过程中执行 VB 代码的问题
  • 在vb中调试的时候,怎么样让代码分部执行?

关键词

  • 代码
  • 执行
  • code
  • dll
  • vbcrlf
  • referencedassemblies
  • msgbox
  • cp
  • textbox
  • test ok

得分解答快速导航

  • 帖主:ddvddvddv
  • drk928
  • naturalth
  • seeJessica

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo