<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><title>Softonic.com: emule, msn messenger, kazaa, nero, software, programas gratis</title><meta name="title" content="Softonic.com: Windows - emule, msn messenger, kazaa, nero, software, programas gratis"><meta name="description" content="El website hispano líder en descargas de shareware, freeware, juegos, salvapantallas y software gratis. Incluye emule, kazaa, divx, nero, winamp, mp3, msn messenger. Todo en español, más de 25.000 programas, 3.000 áreas, y soporte para Windows, Macintosh, Linux, Palm OS, Pocket PC y Móviles.">
En general, usará el evento StateChanged para determinar el momento de recuperar los datos con el método GetChunk. Para esto, utilice una instrucción Select Case y compruebe si el estado es icResponseReceived (8) o icResponseCompleted (12).Observe, sin embargo, que el estado icResponseReceived puede ocurrir cuando el control ha terminado una operación que no transmitió datos al búfer. Por ejemplo, cuando se conecta con un sitio FTP, el control realizará con el sitio un procedimiento de protocolo que no provoca ninguna transferencia de datos y, sin embargo, se produce el estado icResponseReceived.Por otra parte, el estado icResponseCompleted se produce cuando una operación se ha completado por entero. Por ejemplo, si utiliza el método Execute con la operación GET para obtener un archivo, el evento icResponseCompleted sólo se producirá una vez, después de recuperar todo el archivo.En la práctica, el uso del estado icResponseReceived permite analizar los datos hasta haber recuperado únicamente la información necesaria (por ejemplo, al obtener un archivo HTML, puede recuperar sólo los encabezados). Cuando ya tenga la información necesaria, puede cancelar el resto de la recuperación. Si, por el contrario, precisa recuperar todo el archivo, el estado icResponseCompleted le indicará que la transferencia ha terminado y que puede continuar.
Private Sub Inet1_StateChanged(ByVal State As Integer) ' Recupera la respuesta del servidor con el método ' GetChunk cuando State = 12. En este ejemplo se ' supone que los datos son texto. Select Case State ' ... No se muestran los demás casos. Case icResponseReceived ' 12 Dim vtData As Variant ' Variable de datos. Dim strData As String: strData = "" Dim bDone As Boolean: bDone = False ' Obtiene el primer bloque. vtData = Inet1.GetChunk(1024, icString) DoEvents Do While Not bDone strData = strData & vtData DoEvents ' Obtiene el bloque siguiente. vtData = Inet1.GetChunk(1024, icString) If Len(vtData) = 0 Then bDone = True End If Loop txtData.Text = strData End Select End Sub