CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  语言基础/算法/系统设计

老师交代的一个能难倒大多数程序员的题目

楼主jakewwwvw()2003-07-03 23:07:12 在 Delphi / 语言基础/算法/系统设计 提问

题目:程序里有个LISTBOX1和一个BUTTON1,这个LISTBOX1里随时都有几十条数据,而且listbox1里的每条数据,都是5秒更新一次的,我现在想按下BUTTON1来清除超过5秒没有变动的数据  
  -----------  
  不知道要怎么写,要添加TIMER控件吗?希望能给出详细的button1.click事件的代码,有同学说在添加listbox   数据时做上记号,老师说不可以,一定要在在button1的click   事件里处理,但可以自己写函数,可以加别的控件  
  问题点数:0、回复次数:108Top

1 楼Adayuer(饭碗饭碗饭碗你在哪里?)回复于 2003-07-03 23:12:14 得分 0

用两个listbox,其中一个保存显示的数据,一个用来保存临时的数据  
   
  timer     没   5   秒   对两个listbox中的数据同步一次  
   
   
  当button按下时,依次检查两个listbox中的内容,如果内容不同,就说明有过1个5秒未更新,就删除之Top

2 楼Adayuer(饭碗饭碗饭碗你在哪里?)回复于 2003-07-03 23:13:39 得分 0

错了,是如果内容相同,就说明未更新,删除它就行了Top

3 楼lxl(是我,不是风)回复于 2003-07-03 23:14:26 得分 0

用一个全局变量来放最初的LISTBOX1中的ITENMS,  
  然后在BUTTONCLICK时候来比较不就得了Top

4 楼jakewwwvw()回复于 2003-07-03 23:20:43 得分 0

能给出详细代码让我学习吗  
  我刚学DELPHI   2个星期,可人家都学了很久了  
  和人家一起做这个题,我真是吃亏啊  
  Top

5 楼jakewwwvw()回复于 2003-07-03 23:22:28 得分 0

对了,LISTBOX里的几十条数据是一条条更新的  
  不是全部一起更新的Top

6 楼jakewwwvw()回复于 2003-07-04 06:51:57 得分 0

upTop

7 楼wbgigi(琪琪)回复于 2003-07-04 09:02:53 得分 0

按我对你题目的理解是:  
    加一个Timer控件,再加一个listbox控件.可以在Timer控件下写代码的话就是  
    button1click;  
    listbox2.Items:=listbox1.Items;  
   
    button1click事件是:  
  for   i:=0   to   listbox1.Count-1   do  
  begin  
  if   listbox1.items[i]<>listbox2.items[i]   then  
    listbox1.Items.Delete[i];    
  end;Top

8 楼xuejinlong(-@判官@-)回复于 2003-07-04 09:28:50 得分 0

呵呵,这种小Case,骗人玩儿呢吧。Top

9 楼myling(不理你)回复于 2003-07-04 09:40:04 得分 0

能难倒大多数程序员的题目  
  ___________________________________  
   
  这是你说的还是你老师说的?     程序员不值钱也不用这么贬吧?  
   
   
  Top

10 楼linx88(haozi)回复于 2003-07-04 11:52:03 得分 0

一个临时表,在LISTBOX1更新的时候保存没更新的数据,Click是删除LISTBOX1  
  中与临时表对应的数据。Top

11 楼songzhiwei(song)回复于 2003-07-04 12:01:19 得分 0

我想也可以在LISTBOX更新的时候写些东西,因为是一条一条的更新,那么在更新前可以比较新值是否与旧值相等,如果相等的话返回ITEMINDEX(可以定义为数组),  
  然后在BUTTON的CLICK的时候将ITEMINDEX里的相应条目删掉就可以了  
   
   
  Top

12 楼vcshcn(黑天的猩猩)回复于 2003-07-04 16:06:11 得分 0

方法太多,我懒的说Top

13 楼fengjn(颗粒)回复于 2003-07-04 17:12:06 得分 0

给你一个简单的,不需要什么复杂的附加结构。  
  在数据存储的时候,使用GetTickCount保存下数据插入的时间(STrings的附加结构不会不知道怎么用吧)  
  在点击按钮的时候在调用GetTickCount获取当前的时间,两个相减,大于5秒就删除。Top

14 楼bluemeteor(挂月||Becoder)回复于 2003-07-04 17:22:18 得分 0

光题中的需求来看,太简单了.....  
   
  定义一个二维字符数组和LISTBOX的string对应即可  
   
  需要timer控件:)Top

15 楼jakewwwvw()回复于 2003-07-04 19:24:08 得分 0

希望大家继续谈谈想法,最好有具体代码+注释   :)  
  非常感谢Top

16 楼lihao_ningxia(耗子)回复于 2003-07-04 19:30:58 得分 0

用个TIMER控件,加2个数组,每在TIMER触发后,把LIST中的值给它然后在点击按钮后进行判断,就可以实现了!Top

17 楼zhang21cnboy(事了抚衣去,不留身与名)回复于 2003-07-04 19:40:41 得分 0

考,这种婆问题如果能把大部分程序员都难倒的话,那就不存在程序员这个行业了!Top

18 楼ImFool(搞技术的都是傻瓜)回复于 2003-07-05 03:07:28 得分 0

太小儿科了,简直是对程序员的侮辱!Top

19 楼d0347(旭日升群枭)回复于 2003-07-06 15:45:21 得分 0

难倒大多数的程序员?Top

20 楼minercxy(Codewhy)回复于 2003-07-06 15:56:06 得分 0

真难,我不会,你们老师水平真高Top

21 楼blucecat(广种薄收)回复于 2003-07-06 16:47:37 得分 0

"listbox1里的每条数据,都是5秒更新一次的,我现在想按下BUTTON1来清除超过5秒没有变动的数据"  
   
  不用写任何代码,请注意“每条数据,都是5秒更新一次的”Top

22 楼koma2003(koma)回复于 2003-07-07 08:56:48 得分 0

楼主是博士吗?你们老师一定是博士后!!!Top

23 楼FlatHuge(FlatHuge)回复于 2003-07-07 11:40:24 得分 0

嗯……Top

24 楼soaringsouth(栈桥捉鳖)回复于 2003-07-08 11:37:47 得分 0

你老师够厉害啊Top

25 楼INeedCa(缺钙)回复于 2003-07-08 11:40:00 得分 0

厉害厉害  
  难啊难  
   
  真是难  
   
  真是TNND的难啊  
   
  能作出来的都不是人啊Top

26 楼cocoboy79(ithink79.spaces.live.com)回复于 2003-07-08 15:54:25 得分 0

哎呀你们老师太历害了,出的题太难了!我不当程序员了好不。Top

27 楼Risk_lee(■自己开公司■)回复于 2003-07-09 11:50:29 得分 0

你老师是个大菜鸟啊!Top

28 楼khzide(秦始皇)回复于 2003-07-09 13:07:58 得分 0

你老师是个大菜鸟啊!真给程序员丢脸。菜到这种地步。惬。。。  
  Top

29 楼pdbird(老巢)回复于 2003-07-09 13:52:40 得分 0

侮辱!菜菜菜菜菜菜菜Top

30 楼errorkiss()回复于 2003-07-09 14:13:45 得分 0

很受侮辱啊Top

31 楼pankun(剑神一笑 Console下面干革命)回复于 2003-07-09 17:33:20 得分 0

晕,我还以为啥子问题呢.闪了.Top

32 楼lsxjf(云飞)回复于 2003-07-10 12:38:10 得分 0

错!  
  他老师是猪。Top

33 楼SmallHand(火龍)回复于 2003-07-10 13:02:21 得分 0

太难了!  
  :)Top

34 楼ThenLong(完美组合=Delphi/C++)回复于 2003-07-10 17:43:58 得分 0

用一个数组在纪录列表中的时间。。。  
  每秒+1,到5删除  
  Top

35 楼shuixin13(犬犬(心帆))回复于 2003-07-10 22:33:07 得分 0

晕了我。。。。。。。。。。。。。  
   
  :)Top

36 楼cqnetse()回复于 2003-07-10 22:37:14 得分 0

其实大家说得过份了点...人家可能是一时没想好怎么问这个问题罢..你们这些人(少数的)怎么能这么说呢...Top

37 楼sweethzp(黄纸片)回复于 2003-07-11 08:54:51 得分 0

大概只对学生难吧,不要把学生和程序员混为一谈  
  请不要以为会放两个button,写几个循环语句就是程序员Top

38 楼cfqdream(软艺)回复于 2003-07-11 09:33:39 得分 0

真是不值一提的问题  
  这些都跟ASP里的sesstion   超时一样的道理。Top

39 楼fetag(过儿思念小龙女)回复于 2003-07-13 16:58:46 得分 0

我觉得大家这么说不好.有可能是他们老师为了激发学生的兴趣,故意夸大试题的难度,以调动学生的  
   
  解题的积极性!Top

40 楼pressman(大苯熊)回复于 2003-07-13 17:12:33 得分 0

现在的老师呀!  
  也……Top

41 楼gong_hui2000(gong_hui2000)回复于 2003-07-14 02:57:12 得分 0

简单!使用一个简单的数据结构:线性列表就可以解决问题。Top

42 楼qiume(好好回贴,天天胖胖)回复于 2003-07-14 10:45:50 得分 0

激将法吧?!!!Top

43 楼ghao0(干什么)回复于 2003-07-14 12:14:37 得分 0

改一下  
   
  按我对你题目的理解是:  
    加一个Timer控件,再加一个listbox控件.可以在Timer控件下写代码的话就是  
    button1click;  
    listbox2.Items:=listbox1.Items;  
   
    button1click事件是:  
  j:=0;  
  for   i:=0   to   listbox1.Count-1   do  
  begin  
  if   listbox1.items[j]<>listbox2.items[i]   then  
  begin  
      listbox1.Items.Delete[j];    
  end   else  
      inc(j);  
  end;  
  Top

44 楼wdsimon(我是谁?)回复于 2003-07-14 15:03:18 得分 0

白来了Top

45 楼geyobing(大地精灵)回复于 2003-07-14 15:48:16 得分 0

标题太夸张了,也不知道是哪儿的老师Top

46 楼kkk2000(肥牛)回复于 2003-07-14 17:03:04 得分 0

这也是难题???  
  我看应该是“懒到”程序员的题目。  
  反正我是懒的做这样的题目,太无聊了。Top

47 楼cocoboy79(ithink79.spaces.live.com)回复于 2003-07-16 13:31:59 得分 0

KAO,没想到还真有‘践人’给他答题,受你不了。Top

48 楼chenjunccnu(阿君)回复于 2003-07-27 14:48:54 得分 0

