08
Sep

Respaldo y recuperaci贸n de base de datos en Sql Server 2005

Hoy toca el turno de agregar algo relacionado con base de datos, para aquellos que se inician con el Sql Server y todav铆a no est谩n muy familiarizados con el c贸digo, les traemos este sencillo tutorial de como hacer el respaldo y recuperaci贸n de una DB en Sql Server.

El enlace est谩 aqu铆

Espero y les sirva.

16
Jul

KeyDown en el form y no en los controles.

Hola a todos los lectores, si por alguna razon o motivo han intentado mandar llamar el evento KeyDown en el Form, y no en los controles, se dar谩n cuenta que a diferencia de los controles, los form no inician el evento KeyDown.

Para todos aquellos que ard煤amente han intentado hacer esto sin algun logro…

La respuesta es:
Cambia la propiedad KeyPreview de tu form a聽 true, esto hara que al presionar una tecla, se desencadenen los eventos “KeyUp”, “KeyDown” y “KeyPress” del Form.

Espero haya sido de utilidad

Signature

14
Jul

Procesos en C# (System.Diagnostics)

En ocasiones es necesario controlar algunas aplicaciones, cerrar excel, word o en situaciones extremas hasta el explorer, en este art铆culo mostraremos aspectos b谩sicos del manejo de procesos por medio de System.Diagnostics.

Iniciar proceso

//Agrega el siguiente linea en el inicio de tu c贸digo
using System.Diagnostics;
//para iniciar cualquier proceso solo tienes que agregar la siguiente linea
//Process.Start("nombre del proceso");
//Ejemplo para abrir Office Word
Process.Start("winword");

Cerrar proceso

Para cerrar un proceso tenemos varios caminos, en esta ocasi贸n presentaremos dos m茅todos para cerrar un proceso:

Cerrar por nombre:

private void matarporNombre(string nombreproceso)
        {
            Process[] processList = Process.GetProcessesByName(nombreproceso);
            foreach (Process process in processList)
            {
 
                MessageBox.Show(process.Id.ToString());
                process.CloseMainWindow();
 
                process.Kill();
 
            }
 
        }

Cerrar por ID del proceso:

private void matarporId(int id)
        {
            Process process = Process.GetProcessById(id);
            process.Kill();
        }
26
May

Split en C#

En el siguiente c贸digo se muestra la forma de dividir una variable string y formar un arreglo con los elementos cortados:

           //Creamos una variable de tipo string y 
           //determinamos los valores que queremos separar
 
           string cadena = "1,2,3,4,5,6";
 
            // en un arreglo char guardamos el s铆mbolo que separar谩 cada uno de los n煤meros.
            //en este caso una coma ser谩 el caracter que separar谩 los n煤meros
 
            char[] separador = { ',' };
 
            //en un arreglo string guardamos cada uno de los elementos de la cadena con ayuda
            //del m茅todo Split
 
            string[] elementos = cadena.Split(separador);
 
            //Con ayuda de un foreach mostraremos los n煤meros que hay en el arreglo elementos
 
            foreach (string a in elementos)
            {
                MessageBox.Show(a);
            }
09
May

Sintetizar voz en tu aplicaci贸n

Esta vivaaaaaa!!!! je je

Para que tu aplicaci贸n sintetize voz, vamos a usar el Microsoft Sam (Aunque sirve mejor con otros sintetizadores, como por ejemplo el Loquendo TTS)

Primero que nada necesitamos hacer referencia a la clase System.Speech dentro de tu proyecto (No estoy seguro si ya se encuentra en el framework 2.0, creo que entra hasta el NET. Framework 3.0)

Al crear la referencia debemos buscarlo en la pesta帽a con el apartado de .NET, Si no lo encuentras listado, lo puedes localizar en la siguiente ubicaci贸n:

C贸digo:
C:\Archivos de Programa\Reference Assemblies\Microsoft\Framework\v3.0\System.Speech.dll

Ya que esta referenciada la clase procedemos a hacer referencia al namespace en nuestro codigo

C贸digo:
using System.Speech.Synthesis;

Ya que tenemos instanciado el namespace ahora si, instanciamos la clase SpeechSynthesizer, la cual nos permitira convertir el texto a voz. Existen otras clases en este espacio de nombres , incluso podemos exportar los sonidos a .wav y todo el rollo… pero en este caso solo hablaremos.

C贸digo:
//Instanciamos la clase 
SpeechSynthesizer sps = new SpeechSynthesizer();
//Asignamos el volumen en el maximo
sps.Volume = 100;
//Asignamos el valor de velocidad en 1 (Normal) 
sps.Rate = 1;
//Utilizamos el m茅todo speak (sobra decir para que es)
st.Speak("Hola Mundo!");

El metodo Speak es el unico que ocupamos para que emita el sonido articulado, existen otras clases dentro de la biblioteca, las cuales nos permiten exportar el sonido en .wav聽 y algunas otras curiosidades mas…

Saludos!

Signature

07
May

M脡TODO DE LA BURBUJA

En seguida tienen un ejemplo del famoso m茅todo de la burbuja, en este ejemplo lo utilizaremos para acomodar los valores de un arreglo de mayor a menor, aclarando que no es la metodolog铆a 贸ptima para este fin:

 
public static void Main(string[] args)
{
      //primero creamos nuestro arreglo de caracteres al cual
      //le aplicaremos el m茅todo burbuja y lo llamaremos "Valores":
      char[] Valores = new char[5];
 
      //Creamos una variable auxiliar tipo char:
      char aux = ' ';
 
      //Asignamos valores aleatorios a nuestro arreglo,
      //nunca de mayor a menor (que eso lo har谩 el m茅todo burbuja)
      Valores[0] = '8';
      Valores[1] = '4';
      Valores[2] = '3';
      Valores[3] = '7';
      Valores[4] = '9'; 
 
      //A continuaci贸n nuestro m茅todo burbuja, comenzamos recorriendo
      //nuestro arreglo de Valores:
      for (int a = 0; a < Valores.Length; a++)
      {
           //Dentro de nuestro recorrido, volvemos a recorrer el arreglo excepto nuestro valor actual:
           for (int b = 0; b < Valores.Length -1; b++)
           {
                //Comparamos nuestro valor actual, si es menor al siguiente en el arreglo, hacemos la
                //sustituci贸n, y asi al final tendremos acomodados nuestros valores
                if (Valores[b] < Valores[b + 1])
                {
                     aux = Valores[b];
                     Valores[b] = Valores[b + 1];
                     Valores[b + 1] = aux;
                }
           }
      }
 
      //En este punto los valores del arreglo ya estan colocados de mayor a menor:
      Console.WriteLine("Valores Colocado de mayor a menor");
 
      // Por 煤ltima vez recorremos nuestro arreglo pero ahora mostrando su valor y
      //nos daremos cuenta que estan acomodados de mayor a menor.
      for (int c = 0; c < Valores.Length; c++)
      { Console.WriteLine(Valores[c]); }
      Console.Read();
}

Esperamos que esta informaci贸n les sea de ayuda.

SALUDOS!

05
May

Progress Bar en Flex

En est茅 art铆culo explicaremos como usar una barra de progreso en Flex, las barras de progreso ayudan visualmente a los usuarios para determinar posibles eventos en la aplicaci贸n o p谩gina web y de est谩 manera no crear confusi贸n.

El c贸digo utilizado a聽 continuaci贸n fue sustra铆do de varios temas de la ayuda Flex Builder 3 (En Ingl茅s):



<?xml version="1.0" encoding="utf-8"?>
 
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" 
layout="absolute" width="900" height="600">
 
<mx:Script>
 
<![CDATA[
 
//Creamos el m茅todo que cargar谩 la imagen con ayuda de la funci贸n LOAD();
public function inicializarImagen():void {
 
//dentro del LOAD se especifica la ruta y el nombre del archivo
imagen.load('file:///C|/Users/documents/Pictures/ejemplo.png');}
]]>
</mx:Script>
<mx:VBox id="vbox0"
width="500" height="500">
 
//Creamos un objeto ProgressBar, la propiedad indeterminate debe ser "false"
//En el source deber谩 ir el nombre del objeto Image</strong></em>
<mx:Canvas>
<mx:ProgressBar width="200" source="imagen" maximum="100" indeterminate="false" enabled="true"/>
</mx:Canvas>
//En el siguiente bot贸n la propiedad clic ser谩 igual al metodo inicializarImagen()
<mx:Button id="myButton"
label="Mostrar"
click="inicializarImagen();"
/>
//En el objeto Image determinamos los valores de la imagen a cargar, 
//es importante que la propiedad autoLoad
//se encuentre en false.
<mx:Image id="imagen"
height="130" width="230"
autoLoad="false"
visible="true"
scaleContent="true"/>
</mx:VBox>
 
</mx:WindowedApplication>

Como ven el Flex nos permite hacer grandes cosas con poco c贸digo, en el ejemplo anterior es solo cuesti贸n de jugar con los componentes para ver que comportamientos se obtienen.


30
Apr

Condicional IF en Flex

En est谩 ocasi贸n les explico聽 como usar el IF en Flex con un peque帽o ejemplo :

En el ejercicio se pide una n煤mero y se determina si este es un n煤mero negativo, al final se muestran cuantos n煤meros negativos se han agregado.

//Declaramos una variable de tipo entero
 
var x:int;
 
//Declaramos una variable de tipo de entero inicializada en 0
 
var numerosNegativos:int = 0;
 
//Iniciamos condicionando la variable X, si el valor de X es menor a 0,
//  se crea una leyenda: 鈥淣煤mero negativo鈥.
 
if (x < 0)
 
{
 
trace(鈥漀煤mero negativo鈥);
 
//Se incrementa la variable numerosNegativos en una unidad.
 
numerosNegativos++;
 
}
 
// Al final se muestra en pantalla los n煤meros negativos que se han sumado.
 
trace(numerosNegativos);

El m茅todo trace(); sirve para capturar cualquier variable en la salida del depurador Flash player.

29
Apr

Uso del FileSystemWatcher

Hola a todos!

En este art铆culo vamos a ver como monitorear una carpeta, generalmente usamos esta t茅cnica para crear servicios de windows.聽Esta vez vamos a hacer un monitor basado en Windows Forms.

Primero vamos a hacer una ventana simple, con un RichTextBox:

Despues vamos a llamar el espacio de nombres System.IO dentro de nuestra clase

C贸digo:

using System.IO;

Despues vamos a colocar las siguientes l铆neas dentro de l metodo onLoad de la forma:

//Instanciamos la clase FileSystemWatcher
FileSystemWatcher fsw = new FileSystemWatcher();

//Se establece la ruta que se va a “vigilar”
fsw.Path = “C:\\tmp\\”;

// Se especifica que extensiones se van a monitorear
fsw.Filter = “*.*”;

// Se crean los disparadores de evento que se desean controlar
fsw.Renamed+=new RenamedEventHandler(fsw_Renamed);
fsw.Created+=new FileSystemEventHandler(fsw_Created);
fsw.Deleted+=new FileSystemEventHandler(fsw_Deleted);

// Se habilita el FileSistemWatcher , con esto se le indica que SI debe de observar archivos

fsw.EnableRaisingEvents = true;

}

//Evento que se activa al renombrar un archivo
private void fsw_Renamed (object sender, RenamedEventArgs e) {

//El evento escribe en el RichTextBox1, el nombre anterior del archivo y el nuevo, seguido de un salto de l铆nea
richTextBox1.Text += “El archivo “ +e.OldName + ” ahora se llama “+ e.Name +” \n”;
}
private void fsw_Created(object sender, FileSystemEventArgs e)
{
richTextBox1.Text += “El archivo ” + e.Name + ” ha sido creado \n”;

}
private void fsw_Deleted(object sender, FileSystemEventArgs e)
{
richTextBox1.Text += “El archivo ” + e.Name + ” ha sido borrado \n”;
}

Listo, ahora puedes correr tu aplicaci贸n, y crear, renombrar o borrar archivos en C:\ y ver谩s como la ventana detecta esos movimientos, puedes agregar m谩s disparadores de eventos.

Una buena idea es crear una aplicaci贸n de tipoWindows Service, para leer el tipo de archivo, si es .mp3 moverlo a tu carpeta de musica, o si es .doc .xls o .txt moverlos a tu carpeta de documentos,聽 o las imagenes moverlas a la carpeta de fotos, etc..聽聽聽聽聽聽聽聽 Hay muchas cosas que puedes hacer!

Espero que te haya gustado este mini tutorial

Fabian Logo