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 ... 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 [373] 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 ... 456
3721  Programación / Programación Visual Basic / Re: Descargar todos los controles indexados en: 11 Octubre 2009, 01:29 am
Bueni, ahi me funcionó:
Código
  1. Public Function Descarga_controles(Controles) As Boolean
  2. Dim Control_item As Control
  3. ' Comrpueba que hay mas de un control o sea por lo menos uno cargado
  4. If Controles.Count > 1 Then
  5.  ' Cuenta cada control cargado
  6.  For Each Control_item In Controles
  7.   ' Omite el control padre porque no puede ser eliminado
  8.   If Control_item.Index > 0 Then
  9.    Call Unload(Control_item)
  10.   End If
  11.  Next Control_item
  12.  Descarga_controles = True
  13. Else
  14.  ' No se descargaron los controles ya que no se encontró ninguno
  15.  Descarga_controles = False
  16. End If
  17. End Function
  18.  

Pero tube que quitarle la declaración del tipo de variable a recibir, no hay alguna forma de si ponerle el tipo para que no pueda aceptar otra cosa que no sean controles?
3722  Programación / Programación Visual Basic / Descargar todos los controles indexados en: 11 Octubre 2009, 01:22 am
Hola, estaba haciendo una función para poder descargar controles de forma automatizada pero al parecer no me resultó muy bien:

Supongamos que tengo el control text(index) y le hize load por cada item que necesitaba cargar y no precisamente en un orden numérico por lo tanto cuando quiera descargarlos despues no podría utilizar for id = 0 to text.count - 1 sino que tendría que utilizar un for each control in text pero lo hago en varios controles asi que me puse a hacer esta función:

Código
  1. Public Function Descarga_controles(Controles As Controls) As Boolean
  2. Dim Control_item As Control
  3. ' Comrpueba que hay mas de un control o sea por lo menos uno cargado
  4. If Controles.Count > 1 Then
  5.  ' Cuenta cada control cargado
  6.  For Each Control_item In Controles
  7.   ' Omite el control padre porque no puede ser eliminado
  8.   If Control_item.Index > 0 Then
  9.    Call Unload(Control_item)
  10.   End If
  11.  Next Control_item
  12.  Descarga_controles = True
  13. Else
  14.  ' No se descargaron los controles ya que no se encontró ninguno
  15.  Descarga_controles = False
  16. End If
  17. End Function
  18.  

después lo pasé por:
Código
  1. Call Descarga_controles(Check_visual) ' test
  2. MsgBox Check_visual.Count
  3. 'If Check_visual.Count > 1 Then
  4. ' For Cuenta = 1 To Check_visual.Count - 1
  5. '  Unload Check_visual(Cuenta)
  6. ' Next Cuenta
  7. 'End If

para poder testear y me lanzó error porque e grupo de controles checkbox no era de tipo controls.
Supuse que controls se referiría a controles varios indexados pero me equiboqué, tampoco puedo decirle controles as checkbox porque tambien necesito procesar textbox e image, etc y no es uno sino varios.

Como podría hacerlo en este caso?
3723  Programación / Programación Visual Basic / Re: coo saber si existe una variante? en: 11 Octubre 2009, 00:54 am
ahora veo porque no funcionaba, tu le pasas arrays y yo variantes  :P

edito:
bueno me aburrí, traté de pasar de variantes a array como una variable temporal antes de procesar pero tenia el mismo problema si la variante estaba vacia, decia que los tipos no coincidian porque se considera la variante como un string nulo y tampoco puedo devolver arrays desde una función porque tendria que declararlo como string y hacerle redim a la función con string_r() as string y eso no se puede asi que me resigné y voy a tener que utilizar errores forzados para hacer las comprobaciones como decia blackzero.
talves por eso todo lo de windows funciona a base de errores xD

Código
  1. Public Function Es_Array(Array_data) As Boolean
  2. On Error GoTo Error
  3. If UBound(Array_data) > 0 Then
  4.  Es_Array = True
  5.  Exit Function
  6. End If
  7. Error:
  8. Es_Array = False
  9. End Function

Gracias por el tiempo.
3724  Programación / Programación Visual Basic / Re: coo saber si existe una variante? en: 11 Octubre 2009, 00:24 am
Hola,
estaba haciendo este proyecto y me puse de metano usar control de errores ya que quiero que mi programa pueda estar preparado ante cualquier defecto y aprender mas, asi que no quisiera tomar por opción forzar un error para saber si el array existe o no asi que tomé la segunda opción que fue como dijo seba123neo:

form:
Código
  1. If Not Es_Array(Imagenes) Then
  2.  Estado_1.Caption = "No se han localizado imagenes"
  3.  Exit Function
  4. End If

Strings.bas:
Código
  1. Private Declare Function ArrPtr Lib "msvbvm60" Alias "VarPtr" (arr() As Any) As Long
  2. Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)
  3.  
  4. ' .........
  5.  
  6. Public Function Es_Array(Array_data) As Boolean
  7. Dim vValorMemoria As Long
  8. CopyMemory vValorMemoria, ByVal VarPtr(Array_data) + 8, ByVal 4
  9. CopyMemory vValorMemoria, ByVal vValorMemoria, ByVal 4
  10. Es_Array = (vValorMemoria <> 0)
  11. End Function
  12.  
  13. ' ..........

Cuando lo hecho a correr me funciona bién la comprobación cuando si hay valor en el array pero cuando no hay valor el IDE de visual basic se cae lanzando el drwin y cerrandome la ventana.


Probaré la otra opción con copymemory


Código
  1. Private Sub Form_Load()
  2.    Dim ArrayPrueba() As String
  3.    Dim CadenaPrueba As String
  4.  
  5.    CadenaPrueba = "hola,como,va"
  6.  
  7.    If ((Not ArrayPrueba) = -1) Then
  8.        MsgBox "No esta Inicializado"
  9.    Else
  10.        MsgBox "Si esta Inicializado"
  11.    End If
  12.  
  13.    ArrayPrueba = Split(CadenaPrueba, ",")
  14.  
  15.    If ((Not ArrayPrueba) = -1) Then
  16.        MsgBox "No esta Inicializado"
  17.    Else
  18.        MsgBox "Si esta Inicializado"
  19.    End If
  20. End Sub

Acá me dice que no coinciden los tipos pero es raro porque si le estoy enviando la variante

form:
Código
  1. Imagenes = Obtiene_imagenes(Text1.Text)
  2.  
  3. If Not Es_Array(Imagenes) Then
  4.  Estado_1.Caption = "No se han localizado imagenes"
  5.  Exit Function
  6. End If

Archivos.bas:
Código
  1. Public Function Obtiene_archivos(Ruta_expreg As String) As String
  2. Dim Archivo As String, temp As String
  3. Archivo = Dir(Ruta_expreg)
  4. While Archivo <> ""
  5.  Archivo = Dir
  6.  If Es_String(Archivo) Then
  7.   Obtiene_archivos = Obtiene_archivos & Archivo & ","
  8.  End If
  9. Wend
  10. End Function
  11.  
  12. Public Function Obtiene_imagenes(Ruta As String) As Variant
  13. Dim Archivos As String, Imagenes As Variant, Cuenta As Integer, Buffer As String
  14.  
  15. ' Obtiene el listado de imagenes con posibles extensiones
  16. Archivos = _
  17.  Obtiene_archivos(Ruta & "*.jpg") & _
  18.  Obtiene_archivos(Ruta & "*.jpeg") & _
  19.  Obtiene_archivos(Ruta & "*.png") & _
  20.  Obtiene_archivos(Ruta & "*.gif")
  21.  
  22. ' Separa en array
  23. Imagenes = Split(Archivos, ",")
  24.  
  25. ' Procesa una por una
  26. For Cuenta = 0 To UBound(Imagenes) - 1
  27.  ' Filtra imagenes de hasta 1.5 MB solamente
  28.  If FileLen(Ruta & Imagenes(Cuenta)) < 1500000 Then
  29.   Buffer = Buffer & Imagenes(Cuenta) & ","
  30.  End If
  31. Next Cuenta
  32.  
  33. ' Retorna solamente si hay imagenes válidas
  34. If Es_String(Buffer) Then
  35.  Obtiene_imagenes = Split(Buffer, ",")
  36. End If
  37. End Function
  38.  
  39.  

Algo pasa que me está dando conflictos en los tipos
3725  Programación / Programación Visual Basic / coo saber si existe una variante? en: 10 Octubre 2009, 09:15 am
Hola, tengo un array de datos que varía por lo tanto lo hize variante.
Mas abajo en el código hize un loop para obtener cada variante y procesar los datos pero cuando la variante está vacia marcaría error por lo tanto le puse el siguiente código para verificar si realmente hay variante o no antes de procesar:

Código
  1. If UBound(Imagenes) = 0 Then
  2.  Estado_1.Caption = "No se han localizado imagenes"
  3.  Exit Function
  4. End If

Pero resulta que UBound solo procesa variantes o arrays existentes, por eso me da error cuando esta vacio, por o tanto esa verificación no me sirve.

Como lo puedo hacer?

Y aprovechando el mismo tema... como puedo saber si un control está cargado? por ejemplo image(6).picture como index de 6 sin tener que hacer un for each en cada verificación.

Supongo que habrá alguna función o algo que verifique si alguno de esos dos casos existe, en casoc ontrario tendría que hacer una funcion con un foreach y comenzar a verificar el index contra el valor del index a comprobar  :-\
3726  Seguridad Informática / Nivel Web / Re: Múltiples inyecciones SQL en SMF <= 1.1.10 y 2.0 <= RC1.2 en: 10 Octubre 2009, 07:48 am
SMF si es seguro, no existe un sistema que sea 100% seguro, solo es cosa de elegir los mejores y smf es bueno. Así como smf tiene fallas vbulletín tambien los tiene y phpbb tambien, ipboard, phorum, etc.

Para mi SMF, vbulletín e invasión power board son los mejores que hay.
3727  Programación / PHP / Re: ayuda insert hosting en: 9 Octubre 2009, 22:40 pm
Hola, podrías haber puesto ese tema en el foro de php
3728  Programación / Programación Visual Basic / Re: como hacer webbrowser sin bordes? en: 9 Octubre 2009, 21:22 pm
hola, si es un tanto necesario porque se muestra en un frame rectangular en la parte superior en forma de presentación y utilizo ‭‬javascript para darle mas diseño aunque ya habia tratado de usar un listview con imagenes en miniatura pero se veian mal porque se cargaban en 16 colores


asi va quedando, el problema es que a partir desde las 300 imagenes ya comienza a frizarse xD pero veré como lo arreglo.

Lo del frame tampoco me sirvió asi que lo puse dentro de un picturebox como me recomendaron para poder eliminar los bordes

el html lo hize de diseño con el mismo color de fondo que el formulario, para simular que forma parte de uno solo
3729  Seguridad Informática / Hacking / Re: Compu trace se puede bloquear o borra de los bios????? en: 9 Octubre 2009, 11:39 am
talves puedas reemplazar la bios.

Supongo que esas bios se conectan a un servidor para dar a conocer tus datos pero para eso necesitas estar conectado y para eso necesitas tener un sistema operativo instalado por lo tanto ese programa debe interactuar con el sistema operativo y estoy un 90% seguro que solamente soporta windows y otro 90% seguro que fue diseñado pensado en windows vista ya que hay que recordar que habian algunas lap que incrustaban un codigo en la bios para la activación correcta de windows pero si es así entonces te lo puedes pasar por el culo utilizando linux :P o creando un loader similar al activador de windows 7 para que la bios no pueda tener acceso al sistema operativo.

edito::
http://support.euro.dell.com/support/edocs/systems/Op745/sp/UG_SP/advfeat.htm
desde la bios si se puede deshabilitar, por lo menos en las dell
3730  Programación / Programación Visual Basic / Re: como hacer webbrowser sin bordes? en: 9 Octubre 2009, 05:16 am
 :P incluso habia pensado en ponerlo dentro de un frame para que quedara mas bonito pero pensaba que habia algo nativo
Páginas: 1 ... 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 [373] 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 ... 456
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines