vb60教案

2024-11-05

vb60教案(精选9篇)

vb60教案 篇1

VB6.0对口升学考点分析与总结

第一章 VB使用基础

1、VB的特点

2、VB的启动与退出

3、VB的窗口组成

4、VB的属性窗口中、代码窗口的打开操作方法

5、VB程序的保存及各种文件的扩展名

6、VB程序的运行方法

7、对象、属性、事件、方法的概念及这几个概念的关系

8、VB的编程步骤

9、事件过程与事件驱动的概念

10、VB工程的概念及工程的组成,各模块的扩展名

这10个知识点,前6个属于基本操作,后四个属于概念的理解,第一点需要和学生一起归纳总结,第7个知识点是重点,需要学生理解掌握。第二章 VB编程语言

1、VB的数据类型:掌握各数据类型的功能、英文标识及存储空间大小;

2、常量:掌握常量的分类,达到能识别和使用常量的目标;

3、变量:掌握变量的声明、变量的赋值、变量的类型、变量的默认值;

4、PRINT语句:掌握语句的格式,功能、输出格式、空PRINT的应用,会利用PRINT完成数据的输出;

5、标识符的命名规则:掌握符号常量、变量名的命名及识别;

6、LET 语句的格式、功能、含义,会利用LET语句完成赋值和计算;

7、语句的书写格式:按要求书写程序语句;

8、内部函数:让学生掌握数值函数、字符函数、日期函数、格式函数、转换函数的功能实现数据的运算;

9、表达式:掌握表达式的类型及运算符的运算含义、优先级及书写规则; 算术运算重点是MOD 和整除 ; 字符运算符重点是&和+的区别;关系运算符重点是字符数据的比较;布尔运算符重点是NOT、AND、OR;

10、选择结构的行IF语句、块IF语句、SELECT CASE语句的格式、执行顺序及编程应用;IIF函数的应用;

11、循环结构的FOR/NEXT语句、WHILE/WEND语句、DO/LOOP语句的格式、执行顺序及编程应用;

12、数组的定义、分类;静态数组与动态数组的区别(包括声明、引用、清除);数组的访问方法;

13、过程的概念、分类;SUB过程的建立方法和调用方法;过程调用时参数的两种传递方法的区别及应用;FUNCTION过程的建立方法及调用;

14、程序中的错误分类及各类错误的特点;错误的处理方法及ON ERROR语句的应用;

第三章 应用程序窗体设计

1、窗体的常用属性:Caption、Backcolor、Forecolor、Fontname、Fontsize、Currentx、Currenty、Scaleheight、Scalewidth、Keypreview,它们的含义及设置

2、窗体的常用方法:Print、Cls、load、unload、Line方法的格式及功能

3、窗体的常用事件:Click、load、Unload、resize、Keypress、Keydown、keyup、Mousedown、Mouseup、Mousemove、Activate,这些事件的发生时间及事件过程中参数的含义及应用;

4、对话框的概念及分类,对话框的创建方法;InputBox()和Msgbox()的格式及应用;

5、Commondialog控件:利用这个控件创建标准对话框时,showopen、showsave、showcolor、showfont、showprinter、showhelp方法的调用;打开对话框中Filename、filetitle、initdir属性的设置;字体对话框中字体、字号、加粗、加下划线、删除线、倾斜属性的设置;Cancelerror属性的应用;

6、文档界面的分类:MDI文档和SDI文档的区别,创建MDI文档的步骤;MDI文档的特性;Autoshowchildren、activateform、MDIchild属性的设置;创建快速显示窗体的步骤。

第四章:标准控件的应用(重点章)

1、标签控件的常用属性:Caption、Alignment、Autosize、Backstyle、Borderstyle、Wordwrap

2、标签的常用事件:各事件的发生时间

3、标签控件的方法:MOVE

4、控件的基本操作:在讲控件复制时,理解控件数组的建立,控件数组各元素的访问。

5、文本框的常用属性:MaxLength、MultiLine、PasswordChar、ScrollBars、SelLength、SelStart和SelText、TabIndex、TabStop、Text属性

6、文本框的常用方法:SetFocus 7文本框的常用事件:Change、KeyDown、KeyUp、KeyPress

8、为文本框设置访问键:设置方法:输入(&字母)

9、命令按钮的属性:Cancel、default、style、tooltiptext

10、命令按钮的Click事件

11、单选按钮和复选框的属性:Alignment、Caption、Value

12、单选按钮和复选框的事件:Click

13、列表框控件和组合框控件的属性:Alignment、Caption、Value、List、ListCount、ListIndex、SelCount、Selected、sorted、Style、AddItem

14、列表框控件和组合框控件的方法:RemoveItem和ADDITEM

15、滚动条控件的属性:LargeChange、SmallChange、max、Min、Value

16、滚动条的常用事件:Change事件

17、计时器控件的属性:interval、Enabled

18、计时器控件的事件:Timer 第五章多媒体程序设计

1、窗体坐标系:ScaleMode属性、Scale 方法;Visual Basic设置坐标的方式有“绝对坐标”与“相对坐标”

2、使用 Visual Basic 颜色:Rgb()和qbcolor()及vb常量、PSet 方法

3、Line方法及circle方法

4、Line控件的属性、shape控件的属性

5、图像框控件的属性、方法

6、图像控件的属性:注意图像框控件与图像控件的区别

7、Declare语句的格式、功能、参数及应用

8、API函数 mciSendString的常用操作命令

9、ShockWaveFlash控件的常用属性、方法

10、MediaPlayer 控件的主要属性、媒体播放器控件的主要对象的属性和方法 第六章 菜单和工具栏设计

1、菜单控件的属性:Caption、Checked、Enabled、Index、Name、Shortcut、Visible、WindowList

2、RichTextBox 控件的属性:FileName、MaxLength、MultiLine、RightMargin、crollBars、SelAlignment、SelBullet、SelCharOffset、SelColor、SelFontName、SelFontSize、SelHangingIndent、SelIndent、SelRightIndent、SelLength、SelStart、SelText、SelLength SelRTF、SelTabCount、SelTabs、TextRTF

3、RichTextBox 控件的常用方法:Find、GetLineFromChar、LoadFile、SaveFile、SelPrint

3、状态栏控件

4、Clipboard 对象的方法:Clear、GetData、GetText、SetData、SetText

5、工具栏控件的常用属性:Buttons、ImageList

6、图像列表控件 第七章 文件访问与管理

1、驱动器列表框的常用属性:Drive、List、ListCount、ListIndex

2、目录列表框控件的常用属性:List、ListCount、ListIndex、Path

3、文件列表框控件的常用属性:Archive、Hidden、Normal 和 System FileName、List、ListCount、ListIndex、MultiSelect、Path、Pattern

4、文件列表框的常用事件 :Click、PathChange、PatternChange

5、文件访问的类型有三种:顺序型、随机型和二进制型

6、顺序文件的打开、读取、写入

7、随机文件的记录类型的定义、文件的打开、读取、写入

8、FSO对象模型的对象:Drive对象、Folder 对象、FileSystemObject 对象、TextStream对象

9、从文本文件中读取数据:

TextStream对象的方法:Read、Readline、Readall

10、向文本文件中添加数据:分三个步骤

第八章数据库程序设计

1、使用数据控件:数据控件的属性Connect、DatabaseName、RecordSourse、RecordSetType、ReadOnly、EOFAction、BOFAction、Exclusive

2、数据控件的常用方法 :Refresh、UpdateRecord

3、数据控件的常用事件:Reposition、Validate

4、使用数据绑定控件

5、SQL SELECT语句

6、使用数据控件连接 ODBC 数据源

7、使用 MSFlexGrid 控件(常用属性、常用方法、常用事件)

8、ADO 数据控件

9、ADO RecordSet 对象(常用属性、常用方法)

10、DataGrid 控件

11、引用 ADO 对象库(ADO Connection 对象的常用属性和常用方法、ADO Recordset 对象的常用属性和方法、command对象的常用属性和方法)

12、SQL INSERT 语句的使用、第九章 学生成绩管理系统

1、使用VB自带的打包程序制作安装程序的方法

vb语言编程教案 篇2

题:vb语言编程概述 课 时:2课时 授课时间:2011.09.05 课堂类型:讲授

教学目的:1.熟悉VB界面和VB集成开发环境;

2.在实际操作中学会编简单的VB应用程序;

教学要求:1.掌握VB基础知识。

2.会编简单的VB应用程序。

教学重点:1.熟悉VB集成开发环境

2.编写简单VB应用程序。

教学难点:在熟悉VB界面的同时学习编写简单VB应用程序 教学方法:讲授 教学过程:

一、VB简介

BASIC是英文Beginner’s All-purpose Symbolic Instruction Code(初学者通用符号指令代码)的缩写,它是专门为初学者设计的高级语言。Visual Basic是Microsoft公司于1991年推出的基于窗口的可视化程序设计语言。

a.“Visual”是“可视化的”、“形象化的”的意思。b.因此Visual Basic也具有易学易用的特点

c.目前Visual Basic的最新版本是Visual Basic 6.0(简称VB 6.0)

二、启动VB

1、首先显示“新建工程”对话框

直接单击“打开”按钮,创建“标准EXE”类型应用程序,进入集成开发环境主界面。

2、集成开发环境中的各元素 1)标题栏:用来显示窗口的标题。2)菜单栏 3)工具栏 4)工具箱 5)窗体窗口 6)工程窗口 7)属性窗口 8)窗体布局窗口

三、通过一个简单的应用程序快速入门

【例1.1(实训1,p16)】制作一个的一个简单的应用程序的运行界面。它由一个窗体、一个文本框、一个标签和一个命令按钮组成。当用户单击命令按钮“显示”时,文本框中出现“教你学VB”。1.新建工程 2.添加文本框Text1 3.添加命令按钮Command1 4.添加标签Label1 5.设置属性 6.编写事件过程代码

前面的工作把应用程序的界面设计好了,属性也设置完毕。但现在应用程序并不能实现实际的功能。为了使它具有一定的功能,还必须为对象编写实现某一功能的事件过程代码。1)双击窗体上的“显示”按钮,屏幕上出现代码窗口,程序代码就在这里编写。编写如下事件过程:

Private Sub Command1_Click()Text1.Text = “欢迎使用VB” End Sub 2)运行应用程序 3)保存应用程序

VB应用程序至少有两种文件需要保存: · 窗体文件(.frm)· 工程文件(.vbp)4)生成EXE文件

四、总结步骤

设计VB应用程序主要有以下4个步骤:(1)设计用户界面。(2)设置属性。(3)编写代码。(4)保存和运行调试程序,生成EXE文件。

五、知识延伸

1、只有一个文本框的实例 编写如下事件过程:

Private Sub Command1_Click()Text1.Text = “教你学VB“ End Sub

2、多个文本框时 编写如下事件过程:

Private Sub Command1_Click()Text1.Text = ”教你学VB“ Text2.Text = “欢迎使用VB“ End Sub

3、按照系统的元件特性分类(分别举例说明)课后实训1 第二个命令按钮:清除 第三个命令按钮:退出 步骤:

1.添加2个命令按钮 2.双击按钮,进入编程状态 3.和显示按钮命令编程相似 编写如下事件过程: Private Sub Command2_Click()Text1.Text = ” “ End Sub Private Sub Command3_Click()End End Sub

4、图片的加载方法

Private Sub Form_Load()Image1.Picture = LoadPicture(App.Path + “1.BMP”)End Sub

六、小结 1.熟悉界面。

数据的表示与处理(VB教案) 篇3

【课

型】复习课

【三维目标】

知识与能力:掌握VB中常用的数据类型,区别变量和常量的定义及声明使用

过程与方法:面对不同的问题,能够具体对待,给变量或常量不同的类型定义

情感态度与价值观:注意培养学生严谨的学习习惯 【教学方法】讲授法、任务驱动法

【教学重点】使同学们掌握理解VB的常用数据类型、变量及变量名的命名规则。【教学难点】学会给变量定义合适的类型 【教学过程】

一、情景引入

数学中我们接触得数据是什么样的?和我们程序设计语言中的数据又有什么不同呢?在VB中的数据到底是如何表示的?在计算机里如何对数据进行处理的呢?我们的很多疑问,今天这节课都将被一一解答。

1、数学中的“数据”和程序设计中的“数据”,要区别对待!

2、数据类型是一种约定。不同的约定,计算机分配的存储空间大小也不同。

“01000001”被定义为字符串型,则表示“A” “01000001”被定义为数值型,则表示整数65。

