Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: sircid en 16 Diciembre 2007, 16:36 pm



Título: Copiar parte de una array a otra array
Publicado por: sircid en 16 Diciembre 2007, 16:36 pm
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.


Título: Re: Copiar parte de una array a otra array
Publicado por: SKL (orignal) 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


Título: Re: Copiar parte de una array a otra array
Publicado por: demoniox12 en 18 Diciembre 2007, 13:28 pm
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!


Título: Re: Copiar parte de una array a otra array
Publicado por: LeandroA en 19 Diciembre 2007, 11:27 am
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