| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1680 人关注过本帖
标题:发现一个比较尴尬的东西 求解释?
只看楼主 加入收藏
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
结帖率:99.34%
收藏
已结贴  问题点数:20 回复次数:38 
发现一个比较尴尬的东西 求解释?
各位看几段代码先
程序代码:
Define Class xx as Container
    For i = 1 to 9
        Add Object oo as CommandButton With
        。。。。。
    EndFor
EndDefine 
报错: for循环不能直接用于类定义?。。。

程序代码:
Define Class xx as Container
     Procedure Init
        For i = 1 to 9
            Add Object oo as CommandButton With
            。。。。。
        EndFor
    EndProc
EndDefine 
报错: add object 不能用于过程中?。。。

我很想用一个循环来达到几个 ADD OBJECT XX AS OO 的效果 有什么折中的办法?
搜索更多相关主题的帖子: color 东西 
2012-09-24 11:22
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
收藏
得分:0 
要加入变量
试试下面代码
Define Class xx as Container
    For i = 1 to 9
        OO=[OO]+TRANSFORM(I)
        Add Object &oo as CommandButton With
    EndFor
EndDefine
对象名重名,错误是肯定的了
2012-09-24 11:41
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
收藏
得分:0 
饭后继续
2012-09-24 11:43
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
以下是引用bccn201203在2012-9-24 11:41:53的发言:

要加入变量
试试下面代码
对象名重名,错误是肯定的了

换了还是不行 当时忘写&了 我试验的程序是带&的。。
图片附件: 游客没有浏览图片的权限,请 登录注册


梅尚程荀
马谭杨奚







                                                       
2012-09-24 11:49
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:3 
我来蹭分楼主肯定会给的
2012-09-24 11:58
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
人家示范代码是写.AddObject(),你偏要别出心裁地写ADD OBJECT,看看分别在哪些地方使用的嘛。

授人以渔,不授人以鱼。
2012-09-24 12:07
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
以下是引用TonyDeng在2012-9-24 12:07:30的发言:

人家示范代码是写.AddObject(),你偏要别出心裁地写ADD OBJECT,看看分别在哪些地方使用的嘛。

我发现.AddObject()用于过程中能包含在循环里便于传参数
ADD OBJECT写在类定义中 便于调用界面元素
如果写成这样
程序代码:
Define Class CC as Form
    Procedure Init
        This.AddObject("xx", "CommandButton")
         This.AddObject("oo", "Label")
    EndProc
EndDefine 
那么在FORM里不能直接引用xx , oo 而如果要实现点击xx 后会改变oo的内容 显然很麻烦 如果添加的控件多一点 再出现一些容器 那么即使使用BINDEVENT( ) 函数也会乱七八糟
所以我的总结是 要便于界面元素的调度 最好使用 ADD OBJECT就能通过ThisForm.xx.oo.kk.bb....来直接找想要的控件了但是很遗憾 ADD OBJECT竟然不能处于循环中,这样在添加控件时代码量会很大啊? 是这样的吗?


[ 本帖最后由 有容就大 于 2012-9-24 14:11 编辑 ]

梅尚程荀
马谭杨奚







                                                       
2012-09-24 14:10
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
在Form中改变对象内容:
ThisForm.xx.Caption = "xxxx"
ThisForm.oo.Caption = "yyyy"

授人以渔,不授人以鱼。
2012-09-24 14:22
信箱有效
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1102
专家分:4268
注 册:2012-6-19
收藏
得分:3 
新年好 我来蹭分
2012-09-24 14:37
青春无限
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江苏
等 级:贵宾
威 望:24
帖 子:3451
专家分:19340
注 册:2012-3-31
收藏
得分:3 
支持一下吧

学 会看代码…学习写程序…学会搞开发…我的目标!呵呵是不是说大话啊!!一切皆可能
2012-09-24 14:37
快速回复:发现一个比较尴尬的东西 求解释?
数据加载中...
 
   



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

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