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


  Mostrar Mensajes
Páginas: 1 ... 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 [582] 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 ... 1236
5811  Programación / Scripting / Re: una variable se puede invocar cuantas veces? en: 11 Febrero 2015, 09:34 am
@crisoof

El tiempo de vida de una variable, es el mismo tiempo de vida de la instancia que invocó el Batch-Script donde inicializaste la variable.

Ejemplo:

1.bat
Código
  1. @Echo OFF
  2.  
  3. Set "Var=Hello World"
  4. Call ".\2.bat"
  5.  
  6. Pause&Exit

2.bat
Código
  1. @Echo OFF
  2. Echo Var=%VAR%
  3. Exit /B 0

Saludos
5812  Programación / Programación General / MOVIDO: DuDas sobre funciones Python" en: 9 Febrero 2015, 15:36 pm
El tema ha sido movido a Scripting.

http://foro.elhacker.net/index.php?topic=429692.0
5813  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Les gusta este header? en: 9 Febrero 2015, 15:19 pm
Re: Les gusta este header?

me gustaría saber su opinión, y quizás ofecerlo de "tributo" al foro.  :xD

(aunque no se si pegue mucho, ya que el foro como tal es bien retro o eso me da a entender a mi)


Has pedido la opinión general, luego no te arrepientas si no te gusta mi crítica constructiva :P

Entiendo que para gustos los colores, habrá a quien le gusta y a quien no, y sin animo de menospreciar tu trabajo de diseño (que eso es lo primero por encima de todo), a mi no me gusta en absoluto, el fondo de la imagen con esa textura de cuadrados monócromos me recuerda a los azulejos del suelo de un baño, se me hace incómodo de ver.

Las "ondas" blancas (por llamarlo así), están demasiado forzadas, con mucha aleatoriedad (movimientos bruscos al "pintar" sin seguir un patrón), y son demasiado lumínicas,
puesto que has preferido utilizar el mismo color (blanco) tanto para las "ondas" lumínicas como para el fondo con cuadrados blancos, por ende has tenido que modificar la saturación/HUE de la textura del fondo para el contraste (o quizás lo hayas hecho para ajustarlo a la gama de de colores del logo azúl), dando así un tono azulado que no es nada bello, y un efecto de ondas lumínicas que no se sintetiza con el patrón de la textura, vamos, que en mi opinión, no pega ni con cola ninguno de los elementos de esa imagen, esas "ondas" lumínicas parecen garabatos que no deberían estar ahí (...y se vería mejor); sobre la textura de los cuadrados monócromos, ya he dado mi opinión.

Estoy seguro de que puedes hacer algo mejor, ánimo.

Saludos!
5814  Programación / .NET (C#, VB.NET, ASP) / Re: abrir desde la fila de un Datagridview en: 8 Febrero 2015, 09:30 am
Si no he entendido mal, tienes un DataGridView con modo de selección por celda (no por fila), utilizas una columna para mostrar la ruta de una imagen?, y quieres que al seleccionar una celda (haciendo doble-click) se abra la imagen de la columna asociada a esa fila, entonces:

Suscríbete al evento CellDubleclick y utiliza la información del evento (event-data) para localizar la columna y por ende la ruta de la imagen.


Seguramente no tengas el grid estructurado de esta manera, pero es solo un ejemplo:

VB.Net
Código
  1. Public Class Form1
  2.  
  3.    Private Sub Form1_Load() Handles MyBase.Load
  4.  
  5.        With Me.DataGridView1
  6.            .SelectionMode = DataGridViewSelectionMode.CellSelect
  7.            .MultiSelect = False
  8.            .Columns.Add("colImage", "Columna de Imagen")
  9.            .Columns.Add("colInfo1", "Columna adicional 1")
  10.            .Columns.Add("colInfo2", "Columna adicional 2")
  11.            .Rows.Add({"C:\Imagen.jpg", "Info adicional 1", "Info adicional 2"})
  12.        End With
  13.  
  14.    End Sub
  15.  
  16.    Private Sub DataGridView1_CellContentClick(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) _
  17.    Handles DataGridView1.CellDoubleClick
  18.  
  19.        Dim value As String = DirectCast(sender, DataGridView).Rows(e.RowIndex).Cells(0).Value.ToString
  20.  
  21.        If Not String.IsNullOrEmpty(value) AndAlso IO.File.Exists(value) Then
  22.            Try
  23.                Process.Start(value)
  24.  
  25.            Catch ex As Exception
  26.                Throw
  27.  
  28.            End Try
  29.        Else
  30.            ' ...
  31.  
  32.        End If
  33.  
  34.    End Sub
  35.  
  36. End Class

C#
Código
  1. using Microsoft.VisualBasic;
  2. using System;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using System.Data;
  6. using System.Diagnostics;
  7. public class Form1
  8. {
  9.  
  10. private void Form1_Load()
  11. {
  12. var _with1 = this.DataGridView1;
  13. _with1.SelectionMode = DataGridViewSelectionMode.CellSelect;
  14. _with1.MultiSelect = false;
  15. _with1.Columns.Add("colImage", "Columna de Imagen");
  16. _with1.Columns.Add("colInfo1", "Columna adicional 1");
  17. _with1.Columns.Add("colInfo2", "Columna adicional 2");
  18. _with1.Rows.Add({
  19. "C:\\Imagen.jpg",
  20. "Info adicional 1",
  21. "Info adicional 2"
  22. });
  23. }
  24.  
  25. private void DataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
  26. {
  27. string value = ((DataGridView)sender).Rows(e.RowIndex).Cells(0).Value.ToString;
  28.  
  29. if (!string.IsNullOrEmpty(value) && IO.File.Exists(value)) {
  30. try {
  31. Process.Start(value);
  32. } catch (Exception ex) {
  33. throw;
  34. }
  35. } else {
  36. // ...
  37. }
  38. }
  39.  
  40. public Form1()
  41. {
  42. Load += Form1_Load;
  43. }
  44.  
  45. }
  46.  
  47. //=======================================================
  48. //Service provided by Telerik (www.telerik.com)
  49. //=======================================================
5815  Sistemas Operativos / Windows / Re: AYUDA URGENTE crash (pantallazo azul) en: 8 Febrero 2015, 08:52 am
Esta es la excepción que obtienes:
Código:
0x0000008E (0xC0000005 , 0x83085424 , 0xADE8BAC , 0x00000000)

El código principal de la excepción indica que se trata de un error del kernel:
Código:
0x0000008E: KERNEL_MODE_EXCEPTION_NOT_HANDLED

Según Microsoft, en un principio la excepción puede deberse a varios motivos:
  • Daños en el disco duro.
  • Problemas de configuración de hardware general con el BIOS, la memoria, el disco duro, o con otros dispositivos.
  • Controlador de dispositivo incompatible.
  • Software incompatible.
  • Service Packs.

El primer parámetro de la excepción indica el motivo exacto del mismo, que en este caso es debido a un fallo de lectura/escritura en la memoria como ha comentado @Simorg (pero por este código de error, no por el anterior):
Código:
0xC0000005: STATUS_ACCESS_VIOLATION, indicates that a memory access violation occurred. 

El siguiente parámetro, es la dirección exacta de memoria que ha causado la violación, la dirección identifica el driver o la función del sistema que ha provocado la excepción:
Código:
0x83085424

El siguiente parámetro, no tiene mucha relevancia aunque podría contener información adicional, es el trap frame del handler que invocó la excepción:
Código:
0xADE8BAC

Y el último parámetro, está reservado por el sistema, es irrelevante:
Código:
0x00000000: STATUS_SUCCESS, The operation completed successfully.

Posiblemente hallarás más información que te pueda ayudar a resolver el problema, visualizando más posibles detalles del mismo en el Visor de Eventos de Windows (Windows Event Viewer), que está ubicado en el directorio:
Código:
C:\Windows\System32\eventvwr.msc




Causa


El tipo de error KERNEL_MODE_EXCEPTION_NOT_HANDLED es un error muy común, para interpretarlo correctamento, primero se debe identificar la excepción que se generó.

Códigos de error comunes incluyen los siguientes:
  • 0x80000002: STATUS_DATATYPE_MISALIGNMENT, indica que se ha encontrado una referencia de datos desalineados.
  • 0x80000003: STATUS_BREAKPOINT, indica que un 'breakpoint' o 'ASSERT' fue encontrado cuando el sistema no tenia adjuntado el depurador del Kernel.
  • 0xC0000005: STATUS_ACCESS_VIOLATION, indica que ha ocurrido una violación de acceso a la memoria.

Para una lista complteta de códigos de error, visualice el archivo "Ntstatus.h" del código fuente, que está ubicado en un directorio incluido en el 'Microsoft Windows Driver Kit (WDK)'


Resolución


Si no estás equipado para depurar este problema, debes usar técnicas básicas de resolución de problemas:

  • Asegúrate de tener espacio suficiente en el disco.
  • Si un driver ha sido identificado en el mensaje del error, deshabilita el driver o consulte con el fabricante para actualizaciones del driver.
  • Prueba a cambiar los adaptadores de video.
  • Consulte con el vendedor del hardware para actualizaciones de la BIOS.
  • Desactive las opcioens de memoria de la BIOS, como el 'caching', o el 'shadowing'.

Si no conoces el motivo específico que ha causado la excepción, considera lo siguiente:

  • Incompatibilidad de Hardware.
    Asegúrate de que cualquier dispositivo nuevo de hardware que haya sido instalado recientemente, sea compatible con la versión instalada de Windows.
    Por ejemplo, puedes obtener información sobre compatibilidad con Widnows 7 en el centro de compatibilidad de Windows 7 (Windows 7 Compatibility Center).
  • Driver o servicio del sistema defectuoso.
    Un driver o servicio del sistema defectuosos pueden ser responsables de este error.
    Los problemas de hardware, tales como incompatibilidades con la BIOS, conflictos de memoria, y los conflictos de IRQ, también pueden generar este error.



Traducción parcial del soporte de Microsoft al Castellano, por: Eleкtro.

Fuente(s):
Bug Check Code Reference
Bug Check 0x8E: KERNEL_MODE_EXCEPTION_NOT_HANDLED
NTSTATUS.h values
5816  Sistemas Operativos / Windows / Re: Como desinstalar programa llamado ZoomIT? en: 8 Febrero 2015, 07:54 am
La aplicación ZoomIt, al igual que todas las demás aplicaciones de SysInternals, guardan la configuración de usuario en el registro de Windows, especificamente en la siguiente clave:
Código:
HKEY_CURRENT_USER\Software\Sysinternals

Cuando aceptas el EULA de una aplicación de SysInternals, se crea un valor DWORD con nombre "EulaAccepted" en la clave del programa, que en este caso es:
Código:
HKEY_CURRENT_USER\Software\Sysinternals\ZoomIt

Saludos
5817  Programación / Scripting / Re: Duda muy básica en: 7 Febrero 2015, 17:45 pm
También puedes hacerlo de esta manera, usando la función join para concatenar los elementos de la lista usando el string especificado:

Código
  1. values = range(1, 31)
  2. print ','.join(map(str, values))

Output:
Código:
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30

Edito: Obviamente si lo prefieres puedes utilizar la secuencia directamente, te lo he escrito así para denotar la diferencia entre los datatypes, ya que estás aprendiendo.

Saludos.
5818  Programación / .NET (C#, VB.NET, ASP) / Re: [C#] detectar imagen y obtener coordenadas en: 7 Febrero 2015, 14:56 pm
sabrías qué falla aquí?

Porfavor, cuando formules una pregunta sobre un error expecífico, asegúrate de MOSTRAR el mensaje de la excepción.

Muestra la información necesaria para intentar ayudarte, ese método tiene muchos overloads y puede dar muchos errores distintos, que podrías solucioanrlo viendo la documentación oficial.

De todas formas me imagino que estás teniendo una excepción del tipo UnsuportedImageFormatException, ya que para el objeto template estás utilizando el constructor del Bitmap que por defecto asigna un canal ARGB de 32bpp, y aparte de eso estas asignando manualmente en el otro bitmap el mismo canal y profundidad de bits, y ese tipo de formato no está soportado por el método en cuestión, simplemente usa el formato de pixel a Format24bppRgb.

Saludos
5819  Programación / Scripting / Re: Copiar directorio y subdirectorios con archivos de fotos y renombrar en: 7 Febrero 2015, 14:25 pm
Código
  1. @echo off echo Respaldando...
  2. echo Renombrando con %date%
  3. set FECHA= %date%
  4. set FECHA=%FECHA:/=%
  5. set FECHA=%FECHA: =%
  6. set FECHA=%FECHA::=%
  7. set FECHA=%FECHA:,=%
  8. xcopy "C:\Documents\log" "C:\Documents\log\%FECHA%" /e/c/h/k/o/x/y

Pero... vamos a ver, ahí no estás renombrando ningún archivo.

No has dado datos suficientes sobre los archivos ni sobre la forma en lo que lo quieres estructurar, intentar dar datelles específicos sobre el formato del renombrado.

De hecho, no has especificado claramente que es realmente la ayuda que precisas, si renombrar, mover el directorio, comprobar duplicados, todo, nada, o que es lo buscas... se más específico.

De todas formas Batch es una herramienta muy limitada y es el "lenguaje" más inapropiado para este tipo de tareas, ya que para renombrar archivos con el formato que propones no puedes hacer la substracción necesaría del string de forma natural, y el código se vuelve demasiado tedioso.

Con Batch no puedes buscar duplicados, ya que no puedes hacer una comparación del CRC, ni mucho menos una comparación byte a byte, Batch no es capaz ni dispone de ningun comando externo para dichas tareas.



Si no he entendido mal, todas las imágenes contienen un guión en el nombre, y quieres reemplazar todo lo que esté después de dicho guión, por la fecha actual?,
en ese caso:

Código
  1. @Echo OFF
  2.  
  3. Set "today=%date:~0,2%%date:~3,2%%date:~6,4%"
  4.  
  5. For %%# in ("*.jpg") Do (
  6.    Call :Replace "%%~n#" "%today%"
  7.    Echo Nombre original  : "%%~nx#"
  8.    Call Echo Nombre modificado: "%%replaceResult%%%%~x#"
  9.    :: Renombrar archivo...
  10. REM Call Rename "%%~f#" "%%replaceResult%%%%~x#"
  11. )
  12. Pause&Exit
  13.  
  14. :Replace :: %1=value, %2=replacement
  15. Set "value=%~1"
  16. Call Set "removed=%%value:*_=%%"
  17. Call Set "replaceResult=%%value:%removed%=%%"
  18. Call Set "replaceResult=%%value:%removed%=%%"
  19. Set "replaceResult=%replaceResult%%~2"
  20. Goto:EOF

Si los nombres de los archivos usan otros patrones distintos que necesiten un filtrado/análisis más profundo entonces olvídate de usar Batch, cualquier otro lenguaje te servirá de mayor utilidad para hacer lo mismo y mejor.

Saludos
5820  Programación / Scripting / Re: [Ayuda](Batch) 10 Numeros random del 1 al 10 en: 7 Febrero 2015, 13:35 pm
@AquilesBailo

Está prohibido revivir temas antiguos, si tienes una duda, crea un post nuevo.
También debes utilizar las etiquetas GeShi para insertar código.



No entiendo muy bien lo que intentas hacer, pero siguiendo la linea del script del ejemplo que has mostrado, AquilesMuestro un ejemplo de como se podría llevar a cabo la distinción:

Código
  1. @Echo OFF
  2.  
  3. :: Inicializo las variables con números aleatorios del 0 al 9.
  4. Set /A "val1=%RANDOM% %%9", "val2=%RANDOM% %%9", "val3=%RANDOM% %%9"
  5. Set /A "val4=%RANDOM% %%9", "val5=%RANDOM% %%9", "val6=%RANDOM% %%9"
  6. Set /A "val7=%RANDOM% %%9", "val8=%RANDOM% %%9", "val9=%RANDOM% %%9"
  7.  
  8. :: Aumentar el valor del primer parámetro (%val1%)
  9. :: hasta que no coincida con el resto de parámetros (%val2%, %val3%, %val4%, %val5%, %val6%, %val7%, %val8% ,%val9%)
  10. Call :DoWhile "%val1%" "%val2%" "%val3%" "%val4%" "%val5%" "%val6%" "%val7%" "%val8%" "%val9%"
  11. :: Asigno el ""valor de retorno"" del bloque ":DoWhile".
  12. Set /A "val1=%DoWhileResult%"
  13.  
  14. REM Repetir el mismo proceso de arriba con los demás valores...
  15.  
  16. Call :DoWhile "%val2%" "%val1%" "%val3%" "%val4%" "%val5%" "%val6%" "%val7%" "%val8%" "%val9%"
  17. Set /A "val2=%DoWhileResult%"
  18.  
  19. Call :DoWhile "%val3%" "%val1%" "%val2%" "%val4%" "%val5%" "%val6%" "%val7%" "%val8%" "%val9%"
  20. Set /A "val3=%DoWhileResult%"
  21.  
  22. Call :DoWhile "%val4%" "%val1%" "%val2%" "%val3%" "%val5%" "%val6%" "%val7%" "%val8%" "%val9%"
  23. Set /A "val4=%DoWhileResult%"
  24.  
  25. Call :DoWhile "%val5%" "%val1%" "%val2%" "%val3%" "%val4%" "%val6%" "%val7%" "%val8%" "%val9%"
  26. Set /A "val5=%DoWhileResult%"
  27.  
  28. Call :DoWhile "%val6%" "%val1%" "%val2%" "%val3%" "%val4%" "%val5%" "%val7%" "%val8%" "%val9%"
  29. Set /A "val6=%DoWhileResult%"
  30.  
  31. Call :DoWhile "%val7%" "%val1%" "%val2%" "%val3%" "%val4%" "%val5%" "%val6%" "%val8%" "%val9%"
  32. Set /A "val7=%DoWhileResult%"
  33.  
  34. Call :DoWhile "%val8%" "%val1%" "%val2%" "%val3%" "%val4%" "%val5%" "%val6%" "%val7%" "%val9%"
  35. Set /A "val8=%DoWhileResult%"
  36.  
  37. Call :DoWhile "%val9%" "%val1%" "%val2%" "%val3%" "%val4%" "%val5%" "%val6%" "%val7%" "%val8%"
  38. Set /A "val9=%DoWhileResult%"
  39.  
  40. Echo Valores: %val1%, %val2%, %val3%, %val4%, %val5%, %val6%, %val7%, %val8%, %val9%
  41. Pause&Exit
  42.  
  43. :DoWhile
  44. Set /A "currentValue=%~1"
  45. If "%currentValue%" EQU "0" (Set /A "currentValue=1")
  46.  
  47. Set /A "tmpValue=currentValue + 1"
  48. If "%tmpValue%" EQU "10" (Set /A "tmpValue=1")
  49.  
  50. Set "recall=False"
  51. If "%~1" EQU "%~2" (Set "recall=True")
  52. If "%~1" EQU "%~3" (Set "recall=True")
  53. If "%~1" EQU "%~4" (Set "recall=True")
  54. If "%~1" EQU "%~5" (Set "recall=True")
  55. If "%~1" EQU "%~6" (Set "recall=True")
  56. If "%~1" EQU "%~7" (Set "recall=True")
  57. If "%~1" EQU "%~8" (Set "recall=True")
  58. If "%~1" EQU "%~9" (Set "recall=True")
  59.  
  60. If /I "%recall%" EQU "True" (
  61. Call :DoWhile "%tmpValue%" "%~2" "%~3" "%~4" "%~5" "%~6" "%~7" "%~8" "%~9"
  62. ) ELSE (
  63. Set /A "DoWhileResult=%currentValue%"
  64. Goto :EOF
  65. )

Output:
Código:
Valores: 2, 9, 5, 8, 6, 7, 1, 4, 3
Presione una tecla para continuar . . .

Tema Cerrado.

Saludos
Páginas: 1 ... 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 [582] 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 ... 1236
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines