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

lunes, 19 de mayo de 2014

Validar un carácter ASCII en una cadena de texto en C#


Con este metodo, se puede validar un carácter por el codigo ACSII de un String, el método recibe una palabra la cual se recorre carácter por carácterpara compararlo con un código ACSII puntual, para este ejemplo se valida el 31 = US ( Separador de unidades ) El cual no es un carácter imprimible, develve el string sin ese caracter encontrado.

public string ValidaAcsii(string texto)
        {
            string respuesta = string.Empty;
            for (int i = 0; i <= texto.Length-1; i++)
            {
                respuesta += (int)texto[i] != 31 ? texto[i].ToString() : string.Empty;
            }
            return respuesta;
        }

jueves, 20 de marzo de 2014

Exportar DataGridView a Excel C#



El siguiente código exporta una grilla DataGridView a un archivo Excel, el objeto dgvLog es el nombre de la grilla que se tiene en el formulario. Para este método se usa la librería
Microsoft.Office.Interop.Excel.dll


 try
            {
                if (dgvLog.DataSource != null)
                {
                    SaveFileDialog fichero = new SaveFileDialog();
                    fichero.Filter = "Excel (*.xls)|*.xls";
                    if (fichero.ShowDialog() == DialogResult.OK)
                    {
                        Microsoft.Office.Interop.Excel.Application aplicacion;
                        Microsoft.Office.Interop.Excel.Workbook libros_trabajo;
                        Microsoft.Office.Interop.Excel.Worksheet hoja_trabajo;
                        aplicacion = new Microsoft.Office.Interop.Excel.Application();
                        libros_trabajo = aplicacion.Workbooks.Add();
                        hoja_trabajo = (Microsoft.Office.Interop.Excel.Worksheet)libros_trabajo.Worksheets.get_Item(1);

                        //exportar cabeceras dgvLog
                        for (int i = 1; i <= this.dgvLog.Columns.Count; i++)
                        {
                            hoja_trabajo.Cells[1, i] = this.dgvLog.Columns[i - 1].HeaderText;
                        }

                        //Recorremos el DataGridView rellenando la hoja de trabajo con los datos
                        for (int i = 0; i < this.dgvLog.Rows.Count - 1; i++)
                        {
                            for (int j = 0; j < this.dgvLog.Columns.Count; j++)
                            {
                                hoja_trabajo.Cells[i + 2, j + 1] = this.dgvLog.Rows[i].Cells[j].Value.ToString();
                            }
                        }

                        libros_trabajo.SaveAs(fichero.FileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal);
                        libros_trabajo.Close(true);
                        aplicacion.Quit();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

viernes, 20 de diciembre de 2013

Acceder a un control desde un hilo C#

Para acceder a un control como un botón o un caja de texto se debe deshabilitar la propiedad encargada de esta excepción  CheckForIllegalCrossThreadCalls:

          CheckForIllegalCrossThreadCalls = false;

De esta forma permite acceder a un control.

sábado, 4 de mayo de 2013

Subir archivo por ftp en C#

El siguiente fragmento de código sube un archivo de una ruta a un servidor FTP, se debe tener la dirección IP o dominio, y el usuario y contraseña para la conexion.    

           // se asigna la dirección ip o dominio a subir el archivo y ruta
            FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://172.26.3.95/archivo.csv");
            request.Method = WebRequestMethods.Ftp.UploadFile;

            // FTP credenciales
            request.Credentials = new NetworkCredential("usuario", "contraseña");

            //archivo que se va a subir
            StreamReader sourceStream = new StreamReader("C:\\archivo.csv");
            byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
            sourceStream.Close();
            request.ContentLength = fileContents.Length;

            Stream requestStream = request.GetRequestStream();
            requestStream.Write(fileContents, 0, fileContents.Length);
            requestStream.Close();

            FtpWebResponse response = (FtpWebResponse)request.GetResponse();

            response.Close();

viernes, 9 de noviembre de 2012

Calcular días transcurridos entre dos fechas C#

Este metodo recibe dos fechas, inicial y posterior y devuelve el número de días transcurridos en esas dos fechas:


private int CalculateDays(DateTime oldDate, DateTime newDate)
    {
      // Diferencia de fechas
      TimeSpan ts = newDate - oldDate;

      // Diferencia de días
      return ts.Days;
    }

viernes, 30 de septiembre de 2011

Conexion ASP C# con PostgreSQL

Esta clase sirve para conectar un proyecto Web en asp con C# con la base de datos Postgresql, se debe reemplazar el nombre de la base de datos, el usuario y la contraseña, y se da la ruta del servidor, si es local se deja localhost, esta clase tiene el puerto por defecto de la base de datos.
Tiene metodos y atributos estaticos, o sea que no se instancia.

Recuerda que para usar esta clase debes tener la libreria  Npgsql para la conexion del proyecto con la base de datos. En esta pagina puedes bajarla:
http://npgsql.projects.postgresql.org/

public class Conexion
{
private static string connection = "server=localhost; port=5432;" +
  "Database=db;" +
  "User ID=usuario;" +
  "Password=contraseña;";
private static IDbConnection connect;
private static IDbCommand comando;
public static IDataReader reader;
public static IDbTransaction transaccion;
  public static IDataRecord update;
 public static void conexion()//con este metodo se abre la conexion
{
connect = new NpgsqlConnection(connection);
connect.Open();
}
  public static void executeQuery(string sql)/// este metodo recibe la cadena con la sentencia
{
comando = connect.CreateCommand();
comando.CommandText = sql;
reader = comando.ExecuteReader();
//updateQuery(sql);

}
  public static void insertQuery(String sql)// este metodo recibe la cadena con la sentencia
{
comando = connect.CreateCommand();
comando.Transaction = transaccion;
comando.CommandText = sql;
comando.ExecuteScalar();
}
  public static void updateQuery(String sql)// este metodo recibe la cadena con la sentencia
{
NpgsqlConnection conn = new NpgsqlConnection(connection);
conn.Open();
NpgsqlCommand comando = new NpgsqlCommand(sql, conn);

}

  public static void desconectar()//este metodo cierra la conexion del query
{
reader.Close();
comando.Dispose();
connect.Close();
}
  public static void desconectarinsert()// este metodo cierra la conexion del insert y update
{
comando.Dispose();
connect.Close();
}
}