elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Copiar parte de una array a otra array
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Copiar parte de una array a otra array  (Leído 3,966 veces)
sircid

Desconectado Desconectado

Mensajes: 107


¡Nacido para ******te!


Ver Perfil
Copiar parte de una array a otra array
« en: 16 Diciembre 2007, 16:36 »

Estoy intentando hacer un gestor de descargas en VB6 usando el componente Winsock y el protocolo HTTP. Pues bien despues de pedir al servidor que me envie el archivo, el servidor me responde con un conjunto de headers y seguidamente comienza el archivo en el mismo paquete.

Código:
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim buffer() As Byte
Dim packet() As Byte
Dim header As String 'aqui se guardarán los headers (información sobre el archivo asi como tamaño, etc)
Winsock1.GetData buffer
For i = 0 To bytesTotal
     header = header & Chr(buffer(i))
     n = InStr(1, header, vbCrLf & vbCrLf, vbTextCompare) ' si encuentra dos veces salto de línea significa que empieza los datos binarios del archivo.
     If n >= 1 Then
         Exit For
     End If
Next i
End Sub
La variable buffer() contiene al principio los headers y seguidamente contiene los datos del archivo por eso quiero pasar de la variable buffer() a la variable packet() solo una parte de la variable buffer() para poder separar los headers y los datos. Quiero que copie nada más que donde empieza la informacion del archivo... es decir de Len(header) en adelante hasta lo que ocupe la variable buffer()  que en este caso seria bytesTotal)

He probado algo así como:

packet = buffer(Len(header) To bytesTotal)

y sin exito ninguno xDD

PD: He probado en hacer

Código:
For i = Len(header) to bytesTotal
    packet(i-Len(header) = buffer(i)
next i

Pero despues al poner eso en un archivo final no lo hace bien
Código:
Open "C:/archivo.rar" For Binary As #1
Put #1, , packet
Close #1
El principio del archivo lo hace bien pero despues empieza a poner numeros sueltos separados por espacios... cosa a la que no veo ningun sentido...:S.


« Última modificación: 16 Diciembre 2007, 16:45 por sircid » En línea

SKL (orignal)

Desconectado Desconectado

Mensajes: 259


UpLoadSourceCode


Ver Perfil WWW
Re: Copiar parte de una array a otra array
« Respuesta #1 en: 17 Diciembre 2007, 07:06 »

la verdad que no entiendo bien lo qeu queres hacer... buffer y byteTotal son 2 cosas distintas...

si podrias poner un ejemplo de lo que queres hacer me seria mucho mas facil ayudarte...

osea, mostrandome una cadena de informacion origianl y una de como queres que este modificada

saludos


En línea

demoniox12

Desconectado Desconectado

Mensajes: 204


El conocimiento es poder


Ver Perfil WWW
Re: Copiar parte de una array a otra array
« Respuesta #2 en: 18 Diciembre 2007, 13:28 »

la verdad que no entiendo bien lo qeu queres hacer... buffer y byteTotal son 2 cosas distintas...

si podrias poner un ejemplo de lo que queres hacer me seria mucho mas facil ayudarte...

osea, mostrandome una cadena de informacion origianl y una de como queres que este modificada

saludos

si no me ekivoco el lo que kiere hacer es algo al estilo flashget que descarga simultaneamente el archivo en distintas partes para acelerar su descarga..

salu2!
En línea

By Demoniox
LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 759


www.leandroascierto.com


Ver Perfil WWW
Re: Copiar parte de una array a otra array
« Respuesta #3 en: 19 Diciembre 2007, 11:27 »

Hola mirate un manual que hizo Hades que esta por aqui en el foro te va a ayudar mucho, y te recomiendo que los datos (bufer) los vuelques en una variable de tipo string

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines