Mostrando entradas con la etiqueta C#. Mostrar todas las entradas
Mostrando entradas con la etiqueta C#. Mostrar todas las entradas

lunes, 4 de enero de 2016

Saber si es número con C#

Con expresiones regulares sabremos si un string es número en C#.

De forma que si la cadena de caracteres es un número devolverá True.

String cadena = "10";

RegexOptions options = ((System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace | System.Text.RegularExpressions.RegexOptions.Multiline) | System.Text.RegularExpressions.RegexOptions.IgnoreCase); 

Regex expresion= new System.Text.RegularExpressions.Regex("^-?\\d+\\.?\\d*$", options); 

bool esNumero = (expresion.Match(cadena.Replace(",", "."))).Success;

domingo, 3 de enero de 2016

Instalar/desinstalar servicio windows .NET C#

Para instalar o desinstalar un proyecto lo que vamos a utilizar es la utilidad de windows: InstallUtil.exe.

Lo primero es compilar el proyecto en modo release, una vez hecho eso y si la compilación ha sido correcta, en la carpeta de release se habrán generado los ficheros para ejecutar el proyecto.

Posteriormente podremos instalarlo, en nuestro caso la instalación y desinstalacion será así:

  • Instalar servicio windows:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\installutil.exe c:\carpetaDelServicio\proyecto.exe

  • Desinstalar servicio windows:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\installutil.exe -u c:\carpetaDelServicio\proyecto.exe 

lunes, 28 de diciembre de 2015

Generar XML con StringWriter con C#

Os muestro una forma sencilla de generar un XML, a partir de la clase StringWriter en C#.
Lo primero es crear el objeto:

StringWriter sw = new StringWriter(new StringBuilder(String.Empty));
XmlTextWriter xmlWriter = new XmlTextWriter(sw);
xmlWriter.Formatting = Formatting.Indented;
xmlWriter.Indentation = 5;  // Tabulaciones en el XML


 A continuación indicarle la codificación:


xmlWriter.WriteProcessingInstruction("xml", "version=\"1.0\" encoding=\"UTF-8\"");
 

Posteriormente creamos las etiquetas que necesitemos, en este caso creamos una etiqueta "BLOG", antes de cerrarla con xmlWriter.WriteEndElement(); podemos crear más etiquetas dentro de la etiqueta BLOG, en este caso creamos etiquetas ENTRADA, que como se puede ver se le puede agregar atributos gracias a la función: WriteAttributeString.

xmlWriter.WriteStartElement("BLOG");
    xmlWriter.WriteStartElement("ENTRADA");
        xmlWriter.WriteAttributeString("CODIGO", "1");
        xmlWriter.WriteAttributeString("DESCRIPCION", "Generar XML 1");
    xmlWriter.WriteEndElement();
   
    xmlWriter.WriteStartElement("ENTRADA");
        xmlWriter.WriteAttributeString("CODIGO", "2");
        xmlWriter.WriteAttributeString("DESCRIPCION", "Generar XML 2");
    xmlWriter.WriteEndElement();
   
xmlWriter.WriteEndElement(); // Cierre etiqueta BLOG

String cadenaXML = sw.ToString();


La cadena de texto con el XML quedaría de la siguiente forma:

<?xml version="1.0" encoding="UTF-8"?>
<BLOG>
     <ENTRADA CODIGO="1" DESCRIPCION="Generar XML 1" />
     <ENTRADA CODIGO="2" DESCRIPCION="Generar XML 2" />
</BLOG>

Generar código de barras (Imagen) en C# y agregarlo en un informe

Lo que vamos a hacer es un fichero con extensión ashx, el cual es un fichero que se genera dinámicamente para crear en este caso una imagen, la imagen será un código de barras con el formato Barcoe128, por ejemplo para ponerlo en tu factura, para que lo paguen en el banco.

Una vez creada esta imagen lo vamos a poner en un informe, indicándole los parámetros adecuados para que genere el código barras concreto de una factura, por ejemplo pasandole el número único de la factura.

- Lo primero será generan el fichero ashx, en este caso: prueba.ashx, lo podréis crear en vuestro projecto, en Visual Studio, en este caso en C#:

<%@ WebHandler Language="C#" Class="prueba" %>

using System;
using System.Web;
using System.IO;