二、计算机存储容量的单位

计算机存储容量的最小单位 bit 称为“位”。计算机存储容量的基本单位 Byte 称为“字节”。位和字节之间的换算关系是 1字节 = 8位 千字节 KB 1KB=210字节=1024B 兆字节 MB 1KB=220字节=1024KB 吉字节 GB 1KB=230字节=1024MB 太字节 TB 1KB=240字节=1024GB IP地址是 32 位,占 4 个字节。

三、VB中的数据类型 P21

1、数值型:

数据类型 关键字 存储容量 取值范围 备注 整型 Integer 2字节-32768~~32768 可以表示整数

长整型 Long 4字节

单精度型 Single 4字节

合称为:浮点型、实型 可以表示带小数点的数

双精度型 Double 8字节

补充:将知识与数学中的数值型类型联系起来讲,比如:数学中实数,整数等,它们的取值范围是多少等。这样同学们就更容易地掌握VB语言中的数据类型以及它们取值范围。师生互动:

⑴、若表示人的寿命,定义变量类型?(Integer)

若表示圆的面积或者周长,定义变量类型?(Single)

若表示全面税收,定义变量类型?(Double)

⑵、在VB中,下列语句中哪个定义了一个实型变量?(C)

A.Dim S As String B.Dim B As Boolean C.Dim Sum As Single D.Dim I As Integer

2、字符串型:String ,指用一对英文状态下的””括起来的数据,不包括双引号””本身。师生互动:

⑶、下面()不是字符串常量。

A."你好"

B.""

C."Ture"

D.#False# 解体分析:B选项"",是指空字符串。

3、布尔型:Boolean ,包含“True”和“False”。如果用数值型表示,True→-1,False→0。

师生互动:

⑷、设a=2,b=3,在VB中,表达式a>b And b>=3值是()A.1 B.-1 C.True D.False ⑸、下列程序,当单击窗体时s的值是()Private Sub Form_Click()Dim s as boolean a = 2: b = 3: c = 4: d = 5 s = a > b And 2 * a > c Or c <= d Print s End Sub A.True B.False C.-1 D.1 ⑹、下列程序,当单击窗体时s的值是()Private Sub Form_Click()Dim s As Integer s = Not 2 * 5 <> 11 Print s End Sub A.True B.False C.1 D.0 分析:特别注意第5题和第6题中s被定义的类型,若定义为布尔型Boolean,结果为True 或 False;若S定义为整型Integer,则结果为-1或0。

4、日期型:Date,指用一对 # # 括起来的数据。例如:#2010/2/17#

四、常量与变量

1、常量、变量:课本上没有具体讲关于“变量”的概念,我们应结合物理、数学的一些公式来对常量、变量进行下个定义:比如:物理中的均速运动的公式:S=Vt进行分析,在一定的速度下,S的值随着t的值改变而变化,这里的常量是V,而变量是S和t。

请同学们分析一下:S=3.14*R2 这里的常量是什么?变量是什么?

2、常量、变量的类型:

常量(Constant):分为数值常量、字符串常量等。

变量(Variable):分为字符型、整型、长整型、单精度型、双精度型、布型、日期型。

变量定义格式: Dim < 变量名> AS < 数据类型> 常量定义格式:Conse<变量名> [AS 数据类型] = 表达式 注意:应遵循先声明后使用的原则。

3、变量命名的约定:

①开头:字母或汉字

②以字母、汉字、数字、下划线组成。

③长度不超过255个字符 ④大小写不区分 ⑤不能使用保留字

师生互动:

⑺、在VB中,不能作为变量名的是()A.中国 B.String

C._q D.a_b ⑻、在VB中,以下关于符号常量的声明正确的是()A.Const TAG as String

B.Const TAG as String=“Visual Basic” C.Public TAG as String=“Visual” D.Dim TAG as String ⑼、写出如下程序段执行结束后变量I 的值。①Dim I as integer I=2 I=i+2 I=i+3 Print i ②Dim I as integer I=2 Print i+2 Print i+3

分析:①程序中I的值被修改过两次,进行了重新赋值,最后为I=8。

②程序中I的值被调用了2次,但是并没有任何修改,所以I=2。

五、课堂总结

1、VB中的数据类型(数值型、字符串型、布尔型、日期型)的关键字、所占字节、取值范围等等。

2、常量的定义和使用。

3、变量的定义和使用、变量名的命名规则等。

VB教案2_ 三位数字反序 篇4

【教学目标】进一步了解算法,并能写出本题算法。【重点难点】算法。【教学用时】2课时。【教学过程】

一、“三位数字反序”算法设计:

1.思考:要将三位数字反序,你要告诉电脑怎么的做法、步骤?

答:“小电脑,你得先让用户告诉你要转换的小写字母,然后将它转换成大写字母,然后把这个大写字母告诉用户。” 2.算法初步整理如下:(1)输入三位数N(2)分解N为百位数B、十位数S、个位数G(3)反序新数M=G*100+S*10+B(4)输出这个新数

3.问题:如何分解?需要细化,方法:(2.1)B=N整除100(2.2)S=(N-B*100)整除10(2.3)G=N 除10 取余 4.算法整理如下:(1)输入三位数N(2.1)B=N100(2.2)S=(N-B*100)10(2.3)G=N MOD 10(3)反序新数M=G*100+S*10+B(4)输出这个新数

二、布置作业:

1.将一个两位整数反向输出 2.将一个四位整数反向输出

提示:可以考虑使各步骤的表达形式更统一,试举一例 N=3689 Q=N1000 Q=3 N=N-Q*1000 N=689 B=N100 B=6 N=N-B*100 N=89 S=N10 S=8 G=N mod 10 G=9 如此,会有利于用“重复做”的方式来表达算法。

【反思】

vb60教案 篇5

Lesson 60 ( The fourth period )

一、Teaching aims and demands.

本课是复习课。通过“对话”学习,巩固已学过的有关“做客”,“邀请”等常见常用句型;了解英美人的饮食习惯;复习、巩固有关饮食的词汇和使用句型。通过课文第4部分“写”的训练,逐步培养学生的写作能力。

二、Organization. be omitted.

三、Revision. (用幻灯显示)

Have a dictation.

