两学一做与扶贫攻坚:VB程序设计爱好者进。帮忙设计个小程序。

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 02:54:55
学校要求设计个VB程序,小弟才疏学浅,实在不会啊!请高手帮忙设计一下。
具体任务如下:
一、题目:设计一个简单的闹表程序
二、目的与要求:
1.目的:
培养学生综合利用VB语言进行程序设计的能力,主要是培养学生利用系统提供的标准控件进行创新设计。
2.基本要求:
①要求用VB的各种控件来完成程序的设计。
②在设计程序的过程中,要求会使用按钮(commandbutton)、组合列表框(combo),文本框(text)、标签(label)、定时器(timer)等基本控件的属性、方法和相关事件。
③要求熟练掌握动态数组的定义,初始化,重新定义和访问方法。
④要求熟练掌握字符串的合并,分解等操作。
⑤要求程序至少完成如下功能:
1. 能设定闹表的提醒事件,包括时间和提示信息
2. 能够同时处理多个提醒事件。
3.已经提醒过的不应该再次提醒
⑥完成的程序界面要简洁,使用方便。如图示。
3.创新要求:
在基本要求达到后,进行创新设计,可以从如下几方面进行考虑:
①多种提醒方式,如动画和音乐
②进入系统通知区域运行
③能够存储提醒并在下次启动的时候自动装载
④开机时自动装入运行。
三、设计方法和基本原理:
1.问题描述:
闹表的主要用途就是在指定的时间提醒用户该做某些事情,这其中包括用户设定提醒时间,提示信息以及提醒方式等。从实际应用角度来说,程序应该能够处理多个提醒事件并且在用户响应以后撤销该提醒。
2.问题的解决方案:
根据问题描述,可以将问题解决分为以下几个方面来进行:
①为了确定提醒时间是否到达,要每隔一段时间来完成一次判断,在时间要求不太精确的定时场合,这可以通过使用VB的标准控件Timer来实现。
②提醒时间和信息需要由用户输入并由程序存储,这些都是字符串类型,又因为他们具有相同的结构(即时间和提醒信息),所以我们可以使用字符串数组来存储,判断过程就可以看作分解和比较字符串的过程。
以上的过程,正是我们操作VB语言中数组的过程。
四、主要技术问题的描述:
依据2的分析,用户添加、修改和删除定时事件其实就是在数组里面添加、修改和删除元素。为了方便各个地方访问,可以将此数组定义为模块级数组,又因为事件数量是随时改变的,因此可以定义为动态数组,然后用Redim Preserve方法来动态改变大小。
Number=Number+1
Redim Preserve Effects(Number)
Effects(Number)=”等待”& TheTimeUDefined & TheMsgUDefined
其中Number是模块级变量,用来代表当前的事件数量。

每一个定时事件字符串可以由 是否有效+时间+提醒信息 三部分组成,使用时可以用mid函数取出每一部分,他们中间可以用一些特殊的字符分隔开以便分解。
在Timer的定时事件里面,可以构造如下结构循环来判断
For i=1 to 数组大小
If 数组(i).是否有效 And 数组(i).时间=现在时间 Then
Msgbox 数组(i).提醒信息
End if
Next i

用户界面方面:
为了方便用户输入,可以使用不同的Combobox来供用户选择日期时间,并且能够自动设定为当前时间,使用Listbox来显示出当前的所有提醒。如上图。
我非常的鄙视那些先看分数高低再回答问题的人。我认为“百度知道”就是一个供大家互相学习互相帮助的平台,干吗非要看重那些虚拟的钱币呢?可以肯定那些人在现实社会中也会是金钱的奴隶。
况且200分已是我全部的家当了,把自己全部的家当送给真心帮助自己的人,我以为这不可谓没有诚意。
感谢在此论坛上真心帮助他人的人,你们都是天使……

很同意楼主的观点。我也很鄙视那些嫌分数少而不回答问题的人。我感觉那和大家都很憎恶的问路要钱没什么两样。
闲来无事编了一个程序,参考一下吧:
新建一工程,窗体名AlarmForm.
放置一个Timer,名字为Timer1。放置一个Label,名字为lblTime
代码如下:
Option Explicit
Dim AlarmTime
Const conMinimized = 1

Private Sub Form_Click()
AlarmTime = InputBox("输入启动闹钟的时间", "VB 闹钟", AlarmTime)
If AlarmTime = "" Then Exit Sub
If Not IsDate(AlarmTime) Then
MsgBox "您输入的时间无效。"
Else ' 从 InputBox 返回的字符串使有效时间,
AlarmTime = CDate(AlarmTime) ' 将它作为一个日期/时间值存储在 AlarmTime 中。
End If
End Sub

Private Sub Form_Load()
AlarmTime = ""
End Sub

Private Sub Form_Resize()
If WindowState = conMinimized Then ' 如果窗体被最小化, 在标题处显示时间。
SetCaptionTime
Else
Caption = "闹钟"
End If
End Sub

Private Sub SetCaptionTime()
Caption = Format(Time, "Medium Time") ' 使用中等时间格式显示时间。
End Sub

Private Sub Timer1_Timer()
Static AlarmSounded As Integer
If lblTime.Caption <> CStr(Time) Then
' 当前秒数与显示秒数不同。
If Time >= AlarmTime And Not AlarmSounded Then
Beep
MsgBox "启动闹钟在 " & Time
AlarmSounded = True
ElseIf Time < AlarmTime Then
AlarmSounded = False
End If
If WindowState = conMinimized Then
' 如果处于最小化状态, 每分钟都需更新窗体标题。
If Minute(CDate(Caption)) <> Minute(Time) Then SetCaptionTime
Else
' 否则每秒钟对标签的标题进行更新。
lblTime.Caption = Time
End If
End If
End Sub

楼主要努力啊!

这些网上搜索下,有大致上的程序的
然后自己琢磨,不要整段代码都较别人帮忙,要不然,你自己学什么?

我这有一个自己写的程序,基本上都包涵了你的要求(还有其它的功能),你要是想试用一下的话,留个邮箱,我给你发过去

以前帮人家做过的 做过杨辉三角 程序都挺繁的 我只为好朋友做 现在不做了 你自己搞定了 加油阿 呵呵

多参考下VB的书籍,主要是思路,思路清楚后,自己可以动手做的,把书当做是一种工具,就OK了