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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Crear Downloader?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Crear Downloader?  (Leído 3,326 veces)
shaggikpo

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Crear Downloader?
« en: 8 Noviembre 2009, 03:22 am »

El tema es que estoy haciendo un downloader que lee la lista de archivos a descargar de un archivo ini pero me quede trancado en la parte donde leo el archvio ini por secciones usando un bucle for:
Código
  1. Sub Bajar()
  2. Dim i As Long
  3. FILES = LeerIni("FILES", "Count", TEMP & "\" & nomArchivo)
  4.  
  5. For i = 1 To FILES
  6.    FILE = "file" & i
  7.    Direccion = LeerIni(FILE, "url", TEMP & "\" & nomArchivo)
  8.    Descr = LeerIni(FILE, "descr", TEMP & "\" & nomArchivo)
  9.    Checksum = LeerIni(FILE, "newchecksum", TEMP & "\" & nomArchivo)
  10.    LocalFile = LeerIni(FILE, "localversion", TEMP & "\" & nomArchivo)
  11.    Comprimido = LeerIni(FILE, "compressed", TEMP & "\" & nomArchivo)
  12.    List1.ListItems.Add = Descr
  13.  
  14.    'Download (Direccion)
  15. Next
  16.  
  17. End Sub
COmo puedo hacer para almacenar en alguna varible estos datos y despues leerlos.
Es decir ya que cada ves que se recorre el bucle las variables son sobreescritas


En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Crear Downloader?
« Respuesta #1 en: 8 Noviembre 2009, 03:38 am »

solo se me ocurre un metodo con clases, pero es algo enredado si te lo explico pero aun asi haber si te sirve xP

Una Clase con las siguientes variables:


    IDClass' Este seria el ID de la clase algo asi como el md5 de algo, mas no del archivo descrito por "File & i"
    Direccion
    Descr
    Checksum
    LocalFile
    Comprimido

Despues declaras las propiedades Get y Let de la clase respectiva )
Para el uso al principio de tu programa cargas TODO el INI en las dichosas clases (Que se crean apartir de una mtriz tipo clase)
Despues haces lo que te plasca con tu archivo ini, al dado caso el archivo ya estara cargado en el programa en las dichas clases.
De esta forma si modificas el ini puedes obtar por obtener la configuracion anterior que se cargo en el archivo ini.


En línea

The Dark Shadow is my passion.
shaggikpo

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Re: Crear Downloader?
« Respuesta #2 en: 8 Noviembre 2009, 04:08 am »

GRacias por responer d tan rapido.
Podrias poner un ejemplo, es que con este prgrama estoy bastante liado ya, aun me queda terminar el CRCChechsum y lo demas.
En línea

shaggikpo

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Re: Crear Downloader?
« Respuesta #3 en: 9 Noviembre 2009, 02:44 am »

Creo que ya lo he solucionado:
Cree un Array asi:

Código
  1. Private Type Lista
  2.    Direccion As String
  3.    Descr As String
  4.    Checksum As String
  5.    LocalFile As String
  6.    Destino As String
  7.    Comprimido As String
  8. End Type
  9. Dim Down() As Lista
  10. 'Y lo lleno asi
  11. Sub Obtener_Lista()
  12. Dim i As Long
  13. FILES = LeerIni("FILES", "Count", TEMP & "\" & nomArchivo)
  14. ReDim Preserve Down(1 To FILES)
  15. For i = 1 To FILES
  16.    FILE = "file" & i
  17.    Down(i).Direccion = LeerIni(FILE, "url", TEMP & "\" & nomArchivo)
  18.    Down(i).Descr = LeerIni(FILE, "descr", TEMP & "\" & nomArchivo)
  19.    Down(i).Checksum = LeerIni(FILE, "newchecksum", TEMP & "\" & nomArchivo)
  20.    Down(i).LocalFile = LeerIni(FILE, "localversion", TEMP & "\" & nomArchivo)
  21.    Down(i).Comprimido = LeerIni(FILE, "compressed", TEMP & "\" & nomArchivo)
  22.    List1.ListItems.Add = Down(i).Descr
  23.    'Download (Direccion)
  24. Next
  25.  
  26. End Sub
En línea

danicasasm

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Re: Crear Downloader?
« Respuesta #4 en: 10 Noviembre 2009, 05:33 am »

Una variante podria ser esta:
Código
  1. Private Type Lista
  2.    Direccion As String
  3.    Descr As String
  4.    Checksum As String
  5.    LocalFile As String
  6.    Destino As String
  7.    Comprimido As String
  8. End Type
  9.  
  10. dim Coleccion as new Collection
  11. dim Datos as Lista
  12.  
  13. Dim Down() As Lista
  14. 'Y lo lleno asi
  15. Sub Obtener_Lista()
  16. Dim i As Long
  17. FILES = LeerIni("FILES", "Count", TEMP & "\" & nomArchivo)
  18.  
  19. For i = 1 To FILES
  20.    FILE = "file" & i
  21.    Datos.Direccion = LeerIni(FILE, "url", TEMP & "\" & nomArchivo)
  22.    Datos.Descr = LeerIni(FILE, "descr", TEMP & "\" & nomArchivo)
  23.    Datos.Checksum = LeerIni(FILE, "newchecksum", TEMP & "\" & nomArchivo)
  24.    Datos.LocalFile = LeerIni(FILE, "localversion", TEMP & "\" & nomArchivo)
  25.    Datos.Comprimido = LeerIni(FILE, "compressed", TEMP & "\" & nomArchivo)
  26.    List1.ListItems.Add = Datos.Descr
  27.    'Download (Direccion)
  28.  
  29.    Coleccion.add Datos
  30. Next
  31.  
  32.  

En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Crear Downloader?
« Respuesta #5 en: 10 Noviembre 2009, 06:45 am »

@danicasasm

Es una vaiante que ocuparia mas recursos de procesador al momento de buscar un dicho registro con la instruccion  "each".

Aqui dejo algo del codigo que posteo el autor de este hilo a como yo lo haria:


OJO son dos funciones alternativas usar solo una segun se desee:

Código
  1.  
  2.  
  3. Private Type Lista
  4.    Direccion                   As String
  5.    Descr                       As String
  6.    Checksum                    As String
  7.    LocalFile                   As String
  8.    Destino                     As String
  9.    Comprimido                  As String
  10. End Type
  11.  
  12. Dim Down()                      As Lista
  13.  
  14. ' //    Get_List devuelve la cantidad de registros cargados o anidados.
  15. ' //---------------------------------------------------------------------
  16. ' //    NRegToADD   = LeerIni("FILES", "Count", TEMP & "\" & nomArchivo)
  17. ' //    Structr     = Structr
  18. ' //    RegCon      = True/False
  19. Public Function Get_List(ByVal NRegToADD As Long, ByRef Structr() As Lista, ByVal RegCon As Boolean) As Long
  20. Dim I                               As Long
  21. Dim Salto                           As Boolean
  22. Dim CantRegEx                       As Long
  23.  
  24.    If NRegToADD <= 0 Then Salto = True                             ' //    Se agregara algo?
  25.    If Salto = False Then
  26.        If RegCon And Not (Not (Structr) = -1) Then                 ' //    Se continua o se resetea? y esta inicialisada la matriz?
  27.            CantRegEx = UBound(Structr) - LBound(Structr)           ' //    Cantidad de Registros actuales
  28.            ReDim Preserve Structr(CantRegEx + NRegToADD)           ' //    Se continua
  29.        Else
  30.            ReDim Structr(NRegToADD - 1)                            ' //    Se Resetea
  31.        End If
  32.        For I = LBound(Structr) To UBound(Structr)                  ' //    Se inicia en 0 pero aun asi uso lbound()
  33.            File = "file" & I
  34.            Structr(I).Direccion = LeerIni(File, "url", TEMP & "\" & nomArchivo)
  35.            Structr(I).Descr = LeerIni(File, "descr", TEMP & "\" & nomArchivo)
  36.            Structr(I).Checksum = LeerIni(File, "newchecksum", TEMP & "\" & nomArchivo)
  37.            Structr(I).LomocalFile = LeerIni(File, "localversion", TEMP & "\" & nomArchivo)
  38.            Structr(I).Comprimido = LeerIni(File, "compressed", TEMP & "\" & nomArchivo)
  39.        Next
  40.        Get_List = I                                                ' //    Se devuelve la cantidad de registros cargados
  41.    End If
  42. End Function
  43.  
  44.  
  45. ' //    Get_List devuelve la cantidad de registros cargados o anidados.
  46. ' //---------------------------------------------------------------------
  47. ' //    strfile     = TEMP & "\" & nomArchivo
  48. ' //    Structr     = Structr
  49. ' //    RegCon      = True/False
  50. Public Function Get_ListFromFileIni(strFile As String, ByRef Structr() As Lista, ByVal RegCon As Boolean) As Long
  51. Dim I                               As Long
  52. Dim Salto                           As Boolean
  53. Dim CantRegEx                       As Long
  54. Dim NRegToADD                       As Long
  55.  
  56.    NRegToADD = LeerIni("FILES", "Count", strFile)                  ' //    cargamos la cantidad de registros a cargar
  57.    If NRegToADD <= 0 Then Salto = True                             ' //    Se agregara algo?
  58.    If Salto = False Then
  59.        If RegCon And Not (Not (Structr) = -1) Then                 ' //    Se continua o se resetea? y esta inicialisada la matriz?
  60.            CantRegEx = UBound(Structr) - LBound(Structr)           ' //    Cantidad de Registros actuales
  61.            ReDim Preserve Structr(CantRegEx + NRegToADD)           ' //    Se continua
  62.        Else
  63.            ReDim Structr(NRegToADD - 1)                            ' //    Se Resetea
  64.        End If
  65.        For I = LBound(Structr) To UBound(Structr)                  ' //    Se inicia en 0 pero aun asi uso lbound()
  66.            File = "File" & I
  67.            Structr(I).Direccion = LeerIni(File, "url", strFile)
  68.            Structr(I).Descr = LeerIni(File, "descr", strFile)
  69.            Structr(I).Checksum = LeerIni(File, "newchecksum", strFile)
  70.            Structr(I).LomocalFile = LeerIni(File, "localversion", strFile)
  71.            Structr(I).Comprimido = LeerIni(File, "compressed", strFile)
  72.        Next
  73.        Get_ListFromFileIni = I                                     ' //    Se devuelve la cantidad de registros cargados
  74.    End If
  75. End Function
  76.  
  77.  
  78.  

Dulces Lunas!¡.
« Última modificación: 10 Noviembre 2009, 09:06 am por ░▒▓BlackZeroҖ▓▒░ » En línea

The Dark Shadow is my passion.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Crear downloader saltando el captcha
Hacking
jor1980 4 6,117 Último mensaje 8 Diciembre 2010, 21:34 pm
por Søra
[Ayuda] ¿Como crear un downloader?
Programación Visual Basic
DeSsy 6 6,935 Último mensaje 17 Marzo 2011, 14:56 pm
por DeSsy
Como Crear Un Downloader de una web Fija
Programación Visual Basic
Brian1511 2 1,888 Último mensaje 15 Agosto 2012, 01:27 am
por Brian1511
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines