Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 12 su 12
  1. #11
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Il VB e' poco adatto a questo tipo di compiti.
    Pero', con qualche "salto mortale", si puo' scrivere del codice equivalente a quello che hai scritto, ovvero

    codice:
    Private Declare Sub CopyMemory _
        Lib "kernel32" Alias "RtlMoveMemory" _
        (Destination As Any, _
        Source As Any, _
        ByVal Length As Long)
    
    Private Sub Form_Click()
        Dim va As Variant
        Dim i As Integer
        Dim v(0 To 15) As Byte
        Dim b As Integer
        
        va = CDec(1234567890)
        
        For i = 0 To 7
            Call CopyMemory(v(0), va, 16)
            b = (v(11) And &HF0) \ 16
            
            va = va * &H11
            
            Call CopyMemory(v(0), va, 16)
            v(12) = 0
            v(8) = v(8) Or b
            Call CopyMemory(va, v(0), 16)
        Next i
        
        Call CopyMemory(v(0), va, 16)
        
        Debug.Print Vis(v)
    End Sub
    
    Public Function Vis(v() As Byte) As String
        Dim j As Integer
        Dim s As String
        
        For j = 11 To 8 Step -1
            s = s & Right$("0" & Hex$(v(j)), 2)
        Next j
        Vis = s
    End Function
    Questo, come vedrai nella finestra di debug, ottiene lo stesso risultato di quello scritto in C ...

    E' un po' complesso spiegarti cosa e come lo faccia ma posso farlo se ti interessa veramente ...

  2. #12
    oregon sei un grande!!
    non conoscevo la CopyMemory
    grazie
    auguri

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.