Fish and chips, and Chinese take-away food are very popular in England. But they are less popular in the USA. In the USA, they eat take-away food, too, like fried chicken. But the most popular kind of take-away food is the hamburger. It looks like bread with meat in it. Hamburgers are delicious tastes and is usually very delicious. It is also very popular in the world.

四、Teaching of new lesson.

1. Listening.

Listen to the tape for Lesson 60 then read after it aloud.

2. Drills.

Ask some students to read and act “Part 1”.

Ask some students to read and act “Part 3”.

3.Language points. (用幻灯显示)

1)With sugar and milk? 加点糖和牛奶好吗?

I like Chinese tea without anything in it.

我喜欢中国清茶,什么配料都不加。

(1)关于英国人和中国人的不同喝茶习惯,见课文注解。

(2)第一句中的介词with与第二句中的介词without都表示“伴随”,作谓语动词的“伴随”状语。

without,意为“无”,“没有”。又如:

Fish can’t live without water. 鱼儿离不开水。

People can’t live without air. 人类离不开空气。

2)Come and take a seat. 进来,请坐。

句中take a seat可用sit down替换。

3)Today we’re going to have something English.

今天我们要吃点英式菜点。

Would you like anything else? 你还想要点其他的吧?

句中English、else都是形容词,作定语修饰不定代词something、anything(nothing、everything等)。又如:

There is something wrong with the watch. 这架手表有点毛病。

4)It’s my favourite… 它是我最喜欢的……

be one’s favourite 意为“……是某人最喜欢的”。又如:

Mike is my favourite. 牛奶是我最喜欢喝的。

5)This is home cooking! 这是(在)家烧的饭菜!

home cooking指饭菜的家常做法,与文中take-away相对而言。

6)It must be more delicious. 它一定更好吃。

must在这里表示推测、判断,但表示有很大的可能性。又如:

Who is knocking at the door? It must be my mother.

谁在敲门?一定是我母亲。

7)I’m happy you like it. 我很高兴你能喜欢它(这些菜)。

句中you like it是一个句子,前面省略了一个引导词that。

8)A table for two? 两人一桌?

9)Can we sit at the table by the window? 我们可否坐在靠窗的那张桌子?

by在句中意为“靠近”“在……旁”。又如:

Come and sit by me. 过来坐在我的旁边。

10)May I take your order now? 可以点菜了吗?

11)Could we have the bill? 我们可以要帐单吗?

12)China is very famous for its food in the world.

中国以它的美味的菜肴闻名于世。

be famous for意为“因……而有句的”,“由……而著称”。又如:

Fuzhou is famous for its hot springs. 福州以其温泉而驰名。

Hangzhou West Lake is famous for its beautiful scenery in the world.

杭州西湖以其美景而驰名于世。

13)In Europe, people eat a bag of grapes for good luck in the new year.

意为“新年,欧洲人吃一包的葡萄来祈求来年的好运。”

四、Design for exercises.

1.Homework:

熟读第二篇对话;完成Wb L60 Exx. 1,2-7.

2.Additional exercises.

课时作业设计(用幻灯显示)

A.英汉互译:

1. have something English 2. home cooking

3. in the open air 4. milk with sugar

5. have chicken with popatoes 6. 清茶

7. 绝对美味 8. 菜单和帐单

9. 以美貌著称 10. 洋葱炒牛肉

B.单项选择:

( )1.We’d like Chinese tea nothing it.

A. of, in B. with, of C. with, in D. have, in

( )2.Mike is better than water.

A. little B. few C. a few D. a little

( )3.Please give me to drink.

A. anything different B. different anything

C. different something D. something different

( )4.Usually I’m at home on Saturday, sometimes I go shopping.

A. and B. or C. but D. so

( )5.Could you me that book, please?

A. take B. carry C. pass D. lift

( )6.Would you like to come to my house lunch tomorrow?

A. at B. with C. for D. from

( )7.My parents asked me your friend.

A. thank B. to thank C. thanks D. thanking

( )8.Han Mei me something last Sunday.

A. told B. said C. spoke D. talked

C.完成对话:(从下列a-g的7个句子中选出适当的5句)

A:Mum, Kate is coming tonight. B:I know. We must get ready 1 .

A:She likes tea. B:With milk and sugar?

A: 2 . She’d like Chinese tea with nothing. B: 3 .

A:Chicken, I think. B:In England people often eat fish and chips.

A: 4 . B:Could you help me cook supper?

A: 5 .

a.So does she. b.Thank you very much.

c.So she does. d.Oh, no

e.Does she like beef or chicken? f.OK. I’m glad to.

g.Which would she like better, tea or water?

Key:

A. 1.吃英式菜点 2.家常做法 3.户外 4.牛奶加糖 5.吃鸡肉加土豆6.tea without anything 7.the most delicious 8.order and bill

9.be famous for its beautiful scenery 10.onions and beef

用VB编写投注程序VB 篇6

时下全国各地都在搞“电脑型福利彩票”,相信很多读者朋友都参与过或正准备参与吧,笔者也是一个“彩民”,已为中国福利事业贡献了XXX元了,不过好像运气不怎么好,至今连个末等奖也未中到。在投注时,彩号可以自己在投注单上选,也可以通过投注机随机选取。那么,想不想自己编个程序来模拟“机选”呢?好!那就接着往下看吧!

首先,新建一个单窗体的工程,在上面画出七个TEXTBOX,最好是一个控件数组,这样编程时容易控制,再建一个COMMOND BUTTON,将CAPTION改为“随机产生”。在程序运行后,每点击一下COMMAND1,将随机产生一组数字并按从小到大的顺序显示在文本框中。下面就是程序部分:

Dim NumArray(1 To 7) As Integer′通用中定义

Private Sub Command1_Click()

Dim i, j, N As Integer

For i = 1 To 7

NumArray(i) = 0

Next i

Randomize

NumArray(1) = Fix(1 + 32 * (Rnd()))

j = 1

Do

N = Fix(1 + 32 * (Rnd()))

For i = 1 To j

If N = NumArray(i) Then

Exit For ′重复时

ElseIf i = j Then ′未重复时

NumArray(i + 1) = N

j = j + 1

Exit For

End If

Next i

Loop While j < 7

PopSort ′升序排列

For i = 1 To 7

Text1(i - 1).Text = NumArray(i)

Next i

End Sub

Private Sub PopSort() ′气泡排序法

Dim i, j, Temp As Integer

For i = 7 To 2 Step -1

For j = 7 - 1 To 1 Step -1

If i >= 7 - j + 1 Then

If NumArray(j + 1) < NumArray(j) Then

Temp = NumArray(j)

NumArray(j) = NumArray(j + 1)

NumArray(j + 1) = Temp

End If

End If

Next j

Next i

End Sub

本程序在VB6.0中文企业版、Win98SE中文版下调试通过,

为了简捷起见,这个程序还有很多不尽如人意的地方,比如不能保存等,喜欢编程的朋友可以充分发挥自己的聪明才智对其加以扩充。

在VB 里 巧 用 集 合VB 篇7

在VB 里 巧 用 集 合

李 成 俊 赵 文 杰

---- VB 提 供 一 种 很 有 用 的 数 据 类 型 集 合(Collection)。 她 的 工 作 原 理 类 似 与C 里 的 链 表, 可 以 很 方 便 的 实 现 插 入, 删 除。 并 且 在 使 用 了Key 之 后, 检 索 操 作 也 变 得 非 常 简 单。 但 其 编 程 上 的 方 便 却 带 来 了 效 率 上 的 急 剧 下 降( 尤 其 在 大 数 据 量 时 会 让 你 无 法 忍 受)。 以 下 举 两 个 例 子 来 讨 论 一 下 怎 样 把 集 合 和 数 组 结 合 使 用, 使 程 序 在 方 便 和 效 率 之 间 达 到 一 种平衡。

---- 1 . 要 求 建 立 一 数 据 结 构, 用 来 保 存 学 生 的 学 号, 姓 名 和 成 绩, 并 在 需 要 时 以 成 绩 的 高 低 按 顺 序 输 出 这 些 信 息。

---- 这 里 我 想 提 供 两 种 解 决 方 法( 当 然 还 有 其 他 方 法)。

---- 第 一 种: 完 全 用 集 合 来 保 存 数 据。

---- 首 先 定 义 一 个 结 构 如 下( 该 结 构 同 时 用 与 第 二 种 方 式)

Type tMyType

ID As Long

Name As String

Score As Integer

End Type

再定义类clsData如下

Public ID As Long

Public Name As String

Public Score As Integer

并定义插入函数用来接受数据并插入到数据结构中

Public Function InsertToCol(pData As tMyType)

注释:其中m_ColData保存记录

Dim myClass As New clsData

Set myClass = Nothing

For iLoopCtrl = 1 To m_ColData.Count

If m_ColData(iLoopCtrl).Score

< = pData.Score Then Exit For

Next

myClass.ID = pData.ID

myClass.Name = pData.Name

myClass.Score = pData.Score

If m_ColData.Count = 0 Or iLoopCtrl

= m_ColData.Count Then

m_ColData.Add Item:=myClass

Else

m_ColIndex.Add Item:=myClass,

before:=iLoopCtrl

End If

End Function

这时,对每个记录做处理如下

Public Function OutProcess

For iLoopCtrl = 1 To m_ColData.Count

CurrentID = m_ColData(iLoopCtrl).ID

CurrentName = m_ColData(iLoopCtrl).Name

CurrentScore = m_ColData(iLoopCtrl).Score

注释:对当前记录做相应处理

Next

End Function

---- 第 二 种: 将 数 组 与 集 合 结 合 起 来, 用 数 组 保 存 数 据 而 用 集 合 保 存 排 序 信 息。

---- 首 先 定 义 如 下 变 量

Public m_Array(99) As tMyType

注释:根据需要也可以定义成动态数组

Public m_ColIndex As New Collection

注释:用来保存索引信息

向数组中插入数据的函数如下

Public Function InsertToArray(pData As tMyType)

If iCurIndex > 99 Then Exit Function

For iLoopCtrl = 1 To m_ColIndex.Count

If m_Array(m_ColIndex(iLoopCtrl)).Score

< = pData.Score Then Exit For

Next

If m_ColIndex.Count = 0 Or iLoopCtrl

= m_ColIndex.Count Then

m_ColIndex.Add iLoopCtrl - 1

Else

m_ColIndex.Add iLoopCtrl - 1, before:=iLoopCtrl

End If

m_Array(iCurIndex).ID = pData.ID

m_Array(iCurIndex).Name = pData.Name

m_Array(iCurIndex).Score = pData.Score

iCurIndex = iCurIndex + 1

End Function

这时,对每个记录做处理如下

Public Function OutProcess()

For iLoopCtrl = 1 To m_ColData.Count

I = m_ColData(iLoopCtrl)

CurrentID = m_Array(I).ID

CurrentName = m_Array(I).Name

CurrentScore = m_Array(I).Score

注释:对当前记录做相应处理

Next

End Function

---- * 性 能 分 析

---- 对 于 集 合 来 讲, 随 着 记 录 个 数 的 增 长, 对 集 合 的 操 作 效 率 飞 快 下 降,

因 为, 集 合 按 下 标 查 找 一 记 录 时 首 先 从 集 合 的 头 一 条 记 录 开 始, 顺 序 向 下, 直 到 指 定 的 下 标 位 置。 因 此, 访 问m_ColData(99) 要 比 访 问m_ColData(1) 慢 的 很 多。 而 大 家 都 知 道 数 组 在 内 存 中 是 顺 序 存 放, 因 此, 访 问 某 条 记 录 的 效 率 与 下 标 大 小 无 关。 当 记 录 数 或 每 个 记 录 的 项 目 数 越 大, 效 率 的 提 高 越 明 显。( 大 家 可 以 自 己 写 一 些 测 试 程 序, 具 体 比 较 以 下 它 们 之 间 的 效 率 差 别, 会 感 到 非 常 惊 讶 的)

---- 2 . 当 记 录 有 唯 一 关 键 字, 并 经 常 以 这 个 关 键 字 做 查 询 时 可 以 使 用 以 下 方 法。

---- 定 义 用 于 保 存 数 据 的 结 构 和 结 构 数 组

Type tMyType

Item_1 As String

注释:为关键字

Item_2 As String

Item_3 As String

End Type

Public m_Array() As tMyType

Public m_ColIndex As New Collection

注释:用于保存索引的集合

定义用于保存索引信息的类clsIndex如下

Public Item_Key As String

Public ID_OfArray As Integer

当接受到一条记录pData后插入过程如下

Public Function InsertData(pData As tMyType)

Dim myClass As New clsIndex

ID_OfArray = ID_OfArray + 1

m_Array(ID_OfArray).Item_1 = pData.Item_1

m_Array(ID_OfArray).Item_2 = pData.Item_2

m_Array(ID_OfArray).Item_3 = pData.Item_3

myClass.Item_Key = pData.Item_1

myClass.ID_OfArray = ID_OfArray

m_ColIndex.Add Item:=myClass, Key:=pData.Item_1

End Function

那么,当需要以给出的关键字(mKey)

取得数据时,用以下方法实现

Current_Item1 = m_Array(myClass(mKey)

.ID_OfArray).Item_1

Current_Item2 = m_Array(myClass(mKey)

.ID_OfArray).Item_2

Current_Item3 = m_Array(myClass(mKey)

.ID_OfArray).Item_3

vb60教案 篇8

在VB中使用API函数 (之二)

Windows的一些特别之处

这个主题是要告诉你Windows 的一些与在VB中的不同的细节

Windows通过句柄(Handle)识别每个窗体,控件,菜单,菜单项或其他任何你能想得到的东西.当你的程序运行时,它所包含的每个部件都有一个唯一确定的句柄用来同其他的部件相区别.例如,某个按钮得句柄就与其他部件不同,当你想要通过API来执行有关该按钮的某种操作时就必须使用这个句柄.从哪儿得到它呢?VB 为每个拥有Windows句柄的控件都提供了Hwnd属性来表示其句柄.

Windows 使用像素(Pixel)而不是缇(Twip).因此,把涉及API函数调用的控件的ScaleMode属性设为3--(Pixel)是个不错的主意,这样你可以通过ScaleXXX属性得到它们的公制单位值.尽管这样,你可能有时仍需要进行从Twip到Pixel的转换(反之亦然),你可以通过Screen对象的TwipsPerPixelX和TwipsPerPixelY来实现.举例如下:

PixelXValue=TwipXValueScreen.TwipsPerPixelX

PixelYValue=TwipYValueScreen.TwipsPerPixelY

TwipXValue=PixelXValue*Screen.TwipsPerPixelX

TwipYValue=PixelYValue*Screen.TwipsPerPixelY

我并没有在实际中见到过TwipsPerPixelX 和 TwipsPerPixelY 的值有什么不同,但你最好是把它们区别开来而不是混用,这至少是一种好的程序设计风格.另外需要注意的是,这里用的是“ ”(整除) 而不是 “ / ” ,这是因为像素值必须是整数.

另外需要提到的是,Windows函数中用到了不同的坐标系统,因此需要注意.

最后要注意的是,一旦你使用了API 函数,VB就可能不再可靠了---API调用中一个简单的语法错误就会导致VB 崩溃!(请经常保存您的工程).VB 并不能识别API调用中的错误,因此一旦你的程序出现异常,要先检查API调用---是否缺少 ByVal,或者是错误的类型,参数等等.

从哪里得到有关函数的说明?

这个主题不会告诉你如何通过API函数改变按钮文字或如何快速查找一个文件.这不是一个API函数文档.

为了得到有关函数的说明,你需要SDK帮助或微软的SDK文档(至少有40M---我怎么可能放在这里?).这些SDK帮助通常都包含在BorlandDephli 3.0开发包或者MS Visual C++中.到网上去或找您的朋友要一个,版本越新越好

注意Win3.x 的SDK 帮助对你并没有用,因为很多函数已经过于陈旧甚至废弃不用,尽管他们中的大多数由于与 Windows95兼容而依然存在.

API参数类型

如果你已经有了一个SDK帮助,你肯定主意到了函数的返回之或参数有很多奇怪的类型如VOID,LPCSTR, 和DWORD.如果你对C语言比较熟悉的话,那你肯定明白它们的意思.对于其他不熟悉C语言的人,这里有一张摘自 VB

Books Online(标题是:C语言声明到Visual Basic的转换)

Books Online(标题是:C语言声明到Visual Basic的转换)

C 语言数据类型 在VB中的声明 Call with

ATOM ByVal variable As Integer An expression that evaluates to an Integer

BOOL ByVal variable As Long An expression that evaluates to a Long

BYTE ByVal variable As Byte An expression that evaluates to a Byte

CHAR ByVal variable As Byte An expression that evaluates to a Byte

COLORREF ByVal variable As Long An expression that evaluates to a Long

DWORD ByVal variable As Long An expression that evaluates to a Long

HWND, HDC,HMENU,etc.(Windows handles) ByVal variable As Long An expression that evaluates to a Long

INT, UINT ByVal variable As Long An expression that evaluates to a Long

LONG ByVal variable As Long An expression that evaluates to a Long

LPARAM ByVal variable As Long An expression that evaluates to a Long

LPDWORD variable As Long An expression that evaluates to a Long

LPINT, LPUINT variable As Long An expression that evaluates to a Long

LPRECT variable As type Any variable of that user-defined type

LPSTR, LPCSTR ByVal variable As String An expression that evaluates to a String

LPVOID variable As Any Any variable (use ByVal when passing a string)

LPWORD variable As Integer An expression that evaluates to an Integer

LRESULT ByVal variable As Long An expression that evaluates to a Long

NULL As Any orByVal variable As Long ByVal Nothing or ByVal 0& orvbNullString

SHORT ByVal variable As Integer An expression that evaluates to an Integer

VOID Sub procedure Not applicable

WORD ByVal variable As Integer An expression that evaluates to an Integer

WPARAM ByVal variable As Long An expression that evaluates to a Long

注释:

你应该注意到了BOOL类型(Boolean)求出的值为Long而不是Boolean.因此0表示“假”(False),其他任何值表示“真”(True).

HWND,HDC,HMENU,etc.---etc.指其他所有与于前面所述相似的类型.它们都以“H”开头来表示不同对象的句柄.举例来说,HBITMAP表示一副位图的句柄,HBRUSH标是一个刷子的句柄等等.它们均为Long而且要按值传递(ByVal).

同样要注意LPVOID被声明为Any型变量,本文将会有独立的一个主题用来论述Any类型.

有些类型以“LP”开头.LP 是Long Pointer的缩写.因此LPWORD实际表示数据所存的内存地址.不过,你并没有必要调用某个函数来获取这个地址.当你按引用(ByRef)传递参数时,你实际上传递的就是它的地址.在这里你只需记住:如果某个参数的类型以“LP”开头,应该按引用(ByRef)传递.顺便说一句,LPARAM 与 Lparam 很相似但不是Lparam,Lparam不是一个指针,在这里你必须传递它的真实值,因此要按值(ByVal)传递.

NULL也是一种奇怪的类型.你可以从 VB 中了解到有关它的描述,这里我不去讨论它.按你需要的形式传递它吧,在大多数情况下,可以用 ByVal 0& 或 vbNullString.

最后,VOID是用来指那些没有返回值的函数的.API中没有SUBs,这就是它们的标志.只要记住:如果一个函数被声明为VOID ,你必须在 VB 中把它声明为 SUB.

vb60教案 篇9

With Visual Basic applications expanding more into the enterprise, basic networking functionality often needs to be duplicated by the application. Using the routine here, you will be able to ping any IP address passed.

Ping is a tool that helps to verify IP-level connectivity. When troubleshooting, the ping command is used to send an ICMP echo request to a target host name or IP address. Use ping whenever you need to verify that a host computer can connect to the TCP/IP network and network resources. You can also use the ping utility to isolate network hardware problems and incompatible configurations.

It is usually best to verify that a route exists between the local computer and a network host by first using ping and the IP address of the network host to which you want to connect. First try pinging the IP address of the target host to see if it will respond, because this is the simplest case.

The concept in the VB implementation is to pass to a routine the address to ping, and a message under 32 bytes that the ping should return if suclearcase/” target=“_blank” >ccessful. This routine does not worked with named domains; it only works when passed the numerical address itself.

To test this application, you must be connected to a network or to your ISP via dial up networking (DUN).

I do not profess to know anything at all about networking or internet functions ... this code  (as a bas file only) was provided to me unsigned. If the author is known, I注释:d appreciate hearing from them so proper credit can be given. Furthermore, it is commented only as far as the author did, with a bit of MSDN descriptions thrown in.

Finally, just to keep the error message lines short (narrow), I注释:ve split them into multiple lines as needed.

BAS Module Code

Add the following code to a BAS module:

--------------------------------------------------------------------------------

Option Explicit

注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:

注释: Copyright ?996-2000 VBnet, Randy Birch, All Rights Reserved.

注释: Some pages may also contain other copyrights by the author.

注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:

注释: You are free to use this code within your own applications,

注释: but you are expressly forbidden from selling or otherwise

注释: distributing this source code without prior written consent.

注释: This includes both posting free demo projects made from this

注释: code as well as reproducing the code in text or html format.

注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:注释:

Private Const IP_SUCCESS As Long = 0

Private Const IP_STATUS_BASE As Long = 11000

Private Const IP_BUF_TOO_SMALL As Long = (11000 + 1)

Private Const IP_DEST_NET_UNREACHABLE As Long = (11000 + 2)

Private Const IP_DEST_HOST_UNREACHABLE As Long = (11000 + 3)

Private Const IP_DEST_PROT_UNREACHABLE As Long = (11000 + 4)

Private Const IP_DEST_PORT_UNREACHABLE As Long = (11000 + 5)

Private Const IP_NO_RESOURCES As Long = (11000 + 6)

Private Const IP_BAD_OPTION As Long = (11000 + 7)

Private Const IP_HW_ERROR As Long = (11000 + 8)

Private Const IP_PACKET_TOO_BIG As Long = (11000 + 9)

Private Const IP_REQ_TIMED_OUT As Long = (11000 + 10)

Private Const IP_BAD_REQ As Long = (11000 + 11)

Private Const IP_BAD_ROUTE As Long = (11000 + 12)

Private Const IP_TTL_EXPIRED_TRANSIT As Long = (11000 + 13)

Private Const IP_TTL_EXPIRED_REASSEM As Long = (11000 + 14)

Private Const IP_PARAM_PROBLEM As Long = (11000 + 15)

Private Const IP_SOURCE_QUENCH As Long = (11000 + 16)

Private Const IP_OPTION_TOO_BIG As Long = (11000 + 17)

Private Const IP_BAD_DESTINATION As Long = (11000 + 18)

Private Const IP_ADDR_DELETED As Long = (11000 + 19)

Private Const IP_SPEC_MTU_CHANGE As Long = (11000 + 20)

Private Const IP_MTU_CHANGE As Long = (11000 + 21)

Private Const IP_UNLOAD As Long = (11000 + 22)

Private Const IP_ADDR_ADDED As Long = (11000 + 23)

Private Const IP_GENERAL_FAILURE As Long = (11000 + 50)

Private Const MAX_IP_STATUS As Long = (11000 + 50)

Private Const IP_PENDING As Long = (11000 + 255)

Private Const PING_TIMEOUT As Long = 500

Private Const WS_VERSION_REQD As Long = &H101

Private ConstMIN_SOCKETS_REQD As Long = 1

Private Const SOCKET_ERROR As Long = -1

Private Const INADDR_NONE As Long = &HFFFFFFFF

Private Const MAX_WSADescription As Long = 256

Private Const MAX_WSASYSStatus As Long = 128

Private Type ICMP_OPTIONS

Ttl             As Byte

Tos             As Byte

Flags           As Byte

OptionsSize     As Byte

OptionsData     As Long

End Type

Public Type ICMP_ECHO_REPLY

Address         As Long

status          As Long

RoundTripTime   As Long

DataSize        As Long 注释:formerly integer

注释:Reserved        As Integer

DataPointer     As Long

Options         As ICMP_OPTIONS

Data            As String * 250

End Type

Private Type WSADATA

wVersion As Integer

wHighVersion As Integer

szDescription(0 To MAX_WSADescription) As Byte

szSystemStatus(0 To MAX_WSASYSStatus) As Byte

wMaxSockets As Long

wMaxUDPDG As Long

dwVendorInfo As Long

End Type

Private Declare Function IcmpCreateFile Lib “icmp.dll” () As Long

Private Declare Function IcmpCloseHandle Lib “icmp.dll” _

(ByVal IcmpHandle As Long) As Long

Private Declare Function IcmpSendEcho Lib “icmp.dll” _

(ByVal IcmpHandle As Long, _

ByVal DestinationAddress As Long, _

ByVal RequestData As String, _

ByVal RequestSize As Long, _

ByVal RequestOptions As Long, _

ReplyBuffer As ICMP_ECHO_REPLY, _

ByVal ReplySize As Long, _

ByVal Timeout As Long) As Long

Private Declare Function WSAGetLastError Lib “WSOCK32.DLL” () As Long

Private Declare Function WSAStartup Lib “WSOCK32.DLL” _

(ByVal wVersionRequired As Long, _

lpWSADATA As WSADATA) As Long

Private Declare Function WSACleanup Lib “WSOCK32.DLL” () As Long

Private Declare Function gethostname Lib “WSOCK32.DLL” _

(ByVal szHost As String, _

ByVal dwHostLen As Long) As Long

Private Declare Function gethostbyname Lib “WSOCK32.DLL” _

(ByVal szHost As String) As Long

Private Declare Sub CopyMemory Lib “kernel32” _

Alias “RtlMoveMemory” _

(xDest As Any, _

xSource As Any, _

ByVal nbytes As Long)

Private Declare Function inet_addr Lib “WSOCK32.DLL” _

(ByVal s As String) As Long

Public Function GetStatusCode(status As Long) As String

Dim msg As String

Select Case status

Case IP_SUCCESS:               msg = “ip success”

Case INADDR_NONE:              msg = “inet_addr: bad IP format”

Case IP_BUF_TOO_SMALL:         msg = “ip buf too_small”

Case IP_DEST_NET_UNREACHABLE:  msg = “ip dest net unreachable”

Case IP_DEST_HOST_UNREACHABLE: msg = “ip dest host unreachable”

Case IP_DEST_PROT_UNREACHABLE: msg = “ip dest prot unreachable”

Case IP_DEST_PORT_UNREACHABLE: msg = “ip dest port unreachable”

Case IP_NO_RESOURCES:          msg = “ip no resources”

Case IP_BAD_OPTION:            msg = “ip bad option”

Case IP_HW_ERROR:              msg = “ip hw_error”

Case IP_PACKET_TOO_BIG:        msg = “ip packet too_big”

Case IP_REQ_TIMED_OUT:         msg = “ip req timed out”

Case IP_BAD_REQ:               msg = “ip bad req”

Case IP_BAD_ROUTE:             msg = “ip bad route”

Case IP_TTL_EXPIRED_TRANSIT:   msg = “ip ttl expired transit”

Case IP_TTL_EXPIRED_REASSEM:   msg = “ip ttl expired reassem”

Case IP_PARAM_PROBLEM:         msg = “ip param_problem”

Case IP_SOURCE_QUENCH:         msg = “ip source quench”

Case IP_OPTION_TOO_BIG:        msg = “ip option too_big”

Case IP_BAD_DESTINATION:       msg = “ip bad destination”

Case IP_ADDR_DELETED:          msg = “ip addr deleted”

Case IP_SPEC_MTU_CHANGE:       msg = “ip spec mtu change”

Case IP_MTU_CHANGE:            msg = “ip mtu_change”

Case IP_UNLOAD:                msg = “ip unload”

Case IP_ADDR_ADDED:            msg = “ip addr added”

Case IP_GENERAL_FAILURE:       msg = “ip general failure”

Case IP_PENDING:               msg = “ip pending”

Case PING_TIMEOUT:             msg = “ping timeout”

Case Else:                     msg = “unknown  msg returned”

End Select

GetStatusCode = CStr(status) & “   [ ” & msg & “ ]”

End Function

Public Function Ping(sAddress As String,

sDataToSend As String,

ECHO As ICMP_ECHO_REPLY) As Long

注释:If Ping succeeds :

注释:.RoundTripTime = time in ms for the ping to complete,

注释:.Data is the data returned (NULL terminated)

注释:.Address is the Ip address that actually replied

注释:.DataSize is the size of the string in .Data

注释:.Status will be 0

注释:

注释:If Ping fails .Status will be the error code

Dim hPort As Long

Dim dwAddress As Long

注释:convert the address into a long representation

dwAddress = inet_addr(sAddress)

注释:if a valid address..

If dwAddress INADDR_NONE Then

注释:open a port

hPort = IcmpCreateFile()

注释:and if successful,

If hPort Then

注释:ping it.

Call IcmpSendEcho(hPort, _

dwAddress, _

sDataToSend, _

Len(sDataToSend), _

0, _

ECHO, _

Len(ECHO), _

PING_TIMEOUT)

注释:return the status as ping succes and close

Ping = ECHO.status

Call IcmpCloseHandle(hPort)

End If

Else:

注释:the address format was probably invalid

Ping = INADDR_NONE

End If

End Function

Public Sub SocketsCleanup()

If WSACleanup() 0 Then

MsgBox “Windows Sockets error occurred in Cleanup.”,vbExclamation

End If

End Sub

Public Function SocketsInitialize() As Boolean

Dim WSAD As WSADATA

SocketsInitialize = WSAStartup(WS_VERSION_REQD, WSAD) = IP_SUCCESS

End Function

注释:--end block--注释:

Form. Code

To a form. add a command button (Command1), two text boxes (Text1, Text2) to the top of the form, and six text boxes in a control array (Text4(0) - Text4(5)) below. The labels are optional. Add the following to the form.:

--------------------------------------------------------------------------------

Option Explicit

Private Sub Command1_Click()

Dim ECHO As ICMP_ECHO_REPLY

Dim pos As Long

Dim success As Long

If SocketsInitialize() Then

注释:ping the ip passing the address, text

注释:to send, and the ECHO structure.

success = Ping((Text1.Text), (Text2.Text), ECHO)

注释:display the results

Text4(0).Text = GetStatusCode(success)

Text4(1).Text = ECHO.Address

Text4(2).Text = ECHO.RoundTripTime & “ ms”

Text4(3).Text = ECHO.DataSize & “ bytes”

If Left$(ECHO.Data, 1) Chr$(0) Then

pos = InStr(ECHO.Data, Chr$(0))

Text4(4).Text = Left$(ECHO.Data, pos - 1)

End If

Text4(5).Text = ECHO.DataPointer

SocketsCleanup

Else

MsgBox “Windows Sockets for 32 bit Windows ” & _

“environments is not successfully responding.”

End If

End Sub

注释:--end block--注释:

上一篇:学校施工安全管理办法下一篇:开展文化体育艺术节的活动总结