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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15
91  Programación / Programación Visual Basic / Re: Aplicación Actualizable en: 16 Junio 2010, 01:46 am
Yo hace mucho hize un actualizador con el modulo Csocketmaster y es el que uso actualmente para actualizar el juego que hize en vb. El juego es Online y hasta ahora el actualizador lo hace muy bien. Acomodare el codigo del actualizador y comentare el codigo para postearlo y aportarlo a la comunidad.

PD: Pueden ver el juego en www.novaweb.ve.tc o www.novaweb.megabyet.net

Muchas gracias, esperaré el codigo con ansiedad!!  ;-)

Saludos

Eso que te dijeron es mas EGO y SPAM publicitario!¡, por lo escrito!¡, no creo que te de codigo!¡.

Si deseas EJEMPLOS, PROYECTOS HECHOS esta la pagina de PSC

Dulce Infierno Lunar!¡.


Me sorprenden comentarios como este viniendo de un user como BlackZeroX▓▓▒▒░░ -.-!!

Si mas aqui el code prometido, es el que yo uso y hasta ahora no me ha fallado.

El code me parece que es simple, todo se hace desde el Form Load:

Código
  1. Private Sub Form_Load()
  2.  
  3. 1         On Error GoTo Form_Load_Error
  4.  
  5. 2         Call RegisterComponent(App.Path & "\unzip32.dll", DllRegisterServer)
  6.  
  7. 3         TempUpdateList = App.Path & "\updatelist.txt"     ' Archivo que guarda la informacion de los archivos actualizados
  8. 4         TempFileList = App.Path & "\filelist.txt"         ' Donde seran almacenados los archivos actuales
  9.  
  10. 5         If Command = "GenerateUpdateList" Then
  11. 6             If mArchivos.ArchivoExiste(App.Path & "\updatelist.txt") Then Call mArchivos.BorrarArchivo(App.Path & "\updatelist.txt")
  12. 7             Call Generate_FileList(App.Path, 1, App.Path & "\updatelist.txt", HostUrl)
  13. 8             MsgBox "Listo"
  14. 9             End
  15. 10        End If
  16.  
  17. 11        If mArchivos.ArchivoExiste(TempUpdateList) Then mArchivos.BorrarArchivo TempUpdateList
  18. 12        If mArchivos.ArchivoExiste(TempFileList) Then mArchivos.BorrarArchivo TempFileList
  19. 13        If mArchivos.ArchivoExiste(App.Path & "\updatelist.zip") Then mArchivos.BorrarArchivo App.Path & "\updatelist.zip"
  20. 14        If mArchivos.ArchivoExiste(App.Path & "\updatelist.txt") Then mArchivos.BorrarArchivo App.Path & "\updatelist.txt"
  21.  
  22. 15        Set Download = New CDownload
  23.  
  24. 16        Me.Show
  25.  
  26. 17        If Descargar_Updatelist = True Then               ' Descarga el Updatelist
  27. 18            Call Generar_Lista_De_Archivos                ' Genera la lista de archivos
  28. 19            Call Comprobar_Actualizaciones(App.Path)      ' Compara archivos en busca de actualizaciones
  29. 20            Call Descargar_Actualizaciones                ' Descargar Actualizaciones
  30. 21            Call SetStatus("Actualizacion Completa...")   ' Establece el Mensaje de que se completo todo
  31. 22            cmdAceptar.Enabled = True                     ' Activa el mensaje para activar la aplicacion Principal
  32. 23        Else
  33. 24            Call SetStatus("Fallo al Tratar de Actualizar...")    ' Fallo la actualizacion.
  34. 25        End If
  35.  
  36. 26        Exit Sub
  37.  
  38. Form_Load_Error:
  39.  
  40. 27        MsgBox "Error " & Err.Number & " (" & Err.Description & ") En La Linea Nº " & Erl & " Del Procedimiento Form_Load del Formulario frmDownloader", vbCritical + vbOKOnly, "Error"
  41.  
  42. End Sub

Todo esta en el zip.

En el form Principal debemos espesificar la URL del sitio en la parte de declaraciones, esta URL sera el host donde esta alojado el archivo updatelist.zip que contiene el updatelist.txt. Este archivo contiene la informacion de los archivos actualizados.

Lo primero que hace el programa es descargar el archivo updatelist.zip lo descomprime y carga el updatelist.txt, posterior a eso el programa genera una lista con los archivos del directorio de la aplicacion. Luego el programa compara los archivos del updatelist.txt (Archivos actualizados) con la lista de archivos generada (Archivos de la carpeta de la aplicacion) y los agrega a la lista de archivos a actualizar.

Por ultimo se llama a la funcion Descargar_Archivos que se encargara de descargar todos los archivos hasta actualizarlos todos. Una vez finalizado todo entonces se activa el boton aceptar para activar la otra aplicacion o cualquier otra cosa que se quiera colocar hay.

PD: Para Generar la lista de archivos actualizados el actualizador debe estar en la misma carpeta de la aplicacion actualizada, se ejecuta la aplicacion con el parametro GenerateUpdateList y generara el archivo updatelist.txt, este archivo debera comprimirse y subirse al host junto con los archivos actualizados. OJO en la carpeta de la aplicacion no deben ningun otro archivo que no sea el utilizado por la aplicacion exceptuando el programa que actualiza.

PD2: Es recomendable que los ejecutables exe, las dll o los ocx esten comprimidos en .zip para que no haya problemas al actualizar. Cuando se genera el updatelist.txt, debe reemplazarse la URL de descarga del exe, dll o ocx que se haya comprimido. OJO! no es obligatorio hacerlo solo que algunos servidores no admiten la descarga de ejecutables por seguridad.

Ejemplo: Genere el archivo updatelist.txt lo abro y estan todas las lineas de los archivos a actualizarse, si mi aplicacion principal se llama Programa.exe entonces debo buscarlo y ponerle Programa.zip:

La Linea aparece asi:
"\updater.exe",176128,"13be50d187646260f165276a38c8d2d4","http://www.URL_DEL_SITIO.net/CARPETA_DE_ACTUALIZACIONES/updater.exe"

Cambiarla asi:
"\updater.exe",176128,"13be50d187646260f165276a38c8d2d4","http://www.URL_DEL_SITIO.net/CARPETA_DE_ACTUALIZACIONES/updater.zip"

Si hay algun error o alguna sugerencia para mejorar el code pues bienvenido sea.



Descargar Source Code:
http://www.megaupload.com/?d=XSO26CMG
92  Programación / Programación Visual Basic / Re: Aplicación Actualizable en: 15 Junio 2010, 03:07 am
Yo hace mucho hize un actualizador con el modulo Csocketmaster y es el que uso actualmente para actualizar el juego que hize en vb. El juego es Online y hasta ahora el actualizador lo hace muy bien. Acomodare el codigo del actualizador y comentare el codigo para postearlo y aportarlo a la comunidad.

PD: Pueden ver el juego en www.novaweb.ve.tc o www.novaweb.megabyet.net
93  Programación / Programación Visual Basic / Re: Explorador de Archivos Reverse Connection en: 2 Mayo 2010, 06:59 am
con el ejemplo que te di, ya teniendo un server y un cliente solo sera cuestion de adaptar el code del server en el cliente :S. es cuestion de usar un poco la imaginacion.

Teniendo ese como base puedes hacer lo que pides.
94  Programación / Programación Visual Basic / Re: Explorador de Archivos Reverse Connection en: 26 Abril 2010, 16:10 pm
tal vez esto te sirva:

http://www.recursosvisualbasic.com.ar/htm/utilidades-codigo-fuente/explorador-remoto.htm
95  Programación / Programación Visual Basic / Re: conexiones multiples con winsock ayuda en: 30 Marzo 2010, 07:05 am
Cuando Recibes alguna informacion del alguno de los clientes se acciona el evento DataArrival del Winsock, si el Winsock esta en un Array osea hay varios Clientes conectados en un array de Winsocks el mismo evento DataArrival te devuelve el Index.

Ejemplo:

Código
  1. Private Sub WinSock_DataArrival(Index As Integer, ByVal bytesTotal As Long)
  2.    Dim Datos As String
  3.    WS(Index).GetData Datos, vbString, bytesTotal
  4.    If Datos = "Hola" Then WS(Index).SendData "Respuesta"
  5. End Sub
96  Programación / Programación Visual Basic / Re: ayuda con servidor/cliente winsock con multiples conexiones en: 21 Marzo 2010, 03:33 am
Winsock(Index).SendData Datos, Donde Index es el Indice del Winsock al Cual quieres enviar los datos.
97  Programación / Programación Visual Basic / Re: Error de transmision por socket en: 28 Febrero 2010, 19:05 pm
Y en el caso de que no reciba ese caracter al final de los datos que sugieres que haga mi aplicacion?

Sigo pensando que si puedo aumentar el tamaño maximo que puedo recibir seria mas efectivo

Si se recibe el caracter final. El tamaño maximo que recibe el sock a la vez es de 8192 bytes si no me equivoco, de igual forma hay veces que aunque tu envies esa cantidad de datos lo recibira por partes inferiores a 8192, he comprobado que esto solo sucede cuando estas conectado por internet pero si es local si se rciben los 8192 bytes.

que tal si pruebas a enviar el archivo por partes?

salu2!

Vendria siendo lo mismo porque el cliente tendria que esperar hasta que arrive todo el archivo para poder analizarlo.
98  Programación / Programación Visual Basic / Re: Error de transmision por socket en: 28 Febrero 2010, 07:27 am
Buenas, tal cual como dice nuestro amigo BlackZeroX▓▓▒▒░░ tu problema es con el buffer, antes de analizar los datos debes asegurarte de que todos los datos hallan llegado correctamente. Para esto yo te recomendaria poner algo como un caracter que finalize los datos, y mientras este caracter no llegue no analize los datos; ya que si los datos vienen incompletos por supuesto que te va a dar error tu aplicacion :P.

Un pequeño Ejemplillo:

Código
  1. Private Sub SockClient_DataArrival(ByVal bytesTotal As Long)  
  2.    Dim Datos As String
  3.    Static Buffer As String
  4.  
  5.    SockListen.GetData Datos  
  6.  
  7.    Buffer = Buffer & Datos  
  8.  
  9.    If Right$(Buffer, 1) = "|" Then
  10.        Buffer = Mid(Buffer, 1, Len(Buffer) - 1) ' Le quitamos el separador a los datos ya finalizados  
  11.        Call Analizar(Buffer) 'Procedimiento que analiza los datos
  12.        Buffer = "" ' Vaciamos el Buffer
  13.    End If
  14.  
  15. End Sub
99  Programación / Programación Visual Basic / Re: Calcular la Posicion de un usuario? en: 12 Enero 2010, 18:32 pm
No, no quiero el que tenga mas experiencia, quiero obtener la posicion del usuario segun su experiencia, asi como en el ejemplo que hize.
100  Programación / Programación Visual Basic / Calcular la Posicion de un usuario? en: 12 Enero 2010, 18:23 pm
Bueno mi inquietud es la de como obtener el rank (Posicion) de un usuario dentro de una determianada jerarquia, sabiendo que los datos estan en una base de datos access. Ejemplo: En la base de datos hay 10.000 usuarios cada uno con una determinada experiencia, quiero obtener la posicion del Usuario 3 ordenando de mayor a menor sin tener que hacer un "SELECT * FROM Users ORDER BY Experiencia" y tener que recorrer cada registro para obtener el indece del registro -.-

Usuario:              Experiencia:
Usuario 1            500
Usuario 2            358
Usuario 3            589
Usuario 4            955
Usuario 5            1254
Usuario 6            2121
Usuario 7            85
Usuario 8            159

"SELECT * FROM Users ORDER BY Experiencia DESC":

Usuario:              Experiencia:
Usuario 6            2121
Usuario 5            1254
Usuario 4            955
Usuario 3            589
Usuario 1            500
Usuario 2            358
Usuario 8            159
Usuario 7            85

Usuario 3 Posicion: 4

Actualmente lo hago de esta manera, pero hay que pedir todos los registros a la base de datos y quiera saber si hay otra forma:

Código
  1. Private Function Obtener_Posicion()
  2.  
  3.    MiRecordset.Open "SELECT * FROM Users ORDER BY Experience DESC", MiConexion, adOpenDynamic, adLockOptimistic
  4.  
  5.    MiRecordset.MoveFirst
  6.    MiRecordset.Find "Username = 'Usuario 7266'"
  7.  
  8.    If (MiRecordset.BOF = True) Or (MiRecordset.EOF = True) Then
  9.        MsgBox "Usuario no encontrado"
  10.        MiRecordset.Close
  11.        Exit Function
  12.    End If
  13.  
  14.    MsgBox MiRecordset.AbsolutePosition
  15.    MsgBox MiRecordset.Fields("Experience")
  16.  
  17.    MiRecordset.Close
  18.  
  19. End Function
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines