CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

怎样根据条件来定义变量?

楼主zhuixing(ABC)2003-08-04 09:55:25 在 VB / 基础类 提问

我想根据条件来定义变量  
  如   if   i=1   then  
              dim   a     as   integer  
        elseif   i=2   then  
              dim   a   as   string  
        elseif   i=3   then  
              dim   a   as   single  
        .....  
  但是定义的   这个   a   的作用范围要在整个窗体或所有窗体中有效,而不是在某个过程中有效,我试着在模块中定义成   public   但是public   只能在声明中使用。  
  请问怎么样才能实现?请指教 问题点数:10、回复次数:11Top

1 楼zhuixing(ABC)回复于 2003-08-04 09:58:26 得分 0

upTop

2 楼zhuixing(ABC)回复于 2003-08-04 11:33:08 得分 0

是不是不能实现啊??请各位帮忙指点一下Top

3 楼gpo2002(永吹不休)回复于 2003-08-04 11:52:08 得分 1

不可能  
  Top

4 楼tccth4091(半个岛)回复于 2003-08-04 11:53:35 得分 1

你先定义一个变量,然后根据情况强行转换不就可以了吗Top

5 楼penglc(猎者)回复于 2003-08-04 12:11:03 得分 1

这样,   Dim   a   As   Variant     行了~~Top

6 楼zhuixing(ABC)回复于 2003-08-04 12:35:54 得分 0

to   penglc   :我的意思不是这样的了,我不能用variant   ,我是在水晶报表中  
  if   i>0   then  
    dim   a   as   CrystalReport1    
  else    
    dim   a   as   CrystalReport2  
  ....  
  CrystalReport1   是不支持variant   的  
  to     tccth4091   :   所以强行转换也不可能了  
   
  难道真的不可能?  
   
  Top

7 楼handwolf(青松崖)回复于 2003-08-04 12:38:16 得分 1

运行时限制!楼上的说得对!支持!Top

8 楼Greaitm(夜草)回复于 2003-08-04 15:28:09 得分 0

不可能!vb中变量声明跟条件是扯不上的:不信你试试:  
  sub   ab()  
    dim   a   as   boolean  
    a=true  
    if   not   a   then    
      dim   b   as   long  
    end   if  
    b=11  
    debug.print   b  
  end   sub  
   
  以上代码是成立的!Top

9 楼Greaitm(夜草)回复于 2003-08-04 15:29:33 得分 0

你用dim   a   as   obj   试试呢?Top

10 楼Greaitm(夜草)回复于 2003-08-04 15:30:52 得分 6

抱歉   是   Dim   a   As   ObjectTop

11 楼zhuixing(ABC)回复于 2003-08-04 15:48:50 得分 0

to   Greaitm:问题是你的作用范围只是本过程,而我要的是整个窗体的所有过程  
  Top

12 楼zhuixing(ABC)回复于 2003-08-04 16:09:51 得分 0

哈哈,解决了,受   Greaitm(夜草)   的启发,我在窗体的声明部分声明为object   ,所以它的作用范围是整个窗体,然后再form_load   里   根据条件设置obj   的类型就可以了  
  dim   a   as   object  
  Private   Sub   Form_Load()  
  if   i>0   then  
    Set   a=   New   CrystalReport1      
  else    
      Set   a=   New   CrystalReport2    
  ....  
  endif  
  End   Sub  
  但是像定义不同的类型,作用范围是整个窗体的所有过程,这样的方法大家就自己想办法吧,也许大家说的对,没办法,总之,谢谢大家了  
  如   if   i=1   then  
              dim   a     as   integer  
        elseif   i=2   then  
              dim   a   as   string  
        elseif   i=3   then  
              dim   a   as   single  
        .....  
  Top

相关问题

  • 怎样把自己定义的变量作为数据库查询的条件?
  • 怎样把控件定义为变量?
  • 怎样才能定义全局变量?
  • 这个变量该怎样定义?
  • Java中怎样定义全局变量???
  • 请问怎样定义全局变量?
  • jsp中怎样定义全局变量
  • 急!怎样定义全局变量?
  • 变量定义!
  • 定义变量

关键词

  • crystalreport
  • 变量
  • 定义
  • 条件
  • elseif
  • then dim
  • 整个窗体
  • 作用范围
  • 过程
  • variant

得分解答快速导航

  • 帖主:zhuixing
  • gpo2002
  • tccth4091
  • penglc
  • handwolf
  • Greaitm

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

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