首页 > 其他 > 详细

VBS练习题

时间:2014-07-25 23:55:40      阅读:654      评论:0      收藏:0      [点我收藏+]

练习题:

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"

VBS练习题

原文:http://www.cnblogs.com/yezhaohui/p/3868169.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!