Tag Archives: dev

Cómo implementar multiidioma en 5 pasos

24 Jun

Antes de conocer como funcionaba el multiidioma de un navegador, no es que ahora lo conozca en profundidad pero ya hemos roto el hielo, creía que se definía una vez, que lo mismo se puede, y te olvidabas. Tras investigar sobre el tema, la manera más utilizada, hay que recargarla en cada “Response”, así que comparto aquí cómo lo he implementado, espero que te sirva.

Pruebas realizadas con Microsoft Visual Studio Express 2013 for web, C#.

Sigue leyendo

Anuncios

C#, ¿qué ? y ¿cómo ?

2 Mar

Tras unos días ampliando mi zona de confort, que se lleva mucho ahora, con C# y la modificación de archivos pdf, recibidos como array de byte, he dejado para el recuerdo una serie de artículos que a lo mejor os sirven como orientación:

  • ¿Cómo convertir array de Byte en MemoryStream?
  • ¿Cómo recuperar un certificado con X509Certificates?
  • ¿Cómo incluir texto en un array de byte(pdf)?
  • ¿Cómo incluir texto en un array de byte(pdf)?

    26 Feb

    En este ejemplo intento mostrar como modificar un array de byte (pdf), añadiendo le un texto.

    Requisitos iTextSharp.

    Para este ejemplo tendréis que incorporar la siguiente librería.
    using iTextSharp.text.pdf;
    Sigue leyendo

    ¿Cómo recuperar un certificado con X509Certificates?

    26 Feb

    Los certificados son archivos que nos ayudan a proteger un fichero y evitar así que puedan ser modificados por terceras personas o máquinas que puedan suplantarnos.

    En este ejemplo intento mostrar como recuperar un certificado de una colección o almacén de certificados y firmar un array de byte.

    Requisitos X509Certificates y iTextSharp.
    Sigue leyendo

    ¿Cómo convertir array de Byte en MemoryStream?

    26 Feb

    Stream es la clase abstracta de todos los flujos de datos. Un stream es una abstracción de una secuencia de bytes, como un archivo, una entrada/salida a un dispositivo o un socket TCP/IP.

    En las pruebas que he tenido que realizar recibía un array de bytes que era un documento pdf, de ahí la nomenclatura.


    public byte[] Firmar(byte[] pdf, Firma firma, IPosicionTamanio posicion)
    {
    //Convertimos el array de byte recibido en Stream
    Stream pdfRecibido = new MemoryStream(pdf);
    }

    Ya sé que es muy sencillo, pero al ser parte de un todo he querido recordarlo.

    ¿Qué es y cómo usar un fichero de recursos?

    3 Feb

    En este artículo, que os aviso está basado en notas y puede que no quede tan claro como otros, veremos cómo crear, mantener y consumir un fichero de recursos.

    ¿Qué es un fichero de recursos?
    Los ficheros de recursos, son los archivos que no contienen código fuente, los datos de estos recursos se almacenan en formato xml y son constantes, valores fijos para toda la aplicación.
    Nos centramos en el uso de los recursos para la traducción de nuestra aplicación en diversos idiomas.
    Al distribuir la aplicación ha de incluir el ensamblado de la aplicación principal y el de los satélites o ficheros de recursos, nuevos o modificados. Cuando modifique un fichero de recursos, no será necesario volver a compilar el ensamblado de la aplicación principal.

    Creación de un fichero de recursos
    La creación de un fichero de recursos es tan sencilla como pulsar el botón derecho sobre la carpeta App_GlobalResources, añadir nuevo elemento y suministrar los valores necesarios a la ventana que aparecerá…

    Asignar un nombre y aceptar.

    Cargar datos en un fichero de recursos
    Una vez creado el fichero, podemos acceder a él, como siempre, haciendo doble click sobre él y se abrirá el fichero con un formato de tabla.

    Para añadir datos es tan sencillo como ir rellenando los datos:
    • Columna nombre: Identificador por el que se referencia el recurso.
    • Columna valor: Texto que mostrará cuando usemos el recurso.
    • Columna comentario: Comentario sobre su uso.

    Consultar el fichero de recursos
    Para poder utilizar el fichero de recursos creado en el apartado anterior, se puede hacer de dos maneras:
    i. Incluir en la página Code Behind (aspx.vb) la instrucción Imports Resources.
    ii. Sin incluir ningún imports.
    Dependiendo de si hemos declarado el uso del fichero Resources o no, tendremos que buscar los recursos de las siguientes formas para cargar nuestra variable de texto TxtMensaje:
    TxtMensaje = Resource.msg_NoSeHaEncontrado
    TxtMensaje = Resources.Resource.msg_NoSeHaEncontrado
    Incluyendo un manejador
    Dim rm As ResourceManager
    rm = ResourceManager.CreateFileBasedResourceManager(“strings”,”.”,Nothing)

    Ejemplo Asignación de los recursos(dependiendo de idioma)
    Para poder tener nuestra aplicación en varios idiomas, declaramos un fichero de recursos por cada idioma.

    Una vez declarados los ficheros de recursos, habría que declararse una variable en la que almacenar en que idioma mostrar la información, al ser una información dependiente de cada usuario, lo suyo sería declarar una variable de visible para toda la aplicación en la que almacenaríamos la opción elegida por el usuario.

    Hay varias maneras de mostrar los mensajes.
    1) Ejemplo, aunque he definido K y le he asigando un valor fijo, se podría sustituir, por el valor que este usuario tiene guardado en base de datos, o dependiendo de dónde se accede, o del que ha seleccionado en un combo en la web.

    Dim k As String = “ESPAÑOL”

    2) Ejemplo, dependiendo del valor de k, iremos a recuperar el valor que nos interesa, a modo de ejemplo.
    If k = “ESPAÑOL” Then
    CargarMensaje(Resources.SP.saludo)
    Else
    CargarMensaje(Resources.EN.saludo)
    End If

    Infragistics Toolbar, o como codificar un menú en 2 pasitos

    24 Dic

    Infragistics es una empresa dedicada entre otras cosas a generar controles ASP.NET avanzados que permiten crear de forma rápida experiencias de usuario superiores de estilo, con la estabilidad y el rendimiento necesarios para confiar en ellos a la hora de desarrollar.

    Uno de estos controles es el ToolBar o barra de menú, una vez instalado el control e insertado en nuestro formulario, hay que cargarlo en modo diseño, por ejemplo, aunque también se puede cargar por código pero eso lo dejo para otra entrada.
    Para la definición de las opciones del menú utilizaremos la opción del menú contextual del control seleccionando ActiveX Configure

    menu

    Paso 1 Cofiguración
    Al seleccionar la opción se nos abrirán dos pantallas, una con “como queda el menú” y otra con la definición de las diferentes secciones.
    menuConfig

    En la ventana “Configuration Control Panel” podemos crear nuevas opciones de nuestro menú con el botón New o editar las existentes con Edit es bastante sencillo, sólo hay que tener cuidado con el tipo de entrada. Button si es una opción de menú que nos abrirá un formulario o Menu si es una opción de menú que nos abrirá un submenú.

    Según se vayan declarando las opciones o una vez que tengamos todas creadas, eso da igual, hay que añadirlas al diseño del menú, en el orden y dentro del submenú en el que queramos que se muestren. Para esto no se necesita nada mas que seleccionar de la lista de elementos y arrastrarlo a la posición elegida en el menú. No pasa nada si no aciertas con el orden, lo puedes modificar tantas veces como quieras en diseño.

    Bien, supongamos que ya hemos introducido nuestro menú con sus sesenta elementos. Ahora en el código tendremos que ver que id nos han pulsado para poder definir la instrucción a realizar, y aquí está la finalidad de este artículo…
    ¿Vamos a escribirnos un “select” con las distintas opciones?, si lo hacemos así vamos a perder mucho tiempo y nos arriesgamos a que al ejecutar el id escrito a mano no concuerde con el escrito en la configuración.

    Fijaos en este primer plano de la imagen dos.
    MenuOpciones

    Paso 2 Exportar Id del menú
    Pulsando sobre la opción remarcada Copy Tools IDs To Clipboard AS VB ‘Select’ Stament, no necesita traducción, pero Copia los ID de las opciones como una sentencia ‘Select’ de VB. Sólo nos queda pegarlo en el evento ToolClick de nuestro menú.

    Espero que con este ejemplo pueda recordar como configurar y exportar los ID de un menú en el futuro y os sirva a vosotros…

    Sean felices desarrollando y feliz Navidad.

    La que has liado

    Fotografiar con palabras, nuestro momento, nuestra época. Del 1.1 al 2.0

    TERZERO

    Pio Baroja

    El árbol inútil

    Blog de cuentos, libros y mala poesía

    Lo que de verdad importa

    somos dueños de nuestro destino, inventores de nuestro futuro y nuestra felicidad...

    Frikstation

    Pasión por el mundo de la televisión, el cine, los videojuegos y su merchandising.

    A %d blogueros les gusta esto: