Tahoma,8,134
目 录
提示按ctrl ,并单击鼠标可以跳到相应页
1 .1 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
1 .2 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
1 .3 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
1 .4 4-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
1 .5 4-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
1 .6 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
1 .7 6-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43
1 .8 6-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
1 .9 6-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
1 .10 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
1
1.1 1
我们需要什么
我们需要什么当我们在一个精彩的游戏世界中游历了一番之后或是惊叹于某一工具软件的小巧精致之余多少总会产生些许编程的冲动。编程吗在以前如果你对电脑还是一个门外汉那实在是一件可望而不可及的事情。如果运用基于DOS下的编程语言譬如C、Qbasic、Pascal等等真不知何年何月才能有所成就。
编程是需要天赋的你必须在大脑中对整个程序有一个清晰的轮廓一个高效的流程这并不是每个人都能做到的你必须思之慎之这也使编程变成一件最枯燥无味的事情。但在第四代计算机语言可视化编程出现后可以确切的说它开发了人们的更多天赋并不局限于那些头脑异常清晰的人每一个人都可以发现自己也可以编出一些从前不敢问津的程序想象力的充分发挥才是第四代语言的精粹。
Visual Basic以下简称VB可以说是可视化语言的先驱了而且它也是可视化程度最高的一个从几年前VB诞生之日起到现在它已经经历了五个版本而且现在微软正在紧张的进行着VB60的研制、测试这么高的更新率不外乎说明两个问题用户对VB的热衷微软对VB的重视。不可否认微软对市场的预测能力是极为高明的而它强大的技术、财力支持也使它在许多以前未进入的领域在不长的时间内有成为最有力的竞争对手如IE之于浏览器领域 《帝国时代》之于游戏都是最好的例证。对于VB现在也有一个很强的竞争对手――Delphi 有人把它称作VB杀手这显然有偏激之处VB的确有它的不足之处但Delphi又何尝不是呢而且以微软对VB的倾心VB的功能必然会越来越强大。
VB的诞生
VB的出现可以说是Microsoft Windows的日渐成熟的必然产物。 Microsoft Windows为程序员和最终用户提供了一个共同的人机界面。对用户Windows提供了一个图形鼠标的操作环境该环境对所有的应用程序都一样对于程序员Windows提供了一组预定义工具----称之为Microsoft Windows的软件开发工具箱SDK 该工具能使程序员建立一个与Windows界面相同的应用程序而且程序员不必关心最终用户的硬件配置情况。在这一开发环境中程序员唯一困难的是Microsoft SDK提供了六百多个函数和与其一致的事件驱动event-driven 编程技术。两种新方法的交叉使众多的程序员重新陷入困境程序员不仅要掌握程序驱动编程技术和六百多个函数的功能而且还得用C语言描述这些问题。因此一般情况下程序员首先要掌握C程序设计技术而后再开始学习SDK。这样的条件下就要求在Microsoft多任务环境下出现一种操作方便使用简单的新工具 Visual Basic由此诞生。
何为可视
英文Visual的意思是“视觉的” “可视的Baisc”这个名字可能抽象了点但实际上它却是最直观的编程方法之所以叫做“可视” 你只要看到VB的界面就会明白 实际上你无需编程就可以完成许多步骤。在VB中引入了控件的概念在Windows中控件的身影无处不在各种各样的按钮、文本框、无线钮都是控件的
2
种类VB把这些控件模式化并且每个控件都有若干属性用来控制控件的外观工作方法。这样你就可以象在画板上一样随意点几下鼠标一个按钮就完成了这些在以前的编程语言下是要经过相当复杂的工作的。
1.22
第二章事件、属性及数据类型
以后两章可能会比较枯燥但不可否认也很重要所以为了学好VB我们一定要打好基础才行。
一、事件
通过上一章的例子你可能对“面向对象的编程”已经有了一定了解它是由事件驱动的对于不同的对象所能感应到的事件也会不同譬如说当你把鼠标移进某一区域时就会触发MouseMove事件这很直观也容易理解但也有些事件比较抽象下面我来对一般的事件进行一下解释。
1 窗体和图象框类事件
• Paint事件当某一对象在屏幕中被移动改变尺寸或清除后程序会自动调用Paint事件。注
意当对象的AutoDraw属性为True 1 时程序不会调用Paint事件。
• Resize事件当对象的大小改变时触发Resize事件。
• Load事件仅适用于窗体对象当窗体被装载时运行。
• Unload事件仅适用于窗体对象当窗体被卸载时运行。
2当前光标 Focus 事件
• GotFocus事件当光标聚焦于该对象时发生事件。
• Los tFocus事件当光标离开该对象时发生事件。
注意Focus英文为“焦点”、 “聚焦”之意最直观的例子是比如有两个窗体互相有一部分遮盖当你点下面的窗体时它就会全部显示出来这时它处在被激活的状态并且标题条变成蓝色这就是GotFocus事件而相反另外一个窗体被遮盖并且标题条变灰称为LostFocus事件。上面所说的“光标”并非指鼠标指针。
3
3鼠标操作事件
• Click事件鼠标单击对象。
• DbClick事件鼠标双击事件。
• MouseDown、MouseUp属性按下/放开鼠标键事件。
• MouseMove事件鼠标移动事件。
• DragDrop事件拖放事件相当于MouseDown、MouseMove和MouseUp的组合。
• DragOve r事件鼠标在拖放过程中就会产生DragOve r事件。
4键盘操作属性
• KeyDown、 KeyUp事件按键的按下/放开事件。
• KeyPress事件按键事件。
5改变控制项事件
• Change事件当对象的内容发生改变时触发Change事件。最典型的例子是文本框Tex tBox 。
• DropDown事件下弹事件仅用于组合框ComboB ox对象。
• PathChange事件路径改变事件仅用于文件列表框Fi l eBox对象。
6其他事件
• T ime r事件仅用于计时器每隔一段时间被触发一次。
二、属性
每个对象都有它的属性并且“Name”属性是共有的有了“Name”属性才可以在程序中进行调用。对于属性可以在窗体的布局操作中完成也可以在程序运行中改变这取决你的需要但有些属性是只读的它只能在控件布局时改变。我将在以后的实例中具体介绍各个属性的作用。
三、数据类型
学过编程的人都知道大多数的计算机语言都规定了各自的数据类型VB也不例外。其实在一个最简单的程序中数据类型是可以不作规定的也就是说变量可以使用各种类型但是在一个复杂的程序里这样做就很危险因为很可能给同一个变量赋予了不同的类型而导致程序出错。所以为了程序的严谨和便于查看正确的定义数据类型是必要的。定义数据的另一个原因是不同的数据占用不同的内存数量譬如整型 Interger 数据占2字节而长整型数据占4个字节定义合适的数据类型不管你相信不相信它可以节省内存
1 . VB常用的数据类型有整型 In teger 表示-32768至32767之间的整数 、长整型Long 表示-
2,147,483,648至2,147,483,647之间的整数 、实型Single 表示-3 37E+38至3 37E+38之间
的实数 、双精度实型Double 表示- 1 67E+308至1 67E+308之间的实数 字符Str ing 每
个字符占一字节可以储存065,535个字符 布尔Boo le an 只有两个值True/- 1 或
False/0 。
2 数据类型的定义方法
4
• 定义变量最简单的方法是用“Dim”关键字它的语法
Dim 【变量名】As 【数据类型】
如Dim IndexAs Integer
也可以在一行中定义多个变量如
Dim IndexAs Integer,Dim NumberAs Long
把多个变量定义成同一类型可以写成
Dim Index,NumberAs Integer
更可以在定义时进行初赋值
Dim Index=
有时为了简便也以符号进行简单的定义作用是和上面一样的。整型可以用“%”代替长整型可以用“&”代替实型可以用“!” 双精度实型可以用“#”定义如刚才的第一个例子可以写成
Dim Index%等价于Dim IndexAs Integer
• 对于常量的定义用Const定义如Const COLOR=。
为了在程序中便于查阅我们对变量和常量的写法进行规定变量一般用小写方式常量则全部大写。
注意使用常量的好处对于程序中经常出现的数值应设常量等于它这样一是书写方便其二如果要改变该数值只需改变定义常量的语句值而不需改变每个语句提高了效率。
• 数组的定义类似于变量定义所不同的是数组需要指定数组中的元素个数例如Dim IntegerArray(99)As Integer
这个数组中包含100个元素脚标从0到99。
也可以指定脚标的起始值例如
5
Dim IntegerArray(2 to 10)As Integer
这个数组含有九个元素脚标从2到10。
还可以定义多维数组
Dim ThreeD(4,2 to 5,3 to 6)As Integer
上例定义了一个三维数组(4×4×4)。
• 记录的定义
记录定义是把控制权交给用户的方法它让用户可以定义自己的数据类型它使用关键字“Type” 方法是Type 【数据类型标识符】
<域名>As<数据类型>
<域名>As<数据类型>
<域名>As<数据类型>
…………………………
End Type
例如定义一个地址数据
Type Address
StreetAs String
ZipCode As String
Phone As String
End Type
6
这个地址数据里包括三个属性街区、邮政编码和电话可以把某数据定义成此类型Dim MyHome As Address
要调用或改变“MyHome”的值时类似于对对象的属性的操作
变量名.域名“……”
为了简化书写重复的部分,可以用关键字“With”
With MyHome
.Street=阜成路”
.Zip Co de=
.Phone=
End With
1.33
第三章VB语言
本章提要
• VB语法与Basic的异同
• 注释语句
• 长语句的分行
• 条件语句
• 循环语句
• 运算操作
• 数据定义与赋值
• 函数和过程
7
一、 VB与Basic
• VB之所以叫做“Visual Basic”就是因为它使用了Basic语言作为代码所以它们之间有着千丝万缕的关系如果学过Basic的话看到VB的程序结构会感到很亲切。但VB作为新生物也超越了Basic的限制有了许多自己的特点
• VB建立了一种新的变量类型――货币型变量通过使用仅带有二位小数的货币变量就能避免因使用实型变量而带来的数值积累误差问题。
• VB在调用函数Function时必须在函数名后跟一对括号。
• VB对白兰地使用范围重新做了规范在Basic里把隐含变量都当作全局变量而在VB里对隐含变量都当作局部变量。
• VB里的说明语句Declare 仅支持动态链结库DLL的子程序和无变量函数。
• 使用数组必须事先用Dim或Red im进行定义。
二、注释语句
在使用注释语句之前必须先了解注释的作用注释不仅仅是对程序的解释有时它对于程序的调试也非常有用譬如说可以利用注释屏蔽一条语句以观察变化发现问题和错误。以后注释语句将是我们在编程里最经常用到的语句之一。
在VB里注释语句有两种一种是用“Rem”关键字这跟DOS里的批处理文件的用法一样还有一种是利用单引号“’” 例如
‘Dim a As String与
Rem Dim a As String的作用是一致的。
三、长语句的分行
在比较早的版本中因为没有象C等语言用“ ”隔开语句与语句VB的语句是必须写在一行里的不过后来版本的VB里如许用分行符“_”把一个长语句分成若干行来存放。
四、条件语句
如果你学过任何一种编程的话都会知道在程序里控制其流程的有两种语句条件与循环VB自然也不例外其实不管哪种语言条件和循环的样子都差不多只不过各有各的规矩罢了。
在条件语句里我们先来学习“If……Then……”语句。
它的一般语法是
If<条件>Then
8
<语句>
<语句>
………
End If
与C语言不同VB的条件语句更符合英语的语法如果Then后面所跟的语句只有一条可以写成If<条件>Then <语句>
而不用End If。
有时我们还会用到
If<条件>Then
<语句>
Else
<语句>
End If
更可以在Else里在嵌套If语句如
If<条件>Then
<语句>
Else If
<语句>
Else
<语句>
End If
所有这些可以用一个表格表示
条件1
True False
语 条件2
句 True False
语 条件3
9
在2014年发现原来使用VPS的客户需求慢慢的在改版,VPS已经不能满足客户的需求。我们开始代理机房的独立服务器,主推和HS机房的独立服务器。经过一年多的发展,我们发现代理的服务器配置参差不齐,机房的售后服务也无法完全跟上,导致了很多问题发生,对使用体验带来了很多的不便,很多客户离开了我们。经过我们慎重的考虑和客户的建议。我们在2015开始了重大的改变, 2015年,我们开始计划托管自己...
EtherNetservers是一家成立于2013年的英国主机商,提供基于OpenVZ和KVM架构的VPS,数据中心包括美国洛杉矶、新泽西和杰克逊维尔,商家支持使用PayPal、支付宝等付款方式,提供 60 天退款保证,这在IDC行业来说很少见,也可见商家对自家产品很有信心。有需要便宜VPS、多IP VPS的朋友可以关注一下。优惠码SUMMER-VPS-15 (终身 15% 的折扣)SUMMER-...
Virmach 商家算是比较久且一直在低价便宜VPS方案中玩的不亦乐乎的商家,有很多同时期的商家纷纷关闭转让,也有的转型到中高端用户。而前一段时间也有分享过一次Virmach商家推出所谓的一次性便宜VPS主机,比如很低的价格半年时间,时间到服务器也就关闭。这不今天又看到商家有提供这样的产品。这次的活动产品包括圣何塞和水牛城两个机房,为期六个月,一次性付费用完将会取消,就这么特别的产品,适合短期玩玩...