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


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Temas
Páginas: 1 ... 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 [98] 99 100 101 102 103 104 105 106 107
971  Programación / Scripting / (Solucionado) [Ruby] Ayuda con rescue! en: 26 Febrero 2012, 18:43 pm
Buenas

Tengo hecho un code, He leido sobre Rescue, Raise, Y retry, Pero no lo entiendo del todo...

El rescue solo se ejecuta una vez en mi code, Y yo necesito que haga rescues sin parar, Suponía que era con "retry" pero creo que no...

Lo único que necesito conseguir es que si al mover el archivo da error (El error EACCES) se intente mover una y otra vez, Hasta conseguirlo.

Porfavor una ayuda


Código
  1. # Proceso
  2.  
  3. def Mover()
  4.  
  5. for archivo in ARGV[1..ARGV.length].each
  6.  
  7. if File.exist?(ARGV[0] + "\\" + archivo.split('\\').last)
  8. response = message_box("Origen:\n" + archivo + "\n\n Destino:\n " + ARGV[0] + "\\" + archivo.split('\\').last + "\n\n El archivo de destino ya existe, Reemplazar archivo?", "Reemplazar archivo?", BUTTONS_YESNO)
  9. if response == CLICKED_YES
  10.   FileUtils.move archivo, ARGV[0]
  11.   elsif response == CLICKED_CANCEL
  12.   Process.exit
  13. end
  14. else
  15. FileUtils.move archivo, ARGV[0]
  16. end
  17. end
  18.  
  19. rescue Errno::EACCES
  20. puts "El archivo está en uso"
  21. FileUtils.move archivo, ARGV[0]
  22. retry
  23.  
  24. end
  25.  
  26.  
  27. Mover()
  28. Process.exit
972  Programación / Scripting / (Solucionado) [Ruby] Duda sobre FOR con operador de rango en: 23 Febrero 2012, 23:21 pm
Hola, estoy intentando hacer un code:

Código
  1. require "FileUtils"
  2.  
  3. for archivo in ARGV
  4.     FileUtils.move archivo, ARGV[0]
  5. end
  6.  
  7. Process.exit

El problema es que necesito que el for trabaje los argumentos a partir del argumento nº 1, Hasta llegar al último argumento (Número desconocido que capturo con ARGV.length)

Osea, Que no tome en cuenta el argumento nº 0



He intentado hacerlo con el operador de rango, y algunos ejemplos más pero no lo consigo...

Código
  1. ARGV[1]..ARGV[(ARGV.length)].each { |archivo| FileUtils.move archivo, ARGV[0] }

Código
  1. ARGV[1].upto ARGV[(ARGV.length)] { |archivo| FileUtils.move archivo, ARGV[0] }

Código
  1. for archivo in ARGV[1], ARGV[(ARGV.length)]
  2.    FileUtils.move archivo, ARGV[0]
  3. end
973  Sistemas Operativos / Windows / Parones en mi HDD, Y windows me crea una unidad HDD falsa! en: 22 Febrero 2012, 09:30 am
Tengo 2 discos duros SATA asignado a estas letras: C: y E:

Desde hace 2 dias tengo problemas con el disco principal C:, Si lo "calentaba" y le daba caña, Sonaba un "clok" en el disco duro y se quedaba como "muerto", Se paraba durante un minuto  y no hacia ruido, no procesaba datos, Y luego al pasar ese minuto o 2, Volvia a la vida y a trabajar... Pues así así cada vez que lo "calentaba" demasiado.

Tengo que decir que el disco C: solo daba parones si tengo los 2 discos conectados. Si desconecto "E:" y le meto caña a "C:" por ejemplo copiando archivos grandes durante una hora no sucede nada extraño.

De momento este problema lo he "solucionado" cambiando el cableado de los discos DE SITIO. El de C: a E: y el de E: a C:.

EDITO:

Pues no se ha solucionado no... Sigue habiendo parones en el disco C:, Ahora se empiezan a notar...

Necesito ayuda ._.

Ah, y desde que empecé a notar el problema, Restauré la configuración por defecto de la BIOS, Pero no ha servido para nada xD.

También cabe decir que he desactivado la caché de escritura en los 2 discos, para evitar que los parones me jodan archivos... y para que el cableado fluya mejor (Aunque no se si afecta a los cables xD)...

También tengo desactivados la mayoría de servicios de Windows, Como los temas, para evitar que el disco trabaje más de lo necesario...

No se que más datos aportar.



Por otro lado y a raíz de ese problema, Ahora cuando inicio sesion en Windows, A los 5 o 10 minutos (Eso es lo más extraño de todo) aparece un nuevo disco duro en "mi pc": "(D:) Disco local", con un icono de disco duro y un interrogante azul.

Obviamente es una unidad innaccesible porque no existe y no debería estar ahí...
La unidad no aparece en el administrador de dispositivos y particiones...

- ¿Que puede ser?

He escaneado con NOD y no tengo virus.

También le he pasado un chkdsk y a C: y me ha arreglado archivos ilegibles debido a los parones del primer problema.

- ¿El problema de los parones puede tener algo que ver como para que sea algo tán exagerado de crearme un nuevo disco en Windows?

- ¿Alguna alternativa antes de formatear?...

Gracias.
974  Programación / Scripting / [Ruby] Modificar variable de un objeto dentro de una clase en: 22 Febrero 2012, 05:24 am
Citar
En Ruby, puedes volver a abrir una clase y modificarla.

Código
  1. class Anfitrion
  2.   attr_accessor :nombre
  3. end

Se supone que eso da acceso a la variable "nombre" dentro de la clase "Anfitrion", Bien, Lo que no explica es luego como poder modificar la variable, ¿Se hace como con una variable de instancia?

Para modificar una variable de instancia es así, verdad?:
Código
  1. @nombre = "lo que sea"

?

Muxas Gracias..
975  Foros Generales / Dudas Generales / (Solucionado) ¿Como verificar si una cuenta de hotmail EXISTE? en: 21 Febrero 2012, 13:06 pm
Hola

Tengo como 6 o 7 cuentas olvidadas en hotmail, Bueno, Suponiendo que no me las hayan borrado ya...

¿Como puedo verificar si una cuenta existe, Sin recordar la contraseña?

Solamente quiero saber si sigue existiendo, Para luego intentar recuperar la contraseña.

Más que nada porque intentar averiguarlo por live.com es una mierd@:

Citar
   Ha intentado iniciar sesión demasiadas veces con una dirección de correo electrónico o contraseña incorrectas.

Y me bloquea la conexión.


Además de los nombres de mis cuentas no me acuerdo muy bien... y no se si terminaban en hot.com o hot.es o live.es, etc... por eso tendría que hacer varios intentos hasta dar con la buena... Y con el límite de live.com es un coñazo y un cansineo tremendo.

Salu2
976  Informática / Software / (Solucionado) Cambiar la versión del producto en la información del archivo en: 21 Febrero 2012, 11:23 am
¿Alguien sabe que herramientas necesito para modificar la versión dle producto, el nombre de la compañía, etc?

977  Programación / Scripting / [Ruby] Me ayudan a corregir este script? en: 20 Febrero 2012, 17:33 pm
Hola

Este es mi primer script en Ruby, Y lo he hecho con mucha ayuda sino no habría podido

Lo único que me preocupa del script es el def "todos", no se si está bien hecho.

Y me gustaría simplificar la comprobacion de los argumentos así por ejemplo:

Código
  1. if (ARGV[0])==(-h|--help)
  2. help()
  3. end

Pero no se hacerlo bien xD

Si ven algún error o mejora diganmelo, gracias

EDITO:
Por cierto, Me parece tremendamente inseguro que al usar:
File.rename
Si existe un archivo con el mismo nombre que el archivo nuevo (renombrado), El archivo se reemplaza por el renombrado, En vez de dar error... O algo parecido xD





Código
  1. # -*- coding: UTF-8 -*-
  2.  
  3.  
  4. # Renombrador preconfigurado de archivos
  5. #
  6. # El código original es de RyogiShiki
  7. # http://foro.elhacker.net/scripting/solucionado_ruby_renombrando_un_caracter_ilegal-t354066.0.html
  8.  
  9.  
  10.  
  11. # Gemas, Módulos...
  12.  
  13. require 'find'
  14. exit if Object.const_defined?(:Ocra)
  15.  
  16. system('chcp 1252 >NUL')
  17.  
  18.  
  19.  
  20. # Métodos
  21.  
  22. def reset_vars()
  23. $total = -1
  24. $renamed = 0
  25. end
  26.  
  27. def resultado()
  28. puts " Procesados: #{$total} archivos"
  29. puts " Renombrados: #{$renamed} archivos"
  30. system('chcp 850 >NUL')
  31. Process.exit
  32. end
  33.  
  34. def advise()
  35. print ' Use "Renamer.exe -a" Para mostrar la ayuda.' + "\n"
  36. system('chcp 850 >NUL')
  37. Process.exit
  38. end
  39.  
  40. def help()
  41. system('chcp 850 >NUL')
  42. print "\n Modo de empleo:\n\n"
  43. print "  " + __FILE__.split('/').last + " [Opci\u00F3n] [Ruta]\n\n"
  44. print "\n Opciones: \n\n"
  45. print "  -c --comilla        Reemplaza \[\u00B4\] por \[\u0027\]\n\n"
  46. print "  -e --extension      Reemplaza [ .mp3]  por [.mp3]\n\n"
  47. print "  -f --featuring      Reemplaza [ ft ],[ ft. ],[ feat ],[ featuring ] por [ feat. ]\n\n"
  48. print "  -g --guion          Reemplaza \[\u2013\] por \[-\]\n\n"
  49. print "  -i --interrogante   Elimina \[\u00BF\]\n\n"
  50. print "  -t --todo           Combina todas las opciones (-c + -e + -f + -g + -i)\n"
  51. Process.exit
  52. end
  53.  
  54. def reemplazar(caracter_a_reemplazar, nuevo_caracter)
  55. $total = -1
  56. Find.find(ARGV[1].gsub("\\", "/")) { |path|
  57. path = path.encode('utf-8')
  58. if path[caracter_a_reemplazar] then
  59. if File.exist?(path.gsub(caracter_a_reemplazar, nuevo_caracter))
  60. print "\n ERROR.   El archivo a reemplazar ya existe: " + (path).split('/').last + "\n"
  61. else
  62. File.rename(path, path.gsub(caracter_a_reemplazar, nuevo_caracter))
  63. $renamed += 1
  64. end
  65. end
  66. $total += 1
  67.    }
  68. end
  69.  
  70.  
  71.  
  72. # Argumentos
  73.  
  74. if (ARGV.empty?) then
  75. help()
  76. end
  77.  
  78. if (ARGV[0])=="-a" or ARGV[0] == "/?"
  79. help()
  80. end
  81.  
  82. if (ARGV[1])==()
  83. print "\n ERROR.   Debe introducir una ruta...\n\n"
  84. advise()
  85. elsif if not File.directory? (ARGV[1]) then
  86. print "\n ERROR.   La ruta no existe...\n\n"
  87. advise()
  88. end
  89. end
  90.  
  91. if ARGV[0] == "-c" or ARGV[0] == "--comilla"
  92. reset_vars()
  93. reemplazar("\u00B4", "\u0027")
  94. resultado()
  95. elsif (ARGV[0])=="-e" or ARGV[0] == "--extension"
  96. reset_vars()
  97. reemplazar(" .mp3", ".mp3")
  98. reemplazar(" .MP3", ".mp3")
  99. reemplazar(" .Mp3", ".mp3")
  100. resultado()
  101. elsif (ARGV[0])=="-f" or ARGV[0] == "--featuring"
  102. reset_vars()
  103. reemplazar(" ft. ", " feat. ")
  104. reemplazar(" Ft. ", " feat. ")
  105. reemplazar(" FT. ", " feat. ")
  106. reemplazar(" ft ", " feat. ")
  107. reemplazar(" Ft ", " feat. ")
  108. reemplazar(" FT ", " feat. ")
  109. reemplazar(" feat ", " feat. ")
  110. reemplazar(" Feat ", " feat. ")
  111. reemplazar(" FEAT ", " feat. ")
  112. reemplazar(" featuring ", " feat. ")
  113. reemplazar(" Featuring ", " feat. ")
  114. reemplazar(" FEATURING ", " feat. ")
  115. resultado()
  116. elsif (ARGV[0])=="-g" or ARGV[0] == "--guion"
  117. reset_vars()
  118. reemplazar("\u2013", "-")
  119. resultado()
  120. elsif (ARGV[0])=="-i" or ARGV[0] == "--interrogante"
  121. reset_vars()
  122. reemplazar("\u00BF", "")
  123. resultado()
  124. elsif (ARGV[0])=="-t" or ARGV[0] == "--todo"
  125. reset_vars()
  126. reemplazar("\u00B4", "\u0027")
  127. reemplazar("\u2013", "-")
  128. reemplazar("\u00BF", "")
  129. reemplazar(" ft. ", " feat. ")
  130. reemplazar(" Ft. ", " feat. ")
  131. reemplazar(" FT. ", " feat. ")
  132. reemplazar(" ft ", " feat. ")
  133. reemplazar(" Ft ", " feat. ")
  134. reemplazar(" FT ", " feat. ")
  135. reemplazar(" feat ", " feat. ")
  136. reemplazar(" Feat ", " feat. ")
  137. reemplazar(" FEAT ", " feat. ")
  138. reemplazar(" featuring ", " feat. ")
  139. reemplazar(" Featuring ", " feat. ")
  140. reemplazar(" FEATURING ", " feat. ")
  141. reemplazar(" .mp3", ".mp3")
  142. reemplazar(" .MP3", ".mp3")
  143. reemplazar(" .Mp3", ".mp3")
  144. resultado()
  145. end
  146.  
978  Programación / Scripting / (solucionado) [Ruby] Error "undefined method" en: 20 Febrero 2012, 13:00 pm
Hola de nuevo

Me surge un problema en la parte:
Código
  1. elsif(ARGV[0])=="-f"
  2. featuring()

Código:
`block in featuring': undefined method
 `+' for nil:NilClass (NoMethodError)

Me dice que no he definido el método, ¿Porque es tán cruel conmigo?  :-(



Código
  1. # -*- coding: UTF-8 -*-
  2.  
  3. # Métodos
  4.  
  5. def reset()
  6. renamed = 0
  7. total = -1
  8. end
  9.  
  10. def resultado()
  11. puts "Procesados: #{total} archivos"
  12. puts "Renombrados: #{renamed} archivos"
  13. end
  14.  
  15. def featuring()
  16. Find.find(ARGV[1].gsub("\\", "/")) { |path|
  17. path = path.encode('utf-8')
  18. if path[" ft. "] then
  19. File.rename(path, path.gsub(" ft. ", " feat. "))
  20. rename += 1
  21. end
  22. total += 1
  23. }
  24. end
  25.  
  26.  
  27. # Argumentos
  28.  
  29. if (ARGV[0])==()
  30. help()
  31. elsif(ARGV[0])=="/?"
  32. help()
  33. elsif(ARGV[1])==()
  34. print "\n ERROR".red.bold + " | Debe introducir una ruta...\n\n"
  35. help()
  36. elsif(ARGV[0])=="-f"
  37. reset()
  38. featuring()
  39. resultado()
  40. end

979  Programación / Scripting / (Solucionado) [Ruby] Colorizando texto en: 20 Febrero 2012, 09:40 am
Hola

He probado las siguientes gemas en Windows 7 y ninguna me ha funcionado para el propósito:

Paint
Colored gem
win32console


No me dan error, pero no se muestra en color, y sigo los ejemplos al pie de la letra...


¿Tienen idea de como puedo hacer algo parecido a esto bajo windows 7?



PD: Es posible que no me funcione porque estoy probando en un script rubi con codificación UTF-8?
     Tengo entendido que para ver los colores hay que codificar en ANSI pero no estoy seguro de eso
     ¿Alguna alternativa entonces?



EDITO:

Nada, He probado el "test.rb" oficial de la gema paint por ejemplo, y no se muestra en colores...
980  Programación / Scripting / (Solucionado) [RUBY] Mostrar caracter unicode en: 20 Febrero 2012, 07:21 am
Estoy intentando hacer una pantalla de ayuda en un script

El problema es que me da errores al intentar mostrar estos caracteres:

¿    ´    '    –

Código:
# -*- coding: UTF-8 -*-

def help()
 print "\n Opciones: \n\n"
 print ' -?          (Elimina el caracter "¿")' + "\n"
 print ' -comilla    (Reemplaza "´" por "'")' + "\n"
 print ' -ft         (Reemplaza " ft " por " feat. ")' + "\n"
 print ' -ft.        (Reemplaza " ft. " por " feat. ")' + "\n"
 print ' -guion      (Reemplaza "–" por "-")' + "\n"
 Process.exit
end

help()


He intentado mostrar el guión así, pero nada... :

Código
  1. print ' -guion      (Reemplaza "\u2013" por "-")' + "\n"




Y una pregunta de paso...

Como puedo hacer esto correctamente?

Código
  1. if (ARGV[0])==""
  2. help()
  3. end

La intención es que reconozca si el argumento está vació.

EDITO:
Vale lo segundo ya lo he conseguido:

Código
  1. if (ARGV[0])==()
  2. help()
  3. end
Páginas: 1 ... 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 [98] 99 100 101 102 103 104 105 106 107
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines