首页 | 文章中心 | 下载中心 | 本站特供 | 软硬件结合论坛 | 
您现在的位置: 中国软硬件结合技术网 >> 文章中心 >> 软件技术 >> VB、JAVA等 >> 正文 用户登录 新用户注册
[图文]VB 常见错误和难点分析            【字体:
VB 常见错误和难点分析
作者:luohh    文章来源:    点击数:    更新时间:2008-6-18

常见错误和难点分析

各位同学上机过程中常常遇到一些简单的错误。请参照下列秘诀尝试自行解决。

1.标点符号错误

VB中只允许使用西文标点,任何中文标点符号在程序编译时产生"无效字符"错误,统在该行以红色字显示。用户在进入VB后不要使用中文标点符号。中、西文状态下标点号对照见下表所示。

中、西状态下标点符号对照

西文状态

,

.

'

"

;

_

  <

中文状态

'

"

—— 

2.字母和数字形状相似

L的小写字母"1"和数字"l"形式几乎相同、O的小写字母""与数字"0"也难以区,这在输入代码时要十分注意,避免单独作为变量名使用。

3.对象名称(Name)属性写错

在窗体上创建的每个控件都有默认的名称,用于在程序中唯一地标识该控件对象。系统为每个创建的对象提供了默认的对象名,例如,Text1Text2Command1Label1等。用户可以将属性窗口的(名称)属性改为自己所指定的可读性好的名称,如txtInputtxtOutput cmdOk等。对初学者,由于程序较简单、控件对象使用较少,还是用默认的控件名较方便。

当程序中的对象名写错时,系统显示"要求对象"的信息,并对出错的语句以黄色背景云。用户可以在代码窗口的"对象列表"框检查该窗体所使用的对象。

4Name属性和Caption属性混淆

Name属性的值用于在程序中唯一地标识该控件对象,在窗体上不可见;而Caption属性的值是在窗体上显示的内容。

5.对象的属性名、方法名写错

当程序中对象的属性名、方法名写错时,VB系统会显示"方法或数据成员未找到"的信息。在编写程序代码时,尽量使用自动列出成员功能,即当用户在输入控件对象名和句点后,系统自动列出该控件对象在运行模式下可用的属性和方法,用户按空格键或双击鼠标即可,这样既可减少输入也可防止此类错误出现。

6.变量名写错

Dim声明的变量名,在后面的使用中表示同一变量而写错了变量名,VB编译时就认为是两个不同的变量。例如,下面程序段求1~100的和,结果放在Sum变量中:

       Dim sum As  Integeri As Integer

       Sum=0

       For  i  =1  to 100

              Sum=Sun+i

       Next i

       Print Sum

显示的结果为100。原因是累加和表达式Sum=Sun+i中的右边的变量名Sum写成SunVB对变量声明有两种方式,可以用变量声明语句显式声明,也可以用隐式声明,即不声明直接使用。上述变量名的写错,系统为两个不同的变量各自分配内存单元,造成计算结果不正确。因此,为防止此类错误产生,必须对变量声明采用限制其为显式声明方式,也就是在通用声明段加Option Explicit语句。

7.语句书写位置错

VB中,除了在"通用声明"段利用Dim等对变量声明语句外,其他任何语句都应在事件过程中,否则运行时会显示"无效外部过程"的信息。若要对模块级变量进行初始化工作,则一般放在Form Load()事件过程中。

8.无意形成控件数组

若要在窗体上创建多个命令按钮,有些读者会先创建一个命令按钮控件,然后利用对该控件进行复制、粘贴,这时系统显示:

已经有一个控件为"Command1"。创建一个控件数组吗?的信息,若单击""按钮,则系统创建了名称为Command1的控件数组。若要对该控件的 Click事件过程编程,系统显示的框架是:

       Private Sub Command1_Click(Index As Integer)

       End Sub

Index表示控件数组的下标。

若非控件数组,Click事件过程的框架是:

Private Sub Command1_Click()

End Sub

请注意直到学习第四章数组前,一律不使用控件数组。

9Print方法中定位问题

定位通过TabSpc函数和最后的逗号、分号和无符号来控制。VB中通过Print方法中各参数的综合使用达到所需的结果,但初学者往往难以掌握。

(1)  Tab(n)Spc(n)的区别

Tab(n)从最左第1列开始算起定位于第n列,若当前打印位置已超过n列,则定位于下一行的第n列,这是常常定位不好出现的问题。在格式定位中,Tab用得最多。

Spc(n)从前一打印位置起空n个空格。例如,下面程序段显示了TabSpc的区别,效果如图所示。

       Private Sub Commandl_Click()

              Print "1234567890”

              Print Tab(1)"**"'Tab(2)"%%%"spc(2)"$$$$"

  End Sub

      

 

 

 (2) 紧凑格式""分号的使用

紧凑格式"",即输出项之间无间隔。但对于数值型,输出项之间系统自动空一列,而由于数值系统自动加符号位,因此,大于零的数值,实际空两列。对于字符型之间无空格。

例如,下面程序段,效果如图所示。

      

 

 

Private Sub Command1_Click()

              Print 1;-2;3

              Print"1234";"5678"

              Print"A";"B";"C";"D","E","F"

       End Sub

从该例应区分数值和字符在紧凑格式输出的差异。

10.打开工程时找不到对应的文件

一般,一个再简单的应用程序也应由一个工程.vbp文件和一个窗体.frm文件组成。工程文件记录该工程内的所有文件(窗体.frm文件、标准模块.bas文件、类模块.cls文件等)的名称和所存放在磁盘上的路径。

若在上机结束后,把文件复制到软盘上保存,但又少复制了某个文件,下次打开工程时就会显示"文件未找到"。也有在VB环境外,利用Windows资源管理器或DOS命令将窗体文件等改名,而工程文件内记录的还是原来的文件名,这样也会造成打开工程时显示"文件未找到"

解决此问题的方法:一是修改.vbp工程文件中的有关文件名:二是通过"工程"菜单的"添加窗体"中的"现存"选项,将改名后的窗体加入工程。

文章录入:xulin    责任编辑:Polylove 
  • 上一篇文章: VB 6.0 ado 与大型数据库的无“数据源”连接

  • 下一篇文章: 没有了
  • 发表评论】【告诉好友】【打印此文】【关闭窗口
          最新热点       最新推荐       相关文章
  • VB实现图形动画的三种方法

  • vb 经验

  • 用VB实现微机与三菱A系列PLC…

  • 在.NET下实现数字和字符相混…

  • 字符串问提问答集

  • 实现程序的隐形

  • 用VB5 Winsock控件创建TCP/I…

  • 用VB制作下雪的特技景象

  • vb编程经验技巧3

  • vb编程经验技巧2

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)