| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 812 人关注过本帖
标题:关于字符串和对象的问题~
只看楼主 加入收藏
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
结帖率:97.66%
收藏
已结贴  问题点数:0 回复次数:16 
关于字符串和对象的问题~
因为不清楚这问题要怎问,所以只好说详​​细一点(Tools的编程都已经完成,也验证过OK)

如何将字符串变量变成对象名称?

问题原由:我要把2支Tools程序合并在一起,再另外写一个入口页面让使用者可以去个别去Call,而2支Tools的功能类似,但是规则不同,
          再者后续还会有其他规则的Tools需要加入,所以想要以脚本模式去实现。
运行方式:每支Tool使用前都需载入设定档才能正常运作,每支Tool皆有手动模式和自动模式,模式区分从设定档解析后而决定。手动模式
          有操作介面,而自动模式是使用BAT档下指令去启动执行(Dos模式无UI)。
问题点在:自动模式下从参数获取档案路径,再撷取出字符串后,我的脚本Form是以同样字符串去命名,要怎么让一个字符串变量,变成一
          个对象名称,经过程序内参数传递后As Form Type?并且之后可以正常引用该表单的属性?

不知道VB6可以这样搞吗?

是有一个比较麻烦的方法,只是我不想用,因为要写比较多代码。就是用Select Case去比较字符串后,依结果去Call指定的表单。
搜索更多相关主题的帖子: 字符串 
2011-07-06 16:44
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:0 
确实还没有弄明白你的意思。不知道下面的效果是不是你要的:
程序代码:
'窗体上画一个按钮,任意个文本框,所有属性使用默认值
Private Sub Command1_Click()
    Static i As Integer
    i = i + 1
    MsgBox Controls("Text" & i).Text
End Sub




===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2011-07-06 18:11
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
回复 2楼 不说也罢
类似,但是不同表单不知道怎实现,用Controls(XXX)好像无法加载。

程序运行到这,会Call一个Function。
图片附件: 游客没有浏览图片的权限,请 登录注册


把设定档的资讯读出并写入到。
图片附件: 游客没有浏览图片的权限,请 登录注册


这个表单内。
图片附件: 游客没有浏览图片的权限,请 登录注册


的控件中。
图片附件: 游客没有浏览图片的权限,请 登录注册


所以要怎么让字符串变量,变成表单类型的对象?并且能使用表单内的控件?

P.S 其中的xxx.dll并不是真的dll档,严格说内容是INI档格式,只是故意存成这样,不然使用者乱砍就不好了。

[ 本帖最后由 wube 于 2011-7-6 19:02 编辑 ]

不要選我當版主
2011-07-06 18:57
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:0 
提问的时候用截图,你觉得很方便是吗

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2011-07-06 19:40
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
回复 4楼 不说也罢
??
不能用截图吗?
想说用图说明比较容易了解~

不要選我當版主
2011-07-06 20:25
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:0 
我把图打开后放大看了一下。据我所知,VB6没有这个功能。VB6中任意一个窗体,在没有被加载前都为NOTHING。无法通过其NAME属性进行加载(例如LOAD)
除非你用。NET。

如果你有了这个技术,请与我分享,好吗?谢谢


[ 本帖最后由 不说也罢 于 2011-7-6 20:37 编辑 ]

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2011-07-06 20:35
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:0 
不过,上个贴子,也许我曲解了你的意思。你看下面的代码是不是你想要的
程序代码:
'新建一个工程,添加两个默认窗体。在FORM1中画一个按钮,然后写入下面的代码
Private Sub Command1_Click()
Dim a As Form
Set a = Forms.Add("Form" & "2")
a.Show
End Sub


===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2011-07-06 20:44
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
既然高手都这么说了,那也没办法了,就只能用老板说的方法,只是代码看起来太不专业了。
程序代码:
Select Case ICType
    Case "XC3S500E"
        Call LoadCompareData(FileName,XC3S500E)
        XC3S500E.Show
        Me.Hide
    Case "XC3S1000"
        Call LoadCompareData(FileName,XC3S1000)
        XC3S1000.Show
        Me.Hide
    Case "...."
    .........
    .........
End Select


假若有10页表单就要写10次。

那也不能在模块里先声明几个变量指定Form型态,之后再拿出来用?不过程序启动后,模块好像比表单更早被读取到,也许会Error吧。

不要選我當版主
2011-07-06 21:20
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:0 
你的CASE后面指的是窗体名称,对吧?如果是这样,那么,我在七楼的回复就是针对你这个问题的呀

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2011-07-06 21:22
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:0 
你把loadcomparedata的函数代码复制后贴上来,省得我敲键盘。这个函数改一下就可以的了

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2011-07-06 21:23
快速回复:关于字符串和对象的问题~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022483 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved