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

如何编一个类似抢答器的程序?

楼主lovecat_sc()2004-12-03 14:44:39 在 Delphi / 语言基础/算法/系统设计 提问

我们单位要组织信息化知识竞赛,要编一个类似抢答器的程序,就是主持人和数位抢答者各有一台电脑,彼此联网。主持人宣布完题目后,说开始(考虑在此时让主持人同时点击程序的开始按钮),各位抢答者找到答案后点击自己桌面上的程序的回答按钮,最先发送信息的在主持人的桌面上弹出一个消息框,如“*号最先回答”之类,同时主持人方的程序自动记录第二、三位回答者,以备第一位回答不正确时依序回答。 问题点数:20、回复次数:9Top

1 楼largewang(成都:王臻义[老王][C#学习中断])回复于 2004-12-03 17:14:18 得分 5

相当于区域内的聊天程序。  
   
  见delphi的demoTop

2 楼lovecat_sc()回复于 2004-12-03 17:34:35 得分 0

能不能具体一点?哪个DEMO?Top

3 楼pl5th2001(白牙)回复于 2004-12-04 11:45:36 得分 0

就是那个聊天的DEMOTop

4 楼pl5th2001(白牙)回复于 2004-12-04 11:46:33 得分 5

C:\Program   Files\Borland\Delphi6\Demos\Internet\ChatTop

5 楼lovecat_sc()回复于 2004-12-07 11:00:13 得分 0

to   pl5th2001(白牙):我看了例程,很有帮助。就是有一句看不懂,还请解释一下。在TCPServer的OnAccept事件中,有一句DataThread.TargetList   :=   memRecv.lines;,注释是set   the   TagetList   to   the   gui   list   that   you   with   to   synch   with.(将TagetList与主界面中的LIST关联起来),但是我觉得应该是memRecv.lines:=   DataThread.TargetList;才对啊。或者将这句去掉,在TClientDataThread.synchAddDataToControl方法中加入form1.memRecv.Lines:=TargetList;。很可惜我的两种方法都会出现EAccessException异常。  
  如果分不够我再加。Top

6 楼benbenliu(笨笨)回复于 2004-12-07 15:17:12 得分 10

1。DataThread.TargetList   :=   memRecv.lines表示DataThread.TargetList是memRecv.lines的引用,Datathread在OnAccept事件里刚刚初始化,DataThread.TargetList   =   null,如果颠倒过来有何意义?  
  2。TargetList没有赋值当然不能访问了,要改可以将方法TClientDataThread.synchAddDataToControl的实现改成Form1.memRecv.Lines.Add(ListBuffer);但这样违反OO原则,破坏程序结构Top

7 楼lovecat_sc()回复于 2004-12-07 22:16:02 得分 0

谢谢   largewang、pl5th2001、benbenliu!  
  To   benbenliu:  
  1.你的意思是说DataThread.TargetList   :=   memRecv.lines只是将TargetList的内存地址(引用)赋给memRecv.lines,而不是值传递?  
  2.改成Form1.memRecv.Lines.Add(ListBuffer);也不行(我试了),Lines.Add要求TSring类型。  
  3.什么是00原则?  
  4.怎么加分?要不我另开一帖?Top

8 楼benbenliu(笨笨)回复于 2004-12-07 23:28:20 得分 0

1.Delphi中除了值类型,其他的都是引用类型,传递的都是对象的引用。  
  2.Form1.memRecv.Lines.AddStrings(ListBuffer);就可以了  
  3.OO就是面向对象,在那个例子中,TClientDataThread类的对象负责接受信息,并利用TClientDataThread对象的方法更新它自己的数据成员TargetList,这样整个现程对象是一个独立的整体,使其自身具有复用性  
  Top

9 楼lovecat_sc()回复于 2004-12-08 23:33:14 得分 0

谢谢!分太少,不好意思!Top

相关问题

  • 用VB做抢答器
  • 求编译器源程序
  • 写PB程序,烦烦烦 - 找程序编辑器
  • 程序代码编辑器(Code Editor)
  • 求一赫夫曼编码器程序!
  • 有C程序的反编译器吗?
  • 哇哇哇哇哇~~~这么高的分!这么简单的问题!快!快抢答啊!INSTALLSHIELD创建桌面快捷方式TARGET设置成什么?为什么我的程序快捷方式一点就打开资源管理器?
  • 程序编译
  • 编译程序
  • 汇编程序

关键词

  • 主持人
  • delphi
  • memrecv
  • targetlist
  • datathread
  • 抢答
  • tclientdatathread
  • 程序
  • listbuffer
  • 引用

得分解答快速导航

  • 帖主:lovecat_sc
  • largewang
  • pl5th2001
  • benbenliu

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

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