Guardar un UDT

Iniciado por DarkMatrix, 12 Agosto 2010, 02:56 AM

0 Miembros y 1 Visitante están viendo este tema.

DarkMatrix

Buenas :P, esta vez tengo una pregunta y es que he buscado pero no he encontrado mucho, queria saber si es posible grabar los datos de una estructura UDT como string u otro tipo de variable, para luego cargar los datos de nuevo asignadolo al UDT. He visto que se puede grabar una UDT en un archivo binario, pero necesito que no sea en un archivo binario.

PD: Necesito espesificamente guardar los datos de la UDT en una campo de una base de datos, para luego poder leer esa UDT otra vez.

Todo aquello que no se puede hacer, es lo que no intentamos hacer.
Projecto Ani-Dimension Digital Duel Masters (Juego de cartas masivo multijugador online hecho en Visual Basic 6.0)

Desing by DarkMatrix

LeandroA

podes usas copymemory de todas formas creo que tuvieras que buscar otra opcion a tu problema.

un ejemplo, solo que utilize todos string porque vi que en algunas partes si mesclamos string con longs o bytes hay algo que se corre y no esta bien, asi que fijate si te sirve o alguien mas sabe bien como pasar las variables con copymemory


Option Explicit
Private Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByRef Destination As Any, ByRef Source As Any, ByVal Length As Long)

Private Type MiUDT
    Nombre As String * 50
    Apellido As String * 50
    Edad As String * 3 'as byte < mmm no me funciona bien
End Type

Private Sub Form_Load()
    Dim MU1 As MiUDT
    Dim MU2 As MiUDT
    Dim sBuff As String
   
    sBuff = String(LenB(MU1), vbNullChar)
   
    With MU1
        .Nombre = "Leandro"
        .Apellido = "Ascierto"
        .Edad = 20 ':)
    End With
   
    CopyMemory ByVal sBuff, ByVal MU1, LenB(MU1)
   
    CopyMemory ByVal MU2, ByVal sBuff, LenB(MU2)
   
    With MU2
        Debug.Print .Nombre
        Debug.Print .Apellido
        Debug.Print .Edad
    End With
   
End Sub


Saludos.