Copiar parte de una array a otra array

Iniciado por sircid, 16 Diciembre 2007, 16:36 PM

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

sircid

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.

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

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

SKL (orignal)

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

demoniox12

Cita de: skullsp en 17 Diciembre 2007, 07:06 AM
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!
By Demoniox

LeandroA

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