VB6实例图文教程(新手入门)

收藏

预览图
编号:85833323    类型:共享资源    大小:1.76MB    格式:PDF    上传时间:2020-05-28 上传人:为*** IP属地:中国
20
积分
关 键 词:
VB6 实例 图文 教程 新手入门
资源描述:
VB教程:第一章 -Hello World! 文章来源: vb 大世界 没学过编程的人常常会问,编程难不难,这个问题很 难回答。难,的确很难,要编一个好的程序尤其是这样,并且有些程 序还要用到一些其他专业的知识,比如说一个图形处理程序, 就要对 图像的格式有所了解,甚至一些美术知识;但编程也很容易,就拿V B来说,编一个自娱自乐的小工具还是一件相当惬意的事情呢,当然 它没法完全代替人工,譬如说完成你的家庭作业、向学校发射导 弹,, 作为第四代计算机语言,VB的特点是显而易见的。因为是“可 视的”所以我们不妨先看看VB的界面(图 1_1)(我用的是 VB4.0 32 位版),很容易可以看到,屏幕上有五个窗口,(1)是菜单栏; (2)是工具箱( Tools Box ),里面是 VB所需的控件;( 3)是 VB 程序要设计的窗体 (Form); (4)控件及窗体的属性 (Properties), 在 VB中每一个控件都有其自己的属性,比如文本框有 Text 属性,而 任何一个控件都有一个自己唯一的名字,这使得我们无需编程就可以 完成部分编程的工作;(5)是 VB的文件控制窗口, VB的每一个程 序称为一个项目( Project ),一个项目文件里往往包括以下两种文 件,窗体( Form)文件和模块( Bas)文件,当然还有Class 文件, 这些文件组成一个完整的程序,而项目文件(Vbp )则用来描述程序 所包含的内容。 实际上,我一直认为学习的最好方法就是实际操作一下,好,下 面我们就来看一个最简单的程序,和所有的编程教科书一样, 我们把 第一个程序称为“ Hello ,world !”。 首先,我们先来熟悉一下窗体。 如果你用过 Win95附件所带的画 图板的话,那么你一定会很快熟悉VB的窗体设计方法,用鼠标单击 一下工具箱中的任何一个控件,然后在窗体上任意拖动鼠标, 你就会 得到一个所需的控件; 当然还有其他的方法得到控件,你可以在工具 箱上双击得到一个控件;或是按住Ctrl键,再单击所需控件,重复 第一次的步骤,你会发现, 不用再回去点击工具箱了,点右键可以恢 复鼠标指针,这样对于重复画同一个控件尤其有用。 对于我们的第一个小程序, 知道这些就已经足够了。 现在你可以 在我们的窗体上画如下控件一个图片框(Picture Box ),用来显 示图画,每一个控件建立的时候, 系统都会给它设一个默认的名字(N ame),这个 PictureBox的名字就叫做 Picture1 ,为了方便起见,我 们以后的控件都使用缺省的名称。选定Picture1 ,在左边的属性窗 口中找到 Picture属性,单击会出现,点击为 Picture1选一个图 像文件, VB支持的图像文件有BitMap、WMF 、ICO三种,微软为用户 提供了一套图标文件,存放在VB目录的 Icons 目录下,选择 misc\face01.ico文件,这样图标就被装入了Picture1 。再选择 Pic true1 的 Autosize 属性,设为 1-True ,则会发现 Picture1以变成和 图像一样大了;把BorderStyle定为 0-None,去掉图片边框。用同 样的方法再添加两个图片框:Picture2 (Picture :face02.ico),P icture3 (Picture :face03.ico)。 图片框完成了, 第二步,建立三个无线钮 (Option Button), 由于它象收音机的无线电按钮而得名),把它们的标签名属性(Cap tion )分别定为“悲哀”,“高兴”,“没治了”,放置成图1_2 的 样子。 最后我们还需要三个文本框(Text Box ),分别把它们的 Te xt 属性设为””(空字符串),程序的最后界面如图1_3,这样按下 菜单窗口的运行按钮,运行一下程序,还可以吧,不过现在程序还无 法工作,就算是 VB也不能免俗,还必须输入代码才能使程序运作。 VB是一门典型的面向对象编程的语言,它的整个程序都是由事 件驱动的。那么, 什么是事件呢?其实,我们的生活中充满了各式各 样的事件,比如说“闯红灯”这个事件的发生会导致被警察追杀、走 路撞到电线杆时会痛。 上面的例子虽然有些滑稽, 但它可以清楚的解 释事件的含义,就象你马上就能体会到的在什么地方单击鼠标时会发 生什么,按下键盘时会发生什么, 这就是事件,而事件就是这么容易。 要进入 VB的代码设计区,只需在需要的控件或窗体上双击鼠标 即可得到这样的窗口。如图1_4,每一个 VB程序都由若干小程序组 成,这使得用 VB编程更加容易,这些小程序,分为“过程”(Proc edure)和“函数”( Function ),二者都可以传递参数,所不同的 是函数有一个返回值,而过程没有,仅此而已。 双击窗体的任何一个部分,将出现一个空的过程:“Form_Load () ”,这是一个非常重要的过程,它所驱动的事件就是该窗体被加载 的事件,打个比方,就象计算机启动时的批处理程序(Autoexec.ba t )。 这个程序里我们要对控件进行一些设置。我们刚才也曾对控件 进行设置,但那是在程序设置中进行的, 有时我们也需要在程序中改 变某些控件的属性,通过程序代码。VB中规定,一个控件属性的访 问方法:名称 .属性,于是我们对本程序的控件进行如下设置: Private Sub Form_Load() Picture1.Visible = False Picture2.Visible = False Picture3.Visible = False Text1.Visible = False Text2.Visible = False Text3.Visible = False End Sub Private表示此过程是局部的, Sub表示子过程的开始,与之相 对的是 End Sub 表示过程的结束, Visible属性表示控件的可见性, 这个属性的值有两个True 和 False 。 注意: VB里对大小写是不加区分的,而且,已定义的名称,以后再用到时, 系统会自动把它变成相应的大写或小写。 小知识: 1.VB 里的对变量及常量的规矩。 变量一般为 Abc的格式,常量为 ABC ,另外这些变量和常量名不 得同 VB内的关键字相同,也不可以使用一些特殊符号,这些我们将 在以后介绍, 注意在学习中养成好习惯, 使程序便于自己和别人的浏 览。 2. 程序书写的窍门: 不要真的一句一句把程序打完,利用快捷键:拷贝Ctrl+C ,剪 切 Ctrl+T ,粘贴 Ctrl+P 。 按下 F5,运行一下程序,现在发现只剩下无线钮了。如图1_5。 Private Sub Form_Load() Picture1.Visible = False Picture2.Visible = False Picture3.Visible = False Text1.Visible = False Text2.Visible = False Text3.Visible = False Option4.Left = -2000 Option4.Value = True End Sub Left 属性表示控件离窗体左边框的距离,设置为-2000,则在窗体 内不会看到这个控件,并使之Value=True。再运行程序,一切如愿, 如图 1_6. 注意:为什么不用Option4.Visible=False? 因为,一旦设置无线钮为不可见, 那么再使它的 Value 为真是没有意 义的,不信自己试试。 下面我们可以继续进行了。在刚才的代码窗口里,将Object 选择为 Option1 ,Proc 选择为 Click ,即得到一个 Option1_Click的过程。 代码如下: Private Sub Option1_Click() Picture1.Visible = True Picture2.Visible = False Picture3.Visible = False Text1.Visible = True Text2.Visible = False Text3.Visible = False Text1.Text = "再见,残酷的世界。 " End Sub 相同的建立 Option2_Click和 Option2_Click : Private Sub Option2_Click() Picture2.Visible = True Picture1.Visible = False Picture3.Visible = False Text2.Visible = True Text1.Visible = False Text3.Visible = False Text2.Text = "今天心情不错。 " End Sub Private Sub Option3_Click() Picture3.Visible = True Picture2.Visible = False Picture1.Visible = False Text3.Visible = True Text2.Visible = False Text1.Visible = False Text3.Text = "Hello,World。" End Sub 好,我们的开山之作完成了!按下F5,玩一下吧。这个程序虽然简 单,但也用到了许多基本知识,你开始感兴趣了吗?^_^ VB教程:第二章 -事件、属性及数据类型 文章来源: vb 大世界 以后两章可能会比较枯燥,但不可否认也很重要,所以为了学好VB ,我们一定 要打好基础才行。 一、事件 通过上一章的例子, 你可能对“面向对象的编程” 已经有了一定了解, 它是由事件驱动的, 对于不同的对象,所能感应到的事件也会不同,譬如说当你把鼠标移进某一区域时就会触发M ouseMove事件,这很直观,也容易理解,但也有些事件比较抽象,下面我来对一般的事件进 行一下解释。 1. 窗体和图象框类事件 Paint 事件:当某一对象在屏幕中被移动, 改变尺寸或清除后, 程序会自动调用 Paint 事件。 注意:当对象的 AutoDraw属性为 True(-1)时,程序不会调用Paint 事件。 Resize 事件:当对象的大小改变时触发Resize 事件。 Load 事件:仅适用于窗体对象,当窗体被装载时运行。 Unload 事件:仅适用于窗体对象,当窗体被卸载时运行。 2. 当前光标( Focus)事件 GotFocus 事件:当光标聚焦于该对象时发生事件。 LostFocus 事件:当光标离开该对象时发生事件。 注意:Focus 英文为“焦点”、“聚焦”之意,最直观的例子是,比如有两个窗体,互相有一 部分遮盖,当你点下面的窗体时,它就会全部显示出来,这时它处在被激活的状态,并且标题 条变成蓝色,这就是GotFocus事件,而相反,另外一个窗体被遮盖,并且标题条变灰,称为 LostFocus 事件。上面所说的“光标”并非指鼠标指针。 3. 鼠标操作事件 Click 事件:鼠标单击对象。 DbClick 事件:鼠标双击事件。 MouseDown 、MouseUp 属性:按下 / 放开鼠标键事件。 MouseMove 事件:鼠标移动事件。 DragDrop 事件:拖放事件,相当于MouseDown 、MouseMove 和 MouseUp 的组合。 DragOver 事件:鼠标在拖放过程中就会产生DragOver 事件。 4. 键盘操作属性 KeyDown 、KeyUp事件:按键的按下 / 放开事件。 KeyPress 事件:按键事件。 5. 改变控制项事件 Change事件:当对象的内容发生改变时,触发Change事件。最典型的例子是文本框 (TextBox)。 DropDown事件:下弹事件,仅用于组合框(ComboBox )对象。 PathChange事件:路径改变事件,仅用于文件列表框(FileBox )对象。 6. 其他事件 Timer 事件:仅用于计时器,每隔一段时间被触发一次。 二、属性 每个对象都有它的属性,并且“Name ”属性是共有的,有了“Name ”属性才可以在程序中 进行调用。对于属性,可以在窗体的布局操作中完成,也可以在程序运行中改变,这取决你的 需要,但有些属性是只读的,它只能在控件布局时改变。我将在以后的实例中具体介绍各个属 性的作用。 三、数据类型 学过编程的人都知道大多数的计算机语言都规定了各自的数据类型,VB也不例外。其实,在 一个最简单的程序中数据类型是可以不作规定的,也就是说,变量可以使用各种类型,但是在 一个复杂的程序里,这样做就很危险,因为很可能给同一个变量赋予了不同的类型,而导致程 序出错。所以,为了程序的严谨和便于查看,正确的定义数据类型是必要的。定义数据的另一 个原因是,不同的数据占用不同的内存数量,譬如整型(Interger)数据占 2 字节,而长整型 数据占 4 个字节,定义合适的数据类型,不管你相信不相信,它可以节省内存! 1. VB常用的数据类型有:整型( Integer ,表示-32768 至 32767之间的整数)、长整型( L ong,表示 -2,147,483,648至 2,147,483,647之间的整数)、实型( Single ,表示-3.37 E+38至 3.37E+38 之间的实数)、双精度实型(Double,表示 -1.67E+308 至 1.67E+308 之间的实数),字符( String ,每个字符占一字节,可以储存0~65,535 个字符),布 尔(Boolean,只有两个值 True/-1 ,或 False/0 )。 2. 数据类型的定义方法: 定义变量最简单的方法是用“Dim ”关键字,它的语法: Dim 【变量名】 As 【数据类型】 如:Dim Index As Integer 也可以在一行中定义多个变量,如: Dim Index As Integer , Dim Number As Long 把多个变量定义成同一类型可以写成: Dim Index , Number As Integer 有时为了简便,也以符号进行简单的定义,作用是和上面一样的。整型可以用“% ”代替,长 整型可以用“ 字符串表达式 ; ,, 其中 Spc() ,表示打印字符之间的空格, n 表示空格数目, Tab() 表示绝对列数, n 表示列数,也就是说你可以指定在那一列上打印, 它们用“ ; ”和字符串表达式分开,但也可以是这样: 对象.Print 字符串表达式 1, 字符串表达式 2, ,, 用“, ”隔开字符串,这样系统就会按默认的(14 列)为一个输出位。 每使用一次 Print方法,程序就会在指定的对象上打印一行,在用P rint则在下一行打印,当对象是窗体时,对象可以省略,例如打印 一个表格: (注意:要把使用Print的对象的 Autoredraw 属性设为 True,我们 知道,当有多个窗口层叠时,哪个窗口得到焦点就会显示到最上面, 当它显示时就是一种重绘的过程,Windows系统需要重新计算原来它 的图形界面,这是一个非常复杂的过程,不过在VB中只需用一个 Au toredraw 属性就可以做到了, 不信的话可以保持该属性为False ,看 看会怎样?) Private Sub Form_Load()Print 空一行 FontUnderline = True FontSize = 18 FontBold = True Print , "中国 VB联盟成员列表 " Print FontUnderline = False FontSize = 10 Print Tab(3); "姓名"; Tab(15); "年龄"; Tab(25); "性别"; Tab (35); "个人简介 " FontBold = False Print Tab(3); "Mars"; Tab(15); "21"; Tab(25); "男"; Tab(35); " ,," ,,,,, ,,,,, End Sub 更多的内容我将在下一章的用VB作图中向你说明。 当然,在平时用文本框或标签控件显示输出结果也是一种简单的方 法,这些和我们以前讲到的大同小异,也就不再进行过多的介绍了, 下面我来讲讲对字符串的格式化方法。 这里要用到 Format() 函数,它可以对字符串按照指定的形式输出, 也可以用做数字、日期的格式化,方法是: Format ( 表达式 ,[ 格式化表达式 ]) 其中格式化的表达式可以为:“0”,“#”,“. ”,“, ”,“: ”, “$”,以及“ ()+-E+E- ”等等表示,下面我将举一个小例子说明Fo rmat 的所有功能(奇迹!奇迹!这时在打开VB5居然非法操作消失 了!): 请先建立一个项目文件,在Form1上添加两个框架控件( Frame )和 若干按钮、文本框、无线钮和标签控件, 具体如图所示:(图 7-2-1 ) : 其中有两排八个按钮为Command1,Index 从 0 到 7,又有七个无线钮 Option1 ,Index 从 0 到 7,下面为了能够使用,请为它们修改Capti on 属性,如图 7-2-2 。 然后加入如下代码: Dim FormatExp As String Dim ThisTime As Date Private Sub Command1_Click(Index As Integer) FormatExp = FormatExp + Command1(Index).Caption Text1.Text = FormatExp End Sub Private Sub Command2_Click() a$ = Format("1234567890.0987654321", FormatExp) Label1.Caption = "格式化后的数值: " + a$ Text1.Text = "" FormatExp = "" End Sub Private Sub Form_Load() ThisTime = Now Label2.Caption = ThisTime End Sub Private Sub Option1_Click(Index As Integer) Text2.Text = Format(ThisTime, Option1(Index).Caption) End Sub 其中 0 和#代表数值显示的位数,不同的是如果定义格式化表达式的 位数如果多于原表达式,则使用0 则补 0,使用 #则省略 0;“.”用 来指定小数点的位置;其余字符用来分割数值,如“, ”。 结果如下 图:7-2-3 。 关于时间的格式化表达式的定义方法如下表: 格式符含义 日d 显示不带 0 的日期( 1-31) dd 显示带 0 的日期( 01-31) ddd 以 Sun -Sat 格式显示日期 dddd 以 Sunday-Saturday 格式显 示日期 ddddd 以年月日标准格式显示日期 月/ 分钟m 显示不带 0 的月,如果后面紧 跟 h 或 hh 则显示不带 0 的分 mm 显示带 0 的月,如果后面紧跟 h 或 hh 则显示带 0 的分 mmm 以 Jan-Dec显示月份 mmmm 以 January-December 显示月 份 年yy 以两位数显示年( 00-99) yyy 以四位数显示年(1900-2040) 好吧,第七章的内容就讲完了,在第八章中我将把VB的简单绘图知 识教给大家,下次再见! 如何成为一名优秀的程序员? 文章来源: vb 大世界 一位仁兄说的“程序员写的程序不是算法+语法 ,而 是要能够满足用户需求的工具”我非常赞同,要想达到用户需求就 必须从各个方面来考虑如业务、人机交互、效率等方面,而不只是 一个语言(语法)的问题,语言(语法)只是工具,只知语法不知 其他那就真是编程机器了!编程机器在印度高中生经过几个月培训, 按照严谨的软工方法,加上较高的管理,就可以胜任了!大家相信 吗,我是相信的!谈到这里我就不禁说到了国内教育界最近在探讨 的问题“计算机科系的毕业生特别是本科大专生到底出来干啥、如 何适应社会要求”, 大家也看到了很多计科系大学生说精通N种语言, 熟悉 N种工 具,不知道学校里的其他知识到那里去了,甘愿做编程 机器,浪费了人民的纳税,干高中生能干的事,比较可惜吧!在国 内现在就是这样了, 看过一则帖子: 清华的计科系毕业声在建筑院里 搞开发还不如建筑专业的毕业生。说着说着就岔道了,国内的软件 开发业到底是需要那些人:如果仅仅是编码机器,那我估计中国硅 谷还是做梦去吧! 社会似乎也需要编码机器,翻翻招聘广告,做应用开发的都要求 精通某某语言,熟悉某某工具,很少需要懂管理懂软工的人。以我 个人一点偏激的想法,民族软件产业要腾飞,更需要的是能管理使 用编码机器的人, 即管理人员、 国内软件产业编码机器已经很多了。 希望不要惹怒了那些编程高手! system develop与 Application d evelop 在国内到底哪个能养活你,能赚钱,诸位仁兄想必也知道, 况且俺也没发现几家水平高的公司招这方面的人,毕竟OS ,DB MS , COMPILER 都被国外做了、 另外也别跟我谈LINUX ,毕竟还是少数烧钱 的人做的事情,我先喂饱肚皮再说。我手下的很多搞4GL语言的程 序员都想转行学 VC等所谓的更低级的语言, 我总是说“在 XX城市, 先用 4GL工具生存,以后再学习VC吧!” ,说的简单一点先解决肚 子问题。如何判断自己是否是编程机器? 1、面对需求不考虑用户,只是考虑用那些程序技术展示自己的 语言语法技巧 . 2、学习了 N种语言 . 3、从来不学习或实践软工 . 4、语法语言水平在众人中遥遥领先、特别是一些稀奇古怪的语 法 凭着兴趣和创造力去干,却重复繁琐的劳动。做着没有意义 -唯 一意义是赚钱,而且真是出了半斤力,拿不足八两。终日劳累,却 不能学自己想学的。 最终结果是跟不上社会科技的发展,人已衰老。 悲哀!!! 开发软件的关键是要有想法, 一个好的想法比什么都重要。 尤其 是有关 网络方面的就更是如此。 入门还可以, 但是要继续深入了解可能要难点。未必吧 偶觉得 大学里的高数数理方法之类的 , 如果你不是做研究的话 , 应该是很 少能 用到的不过如果说到离散之类的 , 倒还是时不时的能有点用 现在的程序员比起十年前是不是要花更多的时间来查帮助呢。系统 越来越大,手册越来越厚,软件开发的周期是不是越来越多的淹没 在查帮助之中了呢。 实际上一个程序员最终的技术需要和实际相结合。真正在编写程 序到达一定时候,语言的使用并不是最大的障碍, 对整个项目的把握、 软件工程的把握、 数据库的设计以及执行效果的分析等等才是需要进 一步考虑的东东!否则,为何大多数公司到要求有编程经验了!这些 不是程序员必须学的。但数据结构,编译原理,操作系统原理等是必 须要学好的,英文的多看, 不懂计算机英语可不行。其实我不是什么 中专生 , 而是我读的中学和一个私人办的电脑学校联合开的电脑专业 (并不是我中考考的差 , 而是这个学校太贪钱了 , 才被录取到这里 , 恼 火, 我们班里中考成绩从两百多到四百多的都有, 我就是四百多分 (重 理轻文的结果 ,要不然 ...),当时读书的时候 , 我是班是的高手 ( 其实 只是比其它同学懂而已 ), 大家叫我 dos, 因为当时学的都是dos 的内 容, 毕业后还没有对编程很感兴趣, 只想找一个电脑的工作就可以了, 哪怕是打字的 ,可是看报纸 , 去人才中心 , 看到都是要大学的 , 为此感 到很失望 . 也对电脑失去了兴趣 . 后来学校打电话到我家 , 说厦门厦华 公司要招工 , 要不要去 , 我很快就答应了 , 因为当时没工作 , 天天呆在 家里. 后来打工的时候 , 天天象一个机械人一样 , 重复着同一道工序 , 因此经常在深夜的时候 ,思索着自己的未来 , 由此重新生起了对电脑 的感情 , 因此经常买电脑杂志和报纸看(可以堆成一座山了 ). 由于离 我住的地方不远处 ,有一个电脑培训的 , 所以经常到那里上机 , 而在学 校里学过的软件也只有FOXBASE 和 WPS, 其它的不值一提 , 所以上机经 常用 foxbase, 直到这时候 , 才对编程产生了浓厚的兴趣,一年后 , 自已 买了一台电脑 ,开始认真学习编程 . 由于我是属于职业中专的, 因此经 常想, 就算学得再好也没有用 , 所以想考程序员 , 而考程序员要懂得c 语言, 所以就学习 turbo c,学完了, 学数据结构 , 同时看 C 高级实用 程序设计 , 澳门回归和 2000年的两个晚上 , 我都是在编程中度过的 . 由于我这个人对书很感兴趣,经常在星期六 , 星期七去书店 ,而在 书店里 , 也是看编程方面的书 , 而看到的编程书籍大部份都是windows 方面的 , 为此也经常思索着学dos 编程到底有没有用 . 后来,春节放假 (要 2 月 13 日上班 )回老家 , 天天去新华书店 (正月初一也去 ), 看到也 都是 windows编程方面的书多得像狗屎一样, 所以就下决心学 window s 编程, 因此正月初四 ( 快餐店还没有开张 )就去厦门了 , 很快买了 del phi 的书和 d 版 delphi5, 疯狂地学习 (到目前为止 , 买了 8 本 delphi 的书, 因为国人的写的书实在太烂), 而由于遇到不懂的又不知道怎么 办, 为此想到了网络 , 但在外打工不可能上网 (上网吧太贵 ), 所以就辞 职了(4 月 21 日), 现在, 程序员考试快到了 , 是报还是不报一直犹豫不 觉, 困此才有此问题 . 打工的岁夜 ,我永远不会忘记 , 因为付出太多了 , 也失去了太多 (坏了两个光驱 , 瘦了几斤 ), 直到现在 , 脑海里还不时浮 现起那几个无眠的夜晚 .忠心感谢大家 . 我不认为编码的人就是机器, 而系统分析就不是机器 , 其实系 统分析员就是销售的机器, 所有职员有是老板的机器 . 它们之间这是 不同工种吧了 , 当然对系统分析要求要高一些, 薪水也高一些 , 但 更让人佩服的是销售 , 是他们驱动了整个的运作 . 我也是个中专生 , 还是学机械的 (后来自学了计算机 ), 我非常了解在传统的制造业是 如何的规范 , 设计人员设计图纸 , 然后经审核 , 再到车间试样 , 再 根据情况 , 修改图纸 , 如此反复几次后才能一个产品定型,而在软件 界, 就没那么好了 , 领导会说 , 这个你做 , 那个他做 , 也没有经过 很细的分析 (国内很多都是这样 ), 在我们这里也没有系统分析员, 每个人都是设计员 , 也是编程员 , 虽然这样对个人来说 , 能学到很 多东西 , 但不利于项目 .我国的软件过程水平 , 确实令人担忧 , 目前 为止只是 , 几个人十几个人的小软件, 还没有能拿得手的大型软件. 至于中专生编程问题 , 我认为只要入了这个行 , 就不会比本科 生差, 因为对他来说没有优越的学历条件, 那么只好埋头苦学 , 但 这正好适应当前计算机软件迅速发展的今天, 学历只能代表过去和 基础, 更需要的是有能力的人 , 解决问题的人 , 实干的人 .对我来说 确实有时有点自卑 , 没有上过高中和大学 (由于那个年代 , 我只知道 能为父母减少一点负担就行了), 所有我一直在努力的学习(corba, uml, java, 软件过程等 ), 目前为止我并没有觉的我的构架能力和 编码水平比他们差 , 只是觉得 E语言实在太差 . 过计算机本科又如 何?我有几个同学到银行去搞业务了,有同学任教,有同学收税去 了......60多个人真正现在搞计算机的还就只有几个人,再看看当 时这些计算机本科生的毕业设计,//faint有的人到最后连 vb 都搞不 定,但他们什么编译原理啦什么组成原理啦什么软件工程啦学的(应 该是考试的分数)真还不错,至少我感觉有些概念比我清楚(上课没 听?)所以我觉的中专生并不比一般大学生差(当然有些重点学校除外 //hehe) ,有时中专生有更大的压力逼迫自己去学习,学历不是重要 的,关键是一个人的素质. 我们不能将目标定位在做程序员或编码员 (Coder)上光会写代码有什么用?那叫“编码员”,在国外是属于体 力劳动的,不像国内,会写程序的就叫高科技。重要的是分析问题、 解决问题和规划的能力,系统分析,系统设计及项目规划才是正途。 这就需要学习所谓的基础课程了,如:软件工程、离散数学、数据结 构等等。 从 vb 到现在开始学 vc 后, 一个人捣鼓了几天也没有什么新发现。 跟本不知道 VC的编程思想是什么, 请大虾们告诉我, 它和 VB的差别 真是太大了。 VC的博大在于 MFC 的操纵 , 它是 Win32API的封装 . 思想 在于怎样了解 MFC 的内幕, 它的运行机制 . 差别也大,差别也不大! 这 要看你对 API 的理解了,虽然 VC++ 的可视化没有 VB的好,但是不是 绝对没有的,其对而且对话框的编辑是跟VB一样的,不过不是像VB 那样放在第一个界面罢了, VC++ 的博大精深是 VB难以望其项背的!: ) 而且 VC++ 是完全面向对象的编程工具,而VB是不够完全的面向对象 编程工具, VC++ 是完全编译语言, VB是本地编译语言,不够完全,V C++ 效率高,封装性好,继承性高,VB效率相对低了很多,但界面友 好,二者只能取其一,或者使用VC++ ,VB辅助( 因为 VB开发快 ) ,当 然 Delphi ,BCB也是不错的选择。 程序员不应依赖开发工具, 程序员更应该拥有的是一种思维、一 种精神、一种观念。就像Richard.M.Stallman一样,有自己的精神, 为自由软件而奋斗。就像求伯君,为民族软件的振兴而奋斗。这才是 真正的程序员。 应该说,他们更注重的不是技术, 而是软件的思维, 软件的灵魂!! 我刚学VC的时候 ,还没有上网 . 身边也没有一个可以问的朋友,所以 大部份都是自己啃的 . 那种感觉真是很痛苦 . 现在在网上就不同了 , 可以得到太多的资料了 ,而且还可以得到在线帮助. 但这些都不是学 习的关键 . 相信各位也知道VC的难度, 并不是那么容易上手的 , 所 以要想学会 , 学好VC , 靠外力是不可能的 . 主要得靠自己 . 自己要有一份难得的毅力, 对编程的狂热也可以在一定程序上起 到帮助 . 我就是这样的 . 起初,没有人帮我 , 我学习VC是三天打鱼两 天晒网 , 学习进度很慢 , 幸好对编程的执著 , 使得自己坚持下来了 . 如 果你从来就没有接触过编程,那你学习VC的速度可能会比学过面向 过程编程的人要慢一些 ,因为你要去理解命令及语句的含义. 但只要 你努力 , 并且可以得到别人的帮助 , 我相信在半年内会对VC有一定 的认识 . 请学赤面向过程编程的朋友也不要笑, 因为面向过程与面向 对象实在是区别太大了 .就拿封装一词来说吧 . 当初我是左想右想才 想通的 . 所以不要自己学过编程 , 就会在学习VC的通道上比别人轻 松. 现在有一种现状应该让我们注意. 我发现有很大一部份初学者觉 得VC是一种语言 ,C++又是另一各语言 . 我在和一些初学者的交谈 当中, 查觉到了这一点 . 有的初学者竟然还认为我学VC为什么就一 定要学C ++?我想这个问题是我们大家都没有注意到的一个问题. 就 是向初学者讲述C ++对VC学习的重要性 . 我这有个例子 ,跟大家讲 一下. 我有个同学 ,他接触编程比我要早 , 在我还在为VC中 "::"符 号怎么标记的时候 ,他已经在学习C了 . 后来, 我对VC稍有理解的时 候, 他也发觉C的跟不上时代的脚步了. 我便提议他从C ++语言学起 , 可他认为自己有C的学习功底, 根本就用不着再去学习C++.可在学 习VC的当中 ,遇到的困难真是数不胜数. 最近, 他还是去买了一本学 习C++的书. 从头再来学习C ++. 我希望通过这个例子 , 能让广大的 初学者知道 , C++对VC学习的重要性。 学习 VC必须有狂热的编程热情,否则是很难坚持下来的,我周围 就有几个这样的人,他们比我先学VC近半年,但现在仍然学不会, 而我现在虽说不是很厉害, 但基本的应用程序是不在话下,我就是天 天看书,上机实践,几乎所有的时间都泡在里面, 有时连吃饭都在想, 为什么,因为我确实想啃下这块硬骨头,我不想半途而废,我觉得学 习 VC不仅仅是学到了更多的东西,最主要的是培养了我们自己一种 坚持克服困难的毅力。 对于 VC ,我有几点经验: 1。技术为本,语言为次 . 2。MFC 的单个类有用, DOC/VIEW 要小心。 3。OOP 要小心,使用不当反而造成大量的工作和糟糕的代码。 4。如果可能,考虑选择使用Delphi(CBuilder+VCL)。 5。到了一定程度,一定要学COM 。 要学 VC ,必须有对 C++ 深刻的理解,对 WINDOWS运行机制的深刻 理解。尤其想成为VC高手。举例, 对于虚函数,不仅要知道有这 么一个东东, 更要知道它的内存镜像。这样才能对 VC中很多的东西 举一反三,事半功倍。本人学习VC近 2 年,但自觉第一年由于心情 浮躁,把 VC的书翻了一遍又一遍,却每次都只看了一点就无法再深 入。直到毕业前夕,痛定思痛,克服浮躁,认认真真的从最基本的开 始学,把每一点都搞的水落石出,经过三个月的刻苦,终于大成。直 到现在,半月搞定COM/DCOM,都托当日刻苦之福,因此劝告想学VC 的朋友,一定要顶住开始的艰难岁月。成功属于刻苦者。 每个人都有自己的学习方法,也许这种方法对我来说有用, 但不 见 得就对所有的人有用 . 所以, 请不要盲目的跟着别人的学习方法学 习, 要思考属于自己的学习方法. 但我还是会向大家说出我自己认为 比较好的一种方法 . 学习编程其实与学习其它东西一样, 要想掌握它 , 就要实践 , 实践, 再实践 .当你学到了一种新的技术或知识时, 多实践 是巩固学习的一种最好最有效的方法. 这个实践不是照著书上的例 子做一遍 , 而是根据自己的能力 , 给自己出题 , 然后去完成它 . 只有这 样, 你才能发现自己的不足 , 同时又增加了自己的编程经验. 但要成 为合格的程序员 , 光会写代码是远远不够的, 更重要的是思考 . 谋定而 后动, 是 不变的真理 . 在我的理解, VC只是一个编程工具, 就如 BC 、BCB 、Delphi 一样, 其实对于编程最根本的就是三个方面,语言、开发包、操作系统 AP I ,他们三个方面应该说是相对比较独立的。 VC是 MS开发的,所以针对的是windows api ,你可以不会 C++ , 也可以在 VC下用 C写出很优秀的程序,当然如果你比较熟练C++ , 并且熟悉开发包 MFC 的话,工作可能要轻松不少。所以在我看来, 学习的过程可以是这样的: 1、先学习 C或 C++ ,在 windows 的 console 环境下编写不太深 入涉及 API 的程序; 2、在基本上掌握了语法之后,开始接触简单的系统API,学习 Windows的编程原理和机制; 3、在可以编写简单的菜单程序, 可以简单地在 WM_PAINT 下操作 GDI 函数后,开始学习MFC ,可以从 Step tourist学起,看 MFC 的 源代码,理解几个关键的宏的定义与实现,特别是MESSAGE MAP。 在学习的过程中为了给自己增加点挑战,尽量不要使用resource ed it ,试着自己编码实现控件的创建,消息的响应。再就是看自己的 造化了,动手做一些小工具,特别是自己平常需要的,对自己的提高 也应该是很有帮助。究竟我们要的是结果!良好的分析问题高效清 晰地肢解问题的能力才是我们真正要不断学习的吧? 和学习其他知识一样,重要的是获得提出问题,分析问题,解决 问题的能力,不是为编程而学习,你具有什么样的思想,就会写出什 么样的程序。学一门语言, 不能仅仅是语言,要注重语言背后的思想 方法,看他是如何来解决某一问题的,为什么要这样去做,他总是要 符合客观事实的,就像人说的话一样,存在某种逻辑,数据的组织, 信息的传递,靠你自己的头脑去建立,然后看C++ 中有什么可以帮你 的,该怎么样用他来表达自己的想法。只要你认真实践,努力去做, 寻求乐趣,就会达到目标。我虽然真正认真学习编程的时间不长, 但现在我是认真的,就有了以上的体会。 学习 VC++ 有相当的内容要学,而最后的深度则看个人的悟性与 勤奋了。 1 )掌握最新标准的C++ 。(2 个月) 如果曾经在大学里自以为学过C/C++,还对 dynamic_cast/stati c_cast/template/try/catch/throw/stl/...感到陌生,那你该Refr esh 一下新的 ANSI C++ 标准了。 ----此与 VC++ 无甚关联, g++/bcb 均有所支持。 2 ) 学习 SDK编程; :-O (6 个月) 痛苦是暂时的,必要的,坚 持就是胜利!建议用 Lccwin32/Masm32/Tasm编写小而精的工具软 件; "Windows Programming Guide." "Advanced Windows progra mming " 3) 研究 MFC 源代码。 (6 个月) 不要被一大堆的宏所蒙蔽,just track and dig into it!! 在 知道 MFC 如何扩展,包装 SDK之后,自可功力渐进,不被其MFC 系统 框架所困绕。 "MFC Internals" 4) 研究 OLE/COM 技术。 COM/ActiveX技术是 MS的核心技术,只有彻底洞察其理论精髓才可 以体会现在的 操作系统的技术趋势,以不变应万变。 "Inside Ole 2" *** 几点建议 *** : 1) Delphi/BCB/VB可以很快构筑界面,但对于想真正学习、理 解系统不是一个好的平台,但如果有时间读一读VCL的源码,看看 B orland 是如何封装系统的,也可借鉴不少。 2) 学习 ASM 对理解 C++ 有很大益处。 Soft-ICE也是和 VC++ 结合 在一起的好工具 ; 3) 语言本身是皮毛,算法是筋骨;无论高级语言如何发展,在 理解操作系统的基础上不断自我创新的能力是源源不断的;如果精髓 一旦了然于胸,选择何种开发工具都可以驾御,一见如故了。 每个人学习的过程都会不同吧,我在98 从 TC转向 VC时,对 Wi ndows的消息机制一点概念也没有,对着个MFC 不知所措,几个月下 来一点进展也没有。我于是暂时转向 win32 位编程。整整一年时间吧, 我就是与 API 打交道,连编辑菜单条对话框等资源文件时也用Uedit 32 手工编写,为的是希望能对编译器的全过程有个感性的了解。之 后我再转向 MFC 时,果然发现两者是相通的,虽然有一定的区加,不 过有了 win32 位编程的基础再看MFC 时会发现它比 win32 位编程要 方便了太多。现在市面上的 VC书很多,不过大多是入门书。我以为 要精通 VC (只是以为,本人自已距精通还远的很)应该多看多写程 序,看书只能是入门,会用了而已。我不赞成滥用ActiveX ,一来我 以为它的性能很成问题, 真是又大又慢又不稳定 (可能是我有点偏激 了吧),二来用了它您的程序今后就要被别人牵着鼻子走了。有次我 用了个控件, 程序都写了大半了, 它给我来个继续使用请支付333 美 元,我两个多月的工钱, 烦不烦人?现在我尽可能用别人写的类源代 码(我已收集各类代码3-400MB了) , 一样用起来方便,还能边用边学, 必要时还能自已改造。 我以为在现代的网络时代, 资料到处都有,无论什么先进的技术, 今天我不会我只要查到资料,快的学上几天慢的一两个月我也能学 会,现在已没有写不出的程序了,写不出是因为你没有耐心写完它。 我以为现在的程序员不一定要多么聪明,而更需要他有完成枯燥项目 的耐心,找 BUG 的细心,对于金钱的平常心(不要为了早日拿到钱而 赶进度),最后最重要是有顾全大局,团队协作的精神。最后,王 靖朋友的经历与我实在是有点相似,算是同病相伶吧, 真心祝您早日 实现自已的人生目标!学习VC是一项费时费力的艰苦学习过程。为 了真正用好 VC ,你 不得不先从 OOP 开始学起,也许浏览一本纯理论 的书要更有意思。你将从另外的角度考察OO 思想。接下来学习 C++ , 学习 WindowsAPI 学习 MFC , 剖析 MFC , 扩充 MFC , 创造自己的类库(不 要企图写一个和 MFC 同重量级的类库)。如果能够精通Microsoft C编译器的各种参数,你就可以开始研究微软C/C++语言编译器的进 化历史(结合各种背景知识)。掌握了编程的思想,征服VC只是 时间问题。 学习 VC是接受微软技术体系的过程。所需要学习的不仅仅是C+ +,MFC 。 需要学习所有微软的技术,包括Windows编程,Win32系 统(实际上 Win32 系统实现了很多我们在屏幕上能看到的东西,最 起码 NT的内核 并不大), COM (深入研究它,理解对象是如何跨越 进程边界的,最终能够自如地在 Exe中实现自己定义的接口才算到 家了。不过这多少有些不太必要。), DCOM,ctiveX ,Windows DN A... 如果你想成为大拿,学吧,没完没了。最起码,使用VC ,你甚 至于可以开发自己的操作系统(当然与MFC 没有一点关系)。
内容简介:
-
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:VB6实例图文教程(新手入门)
链接地址:https://www.renrendoc.com/p-85833323.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!