elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 08:57  


Tema destacado: Deseas probar algunas mejoras a la interfaz del foro? Prueba cake! acerca de

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo, raul338)
| | |-+  Problema copiando Estructuras a Bytes xP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema copiando Estructuras a Bytes xP  (Leído 359 veces)
RHL


Desconectado Desconectado

Mensajes: 968


mental


Ver Perfil
Problema copiando Estructuras a Bytes xP
« en: 10 Noviembre 2011, 07:35 »

Hola mundo ;D
bueno e me cruzado con un problemon que tengo horas tratando de saber que pasa :P
miren el codigo alguien sabe que pasaaaa!?

Código
Private declare sub RtlMoveMemory lib "Kernel32.dll" (byval dest as long , Byval Src as long, Byval ln as long)
 
private type MY
Str1 as string
Str2 as string
end type
 
sub main()
dim NEW(50) as byte
dim M as MY
 
M.Str1 = "ABCD"
M.Str2 = "EFGH"
 
rtlmovememory varptr(new(0)), varptr(M) , lenb(M)
 
end sub
 
 

los valores del array son:
116,153,61,5

y lo que realmente me esperaba era:
65,66,67,68 :P


luego hice esto:

Código
dim A() as byte
 
A = M.Str1 '// la misma estructura

y tambien esto, y me resulto mas extraño O.o

Código
Private Sub Form_Load()
Dim M As MY
 
M.A = 50000: M.B = 4000
M.C = "HELLO"
 
 
Debug.Print Len(M.A) 4
Debug.Print Len(M.B) 2
Debug.Print Len(M.C) 5
Debug.Print "------"  11
 
Debug.Print LenB(M.A) 4
Debug.Print LenB(M.B) 2
Debug.Print LenB(M.C) 10
Debug.Print "------" ' 16

Debug.Print Len(M) 10
Debug.Print LenB(M) 12!!!
 
End Sub
 
 


alguien sabe que pasa ? mas que todo lo que quiero es aprender ;D y saber que pasa :P aunque me imagino
que es VB  :-\ que tristesa  :-\


« Última modificación: 10 Noviembre 2011, 07:38 por RHL » En línea
BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 2.832


I'Love...!¡.


Ver Perfil WWW
Re: Problema copiando Estructuras a Bytes xP
« Respuesta #1 en: 10 Noviembre 2011, 08:11 »

las estructuras de C/C++ es la misma teoria que la de VB6... si las variables NO TIENEN LONGITUD por ejemplo una string... se convertira en un apuntador... me da un poco de pereza volver a explicarlo... busca un tema similar (lo explique a detalle) donde explico que onda y el por que de cada cosa...

Dulces Lunas!¡.


En línea

Web Principal-->[ Blog(VB6) | Host File (Public & Private) | Scan Port | (New)MyInfraPC (Descubre mi Contraseña venefi. $) ]



The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilith y el metal mi
RHL


Desconectado Desconectado

Mensajes: 968


mental


Ver Perfil
Re: Problema copiando Estructuras a Bytes xP
« Respuesta #2 en: 10 Noviembre 2011, 08:39 »

Es cierto!! :xD como se me habria olvidado x3
en las estrucuturas las string son punteros xP

Código:
Private declare sub RtlMoveMemory lib "Kernel32.dll" (byval dest as long , Byval Src as long, Byval ln as long)
 
private type MY
Str1 as string
Str2 as string
end type
 
sub main()
dim NEW(50) as byte
dim M as MY
 
M.Str1 = "ABCD"
M.Str2 = "EFGH"
 
rtlmovememory varptr(new(0)), varptr(M) , lenb(M)
 
end sub
 

entonces en este codigo lo que realmente estoy copiando a "New" son los punteros de las string no? x)
hice este :P

Código:
Private declare sub RtlMoveMemory lib "Kernel32.dll" (byval dest as long , Byval Src as long, Byval ln as long)
 
private type MY
A as integer
Str1 as string
C as long
end type
 
sub main()
dim NEW(50) as byte
dim M as MY
 
M.A = 4000
M.Str1 = "ABCD"
M.C = 45000
 
rtlmovememory varptr(new(0)), varptr(M) , lenb(M)
 
end sub

lo raro es el array queda asi con esos valores :P
160
15
0
0
220
64
52
5
200
175

esta raro :P no puede ser que todos sean punteros :| o si



Mil gracias BlackZeroX ;D
En línea
BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 2.832


I'Love...!¡.


Ver Perfil WWW
Re: Problema copiando Estructuras a Bytes xP
« Respuesta #3 en: 10 Noviembre 2011, 09:52 »

Vb6 trabaja de un modo Horroroso... pero ten encuenta esto...

Array (De cual quier tipo) y String sin longitud inicial seran considerados como punteros internos (en la memoria claro)...

Dulces Lunas!¡.
« Última modificación: 10 Noviembre 2011, 10:03 por BlackZeroX (Astaroth) » En línea

Web Principal-->[ Blog(VB6) | Host File (Public & Private) | Scan Port | (New)MyInfraPC (Descubre mi Contraseña venefi. $) ]



The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilith y el metal mi
RHL


Desconectado Desconectado

Mensajes: 968


mental


Ver Perfil
Re: Problema copiando Estructuras a Bytes xP
« Respuesta #4 en: 10 Noviembre 2011, 19:12 »

Guardado ;)
gracias Zero ;D
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
tengo un disco duro protegido muestra: 0 bytes libres, 0 bytes ocupados
Software
zxwaron 0 1,152 Último mensaje 28 Septiembre 2004, 18:55
por zxwaron
Problema con estructuras de datos
Programación C/C++
sandokan2323 3 566 Último mensaje 11 Noviembre 2007, 03:09
por sch3m4
problema copiando carpetas de datos en nuevo disco duro externo
Mac OS X
davidcom 2 3,329 Último mensaje 16 Marzo 2010, 07:18
por zhyzura
problema con estructuras
Programación C/C++
kidoofdeath 1 544 Último mensaje 18 Abril 2010, 15:56
por Flakito81
Problema con estructuras
Programación C/C++
clodan 3 791 Último mensaje 14 Septiembre 2010, 18:41
por Garfield07
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines