lunes, 20 de octubre de 2008

CheckBox y CheckBoxList

Hay casos en los cuales el usuario debe o puede escojer mas de una opción, en estos casos es mas fácil usar el los CheckBox, estas son pequeñas cajas que al hacerse click se seleccionan y pueden escojerse mas de una.
Estos se utilzian cuando las respues ya se saben de antemano y se trata de limitar al usuario en cuanto a sus respuestas.
Su declaracion y uso es muy similar a los demas controles:

Controles ListBox y DropDownList

Para que un programa sea completamente interactivo con el usuario debe de proporcionar formas de uso mas amenas y fáciles de usar.
La forma de interacción mas típica es que el usuario introduzca datos a un programa por medio de TextBoxes, pero hay veces en las cuales las opciones son limitadas, y no se le puede dar la libertad al usuario de seleccionar ya que puede que no cumpla con las condiciones funcionales del programa.
En estos casos, se debe de limitar las respuestas en los parámetros del programa, una forma de hacer esto es por medio de WebControls, que son objetos interactivos de las paginas.

En este caso veremos 2 Webcontrols, el ListBox y el DropDownList.

El ListBox se utiliza cuando las respuestas posibles son pocas y cuando se conocen las mismas, esta la conforma un pequeño panel que puede seleccionarse con el mouse.

El DropdownList se utiliza cuando las respuestas posibles son mas, ya que el control es retraible no ocupa tanto espacio como si fuera un ListBox con muchas opciones.

Ahora un ejemplo de este tipo de codigo:



El ListBox se declara como un objeto normal de ASP, la diferencia, esque despues se le van declarando los items que estaran dentro del ListBox.
En el programa enlazamos lo que es el evento del boton para que el switch este basado en el Item seleccionado con la propiedad SelectedItem.

Para el DropDownList es exactamente lo mismo, lo unico que cambia es la declaracion del objeto ASP:

Instruccion Switch

Algunas veces, en programas se tiene que escojer específicamente casos de entre muchas posibilidades, en este caso se puede hacer muchos ifs, pero eso no es bueno ya que la computadora se esfuerza mas para correr o encontrar entre todas las condiciones y aquí esta fallando uno de los principios de la programacion que es el ahorro de procesos y memoria.

En estos casos se puede usar la instruccion SWITCH, donde el compilador puede escojer entre muchas opciones, en este caso el compilador busca una variable que el mismo programa o el usuario presenta y cuando encuentra la variable de condicion igual a la presentada se ejecuta el grupo de instrcciones ligada a la variable. Esto sirve mucho para poder darle menus o opciones distintas a los usuarios.

Aqui presento el formato de la condicion.

Capturar o asginar variable de condicion;
switch(variable Opcion)
{
case const1:instruccion(es);
break;
case const2:instruccion(es);
break;
default:instruccion(es);
}

Ahora unas lineas de codigo acutal de un programa:

Ahi vemos como los cases toman los strings que se intruducen en el TextBox y dependiendo de lo escrito se ejecuta la accion de desplegar la seleccion en un Label.
El default sirve como el "else", cuando nos e cumple ningun caso mandara automaticamente a hacer la instruccion default.

domingo, 19 de octubre de 2008

Instrucciones Condicionales - Instruccion IF

Cualquier lenguaje de programación ofrece la herramienta de hacer condiciones para que la computadora tome una desicion dependiendo la situación.
Esto puede ser comparando valores, al llegar a cierto resultado, al aparecer cierto evento etc.

La instruccion mas simple y usada en cualquier lenguaje es el IF (Si), la forma en la que se estructra es la siguiente:

if(condicion)
{instrucciones caso cierto}

else

{instrucciones caso falso}

El caso else se refiere a cuando no se cumple la condicion que hara el programa, porque como ya sabemos, la computadora es solo una maquina estupida que hace calculos muy rapido y en grandes cantidades, esta se le deben de dar las instrucciones especificas en todos los casos posibles.

Ahora un ejemplo simple de un programa usando la condicion IF:

Aqui como siempre, se inicializa creando el form y la base de la pagina en HTML, y ya lo que nos interesa empieza en el script, aqui vemos que la condicion que se debe de cumplir es que el numero que estaba en el TextBox (convertido a numero entero) debe de ser mayor a 100, si la condicion se cumple desplegara el mensaje de que efectivamente el numero es mayor que 100 en el label.
De lo contrario, el else depliega el curso de accion que debe de tomar el programa en ese caso, que seria desplegar el mensaje de que el numero es menor que 100.

ExitReality

ExitReality es una nueva tecnología desarrollada para cambiar totalmente la perspectiva de la Web.
En lugar de visitar las paginas y verlas en su plana 2nda dimension, aqui podemos visitarlas como si fuéramos a visitar alguna tienda en vivo.

Crea un mundo en 3era dimensión en tu browser donde el usuario controla un avatar que interactuara con otros usuario por medio de sus avatares. Asi da un sentido mas social a la experiencia del Internet.

Con este nuevo enfoque se revoluciona totalmente la manera en que son creadas las paginas, ya que todo se puede ver de manera mas amena.

Ya muchas paginas han adoptado la forma en 3D como una alternativa de navegacion, como Myspace, Youtube, Flickr, etc.

El plugin es relativamente ligero y aunque es algo pesado en los recursos de memoria al usarlo es un buen comienzo hacia un nuevo modo de navegacion.



ExitReality

Shortcuts de Aplicaciones en Chrome

Una funcion nueva de Chrome es poder grabar tus aplicaciones favoritas como shortcuts en la computadora.

El proceso es muy simple, lo unico que se debe de hacer es acceder a la pagina donde se encuentra la aplicacion a grabar, ir al menu de Controlar Pagina Actual y de ahi escojer la opcion de Crear Shortcut de Aplicacion.
Chrome pregunta donde grabara el programa, puede grabarlo en el Desktop, en el Quick Launch Bar o en el Start Menu para acceder mas facil.
Esto crea un ligero archivo donde se puede correr la aplicacion fuera del browser como si fuera una aplicacion de Windows.

Esto tendra muchas aplicaciones para poder distribuir aplicaciones mas rapido y facil.

Ahora un pequeño tutorial en video.

Introduccion a Google Chrome

Chrome es el nuevo browser multifuncional de Google en otro intento de tomar cada aspecto de la web. Esta vez tomo el enfoque de ser mas simples y facil que los demas browsers en el mercado.

Este introduce nuevas ideas y ideas viejas con un giro distinto.
La "omnibar" de Firefox regresa, pero ahora un poco mas poderosa y funcional, se pueden salvar bookmarks desde ella igual haciendo click en la estrella de la barra y pueden ser accesados mas facil despues.

La velocidad de inicio aumenta drasticamente a comparacion de Firefox y IE, al igual se reduce un poco mas el uso de memoria.

La navegacion es por Tabs al igual que la mayoria de los browsers, cuenta con una nueva opcion de poder navegar en modo incognito, en el cual todo el historial, archivos temporales, etc. no seran grabados o recordados al cerrar esta ventana (la aplicacion de esto ya se pone a tela de juicio del usuario).

Y por suepuesto, lo que mas les encanta presumir a los desarrolladores, el hecho que cada pestaña o pagina que se este abierta en el momento sea un proceso separado a Chrome, asi que si uno tiene un problema y falla, no se vendra abajo toda la aplicacion, solo la pestaña y al cerrarse Chrome seguira corriendo normal.

En mi opinion es que para ser el primer relese oficial del browser esta muy bien hecho, pero aun asi le faltaria un poco mas y hacerlo un poco mas robusto ya que tiene algunas fallas al correr flash.

Esperamos grandes cosas de Chrome.




Google Chrome

domingo, 21 de septiembre de 2008

Separacion de Interface y Programa

En este tercer método separaremos la parte de interface que vendria siendo el codigo de HTML y ASP de la parte del codigo (script) donde se escribia en si el programa en C#.

Es muy sencillo, lo unico que cambia es que se tienen que hacer 2 archivos separados y unos cuantos tags.

Aqui presento los codigos de las 2 partes:





La parte en HTML es la misma, excepto por una declaracion que se hace al inicio del archivo, esto declara que la pagina eredara el programa del nombre que se pone y al hacer esto compartira los objetos que se hallan usado en la pagina para usarlo como interfaz.
La primera parte se sigue grabando como .aspx.

La segunda parte que es la del codigo es donde cambian un poco mas las cosas, al inicio se tienen que declarar los using empezando desde la jerarquia mas baja que es System y de ahi se va ramificando hasta WebControls.
Despues se tiene que declarar una clase que eredarara Page que vendria siendo el archivo aspx, se declaran las variables protected que quiere decir que se utilizaran exclusivamente en esa clase, y al final ya el evento del programa.
Este archivo debe de ser guardado con al extension .cs.

Ambos archvos deben de estar en el mismo directorio para que puedan ser usados correctamente, y el archivo aspx es el que debe de ser corrido para que el programa funciones de forma correcta.

Objetos ASP

En el programa pasado se trabajo utilizando la limitada libreria de objetos HTML, en el siguiente mostraremos como se utlizan los objetos ASP que es casi lo mismo, salvo por algunas declaraciones.
En este caso utilizaremos el mismo programa de Meses y Años.





Estos objetos también se declaran dentro del FORM aqui la diferencia es al declarar las literales, labels y botones.
Para declarar un objeto, primero se escribe el texto que ira en el objeto, y despues dentro de <> ira la declaracion ASP: seguido por el tipo de objeto que se utilizara.
En ID se escribe el nombre en si del objeto y finaliza con RUNAT=SERVER.
Para declarar el boton se omite el texto de afuera y directamente en TEXT se escribe lo que ira dentro de este, en ONCLICK se escribe el evento que llamara del script y al igual que todos los objetos finaliza con RUNAT=SERVER.

La ventaja de utilizar literales o labels para desplegar resultados es que el usuario no puede modificar de alguna manera el resultado que el programa arroje.

Ejemplo Programa 00

Introduccion a ASP

La estrategia .NET de Microsfot integra a Internet y la Web en el desarrollo y el despliegue de software. La tecnología de lado de del servidor .NET de Microsfot, conocida como Paginas Activas de Servidor (ASP) .NET, permite a los programadores crear documentos Web que respondan a las peticiones de los clientes. Para habilitar las paginas Web interactivas, los programas del lado del servidor procesan infromacion que los usuarios introducen a los formularios en HTML y ASP.NET provee las capacidades de programacion visual mejoradas, similares a las que se utilizan en la creacion de formularios de Windows en escritorio.
Fuente.- Como Programar C# - Deitel

Para crear un programa funcional en lenguaje C# se necesita el respaldo de ASP, que sera la coneccion entre el HTML y C# que a la vez seran procesados en el servidor donde se encuentra dicho archivo.
El documento consta de 2 partes, la forma FORM que se encarga de crear el esqueleto de la pagina con HTML y objetos ASP y esto servira de base para el programa, la otra parte consta del SCRIPT donde se escribe en si el programa en el lenguaje usado.






Lo poco que cambia sobre los dos lenguajes son los tags de donde dentro de ellos se colocan los objetos HTML o ASP para la forma; el FORM es donde se solocan los objetos HTML y ASP que usara el programa como iterfaz con el usuario.
La declaracion de SCRIPT LANGUAGE es donde se escribe el lenguaje que sera utulizado para codificar el programa.

Las declaraciones RUNAT=SERVER, indican que los procesos realizados en el servidor donde se encuentra el programa.

Nota: Al usar otro servidor que no sea Brinkster se debe de cerciorar que el este pueda sportar y compilar el lenguaje que se utilize (en este caso .NET Framework).
Nota2: Los archivos deben de grabarse con la extension .aspx para que puedan funcionar.

Ejemplo Programa 0

Brinkster

Brinkster es un servicio hosting, dominios de internet y correo electronico. Ofrece la mejor calidad y el mejor soporte en hosting, email y almacenamiento de datos en el mercado. Desde su centro de privado de operaciones en Phoenix, Arizona soportan a mas de 60000 dominios.
Estos aparte de ofrecer planes pagados para dominios, ofrecen un servicio gratis para desarrolladores en entrenamiento.
El plan ofrece una cuante de email gratis, un dominio en brinskter, acceso al databse y sporte en ASP 3.0 y ASP.NET.

Aqui presento un pequeño tutorial de como manegar algunas funciones basicas de Brinkster como el Classic File Manager, Account Settings y Web Settings.



En el video muestra como el Classic File Manager tiene distintas funciones como el editor de texto que funciona y se ve como un Notepad en el cual se pueden crear archivos de diferentes extensiones, aqui es donde crearemos nuestras paginas ASP y archivos CS.
Vemos que con el boton View podemos revisar el archvo seleccionado y ver los resultados de nuestro trabajo.
Tambien se pueden crear directorios que se pueden ir accesando y creando mas dentro de este como carpetas.

Luego podemos accesar al los Web Settings donde nos da un poco de informacion sobre nuestro dominio, como el nombre, el ip, cuenta etc, al igual en el User Settings podemos editar nuestros perfiles publicos en Brinkster y para finalizar podemos acceder a las estadisticas de trafico de visitas en la opcion de Statistics y Web Traffic.

Para mas infromacion sobre Brinkster visita su sitio web.

Brinkster

sábado, 20 de septiembre de 2008

Modelo Cliente-Servidor

Un cliente al solicitar un programa o servicio de una pagina se realiza una relación entre el cliente y el servidor en donde el la pagina esta como intermediario.

Para poder que el cliente use el programa que pide, el servidor debe de tener el compilador que mande lo que el que los clientes requieran.

El servidor no siempre tiene que tener toda la carga de procesos que implican correr los programas solicitados por clientes, también se utilizan lo que se llaman Cookies, que se mandan a las computadoras de lso clientes para que parte de los procesos las hagan ahi mismo y que no se sobrecargue el servidor.

Esquema de relacion Cliente-Servidor

Conceptos de Objetos

Objeto: Entidad física o lógica de información.

Los objetos tienen 3 aspectos:

  • Propiedades o atributos: Características propias que individualizan un objeto.

  • Metodos: Conductas propias del objeto.

  • Evento: La relación entre objetos de la misma o diferente clase.

Jerarquia de Operadores

Los operadores aritméticos tienen una jerarquía la cual la computadora sigue para realizar las operaciones:

1. Paréntesis
2. Potencia - Raíz
3. Multiplicación - División
4. Suma - Resta

Un ejemplo es este:

Prom = (Calif1 + Calif2)/2;

Ahi Primero toma en cuenta la operacion que esta dentro de los parentesis, que aunque sea una suma y sea de menor jerarquia que la divison, este esta dentro de parentesis, inmediatamente despues de la suma seguira la divison que esta fuera del parentesis.

Es inecesario en una operacion poner muchos parentesis, ya que hace que la computadora trabaje de mas y gaste mas procesos de los que deberia de usar.

Raices y Potencias

Para poder sacar la raiz o la potencia de un valor no se tiene un operador especifico, pero gracias a la libreria de .NET tenemos un metodo el cual utiliza abre la libreria Math, y llama al metodo Pow que elevan un valor exponencialmente.

Para tener una mayor presicion al elevar un numero se debe de castear dentro de la funcion en los parametros del metodo, de esta manera:

double y = Math.Pow((double)5.(double)3);

Al igual para sacar la raiz de algun valor se utiliza el mismo metodo, pero se debe de representar la raiz en su forma de quebrado de esta manera:



y para representarlo en lenguaje C# seria:

double y = Math.Pow((double)10,(double)7/2);

Operadores Aritmeticos

Los operadores basicos para las operaciones aritmeticas en C# como en cualquier otro lenguaje de programacion son:

+ - Adición
- - Sustracción
/ - División
* - Multiplicación
% - Modulo

Todos se usan y funcionan de la misma manera que en cualquier otra operación aritmética, los únicos que se necesita remarcar algunos puntos son en la división y modulo.

La division divide los numeros enteros siempre, aunque las variables sean de punto flotante, si se necesita un nivel mas alto de presicion se tiene que realizar la operacion agregando .0 a cada cantidad.

y = 10./3.0

Pero en caso que la division sea entre numeros enteros y flotantes se debe de castear el valor entero, esto significa convertir a la variable deseada solo en la operacion.

y=(float)10/3;

La funcion del modulo es devolver el residuo de una divison entre valores enteros.

y = 53%5;
y=3

Declaracion de variables

Para declarar una variable se tiene que escribir primero el tipo de variable que puede ser entera, punto flotante, cadena de caracteres, entre otras; y seguido de esto se declara el nombre que se le asignara a la variable.

int Calificacion;

Al declarar una variable se asigna una pequeña parte en la memoria temporal de la computadora (RAM) para se accsesada cuando se invoque.

Muchas veces la variable que se recibe para hacer alguna operación aritmetica no es del tipo que se necesita y viene como una cadena de caracteres (string) o viceversa, en estos casos C# ofrece varios metodos para poder convertir tipos de variables.

De int a String.

int Calif.ToString();

De String a int

Calif.ToInt32();

Estas son de las maneras mas basicas de convertir, se puede hacer de muchas formas para casi cualquier tipo de variable.

C#.NET .- Introduccion

C#
Este lenguaje, desarrollado en Microsoft por un equipo dirigido por Anders Helsjberg y Scott Wilthamut, se diseño específicamente para la plataforma .NET com un lenguaje que permitiera a los programadores migrar con facilidad hacia .NET. Tiene sus raices en C,C++ y Java; adapta las mejores caracteristicas de cada uno de estos lenguajes y agrega nuevas caracteristicas propias. C# esta orientado a objetos y contiene una poderosa biblioteca de clases que consta de componentes precostruidos que permiten a los programadores desarrollar aplicaciones con rapidez.

.NET Framework
Es el corazon de la estrategia .NET. Este marco de trabajo administra y ejecuta aplicaciones y servicios Web, contiene una biblioteca de clases, impone la seguirdad y proporciona muchas otras herramientas de programacion. Los detalles del .NET Framework se encuentran en la Infraestructura de Lenguaje Comun (CLI), la cual contiene informacion acerca del almacenamiento de los tipos de datos, objetos y demas.

Fuente
Como programar C#, Deitel, Prentice Hall, Segunda Edicion

Areas nuevas de especializacion

Ahora hago un pequeño lista de las especialidades de la carrera de Ingeniería en Sistemas.
Busque especialidades que no caigan en las especialidades mas típicas como "Soporte de red", "Mantenimiento de sistemas" y demás.

  • Arquitectura Computacional
    Crear mejoramientos y aumentar la funcionalidad de los equipos computacionales. Un arquitecto puede trabajar para una compañia que diseña computadoras, para uso general especializado.

  • Prueba y diseño para prueba
    La investigación hace énfasis en crear nuevas técnicas de prueba de alta calidad para proyectos grandes.

  • Fault Tolerant Computing
    Es una propiedad que hace que un sistema pueda continuar operando en el evento de alguna falla de sus componentes.

  • Procesamiento de Voz y Lenguaje
    Área que se ocupa en la investigación de nuevas maneras de crear mejoras o tecnicas para reconocer voz y hacer aplicaciones comandadas por la voz humana al igual que reconocer los lenguajes hablados.

  • Interaccion Humano-Computadora
    Esta area incluye el diseño de software y hardware que facilite la interaccion que el cliente (el humano) tenga con el sistema(Computadora) en sus tareas, esto puede ser al crear software con interfaz mas amigable y accesible para cierto trabajo o la creacion de hardware especializado en tareas.

  • Diseño de circuitos integrados
    Comprende la logica y tecnica para diseñar circuitos integrados para sistemas computacionales.

martes, 16 de septiembre de 2008

Instalaciones Necesarias

Programas y addons indispensables para navegar la Web.
  • Mozilla Firefox .- Browser , Open Source.
  • Avast .- Antivirus , Freeware (Hay también versión Pro pero se debe de pagar por ella).
  • Asquared .- Antijacking y Antiworm, Freeware.
  • Lavasoft Adaware .- Antiadware, Freeware (Tambien tiene version Pro).
  • MyWot .- Addon de Firefox de seguridad.

LaTex

LaTex es una extensión de Blogger que es de gran ayuda para poder escribir ecuaciones o formulas matemáticas complicadas que seria muy difícil de presentar graficamente.

A continuacion presento un pequeño tutorial para poder intalar LaTex en tu browser.

El requerimiento principal es tener instalado Firefox 1.5 o mas nuevo en tu computadora, ya que debe de soportar las extensiones que se instalaran.

Instrucciones:

  • Instalar la extension Greasemonkey para Firefox (ya que no servira para otro browser), este se puede conseguir en este link.
  • Ya instalado y corriendo el Greasemonkey, el siguiente paso es conseguir el script de LaTex, este se consigue aqui.
  • El browser necesitara reiniciar para que el script tome efecto.
  • Por ultimo se tiene que certificar que Greasemonkey este activado (la cara del mono en la esquina inferior derecha debe de estar coloreada)
Y listo!
LaTex esta listo para ser usado, para revisar esto, en la pagina de Creacion de Entradas de Blogger, en la barra de edicion debe de aparecer un icono de LaTex como se muestra a continuacion.


Para poder ya escribir una formula se deben de seguir unos sencillos pasos que explicare a continuacion.

Para poder hacer una declaracion de formula de LaTex se debe de iniciar la formula a convertir con $ $, y a la vez debe determinar con los mismos simbolos. Esto avisa a LaTex la partq que debe de compilar a formula.
Un ejemplo sencillo seria la formula matematica general, que en forma de LaTex se veria asi:

$x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$

Y si compilamos (al hacer click al boton de LaTex) tendremos una pequeña imagen con la formula.




Y asi se sencillo eso, hay claro muchisimos mas comandos para poder recrear todos los simbolos matematicos y demas que se ocupen para graficar formulas.



A continuacion dare unos links muy utiles para el uso de LaTex.

Simbolos Matematicos LaTex

Tutorial Corto

Mas sobre GreaseMonkey

sábado, 30 de agosto de 2008

Blog - Libreta Electronica

Tarea:
  • Abrir cuente en Blogger (con nombre formal y email ya creado).
  • El primer subdominio deberá ser nombrado con nuestro nombre completo (franciscogomezleon.blogger.com).
  • Abrir varios Blogs, uno por materia que llevaremos este semestre.
  • 1 post por tema.
  • Llenar perfil de Blogger con nuestros datos.

Topicos de Programación*

Lauro

Tarea:
Crear email con nuestro nombre.