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


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: 1 ... 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 [475] 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 ... 1254
4741  Programación / Scripting / Re: Ayuda. Necesito Mover Automaticamente Archivos y Carpetas en: 28 Septiembre 2015, 17:55 pm
Por algo se llama así, RoboCopy. :P Cuando utilizas el switch /Move, los archivos se eliminan despues de haber sido copiados.

Con el comando Move puedes mover tanto archivos como un árbol de directorio entero, pero es muy limitado (como todo en Batch), si la carpeta a mover tiene el atributo de System, el comando Move no será capaz de reconocer el directorio (e imagino que con el atributo Hidden pasará lo mismo), y no se si tendrá alguna otra limitación respecto a los atributos de los subdirectorios y demás.

Esto tal vez te lo pueda solucionar:
Código
  1. @Echo OFF
  2.  
  3. Set "sourceDir=Directorio de origen"
  4. Set "targetDir=Directorio de destino"
  5.  
  6. (Attrib -R -S -H /S /D "%sourceDir%")2>NUL
  7. (Attrib -R -S -H       "%targetDir%")2>NUL
  8.  
  9. Move "%sourceDir%" "%targetDir%"
  10.  
  11. Pause&Exit /B 0
(solo lo escribí, no lo probé.)

Pero no uses el limitado Batch, puedes recurrir a VisualBasicScript (como mínimo):
Código
  1. dim filesys, sourceDir, targetDir
  2. set filesys = CreateObject("Scripting.FileSystemObject")
  3.  
  4. sourceDir = "Directorio de origen"
  5. targetDir = "Directorio de destino"
  6.  
  7. If Not filesys.FolderExists(sourceDir) Then
  8.   Call MsgBox("El Directorio de origen no existe.")
  9.  
  10. ElseIf filesys.FolderExists(targetDir) Then
  11.   Call MsgBox("El Directorio de destino ya existe.")
  12.  
  13. Else
  14.   Call filesys.MoveFolder(sourceDir, targetDir)
  15.  
  16. End If

Ten en cuenta que el método FileSystemObject.MoveFolder() no puede mover un directorio si el directorio de destino ya existe, cómo explica la documentación oficial:
MoveFolder Method - MSDN

Saludos
4742  Foros Generales / Foro Libre / Re: Orgasmos en el cielo: Wilhelm Reich y el “cañón rompenubes” en: 28 Septiembre 2015, 16:54 pm
"Orgasmos en el cielo:"

No seguí leyendo más. Malditos artículos amarillistas... prefiero evitarlos a toda costa.

PD: La fuente es del año 2005, solo lo comento.

Saludos!
4743  Programación / .NET (C#, VB.NET, ASP) / Re: Pagina que hereda clase en: 28 Septiembre 2015, 15:02 pm
lo que intento hacer es sobreescribir el metodo Page_Load del aspx.vb que viene heredado en el system.web.UI.page

Suponiendo que el método base Page_Load no haya sido declarado Overridable, ya que entonces lo siguiente no sería necesario al poder usar el keyword Overrides, siempre puedes llevar a cabo otro tipo de reemplazamiento del método base, redeclarándolo con el uso del keyword Shadows:

Código
  1. Shadows Sub Page_Load()
  2. End sub

Un ejemplo de lo otro sería...:
Código
  1. Overrides Sub Page_Load(firma del método base)
  2. End sub

¿Es eso a lo que te referías?.

Saludos
4744  Programación / Programación General / Re: Hilo oficial: Solicitudes de Expresiones Regulares en: 28 Septiembre 2015, 13:20 pm
(Los códigos que aparecen 漢 y demás, no son del código original, sino los caracteres originales del título de la canción. Si no se ven, es por limitaciones de este foro, que no representa esos caracteres).

Es un bug que llevo años reportando de vez en cuando, pero nadie me hace caso. Una solución temporal es que uses la etiqueta CODE, tal cual, sin especificar un valor de GeShi.



Hola. He encontrado una solución, pero como no conozco Pascalscript, yo he usado Perl v5.18:

Te agradezco muchísimo la ayuda prestada!!, pero desgraciadamente una solución en Perl no me serviría, si yo pudiese utilizar un script en el lenguaje que sea para resolver el problema entonces si, pero no es posible por que utilizo el programa para aplicar muchos filtros, transiciones de caracteres, RegEx y demás (en total más de 70 cosas), trasladar toda la lógica a otro lenguaje sería complejo y para mi supondría desarrollar una GUI también xD.

El programa está desarrollado en Delphi (imagino que usará el motor RegEx de Delphi/Object-Pascal), con soporte adicional para usar scripts en pascal-script.



En StackOverflow formulé esta misma pregunta, aquí pueden encontrar más detalles:
http://stackoverflow.com/questions/32807698/regex-pattern-to-limit-dashes-in-these-circumstances

Desglosemos imaginariamente los nombres de archivo de esta manera:
Código:
[0]ARTIST   [1]DASH   [2]TRACK   [3]FEAT_ARTIST   [4]POSSIBLE_ADDITIONAL_INFO_INSIDE:()[]{}

Pues verás, yo llegué a la conclusión de que es imposible que exista una lógica para determinar cuando se debe separar (0)ARTIST de (2)TRACK, ya que ambos pueden contener varios guiones (Dj E-Nergy C-21 - Nombre-de-cancion feat loquesea), yo llegué a esa conclusión así que lo que intenté fue hacer algo mucho más realista, una exclusión, es decir, si (0)ARTIST o (2)TRACK contienen 1 guión, no modificar el string, limitar los guiones a uno algo cómo esto (\-){1} pero me has desarmado completamente al igual que el usuario que me respondió en StackOverflow mostrándome otra solución en Perl, ya no se si la conclusión a la que llegué fue inequivoca o no.

Cita de: explorer
Dj E-nergy C-21 - My Super-hero track! featuring Dj Ass-hole (usa remix)
Dj E-nergy C-21 featuring Dj Ass-hole - My Super-hero track! (usa remix)

Por ese motivo no entiendo en absoluto cual es la lógica que hay detrás para lograr separar correctamente los tokens del nombre del archivo cuando contienen varios guiones, ya que si no eres un humano no se puede saber lo que pertenece a un nombre y lo que no, ¿podrías explicármelo como lo conseguiste?, ¿supuestamente funcionará a pesar de la cantidad de guiones que pueda haber, sin margen de error?, para mi eso es mágia, no lo entiendo.

EDITO: Ah claro, ya lo entiendo, se busca un guión separado por espacios " - ", por eso sabes cuando partir, pero entonces eso no me sirve ya que el nombre del artista o el nombre de la canción también pueden contener un guión con espacios.

¡Ya decía yo que era imposible!. Entonces lo que realmente necesito es excluir los nombres, limitar la funcionalidad del Regex cuando solo exista un guión con espacios " - ", si se encuentran más guiones con espacios antes de la parte "...feat artists" entonces no modificar nada.

De todas formas, analizaré las partes de tu regex a ver si las puedo combinar en el orden en el que usas el join, a ver si de casualidad me funciona en el programa, pero yo creo que no me va a aceptar la sintaxis de (?:...).

Un saludo!
4745  Programación / Scripting / Re: como Crea un programa en Python 3.4 en: 28 Septiembre 2015, 10:33 am
Cree un programa en Python 3.4 que le solicite al usuario...

Aquí no se entregan trabajos para eso ya tienes freelance.com, este es un foro de aprendizaje, inténtalo por ti mismo, luego comparte el código y te diré(mos) donde fallaste o cómo avanzar.

Si tienes dudas sobre cómo empezar, entonces formula una duda sobre orientación, no pidiendo que te hagan un script.

Saludos
4746  Informática / Software / Re: Programa para comparar código y ver cambios en: 28 Septiembre 2015, 10:22 am
Productos profesionales, de pago, yo te recomiendo Araxis Merge, seguido de UltraCompare.






Si quieres algo mucho más simple, y gratuito, pues WinMerge, o WinDiff de Microsoft.





Saludos
4747  Media / Multimedia / MOVIDO: Duda con Algoritmo de Reconocimiento de Voz en: 27 Septiembre 2015, 20:25 pm
El tema ha sido movido a Programación General.

http://foro.elhacker.net/index.php?topic=442122.0
4748  Seguridad Informática / Análisis y Diseño de Malware / Re: Ayuda con Rat no conecta en: 27 Septiembre 2015, 16:44 pm
programar? como mucho descargar de internet XD

Ahí le has dao xD. Por eso lo moví.

Lo triste es que usuarios de buena fe como @ivancea96 le preguntan sobre el tema para ayudarle en el supuesto desarrollo del RAT, y el otro tipo, FlowerTFP, hace como que si, tocar variables y tal...



En fin.

Saludos
4749  Programación / .NET (C#, VB.NET, ASP) / Re: Cuenta regresiva a partir de una fecha (VB.Net) en: 27 Septiembre 2015, 16:08 pm
He puesto Option Explicit On a principio de código pero no me muestra ningún fallo.

Pero no estás activando la opción de los casteos ni desactivando la inferencia de types, solamente activaste la declaración explícita de variables.

Código
  1. Option Explicit On
  2. ' +
  3. Option Strict On
  4. Option Infer Off

Pruébalo de nuevo y verás de lo que te hablaba. :P

PD: Puedes activar por edefecto esas opciones para todos los proyectos/classes nuevos, en el menú Tools -> Options -> Projects and Solutions -> VB Defaults de Visual Studio.



También he visto que usas Shown en lugar de Load, ¿Cuál es la diferencia?

El evento Form.Shown se dispara cuando la ventana del Form se muestra.

El evento Form.Load se dispara cuando el Form se carga (esto ocurre antes de mostrar la ventana).

En el ejemplo de arriba lo usé por costumbre, nada relevante.



En cuanto a la librería de classes de .Net me gustaría que me dijeras como encontrar lo que busco cuando quiero hacer algo

Creo que no existe un artículo que especifique esos miembros equivalentes en la documentación de la MSDN, pero si que podemos encontrar esa tabla de miembros equivalentes en otras fuentes:
Visual Basic 6 to .NET Function Equivalents

Si lo que buscas no está ahí entonces siempre puedes formular una pregunta en el foro y con gusto te ayudaré. (pero en otro post. No hagamos demasiado offtopic en este hilo)



con los miembros Microsoft.VisualBasic es fácil intuir como contruir el código, además que es muy directo.

Nombres intuitivos si, pero solo eso. De todas formas los miembros que están fuera de ese namespace también son intuitivos, simplemente los desconocerás, pero intuitivos te aseguro que si lo son.

La gente suele pensar que me quejo demasiado de este asunto en concreto, que no me tengo que obsesionar con tanta "perfección" en el rendimiento por que da igual usar un método u otro con argumentos como los que has expuesto de que "es más intuitivo" o etc, así que despues de esto no se ya que pensarán, pero bueno, supongo que es mi deber intentar defender los buenos hábitos de programación .Net xD.

Para empezar, si aprendes a usar Microsoft.VisualBasic y te acostumbras a ello, en realidad no estás aprendiendo a usar .Net. Digamos que el Namespace Microsoft.VisualBasic es cómo el lenguaje Batch en programación, algo que está ahí, se le llama lenguaje, pero no se puede clasificar cómo lenguaje de programación realmente, pues eso mismo es el namespace Microsoft.VisualBasic, está ahí por cuestiones de compatibilidad, se puede usar siempre que lo necesites, pero lo mejor sería no utilizarlo por que no lo necesitas.

Todo lo que existe en Microsoft.VisualBasic es un código menos optimizado y son miembros con menos overloads (sustitutos). En resumen, la funcionalidad es más limitada.

Aparte, si vieras el código fuente (mediante reflection) verías que no es tan "directo" internamente hablando, hacen muchas vueltas y la mayoría de los métodos no se valen por si mismos así que en realidad son simples wrappers (gracias a dios) de los métodos optimizados de .Net, por ejemplo la función Microsoft.VisualBasic.Strings.Mid() (entre otras) en realidad se limitan a hacer unas evaluaciones irrelevantes del argumento y seguidamente llama a System.String.Substring(), vuelve a hacer las mismas evaluaciones del argumento (si. esto quiere decir que cuando llamas a Mid y a toda esa otra morralla, trabajan innecesareamente x2) y por último devuelve el valor que tenga que devolver, es quien hace el trabajo de verdad.

Aquí puedes ver una referencia del código fuente de la librería de classes de .Net Framework:
http://referencesource.microsoft.com/
(creo que es una referencia parcial)

Saludos
4750  Programación / .NET (C#, VB.NET, ASP) / Re: Pagina que hereda clase en: 27 Septiembre 2015, 15:18 pm
No manejo ASP.Net, pero de todas formas me parece que el problema que tienes es más bien de referencias y visibilidad de miembros, que no de herencia.

De todas formas sigo sin entender muy bien cual es el problema que tienes y quieres resolver, pero creo que si te puedo ayduar en algunas cosas que he notado:



1. La función PaginaBase.LoggedIn tienes que declararla compartida (shared) si pretendes usarlo aquí:
Citar
Código
  1. Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  2.    Dim isLogged As Boolean = PaginaBase.LoggedIn(Session)
  3. ...



2. ¿Por qué hay métodos definidos con sintaxis de C#?, ¿como este? (entre otros)
Citar
Código
  1. Private Sub InitializeComponent()
  2.    Base.Load += New EventHandler(Me.Page_Load)
  3. End Sub

¿Estás intentando traducir un código de C# a VB.Net?, ese código es incompilable ya que en VB.Net para asociar un evento a un controlador de eventos se debe usar la instrucción AddHandler

Código
  1. AddHandler Evento, Delegado

O haber declarado un objeto que pueda disparar eventos con el keyword WithEvents:

Código
  1. Dim WithEvents obj As PaginaBase
  2.  
  3. Private Sub Obj_Load(ByVal sender As Object, ByVal e As EventArgs) Handles obj.Load
  4. End Sub



3. Para poder suscribirte al evento, el método PaginaBase.Page_Load debe haber sido declarado compartido, o debes crear una instancia de la class PaginaBase para usar la referencia.

Código
  1. Imports System.Web.SessionState
  2.  
  3. Public Class PaginaBase : Inherits System.Web.UI.Page
  4.  
  5.    Public Sub New()
  6.        PaginaBase.Page_Load(Me, Nothing)
  7.    End Sub
  8.  
  9.    Friend Shared Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
  10.        ' ...
  11.    End Sub
  12.  
  13.    Public Shared Function LoggedIn(ByVal session As HttpSessionState) As Boolean
  14.  
  15.        Return (session("UserName") IsNot Nothing) AndAlso (session("UserID") IsNot Nothing)
  16.  
  17.    End Function
  18.  
  19. End Class

Código
  1. Public Class UCNavigation : Inherits System.Web.UI.UserControl
  2.  
  3.    Protected Overrides Sub OnInit(ByVal e As EventArgs)
  4.        MyBase.OnInit(e)
  5.        AddHandler MyBase.Load, AddressOf PaginaBase.Page_Load
  6.    End Sub
  7.  
  8.    Protected Overrides Sub OnLoad(ByVal e As EventArgs)
  9.  
  10.        MyBase.OnLoad(e)
  11.  
  12.        Dim isLogged As Boolean = PaginaBase.LoggedIn(Session)
  13.        ' etc...
  14.  
  15.    End Sub
  16.  
  17. End Class

Espero que esto te haya ayudado un poco aunque sea.

Saludos
Páginas: 1 ... 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 [475] 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 ... 1254
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines