miércoles, 14 de mayo de 2014

WINDOWS FORMS,FRAMEWORK,TEXBOX,LABEL

Nombre:Alexandra Maguana
Ciclo:Sexto Sistemas


¿Qué es Windows Forms?

Windows Forms es la plataforma de desarrollo para crear Aplicaciones en Microsoft Windows. Es una parte del .NET Framework que tiene un conjunto de clases orientadas a objetos que se usan para desarrollar complejas y robustas aplicaciones Windows.
Este conjunto de clases del .NET Framework se encuentra fisicamente dentro de la librería System.Windows.Forms.dll ubicada en el directorio donde está instalada la versión del .NET Framework.

¿Qué es un Framework?
Un Framework ofrece componentes como una librería, pero además provee de plantillas o esqueletos que definen el funcionamiento de las aplicaciones. NET Framework es un entorno de ejecución administrado que proporciona diversos servicios a las aplicaciones en ejecución. Consta de dos componentes principales: Common Language Runtime (CLR), que es el motor de ejecución que controla las aplicaciones en ejecución, y la biblioteca de clases de .NET Framework, que proporciona una biblioteca de código probado y reutilizable al que pueden llamar los desarrolladores desde sus propias aplicaciones. Los servicios que ofrece .NET Framework a las aplicaciones en ejecución son los siguientes:
  • Administración de la memoria. En muchos lenguajes de programación, los programadores son responsables de asignar y liberar memoria y de administrar la vida útil de los objetos. En las aplicaciones de .NET Framework, CLR proporciona estos servicios en nombre de la aplicación.
  • Sistema de tipos comunes. En los lenguajes de programación tradicionales, el compilador define los tipos básicos, lo que complica la interoperabilidad entre lenguajes. En .NET Framework, los tipos básicos los define el sistema de tipos de .NET Framework y son comunes a todos los lenguajes que tienen como destino .NET Framework.
  • Biblioteca de clases extensa. En lugar de tener que escribir cantidades extensas de código para controlar operaciones comunes de programación de bajo nivel, los programadores pueden usar una biblioteca de tipos accesible en todo momento y sus miembros desde la biblioteca de clases de .NET Framework.
  • Frameworks y tecnologías de desarrollo. .NET Framework incluye bibliotecas para determinadas áreas de desarrollo de aplicaciones, como ASP.NET para aplicaciones web, ADO.NET para el acceso a los datos y Windows Communication Foundation para las aplicaciones orientadas a servicios.
  • Interoperabilidad de lenguajes. Los compiladores de lenguajes cuya plataforma de destino es .NET Framework emiten un código intermedio denominado Lenguaje intermedio común (CIL), que, a su vez, se compila en tiempo de ejecución a través de Common Language Runtime. Con esta característica, las rutinas escritas en un lenguaje están accesibles a otros lenguajes, y los programadores pueden centrarse en crear aplicaciones en su lenguaje o lenguajes preferidos.
  • Compatibilidad de versiones. Con raras excepciones, las aplicaciones que se desarrollan con una versión determinada de .NET Framework se pueden ejecutar sin modificaciones en una versión posterior.
  • Ejecución en paralelo. .NET Framework ayuda a resolver conflictos entre versiones y permite que varias versiones de Common Language Runtime coexistan en el mismo equipo. Esto significa que también pueden coexistir varias versiones de las aplicaciones, y que una aplicación se puede ejecutar en la versión de .NET Framework con la que se compiló.
  • Compatibilidad con múltiples versiones (multi-targeting). Al usar la Biblioteca de clases portable de .NET Framework, los desarrolladores pueden crear ensamblados que funcionen en varias plataformas de .NET Framework, como Windows 7, Windows 8, Windows Phone y Xbox 360
¿Qué es un formulario?
El formulario es el primer objeto o control que se visualiza en Visual Basic y constituye la pantalla o ventana sobre la que se colocan otros objetos o controles como etiquetas, controles de texto, botones, etc. y por supuesto el código necesario de nuestros programas, por lo tanto constituirán la Interfaz de usuario.

