用C++Builder制作的闹钟

来源:网络时间:2011-06-27 18:06:45

  ---- 大凡热恋中的网虫都曾经陷入下列的困境:约好女/男朋友晚七点半在老地方等,却在计算机面前一直爬行到深夜,等反映过来,朋友早已拂尘而去,又得几天的功夫去陪礼道歉。朋友何不按以下步骤做一简单的闹钟,让你安安心心上网,大大方方约会。你只要在上网的时候打开此应用程序,设置好约会时间(当然也可以是默认好的)即可。时间一到,音乐响起,快去约会吧。

  ---- 本闹钟程序有以下组件组成:

  序号 组件类型 组件名称 功能
  1 Tlabel l_Clock_1 显示“输入日期”
  2 TdateTIMePicker dtp_Clock_1 选择日期
  3 Tlabel l_Clock_2 显示“输入时间”
  4 TdateTimePacker tdp_Clock_2 选择时间
  5 TmediaPlayer mp_Clock 演奏音乐
  6 Tbutton b_Clock_Open 重新打开
  7 Ttimer t_Clock 定时检测
  8 Tbutton b_Clock_Close 关闭应用程序

  ---- 屏幕组件一览表

  ---- 屏幕组件一览图

  ---- 说明:dtp_Clock_1 的Kind属性设置为dtkDate , dtp_Clock_2 的Kind属性设置为dtkTime,mp_Clock 的FileName属性设置为你主机上存在的任何mid、wav、avi文件。t_Clock 的Interval属性设置为10。

  ---- 事件说明如下:
  ①、 t_Clock的OnTimer :
  {
  //按时触发演示程序
  struct date d;
  struct time t;
  AnsiString thour,tmin,tsec;
  int dyear;
  int dintyear;
  int dmon,dday;
  AnsiString tinthour,tintmin,tintsec;
  AnsiString dintmon,dintday;
  //取当天日期
  getdate(&d);
  dyear=d.da_year;
  dday=d.da_day;
  dmon=d.da_mon;
  dintyear=StrToInt(dint.SubString(1,2));
  dintmon=dint.SubString(4,2);
  dintday=dint.SubString(7,2);
  //取当时时间
  gettime(&t);
  thour=AnsiString(t.ti_hour);
  tmin=AnsiString(t.ti_min);
  //tsec=AnsiString(t.ti_sec);
  //tint=AnsiString(DateTimePicker1- >Time);
  tinthour=tint.SubString(10,2);
  tintmin=tint.SubString(13,2);
  //tintsec=tint.SubString(16,2);
  //闹钟服务功能
  if ((StrToInt(thour)==StrToInt(tinthour))&&
  (StrToInt(tmin)==StrToInt(tintmin))
  &&(StrToInt(AnsiString(dyear).SubString(3,2))
  ==dintyear)&&(StrToInt(dmon)==StrToInt(dintmon))
  &&(StrToInt(dday)==StrToInt(dintday)))
  {
  dTimer- >Enabled=false;
  MediaPlayer1- >Open();
  MediaPlayer1- >Play();
  }
  }
  ②、 b_Clock_Open 的OnClick:
  {
  t_Clock- >Enabled=true;
  }
  ③、 b_Clock_Close的OnClick
  {
  Application- >Terminate();
  }

  
  ---- 当然此程序还可以拓展、细化,如我仅将触发条件检测到分,当然它完全可以检测到秒,也可以仅检测到时。

文章内容来源于网络,不代表本站立场,若侵犯到您的权益,可联系我们删除。(本站为非盈利性质网站) 联系邮箱:rjfawu@163.com
多特网友 2014-05-07 23:18:59 回复
新手呀!能不能给个完整的程序?
多特网友 2013-12-15 20:23:10 回复
代码补全,条理不清,让人迷惑
多特网友 2012-09-23 21:42:35 回复
有点么看懂呢
多特网友 2012-09-23 21:42:35 回复
有点么看懂呢
多特网友 2013-12-15 20:23:10 回复
代码补全,条理不清,让人迷惑
多特网友 2014-05-07 23:18:59 回复
新手呀!能不能给个完整的程序?