unit   Unit1;  
   
  interface  
   
  uses  
      Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,  
      Dialogs,   ExtCtrls,   StdCtrls;  
   
  type  
      TForm1   =   class(TForm)  
          ListBox1:   TListBox;  
          Button1:   TButton;  
          procedure   FormCreate(Sender:   TObject);  
          procedure   Button1Click(Sender:   TObject);  
          procedure   FormClose(Sender:   TObject;   var   Action:   TCloseAction);  
      private  
          {   Private   declarations   }  
          OrgTime:   TDateTime;               //上次比较的时间  
          CurrTime:   TDateTime;             //本次操作的时间  
          TmpLstBx:   TListBox;  
   
          Day,hour,minute,second:integer;   //时间  
   
          function   DateTimetoTime(DateTime:TDatetime):string;  
          procedure   CopyLstBxItem(CurrLstbx,   OrgLstbx:   TListBox);  
          procedure   DelListBoxItem(CurrLstbx,   OrgLstBox:   TListBox);  
      public  
          {   Public   declarations   }  
      end;  
   
  var  
      Form1:   TForm1;  
   
  implementation  
   
  {$R   *.dfm}  
  /////////////////////////////////////////////////////////////////////  
  //   功能:   删除两个listbox中不同的item  
  //   参数:   CurrLstbx,当前操作的;OrgLstBox:保存原来的项  
  //  
  ////////////////////////////////////////////////////////////////////////  
  procedure   TForm1.DelListBoxItem(CurrLstbx,   OrgLstBox:   TListBox);  
  var  
      i:   Integer;  
  begin  
      for   i   :=   CurrLstbx.Count   -   1   downto   0   do  
      begin  
          if   CurrLstbx.Items[i]   <>   OrgLstBox.Items[i]   then  
          begin  
              CurrLstbx.Items.Delete(i);  
          end;  
      end;  
      OrgLstBox.Clear;  
      CopyLstBxItem(CurrLstbx,OrgLstBox)  
  end;  
   
  /////////////////////////////////////////////////////////////////////  
  //  
  //   两个listbox之间拷贝  
  //  
  ///////////////////////////////////////////////////////////////////  
  procedure   TForm1.CopyLstBxItem(CurrLstbx,OrgLstbx:   TListBox);  
  var  
      i:   Integer;  
  begin  
      for   i   :=   0   to   CurrLstbx.Count   -   1   do  
      begin  
          OrgLstBx.Items[i]   :=   CurrLstbx.Items[i];  
      end;  
  end;  
   
  procedure   TForm1.FormCreate(Sender:   TObject);  
  begin  
        TmpLstBx   :=   TListBox.Create(self);  
        TmpLstBx.Parent   :=   Form1;  
        TmpLstBx.Visible   :=   false;  
        CopyLstBxItem(ListBox1,TmpLstBx);  
        OrgTime   :=   Time;  
  end;  
   
  procedure   TForm1.Button1Click(Sender:   TObject);  
  var  
      d   :   TDateTime;     //两次间隔时间  
  begin  
      CurrTime   :=   Time;  
      d   :=   CurrTime   -   OrgTime;  
      DateTimetoTime(d);  
      OrgTime   :=     CurrTime;  
      if   (day   >   0)   or   (hour   >   0)   or   (minute   >   0)   or   (second   >   1   )   then  
      begin  
          DelListBoxItem(ListBox1,TmpLstBx)  
      end;  
  end;  
   
  //////////////////////////////////////////////////////////////////////////  
  ///  
  ///   获得时间中的天,小时,分,秒数  
  ///  
  ///////////////////////////////////////////////////////////////////////////  
  function   TForm1.DateTimetoTime(DateTime:TDatetime):string;  
  begin  
      day:=Trunc(datetime);                     //取得日期数  
      hour:=day*24   +   strtoint(formatdatetime('h',datetime));  
      minute   :=   StrToInt(formatdatetime('nn',datetime));  
      second   :=   StrToInt(formatdatetime('ss',datetime));  
  end;  
   
   
   
  procedure   TForm1.FormClose(Sender:   TObject;   var   Action:   TCloseAction);  
  begin  
        TmpLstBx.Free;  
  end;  
   
  end.  
  Top

49 楼bluecyclone()回复于 2003-07-27 14:56:43 得分 0

我还真不会!~Top

50 楼flyonet(人生如梦【★】梦如人生)回复于 2003-07-27 15:25:31 得分 0

呵呵  
  结账吧  
  为了不挨大家的骂Top

51 楼root3646(游牧人(虫子))回复于 2003-07-27 15:43:00 得分 0

可以开始骂了吗!哈哈~~Top

52 楼szkingrose(szkingrose)回复于 2003-07-27 15:50:22 得分 0

真丢程序员的脸。Top

53 楼szkingrose(szkingrose)回复于 2003-07-27 15:53:43 得分 0

能否告诉我你是什么学校的?Top

54 楼IBestlad(IUnknown)回复于 2003-07-28 12:13:02 得分 0

用Timer也行,大不了也就是开个线程去监视ListBox,不是很难嘛。Top

55 楼IBestlad(IUnknown)回复于 2003-07-28 12:16:48 得分 0

我想那位老师说的是初级程序员吧,初程也是程序员嘛,所以呢各位大虾就不要多气氛了吧:)。Top

56 楼DWGZ()回复于 2003-07-28 12:18:35 得分 0

别听你teacher鬼扯,   用Data属性最好了Top

57 楼foreveryday007(有無數種方法可以浪費一天的時間…但是…)回复于 2003-07-28 12:21:31 得分 0

暈~~  
  現在了人太多Top

58 楼zousoft(菜菜鸟的战斗诗歌)回复于 2003-08-01 23:41:24 得分 0

首先我决得大家不要这么过激,   不要嘲笑人家,   我们都有过新手的经历,   现在谁也不能说"我在Delphi领域无敌了!".   既然这样,   大家就不妨帮帮人家,   即便没有时间,   不屑一顾也就罢了,   何必费时间打字冷嘲热讽呢?  
  总的思想同上,   比较备份,   如果数据不很大的话,   可以转换成集合,   用求补函数更方便.Top

59 楼seatu((三分像狗 七分像人))回复于 2003-08-11 12:07:23 得分 0

这么简单的东东   不至于这样吧。  
  动点脑筋好不好,不然   ,对你的发展没什么好处  
  Top

60 楼fyol(韦狂徒)回复于 2003-08-11 12:28:02 得分 0

我觉得获取当前时间再相减比较好  
   
  还有  
  问题不分大小  
  对待这个问题大多数人都是热心的  
  但也有人表现出其低下的素质  
  Top

61 楼lw549(那个孩子他爹)回复于 2003-08-11 21:39:48 得分 0

呵呵难倒大多数程序员?  
  我不相信有这样的老师。  
   
  今天心情不好,tnnd,fuck   chinaren。狗屎留言板,帖子居然不是以时间排序的。再也不去了。Top

62 楼wenewboy(wenew)回复于 2003-08-11 23:29:39 得分 0

这有什么难的,可我不知道这个课题有什么实际作用Top

63 楼delphi1234567(CHAO)回复于 2003-08-11 23:47:45 得分 0

什么老师这么菜,不如不要教书了,不要误人子弟。  
   
  自己解决不了的东西就说能难倒很多程序员。。  
  Top

64 楼kejian(御剑飞仙)回复于 2003-08-13 20:28:52 得分 0

unit   Unit1;  
   
  interface  
   
  uses  
      Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,  
      Dialogs,   StdCtrls,   ExtCtrls;  
   
  type  
      TForm1   =   class(TForm)  
          ListBox1:   TListBox;  
          Timer1:   TTimer;  
          procedure   FormCreate(Sender:   TObject);  
          procedure   Timer1Timer(Sender:   TObject);  
      private  
          {   Private   declarations   }  
      public  
          {   Public   declarations   }  
      end;  
   
  var  
      Form1:   TForm1;  
      templist:Tstringlist;  
  implementation  
   
  {$R   *.dfm}  
   
  procedure   TForm1.FormCreate(Sender:   TObject);  
  begin  
  templist:=Tstringlist.Create;  
  end;  
   
  procedure   TForm1.Timer1Timer(Sender:   TObject);  
  var   i:integer;  
  begin  
  for   i:=listbox1.Count-1   downto   0   do  
          if   (i<=templist.Count-1)   and   (listbox1.Items[i]=templist.Strings[i])   then   listbox1.Items.Delete(i);  
  templist.Clear;  
  templist.AddStrings(listbox1.Items);  
  end;  
   
  end.  
   
  ====================================================================  
   
  像和尚的唐僧。。。  
   
  ====================================================================  
  Top

65 楼qianguob(不懂编程)回复于 2003-08-13 21:04:37 得分 0

我想问题已经解决了  
  其实你好好想想真的不难啊。Top

66 楼halfdream(哈欠)回复于 2003-08-14 02:25:25 得分 0

楼主用"难倒大多数程序员的题目"这样的说法来吸引人看这题目,  
  玩这种心计是不会受欢迎的.似乎有些不好吧.  
   
  而在事实上,这样的题目如果做不出来,已经应该不是程序员了;  
  而对于学习编程中的学生,是情有可原的.  
   
  Top

67 楼ly_liuyang(Liu Yang LYSoft http://lysoft.7u7.net)回复于 2003-08-16 23:40:15 得分 0

很Easy的  
  ListBox的Items是StringList来的,使用AddObject就可以很容易解决问题  
  AddObject中包含有时间信息就可以了,你添加的是对象视觉上看不见的  
  使用Data可以访问那个相关的对象Top

68 楼rainbow0326(知道自己不知道)回复于 2003-08-19 17:07:17 得分 0

我覺得這裡的某些人你們何必對人家冷嘲熱諷呢,你們難道開始學delphi的時候就什麼都會嗎?  
   
  我是剛剛開始學delphi的,有好多東西都不會,看見你們的回復心都涼了,再說了,如果沒有我們這種菜鳥來問,你們的專家分怎麼漲?Top

69 楼foxstarx(幸运星)回复于 2003-08-20 09:40:34 得分 0

大多数?呵呵Top

70 楼yanzheng77(茕茕白兔,东走西顾)回复于 2003-08-21 09:13:09 得分 0

幸好我不是大多数。。。  
  Top

71 楼ZyxIp(绝望中...)回复于 2003-08-21 09:41:52 得分 0

大家以后给思路就可以了,不要给写代码,造就了很多的懒人。  
   
  给提供方法就可以了还问大家是详细代码,太过分了吧!!!!!!!!!!  
   
  自己动动手,动动脑袋好不好。Top

72 楼kennidy(村雨)回复于 2003-08-22 02:05:10 得分 0

这种问题还需要delphi写????  
  用html通过object调用listbox控件加一段javascript就可以写出来!  
  你们老师没问题吧?Top

73 楼yaoF1(一︻┳═一)回复于 2003-09-07 10:14:21 得分 0

我菜啊  
  这么难的问题,大家全会!  
  好难啊  
  哈哈哈哈  
  够菜Top

74 楼huangrenguang(湖)回复于 2003-09-07 16:38:20 得分 0

说什么呢,慢慢来吧,许多事情我们刚开始做时可能都觉得这不懂那不会的,其实你的问题对99%的程序员来说都不是问题,希望你开开心心学习,认认真真写代码。Top

75 楼flyingworm(修心的胖胖)回复于 2003-09-10 17:59:13 得分 0

大家反应不友好,主要是因为这句话吧:"一个能难倒大多数程序员的题目"  
   
  不知道是老师的提法还是楼主的提法,如果问题表述的够清楚,那么上面的思路也够清晰了.  
   
  至于代码,楼主自己写一下,习惯了^C^V之后,编程的激情就没有了.  
   
  希望不要被他们吓倒,你有好问题,他们是愿意回答你的.Top

76 楼Tal(Tal)回复于 2003-09-18 10:06:17 得分 0

A   Listbox(原)  
  B   Listbox(新)  
  C   Listbox(全新)  
  对比Top

77 楼zousoft(菜菜鸟的战斗诗歌)回复于 2003-09-19 22:56:46 得分 0

楼主还不结贴呀。都好几个月了。Top

78 楼toby(宝宝)回复于 2003-09-23 15:37:42 得分 0

标题太夸张了吧?你们老师也太嚣张,太没有见识了!!!Top

79 楼kaiyun97(黑马不黑)回复于 2003-09-24 09:59:20 得分 0

不能怪他们没见识,只能怪目前现行的教育体制,  
  在学校时的见识有他们那样的就还可以了Top

80 楼ronaldli(木的)回复于 2003-09-28 13:30:37 得分 0

现在的老师都很弱,我们计算机学院的一个教授,会点儿VBScript就已经很了不起了,有的是教授、副教授连编程都不会Top

81 楼okdelphi(okdelphi)回复于 2003-09-28 14:33:28 得分 0

 
  这个题目就能难倒大多数程序员?   晕!!Top

82 楼ksaiy(阳光总在风雨后)回复于 2003-09-29 00:24:27 得分 0

郁闷,兄弟问问题都不会问,唉,一般很少有人会回答你的问题的  
  Top

83 楼delphiplus(刘舟)回复于 2003-09-29 13:53:01 得分 0

靠,这也叫问题.晕啊.  
   
  Top

84 楼gdp(鬼童)回复于 2003-09-29 14:01:33 得分 0

好像大家都想着用两个listbox呢,一个listbox不能实现吗?Top

85 楼gdp(鬼童)回复于 2003-09-29 14:08:38 得分 0

更新数据时所添加的数据是不是随意的Top

86 楼ccc_wh(cwh)回复于 2003-09-29 14:11:56 得分 0

怕是有宝气罗,  
  这也能当做问题,  
  还难倒大多数程序员呢,  
  你以为程序员都只知道吃饭的啊,  
  程序员就可以被这么贬吗?  
  老师只猪的话学生也不一定要是猪啊,  
  毕竟我们都曾经是过学生.Top

87 楼gdp(鬼童)回复于 2003-09-29 14:32:56 得分 0

其实这个用一个全局变量可以搞的了Top

88 楼gdp(鬼童)回复于 2003-09-29 14:34:05 得分 0

unit   Unit1;  
   
  interface  
   
  uses  
      Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,  
      Dialogs,   ExtCtrls,   StdCtrls;  
   
  type  
      TForm1   =   class(TForm)  
          ListBox1:   TListBox;  
          Button1:   TButton;  
          Timer1:   TTimer;  
          Label1:   TLabel;  
          Label2:   TLabel;  
          procedure   Timer1Timer(Sender:   TObject);  
          procedure   Button1Click(Sender:   TObject);  
      private  
          {   Private   declarations   }  
      public  
      Lastdatarows:integer;  
          {   Public   declarations   }  
      end;  
   
  var  
      Form1:   TForm1;  
   
  implementation  
   
  {$R   *.dfm}  
   
  procedure   TForm1.Timer1Timer(Sender:   TObject);  
  var  
  i,j:integer;  
  begin  
  lastdatarows:=listbox1.Items.Count;  
  label2.Caption:=inttostr(lastdatarows);  
  for   i:=0   to   9   do  
  begin  
  j:=random(1000);  
  listbox1.Items.Add(inttostr(j));  
  end;  
  end;  
   
  procedure   TForm1.Button1Click(Sender:   TObject);  
  var  
  i:integer;  
  begin  
  if   lastdatarows<>0   then  
  begin  
  for   i:=0   to   lastdatarows-1   do  
  listbox1.Items.Delete(i);  
  Lastdatarows:=0;  
  end;  
  label2.Caption:=inttostr(lastdatarows);  
  label1.Caption:=inttostr(   listbox1.Items.count);  
  end;  
   
  end.  
  Top

89 楼aegeanahhu(慧生于觉)回复于 2003-10-08 13:37:06 得分 0

好象不复杂吧?gdp()搞定了呀Top

90 楼westdiamond(窘到则一踏糊涂)回复于 2003-10-30 09:51:57 得分 0

ly_liuyang(Liu   Yang)   :  
  很Easy的  
  ListBox的Items是StringList来的,使用AddObject就可以很容易解决问题  
  AddObject中包含有时间信息就可以了,你添加的是对象视觉上看不见的  
  使用Data可以访问那个相关的对象  
  ///////////////////////////////////////////  
  这方法不错,我喜欢~    
  Top

91 楼suwen88(龙的传人)回复于 2003-11-04 12:16:00 得分 0

骗人吗。这也教难倒程序员的问题吗  
  小菜一盘。Top

92 楼zhangxiaofang(张小方)回复于 2003-11-05 22:36:39 得分 0

我靠,这个程序是用来干什么的?  
  是来折磨程序员的东西,那就不做了!  
  一个程序被做的目的是来用的,不是来炫耀编程技术的!Top

93 楼goease(Love Is Lonely)回复于 2003-11-06 00:26:39 得分 0

TString;Top

94 楼cupidvenus(小鱼儿)回复于 2003-11-18 00:07:29 得分 0

能难倒大多数程序员的题目  
  ___________________________________  
   
  这是你说的还是你老师说的?     太贬低程序员了吧!Top

95 楼allanzong(阿狼)回复于 2003-11-21 18:19:28 得分 0

呵呵,楼主该反思了,有这么提问的么。。。  
   
  (不过还真起到了预期的效果。。)Top

96 楼xiaoxiao197821(你的笑对我很重要)回复于 2003-11-21 19:19:00 得分 0

误入,我闪  
   
  ------------------------------------  
  做前人之所做,想后人之所想Top

97 楼bigcotton(大棉花)回复于 2003-11-30 21:48:23 得分 0

能难倒大部份程序员?哈哈哈………Top

98 楼winst(卷龙)回复于 2003-12-02 14:59:28 得分 0

一个变量计数,用排序发,更新的上飘,没有更新的计数,最后上下往上删(删除数量位计数数量)。Top

99 楼cjfzy(他山之石,可以攻玉。)回复于 2003-12-02 15:41:55 得分 0

记录每一条记录加入时间,删除时比较当前时间,大于5s的删除!Top

100 楼xzknet(MapleLeaf)回复于 2003-12-03 00:17:55 得分 0

 
  建立一个动态数组专门存储每条记录的存活时间,这个时间可以用用Timer控件循环写入  
  Button事件是当发现一个记录是超过5秒中没有更新就删除了  
  如果更新一个记录,该记录对应的数组就将时间置零!!!重新计算时间!!  
  不知道对不对!;)Top

