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.
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.