| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3524 人关注过本帖, 1 人收藏
标题:一个VFP编制的抽签程序
只看楼主 加入收藏
丁春秋yxp
Rank: 4
等 级:贵宾
威 望:10
帖 子:245
专家分:296
注 册:2017-10-31
收藏
得分:0 
这个地方是单击表头排序那个类出错了。这个我也是从本站高人处抄来的。实在不知错在哪里。我的vfp9,在十几台电脑上运行都没问题。
2018-02-26 23:52
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10538
专家分:42927
注 册:2014-5-20
收藏
得分:0 
以下是引用丁春秋yxp在2018-1-19 12:14:51的发言:

#5吹水佬昨晚 20:07
回复 4楼 丁春秋yxp
可以在Grid1.Column.Text的GotFocus事件中处理Grid1.Column.Text的BackColor和SelectedBackColor

这个搞不定。

要自定义Text类或绑定Text事件,有点复杂。
也可以这样试试:
图片附件: 游客没有浏览图片的权限,请 登录注册

CREATE CURSOR tt (f1 I, f2 I)
FOR i=1 TO 10
    INSERT INTO tt VALUES (i, i*2)
ENDFOR
GO TOP
of = CREATEOBJECT("form1")
of.show(1)

DEFINE CLASS form1 As Form
    Add Object Grid1 As Grid
    nRecno = 0
    PROCEDURE Grid1.AfterRowColChange(nColIndex)
        thisform.nRecno = RECNO()
        FOR EACH oColumn IN this.Columns
            oColumn.DynamicForeColor = [IIF(RECNO()==thisform.nRecno, 0xff, 0x00)]
            oColumn.Text1.ForeColor = IIF(RECNO()==thisform.nRecno, 0xff, 0x00)
        ENDFOR
        this.setfocus
    ENDPROC
ENDDEFINE
2018-02-27 06:14
丁春秋yxp
Rank: 4
等 级:贵宾
威 望:10
帖 子:245
专家分:296
注 册:2017-10-31
收藏
得分:0 
谢谢吹版主。虽然我接触这东西快30年了(当年一开始是用dbaseⅢ,后来是foxbase,再后来好象是foxpro for dos 2.5),也方便自己工作做了十来个小系统自用,但几乎没有深究深层次的东西。所以现在对我说类、sql语句、c-s开发这些,等于还是对牛弹琴。
2018-02-27 22:57
丁春秋yxp
Rank: 4
等 级:贵宾
威 望:10
帖 子:245
专家分:296
注 册:2017-10-31
收藏
得分:0 
所以,对不起吹版主,你写的这个,有许多语句我都看不懂。
2018-02-27 23:03
lbwg
Rank: 2
等 级:论坛游民
帖 子:76
专家分:53
注 册:2011-8-21
收藏
得分:0 
很感兴趣这个抽奖程序,这个程序是按照名单的顺序给每人都编排了顺序。但在实际工作中,我需要解决这样一个问题,有一个班级的学生,我每次提问的时间随机抽取两名同学,抽过的同学下次不能再次抽取到,让每个学生都有发言的机会,界面像摇奖程序一样,提高课堂气氛。简单说的功能室,全体同学,每次2人,随机编排,不能重复,全部编排,支持导出和打印功能。有时间的话,请大家给予帮忙,谢谢
2018-03-01 15:14
丁春秋yxp
Rank: 4
等 级:贵宾
威 望:10
帖 子:245
专家分:296
注 册:2017-10-31
收藏
得分:0 
回复 15楼 lbwg
你这个要求不难。提供两种思路:
1.设置个标识,用标识判断是否提问过,每次抽到提问过了的就跳过重新抽一个。
2.把提问过的直接删除。
2018-03-01 16:21
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10538
专家分:42927
注 册:2014-5-20
收藏
得分:0 
回复 15楼 lbwg
不重复抽取,可靠的做法是抽一个删除一个(抽出一个就少一个),用表或数组都可以。
2018-03-01 16:31
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10538
专家分:42927
注 册:2014-5-20
收藏
得分:0 
“每个学生都有发言的机会”,也可以将学生表随机排序,再按这个随机顺序发言。
如:
CREATE CURSOR tt (name C(10))
FOR i=1 TO 10
    INSERT INTO tt VALUES ("学生"+TRANSFORM(i))
ENDFOR
INDEX on RAND() TAG tag_random
GO TOP
BROWSE
2018-03-01 19:22
yuanfengls
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2019-1-29
收藏
得分:0 
学习一下
2019-01-29 15:55
快速回复:一个VFP编制的抽签程序
数据加载中...
 
   



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

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