Professional Documents
Culture Documents
ar
Introduccin
ienvenido a la carrera Master Jr. en desarrollos de aplicaciones empresariales con .NET. en esta seccin explicaremos cuales son nuestros objetivos con respecto a su aprendizaje. Queremos que esta gua sea utilizada para hacer un seguimiento de las clases que tomaran en forma diaria con nuestros intructores.
Metodologa de trabajo.
Cada da del modulo esta enumerado, el cual contiene un texto con el tema desarrollado y algunos ejemplos, digo algunos porque el resto de los ejemplos se complementa con la exposicion diaria que el instructor publicara en el aula virtual. El ritmo del curso es intensivo, debido a que cada da que comienza Ud debe contar con la actividad planteada, estudiada y desarrollada del da anterior, y la misma debe ser enviada al instructor que se encuentra del otro lado de la consola. El instructor recibir sus preguntas y sus prcticos y el mismo evaluara su respuesta, y le sugerir si su interpretacin fue adecuada o si le falta aun elaborar ms el contenido del tema planteado. Es primordial su participacin con preguntas, de esa forma lograra generar un compartir de informacin con el instructor y el resto de sus compaeros de estudio. Tambin cuenta con un trabajo integrador donde deber realizar una sntesis desde su perspectiva de comprensin, esa sntesis que elabore ser la evaluacin de la capacitacin, dicha sntesis tendr todo el contenido de los temas tratados en los das anteriores. Para remitir sus consultas fjese los horarios en que el instructor se conecta, para cada curso hay un horario distinto y puede variar al comienzo de cada curso, trate de dejar sus consultas antes del horario de conexin del instructor as el puede responder con rapidez, y luego vulvase a conectar y fjese si su respuesta se encuentra satisfecha. Esperamos que disfrute de esta nueva manera de aprender, ante cualquier duda quedamos a vuestra disposicin en la administracin de Micronetwork, a la siguiente direccin de correo: micronetwork@micronetwork.com.ar Micronetwork capacitacin y desarrollos
1
Da
Introduccion.
Hace un tiempo atrs, ya se escuchaba por los pasillos de la empresa la idea del desarrollo de un entorno de trabajo totalmente integrado. Muchas fueron las propuestas hasta que por fin llego. A traves de la tecnologia .NET, una tecnologia totalmente orientada a servicios, esos comentarios se hicieron realidad. Pero seguramente, para entender esto, necesitamos definir que es un servicio? Un servicio es una aplicacin que se ejecuta en forma activa sobre un servidor, y el mismo expone todas sus funcionalidades a un cliente que se lo solicite. Este nuevo concepto, aparece en una epoca, donde podemos decir que estamos en los albores de los sistemas distribuidos a traves del concepto de servicios, ya que son muchos los sistemas operativos que han implementado esta tecnologia. Esto nos da la pauta que en un futuro no muy lejano la demanda de programadores que trabajen esta tecnologia seran de gran importancia. Los servicios o WebServices como se lo conocen comunmente, no son un invento de Microsoft, sino que pertenecen a una tecnologia estandar abierta, como lo puede ser el http,xml, o SOAP(Simple Object Access Protocol). Desde hacen un tiempo proliferan en la red los web services, el objetivo de estos programas, es el de lograr la inter operabilidad entre distintas plataformas, haciendo a las aplicaciones ciento por ciento escalabres.
.Net FrameWork
Elementos
Descripcion. Microsoft Exchange Enterprise Server 2000. Microsoft Application Center 2000. Microsoft Internet Security and Acceleration Server 2000. Microsoft Commerce Server 2000
Servidores
Para tener una mayor ampliacion informativa de estos elementos, se puede visitar el sitio http://msdn.microsoft.com .
El FrameWork.
Hemos hablado en el punto anterior de los cambios que habian aparecido en esta nueva propuesta, lo que no hablamos fue del Framework. El Framework es un entorno seguro que administra el desarrollo de aplicaciones y controla su ejecucion. Podemos enumerar los siguientes puntos que maneja el .NET Framework. Administra el desarrollo de los programas. Supervisa su ejecucion. Administra la memoria en lo que se refiere al almacenamiento de datos e intrucciones. Administra la seguridad de las aplicaciones.
Esta compleja herramienta posee los siguientes componentes principales Common Language Runtime Assemblies Application Domains Runtime Hosts Common Type System Metadata and Self-Describing Components Cross-Language Interoperability .NET Framework Security .NET Framework Class Library
o bien la librera de clases, es organizada dentro de los NameSpaces. Un NameSpace es un grupo de funciones que se encuentran debidamente organizadas. En la siguiente tabla se define algunos de los NameSpace del Framework:
.NET Namespaces Namespace Description This namespace is the root for many of the low-level types required by the .NET Framework. It is the root for primitive data types as well, and it is the root for all the other namespaces in the .NET base class library. This namespace contains classes that represent a variety of different container types, such as ArrayList, SortedList, Queue, and Stack. You also can find abstract classes, such as CollectionBase, which are useful for implementing your own collection functionality. This namespace contains classes involved in component creation and containment, such as attributes, type converters, and license providers. This namespace contains classes required for database access and manipulations, as well as additional namespaces used for data access. This namespace contains a set of classes that are shared by the .NET managed data providers. This namespace contains classes that make up the managed data provider for OLE DB data access. This namespace contains classes that are optimized for interacting with Microsoft SQL Server. This namespace exposes GDI+ functionality and provides classes that facilitate graphics rendering. In this namespace, you will find types for handling file system I/O. This namespace is home to common mathematics functions such as extracting roots and trigonometry. This namespace provides support for obtaining information and dynamic creation of types at runtime. This namespace is home to types dealing with
System
System.Collections
System.ComponentModel
System.Data
.NET Namespaces Namespace Description permissions, cryptography, and code access security. System.Threading This namespace contains classes that facilitate the implementation of multithreaded applications. This namespace contains types involved in creating standard Windows applications. Classes that represent forms and controls reside here as well.
System.Windows.Forms
el ejemplo es correcto porque no tiene ningun caracter especial y ademas es importante que el nombre de la variable haga referencia a la funcion de la variable dentro del programa. Ejemplo Incorrecto:
El ejemplo es incorrecto porque no cumple con una de las normas, que es que no puede comenzar con numeros el nombre de la variable.
Variables Declaracin, asignacin, constantes, ciclo de vida de las variables y tipos de datos.
Visual Basic .NET define una variable de la siguiente forma:
donde Dim y As son palabras reservadas de lenguaje, la primera tiene como funcion definir el nombre que va a llevar la variable y la segunda tiene como funcion asignarle el tipo de datos que va a contener esa variable.
Ejemplo:
Dim Cuenta_Bancaria As Short
este ejemplo esta definiendo una variable llamada Cuenta_Bancaria como entera, quiere decir que el rango de numeros que podra adoptar son todos aquellos enteros que se encuentren entre 32.768 y 32.767. NET Visual Basic permite declarar las variables de manera multiple. Ejemplos:
Dim Cuenta_Bancaria, Saldo_Inicial As Short Dim Cuenta_Bancaria, Saldo_Inicial As Short, Flags as Char
Tenemos que tener en cuenta que cuando hablamos de declaracion de variables, estamos hablando de algo obligatorio en esta plataforma de desarrollo, si olvidamos el declarar una variable luego el programa nos dara un mensaje de error. Por defecto el parametro Option Explicit es ON, si por alguna razon creemos que no es obligatorio tener puesta esta regla, podremos cambiarla aplicando a Option Explicit el valor OFF. Nota: Option Explicit indica que todas las variables deben ser inicializadas.
Asignacin.
Ocurre lo mismo cuando queremos asignarles valores a las variables en el momento de definirlas. Ejemplos:
Dim Cuenta_Bancaria As Short = 0 Dim Cuenta_Bancaria, Saldo_Inicial As Short = 0, Flags as Char=1
Cuando trabajamos con asignaciones tambien nos encontramos con otra gran diferencia con VB6.
Ejemplos:
Cuenta_Bancaria =0 Cuenta_Bancaria=Cuenta_Bancaria +1 Cuenta_Bancaria +=1 Cuenta_Bancaria=Cuenta_Bancaria -1 Cuenta_Bancaria -=1
Constantes.
Visual Basic .NET define una constante de la siguiente forma:
donde Const es una palabra reservada del lenguaje pare definir una constante, As, es otra palabra reservada que define el tipo de datos y el signo de asignacion =, que asigna el valor que se quiere preservar. Ejemplo:
Const Cuenta_Bancaria As Short = 100
Es importante recordar que toda constante definida mantiene su valor a traves de todo el tiempo que se ejecute la aplicacin.
Private
Descripcin Son variables que mantienen su valor por todo el ciclo que dura el programa. Son variables declaradas dentro del procedimiento y mantienen su valor por el tiempo que dura el procedimiento. Es lgico que si volvemos a invocar el procedimiento que contiene la variable la misma se reinicia, si por alguna circunstancia queremos que la misma mantenga su valor debemos definirla como una variable Esttica (Static).
Numericas.
Incluidas Enteras. Decimales. Punto Flotante con presicion fija. Punto Flotante con presicion variable.
Cadenas.
Logicas.
Fecha.
Objeto.
Valores sin un tipo fijo de datos, soporta Variant por la sencilla razon de compatibilidad. Soporta todo tipo de objeto.
Char Short
2 bytes
-32.768 to 32.767 Alrededor de los 28 digitos del lado del decimal. (con signo)
Decimal
12 bytes
.NET VB, incluye cambios con relacion a la version anterior de V.Basic. Visual Basic 6.0 Integer Long (32 bits, con signo) Variant Visual Basic .NET Short Integer Long (64 bits, con signo) No soporta, lo reemplaza por Object
Currency
Date
String Fijo
No soporta
Accin Retorna True si la variable es de tipo numerica. Retorna True si la variable es de tipo fecha u hora. Retorna True si el argumento es un array.
Retorna True si la variable tiene un valor nulo. Retorna True si el argumento es un objeto.
Estructuras de datos.
Visual Basic .NET define una estructura de datos de la siguiente forma:
Structure <nombre de la Estructura> Dim <nombre_Variable> As <Tipo_Variable> Dim <nombre_Variable> As <Tipo_Variable> . Dim <nombre_Variable> As <Tipo_Variable>
End Structure
donde Structure marca el comienzo y la asignacion del nombre de la estructura y End Estructure, seala el final de la misma. En su interior se define las variables que la formaran de manera identica a como explique en puntos anteriores. Para acceder al ambito de la estructura VB .NET, lo hace de la siguiente forma:
donde podemos ver que definimo una variable, y como tipo de datos, utilizamos el nombre de la estructura definida con anterioridad. Ejemplo:
Structure Banco_Cuentas Dim Nombre_Cliente As String Dim Apellido_Cliente As String Dim Documento_Cliente As Double
End Structure
Dim Datos_Cliente As Banco_Cuentas Datos_Cliente.Nombre_Cliente = Juan Ignacio Datos_Cliente.Apellido_Cliente=Gonzalez Datos_Cliente.Documento_Cliente=15.222.548
donde el numero de elementos es un valor entero que define el numero de elementos que puede guardar la variable en si misma.(Los demas componentes ya fueron explicados en puntos anteriores). Ejemplo definir un array numerico:
el numero 100 significa que dentro de la variable Numero_Cuenta, del tipo short, se podran almacenar 100 elementos. El entero que marca la cantidad de elementos se denomina indice, y en VB .NET, el indice comienza a contarse a partir del numero 0.
Cuando uno llena la cantidad de elementos de un array no puede agregar uno nuevo excepto que lo redimensione.
donde ReDim nos permite agrandar el valor del array, utilizando asi un nuevo valor del indice, en este caso aumenta la cantidad de elementos que puede almancenar. ReDim tambien es aplicable a los Arrays de tipo String.
donde el numero de elementos va a estar dado por las comas, cada coma separa un elemento del array. El ejemplo anterior se podria presentar tambien de la siguiente manera.
Dim Nombre_Cliente (2) As String Nombre_Cliente(0)= Juan Gutierrez Nombre_Cliente(1)= Ignacio Loyola Nombre_Cliente(2)= Analia Corales
GetLowerBound
IndexOf() , LastIndexOf()
Nos permite realizar una busqueda dentro de un array comenzando la busqueda desde el principio o desde el final respectivamente.
agregando un nuevo indice al existente, estamos creando una matriz de (10x10) elementos, donde tendremos una cantidad de 100 elementos para almacenar.
Operadores Aritmeticos.
Son aquellos operadores que intervienen en operaciones numericas y matematicas. Operador ^ * / + \ Operador Abreviado ^= *= /= += -= \= Descripcin Potenciacin Multiplicacin Division Real Suma Resta Divisin Entera
Operadores de comparacin.
Son aquellos utilizados para realizar comparaciones. Operador < > <= >= = <> Descripcin Menor que Mayor que Menor igual que Mayor igual que Igual que Distinto que
Operadores Logicos.
Son aquellos utilizados para realizar inferencias logicas Operador And Or Not AndAlso Descripcin A nivel logico realiza una conjuncion entre dos expresiones. Realiza una disyuncion entres dos expresiones. Realiza una negacion entre dos expresiones. Realiza un conjuncion logica de tipo contocircuito entre dos expresiones, si la primera comparacion da falso, directamente no evalua la segunda. Realiza una disyuncion logica de tipo contocircuito entre dos expresiones, si la primera comparacion da verdadero, directamente no evalua la segunda expresion y da verdadero Realiza una esclusion en tre dos expresiones.
OrElse Xor
Estructuras de Control.
Las estructuras de control, son las estructuras que nos permiten implementar los algoritmos y el armado de los programas en general. El siguiente cuadro muestra cuales son las estructuras de control que comprenden a VB .NET. Tipo de Estructura Condicional Formato If < Expresion > Then . [Else] . End If Accin Permite evaluar expresiones simples y de distintos niveles de complejidad. La opcion Else, es opcional y una salida que significa SINO. Tambien esta estructura permite la anidacion de condiciones en diversos niveles. Permite hacer una evaluacion simple, tomando el valor inicial al comienzo de la estructura, luego lo evalua con valores que le precede y lo resuelve si da verdadera la expresion del valor.
Select Case <Expresin> Case <Valor> .... Case <Valor> . . . Case Else .... End Select
Repeticion
Es una estructura sencilla de repeticion, va a ejecutar una repeticion mientras la condicion que presente en la empresion sea verdadera, cuando sea falsa terminara. Es una estructura que nos permite evaluar una expresion, que mientras se cumpla se ejecutara. Se ejecutara mientras que la expresion devuelva falso.
Accin Esta Evaluacion de la expresion puede hacerse tanto al comienzo como al final de la estructura de acuerdo a la necesidad del codigo Tambien puede utilizace sin que evalue ninguna expresion.
Do . Loop
Es una estructura de repeticion que evalua una expresion inicial que marca un comienzo y una expresion final que marca un final. Dentro de esos rangos de veces se dara la repeticion. Tiene un comando opcional que marca los saltos que dara el conteo (Step). Por ejemplo si a Step le precede 2, el conteo entre el valor inicial y final se dara de en dos en dos.
Se trata de una variante de la estructura For, vista anteriormente, se aplica para poder recorrer los elementos existentes en un Array o bien en una coleccion.
Estas estructuras simples, tienen asociadas otras instrucciones que tienen como funcion poder salir de un ciclo de repeticion, las mismas se muestran a continuacion.
Formato Exit Do
Accin Tiene como funcion salir abrutamente de un ciclo repetitivo While o Do While.
Exit For
Tiene como funcion romper abructamente con un ciclo de repeticion For.. Next.
2
Da
Function
Property
Subrutinas.
Visual Basic .NET define una subrutina de la siguiente forma:
Nombre_Procedimiento
[(ListaParametros)]
Identificadores separado por coma, encerrados entre paretentesis, que representa la informacion que ingresa al codigo.
Son palabras claves que permiten salir abruptamente del procedimiento sin que el mismo alla terminado.
Funciones.
Visual Basic .NET define una funcion de la siguiente forma:
[Ambito] Function Nombre_Funcion [(ListaParametros)] As Tipo_Dato [CodigoEjecutable] [Exit Function][Return] End Function
Nombre_Funcion
[(ListaParametros)]
Identificador separado por coma, encerrados entre paretentesis, que representa la informacion que ingresa al codigo.
Tipo_Dato
Son palabras claves que permiten salir abruptamente del procedimiento sin que el mismo alla terminado.
Byval
ByRef
Cuando pasamos una variable por referencia, y efectuamos un cambio, el cambio, afecta a la variable que le dio origen al paso.
Optional
Los parametros opcionales son aquellos parametros que se pueden obviar en una procedimiento. Para indicar que es opcional el parametro debemos colocar antes del modo la palabra reservada Optional.
ParamArray
Sobrecarga de Procedimientos.
La sobrecarga de procedimientos es la flexibilidad de crear un procedimiento con el mismo nombre y que en forma inteligente el mismo puede clasificar la llamada y ejecutar el codigo adecuado. Para poder distinguir un procedimiento sobrecargado de otro procedimiento, debemos utilizar la palabra reservada OverLoads, la misma es aplicable a subrutinas y a funciones.
OverLoads Sub Empleados () [CodigoEjecutable] End Sub OverLoads Sub Empleados (Lista de Parametros 1 ) [CodigoEjecutable] End Sub OverLoads Sub Empleados (Lista de Parametros 2 ) [CodigoEjecutable] End Sub
Los procedimientos pueden soportar el mismo nombre, lo que no soporta es que tengan los mismos parametros de entrada, como por ejemplo, el numero de parametros definidos, el orden de los parametros o bien el tipo de dato de los parametros.
El ambito de un procedimiento.
Es poder llamar a un procedimiento desde un punto determinado del programa, siempre en funcion, del ambito definido en el momento de crear el procedimiento. Esto se hace mediante el modificador ambito del procedimiento, como se explica en cuadros anteriores. Ambito Public Private Accin Puede ser invocado desde cualquier punto de la aplicacion.Este es el valor por defecto cuando creamos un procedimieto. Puede ser invocado solamente desde el modulo que fue creado.
Funciones Is
Accin Indica si la expresion que recibe contiene una cadena con formato de fecha o bien que se pueda pasar a fecha.
IsDate(expresion)
IsArray(expresion)
Funciones Numericas
Accin Devuelve la parte entera de una expresion numerica con redondeo en una expresion negativa.
Int(expresion)
Fix(expresion)
Devuelve la parte entera de una expresion numerica con exactitud en una expresion negativa.
Randomize([expresion])
Rnd([expresion])
Space(expresion)
Devuelve una cadena de espacios en blanco de una longitud igual al numero que se le pasa como parametro.
InStr([comienzo],cadenabuscar,cadenab Busca una cadena, dentro de la cadena que se le pasas como parametro. uscada,[tipocomparacion])
InStrRev([comienzo],cadenabuscar,cade Es igual a la anterior, pero esta comienza la busqueda por el extremo final. nabuscada,[tipocomparacion])
StrComp(cadena1,cadena2,[tipo comparacion])
Lef(cadena,longitud)
Extrae comenzando por la izquierda una cadena, la cantidad de caracteres que se le indica como parametro.
Right(cadena,longitud)
Accin Utilizada como funcion, extrae de una cadena, comenzando por la posicion de inicio, una subcadena.
Mid(cadena,inicio,[longitud])
Elimina los espacios en blanco que pueda tener la cadena pasada como parametro, Ltrim elimina los espacios en blanco de la izquierda, Rtrim, los de la derecha y Trim, ambos lados.
Ucase(cadena) Lcase(cadena)
VB. NET maneja un gran numero de funciones que ayudan a la tarea del programador, no es objetivo de este curso explicarlas a todas, es por eso que aconsejamos leer el material de consulta del producto.
3
Da
Utilizando propiedades.
Las propiedades de un formulario, determina su apariencia y su conducta. Se utilizan las propiedades asignandolas o cambiandolas desde el cuadro de propiedades . Las propiedades puede ser cambiadas en dos maneras. La primera cuando se esta diseando el formulario, desde la caja de propiedades pude asignarse los nuevos valores a las propiedades, pero hay propiedades que permiten este cambio desde el codigo, cuando la aplicacin se esta ejecutando, de esa forma se llama cambio de propiedades en tiempo de ejecucion. Nota: En la documentacion del producto encontrara todas las propiedades asociados a cada objeto.
Utilizando metodos.
Los metodos de un objeto, en este caso un formulario, determina su conducta, en el momento de ser ejecutado. En este ejemplo, vemos como un formulario tiene asociado un metodo que la obliga a no mostrarse.
Frm_ejemplo.Hide()
Nota: En la documentacion del producto encontrara todos los metodos asociados a cada objeto.
Modal Forms
Un modal form, debe ser cerrado antes que se pueda continuando con la aplicacin. El la caja de dialogo modal, (modal dialog boxes), es util cuando se quiere mostrar mensajes importantes en el momento que se esta ejecutando la aplicacin. Necesariamente este metodo, necesita una confirmacion por parte del usuario para continuar utilizando la aplicacin. Para mostrar un formulario con esta caracteristica se puede utilizar el mentodo, ShowDialog, como lo muestra el ejemplo que sigue.
Dim Frm_ejemplo.ShowDialog()
Ejemplo:
Dim Frm_ejemplo.TopMost=True Frm_ejemplo.Show
Opacity
Se pueden crear diversos efectos sobre el formulario, como por ejemplo alterar la transparencia del mismo. Por ejemplo la propiedad Opacity se mueve en un rango de 0 y 1.El valor 1 indica que el formulario es totalmente oscuro y el valor 0 es transparente.
Eventos.
Los eventos, son procedimientos que se encuentran dentro de los objetos a ser programados. Cada uno de esos procedimientos, hacen una determinada tarea en el momento de ejecutar la aplicacin. El formulario a ser un objeto, no escapa a esta regla de la programacion orientada a eventos, tiene sus propios eventos, a igual que los demas objetos que integran esta tecnologia. Los eventos en el formulario ocurren cuando el usuario abre o cierra un formulario, o bien cuando se traslada entre formularios. Tambien ocurre cuando el usuario con el mouse o el teclado puede disparar una accion.La siguiente lista, muestra los eventos del objeto Form.
4
Da
Objetivos. El objetivo de esta clase, es guiar al alumno en el armado de una pequea aplicacin para que pueda incorporar la mecanica de trabajo. Para tal fin, el instructor entregara al alumno un ejercicio desarrollado para que sea pasado y reenviado al instructor dentro de los plazos que el mismo estipule.
5
Da
Ejecute la aplicacion y presione el boton, vera como se abre una ventana dentro del formulario principal.
Un menu sobre un formulario windows es creado con el objeto MainMenu, el cual es una coleccion de objetos MenuItem. Con el mismo se puede agregar menus al formualario de windows en el momento del diseo, agregandole al componente MainMenu y luego sumarle los items del menu utilizando el Menu Designer. Al menu puede agregarsele a traves de la programacion uno o mas objetos MainMenu al formulario windows.
Cuando un item es agregado al menu, el diseador crear una instancia del objeto MenuItem.La propiedad Text del objeto, representa el texto que sera mostrado en tiempo de ejeucion de la aplicacin.La propiedad Name indica como se tendra que referir al objeto.
Shortcut Keys
Activa un accesso instantaneo a los comandos del menu. Este acceso rapido puede ser asignado por una tecla simple como una tecla de funcion del teclado o bien por una comvinacion de teclas con Ctlr + Tecla, ejemplo: Ctrl + X o bien Ctrl+Shift+X, etc. Cuando un acceso de este tipo es asignado para un item del menu, este se muestra a la derecha del item del menu. Esta convinacion no es mostrada si la propiedad ShowShortcut del item del menu esta en falso.
Con los Items del menu, se puede crear eventos, para manejar las alternativas que presentan los menues.Por ejemplo el evento Click contiene el codigo que se va a ejecutar cuando el item es presionado.Tambien se ejecuta cuando se presiona la convinacion de teclas asignadas.
6
Da
Definicion de Control.
Un control es un elemento que insertamos en el interior de un formulario.Su funcion es variada, va desde interactuar con el usuario hasta llevar un control determinado en el momento de la ejecucion de la aplicacin. Tambien se puede definir a un control, como un codigo encapsulado, un codigo que en el momento de ser insertado dentro de un objeto contenedor como el formulario, el mismo expone sus interfaces. A continuacion se muestran algunos controles basicos.
Control Label
Button
TextBox
CheckBox
Radio Button
ListBox
Accion. El control etiqueta es un control estatico que no realiza ninguna interaccion con el usuario, solamente muestra un texto sobre el formulario. Este control, representa a un boton, que al ser pulsado ejecutara una determinada accion, acorde a la programacion que tenga en alguno de sus eventos. Representa una caja en la que podemos escribir una o varias lineas de texto, segn esten configurada sus propiedades. Es comunmente utilizado para el ingreso de datos a las aplicaciones. Es una casilla de verificacion que podemos marcar para establecer un estado verdadero o falso. Nos permiten definir conjuntos de acciones autoexcluyentes. Si o No por ejemplo. Contiene una lista de valores, de los cuales, el usuario puede seleccionar uno o varios valores a la vez.
7
Da
Objetivos. El objetivo de esta clase, es introducir al alumno en los diferentes mecanismo de validacion de datos, errores y archivos. 1. Validando el ingreso de datos. 2. Validando a nivel de eventos. 3. Tipos de manejo de errores. 4. Modo estructurado. 5. Modo no estructurado. 6. System.IO. 7. Objetos Stream. 8. TextReader y TextWriter. 9. StreamWriter.StreamReader. 10. StringWriter y StringReader.Stream. 11. FileStream.
Propiedad MaxLength
Password Char
ReadOnly
Multiline
Aplicacion Limita el numero de caracteres que pueden ser ingresado en el textbox. Si el usuario intenta exceder ese numero especificado, tira una alerta al usuario. Permite que oculte los caracteres que se ingresan al textbox. Por ejemplo si le asigna el carcter (*), a la propiedad PasswordChar, el mismo se mostrara cuando ingrese un valor al textbox. Esta propiedad hace que el objeto no permita modificaciones ni ingreso nuevo de datos al objeto. Determina que el objeto textbox pueda aceptar multiples lineas, cuando su valor es True, el usuario puede entrar multiples lineas dentro del objeto, teniendo al final de cada linea un retorno de carro.
End Sub
Ud. Puede utilizar la propiedad KeyEventArgs.KeyCode para mostrar que tecla esta siendo utilizada para disparar el evento. Esta propiedad retorna un valor de la tecla que representa a tecla que ha sido presionada. El siguiente ejemplo muestra lo que estamos hablando:
MessageBox.Show(e.KeyCode.ToString())
End Sub
KeyPress
Cuando se presiona una tecla, a esa tecla se le corresponde un valor ASCII, el evento Keypress es ejecutado. A la tecla presionada le corresponde un carcter numerico o alfabetico. Si la convinacion de las teclas pesionadas no produce un ASCII el evento KeyPress no es ejecutado. Este evento es muy util, para interceptar la tecla presionada y evaluarla con posterioridad. Cuando este evento es ejecutado, una instancia de KeyPressEventArgs es pasado como un parametro. La propiedad KeyPressEventArgs.KeyChar contiene el ASCII del carcter representado por la tecla que ejecuto el evento. Si por ejemplo se quiere asegurar que la tecla presionada es una tecla numerica, se puede evaluar la propiedad KeyChar del KeyPress.
Validando caracteres.
Estas funciones permiten la evaluacion de las teclas pulsadas: Propiedad Char.IsDigit Char.IsLetter Char.IsLower Char.IsUpper Ejemplo:
Private Sub TextBox1_KeyPress (ByVal sender as Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Aplicacion Retorna True, si el carcter evaluado es un digito numerico. Retorna True si el carcter evaluado es un carcter alfanumerico. Retorna True si el carcter evaludado es minuscula. Retorna True si el carcter evaluado es mayuscula.
End Sub
Eventos
Evento Enter Leave GotFocus LostFocus Aplicacion Ocurre cuando el foco arriba al control. Ocurre cuando el foco se va del control. Ocurre cuando el objeto a sido focalizado. Ocurre cuando el objeto se a dejado de focalizar.
Evento Validating
Una manera facil de validar datos es utilizar el evento Validating. Este evento ocurre antes de que el control pierda el foco.Este evento es solo ejecutado cuando la propiedad CauseValidation del control que recibe el foco, esta como True. Este evento contiene una instancia de la clase CancelEventArgs. Esta clase contiene una propiedad llamada Cancel. Si el ingreso de datos al control a validar no falla, se puede utilizar esta propioedad para cancelar el evento Validating que retorna el foco al control.
Ejemplo:
Private Sub TextBox1_Validating(ByVal sender As Object, ByVal e As _ System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating Checks the value of TextBox1 If TextBox1.Text = Then Resets the focus if there is no entry in TextBox1 e.Cancel = True End If End Sub
Esta estructura proporciona un bloque de codigo que nos permite manejar las excepciones generadas a lo largo de nuestro codigo, a continuacion se muestra como es la estructura.
Try Try_Statements [Catch [exception [As type]] [When expression] catch_Statements_1 Catch [exception [As type]] [When expression] Catch_Statementsn] [Finally finally_Statements] End Try
A continuacion intentaremos describir esta estructura, al comienzo nos encontramos con la palatra reservada Try. De ah hasta la otra palabra reservada Catch, se escribe todo el codigo que puede ser suceptible a errores.Luego a partir de la palabra catch, vamos a situar el objeto en forma opcional, un identificador que posee el objeto con la excepcion que se genero. Seguidamente y de modo opcional, con la palabra reservada When, se especifica una una condicion para la captura del objeto de excepcion. Dentro de una estructura Try....EndTry, se puedo escribir varios manejadores de excepcion Catch. Esto ocacionara que cuando se produzca como un selector buscara una sentencia Catch mas apropiada para considerar.
Dim numero As Integer = 5 Dim Dividir_por As Integer = 0 Try numero = numero \ Dividir_por Catch err As DivideByZeroException MessageBox.Show("Error se dividio por 0") numero = 0 Catch err As Exception MessageBox.Show(err.toString) End Try
Tambien habiamos mencionados la forma no estructurada de hacer el trapping de errores. Esto se logra a traves de las siguientes palabras reservadas.
Accion Contiene el error generado en un momento determinado. Activa o desactiva el manejo de la rutina de errores. Activa una etiqueta de control de errores, que consiste en un bloque de codigo, que entrara en funcionamiento en el momento de producirse un determinado error. Hace que en el momento de producirse un error la aplicacin no se detenga y la ejecucion del programa siga en la siguiente linea de codigo. Hace que cualquier manejador de errores quede fuera de servicio.
On Error Goto 0
Archivos.
La jerarqua de objetos FileSystemObject, aporta un conjunto de clases que nos permiten, trabajar con todos los aspectos del sistema de archivos, en cuanto a su lectura, escritura, manejo de directorios, unidades, etc.
System.IO.
Las clases incluidas en System.IO, nos van a permitir realizar labores de lectura y escritura en archivos de texto, binarios, etc., as como la creacin y manipulacin de los archivos y directorios que contienen la informacin.
Objetos Stream
Un objeto Stream representa un flujo o corriente de datos, es decir, un conjunto de informacin guardada en formato de texto o binario, que podremos leer y escribir sobre un soporte almacn de respaldo (backing store).
TextReader y TextWriter.
Estas clases contienen los miembros genricos para realizar lectura y escritura de caracteres. Se trata de clases abstractas, por lo que deberemos utilizar las clases derivadas StreamReader, StreamWriter, StringReader y StringWriter.
StreamWriter
Un objeto StreamWriter realiza operaciones de escritura de texto sobre un archivo. El proceso tpico de escritura de datos mediante un StreamWriter, estan comprendidas en los siguientes pasos: Instanciar un objeto de esta clase mediante alguno de los constructores disponibles. Escritura de texto mediante los mtodos WriteLine( ) y Write( ). Cierre del Stream con el mtodo Close( ).
StreamReader
Un objeto StreamReader realiza operaciones de lectura de texto sobre un archivo. El proceso que debemos llevar a cabo para leer el contenido de un Stream de lectura es muy similar al de escritura: instanciar el objeto con uno de sus constructores, abriendo un archivo para leer; ejecutar alguno de los mtodos de lectura del StreamReader, y cerrar el objeto con Close( ). Entre los mtodos de lectura de este objeto, tenemos ReadLine( ), que devuelve una lnea del archivo; y ReadToEnd( ), que devuelve el resto del contenido del archivo, desde el punto en el que se encontrara el Stream al realizar la ltima lectura
StringWriter y StringReader
Estas clases proporcionan la misma funcionalidad que StreamWriter y StreamReader, con la diferencia de que StringWriter trabaja con un objeto StringBuilder como almacn de datos, mientras que StringReader utiliza un String para leer su contenido.
Stream
La clase Stream representa un flujo o corriente de datos, es decir, un conjunto secuencial de bytes, como puede ser un archivo, un dispositivo de entrada/salida, memoria, un conector TCP/IP, etc. Se trata de una clase abstracta, por lo que si queremos hacer uso de un stream concreto, tenemos que acudir a alguna de sus clases derivadas como son FileStream, MemoryStream, BufferedStream, etc.
FileStream
Realiza escritura y lectura de bytes sobre un archivo; en el caso de que el archivo no exista, lo crearamos al mismo tiempo que instanciamos este objeto. Uno de los constructores de esta clase, nos permite especificar una cadena con la ruta del archivo a utilizar, mientras que en el segundo parmetro utilizaremos un valor de la enumeracin FileMode, mediante la que indicamos el modo de trabajo sobre el archivo: aadir, abrir, crear, etc. Las propiedades CanRead, CanWrite y CanSeek, devuelven un valor lgico que nos informa de si en el objeto podemos realizar operaciones de lectura, escritura y desplazamiento por los bytes que contiene. Para escribir datos, disponemos del mtodo WriteByte( ), que escribe un byte en el archivo; y tambin tenemos el mtodo Write( ), que escribe de un array de bytes pasado como parmetro, una cantidad de elementos determinada empezando por una de las posiciones de dicho array.