vbscript函数

时间:2024-07-21 13:38:20编辑:优化君

写一段vbscript脚本用于向用户显示一个输入框,直至用户输入了正确的密码,则弹出消息对话框显


test()
function test()
dim a
a=InputBox("请输入你的名字")
if a="123" then
Msgbox "恭喜您,输入成功!",0,"标题栏"
else
Msgbox "密码错误,请重新输入!",0,"标题栏"
test()
end if
end function


以上代码需要浏览器的兼容模式才能执行,极速模式下不执行VBS脚本


跪求vbscript中最常用的函数,我知道有很多,但是希望老鸟告诉菜鸟最常用的有哪些

VBscript常用函数
1.数值型函数:
abs(num): 返回绝对值
sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负
hex(num): 返回十六进制值 直接表示:&Hxx 最大8位
oct(num): 返回八进制值 直接表示:&Oxx 最大8位
sqr(num): 返回平方根 num>0
int(num): 取整 int(99.8)=99; int(-99.2)=100
fix(num): 取整 fix(99.8)=99; fix(-99.2)=99
round(num,n): 四舍五入取小数位 round(3.14159,3)=3.142 中点数值四舍五入为近偶取整 round(3.25,1)=3.2
log(num): 取以e为底的对数 num>0
exp(n): 取e的n次幂 通常用 num^n
sin(num): 三角函数,以弧度为值计算 (角度*Pai)/180=弧度 con(num); tan(num); atn(num)

2.字符串函数:
len(str):计算字符串长度 中文字符长度也计为一!
mid(str,起始字符,[读取长度]):截取字符串中间子字符串
left(str,nlen):从左边起截取nlen长度子字符串
right(str,nlen):从右边起截取nlen长度子字符串
Lcase(str):字符串转成小写
Ucase(str):字符串转成大写
trim(str):去除字符串两端空格
Ltrim(str):去除字符串左侧空格
Rtrim(str):去除字符串右侧空格
replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串
注:默认值:起始字符 1;替代次数 不限;比较方法 区分大小写(0)
InStr([起始字符,]str,查找字符串[,比较方法]):检测是否包含子字符串 可选参数需同时选 返回起始位置
InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测是否包含子字符串 返回起始位置
space(n):构造n个空格的字符串
string(n,str):构造由n个str第一个字符组成的字符串
StrReverse(str):反转字符串
split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组 可选参数需同时选

3.数据类型转换函数:
Cint(str):转换正数 True -1;False 0;日期 距离1899/12/31天数;时间 上午段 0;下午段 1;
Cstr(str):日期 输出格式 yyyy/mm/dd;时间 输出格式 Am/Pm hh:mm:ss
Clng(str):与Cin()类似
Cbool(num):num不为零 True;反之 False
Cdate(str):转换日期格式 0:#Am 12:00:00#;正数 距离1899/12/31天数的日期;浮点数 日期+小数时间
Cbyte(num):num<255 转换为字节
Csng(str):转换为单精度数值
Cdbl(str):转换为双精度数值
Ccur(str):转换为现金格式

4.时间函数:
date:取系统当前日期
time:取系统当前时间
now:取系统当前时间及日期值 Datetime类型
timer:取当前时间距离零点秒值,计时器,可计算时间差
DateAdd(间隔单位,间隔值,日期):推算相邻日期
DateDiff(间隔单位,日期一,日期二):计算时间差 日期二-日期一
Datepart(间隔单位,日期):计算日期的间隔单位值
Dateserial(date):输出日期值(按序列计算)
Timeserial(time):输出时间值(按序列计算)
DateValue(datetime):取出字符串中日期值
Timevalue(datetime):取出字符串中时间值
weekday(date):计算星期几
MonthName(date):输出月分名
year(datetime):截取年份
month(datetime):截取月份
day(datetime):截取日
hour(datetime):截取小时
minute(datetime):截取分钟
second(datetime):截取秒

5.其它函数:
Array(unit,..):动态生成数组
Asc(str):输出字符串第一个字符的ASCII码
Chr(asc):转换ASCII为字符 Enter:Chr(13)&Chr(10)
Filter(数组名称,关键字符串,[,包含][,比较方法]):
将字符串数组中含有关键字符串的元素存成新的数组(默认) [包含]为false则取不包含的元素
Join(ArrayName):将数组中元素连成字符串
Ubound(ArrayName[,维数]):取得数组相应维数的上界
Lbound(ArrayName[,维数]):取得数组相应维数的下界 一般为0
Randmize n:启动随机数种子
Rnd(n):取得随机数,n>0或为空,取序列下一随机值,n<0,随机值相同,n=0,生产与上一随机值相同的数
取介于A和B之间的随机正数C,公式:C=Int((B-A+1)*Rnd+A) 条件(B>A)

子程序和自定义函数
Sub StrSubName Function StrFunName(arg[1],..)
子程序体 函数体
Exit Sub 中途跳出 Exit Function 中途跳出
End Sub StrFunName=Value 返回值
End Function
[call] StrSubName 引用子程序 Var=StrFunName(arg[1],..) 引用函数

子程序和自定义函数可以递归调用;
ASP六大对象常用语句示范:
Response:
Response.write StrVar/"String":向网页写出参数值或字符串 等同于在Html标记中嵌入
Response.End:停止页面编译,并将已经编译内容输出到浏览器
Response.Buffer=True|False:页面编译时是否使用缓存的设置,一般在页面头部设置
Response.Flush:强制输出页面已编译部分内容
Response.Clear:将缓冲区内的数据清除
Response.Redirect URL:停止页面编译或输出,转载指定所需页面
Response.IsClientConnected:返回True|False,检测用户是否还处于连接状态
Response.Charset(CharsetName):设置页面编码类型,即
Response.ContentType [= ContentType ]:设置页面文件类型,同上
Response.Expires [= number]:设置页面失效时间,单位分钟
Response.ExpiresAbsolute [= [date] [time]]:设置页面失效的绝对时间
Response.Status = StatusDescription:设置页面状态描述

Request:
Request("PassStrName"):读取网页传递值,包括表单及以?PassStrName=value&PassStrName_n=value_n形式
Request[.collection|property|method](variable)
Request.querystring("PassStrName"):读取Get方法传递的表单值和?PassStrName=value
Request.QueryString(Varible)[(Index).Count]
Request.form("PassStrName"):读取Post方法传递的纯表单域的值
Request.Form(Parameter)[(Index).Count]
Request.ServerVaribles(Server Environment Variable):读取客户端系统环境变量,详见参考
Request.BinaryRead(Count):读取指定字节数的传送值
Request.TotalBytes:查询体的长度,以字节为单位,只读

注:同名表单如:CheckBox如有多项值,传递形式如右,StrName=value1,value2,...需要用Split函数分割各项值
Multiple的Select表单与CheckBox类似,TextArea的值可包含换行字符,用Replace转为,以满足格式需要

Session:(用户全局变量)
Session("SesName")=value:存储Session变量值,也可读取该值
Session("SesName")=Empty:判断Session值是否存在的两种方法
IsEmpty(Session("SesName"))=True|False:判断Session值是否存在的两种方法
Session.TimeOut=num:设置Session变量的存在时效,单位分钟
Session.Abandon:清除所有Session变量值
Session.SessionID:Session变量的ID序列号,只读

Application:(应用程序全局变量)
Application("AppName")=value:存储Application变量值,也可读取该值
Application("AppName")=Empty:判断Application值是否存在的两种方法
IsEmpty(Application("AppName"))=True|False:判断Application值是否存在的两种方法
Application.Lock:Application变量值锁定,防止同时更改变量值
Application.UnLock:Application变量值解锁,允许更改变量值

注:Session与Application变量都可以用来存储数组和系统对象,引用方法是变量名相当于数组名而已,
但不能直接改变其值,需要借助临时数组修改值后,再赋给Session与Application变量

Global.asa文件的结构:

<% Sub Application_OnStart ...End Sub
Sub Application_OnEnd ... End Sub
Sub Session_OnStart ...End Sub
Sub Session_OnEnd ... End Sub%>

Server:
Server.MapPath("FileUrl"):映射文件名的服务器站点绝对地址,Path=Server.MapPath(./)可以得到虚拟目录根路径
Server.HtmlEncode("string"):转换为可以直接显示带Html格式的字符串,如:等
Server.URLEncode( "string"):转换为浏览器地址编码
set Var=Server.CreatObject("ObjName"):创建对象变量
Server.ScriptTimeout = NumSeconds:ASP程序页面执行时限,以秒为单位

Cookies: 存储在用户本机的临时变量,每个Cookie的最大字节4KB,最多可以有300个Cookie 1.2MB
Response.cookies("StrCookieName")=value:存储Cookie变量值,也可读取该值
Response.cookies("StrCookieName")="":判断是否为空
Response.cookies("StrCookieName").Expires=Date:变量有效期,以天为单位,小于当前时间立即失效
Response.Cookies(Cookie[(key).Attribute]):标准语法

ObjectContext 控制ASP的事务处理
ObjectContext.OnTransactionAbort:由放弃的事务处理事件激发,在脚本完成处理后发生
ObjectContext.OnTransactionCommit:由成功的事务处理事件激发,在脚本完成处理后发生
ObjectContext.SetAbort:显式的放弃一次事务处理
ObjectContext.SetComplete:覆盖前面任何调用ObjectContext.SetAbort方法的调用
Msgbox "string"/StrName:VBscript提示框

表单的Onsubmit事件:
在同一页面写入 Function FormName_onsubmit()..FormName_onsubmit=True/False..end Function,
页面会在提交前先执行语句,并根据返回值判断是否完成提交任务。

数据库连接字符串举例:
Access2000:
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("dbase\liuyan.mdb")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("dbase\liuyan.mdb")&";Password=admin"
Recordset.Open "数据表名", conn, 2, 2

SqlServer2000:
conn.Open "Provider=SQLOLEDB.1;User ID=sa;Password=admin;Initial Catalog=pubs;Data Source=server\garlmrm"
conn.Open "provider=SQLOLEDB;data source=hyserver;uid=sa;pwd=;database=pubs"
Recordset.Open StrSQL, conn, 2, 2

Dbase:(?)
conn Open "Driver={Microsoft dBase Driver};SourceType=DB;SourceDB=" & Server.MapPath( "目录名" )
Recordset.Open StrSQL, conn, 2, 2

FoxBase:
conn Open "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" & Server.MapPath( "目录名" )
Recordset.Open DBF文件名或Select语句, conn, 2, 2
conn Open "Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=" & Server.MapPath( "DBC数据库文件名" )
Recordset.Open DBF文件名或Select语句, conn, 2, 2

Excel:
conn Open "Driver={Microsoft Excel Driver (*.xls)};DBQ=" & Server.MapPath( "XLS文件名" )
Recordset.Open "Select * From ["&sheet&"$]",conn,2,2

注:使用DBF、DBC、Excel数据库,下面几点要注意:Excel数据库只能读取、增加记录、修改记录,但不能删除记录;
DBF、DBC可以读取记录、增加记录、删除记录、修改记录,但是在增加记录时,任何一个字段值都不能为空,由此
可看出局限性很大,所以尽可能地用MDB或SQL数据库。


VBS中怎样自定义函数...

vbs 的语法和vb类似, 函数在vbs里称为过程
VBScript 过程
在 VBScript 中,过程被分为两类:Sub 过程和 Function 过程。

Sub 过程
Sub 过程是包含在 Sub 和 End Sub 语句之间的一组 VBScript 语句,执行操作但不返回值。Sub 过程可以使用参数(由调用过程传递的常数、变量或表达式)。如果 Sub 过程无任何参数,则 Sub 语句必须包含空括号 ()。

下面的 Sub 过程使用两个固有的(或内置的)VBScript 函数,即 MsgBox 和 InputBox,来提示用户输入信息。然后显示根据这些信息计算的结果。计算由使用 VBScript 创建的 Function 过程完成。此过程在以下讨论之后演示。

Sub ConvertTemp()
temp = InputBox("请输入华氏温度。", 1)
MsgBox "温度为 " & Celsius(temp) & " 摄氏度。"
End Sub
Function 过程
Function 过程是包含在 Function 和 End Function 语句之间的一组 VBScript 语句。Function 过程与 Sub 过程类似,但是 Function 过程可以返回值。Function 过程可以使用参数(由调用过程传递的常数、变量或表达式)。如果 Function 过程无任何参数,则 Function 语句必须包含空括号 ()。Function 过程通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。Function 返回值的数据类型总是 Variant。

在下面的示例中,Celsius 函数将华氏度换算为摄氏度。Sub 过程 ConvertTemp 调用此函数时,包含参数值的变量被传递给函数。换算结果返回到调用过程并显示在消息框中。

Sub ConvertTemp()
temp = InputBox("请输入华氏温度。", 1)
MsgBox "温度为 " & Celsius(temp) & " 摄氏度。"
End Sub Function Celsius(fDegrees)
Celsius = (fDegrees - 32) * 5 / 9
End Function
过程的数据进出
给过程传递数据的途径是使用参数。参数被作为要传递给过程的数据的占位符。参数名可以是任何有效的变量名。使用 Sub 语句或 Function 语句创建过程时,过程名之后必须紧跟括号。括号中包含所有参数,参数间用逗号分隔。例如,在下面的示例中,fDegrees 是传递给 Celsius 函数的值的占位符:

Function Celsius(fDegrees)
Celsius = (fDegrees - 32) * 5 / 9
End Function
要从过程获取数据,必须使用 Function 过程。请记住,Function 过程可以返回值;Sub 过程不返回值。

在代码中使用 Sub 和 Function 过程
调用 Function 过程时,函数名必须用在变量赋值语句的右端或表达式中。例如:

Temp = Celsius(fDegrees)


MsgBox "温度为 " & Celsius(fDegrees) & " 摄氏度。"
调用 Sub 过程时,只需输入过程名及所有参数值,参数值之间使用逗号分隔。不需使用 Call 语句,但如果使用了此语句,则必须将所有参数包含在括号之中。

下面的示例显示了调用 MyProc 过程的两种方式。一种使用 Call 语句;另一种则不使用。两种方式效果相同。

Call MyProc(firstarg, secondarg)
MyProc firstarg, secondarg
请注意当不使用 Call 语句进行调用时,括号被省略。


如何使用两个用户自定义函数

这个太基本了,没事干给你写个大致的demo吧
//主函数
void main()
{
//按照你的顺序分别调用相应的输出函数

printMethod1();

printMethod2();

}
void printMethod1() //输出方法一
{ //java的输出
System.out.print("For he's a jolly good fellow!");
//c++ 是cout<<"For he's a jolly good fellow!";
//c是printf("%s","For he's a jolly good fellow!");

}
void printMethod2()
{
System.out.print("Which nobody can denf!");
}


vbscript的过程调用方式

在VBScript中过程分为两类:Sub过程和Funtion过程一、Sub过程及其调用Sub过程是包含在Sub和End Sub之间的一组语句,执行操作但不返回值。Sub过程可以使用参数(由调用过程传递的常数、变量、表达式),如果没有任何参数,则Sub语句必须包括空括号()。Sub Myproc() msgbox ("hello,world")End Sub//下面是带有两个参数的Sub过程Sub Myproc(no1,mo2) Msgbox (no1*no2)End Sub调用Sub过程时只要输入过程名及所有参数,各参数之间用逗号隔开另外还有一种调用方法,就是使用Call语句。如果使用Call语句调用,那么所有的参数都必须包含在括号之内//下面是两种调用方法Myproc 2,3Call Myproc(2,3)二、Funtion过程及其调用Funtion过程是包含在Funtion和End Funtion之间的一组vbscript语句。与Sub过程类似,但是Funtion过程可以返回值。Funtion过程可以使用参数(由调用过程传递的常数、变量、表达式)。如果Funtion过程没有任何参数,则Function语句必须包含空括号()。Funtion过程通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。Funtion过程返回值的数据类型总是Variant。Funtion Myproc(no1,no2) Myproc = no1*no2End Funtion调用Funtion过程,函数名必须在变量赋值语句的右边或者表达式中,例如:vNo = Myproc(2,3)Msgbox Myproc(2,3)给过程传递数据的途径是使用参数,参数可以是任何有效的变量名。要从过程获取数据,必须使用Funtion过程。Funtion过程可以返回值,Sub过程不返回值。


VBA编程中MsgBox函数怎么用

这个函数一般使用情况是一个参数,例如:MsgBox "弹出一个提示框"REM 运行上面这句代码就会弹出一个提示框这是最常用的一种情况,然而,msgbox()函数的功能远不止这些,以下是这个函数的声明:MsgBox(prompt[, buttons] [, title] [, helpfile, context])promot(提示) 必填;在对话框中作为消息显示的字符串表达式。 Prompt的最大长度大约为 1024 个字符,具体取决于使用的字符的宽度。如果提示是由多行组成的你可以单独的行使用一个回车符 (Chr (13)),一个换行符 (Chr (10)),或回车换行符的字符组合 (Chr (13) & Chr (10)) 每行之间。button(按钮) 可选;是一个数值表达式,指定的数量和类型的按钮以显示、 要使用的图标样式、 默认按钮的标识以及消息框的模态的值的总和。如果省略,按钮的默认值为 0。title(标题) 可选;在对话框的标题栏中显示的字符串表达式。如果省略title,应用程序名放在标题栏中。helpfile(帮助文件) 可选;字符串表达式,标识要使用为该对话框提供上下文相关帮助的帮助文件。如果提供了帮助文件,则还必须提供上下文。context(上下文) 可选;数值表达式,是帮助文件的作者分配给适当的帮助主题的帮助上下文编号。如果提供了上下文,还必须提供帮助。按钮参数的设置是︰ 值 描述 vbOKOnly 0 显示仅确定按钮。 vbOKCancel 1 显示确定和取消按钮。 vbAbortRetryIgnore 2 显示中止,重试,和忽略按钮。 vbYesNoCancel 3 显示是的,和取消按钮。 vbYesNo 4 显示是和否按钮。 vbRetryCancel 5 显示重试和取消按钮。 vbCritical 16 显示重要消息图标。 vbQuestion 32 显示警告查询图标。 vbExclamation 48 显示警告消息图标。 vbInformation 64 显示信息性消息图标。 vbDefaultButton1 0 第一个按钮是默认值。 vbDefaultButton2 256 第二个按钮是默认值。 vbDefaultButton3 512 第三个按钮是默认值。 vbDefaultButton4 768 第四个按钮是默认值。 vbApplicationModal 0 应用模态;用户必须响应消息框,才能继续在当前应用程序工作。 vbSystemModal 4096 系统模态;所有应用程序都被挂起,直到用户响应消息框。 vbMsgBoxHelpButton 16384 将帮助按钮添加到消息框 VbMsgBoxSetForeground 65536 消息框窗口指定为前台窗口 vbMsgBoxRight 524288 右对齐文本 vbMsgBoxRtlReading 1048576 指定文本应显示一样右向左读希伯来语和阿拉伯语系统上 函数返回值: 值 描述 vbOK 1 还行 vbCancel 2 取消 vbAbort 3 中止 vbRetry 4 重试 vbIgnore 5 忽略 vbYes 6 是的 vbNo 7 没有 例如:msgbox "这是提示内容",3+64,"这是标题"

如何使用VBScript脚本语言编写一个函数

Mid 函数可从字符串中返回指定数目的字符。
语法:Mid(string,start[,length])
string 必需的。从其中返回字符的字符串表达式。如果字符串包含 Null,则返回 Null。
start 必需的。规定起始位置。如果设置为大于字符串中的字符数目,则返回空字符串("")。
length 可选的。要返回的字符数目。如果省略或 length 超过文本的字符数(包括 start 处的字符),将返回字符串中从 start 到字符串结束的所有字符。
例子
dim txt
txt="abcde"
document.write(Mid(txt,2,3))

输出:
bcd
数的用法是错误的。WEEKDAY函数函数名称:


formatNumber()的正文

FormatNumber(expression [,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])ArgumentsExpression必选项。要被格式化的表达式。NumDigitsAfterDecimal可选项。指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是计算机的区域设置。IncludeLeadingDigit可选项。三态常数,指示是否显示小数值小数点前面的零。有关数值,请参阅“设置”部分。UseParensForNegativeNumbers可选项。三态常数,指示是否将负值置于括号中。有关数值,请参阅“设置”部分。GroupDigits可选项。三态常数,指示是否使用计算机区域设置中指定的数字分组符号将数字分组。有关数值,请参阅“设置”部分。设置IncludeLeadingDigit、UseParensForNegativeNumbers 和 GroupDigits 参数可以有以下值:常数 值 描述TristateTrue -1 TrueTristateFalse 0 FalseTristateUseDefault -2 使用计算机区域设置中的设置。说明当省略一个或多个可选项参数时,由计算机区域设置提供被省略参数的值。注意 所有设置信息均取自区域设置的“数字”附签。下面例子利用 FormatNumber 函数把数值格式化为带四位小数点的数:Function FormatNumberDemoDim MyAngle, MySecant, MyNumberMyAngle = 1.3 ' 用弧度定义角。MySecant = 1 / Cos(MyAngle) ' 计算正割值。FormatNumberDemo = FormatNumber(MySecant,4) ' 把 MySecant 格式化为带四位小数点的数。VBScript有两个用于格式化数字的负数。用函数Formatnumber(),你可以指定小数点后的显示位数,是否显示前导的零,显示负数时是否使用空格,和是否使用分隔符等。下面是一些例子及其返回值:6,665.906,665.906,665.900(6665.900)注意第二个例子用了一个字符串,二不是数字。当一个字符串可以被解释为一个数字时,你可以用该字符串作为函数Formatnumber()的参数。如果该字符串不能被解释为数字,则会返回错误。最后一个例子用到了函数Formatnumber()的所有参数:第一个参数(-6665.8999)指定了要进行格式化的数字。第二个参数(3)指定了小数点后显示的位数。第三个参数(-1)指定了是否显示前导的零。第四个参数(-1)指定是否对负数使用括号。最后一个参数(0)指定是否显示分隔符。注意许多VBScript函数使用三态常量。函数Formatnumber()的第三,第四,第五个参数可以接受三态常量或它们的值。下面列出了三态常量:TristateTrue -1 TrueTristateFalse 0 FalseTristateUseDefault -2 使用区域设置你也可以指定这些格式的某个特定属性依赖于Windows控制面板中的区域设置。如果你需要格式化百分数,应使用函数Formatpercent():1,200.00%1,200.00%这个函数把它的第一个参数乘以100,并在结果后面追加一个百分号。函数Formatpercent()也可以接受许多附加参数,以改变输出格式。

关于VB与VBScript的问题

补充:VBScript只是一种脚本语言,只是它的语法和VB是一样的,所以叫VBScript 独立的脚本语言什么都做不了,仅当其存在于某个宿主环境中时才能起作用,所以基本上脚本语言都没有自己的输入输出语句,它们只定义了语法。 换句话说,脚本语言是用来控制宿主环境的已有功能的。宿主环境决定了脚本语言的作用。 比如在服务器端环境下,VBScript可以用response对象,用来输出Html到页面,有request对象,用来获取网页数据。 在客户端浏览器环境下,VBScript可以用document.write来向页面写入数据。 这里的response或者document对象都是宿主环境提供的,和VBScript本身一点关系都没有,它们同样可以用于其他的脚本语言,比如javascript。 而VB是一种编译型语言,它没有宿主环境的概念,和C++,C#是属于同一个范畴的。求采纳


上一篇:我人生中最美的一周

下一篇:河南广告