- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
龍華技術學院電子工程系視窗程式設計講義-delphik.top討論區
實習題目:時鐘、鬧鐘與馬錶計時器
功能說明:
時鐘視窗表單位於螢幕中央如圖一所示其標題為AlarmClock,具有日期時間顯示面板、Stop Watch與Alarm Clock選項群組、鬧鐘與馬錶輸入編輯盒與Start、Stop、End等三個控制按鈕。
Stop Watch倒數計時器時間可使用輸入編輯盒設定。
使用者可利用Start按鈕啟動計時器倒數計時,Stop按鈕則用來停止倒數計時。
計時器倒數啟動後,時間顯示格式為 01:00:00:99精密度至1/100秒(圖二),進度軸顯示倒數進度。
Alarm Settings鬧鐘日期時間可使用輸入編輯盒設定。
使用者可利用Start按鈕啟動時鐘並顯示系統日期與時間,Stop按鈕則用來停止。
時鐘啟動後,日期與時間顯示格式為 2006/08/12 19:18:20精密度至1秒(圖三)。
鬧鐘啟動後,日期與時間顯示中止、顯示面板顏色每0.5秒隨機閃爍同時播放鬧鈴音樂。
時鐘停止後,日期時間顯示面板顯示作者班級學號與姓名。
使用End控制按鈕以結束此視窗程式的執行。
視窗畫面
圖一 時鐘視窗表單
圖二 計時器倒數啟動視窗表單
圖三 時鐘啟動視窗表單
使用物件:
表單(TForm),標籤(TLabel),按鈕(TButton),計時器(TTimer),編輯盒(TEdit),面板(TPanel),選項群組(TRadioGroup),進度軸(TProgressBar)
重點提示:
使用表單的Caption屬性以設定視窗標籤。
使用Border Style屬性以設定表單為對話盒視窗。
使用Position屬性以設定表單的位置位於為螢幕中央。
使用Date()與Time()函式讀取系統日期與時間。
使用Application-Terminate (); 結束游標選擇程式,返回視窗作業系統。
使用Timer1-Enabled = true;啟動計時器、Timer1-Enabled = false;暫停計時器、Timer1-Interval = 10;設定計時器為0.01秒。
使用RGB(rand()%256, rand()%256, rand()%256);產生一隨機顏色。
使用 swHourStr = Edit1-Text.SubString(1,2);
swMinStr = Edit1-Text.SubString(4,2);
swSecStr = Edit1-Text.SubString(7,2);
以擷取倒數計時時、分、秒字串。
使用
swCount = StrToInt(swHourStr)*3600*100 + StrToInt(swMinStr)*60*100 + StrToInt(swSecStr)*100; 以取得倒數計時數。
使用 tswHourStr = IntToStr(swCount/360000); 以取得倒數計時數所代表的時。
使用 min = swCount%360000; tswMinStr = IntToStr(min/6000); 以取得倒數計時數所代表的分。
使用 sec = min%6000; tswSecStr = IntToStr(sec/100); 以取得倒數計時數所代表的秒。
使用 hund = sec%100; 以取得倒數計時數所代表的百分位。
使用AnsiString nowStr;
nowStr = FormatDateTime(yyyy/mm/dd hh:mm:ss,Date() + Time());
nowStr內儲存目前系統日期與時間的字串且格式為yyyy/mm/dd hh:mm:ss
nowStr.Length()函式可取得字串長度。
StrToInt()可將字串轉成整數, IntToStr可將整數轉成字串,使用 + 運算子可將字串加以串接,SubString(20,2);函式可取得子字串。
使用sndPlaySound(NULL, SND_ASYNC | SND_LOOP);播放鬧鈴音樂, sndPlaySound(NULL, SND_ASYNC | SND_LOOP); 停止播放鬧鈴音樂。
使用執行緒來執行擷取系統時間的動作。
使用File-New-Thread Object以建立一執行緒。
類別名稱Class Name : ClockThread。
執行緒名稱Thread Name: ClkThread。
執行緒執行函式
//-------------------------------------------------------------------------
您可能关注的文档
最近下载
- 2025秋人教版八年级上英语教学计划及教学进度安排.docx VIP
- (完整版)元素周期表(word全面版) .pdf VIP
- 《中华人民共和国监察法》试题库附参考答案.docx VIP
- 房屋市政工程生产安全重大事故隐患判定标准(2024版)(宣讲培训).pptx VIP
- 监察法试题库完整.doc VIP
- 水稳运输车驾驶员安全技术交底.pdf VIP
- 外墙保温工程监理实施细则.docx VIP
- 林草--森林火灾危险性评估技术规范.pdf VIP
- 人教版(2019)必修第一册Unit 4 Natural Disasters reading and thinking课件(共38张PPT)(含音频+视频).pptx VIP
- 矿产行业审计风险分析报告 .pdf VIP
文档评论(0)