实验四 QQ登录应用程序
【实验时间】
周三 12第一组
【报告人】
【组长】
张三
掌握VB中多分支语句Select Case语句的使用
掌握VB中多分支语句If ElseIf语句的使用
掌握组合框控件的属性、事件和应用
QQ聊天软件是日常生活中使用较多的聊天工具,参照喜欢的QQ版本,设计不同风格的应用程序,实现QQ登录、好友展示和聊天的功能
总体要求:
1. 为每个事件过程添加注释
2. 将代码实现缩进
一、 QQ账号登录”界面如图1所示,功能要求:
1. 阴影效果文字提示
2. QQ图片展示
3. QQ账号密码输入,密码字符为*
4. 登录按钮,检测账号密码正确进入好友展示界面。
5. 如果账号输入有误,给出msgbox消息框
6. 具备查杀木马功能(可选)
7. 添加combo控件,实现登录状态(在线、隐身、离开)选择,使用public变量实现好友状态显示
二、 QQ好友展示”界面如图2所示,应用框架、图片框等控件实现功能要求:
1. 本人名称具备随时变功能(自己的在线状态颜随机变幻)
2. 换肤功能,单击“换肤”,窗体背景变换颜             
3. 分组显示成员头像
4. 双击组成员头像,打开QQ聊天界面
三、双击本人QQ头像,弹出“个人信息”窗体:
1. 显示个人信息:姓名、生日、电话、组号
你到已经快乐生活了多少天,其中学习用了多少小时,睡觉用了多少小时
提示:在文本框中显示的方法
        x=date-#1990-1-1#
        Text2=”我已经快了生活了” & x &  “
2. 在本界面添加如下控件,实现个人收入所得税计算
a) 在组合框中Combo1中选择收入标准,Text1中显示相应的税率;组合框中的数据项可在属性窗口添加到list属性中,也可在窗体Load事件过程中用Additem方法添加;
b) 当在文本框中输入收入后,按回车键或者计算按钮,求出应缴税额,需在文本框的Keypress事件过程中编写代码;
c) 使用多分支Select Case语句与多分支的If  ElseIf…Then语句,并在实验总结其异同点
全月应纳税所得额(收入-3500元)
税率
速算扣除数(元)
不超过1500元
3%
    0
超过1500元至4500元
10%
      105
超过4500元至9000元
20%
      555
超过9000元至35000元
25%
    1005
超过35000元至55000元
30%
    2755
超过55000元至80000元
35%
    5505
超过80000元
45%
    13505
注意:所得税是分段计税,如果收入为8500
    全月应纳税所得额=8500-3500=5000
计算方法一:分段计税
      应交税款为 1500*3%+4500-1500*10%+(5000-4500)*20%=45+300+100=445
计算方法二:利用速算扣除数
      应交税款为 5000*20%-555=445
四、 QQ好友聊天”界面如图3所示,应用图片框、按钮等控件实现功能基本要求:
1. 窗体下方个人发言文本框,可以多行显示、带滚动条网友调侃于正
2. “剪切”“复制”“粘贴”按钮能够实现对文本框内容的相应功能。
3.  显示 自己和对方头像
4.  单击“字体”按钮,将个人发言文本框中文字设置为“宋体”,“15好看的都市号字”
5.  单击“颜”按钮,将个人发言文本框中文字颜设置为“蓝”,“粗体字”
6.  单击“发送”按钮,将个人发言文本框中内容发送到上端的对话文本框
    Text2=Text2 & vbcrlf & “张三说:”&  text1 & “” & time
 
1  QQ登录界面          2 QQ好友展示界面        3 好友聊天界面
【实验情况】
我的作业界面:
张曼玉身高
登录界面          好友展示界面            个人资料                聊天界面
作品功能介绍
1.qq登陆界面功能,QQ图片展示QQ账号密码输入,密码字符为*登录按钮,检测账号密码正确进入好友展示界面。具备查杀木马功能(可选如果账号输入有误,给出msgbox消息框。7.    添加combo控件,实现登录状态(在线、隐身、离开)选择,使用public变量实现好友状态显示
2.好友展示界面功能,自己的在线状态颜随机变幻;换肤功能,单击“换肤”,窗体背景变换颜; 双击组成员头像,打开QQ聊天界面分组显示成员头像;单击个人头像显示个人资料;
3.个人资料功能,显示跟人资料;计算工资所得税;你到已经快乐生活了多少天,其中学习用了多少小时,睡觉用了多少小时;
4.聊天窗口功能,复制,粘贴,剪切。发送消息;改变字体颜;
……
实验代码
'单击登陆,界面转换
Private Sub Command1_Click()
Form3.Show
End Sub
'输入账号密码,如果正确界面切换到好友展示界面,否则出现提示窗口msgbox“重试”“取消”
Private Sub Command2_Click()
    Dim x As String
    zt = Combo1.Text
    If Text1.Text = "123" And Text2.Text = "456" Then
      form1.Hide
      Form2.Show
    Else
      x = MsgBox("您输入的账号或密码有误", vbRetryCancel, "密码出错")
    End If
End Sub
'如果text1获得焦点,则text1清空
Private Sub Text1_GotFocus()
    Text1.Text = ""
End Sub
'输入账号按回车键即跳到输入密码的框中
Private Sub Text1_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
      Text2.SetFocus
    End If
   
End Sub
两台电脑如何共享
'输入密码的显示*
Private Sub Text2_Click()
    Text2.PasswordChar = "*"
End Sub
'当text2获得焦点时text2 清空
Private Sub Text2_GotFocus()
    Text2.Text = ""
End Sub
'单击换肤命令,则好友展示界面背景改变
Private Sub Command1_Click()
    Dim x
    x = Int(Rnd * 16)
    Form2.BackColor = QBColor(x)
End Sub
'好友界面家人,朋友之间切换
Private Sub Command2_Click()
    Frame1.Visible = True
    Picture5.Visible = False
End Sub
'点击朋友,出现朋友好友
Private Sub Command3_Click()
Frame1.Visible = False
Picture5.Visible = True
End Sub
'状态显示
Private Sub Form_Load()
Combo1.Text = zt
End Sub
'单击头像,则出现个人资料展示
Private Sub Picture1_Click()
    Form4.Show
End Sub
'单击好友头像,出现聊天界面
Private Sub Picture2_Click()
    mm = "与没没聊天中"
    Me.Hide
    Form5.Show
End Sub
'状态为在线时qq昵称随机变
Private Sub Timer1_Timer()
    Dim x As Integer
    If Combo1.Text = "在线" Then
        x = Int(Rnd * 16)
        Label1.ForeColor = QBColor(x)
    End If
End Sub
   
'查杀木马
Private Sub Timer1_Timer()
    ProgressBar1.Value = ProgressBar1.Value + 1
    If ProgressBar1.Value = 0 Then
      Timer1.Enabled = True
    Else
        If ProgressBar1.Value >= 100 Then
          Timer1.Enabled = False
          Me.Hide
        End If
    End If
End Sub
'快乐生活了多少天
Private Sub Form_Load()
    Text2 = Date - #8/29/1991#
    Text5 = (Date - #8/29/1991#) * 8
    Text6 = (Date - #8/29/1991#) * 10
End Sub
Dim a As String
'单击发送将文本2中文本发送到文本框1中
Private Sub Command1_Click()
    Text1 = Text1 & vbCrLf & "窗边的小豆豆:" & Time & "  " & vbCrLf & Text2.Text
    Text2 = ""
End Sub
'关闭窗口
Private Sub Command2_Click()
    Me.Hide
    Form2.Show
End Sub
'剪切
Private Sub Command3_Click()
    a = Text2.SelText
    Text2.SelText = ""
    Command3.Enabled = False
    Command4.Enabled = False
    Command5.Enabled = True
End Sub
'复制
Private Sub Command4_Click()
    a = Text2.SelText
    Command3.Enabled = False
    Command4.Enabled = False
    Command5.Enabled = True
End Sub
'粘贴
Private Sub Command5_Click()
    Text2.SelText = a
End Sub
'与没没聊天中标题
Private Sub Form_Load()
Form5.Caption = mm
End Sub
'剪切,复制,粘贴都可用
Private Sub Text2_Change()
    Command3.Enabled = True
    Command4.Enabled = True
    Command5.Enabled = True
End Sub
'单击回车具有则发送功能
Private Sub Text2_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
      Text1 = Text1 & vbCrLf & "窗边的小豆豆:" & Time & "  " & vbCrLf & Text2.Text
      Text2 = ""
    End If
End Sub
本次实验错误信息和解决方案
问题1:“&”和“+”有何区别?
方案1:“+”只能连字符串,而“&”可连接两个任意类型的数据,但是数据与&符号之间要有一个空格。
壁柜门
描述你对本次试验的心得、体会和掌握知识等
通过这次实验,我们学会了。郑少秋