viernes, 18 de mayo de 2012

Try.. Catch.. Finally..


Hola!  Como todos sabemos, los errores que pueden producir un programa son muchos, ya sea por error del programador o por el usuario, pueden ser errores de escritura o errores lógicos en la parte de diseño, pero a la hora de ejecutarlo debido a la inexperiencia del usuario también genera muchos errores por ejemplo al querer introducirle texto a un valor numérico.
Este formulario funciona normal


Pero en este supongamos que el usuario ingreso letras

El resultado es un error, la caída del sistema.
Utilizando el try.. Catch.. evitaremos la caída del programa.
Enviandonos un mensaje para poder solucionar el problema.
Asi evitamos la caída del programa.


Este es otro ejemplo de cómo podemos utilizar el try catch
Utilizamos la función Shell la cual sirve para poder ejecutar un programa, aquí estoy buscando un juego en el disco local C y no hay ningún juego en mi disco local C. Asi que empleo el bloque Catch para enviarle un mensaje al usuario.
Y al dar clic en el botón, aparecerá el msj, gracias al Try Catch!
En este ultimo ejemplo queremos ejecutar una pagina web, pero ahí no hay ningún link de alguna pagina y por eso nos tirara error, podemos verlo aquí

Nos vemos!

Grafica-Reporte


Como hacer una grafica en un reporte paso a paso

Hola! Hoy les enseñare como hacer una grafica, o dos en un reporte. Para ello lo primero que tenemos que hacer es abrir un proyecto nuevo.

Le llamamos Grafica_Reporte. Siempre que creamos un proyecto ya nos trae incluido un formulario, le cambiamos el nombre y le ponemos frmReporteGrafica.




frmReporteGrafica/Clic derecho /Agregar/Nuevo Elemento




Datos/Conjunto de datos


Agregamos una tabla de Datos  ClicDerecho/Agregar/Tabla de Datos


Al nombre de la tabla de llamamos jornada y creamos columnas a las cuales les vamos a poner: Carrera,Matutina,Vespertina,Nocturna y Distancia



Ahora nos vamos a orígenes de datos y pasamos la tabla jornada al formulario





Agregamos un botón que le llamaremos agregar y haremos doble clic en el para poder aplicar el siguiente código


1)Creamos un datarow llamado fila, indicando el nombre del conjunto de datos que creamos, en este caso nosotros le llamamos DsJornada

2)Indicando que se aplicara en la tabla de datos que llamamos Jornada

3)Aplicamos en cada fila los datos que le vamos a agregar, en este caso los dejamos en blanco (“”) Carrera y las jornadas para que después podamos aplicar nosotros los datos.

4)Añadimos la fila al datagridview

No podemos agregar el reportviewer sin haber creado el reporte, asi que nos vamos al proyecto Grafica_Reporte/clic derecho/agregar/Nuevo elemento




Reporting/Informe

Nombre:rptGrafica


Ahora nos vamos al cuadro de herramientas y pegamos el elemento Lista


Y automáticamente nos agregara el origen de datos y el conjunto de datos.

Agregamos el elemento Grafico




Despues de pegarlo, lo cortamos, eliminamos el elemento lista y volvemos a pegar el Grafico.

Ponemos el titulo del grafico y en el campo agregamos Carrera, ya que vamos a poner los graficos por carrera.




Ahora en cada jornada de la parte de arriba. Clic Derecho/Propiedades de la seria. Clic en fx y le quitamos el count de cada jornada. Ej: =Fields!Matutina.Value


Nos quedara asi:







 Ahora para que en cada columna aparezca el numero que elegimos damos clic en la cada color de columna y nos vamos a

Propiedades/Label/Usevalue=True/Visible=True




Ahora si, nos vamos al formulario y agregamos un reportViewer

Y le ponemos rptGrafica. Asi creamos otro reporte llamándolo Grafica2 y hacemos lo mismo, nada mas que en esa grafica le ponemos el estilo pastel, después nos vamos al formulario y agregamos otro reportviewer y elegimos el informe Grafica2



Al ejecutarlo y añadirle información nos quedara asi!

Bueno, esto es todo, espero que hayan aprendido!



viernes, 11 de mayo de 2012

Hojas de Estilo (CSS)


Muy buen dia, a continuacion les explicare un poco sobre CSS. Primero que todo CSS es un lenguaje de hojas de estilo el cual ha sido diseñado o creado para los aspectos  en html y xhtml, es decir que con CSS la presentación de la pagina se miraría mucho mejor y evita mas trabajo en la misma.

Imagenes

Primero que todo, les explicare como aplicar una imagen de fondo en su pagina html con CSS. Primero que todo les dare el código para explicarlo.






Para incluir el CSS en nuestra pagina usamos la etiquete Style ahora bien, todo los códigos van dentro de la cabecera.. ej:

<Head>

<style type="text/css">

</style>

</Head>


Siempre se cierrra la etiqueta Style.

Ahora el sig código:

background-image: url(TeAmoJesus.jpg); “Ponemos la direccion de nuestra imagen, en este caso la mia se llama TeAmoJesus.JpG”

background-repeat: repeat; “Este codigo nos indica si queremos repetir la imagen, en este caso yo le puse repeat que significa que va a repetir mi imagen de fondo”

background-position: center; “y por ultimo la posicion del fondo, que sería centrado”



Imágenes con enlaces

Aquí les mostrare como poner imágenes en los enlaces.




1)Clic en las propiedades CSS

2)Clic en Editar Regla

3)Clic en la categoría Lista

4)Clic en Examinar para buscar la imagen que se necesite

5)Elegimos la imagen y clic en Aceptar

Ahora les explicare la otra parte:

1) <h1> Bienvenido a la configuracion de hojas de Estilo </h1>

2) <ul>

3) <li><a href="C:\Users\Christopher\Desktop\CSSFond\DSC03357.JPG">Primer Enlace</a></li>

  <li><a href="C:\Users\Christopher\Desktop\CSSFond\DSC03679.JPG">Segundo Enlace</a></li>

  <li><a href="C:\Users\Christopher\Desktop\CSSFond\DSC03695.JPG">Tercer Enlace</a></li>

</ul>



1)Empezamos creando un encabezado con H1

2)Después creamos las listas desordenadas con <ul>

3)Ahora agregamos li para la lista y ponemos la dirección de la imagen usando a href y el nombre que queremos poner al texto en este caso “Primer Enlace”
4)Terminamos cerrando la lista desordenada </ul>

Parrafos CSS

Les enseñare como cambiar el color, el tamaño de fuente para cada uno de los párrafos, esta es una de las grandres ventajas que tiene CSS.

Como todos sabemos , para agregar un párrafo se usa la etiquete <p> </p>

Ej: <p>Este párrafo está Normal </p>

Ahora para cambiar el color, tipo de letra y tamaño.

p { color: Purple; font-family: Verdana; font-size: medium; }


La regla CSS se divide en 3 partes:

Selector:Propiedad y Valor

Selector : En este caso seria la P del Parrafo

Propiedad: En este caso seria el Color;Fuente y Tamaño
“Color” ”Font-Family” ”Font-size”

Valor: El valor que le queremos dar a la propiedad
“Purple” “Verdana” “Medium”


Y asi cualquier párrafo que halla en nuestra pagina cambiara a color Morado con la fuente Verdana y tamaño medio.


Aplicación de tablas

Al aplicar las tablas se aplicara dentro del Body de nuestro documento html.

<body>

<div style="position:relative;">

 <div style="position:absolute; top:0px; left:0px; width:50px; height:50px; background-color:Purple;">Ejemplo</div>

<div style="position:absolute; top:0px; left:50px; width:50px; height:50px; background-color:#0033FF;"> De las</div>

<div style="position:absolute; top:0px; left:100px; width:50px; height:50px; background-color:yellow ;">Tablas!</div>

</div>
<body>



Aquí especificamos la posición de la tabla, su anchura,altura, y también el color del fondo, como pueden ver yo les puse fondo morado,azul y amarillo.



Bueno, esto fue algo muy sencillo, debido a la poca experiencia en que tengo, pero poco a poco iremos perfeccionando nuestras paginas, aquí les dejo un link en donde pueden aprender un poco mas acerca de CSS.
http://www.manualdecss.com/codigos-css/indice-codigos.html


Si tienen alguna duda o sugerencia, aqui les dejo mi correo:
peysitosalazar@gmail.com



domingo, 15 de abril de 2012

Como hacer un proyecto paso a paso


Hola a todos, en este blog les explicare como hacer el proyecto de Encuesta, lo primero después de abrir Visual Studio damos clic en Nuevo Proyecto y damos clic en Windows/aplicación de Windows form y le ponemos como nombre Encuesta.


Seguidamente damos clic derecho al proyecto Encuesta y damos clic en agregar/Nueva carpeta y en esa carpeta es donde vamos a guardar todos nuestros formularios.

Le cambiamos las propiedades:
Name: frmEncuesta
Text: Formulario de Encuesta

Damos clic derecho en Encuesta/Agregar/Control de Usuario
Nombre: Entorno

Clic en el menú ver/Cuadro de Herramientas
Clic derecho en Datos/Elegir Elementos


En filtro escribimos Oledb y seleccionamos OledbConnection y OledbDataAdapter
Después de eso añadimos al entorno OledbConnection y cambiamos la propiedad name y escribimos oConexion.

Después nos vamos a Datos/Agregar nuevo origen de Datos


Clic en Siguiente como lo muestra la imagen


Después de darle siguiente, agregamos una nueva conexión y como ven en la parte de arriba le damos en cambiar  damos clic donde dice Archivo de base de datos de Microsoft Access... y luego damos clic en examinar y buscamos la base de datos de Access. Después damos clic en Siguiente y Seleccionamos Tablas y finalizamos la conexión de orígenes de datos. Ojo, la base de datos guardémosla en una carpeta la cual le podemos llamar Encuesta_2012.

Ahora damos clic en DataAdapter y lo añadimos al Entorno de Datos
Seleccionamos la misma base de datos de Access/Siguiente/”No”/Siguiente
Damos clic en el generador de consultas y agregamos la tabla Encuesta.
Clic en el generador de consultas/Todas las columnas. Aceptar y Finalizar.


Cambiamos la propiedad text al OledbDataAdapter y le ponemos daEncuesta
Nos vamos a las propiedades, damos clic en DeleteCommand /CommandText
Y eliminamos todo lo que aparece en azul, solo dejamos IdPregunta  porque es el único campo que no se puede cambiar.

Lo mismo hacemos en UpdateCommand/CommandText y dejamos esto:
UPDATE       Encuesta
SET                Pregunta1 = ?, Pregunta2 = ?, Pregunta3 = ?, Pregunta4 = ?, Pregunta5 = ?, Pregunta6 = ?, Pregunta7 = ?, Pregunta8 = ?, Pregunta9 = ?, Pregunta10 = ?
WHERE        (IdPregunta = ?)

Aceptamos los cambios.

Después de todo esto, nos vamos al formulario “frmEncuesta” /Datos/Mostrar orígenes de datos, clic en la tabla Encuesta  y pasarla a modo detalles y a cada pregunta la cambiamos


Después de jalarlos cambiamos el Label de las preguntas y le ponemos las preguntas especificas y en cada Combobox le damos editar elementos y ponemos Si,No. Nos quedara algo así:


Listo, ya tenemos el diseño de nuestro Formulario Encuesta. Ahora nos vamos al Entorno de datos  y apretamos F7 y escribimos el sig. código


El nuevo entorno Datos nos dice que va estar asociada a toda la clase.
Después verificamos la descripción del estado de la conexión y la abrimos.
En la tercera parte creamos la función ObtenerDatos() la cual especifica que será especificado con tipo de datos DataSet.
Creamos y poblamos del Dataset llamando al data Adapter, daEncuesta y llenándolo con la tabla, cerramos la conexión.

Despues damos doble clic en el formulario, para llegar al evento load y agregamos el sig cod: EncuestaDataSet.Merge(Datos.ObtenerDatos, False)
Este código nos indica que al ejecutar el formulario nos traiga los datos.

Nos vamos al formulario y le damos clic en EncuestaBindingNavigator clic derecho/propiedades y cambiamos dos de ellas.
AddNewItem: Ponemos “Ninguno”
DeleteItem: Igual, “Ninguno”

Creamos un objeto llamado Set Error, el cual le cambiamos la propiedad text y le ponemos Err y en el evento load del formulario copiamos el código siguiente:




Este código nos especifica que si los campos están vacios tirará un mensaje al darle clic en el objeto Err y nos dirá que contestemos la pregunta a la cual no hallamos contestado.

Seguidamente nos vamos al botón Salvar, en la imagen del diskette y escribimos este código:  If validar() = True Then
            EncuestaBindingSource.EndEdit()
            Datos.salvarencuesta(DsTablas)
            DsTablas.AcceptChanges()
            MsgBox("Los datos se han almacenado correctamente", MsgBoxStyle.Information, "salvar")
        End If

Nos indica que si validar es igual a verdadero, entonces se van a realizar los cambios correspondientes, osea que guardará o modificará ya que aceptará los cambios.

Nos vamos al botón Eliminar la cual aparece un signo como una X  y escribimos el sig. Código:

    If MsgBox("Desea eliminar este registro", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Eliminar") = MsgBoxResult.Yes Then
            EncuestaBindingSource.EndEdit()
            EncuestaBindingSource.RemoveCurrent()
            Datos.salvarEncuesta(EncuestaDataSet)
            EncuestaDataSet.AcceptChanges()
            MsgBox("El registro se ha eliminado de manera permanente", MsgBoxStyle.Information, "Confirmado")
            Pregunta1ComboBox.Focus()
        End If
Este código nos indica que si al tirar la condición y el usuario da clic en sí, entonces eliminaremos los datos correspondientes al formulario el cual eliminará el registro en Access y nos dirigirá a la pregunta número 1 para volver a escribir otro registro.
Ahora sí, ya terminamos nuestro formulario, ahora seguiremos con la grafica.

La grafica es más sencilla.Creamos otro formulario y le cambiamos form1 y le ponemos frmGrafica.

Agregamos un objeto chartControl y lo pegamos al formulario, le cambiamos la propiedad
Name: oConexion
Asimismo pegamos un botón y le cambiamos la propiedad
Name:cmdActualizar
Text:Actualizar
Tal como lo vemos aquí 




Ahora hacemos doble clic al botón Actualizar y escribimos el siguiente código


1)   Sirve para importar los objetos oledbCommand,Connection y DataReader
2)   Aquí creamos la cadena y decimos hacia donde queremos apuntar en este caso apuntamos a mi tabla de Access que se encuentra en D:\Encuesta_2012\Encuesta.accdb
Accdb es la extensión de la tabla Encuesta.
3)   Creamos la instrucción SQL, en este caso estamos llamando a la pregunta1 porque queremos buscar el total se Si y No por cada pregunta, por eso haremos 10 graficas en el mismo formulario porque son 10 preguntas
4)   Creamos una conexión llamada oConexion llamando a la Cadena
5)   Creamos un Comando con OledbCommand y es el que Permite ejecutar la instrucción en el origen de datos.
6)   Creamos un Lector con OledbDataReader y permite visualizar lo que queremos

Asi limpiamos la grafica, agregamos titulo... y enlazamos la grafica



Ahora seguimos con el reporte
Nos vamos al proyecto Encuesta clic derecho/Agregar/Nuevo Elemento





Nos vamos al Menú Ver/Cuadro de herramientas
Buscamos el objeto Lista y lo pegamos al formulario, y nos aparecerá esto:


Dejamos el nombre como Dataset1, el origen de Datos va ser el dataset que tenemos
agregado en el proyecto, en este caso encuestaDataset y el conjunto de datos la tabla
Encuesta. Ojo, Arreglamos el cuadro de lista para que abarque el alto y el ancho de
La pagina, ya que es el Que le visualiza todo, quedará así.


Ahora creamos un cuadro de texto y le ponemos Ficha de Encuesta
Seleccionamos  Ficha de Encuesta y nos vamos al menú:
Formato/Alinear/Al Centro
Formato/Fuente/Negrita

Creamos otro cuadro de Texto, clic derecho/Expresion, ponemos:
(=”Encuesta #”  &) y seleccionamos
Categoria:Dataset1 Elemento: Todos Valores:IdPregunta

Esto ese para que nos salga el numero de la Encuesta. Así


Ahora escribimos la primer pregunta con un cuadro de texto y ponemos 4 cuadros
De textos más como aparece en esa imagen, las cuales serán
a)      Si
b)      No

Ahora damos clic derecho en el cuadro de texto “a)” y damos clic en Propiedades del cuadro de texto. Nos aparecerá una ventana como esta



Nos vamos a Relleno y le ponemos un color, después Damos clic en Visibilidad/mostrar u ocultar en función de una expresión y damos clic en  fx y escribimos el código que aparece ahí
=not(Fields!Pregunta1.Value="Si")

Este código es para que podamos visualizar la respuesta que el usuario da, por ejemplo si el usuario da clic en Si en la base de datos, ahí se va a visualizar la letra a).

Después nos vamos a  b) y hacemos lo mismo, nada más que el código será al revés

=not(Fields!Pregunta1.Value="No")
 
Y así hacemos con las demás preguntas, hasta que nos quede así:

Ahora sí, creamos otro formulario llamado frmReporte


Ahora nos vamos al cuadro de herramientas Informe/ReportViewer




Lo pegamos en el formulario y nos aparecerá lo siguiente:



En tareas del ReportViewer elegimos el informe que hicimos rptEncuesta.rdlc

Listoo!!! Hemos terminado el proyecto!