PROPIEDADES
Name: En todo control la primera propiedad que debe establecerse es el nombre del objeto, es recomendable que en el caso del formulario las tres primeras letras sean Frm, precisamente para saber que se trata de un formulario, y luego seguida del nombre que se le quiere asignar, no admite espacios.
BackColor: Permite cambiar el color del fondo del formulario

BackgroundImage: Establece una imagen como fondo del formulario

BackgroundImageLayout: Diseño de la imagen de fondo: None, Tile, Center, Stretch, Zoom
ControlBox: Determina si la ventana tiene o no botones de control

Cursor: Cursor que aparecerá al pasar el puntero por el formulario, se visualizará sólo en tiempo de ejecución (f5)

FormBorderStyle: Establece el estilo del borde del formulario

Icon: Indica el ícono del formulario es decir aquel que va en la barra de título, se visualizará también en la barra de tareas de windows cuando el formulario se minimiza

MaximizeBox: Permite que el botón de maximizar que se encuentra en los botones de control se encuente habilitado o no (se puede utilizar o no)

MinimizeBox: Permite que el botón de minimizar que se encuentra en los botones de control se encuentren habilitado o no.

ShowIcon: Indica si un ícono se muestra o no en la barra de título del formulario

ShowInTaskbar: Determina si el formulario aparece en la barra de tareas de windows.
Text: Representa el texto que se visualizará en la barra de título (no confundir con el nombre)
WindowState: Determina el estado visual inicial del formulario: Normal, Maximized, Minimized.

EVENTOS
Si deseamos que cuando inicie el programa se presente un mensaje, deberemos escoger el evento Load, es decir, es lo primero que se ejecutará antes de presentarse el formulario, para lo cual debemos asegurarnos de que estamos en el objeto Form y buscar el evento Load, una vez realizado esto se nos presentará lo siguiente:
Public Class FrmInicial
Private Sub FrmInicial_Load (ByVal sender As Object...)
End Sub
End Class
Entre Private y End Sub debemos escribir todo lo que queremos que se ejecute, en el caso de nuestro ejemplo será:
Public Class FrmInicial
Private Sub FrmInicial_Load (ByVal sender As Object...)
Msgbox ("Bienvenido, el programa se ejecutará.")
End Sub
End Class
Msgbox sirve para presentar un cuadro de mensaje y entre comillas (" ") se colocará el mensaje a presentarse
Para ver el resultado de este código, ejecutamos el proyecto con F5 y para detenerlo en el botón cerrar de los botones de control.
Click: Este evento se ejcutará al dar click sobre el control en este caso sobre el formulario.
Si desearíamos que la ventana se maximize al dar click en el formulario, luego de escoger el objeto y el evento click, la codificación sería:

Private Sub FrmInicial_Click (ByVal sender as Object...)
Me.WindowState= FormWindowState.Maximized
End Sub
Recuerde la sintaxis de las propiedades:
objeto.propiedad = valor
Cuando hablamos del mismo formulario el objeto será remplazado por Me, con los demás controles se utilizará el nombre (el que se establece en name)
Me.WindowState=FormWindowState.Maximized
MouseMove: Este evento indica que cuando pase el puntero del mouse por el formulario se ejecutará lo que este codificado en él. Por ejemplo si queremos queremos que cambie el color del fondo del formulario será:

Private Sub FrmInicial_MouseMove(ByVal sender As Object
Me.BackColor=Color.Red
End Sub
FormClosing: Este evento se ejecutará cuando se cierre la ventana. Por ejemplo si queremos visualizar un mensaje de agradecimiento cuando se cierre la ventana, la codificación será:
Private Su FrmInicial_Closing (ByVal sender As Object...)
Msgbox("Gracias por preferirnos")
End Sub
TextBox
Se utiliza la herramienta caja de texto para dibujar una caja que contenga caracteres numéricos y alfabéticos convenientes.
Mediante este control podremos realizar tanto la entrada como la salida de datos en nuestras aplicaciones.
No hace falta que indiquemos las coordenadas de la situación del formulario en pantalla, simplemente tendremos que marcar sobre el control de la caja de herramientas y dibujarlo con el tamaño que queramos en nuestro formulario.

PROPIEDADES
Las propiedades de las que dispone el control son las siguientes:(para obtener el cuadro de propiedades, seleccionar el control y pulsar F4 o pulsar con el boton derecho para obtener el menú contextual y marcar Propierties)
Text: Aqui indicamos el texto que aparecerá en el control. Podemos asignarle cualquier texto en tiempo de diseño o ejecución. También podemos tomar el texto que haya introducido el usuario para tratarlo durante la ejecución.
Name: Esta propiedad la tienen todos los controles, el nombre que viene por defecto en este caso Text1 y es el nombre con el que se conocerá el control cuando lo utilicemos en el codigo. En un mismo formulario no puede haber 2 controles con el mismo nombre. Conviene poner un nombre que represente la funcion que tiene el control en la aplicacion para que el codigo quede más claro. Ejemplo, si en el textbox vamos a introducir la dirección de una persona podemos asignale a esta propiedad el valor Direccion.
MultiLine: Permite que introduzcamos varias lineas de texto en el control en lugar de sólo una.
Alignment: Alineacion que tendrá el texto dentro del control: izquierda, centro o derecha. Para que funcione la propiedad MultiLine debe estar con el valor true.
Locked: Si esta con valor true bloquea el control, es decir, el usuario no puede introducir ni modificar el texto que contenga. Nos puede servir para utilizar el control como salida de datos sin que el usuario pueda modificarlos por error.
Otras propiedades que son comunes a la mayoria de los controles:
Backcolor: color de fondo.
Forecolor: color de letra.
Font: tipo y tamaño de letra.

EVENTOS
Los eventos son acciones que se pueden realizar en cualquier control: click, doble click, movimiento del ratón. A estos eventos se les puede asociar código para que se ejecute al producir el evento.
MouseMove: al mover el raton por encima del control.
Mousedown: al pulsar cualquier boton del raton
Change: al cambiar el contenido del control
Click: al hacer click con el botón izquierdo del ratón sobre el control
Doubleclick: al hacer doble click con el con el botón izquierdo del ratón sobre el control
Getfocus: este evento se activa cuando el control recibe el enfoque, es decir, cuando se activa el control en tiempo de ejecución para introducir datos en él o realizar alguna operación.
Lostfocus: Es el contrario del anterior evento, se activa cuando el control pierde el enfoque, es decir, se pasa a otro control para seguir introduciendo datos.

LABEL
Se utiliza la herramienta label para dibujar una caja para texto que no desea que modifique un usuario.
Normalmente usted utiliza las etiquetas para crear encabezados bajo las gráficas o identificar el contenido de las cajas de texto.

PROPIEDADES
La propiedad Caption es la mas importante, y es la que se utiliza para establecer el texto que mostrará el control Label. Por ejemplo para mostrar el texto "Hola" agrega uno al formulario, coloca un Botón, hacé doble click en el mismo, escribe Label1 y presiona el ".", Visual Basic te desplegará la lista de propiedades y métodos del Label1.

Otras propiedades del control Label son :

Visible : Si está en True el control está visible si está en False está oculto
 Backcolor : Determina el color del fondo de la etiqueta. Si la propiedad BackStyle está en transparente esta propiedad no se visualiza, es decir el color no se muestra
 BackStyle: Determina si el fondo es transparente (valor 0) o si es opaco (Valor 1).
 Name: es el nombre del control y sirve para hacer referencia al mismo en el código, como todos los controles
 BorderStyle: determina si se muestra con borde o sin borde
 Enabled: Si está en True (Verdadero) el control está activado y se puede utilizar normalmente, si se encuentra en False, el control está desactivado.
 FontName: El nombre de la fuente que utilizará el texto del control. Podemos elegir las que tengamos instaladas en el sistema
 Forecolor: Valor Hexadecimal o valor Rgb que indica el color del Texto
 Height y Width: Ancho y alto del Label
 ToolTipText: muestra el mensaje de descripción cuando pasamos el mouse por encima del control.

DATETIME
Devuelve una expresión de cadena que representa un valor de fecha u hora.
En algún momento de su carrera de programación, tendrá la capacidad de manipular fechas y horas. Un ejemplo típico sería un programa de base de datos en la que desea grabar cuando se hizo una entrada, sobre todo si se trata de un pedido de un producto. O si lo desea, por ejemplo, calcular cuántos días han pasado desde que se hizo un pedido.
Inicie un nuevo proyecto para esto. Agregar un botón a su nueva forma, y haga doble clic para obtener el código.
Una estructura incorporada que puede utilizar para manipular las fechas se llama DateTime. Añadir esto a usted el código del botón:
·         DateTime theDate;
·         theDate = DateTime.Now;
·         MessageBox.Show( theDate.ToString() );
Después de configurar una variable DateTime denominado theDate, tenemos esta línea:
theDate = DateTime.Now;
La propiedad ahora devuelve la fecha actual del sistema y la hora de su ordenador, dondequiera que estés en el mundo.          

BIBLIOGRAFIA







miércoles, 9 de abril de 2014

CONSTRUCTORES,PROPIEDADES Y LIST

Nombre:Alexandra Maguana
Ciclo:Sexto Sistemas





Para crear un constructor para una clase, cree un procedimiento denominado Sub New en cualquier parte de la definición de clase. Para crear un constructor parametrizado, especifique los nombres y los tipos de datos de los argumentos de Sub New tal como lo haría en cualquier otro procedimiento, como en el código siguiente:
Sub New(ByVal s As String)
Con frecuencia, los constructores están sobrecargados, como en el código siguiente:
Sub New(ByVal s As String, i As Integer)
Cuando se define una clase derivada de otra, la primera línea del constructor debe ser una llamada al constructor de la clase base, a no ser que ésta tenga un constructor accesible que no requiera parámetros. Por ejemplo, para llamar a la clase base que contiene el constructor anterior, sería MyBase.New(s). En caso contrario, MyBase.New es opcional y el tiempo de ejecución de Visual Basic la llama implícitamente.
Después de escribir el código para llamar al constructor del objeto primario, puede agregar cualquier código de inicialización adicional en el procedimiento Sub New. Sub New puede aceptar argumentos cuando se realiza la llamada como a un constructor con parámetros. Estos parámetros se pasan desde el procedimiento que llama al constructor; por ejemplo, Dim AnObject As New ThisClass(X).
Un constructor es un bloque de código, este bloque de código tiene la forma de un método manteniendo dos reglas fundamentales, la primera es que el nombre del constructor para que sea constructor debe ser el mismo que el de la clase que lo contiene en la definición de C# y en Visual Basic se utiliza únicamente la definición Sub New, esto es, que en C# el constructor de la clase se llamará tal como la clase y en Visual Basic solo se utilizará Sub New, la segunda regla es que la declaración carece de tipo, ya que el constructor como tal construye un tipo (la clase es un tipo) entonces pues no tendrá tipo, bien, pues no debemos olvidar los paréntesis aunque no tenga parámetros.
Los constructores se asemejan a un método pero sin tipo de retorno, y al igual que los métodos, pueden contener parámetros definidos en la declaración entre paréntesis y también pueden ser sobrecargados, así es, un constructor puede tener más de una firma de definición por clase, obviamente que sigue las reglas de sobrecarga para la cuestión de las firmas.
Los constructores son el primer bloque de código que se ejecuta de una clase, este código se ejecuta justo en el momento de instanciar al objeto, esto es, se ejecuta cuando se está utilizando “new”. Como tal, “new” crea la instancia y lanza la ejecución del código del constructor de la clase, el cual realizará las tareas necesarias para inicializar la clase a la que pertenece. La única manera de tener acceso a la funcionalidad de un constructor es mediante la instrucción “new”. La manera de acceder a cada una de las sobrecargas del constructor es al momento de crear la instancia, por ejemplo:
Para VB.NET
Dim frm As Form1
frm = New Form1()
 
Para C#
DataTable dt;
dt = new DataTable("TablaClientes");
 
Bueno, en estos ejemplos vemos como al utilizar new para instanciar la clase en un objeto, o sea en la variable, se utiliza el nombre de la clase con paréntesis, también, como se nota en el segundo ejemplo; estoy utilizando un parámetro para inicializar la clase DataTable en la variable dt.
Bien, para que nuestras clases puedan hacer uso de las ventajas de los constructores solo bastará con declarar estos dentro de la clase. En Visual Basic es sencillo y no se rige como en el caso de C#, veamos cómo es la declaración de un constructor en Visual Basic:
VB.NET
Public Sub New()

End Sub

C#
public Form1()
{

}

Simple, ¿no lo creen? Bueno, pues así de simple y más aún, se pueden extender los constructores de clases ya formadas, por ejemplo, los formularios, y es que es ahí donde toma sentido el uso de un constructor para pasar variables a un formulario sin necesidad de utilizar las variables globales, bien, un formulario define un constructor sin parámetros, mismo que se toma como predeterminado, pero, si nosotros quisiéramos obligar a un formulario a iniciarse con cierto valor, podríamos reemplazar ese constructor por otro con un parámetro, esto es, bastaría con agregar un parámetro de entrada al constructor para obligar a pasar un valor al momento de construir el formulario, algo como esto:
Public Sub New(ByVal Id As Integer      

    ' This call is required by the Windows Form Designer.
       
    InitializeComponent()       
    ' Add any initialization after the InitializeComponent() call.
 
End Sub
Si este es el único constructor dentro del formulario, entonces la única manera de inicializarlo sería de la siguiente manera:
Dim frm As Form1
frm = New Form1(3)
Ahora bien, el valor que paso por el parametro del constructor puedo almacenarlo en un campo privado de la clase, esto es, una variable a nivel de clase declarada como privada para tenerla disponible en todo el formulario. Digamos que podría ser así:
Private mId As Integer
Public
Sub New(ByVal Id As Integer     
    ' This call is required by the Windows Form Designer.
     
    
InitializeComponent()      
    mId = Id 
End Sub
Pues con esto ya tendremos el valor de entrada almacenado en una variable local disponible para toda la clase, de esta manera es como se pueden propagar los valores de una clase a otra y puede ser opcional o puede ser obligatorio, eso dependerá de la naturaleza de cada clase.
Con esto espero que tengan un recurso útil para propagar la información en su aplicación sin depender del uso de variables globales, así entonces, las clases podrán ser más independientes y ser extensibles sin depender de valores que no se encuentran en su propia definición.

Como definir propiedades

 Las propiedades combinan aspectos de los campos y de los métodos. Para el usuario de un objeto, una propiedad es similar a un campo, el acceso a la propiedad requiere la misma sintaxis. Para el implementador de una clase, una propiedad es uno o dos bloques de código que representan un descriptor de acceso get y un descriptor de accesoset. El bloque de código para el descriptor de acceso get se ejecuta cuando se lee la propiedad; el bloque de código para el descriptor de acceso set se ejecuta cuando se asigna un nuevo valor a la propiedad. Una propiedad sin un descriptor de acceso set se considera de sólo lectura. Una propiedad sin un descriptor de acceso get se considera de sólo escritura. Una propiedad con ambos descriptores de acceso es de lectura y escritura.
A diferencia de los campos, las propiedades no están clasificadas como variables. Por lo tanto, no se puede pasar una propiedad como un parámetro ref (Referencia de C#) o out (Referencia de C#).
Las propiedades tienen muchos usos:

Validan datos antes de permitir un cambio; exponen datos de forma transparente en una clase donde se recuperan realmente los datos de otro origen, como una base de datos; realizan una acción cuando se modifican datos, por ejemplo, provocar un evento, o cambian el valor de otros campos.
Las propiedades se declaran en el bloque de clase especificando el nivel de acceso del campo, seguido por el tipo de la propiedad, por el nombre de la propiedad y por un bloque de código que declara un descriptor de accesoget y/o un descriptor de acceso setPor ejemplo:

  1. Agregue el código siguiente para agregar una propiedad de lectura y escritura llamada FullName. El descriptor de acceso Get devuelve el nombre del empleado. El descriptor de acceso Set utiliza el parámetro Value que se pasa en el descriptor de acceso Set para establecer el nombre del empleado.
Public Property FullName() As String
   Get
      Return Me.Name
   End Get
   Set(ByVal Value As String)
      Me.Name = Value
 End Set
End Property
  1. Agregue el código siguiente para agregar una propiedad ReadOnly llamada Remuneration. El descriptor de acceso Get devuelve el sueldo del empleado. No hay ningún descriptor de acceso Set porque el sueldo no se puede establecer directamente; la única forma de cambiar el sueldo es llamar al método PayRise.
Public ReadOnly Property Remuneration() As Decimal
   Get
      Return Me.Salary
   End Get
End Property
  1. Agregue el código siguiente para agregar otra propiedad ReadOnly llamada DaysSinceJoined. El descriptor de acceso Get calcula cuántos días ha trabajado el empleado para la compañía.
Public ReadOnly Property DaysSinceJoined() As Integer
   Get
      Dim timespan As TimeSpan = DateTime.Now.Subtract(Me.HireDate)
      return timespan.Days
   End Get
End Property
LIST

Representa una lista de objetos fuertemente tipados a la que se puede obtener acceso por índice. Proporciona métodos para buscar, ordenar y manipular listas.
Inicializa una nueva instancia de la clase List<T>.
En muchas aplicaciones se desea poder crear y administrar grupos de objetos relacionados. Existen dos formas de agrupar objetos: mediante la creación de matrices de objetos y mediante la creación de colecciones de objetos.

Las matrices son muy útiles para crear y trabajar con un número fijo de objetos fuertemente tipados.

Las colecciones proporcionan un método más flexible para trabajar con grupos de objetos. A diferencia de las matrices, el grupo de objetos con el que trabaja puede aumentar y reducirse dinámicamente a medida que cambian las necesidades de la aplicación. Para algunas colecciones, puede asignar una clave a cualquier objeto que incluya en la colección para que pueda recuperar rápidamente el objeto con la clave asignada.

Una colección es una clase, de modo que antes de poder agregar elementos a una nueva colección, debe declararla.

Si su colección se limita a elementos de solo un tipo de datos, puede utilizar una de las clases en el espacio de nombres System.Collections.Generic. Una colección genérica cumple la seguridad de tipos para que ningún otro tipo de datos se pueda agregar a ella. Cuando recupera un elemento de una colección genérica, no tiene que determinar su tipo de datos ni convertirlo.

Nombre
Descripción
Descripción: Método público
Inicializa una nueva instancia de la clase List<T> que está vacía y tiene la capacidad inicial predeterminada.
Descripción: Método público
Inicializa una nueva instancia de la clase List<T> que contiene elementos copiados de la colección especificada y tiene una capacidad suficiente para aceptar el número de elementos copiados.
Descripción: Método público
Inicializa una nueva instancia de la clase List<T> que está vacía y tiene la capacidad inicial especificada.

Dim states As List(Of String) = New List(Of String) _
    (New String() {"AL", "AZ", "CA", "CO", "NV", "OK"})
List<string> states =
     new List<string>() { "AL", "AZ", "CA", "CO", "NV", "OK" };
En .Net se puede crear e inicializar un Arreglo de Strings o una lista Genérica “List” en C#, usando una lista delimitada por comas. Sin embargo, la única forma que yo he encontrado hasta el momento de hacer los mismo con una lista genérica en VB.NET “List(of Strings)”, es usando un arreglo de Strings como parte de la lista tal y como lo muestro en el siguiente código.
VB.NET
1
2
Dim states As List(Of String) = New List(Of String) _
    (New String() {"AL", "AZ", "CA", "CO", "NV", "OK"})
C#
1
2
List<string> states =
     new List<string>() { "AL", "AZ", "CA", "CO", "NV", "OK" };

BIBLIOGRAFIA