public class CodigoBarras : IHttpHandler
{   
    public string GetCode(HttpContext context)
    {
        string codigo = String.Empty;
        bool resultado = false;
        int? numeroFactura = String.IsNullOrEmpty(context.Request.QueryString["numeroFactura"]) ? null : (short?)Convert.ToInt16(context.Request.QueryString["numeroFactura"]);

        // Obtiene el texto con la información del código de barras
        // En posteriores entradas indicaré un ejemplo co la información del texto del código de barras
        if (numeroFactura.HasValue)
            resultado = facturaBL.ObtenerBarcode(numeroFactura, out codigo);

        if (resultado)
            return codigo;
        return null;
    }

    public void ProcessRequest(HttpContext context)
    {
        // Formato de código de barras 128
        iTextSharp.text.pdf.Barcode128 barcode = new iTextSharp.text.pdf.Barcode128();
        barcode.CodeType = iTextSharp.text.pdf.Barcode128.CODE128_UCC;

        // Obtiene el texto con la información del código de barras
        // En posteriores entradas indicaré un ejemplo co la información del texto del código de barras
        barcode.Code = GetCode(context) ?? String.Empty;

        //Establecer tipo mime
        context.Response.ContentType = "image/png";
       
        //Tamaño de la imagen one va alojado el código de barras
        System.Drawing.Bitmap imagen = new System.Drawing.Bitmap(363, 59);
        System.Drawing.Graphics graphics = System.Drawing.Graphics.FromImage(imagen);
        graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;

        // Pintar la imagen del código de barras
        graphics.DrawImage(barcode.CreateDrawingImage(System.Drawing.Color.Black, System.Drawing.Color.White), new System.Drawing.Point(30, 0));
        // Pintar el texto con el código de barras
        graphics.DrawString(barcode.Code, new System.Drawing.Font("Verdana", 7, System.Drawing.FontStyle.Regular), System.Drawing.Brushes.Black, new System.Drawing.Point(34, 22));
  
        // Guardar imagen
        using (MemoryStream stream = new MemoryStream())
        {
            imagen.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
            stream.WriteTo(context.Response.OutputStream);
        }
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }
}


Antes de ponerlo en vuestro informe podréis probarlo desde el navegador para ver si os sale correctamente:

http://localhost/prueba.ashx?numeroFactura=1

- Por último crear la imagen en un informe (SSRS Reporting Services)


1. Creamos la imagen:

Crear imagen



2. Vamos a las propiedades de la imagen y le vamos a indicar una expresión para recoger la imagen del fichero ashx.

Propiedades de la imagen


3. Le indicamos de donde va a coger la imagen dinámica y le pasamos como parámetro el número de la factura, que ya debemos tener en el propio informe.

Dirección de la imagen




Obtener el fecha máxima de un día en C#

Vamos a obtener la máxima fecha de un día en concreto.
De forma que si por ejemplo tenemos la fecha: 10/12/2015 al modificarla tendremos la fecha con el formato: 10/12/2015 23:59:59:999

DateTime fecha; // Indicar la fecha antes de agregarlela fecha máxima del día.
fecha = DateTime(fecha.Year, fecha.Month, fecha.Day, 23, 59, 59, 999);

sábado, 26 de diciembre de 2015

Comprobar si la hora de una cadena de caracteres es correcta en C#

Comprueba si el formato de una hora que esta en una cadena de caracteres es correcta. Si es así la función devolverá True.

public bool ValidarHora(string hora)
{
    string regex = "^([0-1][0-9]|[2][0-3]):([0-5][0-9])$";
    Regex reg = new System.Text.RegularExpressions.Regex(regex, options);
    Match match = reg.Match(hora);
    return match.Success;
}


jueves, 24 de diciembre de 2015

Pasar / Convertir una cadena de caracteres a DateTime en C#

Adjuntamos una función para convertir una cadena de caracteres a DateTime, en el caso de que la cadena no sea una fecha correcta la función devolverá un null.


public System.Nullable ConvertirStringADateTime(string date)
{
    DateTime retorno;

    if (DateTime.TryParse(date, out retorno))
        return retorno;
    else
        return null; 
}


Validar cadena de caracteres con solo números y letras en C#

Función que mediante una expresión regular comprueba que la cadena de caracteres solo tiene números y letras, si es así devolverá True.

public static bool ValidateAlphanumeric(string str)
{
    string regex = "[^a-zA-Z0-9]";
    Regex reg = new System.Text.RegularExpressions.Regex(regex, options);
    Match match = reg.Match(str);
    return !match.Success;
}


miércoles, 23 de diciembre de 2015

Comprobar si la fecha es correcta y validar el formato dd/mm/aaaa en C#

Mediante la función Regex para expresiones regulares vamos a comprobar en C# que la fecha es correcta y que tiene el formato dd/mm/aaaa. De forma que si la función devuelve True será correcta.

public bool ValidarFecha(string fecha)
{
    string regex = @"(((0[1-9]|[12][0-9]|3[01])([-./])(0[13578]|10|12)([-./])(\d{4}))|(([0][1-9]|[12][0-9]|30)([-./])(0[469]|11)([-./])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([-./])(02)([-./])(\d{4}))|((29)(\.|-|\/)(02)([-./])([02468][048]00))|((29)([-./])(02)([-./])([13579][26]00))|((29)([-./])(02)([-./])([0-9][0-9][0][48]))|((29)([-./])(02)([-./])([0-9][0-9][2468][048]))|((29)([-./])(02)([-./])([0-9][0-9][13579][26])))";
    Regex reg = new System.Text.RegularExpressions.Regex(regex, options);
    Match match = reg.Match(date);

    return match.Success; 

}

Validar un IBAN con C#

Os adjunto una función en c# que al pasarle una cadena de carácteres con el IBAN a validar este devuelve True si es correcta.

public static bool ValidateIBAN(string iban)
{
    if (string.IsNullOrEmpty(iban) || (!Regex.IsMatch(iban, "^[A-Z0-9]")))
    {
        return false;
    }

    iban = iban.Replace(" ", String.Empty);

    string iban2 = iban.Substring(4, iban.Length - 4) + iban.Substring(0, 4);

    const int asciiShift = 55;
    var sb = new StringBuilder();
    foreach (char c in iban2)
    {
        int x = Char.IsLetter(c) ? c - asciiShift : int.Parse(c.ToString());
        sb.Append(x);
    }

    string checkSumString = sb.ToString();
    int checksum = int.Parse(checkSumString.Substring(0, 1));
    for (var i = 1; i < checkSumString.Length; i++)
    {
        int v = int.Parse(checkSumString.Substring(i, 1));
        checksum *= 10;
        checksum += v;
        checksum %= 97;
    }
    return (checksum == 1);
}

viernes, 12 de marzo de 2010

Algunos métodos de DateTime para C#

Para obtener el mes en letras y no en número de un DateTime, osea (Enero, Febrero etc..) lo podemos sacar mediante:

fecha.ToString('MMMM');

Por ejemplo el caso de que fecha sea '12/03/2010' obtendríamos "Marzo"

Otro ejemplo sería si loq ue quieres es obtener el mes pero abreviado:

fecha.ToString('MMM');

Para la misma fecha antes menciona sacaría "Mar"

/**************************************************************/

Si lo que quieres es saber el número de días que tiene un mes de un año lo haremos de la siguiente forma:

int dias;
dias=DateTime.DaysInMonth(fecha.Year,fecha.Month);

Para el caso donde tenemos en fecha 11/03/2010, dias tendrá 31

/**************************************************************/

Si quisieramos saber los meses de diferencia entre una fecha y otra, lo sacamos así:

(fechaHasta.Year*12+fechaHasta.Month)-(fechaDesde.Year*12+fechaDesde.Month)

martes, 2 de marzo de 2010

Tareas pendientes C#

Buenas, hoy vamos a ver cómo se ponen y se muestran las "tareas pendientes" con el Visual Studio.
Con tareas pendientes, me refiero a eso fragmentos de código, que decimos: "bueno, dejo un comentario, y ya lo veré en el futuro" ó "lo hago así que es más cómodo y ya lo optimizaré".

El comentario que habría que hacer sería tal que así (dentro del código):

//TODO: mensage/aviso que queremos ver.

Una vez puesto esto en el código, salvamos.
Para ver las tareas pendientes, en el menú superior del VS, le daremos a "ver --> lista de tareas".
Y ya nos aparecerá una ventanita más con el listado de las tareas.
En la parte de comentarios, veremos el listado de los puestos en código, tanto el texto, cómo el archivo de la solución en el que aparece y la línea.
Desde esa ventana también se pueden crear "Tareas de usuario" generalizadas, así como tacharlas como realizadas o eliminarlas.

