欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    闹钟提醒及定时关机程序.doc

    • 资源ID:2761245       资源大小:285.55KB        全文页数:23页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    闹钟提醒及定时关机程序.doc

    湖南工业大学课 程 设 计资 料 袋 计算机与通信 学院(系、部) 2011 2012 学年第 1 学期 课程名称 Java程序设计 指导教师 职称 副教授 学生姓名 专业班级 学号 题 目 闹钟提醒及定时关机系统 成 绩 起止日期 2010 年 12 月 6 日 2011 年 1 月 20 日目 录 清 单序号材 料 名 称资料数量备 注1课程设计任务书1份2课程设计说明书1份3张456湖南工业大学课程设计任务书2010 2011 学年第 1 学期 计算机与通信 学院 软件工程 专业 班级课程名称: Java程序设计 设计题目: 闹钟提醒及定时关机 完成期限:自 2011 年 12 月 6 日至 2012 年 1 月 20 日共 2 周内容及任务一、设计的主要技术参数(1) ADO连接数据库的实现方法;2、 设计任务(内容)(1)当前时间功能,使用公元纪年和天干地支纪年两种方法显示当前日期,以及用类似数码管形式显示当前时间。(2)日历查看功能,可以查看的年数很久远 (3)定时关机,通过设置时间来定时关闭计算机。(4)闹钟提醒的设定和删除,添加闹钟提醒和删除闹钟提醒(5)系统设置,设置标题背景和前景色,日期显示颜色,选中区颜色。三、设计工作量从2011年12月6日开始,共用时4周。进度安排起止日期工作内容12月6日5月12日进行系统需求分析,方案论证12月13日5月20日进行系统概要设计及数据库设计12月21日12月30日进行系统详细设计及测试维护等12月31日1月4日整理、完善并打印设计说明书,准备答辩参考资料(1) 明日科技:李文立, 刘强,梁冰编著,Delphi 数据库系统开发案例精选,北京: 人民邮电出版社, 2006年5月第一版,2006年5月北京第一次印刷。(2) 求是科技:周新会,周金根编著,Delphi通用模块及典型系统开发实例导航, 北京: 人民邮电出版社, 2006年2月第一版,2006年2月北京第1次印刷(3) 郑阿奇,Oracle实用教程, 北京: 电子工业出版社, 2007年11月第5次印刷。指导教师(签字): 年 月 日系(教研室)主任(签字): 年 月 日Java程序设计课程设计说明书闹钟提醒及定时关机系统起止日期: 2011年12月6日 至 2012年 1月20日学生姓名 班级 学号 成绩指导教师满君丰计算机与通信学院2011年 12 月6日目 录1 绪论11.1 课题背景11.2 控件开发相关技术介绍12 系统分析22.1 需求分析22.2 工作流程23 系统设计23.1 系统功能结构图23.2 模块功能设计34 系统实现44.1 系统界面的实现44.2 系统主要功能实现44.2.1系统主界面和代码:44.2.2当前时间54.2.3查看日历5显示日历5选择时间6显示星期6显示节气64.2.4定时关机64.2.5 定时提醒64.2.6 系统设置75 性能需求75.1 时间性能需求75.2 系统开放性需求85.3 界面友好性需求85.4 系统可用性需求85.5 可管理性需求85.6 Interface Requirements 接口需求86 源程序清单87 总结和展望167.1 收获与体会167.2 未来的展望16参考文献16课程设计检查表18171 绪论1.1 课题背景我国现在在各个方面发展迅猛,民众的生活质量得到极大的提高。与此同时,根据时代的要求,人们的生活节奏也随之加快。人们都要求自己在很短的时间尽量做到最多的事。所以开发一款能让人们能将其所有的事有序地组织起来,同时又能提醒在什么时间该做什么事的软件是很有必要的。虽然目前这样软件很多功能虽强大,但是用起来都很复杂,有些功能并不实用,操作也太麻烦。该课题的终极目标是开发一个实用,操作便捷的桌面闹钟应用程序,达到在日常生活工作中可以合理利用时间从而大大地提高人们的工作效率。1.2 控件开发相关技术介绍本系统前台用Delphi语言。Delphi是著名的 Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。“真正的程序员用c,聪明的程序员用Delphi”,这句话是对 Delphi最经典、最实在的描述。Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点。和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强大、更实用。可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。它一直是程序员至爱的编程工具。 Delphi具有以下的特性:基于窗体和面向对象的方法,高速的编译器,强大的数据库支持,与Windows编程紧密结合,强大而成熟的组件技术。但最重要的还是Object Pascal语言,它才是一切的根本。 Object Pascal语言是在Pascal语言的基础上发展起来的,简单易学。 在Delphi众多的优势当中,它在数据库方面的特长显得尤为突出:适应于多种数据库结构,从客户机服务机模式到多层数据结构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件。本系统采用的数据库是Oracle 10g。因ORICLE具有高性能,可靠性,安全性和可扩充性的优点,同时又引进了数据库和服务器增强功能以及其他一些新的特性,它实现了真正的客户机/服务器体系结构,具有丰富的编程接口,类似SQL中的数据仓库功能和很好的伸缩性。在实际应用方面,它具有完全的Web功能,大大增强了数据库本身的实用性。它能够满足各种类型机构和个人对数据库的需求,并且在操作的易用性,功能的可伸缩性,安全的可靠性等方面具有明显的优势,因此,我们首选它作为本次系统开发的后台语言。2 系统分析2.1 需求分析(1) 当前时间功能,使用公元纪年和天干地支纪年两种方法显示当前日期,以及用类似数码管形式显示当前时间;(2)日历查看功能,可以查看的年数很久远; (3)定时关机,通过设置时间来定时关闭计算机;(4) 闹钟提醒的设定和删除,添加闹钟提醒和删除闹钟提醒;(5) 系统设置,设置标题背景和前景色,日期显示颜色,选中区颜色。2.2 工作流程一般访客可以进行四个板块:设定提醒时间,设定提醒信息,设定关机时机,和设定提醒信息。普通用户登陆之后可以:对提醒事件进行添加、修改和删除;对关机时间进行添加、修改和删除;对剩余时间进行查询; 查看已有信息;3 系统设计3.1 系统功能结构图本系统编写的目的,是实现一个住宅小区的物业管理系统,为工作带来更高的工作效率以用方便员工的管理。由于本程序的功能是和数据库相关的数据查询和数据操作,所以程序至少具有以下功能:1. 数据库的连接 ;2. 对数据表的基本操作,如插入、修改、删除;3. 根据条件进行查询;4. 程序界面显示数据的动态刷新,本例是运用按钮控件实现的。软件功能结构如下图所示:图3.1 功能结构图 3.2 模块功能设计系统功能设计是使整个系统能基本实现员工轮班制度的查询,员工基本信息的查询和管理,员工工资的管理,小区住宅用户的查询和管理,房子基本信息的井底和管理和用户管理等管理功能,能够进行有效率的管理。本系统共包括两大模块,分别是定时提醒模块和定时提醒模块。每个模块的功能如下: 定时关机模块:1)、设定关机时间。2)、读取当前时间。3)、启动定时关机定时器,开始定时。4)、时间到达后关闭计算机。 定时提醒模块:1)、设定闹钟时间。2)、读取当前时间。3)、启动定时提醒定时器,开始定时。4)、时间到达后,发出提醒信息。 5)、结束本次提醒任务。等待下次任务。4 系统实现根据整个系统的总体设计以及子系统的相关模块功能的设计,我们进行了系统的软件开发。详细设计和功能展示如下:4.1 系统界面的实现 界面是保证系统正常运行的一个重要因素,它影响到用户应用系统时的态度,影响到用户对产的品的评价,影响到产品的竞争力和寿命,进而影响到系统功能的发挥,所以必需对界面设计给予足够重视。4.2 系统主要功能实现 4.2.1系统主界面和代码:系统主界面如下图所示:图4.1系统主页面4.2.2当前时间1、简要说明在时钟界面上用数码管形式显示当前时间。2、界面图4.2 当前时间4.2.3查看日历以公元纪年法和天干地支法显示日历,对于每一个日期查询和显示对应星期,节气。同时,在日历任何日期上,可以点击“今天”回到当前日期。显示日历1、简要说明默认根据当前时间,在日历上显示当前公历和农历,以及星期,如果这天有节气,则显示24节气。2、界面图4.3 显示日历选择时间通过选择年和月,更新日历显示,以及农历显示。显示星期根据选择年月日,在日历上显示对应星期几。 显示节气根据选择年月日,如果该天有节气,则显示节气。4.2.4定时关机1、简要说明通过设置定时关机,可以让电脑在该时间点上关闭电脑。可以选择时和分,精确到分钟。2、界面图3.4 定时关机4.2.5 定时提醒1、简要说明通过设置提醒时间,可以在该时间点上提醒相关事宜。可以选择时和分,精确到分钟。当时间到时,在右下脚探出滚动窗口,提示设置消息。2、界面(1)设置定时提醒图4.5 定时提醒(2)定时提醒内容图4.6 提醒内容4.2.6 系统设置1、简要说明设置标题背景和前景色,日期显示颜色,选中区颜色;隐藏和显示系统。设置标题背景色,是改变日历星期标题背景颜色;设置标题前景色,是改变日历星期标题字体颜色。设置日期前景色,是改变日历中公历每日颜色。设置选中区颜色,是改变日历上高亮显示日期颜色。通过设置热键ALT+X,来隐藏和显示系统。2、界面(1)设置颜色图4.7 设置颜色(2)隐藏与显示图4.8 隐藏与显示5 性能需求5.1 时间性能需求响应速度:5秒内。客户端:桌面运行程序,速度很快。 5.2 系统开放性需求基于主流WINDOWS平台建设的多功能时钟系统,使其具有良好的可扩充性和可移植性,系统可运行在主流的WINDOWS操作系统平台上,便于以后系统的升级。核心日历功能使用标准C+编写,以便于移植PDA等智能手机上,这将有助于提高系统扩充性。5.3 界面友好性需求系统提供统一的操作界面和方式。要求操作界面美观大方,布局合理,功能完善,对于初级用户容易上手,并且提供适当的帮助信息。5.4 系统可用性需求系统操作快捷、内容完整是保证对用户进行使用的基础。因此,应准确而详细地理解各用户群特征、任务和使用环境,在“有效性”(完成特定任务和达到特定目标时所具有的正确性和完整程度)、“效率”(完成任务的正确性和完整程度与所使用资源,如时间之间的比率),以及“满意度”(在使用产品过程中具有的主观满意和接受程度)等方面满足各类用户对系统的要求。5.5 可管理性需求系统涉及面较广,系统应提供对管理内容的分级分类管理和维护、用户信息维护、系统配置和管理、以及故障诊断等功能。5.6 Interface Requirements 接口需求实现C/S的用户操作图形化界面,用户的交互界面都通过PC显示屏交互,大部分用户的显示屏都在17英寸以上,分辨率基本已1024*768为主,600*800的较少,软件界面能自适应屏幕大小。屏幕格式尺寸:选择正常4:3 6 源程序清单import java.applet.Applet; import java.applet.AudioClip;import java.awt.Container;import java.awt.GridLayout;import java.awt.event.*; import java.io.File;import java.net.MalformedURLException;import java.net.URL;import java.text.SimpleDateFormat;import java.util.Date;import javax.swing.*;public class clock extends JFrame implements Runnable JLabel ri, shi, fen, miao, dangqian, guanji; JButton queding, dakai; JTextField music, RI, SHI, FEN, MIAO; int h = 0, f = 0, m = 0, r = 0; boolean fo = false, foo = false; public AudioClip soumd1;int riqi, shizhong, fenzhong, miaozhong; public clock() Container c = getContentPane(); c.setLayout(new GridLayout(4, 1); JPanel jp = new JPanel(); dangqian = new JLabel(); jp.add(dangqian); c.add(jp);JPanel jp3 = new JPanel(); guanji = new JLabel("离闹铃时间:0 日 0 时 0 分 0 秒"); jp3.add(guanji);c.add(jp3); JPanel jp1 = new JPanel(); music = new JTextField(20); dakai = new JButton("选择闹铃音乐");jp1.add(music); jp1.add(dakai);c.add(jp1); ri = new JLabel("日"); RI = new JTextField(4); shi = new JLabel("时"); SHI = new JTextField(4); fen = new JLabel("分");FEN = new JTextField(4);miao = new JLabel("秒"); MIAO = new JTextField(4);JPanel jp2 = new JPanel();jp2.add(ri);jp2.add(RI); jp2.add(shi); jp2.add(SHI);jp2.add(fen); jp2.add(FEN); jp2.add(miao); jp2.add(MIAO); queding = new JButton("确定"); jp2.add(queding); c.add(jp2); setSize(400, 160); setVisible(true); dakai.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) JFileChooser fileChooser = new JFileChooser(); / 实例化文件选择器 fileChooser .setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); / 设置文件选择模式,此 处为文件和目录均可 fileChooser.setCurrentDirectory(new File("."); / 设置文件选择器当前目录 fileChooser .setFileFilter(new javax.swing.filechooser.FileFilter() public boolean accept(File file) / 可接受的文件类型 String name = file.getName().toLowerCase(); return name.endsWith(".mp3") | name.endsWith(".au") | file.isDirectory(); public String getDescription() / 文件描述 return "音乐文件(*.mp3,*.au)" ); if (fileChooser.showOpenDialog(clock.this) = JFileChooser.APPROVE_OPTION) / 弹出文件选择器,并判断是否点击了打开按钮 String fileName = fileChooser.getSelectedFile() .getAbsolutePath(); / 得到选择文件或目录的绝对路径 music.setText(fileName); ); queding.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) if (queding.getText().equals("确定") try h = Integer.parseInt(SHI.getText(); f = Integer.parseInt(FEN.getText(); m = Integer.parseInt(MIAO.getText(); if (1 <= h && h <= 31 && 0 <= h && h <= 23 && 0 <= f && f <= 59 && 0 <= m && m <= 59) Date now = new Date(); SimpleDateFormat ri = new SimpleDateFormat("dd"); if (RI.getText() = null | RI.getText().equals("") r = Integer.parseInt(ri.format(now); RI.setText(ri.format(now); else r = Integer.parseInt(RI.getText(); fo = true; else JOptionPane.showMessageDialog(null, "输入时间错误"); catch (Exception e) JOptionPane.showMessageDialog(null, "请输入正确的时间"); else try fo = false; RI.setEditable(true); SHI.setEditable(true); FEN.setEditable(true); MIAO.setEditable(true); queding.setText("确定"); soumd1.stop(); catch(Exception E) System.out.println("关闭"); ); public static void main(String agrs) clock s = new clock();Thread t1 = new Thread(s); t1.start(); s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); public void run() while (true) Date now = new Date();dangqian.setText("当前时间: " + now.toString();if (foo) if (h = 0|h - shizhong<0) h += 24; r = r - 1; if (f = 0|f - fenzhong<0) f += 60;h -= 1; if (m = 0|m - miaozhong<0) m += 60;f -= 1; guanji.setText("离闹铃时间: " + (r - riqi) + "日" + (h - shizhong) + "时" + (f - fenzhong) + "分" + (m - miaozhong-1) + "秒"); if(r<riqi) foo=false; guanji.setText("离闹铃时间:0 日 0 时 0 分 0 秒"); else if(r<=riqi&&h<shizhong) foo=false; guanji.setText("离闹铃时间:0 日 0 时 0 分 0 秒"); else if(r<=riqi&&h<=shizhong&&f<fenzhong) foo=false; guanji.setText("离闹铃时间:0 日 0 时 0 分 0 秒"); else if(r<=riqi&&h<=shizhong&&f<=fenzhong&&m<miaozhong) foo=false; guanji.setText("离闹铃时间:0 日 0 时 0 分 0 秒"); if (fo) foo = true; RI.setEditable(false); SHI.setEditable(false);FEN.setEditable(false);MIAO.setEditable(false); queding.setText("关闭"); SimpleDateFormat ri = new SimpleDateFormat("dd"); / 封装 为了获取日期SimpleDateFormat shi = new SimpleDateFormat("HH"); / 封装 为了获取小时 SimpleDateFormat fen = new SimpleDateFormat("mm"); / 封装 为了获取分钟 SimpleDateFormat miao = new SimpleDateFormat("ss"); / 封装 为了获取秒钟 riqi = Integer.parseInt(ri.format(now); / 获取日期shizhong = Integer.parseInt(shi.format(now); / 获取小时 fenzhong = Integer.parseInt(fen.format(now); / 获取分钟miaozhong = Integer.parseInt(miao.format(now); / 获取秒钟if (riqi = r && shizhong = h && fenzhong = f && miaozhong = m) / 判断条件 try URL url = new File(music.getText() .toURL();soumd1 = Applet.newAudioClip(url); / 播放音乐 soumd1.loop(); / 我设置的是循环播放.这样不起床都不行. fo = false; foo = false; catch (MalformedURLException e) e.printStackTrace(); try Thread.sleep(1000); catch (InterruptedException ie) 7 总结和展望 7.1 收获与体会在这次课程设计我们认识和掌握了到很多东西有关Delphi和Oracle的相关知识。整个系统对数据库进行了细致上的设计,保证了数据库部分在应用程序设计时不做任何修改。并在有关的后台操作中使用了存储过程和触发器,提高了系统运行的速度和系统性能,确保了数据的安全,本系统大量使用了比较多的存储过程来实现各个表的添加、修改和删除,大大提高了程序的执行效率。在程序代码编写的过程中,我掌握了如何进行数据的绑定和如何在代码中调用存储过程。通过对整个系统的分析完成编码的过程中,我清楚的明白了按照软件工程和软件开发标准来开发系统是很有必要的,这样可以避免事后对系统进行大量的维护。但由于时间关系,该系统的部分功能并未能完全实现,部分功能的实现也过于简单。 7.2 未来的展望Oracle公司是目前业界唯一有能力提供应用软件、数据库产品、开发工具和专业服务的集成化供应商,并在每一领域都处于领先地位。先进的科技,杰出的品质和不断创新的承诺是Oracle公司居于世界领先地位的基础,Oracle公司提供数据库、开发工具、全套企业资源规划(ERP)和客户关系管理(CRM)应用产品、决策支持(OLAP),电子商务应用产品(e-Business),并提供全球化的技术支持,培训和咨询顾问服务。通过此次课程设计更好的学习了Oracle数据库的各种操作,为以后学习工作都带来了经验,另外也对Delphi有了更深的认识。参考文献1 求是科技编著,Delphi 7程序设计与开发技术,北京: 人民邮电出版社, 2004年第1版,2004年11月北京第一次印刷;2 明日科技:李文立, 刘强,梁冰编著,Delphi 数据库系统开发案例精选,北京: 人民邮电出版社, 2006年5月第一版,2006年5月北京第一次印刷;3 求是科技:周新会,周金根编著,Delphi通用模块及典型系统开发实例导航, 北京: 人民邮电出版社, 2006年2月第一版,2006年2月北京第1次印刷;4 郑阿奇,Oracle实用教程, 北京: 电子工业出版社, 2007年11月第5次印刷;5 Oracle数据库开发技术与工程实例M. 北京:人民邮电出版社 2003.5;6 王林. 数据库系统原理与应用技术基础(Oracle)M. 北京: 北京希望电子出版社, 2007年8月版;7 张海藩. 软件工程导论M. 北京: 清华大学出版社, 2007.8;8 路川. Oracle 10g宝典M. 北京: 电子工业出版社, 2003.02;9 Oracle 10g数据库管理员使用大全M. 北京: 清华大学出版社, 2005.4;10 Oracle精髓(第二版)M. 北京: 中国电力出版社。致 谢本次课程设计在设计和实现的过程中,得到满君丰老师的很大帮助。在程序实现阶段遇到不懂的地方满老师都能精心的指导,使我们学到很多东西,并指出本设计过程的不足之处,给我我很多方面的建议。满老师在程序设计阶段的指导使我受益非浅。在此要对老师表示衷心感谢。此外,在本次课程设计的程序实现阶段,得到同学的多次帮助和支持,还有其他组员同学的多次讨论,使我从中得到了很多的启发。在此一并感谢。课程设计检查表自评意见本系统实现了系统的基本功能,如数据库的连接,对数据表的基本操作,如插入、修改、删除,界面显示数据的动态刷新和信息的管理。在源程序编写和文档的制作过程都严格按要求来编写,各个功能的基本实现和文档的编写都达到基本的要求,开发系统的过程中也学到了很多的东西。签名: 2011年1月 4日 自评等级优秀指导教师意见签名: 年 月 日教研室意见签名:年 月 日系部意见盖章: 年 月 日

    注意事项

    本文(闹钟提醒及定时关机程序.doc)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开