| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2467 人关注过本帖
标题:如何简化代码?
只看楼主 加入收藏
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
结帖率:96.03%
收藏
已结贴  问题点数:20 回复次数:9 
如何简化代码?
表单两个按钮组单击事件下代码,一模一样。如何简化。
搜索更多相关主题的帖子: 代码 表单 按钮 单击 事件 
2017-10-13 21:51
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
既然是一模一样,就用一个。
2017-10-13 21:55
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
收藏
得分:0 
回复 2楼 吹水佬
如何引用?代码中有this.caption这样的代码,指当前对象。
2017-10-14 10:07
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
慢慢挤啊

坚守VFP最后的阵地
2017-10-14 10:11
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
收藏
得分:0 
回复 4楼 sdta
请明示
2017-10-14 13:06
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
先讲清楚这两个按钮具体做什么用的。
再要看看完整代码是怎样写的,才好说怎样优化。
2017-10-14 20:30
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
收藏
得分:0 
回复 6楼 吹水佬
    ddd="command"+ALLTRIM(STR(this.value))+".backcolor"
    ddd8="command"+ALLTRIM(STR(this.value))+".caption"
    IF this.&ddd.!=RGB(212,200,140)
    this.&ddd.=RGB(212,200,140)
    UPDATE spxx SET ys="ys1" WHERE ALLTRIM(sp)==ALLTRIM(this.&ddd8.)
    CLOSE ALL
    ELSE
    IF this.&ddd.=RGB(212,200,140)
    this.&ddd.=RGB(212,208,200)
    UPDATE spxx SET ys="" WHERE ALLTRIM(sp)==ALLTRIM(this.&ddd8.)
    CLOSE ALL
    ENDIF
    ENDIF

按钮组commandgroup1,commandgroup2的单击事件都是上面的代码。如何引用简化。
2017-10-15 21:45
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
完全一样的功能可以单独写的一段PRG,然后调用。如果代码不长则可以写在一个按钮事件中,在另一个按钮事件中写

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2017-10-16 07:52
jyxfp
Rank: 2
等 级:论坛游民
帖 子:23
专家分:81
注 册:2013-2-9
收藏
得分:10 
使用参数
按钮组commandgroup1的Click代码:
Lparameters ,m.nValue
Local m.cValue
If Pcount()=0
  
  m.nValue=This.Value
Endif
m.cValue=Transform(m.nValue)
If Thisform.&cName..Command&cValue..BackColor=Rgb(212,200,140)
  Thisform.&cName..Command&cValue..BackColor=Rgb(212,208,200)
  Update spxx Set ys="" Where Alltrim(sp)==Alltrim(Thisform.&cName..Command&cValue..Caption)
Else
  Thisform.&cName..Command&cValue..BackColor=Rgb(212,200,140)
  Update spxx Set ys="ys1" Where Alltrim(sp)==Alltrim(Thisform.&cName..Command&cValue..Caption)
Endif
Use In Select("spxx")
按钮组commandgroup2等等的Click代码:
(This.Name,This.Value)

2017-10-16 08:16
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:10 
1、自定义表单方法 CommandGroupClick
    LPARAMETERS oCommandGroup
    IF oCommandGroup.Buttons(oCommandGroup.Value).BackColor != RGB(212,200,140)
        oCommandGroup.Buttons(oCommandGroup.Value).BackColor = RGB(212,200,140)
        UPDATE spxx SET ys="ys1" WHERE ALLTRIM(sp)==ALLTRIM(oCommandGroup.Buttons(oCommandGroup.Value).Caption)
    ELSE
        oCommandGroup.Buttons(oCommandGroup.Value).BackColor = RGB(212,208,200)
        UPDATE spxx SET ys="" WHERE ALLTRIM(sp)==ALLTRIM(oCommandGroup.Buttons(oCommandGroup.Value).Caption)
    ENDIF
    CLOSE ALL

2、CommandGroup1.Click 和 CommandGroup2.Click
    (this)



[此贴子已经被作者于2017-10-16 08:47编辑过]

2017-10-16 08:44
快速回复:如何简化代码?
数据加载中...
 
   



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

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