Etiqueta: Visual Studio

Posts relacionados con el entorno de desarrollo (IDE) de Visual Studio

  • en el día del libro (23 de abril), te regalo dos

     

    Pues eso… ya que estamos con el día del libro, te recuerdo que yo te regalo dos: uno de Visual Basic y otro de C#.

    En realidad ya te los estuve regalando (o al menos poniéndolo gratuitamente a tu disposición) desde finales de agosto del año pasado, pero… por si no has entrado en mi blog y/o en mi sitio desde hace tiempo… o simplemente has entrado, pero ni te has enterado (que también suele pasar). Así que… como no es extraño que se te pasen las cosas… aquí estoy yo para recordártelo, jejeje

     

    Nota:
    Las descargas se hacen desde la web de SolidQ y debes registrarte para poder descargarlos.

     

    Aquí tienes los enlaces para que te los descargue desde el sitio de SolidQ:
    (recuerda que tienes que estar registrado)

    Visual Basic:

    guille_novedadesVB9

    Novedades de Visual Basic 9.0 (Visual Basic 2008, LINQ, tipos y métodos anónimos, etc.)

    Visual C#:

    guille_aprendeCSharp3

    Aprenda C# 3.0 desde 0.0 – Parte 3: Lo nuevo (Visual Studio 2008, LINQ, tipos y métodos anónimos, etc.)

     

    Espero que te guste el regalo y sobro todo que te sigan siendo de utilidad.

    Nos vemos.
    Guillermo

  • Asignar el número de pista (track number) a un MP3

     

    Pues eso… que no sé si a ti te pasará, pero yo tengo "algunos" ficheros de música en formato MP3 que a pesar de haberlo convertido a partir de un CD original (ejem) no siempre se guarda la información completa en la cabecera del susodicho fichero MP3.

    Y como la mayoría de los reproductores de MP3 suelen clasificar las canciones por el número de pista, si dicho valor no está asignado, pues… imagínate qué follón…

    En vista que los dos (o tres) últimos smartphone que he tenido se empeñan en ordenar por el número de pista y harto de ir asignando manualmente dicho número, me he fabricado una pequeña utilidad (muy simple, ya verás) usando WPF (Windows Presentation Foundation) o lo que es lo mismo: utilizando un proyecto en XAML.

    Este programa te permite seleccionar (o procesar) todos los ficheros .mp3 de una carpeta (o directorio) y asignar el número de pista según exista en el nombre del fichero la siguiente secuencia:
    guión, cifra, guión
    Por ejemplo si tenemos este fichero: Slade-02-Coz I Love You.mp3:
    El número de pista es el número 2 y el título de la canción es "Coz I Love You".

    Además, también te permite asignar el nombre del álbum y del autor/cantante.
    Estos dos últimos datos se obtienen automáticamente de la canción elegida para indicar el directorio (ya que tienes que seleccionar un fichero .mp3 y así se sabe qué directorio quieres procesar). De todas formas, si ese fichero no tuviese los datos de la cabecera asignados puedes indicarlos de forma manual, ya que la aplicación asignará esos datos si las respectivas cajas de texto no están vacías.
    En cuanto al nombre o título de la canción sólo lo asignará si marcamos la opción correspondiente.

    Después te pongo los enlaces al código fuente (por ahora sólo para Visual Basic .NET).

     

    La información del MP3 está en lo que se conoce como la cabecera del fichero MP3 (MP3 header) y en su día busqué en la web ejemplos de cómo obtener esa información y di con un fichero ZIP que contenía una clase de Visual Basic .NET precisamente para acceder a dicha cabecera.
    Esa clase se llama MP3Info.vb y estaba contenida en un ZIP con el nombre vbmp3header_src.zip y la verdad es que no recuerdo de dónde la descargué. El autor supongo que es alemán ya que en el fichero AssemblyInfo.vb que se incluía también en el zip estaba en alemán, pero sin datos personales.

    Nota:/Actualización
    Haciendo una nueva búsqueda he dado con el artículo en Code Project en el que está ese fichero ZIP y como internamente coinciden las fechas, pues… debe ser de donde lo bajé o al menos ese debe ser el autor "de verdad".
    Dicho artículo (enlace incluido) es: Read MP3 header information and read/write the ID3v1 tag

    (By Thommy Mewes, 1 Mar 2005)

    El fichero (MP3Info.vb) que yo he usado está modificado con respecto al original, así que, ese será el que te muestre con el código y que publicaré en pastebin.

     

     

    Aquí tienes una captura del "formulario" en modo de diseño y el código (para Visual Basic) te lo dejo inicialmente en mi cuenta de pastebin, después si decido dejar el proyecto completo en algún otro sitio (por ejemplo en mi sitio de descargas) ya te informaré o mejor aún, ya pondré los enlaces correspondientes.

     

    Asignar MP3 Track MainWindows
    El formulario en modo de diseño

     

    Como ves, no te muestro (código con los) detalles de lo que hace el programa… pero de todas formas la parte importante es (o debería ser) el código para acceder a la cabecera de los ficheros MP3.
    De todas formas no sé si te pasará lo mismo que a mí con los ficheros MP3, pero si te pasa y quieres el ejecutable… me lo dices en los comentarios y ya te lo dejo por ahí en mi sitio de descargas.

    Sea como sea, te pongo el código completo en pastebin y ya lo vas compilando y esas cosas…

    Aquí tienes los enlaces individuales para que puedas usar el código creando un proyecto nuevo del tipo WPF:

     

    ¡Que asignes los números de pista bien! 😉

     

    Nos vemos.
    Guillermo

  • Error al usar una DLL de COM (ActiveX) en Windows 8 (x64)

     

    Pues eso… que estaba yo actualizando al Visual Studio 2012 una aplicación que hace un par de años me funcionaba en Windows 7 con Visual Studio 2010 y en el que utilizo un componente ActiveX (COM) creado con Visual Basic 6.0. Pero a la hora de usarlo me da este error:
    Retrieving the COM class factory for component with CLSID {6366501A-4960-4E2D-8E09-00F022ACD30E} failed due to the following error: 80040154.

    Y después de varias búsquedas en google y desechar las que indican que hay que registrar el OCX/DLL con permisos de administrador (eso ya lo sabía yo desde Windows Vista, jeje) y ver que lo único "medio válido" es un comentario de que compile la DLL a 64 bits, me digo yo a mi mismo (algunas veces hablo con mi otro yo) ¿y si es cosa de que debe estar en modo x86?

    Así que, me voy al Visual Studio 2012 (en realidad no es que me vaya, está algo complicado de que me pueda meter yo por la pantalla… si no que centre mi atención en el VS) y cambio en la ficha de Compilación (Compile) que en vez de AnyCPU sea x86, el cambio lo hago en los tres proyectos que utiliza lo que estoy mirando (aunque creo que sólo sería necesario en el ejecutable no en las 2 dll, pero por si las flais, lo cambio en todos).

    ¡Y funciona!

     

    Así que… aquí estoy contándotelo por si alguna vez te pasa (o me vuelve a pasar a mí y no me acuerdo del tema…)

     

    Espero que te sea de utilidad y acuérdate de "donar" algo… que si no… ¡que malamente está la vida! ¡ay! en fin…

     

    Nos vemos.
    Guillermo