由子未

向上人生路

导航

常用vbscript

dim:为一个或多个变量声明并分配存储空间,但不是赋值给变量

  变量的赋值:

    dim a(10)

    a(0)=11

    a(1)=13

    ............

    a(10)=260

  !:在定义要被redim重新定义的数组,要写成dim( ),括号里不能有变

量个数,等号后面的值可以是字符串,但等号前面括号里的值必为

数字,括号里的是指定数组里的第几个数

[accessmodifier] dim name as (new) datatype

  accessmodifier:表示访问级别/2:

    public: 无限制,任何代码均可以访问它

    private: 声明上下文,声明 private 元素的类型(包括该类型的子类型)中的代码可访问该元素

!: public,private有与dim相同的声明功能,一个变量只能使用一个

声明参数.当文档开头使用了option explicit强制声明变量,public

和private同样可使用.

ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStud

io.v80.chs/dv_vbalr/html/6e06c1ab-fd78-47f0-83a8-1152780b5e1a

.htm

dim(3,5)定义多维数组: 此数组有 4 (3 + 1) 行,每行 6 (5 + 1) 列

例: dim a(1,1)

a(0,0)="aa"

a(0,1)="bb"

a(1,0)="cc"

a(1,1)="dd"

msgbox(a(1,0))  ‘返回值cc

!:ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_vbalr/html/fae3eca1-f0b2-4400-994b-7aa58a848448.htm

 

 

 

 

 

 

 

redim/1:动态定义数组

preserve:重新调整数组时保留原数组的内容,例:

dim a( )

redim a(1)

a(0)=1

a(1)=2

redim preserve a(2)

a(2)=4

msgbox(a(1))  ‘返回a(1)值为2

  !:如果重新定义的数组个数比原来少,只保留重新定义的数组个数

option explicit:强制使用dim显示声明所有变量.

vartype( )/17:返回值的数据类型.

vbempty\0\未初始化  vbNull\1\无任何有效数据

vbInteger\2\整型  vbLong\3\长整型  vbSingle\4\单精度  vbDouble\5\双精度  vbCurrency\6\货币  vbDate\7\日期

vbString\8\字符串  vbObject\9\对象  vbError\10\错误

vbBoolean\11\布尔  vbVariant\12\Variant(仅用于变量数组)

vbDataObject\13\数据访问对象  vbDecimal\14\十进制

vbByte\17\字节 vbArray\8192\数组

const:创建常数,创建后不能改变.

sub:定义过程,执行操作但无返回值.如果sub过程无参数,则语句必须有 ( ).

function:定义函数,有返回值并把值赋给函数,返回值的数据类型为variant(变量).如果function无参数,则语句必须有( ).

inputbox/5:输入框,格式:inputbox(“prompt”,”buttons”)

prompt:提示区,最大字符长度为1024个,包含多行可用回车符

(chr(13)),换行符(chr(10),回车换行符(chr(13)&chr(10)分行.

  title:标题区,省略时要用””两分号.

  default:文本区,省略时要用””两分号.

  xpos:指定对话框左边与屏幕左边在X轴的距离,单位为缇,省略时

为水平居中.

  ypos:指定对话框上边与屏幕上边在Y轴的距离,省略时对话框在

屏幕中心垂直方向距下边大约三分之一处.

  获得inputbox文本区的值定义变量a=inputbox(...),a就是文本

  区输入的值

 

 

 

 

msgbox/3:弹出对话框,有返回值.

  prompt,title

buttons/16:

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  系统模式:在用户响应消息框前,所有应

                    用程序都被挂起. 

msgbox返回值/7:

vbOk:1确定,vbCancel:2 取消,vbAbort:3 放弃,

vbRetry:4  重试,vbIgnore:5  忽略,vbYes:6  是,vbNo:7  否

简单获取表单数据/2:

x=document.form1.text1.value

说明: form1表示被取值表单的表单名.

        text1表示被取值表单中文本域类型的文本域名.

        value表示文本域的值

! 它的取值方法是一层层往里套的,只能提取表单中value的值

me取得表单值:

<sub ff(val)>

<input type=”button” id(name)=”bu” value=”1” onclick=

 “ff(me.id)”/>

!提取me所在input中的任意属性值,如type,id等的数据

通过单击事件调用脚本/2:

for加event调用,for指定表单中的button名,event指定事件

<script language=vbscript for="btnshow" event="onclick">

<input type="button" name="btnshow" value="here" />

表单button名加事件

<sub button1_onclick()>

<input type="button" name="button1"/>

   或:

  <sub button1()>

  <input type=”button”name=”button1”onclick=”button1”>

while...wend:当条件为真时执行循环

do...loop:

do while(until)_loop:当while(until,条件为否)在loop前面表

示先判断后循环

do_loop while(until):当while(until,条件为否)在loop后面表

示先循环后判断

exit do:强制退出循环

for...next:

for val=1 to 10 step 2(-2)...next:

step用于设置步长值,在这个表达式中表示每一次循环加2,step

可以用负数,当用负数时初始值(to前面的值)要比终止值大.

exit for:强制退出循环
for each...in...next:

遍历数组中的每个数值,并且值可为无规律的数组

for each a in b

  sum=sum+a

  next

用a作为变量,b作为被遍历的数组,a从b中依次取值

 

 

 

 

 

 

 

 

select case:

  执行多组语句中的一组,执行哪一组语句由表达式的值来决定

  例:Select Case Drty_val  ‘Drty_val变量为一个表达式的值

       Case 0: t="未知"

       Case 1: t="可移动"

       Case 2: t="固定"

       Case 3: t="网络"

       Case 4: t="CD-ROM"

       Case 5: t="RAM 磁盘"

     end Select

     Response.Write(t)

replace/6:

查找替换

  replace(expression,find,replacewith,[compare],[count]

          ,[start])

  expression:查找的内容

  find:用于替换的内容

  replacewith:替换后的内容

  compare/3: 0,二进制比较  1,文本比较  2,基于数据库比较

  count:替换多少个.默认为-1,表示替换全部

srart:从第几个开始替换,默认为1

lcase(字符串转换为小写),ucase(字符串转换为大写)

instr/4:

返回查找关键字位于所查找字符串中第一次出现的位置:

例:a=instr(“abc”,”c”)返回a值为3,表示查找关键字c在字

符串abc中第3个位置

  instr([start],string1,string2[,compare])

  start:从字符串的第几个字符开始查找,如果已指定compare,则必

        须有srart.

  string1:必选,被查找的字符串表达式

  string2:必选,查找的内容

  compare:比较方式

!:instr的返回值查阅vbscript手册

len:返回字符串表达式的字符个数

trim,ltrim,rtrim:清除字符串两边的空格,但不清除中间空格

 

 

 

mid/3:

  从字符串中返回指定数目的字符

  mid(string, start[ ,length ])

  string: 字符串表达式,从中返回字符

  start:从string中的第几个字符开始提取

  length: 返回多少个字符

left/right/2:

从字符串左/右边返回指定数目的字符

left/right(string,length)

split:

  与数组的方式返回用指定字符拆分成的子字符串,例:

    dim a

a=split("fdfs2,2f,fdf",",",-1)’-1表示返回全部字符

document.write(a(0))

结果为fdfs2

  !: a=split("fdfs2,2f,fdf",",",-1)执行的过程为:

      dim a(2)

      a(0)=”fdfs2”

      a(1)=”2f”

      a(2)=”fdf”

a=函数(41,556,51)和a(41,556,51)的区别:

  a=函数(41,556,51):其中等号表示定义a为数组,并为数组a中的

每个变量对应后面的数组进行对应赋值

  a(41,556,51):直接用变量a加()表示定义a为多维数组

常用vbscript转换函数/8:

asc:返回与字符串的第一个字母对应的ASCII字符代码

chr():返回ASCII对应的字符,例chr(34)返回”

  cbool:返回布尔(true或false)型的值.用于比较字符串表达式

dim a,b

a=1

b=2

cbool(a=b)(a和b是否相同值)

  cint:返回字符串表达式的整数值,只能用于数字字符串,如果数值

有小数小数部分将四舍五入

  int: 返回字符串表达式的整数值,当负数小数时,-1.4返回-2

  fix: 返回字符串表达式的整数值,当负数小数时,-1.4返回-1

  cdbl:返回字符串表达式的double(双精度:带小数点的数值)值

 

formtanumber:返回字符串表达式的数字值,用参数设置返回小

               数点后几位.例:

               t=”14.51561”

               t1=formtanumber(“t”,2)

               response.write(t1)  ‘返回14.51

eval:动态执行字符串表达式并返回变量型数据值.

eval(“1+2*5”)计算括号里的值

  eval(“a=b”)比较a和b的的值是否相同,返回布尔值

eval(“a=123”)给a赋值

 

array:返回包含数组的变量的单个值,例:

  dim a,b

b=array(41,12,5)   ‘括号里只有一个值时array也将返回它

document.write(b(0))  ‘返回值b(0)为41

isarray:判断某变量是否为数组,例:

  dim c

c=array(12,15,18)

document.write(isarray(c))  ‘返回值为true

!:isarray是判断一个变量是否是数组,不能直接判断数组

erase: 重新初始化固定大小数组的元素,释放动态数组的存储空间

  例: Dim NumArray(1)

numarray(0)=1

numarray(1)=2

document.write(numarray(1))

Erase NumArray

msgbox(numarray(1))

  !:开头为dim NumArray(1)表示固定了NumArray数组的变量个数,

用erase清除了赋给数组变量里的变量值,数组的变量和变量个

数依然保留

  !:用redim重定义了数组大小, erase将清除数组的变量值和变量

个数,释放数组的存储空间

  !:erase只能一次清除一个数组

posted on 2009-03-01 17:03  Rayleigh  阅读(382)  评论(0编辑  收藏  举报