大凡热恋中的网虫都曾经陷入下列的困境:约好女/男朋友晚七点半在老地方等,却在计算机面前一直爬行到深夜,等反映过来,朋友早已拂尘而去,又得几天的功夫去陪礼道歉。朋友何不按以下步骤做一简单的闹钟,让你安安心心上网,大大方方约会。你只要在上网的时候打开此应用程序,设置好约会时间(当然也可以是默认好的)即可。时间一到,音乐响起,快去约会吧。
本闹钟程序有以下组件组成:
序号 组件类型 组件名称 功能
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 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
{ //按时触发演示程序 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:
1 2 3 |
{ t_Clock- >Enabled=true; } |
③、 b_Clock_Close的OnClick
1 2 3 |
{ Application- >Terminate(); } |
当然此程序还可以拓展、细化,如我仅将触发条件检测到分,当然它完全可以检测到秒,也可以仅检测到时。