你的位置: 异次元首页全部文章X-Force第171页 PD虚拟机     VPS     Win11     微软     苹果     SetApp     Office     精选
关于 [ X-Force ] 的专栏

VB编程基础教程18-在应用程序中使用DLL过程

    2005-02-25

由于 dll 过程存在于 visual basic 应用程序之外的文件中,在使用时必须指定过程的位置和调用参数。可以用 declare 语句提供这类信息。在声明了 dll 过程之后,可以把它当做 visual basic 自己的过程使用。
重点 如果在 visual basic 中直接调用 dll,那么 visual basic 环境下固有的安全机制将受到不利影响。这意味着在测试和调试程序时可能会遇到更多的系统故障。为了减少这种危险,在声明 dll 过程、传递参数和指定类型的时候务必要小心。无论在什么情况下,一定要经常保存已经完成的工作。dll 可以提供不同凡响的功能,但是要用好它也不容易。
下例将演示如何调用 windows api 中的过程。调用函数 setwindowtext 来改变一个窗体的标题栏。当然,在实际应用中,通常总是利用 visual basic 的 caption 属性来改变标题栏。该示例的目的在于说明如何声明并调用过程。
声明 dll 过程
首先,在模块的声明部分对过程进行声明:
private declare function setwindowtext lib "user32" _
alias "setwindowtexta" (byval hwnd as long, _

VB编程基础教程17-创建对象

    2005-02-25

创建对象的最简单方法是在“工具箱”中双击控件。但是,对 visual basic 中的所有可用对象以及来自其它应用程序的所有可用对象,要想充分体现它们的优势,可在运行时用 visual basic 的可编程性能创立对象。
用对象变量创建对象引用。

用类模块“从零开始”创建自己的对象。

用集合对象创建自己的集合。
详细信息 其它章节会介绍如何访问对象。例如,在“用部件编程”中将讨论 createobject 和 getobject 函数。

VB编程基础教程16-对象之间的关系

    2005-02-25

在同一窗体上放置两个命令按钮时,它们是两个具有不同 name 属性设置值(command1 和 command2)的分开的对象,但都分享同一个类— 命令按钮。
它们也共享这样一个特征,即它们在同一窗体上。在本章前面已看到,窗体上的控件也包含在窗体中。这就把控件放在一个层次上。要引用控件就必须先引用窗体,就如同打电话拨号一样,首先要拨国家/地区号码或区域号码,然后再拨具体的电话号码。
这两个命令按钮也共享这样一个特征,即它们都是控件。所有控件都具有公共特性,使它们不同于窗体以及 visual basic 环境中的其它对象。以下章节中将说明 visual basic 如何用集合使相关的对象分组。
对象的层次
对象层次提供了一种组织结构,它决定了对象间的相互关系以及访问它们的方法。在大多数情况下不必考虑 visual basic 对象的层次。但是:
在操作其它应用程序的对象时,应当熟悉那个应用程序的对象层次。关于定位对象层次的信息,请参阅“用部件编程”。

VB编程基础教程15-使用对象

    2005-02-25

在 visual basic中创建应用程序之际,也就是和对象打交道之时了。可以使用 visual basic 提供的对象— 比如控件、窗体和数据访问对象。也可以在一个 visual basic 应用程序内部控制另一个应用程序对象。甚至还可建立自己的对象,定义它们的属性和方法。
对象是什么

对象是代码和数据的组合,可以作为一个单位来处理。对象可以是应用程序的一部分,比如可以是控件或窗体。整个应用程序也是一个对象。下表列出了在 visual basic 中可能用到的几种类型的对象:
示例 描述
命令按钮 窗体上的控件,象命令按钮和框架,它们都是对象。
窗体 visual basic 工程中的每一个窗体都是独立的对象。

VB编程基础教程14-控制结构

    2005-02-25

控制结构概述
有了控制结构就可控制程序执行的流程。如果未复选控制流语句,程序便从左至右、自顶向下地贯穿这些语句。有些简单程序可以只用单向流程来编写,有些流程可以依靠运算符的优先级来控制,但任何编程语言的效力和用途皆由其通过结构和循环改变语句顺序的能力而得。

判定结构
visual basic 过程能够测试条件式,然后根据测试结果执行不同的操作。visual basic 支持的判定结构有:

VB编程基础教程13-向过程传递参数

    2005-02-25

向过程传递参数

过程中的代码通常需要某些关于程序状态的信息才能完成它的工作。信息包括在调用过程时传递到过程内的变量。当将变量传递到过程时,称变量为参数。
参数的数据类型
过程的参数被缺省为具有 variant 数据类型。不过,也可以声明参数为其它数据类型。例如,下面的函数接受一个字符串和一个整数:
function whatsforlunch(weekday as string, hour _
as integer) as string

VB编程基础教程12-使用过程

    2005-02-25

创建新过程
要创建新的通用过程,请
在“代码”窗口输入过程头并按下回车键。过程头以 sub 或 function 打头,再接一个名字。例如,可以用以下任一方式输入:
sub updateform ()
function getcoord ()
通过完成新过程的模板, visual basic 作出反应。
选择现有过程

VB编程基础教程11-过程

    2005-02-25

过程概述

将程序分割成较小的逻辑部件就可以简化程序设计任务。称这些部件为过程,它们可以变成增强和扩展 visual basic 的构件。
过程可用于压缩重复任务或共享任务,例如,压缩频繁的计算、文本与控件操作和数据库操作。
用过程编程有两大好处:
过程可使程序划分成离散的逻辑单元,每个单元都比无过程的整个程序容易调试。

VB编程基础教程10-动态数组

    2005-02-25

数组到底应该有多大才合适,有时可能不得而知。所以希望能够在运行时具有改变数组大小的能力。
动态数组就可以在任何时候改变大小。在 visual basic 中,动态数组最灵活、最方便,有助于有效管理内存。例如,可短时间使用一个大数组,然后,在不使用这个数组时,将内存空间释放给系统。
如果不用动态数组,就要声明一个数组,它的大小尽可能达到最大,然后再抹去那些不必要的元素。但是,如果过度使用这种方法,会导致内存的操作环境变慢。
要创建动态数组,请按照以下步骤执行:
(如果希望数组为公用数组,则)用 public 语句声明数组,或者,(如果希望数组为模块级,则)在模块级用 dim 语句声明数组,或者(如果希望数组为局部数组,则)在过程中用 static 或 dim 语句声明数组。给数组附以一个空维数表,这样就将数组声明为动态数组。
dim dynarray ()
用 redim 语句分配实际的元素个数。

VB编程基础教程9-数组

    2005-02-25

如果有过用其它语言编程的经历,那么想必会熟悉数组的概念。由于有了数组,可以用相同名字引用一系列变量,并用数字(索引)来识别它们。在许多场合,使用数组可以缩短和简化程序,因为可以利用索引值设计一个循环,高效处理多种情况。数组有上界和下界,数组的元素在上下界内是连续的。因为 visual basic对每一个索引值都分配空间,所以不要不切实际声明一个太大的数组。
注意 这一部分讨论的数组是程序中声明的变量数组。它们不同于控件数组,控件数组是在设计时通过设置控件的 index 属性规定的。变量数组总是连续的;与控件数组不同的是,不能从一个数组的中部加载或卸载数组元素。
一个数组中的所有元素具有相同的数据类型。当然,当数据类型为 variant 时,各个元素能够包含不同种类的数据(对象、 字符串 、数值等等)。 可以声明任何基本数据类型的数组,包括用户自定义类型(请参阅 “再论编程”中的“创建自己的数据类型”)和对象变量(请参阅“用对象编程”)。
在 visual basic 中有两种类型的数组:固定大小的数组— 它总是保持同样的大小,以及在运行时大小可以改变的动态数组。在本章后面的“动态数组”中将要详细讨论动态数组。
声明固定大小的数组
有三种方法声明固定大小的数组,用哪一种方法取决于数组应有的有效范围:
建立公用数组,在模块的声明段用 public 语句声明数组。

VB编程基础教程8-高级变量主题

    2005-02-25

数值在变量中的内部表示
variant 变量维护它们所存储的数值的内部表示。这个表示将决定 visual basic 在执行比较操作和其它操作时如何处理这些值。将值赋予 variant 变量时,visual basic 会用最紧凑的表示正确记录这个值。以后的操作可能使 visual basic 改变这个用于特定变量的表示。(variant 变量不是无类型变量,而是能够随意改变类型的变量。)这些内部表示与本章前面在“数据类型”中讨论的数据类型相一致。
注意 variant 总保持 16 位,无论其中存储了什么数据。对象、字符串和数组,在物理上并非存于 variant 之中;在这些情况下,用四个字节的 variant 来保持对象引用、或者字符串或数组的指针。而真正的数据存在其它地方。
很多时候,不必了解 visual basic 为特殊变量使用哪一种变量类型;visual basic 会自动转换类型。若想了解 visual basic 正在使用哪种变量类型,可使用 vartype 函数。
例如,如果在 variant 变量中存储二进制值,visual basic 就会用 double 内部表示。如果知道应用程序并不需要 double 值提供的高精度(以及由此而来的低速度),那么将此值转换成 single 甚至转换成 currency 就可以加快计算速度:
if vartype (x) = 5 then x = csng (x) ‘转换成单精度。
对 array 变量,vartype 的值等于数组元素与数据类型返回值之和。例如,这个数组包含 double 值:

赞赏异次元


请通过支付宝、微信 APP 扫一扫,海外读者可「使用 PayPal 赞赏

“ 感谢您对异次元网站的支持! ”