前言:学习任何编程语言、编程工具的目的不外乎解决生活问题,能够快速、高效解决问题的方式就是不错的方式,至于选择什么“工具”,众位看官看着办,本人虽然有过3年vb开发经验,但是一直没有深入学习,现已购买 《张宁著 老兵新传  核心编程及通用模块开发》,深入学习vb开发,继续将vb发扬光大。

一、知识准备

   本章从API函数开始介绍vb下如何使用api函数,模块、类模块的编写。主要还是阐述的一种思想,通用模块开发,编写的模块能够通用,多次使用,尽量要降低错误,以达到重复利用目的,从通篇介绍来看,以后还是可以将不错的模块全部类模块化,调用也方便,使用更便捷。
   编程风格总结:
   1、标准命名肯定是要遵守的,基本上都是匈牙利命名法吧,例如cmd_Print,strTmp,intValue等。
   2、变量使用一定要定义(option explicit),另外少用站16字节的variant类型。
   3、代码格式化用格式化工具随时格式化。
   4、用好with end with ,不用的代价是系统资源开销大。另外还可以这样用:
      dim objText1 as TextBox
      set objText1 = Text1
      objText1.Text = "测试程序"
      objText1.Enabled = 1 
      objText1.SelStart = 0
    示例:
      dim lsItem as ListItem
      with ListView1
            .View = lvwReport
            set lsItem = .ListItems.Add(,"L1","Text1")
            lsItem.ToolTipText = "ToolTip1"
            lsItem.SubItems(1) = "Sub1_1"
            lsItem.SubItems(2) = "Sbb2_2"
            lsItem.Selected = 1
            set LsItem = Nothing
       End With
    另外注意with end with 中最好不用goto语句跳转。
    5、布尔值判断。If Check1.checked then Text1.Text = "患者姓名" 因为非0值都表示为真,只有0才表示为假。假=0 真=-1
    6、字符串为空判断。If Len(strTmp) = 0 then exit sub 
    7、能用常量就不要用函数求值,例如:If strKey = vbcrlf then strText = "通过"  ,vbcrlf = chr$(13) + chr$(10)
    8、数组下标从1开始,0可以定义为出错代码,这个经验很少遇到,可以看看是否有好处!!!
    9、用Optional选项定义函数的参数,达到“重载”目的,同一个函数可以传不同的数据参数,这个也少遇到,需要多看看。另外一旦用了Optional后续定义参数都需要用它。实例:public function Getvalue(str1 as string,Optional byval str2 as string ,Optional byval str3 as string) 
    10、ActiveX控件都是封装api的,多熟悉api,减少对activex的使用。
    11、条件编译,好处是编译的文件小,很少遇到!!!
    12、善用MSDN,主要了解Windows的运行机制、运行原理,查找API函数定义等,另外借助c++头文件查找。
    
  本章大体这些,经验不多,4、5、6这几条以后的编程中还是要多注意!
 
 
 
 
    
    

    

VB 核心编程及通用模块开发 笔记1的更多相关文章

  1. python核心编程-第四章-个人笔记

    1.所有的python对象都拥有三个特性: ①身份:每个对象都有唯一的身份标识自己,可用内建函数id()来得到.基本不会用到,不用太关心 >>> a = 2 >>> ...

  2. python核心编程-第三章-个人笔记

    1.语句和语法 (1)反斜杠"\"表示语句继续.python良好的编程习惯是一行最后不超过80个字符,一行字符过多时便须用到反斜杠换行继续该语句. PS:在使用小括号.中括号.大括 ...

  3. python核心编程-第五章-个人笔记

    1.用del删除对对象的引用 >>> a = 123 >>> a 123 >>> del a >>> a Traceback ( ...

  4. JavaWeb核心编程之使用Eclipse开发JavaWEB项目

    文章目录 1.eclipse切换到javaee项目 2.创建服务器(如果没有server选项, 怎么做) 3.定制新建面板内容 4.创建动态web工程 1.eclipse切换到javaee项目 如图 ...

  5. MFRC522模块开发笔记

    Write_to_Card(-)和Read_from_Card(-)可谓是所有函数的终点,而SPIWriteByte(-)则是最底层对MFRC522模块进行操作的函数,所有函数都是为了Write_to ...

  6. EC20 minipcie版4g模块开发笔记

    插在电脑上实验时若出现 AT+CREG? +CREG: 0,2 可能是usb口供电不足所致,换至主机箱后面usb口后问题解决,返回值+CREG: 0,1

  7. 【转】Android开发笔记(序)写在前面的目录

    原文:http://blog.csdn.net/aqi00/article/details/50012511 知识点分类 一方面写写自己走过的弯路掉进去的坑,避免以后再犯:另一方面希望通过分享自己的经 ...

  8. python核心编程第二版笔记

    python核心编程第二版笔记由网友提供:open168 python核心编程--笔记(很详细,建议收藏) 解释器options:1.1 –d   提供调试输出1.2 –O   生成优化的字节码(生成 ...

  9. python核心编程--笔记

    python核心编程--笔记 的解释器options: 1.1 –d   提供调试输出 1.2 –O   生成优化的字节码(生成.pyo文件) 1.3 –S   不导入site模块以在启动时查找pyt ...

随机推荐

  1. fpm 配置详解

    约定几个目录 /usr/local/php/sbin/php-fpm /usr/local/php/etc/php-fpm.conf /usr/local/php/etc/php.ini 一,php- ...

  2. Windows Service 之 详解(一)

    一.Windows 服务简介 Windows 服务是可以在系统启动时自动打开的(不需要任何人登录计算机)的程序. 1.适合创建Windows 服务的场景: [1] 在没有用户交互操作的情况下运行程序: ...

  3. X - Urban Elevations

     Urban Elevations  An elevation of a collection of buildings is an orthogonal projection of the buil ...

  4. 通过java实现对数据库的增删改查

    package cn.hncu; import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet; ...

  5. [转载]BigPipe技术

    1. 技术背景 FaceBook页面加载技术 试想这样一个场景,一个经常访问的网站,每次打开它的页面都要要花费6 秒:同时另外一个网站提供了相似的服务,但响应时间只需3 秒,那么你会如何选择呢?数据表 ...

  6. c++算术运算时数据类型提升带来的问题

    两类位移运算:左移和右移,逻辑的或者算术的. 左移比较简单:右边补0:右移:算术的补位是根据符号位确定的,逻辑的补0即可:java中是不同的,java貌似只补0. 位移中的类型提升问题过去没有注意过, ...

  7. fancybox的使用

    fancybox,个人没有深入了解,只是为了工作需要,做的一些界面,主要是用的AJAX功能. 首先,需要下载fancybox的js文件以及CSS文件(可能用不到) 其次,在页面中引入 <scri ...

  8. CentOS(一)--CentOS6.4环境搭建

    一.前言 作为一个想从事j2ee后台开发的程序猿,linux系统怎能不学呢?所以,这几天自己准备学习一下linux操作系统.废话不多说,直奔主题. 要学linux开发,首先得要安装linux系统吧,这 ...

  9. 如何用C表示排列组合?

    问题来自<Linux C一站式编程>,是个挺有意思的题目. 2.定义一个数组,编程打印它的全排列.比如定义: #define N 3 int a[N] = { 1, 2, 3 }; 则运行 ...

  10. 【技巧性(+递归运用)】UVa 1596 - Bug Hunt

    In this problem, we consider a simple programming language that has only declarations of onedimensio ...