热情软件屋

 

在同一行定义两个byte型变量,则向二进制文件输出时就会发生错误


编号:QA003541
建立日期: 2000年11月13日 最后修改日期:2000年11月13日
所属类别:

dave:
    操作系统: windows 98 中文第二版
    编程工具: visual basci 6.0 中文版
    问题: 在同一行定义两个byte型变量,则向二进制文件输出时就会发生错误!例如:
    Option Explicit
    Dim by, mytt As Byte
    Dim fno As Integer
    Private Sub Command1_Click()
    fno = FreeFile()
    Open "c:\temp.dat" For Binary As fno
    by = 255
    Put fno, 1, by
    Close fno
    Unload Me
    End Sub
    则输出结果为 02 00 ff 00,此结果不可理解,如果把两个byte型变量分开定义,则结果为ff 00 我想此结果是正确的。请问这是为什么,是vb的一个bug吗?谢谢!
    水平: 中级

回答:

    问题在于你的定义方法。在VB看来
    Dim by, mytt As Byte
    和
    Dim by As Byte, mytt As Byte
    是不同的定义。前者by是Variant类型(因为你没有说明它的类型),而后者by是Byte类型。而对于你的情况,VB是使用两个字节(当做Integer处理)保存by的数据的,而不是一个字节。

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio