28 diciembre 2009
En C#: Función que devuelve la fecha actual en formato DateTime
La función que abajo uso sirve para inicializar con la fecha del momento un objeto DateTimePicker:
private DateTime getFechaActual()
{
int anio, dia, mes;
DateTime dtFecha;
anio=DateTime.Today.Year;
mes=DateTime.Today.Month;
dia=DateTime.Today.Day;
dtFecha = new DateTime(anio, mes, dia);
return dtFecha;
}
No más dificil será para adjudicar la hora, los minutos y los segundos.
22 diciembre 2009
Minimizar una aplicación hecha en C# mostrando su icono en la bandeja de sistema
¿Alguna vez quisieron que su aplicación tuviera un acceso en la bandeja de sistema (system tray) , a la izquierda del reloj, si están en Windows? Pues bien, el código que escribo a continuación, si programan con C#, hará que al minimizar la ventana, apareczca un acceso en la anterioremente nombrada bandeja. Mas cuando restauren la ventana, desaparecerá.
Para ello habrán de llevar al diseño del formulario la herramienta NotifyIcon. Cuando la tengan, podrán cambiarle la propiedad Icon cn un icono que exista en el disco duro. Entoncesese será el icono que aparezca en la bandeja del sistema.
Marcando el objeto notifyIcon1, en eventos, cliquen en DoubleClick, así meteran código en el evento. Este será el código:
private void notifyIcon1_DoubleClick(object sender, EventArgs e)
{
//Hacemos visible el formulario
this.Show();
this.WindowState = FormWindowState.Normal;
//Ocultamos el icono de la bandeja de sistema
notifyIcon1.Visible = false;
}
Con esto aún no tenemos resuelto el objetivo. Ahora se programará el evento Resize del formulario:
private void Form1_Resize(object sender, EventArgs e)
{
//Si el estado actual de la ventana es "minimizado"...
if (this.WindowState == FormWindowState.Minimized)
{
//Ocultamos el formulario
this.Visible = false;
//Hacemos visible el icono de la bandeja del sistema
notifyIcon1.Visible = true;
}
}
Así quedará la aplicación cuando la ventana sea minimizada (el mapa de España es el icono).
Esto lo hee sacado de la web http://www.locualo.net/programacion/minimizar-bandeja-del-sistema-system-tray-net/00000090.aspx
Saludos
Para ello habrán de llevar al diseño del formulario la herramienta NotifyIcon. Cuando la tengan, podrán cambiarle la propiedad Icon cn un icono que exista en el disco duro. Entoncesese será el icono que aparezca en la bandeja del sistema.
Marcando el objeto notifyIcon1, en eventos, cliquen en DoubleClick, así meteran código en el evento. Este será el código:
private void notifyIcon1_DoubleClick(object sender, EventArgs e)
{
//Hacemos visible el formulario
this.Show();
this.WindowState = FormWindowState.Normal;
//Ocultamos el icono de la bandeja de sistema
notifyIcon1.Visible = false;
}
Con esto aún no tenemos resuelto el objetivo. Ahora se programará el evento Resize del formulario:
private void Form1_Resize(object sender, EventArgs e)
{
//Si el estado actual de la ventana es "minimizado"...
if (this.WindowState == FormWindowState.Minimized)
{
//Ocultamos el formulario
this.Visible = false;
//Hacemos visible el icono de la bandeja del sistema
notifyIcon1.Visible = true;
}
}

Esto lo hee sacado de la web http://www.locualo.net/programacion/minimizar-bandeja-del-sistema-system-tray-net/00000090.aspx
Saludos
Cómo hacer un instalador en Visual Studio 2008
Tras echar un ojo en Google y encontrar http://facundoduran.wordpress.com/2008/02/29/como-hacer-un-instalador-en-visual-studio-2008 sólo me tuve que poner a seguir los pasos que Facundo Duran dictaba y acabé dándome cuenta de la sencillez de la operación.
Yo no seré tan explicatvo como él, mi paciencia es menor, o eso creo.
Entonces diré, les explicaré la operación con el proyecto EnviarEmails, que hay que ir hasta Generar-> Publicar EnviarEmails
Entonces les saldrá este formulario donde habrán de indicar la ubicación donde quieren que quede guardado el programa de instalación.

El segundo paso será indicar a partir de dónde descargar la aplicación. Normalmente usremos la última opción.

El tercer paso pregunta por dónde irá a buscar las actualizaciones. En mi caso pondré que de ningún sitio (última opción) porque no las habrá.

Lueg ya se finaliza.
Entonces habrá que ir hasta la carpeta donde se guardó el programa instalador y ejecutar Setup que ejecutará la aplicación que lleva por nombre el mismo nombre del proyecto. En este caso EnviarEmails.
Para desinstalar la aplicación deben de ir a la opción Agregar o quitar programas de Panel de control.

Saludos
Yo no seré tan explicatvo como él, mi paciencia es menor, o eso creo.
Entonces diré, les explicaré la operación con el proyecto EnviarEmails, que hay que ir hasta Generar-> Publicar EnviarEmails
Entonces les saldrá este formulario donde habrán de indicar la ubicación donde quieren que quede guardado el programa de instalación.

El segundo paso será indicar a partir de dónde descargar la aplicación. Normalmente usremos la última opción.

El tercer paso pregunta por dónde irá a buscar las actualizaciones. En mi caso pondré que de ningún sitio (última opción) porque no las habrá.

Lueg ya se finaliza.
Entonces habrá que ir hasta la carpeta donde se guardó el programa instalador y ejecutar Setup que ejecutará la aplicación que lleva por nombre el mismo nombre del proyecto. En este caso EnviarEmails.
Para desinstalar la aplicación deben de ir a la opción Agregar o quitar programas de Panel de control.

Saludos
Inno Setup 5: herramienta para crear instaladores para aplicaciones programadas con Visual Basic 6.0

¿Alguna vez han querido hacer, a partir de un ejecutable de un programa desarrollado en Visual Basic 6, un instalador que les permita instalar esa aplicación en cualquier ordenador, Windows, por supuesto? Yo si, pero no fue hasta hace unos días cuando me lancé a ello, entonces en Internet localicé a alguien que recomendaba Inno Setup 5. Y la verdad es genial. Su uso es sencillo y en un momento, y leyendo bien las opciones, porque aparece en inglés, puee generar un instalador de tus aplicaciones. Incluye selector de idiomas, la posibilidad de lanzar la aplicación tras instalarlo, la posibilidad de crear un acceso directo, de dar un icono al archivo (para que no sea el habitual de un pc y un disco al lado), de generar una aplicación de desinstalación... Y todo paso a paso.
17 diciembre 2009
Filtrando con Filechooserwidget
public void CrearFiltros()
{
Gtk.FileFilter filtro2 = new Gtk.FileFilter();
filtro2.Name="Imagenes DICOM";
//filtro2.AddMimeType("image/dicom");
filtro2.AddPattern("*.DCM");
filechooserwidget2.AddFilter(filtro2);
Gtk.FileFilter filtro1= new Gtk.FileFilter();
filtro1.Name="Todos los ficheros";
filtro1.AddPattern("*");
filechooserwidget2.AddFilter(filtro1);
}
{
Gtk.FileFilter filtro2 = new Gtk.FileFilter();
filtro2.Name="Imagenes DICOM";
//filtro2.AddMimeType("image/dicom");
filtro2.AddPattern("*.DCM");
filechooserwidget2.AddFilter(filtro2);
Gtk.FileFilter filtro1= new Gtk.FileFilter();
filtro1.Name="Todos los ficheros";
filtro1.AddPattern("*");
filechooserwidget2.AddFilter(filtro1);
}
Lo que este código hace es un filtro del objeto filechooserwidget2 de la clase Filechooserwidget. Este objeto tiene el siguiente aspecto:

Entonces con las lineas de arriba lo que hago es una filtración, para no poder seleccionar los archivos que no cumplan con el filtro indicado en esos momentos.
Nota: los archivos que no tengan extensión explicita sólo serán vistos desde la opción *.*, que permite la selección sin filtración.
05 diciembre 2009
Usar los ArrayList descartando los arrays básicos
Sencillamente expondré unas claves que harán caer en picado la popularidad de los Arrays, de toda la vida, por su evolucionado sucersor: El ArrayList.
Para hacer uso de los ArayList, en Java se debe escribir la línea import Java.Utils.ArrayList; que importará la clase ArrayList de la que se declará un objeto que luego se instanciara. Y en C# habrá que importar la clase Collections que existe dentro de System usando la palabra clave using. Luego, igual que en Java, se declará un objeto y se instanciará.
¿Pero cuáles son las ventajas de un objeto ArrayList sobre una variable array de cualquier tipo?
Para hacer uso de los ArayList, en Java se debe escribir la línea import Java.Utils.ArrayList; que importará la clase ArrayList de la que se declará un objeto que luego se instanciara. Y en C# habrá que importar la clase Collections que existe dentro de System usando la palabra clave using. Luego, igual que en Java, se declará un objeto y se instanciará.
¿Pero cuáles son las ventajas de un objeto ArrayList sobre una variable array de cualquier tipo?
- Un ArrayList colecciona objetos, un array colecciona dtos de un mismo tipo, que además es básico.
- Su tamaño. Es decir, cuando declaras un array debes indicar su tamaño al instanciarlo. Y si quieres incuir más valores para los que en origen se creó, deberás redimensionarlo, pero al hacer esto los valores introducidos con anterioridad sepierden. Esto no sucede con los ArrayList porque uno de sus constructores, los construye con tamaño indeterminado, por lo que no hay límite.
- El catálogo de métodos que tiene un objeto de ArrayList, de los que obviamente carece un array, que si se necesitan deberán programarse. Por ejemplo, a los arrays le faltan la funcionalidad de ordenar descendente y ascendentemente, de eliminar un item según un valor coleccionado, de limpiar su contenido a traves de una función, sin tener que realizar un bucle. Para saber si un array cuenta con un dato tendrás que recorrerlo entero. Sin embargo un ArrayList te devuelve el objeto que en la colección tiene ese valor.
Suscribirse a:
Entradas (Atom)