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>= And b<= Then
c=
ElseIf b>= And b<= Then
c=
ElseIf b>= And b<= Then
c=
Else
c=
End if Select Case c
Case
MsgBox "输入为数字:"&a
Case
MsgBox "输入为大写字母:"&a
Case
MsgBox "输入为小写字母:"&a
Case
MsgBox "输入为其它符号:"&a
End Select
3、输入一组数字,倒序输出。
Dim a()
For i= To
a(i)=InputBox("请输入第"&i+&"数字:")
Next
MsgBox "你输入的数字倒序输出为:"&a()&","&a()&","&a()&","&a()&","&a()
4、用VBS实现冒泡排序,输入10个数,按从小到大或从大到小的顺序排列。
Option Explicit
Dim i,j,usernum(),tempnum
For i= To
usernum(i)=CInt(InputBox("请输入第"&i+&"个数"))
Next
For i= To
For j= To -i Step
If usernum(j)>usernum(j+) Then
tempnum=usernum(j)
usernum(j)=usernum(j+)
usernum(j+)=tempnum
End If
Next
Next
For i= To
MsgBox(usernum(i))
Next
'方法二
Dim a()
For i= To
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= To
For j= To -i
change a(j),a(j+)
next
Next
MsgBox a()&","&a()&","&a()&","&a()&","&a()&","&a()&","&a()&","&a()&","&a()&","&a()
5、用VBS实现用户名和密码的输入验证,先输入用户名再输入密码:用户名必须是4~10位的字符,否则提示用户名为空、少于4位或多于10位。密码必须是Mercury(不区分大小写),如果输入为空则提示用户输入密码,如果连续三次未输入正确密码则提示用户重新登录,然后退出。
Dim strUsername,strPassword
Do
strUsername=CStr(InputBox("please input your UserName!","Input Name"))
If Len(strUsername)< or Len(strUsername)> Then
MsgBox "用户名必须是4-10位字符!请重新输入!",,"用户名输入不正确!"
Else
Exit Do
End If
Loop x=
Do
strPassword=CStr(InputBox("please input the password!","Input password"))
strPassword=LCase(strPassword)
If strPassword="mercury" Then
MsgBox "用户"&strUsername&"登陆成功!",,"登陆成功!"
Exit Do
Else
MsgBox "密码不正确!",,"密码不正确!"
x=x+
If x= Then
MsgBox "请重新登陆!",,"请重新登陆!"
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也可以省略而是用系统的种子
MsgBox arrg(Int(*Rnd)) '随机输出数组中的元素值
Next
8、写日志到文本文件中。
Function Writelog(str)
Const ForReading=,ForWriting=,ForAppending=
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=,ForWriting=,ForAppending=
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 ,,"yezhaohui"
VBS练习题的更多相关文章
- vbs习题
练习题: 1.输入3个数,输出其中最大的那个值. Option Explicit Dim intA,intB,intC intA=CInt(InputBox("请输入a:")) i ...
- Linux基础练习题(二)
Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...
- shell 脚本之 shell 练习题汇总
整理了一些 shell 相关的练习题,记录到这里. 1. 请按照这样的日期格式 xxxx-xx-xx 每日生成一个文件,例如:今天生成的文件为 2013-09-23.log, 并且把磁盘的使用情况写到 ...
- C#调用vbs脚本实现Windows版Siri
最近新加入,把自己一些有意思的小东西分享给大家,我是一个学生,代码写得少,哪里不规范,希望大家见谅. 这事我封装好的一个类,可以直接实例化对象之后,调用"对象.Talk()"方法, ...
- MySQL练习题
MySQL练习题 一.表关系 请创建如下表,并创建相关约束 二.操作表 1.自行创建测试数据 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 3.查询平均成绩大于60分的同学的学号和平均成 ...
- MySQL练习题参考答案
MySQL练习题参考答案 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 思路: 获取所有有生物课程的人(学号,成绩) - 临时表 获取所有有物理课程的人(学号,成绩) - 临时表 根据[ ...
- mysql练习题-查询同时参加计算机和英语考试的学生的信息-遁地龙卷风
(-1)写在前面 文章参考http://blog.sina.com.cn/willcaty. 针对其中的一道练习题想出两种其他的答案,希望网友给出更多回答. (0) 基础数据 student表 +-- ...
- 在WinCC中通过VBS操作SQL Server2005
在项目中需要在一定条件满足时,保存一些数据到数据库中,并可根据条件查询.考虑到WinCC6.2以后采用的就是SQL Server2005数据库,所以直接利用该数据库即可,通过SQL Server Ma ...
- 使用vbs脚本进行批量编码转换
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看分析在Linux系统下开发的项目代码,我们知道Linux系统中文本文件默认编码格式是UTF-8,而Windows中文系统中的默 ...
随机推荐
- Codeforces Round #343 (Div. 2)
居然补完了 组合 A - Far Relative’s Birthday Cake import java.util.*; import java.io.*; public class Main { ...
- MFC 打开文件夹 调用其他程序 打开文件
ShellExecute(NULL,TEXT("OPEN"),要打开的文件的路径,NULL,NULL,SW_SHOWNORMAL); ShellExecute(NULL, &quo ...
- JS原型对象通俗"唱法"
书上对于原型对象的说法给我整的眼花缭乱,完全不知道它在说什么,查了好多资料,终于有了些理解,下面我以通俗的大白话说说我对原型对象的理解. 1.关于原型对象的重要知识点 首先要知道一个很重要的知识点,一 ...
- POJ2942 Knights of the Round Table(点双连通分量 + 二分图染色)
题目大概说要让n个骑士坐成一圈,这一圈的人数要是奇数且大于2,此外有些骑士之间有仇恨不能坐在一起,问有多少个骑士不能入座. 双连通图上任意两点间都有两条不重复点的路径,即一个环.那么,把骑士看做点,相 ...
- soapui中文操作手册(一)----创建一个新的项目
1) 创建一个新的项目 点击项目,选择新建项目SOAP.这将打开一个新的SOAP项目对话框. 注意:你也可以做CTRL + N(WIN)或CMD+ N(MAC)来创建一个新的SOAP项目. 在新的SO ...
- 来自于2016.2.23的flag
正是中午,百废待兴,写点什么调节一会儿心情吧.正巧有许多的想法. 机房来了许多小朋友,多么像一年之前的我啊,想写题,心又纷乱,但不同的是他们比我强太多了. 停课是什么感觉?停课在机房与寒暑假.双休日在 ...
- Haskell 笔记 ①
①一切都是函数,包括常量.表达式,格式:名字 参数1 参数2.. =函数内容 ②if语句(else绝对不可以省略) F=if (..) then x else y ③没有数组,只有列表[1,2,3,4 ...
- ACM 数独
数独 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 数独是一种运用纸.笔进行演算的逻辑游戏.玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一 ...
- leetcode Container With Most Water
Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). ...
- 【CodeVS】p1174 靶形数独
题目描述 Description 小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他们想用数独来一比高低.但普通的数独对他们来说都过于简单了,于是他们向Z 博士请教,Z 博士 ...