Esto, para proyectos que se van haciendo cada vez más grandes, puede llegar a ser muy útil.

jueves, 18 de febrero de 2010

Eliminar las etiquetas HTML y PHP de una cadena

En muchas ocasiones hay gente que os intentan poner código HTML por ejemplo en un input de nuestra web, para evitar esto existe la función :

strip_tags($cadena,$etiquetasPermitidas)

Por ejemplo si tuvieramos la cadena "<h2><b>Hola</b></h2>";
$cadena="<h2><b>Hola</b></h2>"

Podriamos evitar todas las etiquetas realizando la función dicha anteriormente:

$cadena=strip_tags($cadena);
De esta forma puedes ver que no saldra ni en negrita ni con el tamaño de la letra h2

También puedes decidir que etiquetas pueden salir, osea que evite todas menos las que le pongas por parámetros a esta función, un ejemplo sería este:

$cadena=strip_tags($cadena, '<b><h2>');

De esta forma evitaria las 2 etiquetas

$cadena=strip_tags($cadena, '<h2>');

Y de esta solo evitaría la negrita

lunes, 15 de febrero de 2010

Guardar Word en txt, xml y más

Bien, el problema a solucionar, es cuando tenemos (o recibimos) un documento en un formato, y lo que queremos obtener, mostrar o tratar es un documento en un formato distinto, bien pues vamos a ver un código sencillo y explicado que haría esto en pocos pasos optimamente:
1º Sería interesante que le hechárais un vistazo al anterior post, para ver interactuar bien con las herramientas en c# para MicrosoftWord.

//A la función se le pasa como parámetros el Path del documento existente y el que queremos tener, y devolvemos un entero para gestión de errores.

public int saveWordAsTxt(string inputWord, string outputTxt)
{
int result = -1;
//comprobamos que esté abierto el Word y que exista el documento de entrada
if (this.openApp && File.Exists(inputWord))
{
object oRuta = inputWord;
object readOnly = false;
object isVisible = true;
try
{
//Abrimos el documento
oWordDoc = oWord.Documents.Open(ref oRuta, ref readOnly, ref readOnly, ref oNulo, ref oNulo,
ref oNulo, ref oNulo, ref oNulo, ref oNulo, ref oNulo, ref oNulo, ref readOnly,
ref oNulo, ref oNulo, ref isVisible, ref oNulo);
//Ahora preparamos las opciones del documento que queremos tener
object fileName = outputTxt;
object fileFormat = Word.WdSaveFormat.wdFormatText;
//Importante, al poner wdFormatText es cuando le decimos el formato, en este caso .txt
object encoding = Microsoft.Office.Core.MsoEncoding.msoEncodingUTF8;
object lineEnding = Word.WdLineEndingType.wdCRLF;
//Salvar el documento con las opciones que le hemos dicho.
oWordDoc.SaveAs(ref fileName, ref fileFormat, ref oNulo, ref oNulo, ref oNulo, ref oNulo,
ref oNulo, ref oNulo, ref oNulo, ref oNulo, ref oNulo, ref encoding, ref oNulo,
ref oNulo, ref lineEnding, ref oNulo);
}
catch(Exception e)
{
//Manejo de excepciones, lo correcto sería capturarla.
}
finally
{
//Asegurarse de cerrar el documento pase lo que pase
object doNotSaveChanges = Word.WdSaveOptions.wdDoNotSaveChanges;
if (this.oWordDoc != null)
this.oWordDoc.Close(ref doNotSaveChanges, ref oNulo, ref oNulo);
}
}
return result;
}

Y hasta aquí el método, ahora dejo un enlace donde hay una tabla con todas las opciones con sus correspondientes formatos:

lunes, 23 de noviembre de 2009

Cambiar un numero a letras en C#

Si deseas cambiar un número a letras por ejemplo para ponerlo en un cheque aquí lo teneis mediante C#.

Un ejemplo:

String enLetra=NumToText(4320.20) ;
enLetra="Cuatro mil trescientos veinte con veinte";

public
static string NumToText(double value)
{
string enLetras = "";
//Pasar lo que hay en el decimal a entero
double decimales = (Math.Round(value - Math.Truncate(value),2))*100;
value = Math.Truncate(value);
if (value == 0) enLetras = "CERO";
else if (value == 1) enLetras = "UNO";
else if (value == 2) enLetras = "DOS";
else if (value == 3) enLetras = "TRES";
else if (value == 4) enLetras = "CUATRO";
else if (value == 5) enLetras = "CINCO";
else if (value == 6) enLetras = "SEIS";
else if (value == 7) enLetras = "SIETE";
else if (value == 8) enLetras = "OCHO";
else if (value == 9) enLetras = "NUEVE";
else if (value == 10) enLetras = "DIEZ";
else if (value == 11) enLetras = "ONCE";
else if (value == 12) enLetras = "DOCE";
else if (value == 13) enLetras = "TRECE";
else if (value == 14) enLetras = "CATORCE";
else if (value == 15) enLetras = "QUINCE";
else if (value < 20) enLetras = "DIECI" + NumToText(value - 10);
else if (value == 20) enLetras = "VEINTE";
else if (value < 30) enLetras = "VEINTI" + NumToText(value - 20);
else if (value == 30) enLetras = "TREINTA";
else if (value == 40) enLetras = "CUARENTA";
else if (value == 50) enLetras = "CINCUENTA";
else if (value == 60) enLetras = "SESENTA";
else if (value == 70) enLetras = "SETENTA";
else if (value == 80) enLetras = "OCHENTA";
else if (value == 90) enLetras = "NOVENTA";
else if (value < 100) enLetras = NumToText(Math.Truncate(value / 10) * 10) + " Y " + NumToText(value % 10);
else if (value == 100) enLetras = "CIEN";
else if (value < 200) enLetras = "CIENTO " + NumToText(value - 100);
else if ((value == 200) (value == 300) (value == 400) (value == 600) (value == 800)) enLetras = NumToText(Math.Truncate(value / 100)) + "CIENTOS";
else if (value == 500) enLetras = "QUINIENTOS";
else if (value == 700) enLetras = "SETECIENTOS";
else if (value == 900) enLetras = "NOVECIENTOS";
else if (value < 1000) enLetras = NumToText(Math.Truncate(value / 100) * 100) + " " + NumToText(value % 100);
else if (value == 1000) enLetras = "MIL";
else if (value < 2000) enLetras = "MIL " + NumToText(value % 1000);
else if (value < 1000000)
{
enLetras = NumToText(
Math.Truncate(value / 1000)) + " MIL";
if ((value % 1000) > 0) enLetras = enLetras + " " + NumToText(value % 1000);
}
else if (value == 1000000) enLetras = "UN MILLON";
else if (value < 2000000) enLetras = "UN MILLON " + NumToText(value % 1000000);
else if (value < 1000000000000)
{
enLetras = NumToText(
Math.Truncate(value / 1000000)) + " MILLONES ";
if ((value - Math.Truncate(value / 1000000) * 1000000) > 0) enLetras = enLetras + " " + NumToText(value - Math.Truncate(value / 1000000) * 1000000);
}
else if (value == 1000000000000) enLetras = "UN BILLON";
else if (value < 2000000000000) enLetras = "UN BILLON " + NumToText(value - Math.Truncate(value / 1000000000000) * 1000000000000);
else
{
enLetras = NumToText(
Math.Truncate(value / 1000000000000)) + " BILLONES";
if ((value - Math.Truncate(value / 1000000000000) * 1000000000000) > 0) enLetras = enLetras + " " + NumToText(value - Math.Truncate(value / 1000000000000) * 1000000000000);
}
//Si tiene decimales calcular las letras
if (decimales > 0)
enLetras = enLetras + " CON " + NumToText(decimales);
return enLetras;
}

viernes, 6 de noviembre de 2009

Cambiar de nombre (y crear y borrar) un fichero de texto con C#

La finalidad de este post va a ser tener 1 fragmento de código en el que queremos mover el contenido de un fichero a otro, esto luego podrá ser usado por ejemplo para sobreescribir existentes, o lo que sea, a su vez, se verá código de comprobación, que es para crear y/o borrar archivos de texto.
Voy a poner el código directamente y con comentarios explicar paso a paso lo que hago:

using System;
using System.IO;
class Test{
public static void Main()
{
string pathOrigen = @"c:\archivoOrigen.txt";
string pathDestino = @"c:\archivoDestino.txt";
try
{
if (!File.Exists(pathOrigen)) // Aqui comprobamos que el archivo origen existe
{
// sino, pues creamos uno (que estará en blanco) para que no salte 1 excepcion
using (FileStream fs = File.Create(pathOrigen)) {}
}
// Y aqui justo lo contrario, comprobamos que no existe el destino
//y si existe (caso sobreescribir) lo tenemos que borrar
if (File.Exists(pathDestino))
File.Delete(pathDestino);

// Y aqui usamos el metodo "move",
File.Move(path, pathDestino);
MessageBox.Show(pathOrigen + " a sido movido a " + pathDestino);

// Ver si el original aún existe
if (File.Exists(pathOrigen))
{
MessageBox.Show("El archivo original aún existe, caso inexperado");
}
else
{
MessageBox.Show("El archivo original no existe, caso experado");
} }
catch (Exception ex) //Si salta alguna excepción, mostramos la causa de ésta.
{
MessageBox.Show(ex.Message)
} } }

Despues de ejecutar este código se supone que si todo a ido correctamente, el archivo origen abrá desaparecido, y el destino se abrá creado (o sobreescrito) con el contenido del origen.

miércoles, 21 de octubre de 2009

Validar mail con expresion regular.

Vamos a ver 1 método para validar, mediante una expresión regular una dirección de correo electrónico, la expresión en sí, es una rápida puesta de ejemplo, que funciona bien, pero por internet se pueden encontrar muchas más, desde algunas que no van, hasta incluso algunas más optimas, esto es un ejemplo para una solución rápida o de iniciativa a usar E.R.

Primero de todo, hay que añadir en la cabecera de las librerías la siguiente para poder usar los objetos y métodos específicos de las clases regulares:

using System.Text.RegularExpressions;

Este es el método en si, se le pasa una cadena de texto por parámetro, y devuelve en un booleano true, si cumple con la expresión o false en caso contrario.


private static bool validarEmail(string email)
{
bool salida = false;
//expresion regular
string expresion = "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";
if (Regex.IsMatch(email, expresion) && (Regex.Replace(email, expresion, String.Empty).Length == 0))
salida = true;
return salida;
}

Ahora ya, cuando queramos comprobar si una cadena por ejemplo "jamon", es un mail válido, haremos
validarEmail("jamon"), y esto nos devolverá "false" obviamente.

sábado, 17 de octubre de 2009

Validar documento de extranjeria NIE con Javascript

Para validar el documento de extranjeria (NIE) el cual tiene el formato:
- Primeramente una letra que puede ser 'T' , 'X' , 'Y' y proximamente 'Z'
- Seguido de 9 números
- Y finalmente 1 letra de 'A' a las 'Z'

La expresion regular es:

^[XxTtYyZz]{1}[0-9]{7}[a-zA-Z]{1}$
Un ejemplo con javascript sería:
if (!(/^[XxTt]{1}[0-9]{7}[a-zA-Z]{1}$/.test(nie)) && nie!="")
alert('NIE incorrecto');

Donde si el valor de 'nie' es distinto a vacio pero no es correcto saldrá el alert.

martes, 18 de agosto de 2009

Obtener el objeto que realiza la función en C# con Sender

Muchas veces tenemos una función que utilizamos en diversos objetos de la web, de esta forma no podemos saber el objeto que llamo a ese evento, pero mediante el objeto Sender que se le pasa a la función podemos obtenerlo, por ejemplo si tenemos en ASP .NET 2 textbox que utilizan la misma función:

<asp:TextBox ID="tbPrueba1" runat="server" OnTextChanged="funcionPrueba">
<asp:TextBox ID="tbPrueba2" runat="server" OnTextChanged="funcionPrueba">

Mediante Sender podremos saber los datos de cada una en la función de esta forma:

protected void funcionPrueba(object sender, EventArgs e)
{
((DropDownList)sender).Text ...por ejemplo
}

miércoles, 15 de julio de 2009

Eliminar espacios al principio o al final de una cadena.Trim()

Si tenemos algún formulario en el que queramos estar seguros de que no hay espacios ni al principio ni al final de una cadena, se usa la funcion Trim().
Voy a poner un ejemplo en C# y otro en VB.net , en el caso de que se introdujera un nombre y un número en un formulario.

C#:
this.txtNombre.Text.Trim();
this.txtNumero.Text.Trim();


VB.net:
Me.txtNombre.Text.Trim()
Me.txtNumero.Text.Trim()


La función Trim() existe en muchísimos lenguajes, como PHP por ejemplo, y su uso es prácticamente el mismo.