101 楼kejian(御剑飞仙)回复于 2004-02-12 09:44:49 得分 0

Adayuer([±0℃])   (   )   信誉:99    
  用两个listbox,其中一个保存显示的数据,一个用来保存临时的数据  
  timer     没   5   秒   对两个listbox中的数据同步一次  
  当button按下时,依次检查两个listbox中的内容,如果内容不同,就说明有过1个5秒未更新,就删除之  
   
  的方法好蠢哦。   那如果有数据被子删除了。那按你的方法,不是就认为这些数据都变动过了吗?Top

102 楼kejian(御剑飞仙)回复于 2004-02-12 09:59:19 得分 0

|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||  
  |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||  
  |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||  
  楼上的那一百人都"说"自已在天才的,我看来全部都是缺乏思考的人。  
  本人敢说楼上那些人除了xzknet(MapleLeaf)的想法有点那个意思外。  
  其他的全部都是自大狂。这道题虽说不难。但他们全部都非常粗心。  
  ========================================================  
  题目:程序里有个LISTBOX1和一个BUTTON1,这个LISTBOX1里随时都有几十条数据,而且listbox1里的每条数据,都是5秒更新一次的,我现在想按下BUTTON1来清除超过5秒没有变动的数据  
  -----------  
  不知道要怎么写,要添加TIMER控件吗?希望能给出详细的button1.click事件的代码,有同学说在添加listbox   数据时做上记号,老师说不可以,一定要在在button1的click   事件里处理,但可以自己写函数,可以加别的控件  
   
  之后,提问都加入了一条补充-----  
  对了,LISTBOX里的几十条数据是一条条更新的不是全部一起更新的  
   
  ==================================================================  
   
  你们好好的再看清题目还想想吧。Top

103 楼lcf79001(Delphi白痴)回复于 2004-02-12 10:29:12 得分 0

TO   xzknet(MapleLeaf)  
  倘若我里面记录很多的话,用数组的办法好不好呢?  
  还有其他的方法么?  
  我是初学者,请多多指教!Top

104 楼zihui2k(zihui2117)回复于 2004-02-16 20:23:01 得分 0

这也算难题?Top

105 楼zjDelphiX(KTV)回复于 2004-02-18 23:44:32 得分 0

to   kejian(御剑飞仙)   :  
   
  这种题目本来就没有难度.更何况是说大多数的程序呢?  
  难住大多数大学一年级的学生那到有可能.但是说是程序员?  
  你明白什么是程序员吗?  
   
  大多数又是什么意思?  
   
  不管这个题目是怎样的真实意思,   但解这个问题是总是件容易的事情.  
  所以上面大伙的不满是完全有理由的.  
   
  你怎么能说别人缺乏思考?   你真得思考了?  
  大家遇到比这难的事情多了.Top

106 楼sandzou(糖醋排骨)回复于 2004-02-19 17:34:57 得分 0

好玩Top

107 楼steventone(心兰)回复于 2004-02-20 21:48:21 得分 0

楼主是博士吗?你们老师一定是博士后!!!  
  Top

108 楼redlegend_126_com(redlegend)回复于 2004-03-23 09:16:53 得分 0

可以用两个listbox1,listbox2,timer1来制作,listbox1保存新的数据,listbox2保存旧的数据,timer1来实现每5秒的更新。  
  对比listbox1和listbox2的内容如果有相同的数据,则将listbox1中的响应的数据删除掉!Top

109 楼zhaogang(高级民工——开始学做工头)回复于 2004-03-25 12:15:04 得分 0

楼主厉害!还用了“能难倒大多数程序员”的题目。有前途Top

相关问题

  • 2004年程序员题目,求救!!!!!
  • 2005上程序员必考题目
  • 介绍几个好的程序员考试的题目网站。
  • 求《程序员》2001年7月的擂台题目。
  • kiloculf快来,感谢你帮我看的程序员的题目!
  • 帮忙解决个2000程序员考试的题目
  • 100分求asp.net初级程序员的面试题目
  • 究竟招聘程序员面试出拿来题目比较合理?
  • 面试招asp程序员需出怎么样的题目来考他?
  • 难倒中国所有程序员的小问题,答对者将获得800分的报酬!

关键词

  • 程序员
  • 数据
  • 控件
  • 代码
  • 函数
  • listbox
  • currlstbx
  • 更新
  • 题目
  • 难倒

得分解答快速导航

  • 帖主:jakewwwvw

相关链接

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

广告也精彩

反馈

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