VB

 1、    
  dim   sngNum   as   single    
  dim   lngNum   as   long    
     
  sngnum=0.5    
     
  CopyMemory(lngnum,sngnum,4)    
     
  print   hex(lngNum)    
     
  2、    
  Type   udSng    
        sng   as   single    
  end   type    
     
  type   udLng    
        lng   as   long    
  end   type    
     
  dim   sng   as   udsng    
  dim   lng   as   udlng    
     
  sng.sng=0.5    
  lset   lng=sng    
  print   hex(lngNum)    
API声明:    
     
  Public   Declare   Sub   CopyMemory   Lib   "kernel32"   Alias   "RtlMoveMemory"   (Destination   As   Any,   Source   As   Any,   ByVal   Length   As   Long 
高手帮我看看2程序怎么不能执行了?VB

解决方案 »

  1.   


    1. Print的调用需要对象。
    比如:Form1.Print
    或: Debug.Print2. lngNum 未定义。3. hex(lngNum)应该为:
    Hex$(lng.lng) (或:Hex(lng.lng) )
      

  2.   

    Option Explicit
    Private Type udSng
          sng   As Single
    End Type
        
    Private Type udLng
          lng   As Long
    End Type
    Private sng     As udSng
    Private lng     As udLng
        
        
    Private Sub Form_Load()
    Me.AutoRedraw = True
    sng.sng = 0.5
    LSet lng = sng
    Print Hex(lng.lng)End Sub