Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eleкtro

#7721



DESCRIPCIÓN:

Mastermusik Manager es una aplicación con el fin de organizar una colección de música de una forma peculiar.

Las opciones que incluye este organizador son:

· Borrar atributos de archivo.

· Convertir cualquier archivo NO MP3 a MP3.
 Cuando se activa esta opción, los archivos no MP3 se convierten a MP3 usando el Bitrate de codificación más cercano al archivo original.

· Específicar un Bitrate máximo.
 Cuando se activa esta opción, se establece un máximo bitrate permitido para todas las canciones,
 cualquier archivo MP3 de bitrate superior al especificado, se re-convertirá al bitrate especificado.

· Eliminar etiquetas ID3v1 e ID3v2.

· Aplicar una gancia NO destructiva (ReplayGain).

· Renombrar archivos a minúscula, mayúscula, etc...

· Renombrar el caracter guión "-" de los archivos.
 Esta opción lo que hace es renombrar el guión unicode por el guión de toda la vida.

· Reparar archivos corruptos.
 Al activar esta opción, se analizarán los archivos (solo los de formato MP3) en busca de corrupciones internas, si se encuentra algun error en el archivo se intentará reparar.

· Reportar coincidencias en el nombre.
 Cuando se activa esta opción, serán reportados los archivos que coincidan con el criterio de búsqueda especificado.

  · Abrir los archivos reportados todos a la vez en programa externo...
    En combinación con la opción de "Reportar coincidencias en el nombre", al terminar el proceso se ejecutará la aplicación externa especificada, pasándole como argumento los nombres de los archivos reportados.

· Eliminar líricas obsoletas.
 Al activar esta opción, se usará el nombre del archivo de la lírica para buscar la canción (con el mismo nombre), si la canción no se encuentra, el lyric se enviará a la papelera de reciclaje.

· Convertir líricas LRC a TXT.
 convierte líricas multimedia a archivos de texto plano.


Nota:
La aplicación depende de varias utilidades commandline, y esto es por una sencilla razón, porque no hay librerías o wrappers parecidos, y porque el tiempo que llevaría desarrollar por mi cuenta dichas librerías en .NET llevaría una vida entera, por no decir que además nunca llegarían a ser utilidades tan perfectas como las desarrolladas por los propios autores, que son los que entienden a la perfección de ese tema específico.


IMÁGENES:

   

   


DEMOSTRACIÓN:


[youtube=720,480]http://www.youtube.com/watch?v=RZwyRhbWNkM[/youtube]


DESCARGA:
http://elektrostudios.tk/MasterMusik%20Manager.zip

Incluye source y compilado.
#7722
Scripting / Re: Introduccion a los scripts.
16 Noviembre 2013, 03:27 AM
http://foro.elhacker.net/dudas_generales/script-t402880.0.html;msg1898069#msg1898069 el compañero Simorg ya fue bastante comprensivo contigo... :rolleyes: A mi parecer se te ha dado la información necesaria.

Cita de: jemez44 en 15 Noviembre 2013, 18:17 PM¿se crean con programas?
Se pueden crear a la antigua usanza (con el bloc de notas) pero para esto debes conocer bien el lenguaje,
hay programas denominados "IDE" (Integrated development environment) que te facilitan la tarea de desarrollar un Script para un lenguaje específico.
El requisito esencial para crear/correr un Script es disponer del intérprete del lenguaje para poder ejecutarlo (interpretarlo), luego existen ciertos programas (llamados erroneamente compiladores) para hacer independiente un Script de su intérprete, consiguiendo que el Script se pueda ejecutar en cualquier máquina sin necesidad de tener instalado el intérprete del lenguaje, pero esto ya lo aprenderás más adelante.

Si te estás preguntando que es un intérprete, es el motor de software que se encarga de traducir el código fuente para representar las instrucciones escritas y ejecutarlas, es decir, es aquello que te instalas y te permite ejecutar un Script de un lenguaje específico:
http://www.python.org/download/
https://www.ruby-lang.org/en/downloads/
http://www.perl.org/get.html#win32

(no confundir la IDE con el Intérprete, suele ir todo junto en los paquetes oficiales, junto a más utilidades, pero son cosas muy distintas)

Cita de: jemez44 en 15 Noviembre 2013, 18:17 PM¿hay varios tipos de scripts o todos son de la misma naturaleza?
Hay muchos lenguajes de Scripting diferentes por lo tanto muchos intérpretes distintos y muhas instrucciones distintas, y hay lenguajes dependientes del sistema operativo, como son Batch y Bash, un Script de Bash no lo puedes ejecutar en Windows ni uno de Batch en Linux, un Script con instrucciones de Python no lo puedes leer en Ruby como si se tratase de un Script de Ruby, ni viceversa..., cada lenguaje tiene su sintaxis y se representa de distinta manera y necesita su intérprete para ser leido, aunque, como antes, hay excepciones para todo esto que acabo de comentar las cuales nos permiten ejecutar un Script de Bash en Windows o combinar distintos lenguajes, pero son cosas que ya aprenderás si lo llegas a necesitar.

El siguiente enlace te ayudará a entender algunas definiciones básicas del Scripting y de la programación general, y si quieres luego puedes seguir leyendo el resto del tutorial, ya que los primeros temas están escritos en modo "para tontos" y hace referencia al lenguaje más sencillo y simple, Batch.

Tutorial extendido de aprendizaje Batch
1. DEFINICIONES


Saludos
#7723
Cita de: peluzon en 15 Noviembre 2013, 17:25 PMEl tema ahora es como hago para poner la cabecera del reg automaticamente...

Te refieres a hacer esto?:

REM Cabecera
Echo Windows Registry Editor Version 5.00>"Script.reg"

REM Más datos
For ... echo datos>>"Script.reg"


saludos
#7724
Scripting / MOVIDO: combinar números
15 Noviembre 2013, 14:23 PM
#7725
Dudas Generales / Re: combinar números
15 Noviembre 2013, 14:21 PM
Se denominan permutaciones y combinaciones. Existen infinidad de programas y servicios online para generar dichas combinaciones, googlea un poco, busca por "word generators",
además, en el buscador del foro puedes encontrar varios scripts para realizar la tarea que necesitas, tanto mios como de otros usuarios, busca por "IceGen" o "StringGenerator".

PD: No da la sensación de que busques un script ni tampoco de que te vayas a esforzar por codearlo (puesto que pides un software ya hecho y no la manera de hacerlo), muevo el post a otro lugar más apropiado.

Saludos!.
#7726
Cita de: luis456 en 14 Noviembre 2013, 13:24 PM
por cierto te llego mi privado ?

Hola

si, ya lo he visto no te preocupes, en cuanto pueda le daré prioridad a eso y te comento algo.

un saludo!
#7727
Cita de: luis456 en 14 Noviembre 2013, 06:57 AMDonde puedo conseguir una rutina de tiempo para que...

Librería de Snippets

(descarga el zip y busca por Trial)
#7728
El equivalente al sizeof de C#:

Código (vbnet) [Seleccionar]
#Region " SizeOf "

   ' [ SizeOf ]
   '
   ' // By Elektro H@cker
   '
   ' Examples :
   '
   ' MsgBox(SizeOf(1L))      ' Result: 8
   ' MsgBox(SizeOf(Of Long)) ' Result: 8

   Public Function SizeOf(Of T)() As Integer

       Try
           Return System.Runtime.InteropServices.Marshal.SizeOf(GetType(T))
       Catch ex As ArgumentException
           Return -1
       End Try

   End Function

   Public Function SizeOf(ByVal [Object] As Object) As Integer

       Try
           Return System.Runtime.InteropServices.Marshal.SizeOf([Object])
       Catch ex As ArgumentNullException
           Return -1
       Catch ex As ArgumentException
           Return -1
       End Try

   End Function

#End Region







Una forma sencilla de obtener el HBitmap de una imagen no Bitmap (util para añadirlo a un módulo de extensiones)...

Código (vbnet) [Seleccionar]
       Dim Hbitmap As IntPtr = CType(PictureBox1.Image, Bitmap).GetHbitmap()
       PictureBox2.BackgroundImage = Image.FromHbitmap(Hbitmap)


Código (vbnet) [Seleccionar]
   Private Function Get_Image_HBitmap(ByVal Image As Image) As IntPtr
       Return CType(Image, Bitmap).GetHbitmap()
   End Function
#7729
Quiero compartir con ustedes este SystemMenu Manager, como su nombre indica, es un ayudante para manejar el SystemMenu, le añadi infinidad de métodos y el uso de eventos para manejar de forma sencilla los items que agreguemos... además lo he documentado todo muy bien, aunque me he dejado bastantes comentarios XML (es bastante tedioso), a pesar de las 1.600 lineas de código, aun le faltaría añadir bastantes métodos más, pero bueno, por el momento así está muy bien, espero que lo disfruten.


Unas imágenes:

   

   




Un ejemplo de uso:

( Nótese que todos los métodos tienen su overload para utilizar una posición de item en lugar de un item predefinido. )

Código (vbnet) [Seleccionar]
Public Class Form1

    Private WithEvents SystemMenu As New SystemMenuManager(Me)

    Private Shadows Sub Shown() Handles MyBase.Shown

       ' Gets the total amount of menu items.
       ' MsgBox(SystemMenu.GetItemCount())

       ' Sets the menu background color.
        SystemMenu.SetMenuBackColor(Color.Teal)

       ' Sets the menu style.
       ' SystemMenu.SetMenuStyle(SystemMenuManager.MenuStyle.AUTODISMIS)

       ' Sets the state of the Close button and menu item.
       ' SystemMenu.SetItemState(SystemMenuManager.Item.Close, SystemMenuManager.ItemState.Disabled)

       ' Sets the Bitmap image of the Move menu item.
       ' SystemMenu.SetItemBitmap(SystemMenuManager.Item.Move, New Bitmap("C:\File.png"))

       ' Gets the Bitmap image of the Move menu item.
       ' Dim bmp As Bitmap = SystemMenu.GetItemBitmap(SystemMenuManager.Item.Move)

       ' Removes the Bitmap image of the Move menu item.
       ' SystemMenu.RemoveItemBitmap(SystemMenuManager.Item.Move)

       ' Adds a separator at the bottom.
        SystemMenu.AddSeparator(SystemMenuManager.DefaultPositions.Last)

       ' Adds an item at the bottom.
        SystemMenu.AddItem("Hello World!", 666, SystemMenuManager.DefaultPositions.Last)

       ' Gets the ID of an item.
       ' MsgBox(SystemMenu.GetItemState(SystemMenuManager.Item.Move).ToString)

       ' Gets the text of an item.
       ' MsgBox(SystemMenu.GetItemText(SystemMenuManager.Item.Move))

       ' Gets the state of an item.
       ' MsgBox(SystemMenu.GetItemState(SystemMenuManager.Item.Move).ToString)

       ' Sets the text of an item.
       ' SystemMenu.SetItemText(SystemMenuManager.Item.Move, "Muéveme")

       ' Checks if a handle is a menu handle.
       ' MsgBox(SystemMenu.IsMenuHandle(IntPtr.Zero))

       ' Disable all the menu items.
       ' SystemMenu.DisableAllItems()

       ' Re-enable all the menu items.
       ' SystemMenu.EnableAllItems()

       ' Remove all the menu items.
       ' SystemMenu.RemoveAllItems()

       ' Restore the menu to defaults.
       '  SystemMenu.Restore_Menu()

       ' Dispose the SystemMenuManager Object.
       ' SystemMenu.Dispose()

End Sub

        ' SystemMenu [MenuItemClicked]
       Private Sub SystemMenu_MenuItemClicked(
               ByVal MenuHandle As IntPtr,
               ByVal e As SystemMenuManager.ItemClickedEventArgs
       ) Handles SystemMenu.ItemClicked

           Dim sr As New System.Text.StringBuilder

           sr.AppendLine(String.Format("Item ID   : {0}", CStr(e.ID)))
           sr.AppendLine(String.Format("Item Text : {0}", e.Text))
           sr.AppendLine(String.Format("Item Type : {0}", e.Type.ToString))
           sr.AppendLine(String.Format("Item State: {0}", e.State.ToString))

           MessageBox.Show(sr.ToString, "SystemMenuManager", MessageBoxButtons.OK, MessageBoxIcon.Information)

    End Sub

End Class



La Class la pueden ver en ESTE enlace de pastebin (no cabe en este post).
#7730
Cita de: binario010101 en 13 Noviembre 2013, 02:23 AMcreo que es mejor un bat.

Tu script (y tu pregunta) es sobre VBS,
de todas formas en los dos lenguajes es igual de sencillo, aunque en Batch tienes que limpiar el output (para variar).

-> Re: [AYUDA][VBS] Duda sobre la copia y renombrado automatico de archivos
-> Re: bat que detecte automaticamente usb???

En el buscador del foro puedes encontrar más ejemplos mios tanto en VBS como en Batch, además supongo que también habrá ejemplos de otros usuarios, y luego está Google.

Saludos!