如何学好VB的一点心得由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“如何学好vb的一点心得”。
一.心得
从拿到VB教科书的那一天起,将近40天了,也是那个时候进群的。想对这一个多月的学习做一个总结,谈谈自己对VB的看法,希望能对大家有所帮助,让大家少走弯路。
买任何一本关于编程语言的书,其中四分之三都是在讲变量,语法,函数。高级的书本太厚,看着就恶心,基础的书又太过基础,就算看完一遍也不知道自己能做出什么成果。其实再高级的书也是由基础搭起来的,对于我们这些初学者,拿着一本二十几元钱的《vb程序语言设计》够用了。下面跟说说大家如何学习这本书。
第一步:泛读
拿到书以后,把目录熟悉几遍,前几章简单我都不知道该怎么表述,最简单的也是最难记的,因为像白开水一样,仔细看看,记不住也没关系。
后面会讲到函数和函数调用,函数就是个封装,把一段程序封装起来,程序可能会反复用到,我一般是把这种需要调用的函数放在Module里。Module里还可以放public的变量定义,书中讲有到这个定义的范围,dim globle之类的,我只是觉着麻烦,就全扔到Module里了,利弊的权衡有待考究。我们注意到下图中的变量名都是陈长乏味的英文串。不是因为英文变量帅气,而是可以提高可读性。这也不需要什么英文功底,网络的英语词典,记着单词与单词之间的下划线。网上有一些对代码格式的规范,比如开
头空几个格,注释怎么写,变量名如何定义。总而言之:代码风格。你翻看任何一本编程的书都会提到,好的代码风格方便自己,也方便他人。如果你今后走上程序员这条路,代码风格不好,很难与同事合作写程序。因为同事根本看不懂,你就悲剧了。反例请参照我写的程序,乱的一塌糊涂,好在这程序只有我自己写,家丑没有外扬。
注意变量中有些是以_flage结尾的,这些变量是标志位。只是写过几十行代码的同学估计没有用过。这个标志位很重要,无处不在。比如用在按钮上,在Command_Click()中的第一行写上 Click_flage=1.如果你点击了按钮,这个标志位就置1.证明这个按钮你点过了。说来简单,自己试试去,或者在我程序里面找几个例子看看,只可意会,很难言传。
再回到泛读,函数之后就开始讲控件了,书上全是基础的,就算是有高级的控件我也没看,也可以自己做控件,但是我完全不会。控件这几章,同样是浏览,记住每个控件是干嘛的,具体实现可以不用理会。问题来了,为什么要泛读? 第二步:找个项目做。
大家都喜欢做游戏,那就做个游戏吧。网上那些有现成例子的,比如贪吃蛇。算了吧,就算做出来也没成就感。程序员是干嘛的,是特么搞设计的。按照自己的思路来,就算是贪吃蛇也要写出自己的特色,加些异想天开的功能和规则。至于做什么游戏或项目,心里默念:so easy.为什么so easy!!因为我们手里的《vb程序语言设计》就是一本so easy的书,我们前面也只是浏览了目录和基础控件。现在要用最基础的东西做游戏会有那么难?游戏就算做的大一些,功能全一些,难度也不会增加。顶多是代码量多了点,我们用的还是那些基础的东西,你需要投入的也只是时间和激情而已。
简述一下贪吃蛇这个游戏:用绘图软件画个蛇,放到image里面,利用image的位置比如Image1.Top 之类的位置属性,控制这些属性让图片 平移。再画几个按钮控制方向。图片动当然不会只是一个图片,让图像移动的越是完美,就越是需要更多的图片去搭配。具体可以参考 “数字滚动”的那个例子。想让那只蛇走的更加平滑,就要投入更多的时间去研究动作(图片切换),属性数值而不是什么所谓的高级空间。更多的就不讲了,自己想去。
再回到《vb程序语言设计》这本书。这时候我们已经确定了要做个贪吃蛇或者其他的什么游戏。然后我们就要考虑,这款游戏需要用到的知识有哪些? 我需要画个按钮,那么我就去看看按钮这章,我需要picture,那我就去看看picture这章。用到什么看什么。千万不要通篇的从第一页看到最后一页,记不住的还要死记硬背,中途会不会放弃单说,看完之后你也没觉着自己很牛逼,到是会有种思想:我把基础看完了,可是感觉自己还是什么都不会。So,用到什么看什么。
无论遇到什么困难,都是不是困难,因为你所需要的都是基础的控件和知识,网上资料一大堆,花费点儿时间多查查,多花时间调试。别遇到个问题就拿出来问。这个阶段基本上不会出现自己解决不了的问题。就算是哪儿大死也不会弄了,也可以曲线救国嘛,用一些糊弄用户的小技巧,效果达到了,管他过程是否正规呢。再多句嘴,问问题的时候长点儿脑子,别上来就问有没有大神在,帮我实现个什么功能,傻逼死了。问问大家有没有什么思路,你要的是思路,不是人家现成的代码。
一个月后,我们的贪吃蛇游戏也做完了,不要只是实现这个功能就草草收场。开始修改细节,无论是动画细节还是逻辑功能。我们还可以再添加一些功能,直到它能够真正的称之为“游戏”。等你去面试的时候,面试官百分百会问的问题:你做过项目吗? 这个时候你就不那么尴尬了,把贪吃蛇拿出来给他秀秀。也许贪吃蛇不是什么拿的出手的东西,关键是后期的完善。你可以把之前没有涉及到的任何知识,都拿过来用,比如数据库,你可以给游戏设置账户密码,甚至加入网络实现联机,之后可以加上像跑跑卡丁车里的游戏道具,你愿意它还可以发射子弹加上游戏音效。明白了吗?贪吃蛇就是你一个人专属的开发平台,你可以把这个游戏做的越来越大,越来越好。
最后你获得了什么?让你离开书本重新再写一遍,你做的到吗?当然做不到,很多用过的控件,很多自己写过的代码,回头看看不一定能马上想起来是干嘛的。所以注释也很重要,帮你回忆用的。
那么现在问题又来了,自己写完的程序,忘记了,正常吗?
你写过的任何一段程序,做过的任何一个项目,都会成为你的模板。比如你接手一个新的项目,要实现某些功能。你只记得以前做过类似的,那就ok了。回去翻翻自己的“模板”,复制粘贴再改改。没有自己的模板前,我们只能去百度花费大量的时间,搜集大量零散的代码,还不一定能用。程序员写到最后,就是自己抄自己的,大部分时间都在复制粘贴调试,复制粘贴调试。等你牛逼了,自己承担项目,据我以前的师傅说,都是按行收费。语言呢,就是这么个事儿,不要想的太难。二.说说我这个程序
一月份要随着设备一起发到伊朗,希望不会为国人丢人,尽量做的稳定。工业用的软件不会让你做的很花哨,所以就这样简洁,桌面没有清理干净,有些无聊的按钮是调试用的,不用管。重点是串口通信,可是估计大家用不到,就pa了,而且通讯部分删除了很多代码,不然这个软件在单机情况下打不开,如果有人需要这部分代码,我可以给你完整的。
正在做一个语言切换的功能,就是中英转换,所以现在看到的都是英文。下周还要完成的功能就是分辨率问题。分辨率可以提供大家一个思路,虽然我还没做,但是肯定行的通:
如果你的软件是在台式机上写的,那么再放到笔记本上,肯定超级大。这个时候你把程序放到笔记本上,重新调整各个控件的大小,位置。像image这种就需要重新加载图片了(用语句加载)。调整完毕后把所有控件的位置大小等属性的数值记录下来。在运行程序的时候,你要获取屏幕的分辨率,根据分辨率判断用户使用的是笔记本还是台式机,之后自动调整控件位置和大小。也可以在菜单上加个按键,让用户选择用哪个版本的。有时间就多做几版,这样就适应所有分辨了。别想着调用人家整块的函数就可以实现分辨率这个问题,我搜了好几天也没找到,其中有一段程序,可以随着窗口大小而按比例改变窗口内控件的大小和位置,但终归不是万能的,实用性不强,但是有借鉴的价值。有需要的也可以问我要。我改了改,也算调通了。
下面介绍几个常用的功能。
1.小菜单切换
Show和hide,窗体间的切换也会用到。
2.密码。我这里的密码有两个,一个是:12345678.可以查看当前密码,另一个是用户管理员密码7777。这个密码是设置权限用的。实验数据会存入数据库中,为了确保数据不被随便更改,所以设置了这样一个管理员密码。这个密码保存在程序里肯定是行不通的,因为程序每次打开都要初始化,所以我们只能存储到外部文件,每次打开软件的时候,软件自动提取。这里我存到了数据库中,目前还不是很稳定。界面很生硬,还没来的急修改。
3.Excel,这段程序是我网上复制粘贴的,改了改就可以用了。他可以直接把
中的内容用excel的输出。其实最初的目的是想实现一键打印的功能,花费了半天的时间也没研究出来。曲线救国,你懂的。4.关于数据库,程序里面有大量代码,其实我也说不清楚是干嘛的,反正是调通了,能用了,就ok。程序自动判断什么时候建表,删表,什么时候添加行,删除行。也就是实现了实验结果自动录入的功能。
这里我的表有两个作用,一个是存储实验结果,在另一个是存储曲线图中所有点的坐标。方便调取。
中。
把时间复制粘贴进去,曲线图就重现了。比如:2014/11/5 11:51:15 5.用时间做表名,这得谢谢群里的大神们:
cn.Execute “drop table [” & real_time & “];” '[要删除的表名] 我用real_time这个变量存储当前时间,作为表名竟然成功了。这个符号[“&&”] 相信也可以用在更多的需要变量做名的地方。到现在也没去查这个符号的定义,只是觉着很神。6.曲线图
点击,就开始绘制曲线。这里没接设备,只是一条直线罢了。在走到头的时候,滚动条会自动移动。图里面的网格,都是画上去的,先规定坐标
Form2.curve.Scale(0, 0)-(2000, 1200)'定义Cure长为20000个单位,高为1200个单位
之后根据自己定义的零点划线,具体的代码在module里面。7.这个gride是用向导做的可以用。,很方便,编辑,添加,刷新之类的按钮他都做好了。我把这些按钮做了些许修改,有些按钮只有在管理员模式下才这个软件在大家的机子上不能完整的运行,能让大家借鉴的不多,所以就说到这儿了。我下一个项目打算也用vb,但是想换个平台,vb6.0太古老了。目前还是菜鸟,以后希望大家能多多交流。
14年11月8日 By :Journey