Anda di halaman 1dari 5

Creación de Aplicaciones distribuidas con Servicios Web

Práctica de Laboratorio

Ejercicio 1
1. Cree el archivo ejercicio1.cs y escriba el siguiente código:

using System;

namespace UMSS.Labo01 {

class Saludos{
public static void MostrarEnIngles() {
Console.WriteLine("Hello, world!");
}
public static void MostrarEnItaliano() {
Console.WriteLine("Ciao, mondo!");
}
public static void MostrarEnEspanol() {
Console.WriteLine("Hola, imundo!");
}
}

delegate void Saludar();

class HolaMundo {
static void Main(string [] args) {

int opcion=int.Parse(args[0]);
Saludar[] arregloDeSaludos ={
Saludos.MostrarEnIngles,
Saludos.MostrarEnItaliano,
Saludos.MostrarEnEspanol};

arregloDeSaludos[opcion - 1]();
}
}
}
2. Abra la línea de comandos de .NET 2.0 y compile el archivo creado:
csc /out:ejercicio1.exe /target:exe ejercicio1.cs
3. Ejecute la aplicación de las siguientes formas:
ejercicio1 1
ejercicio1 2
ejercicio1 3
Preguntas.
1. ¿Qué es Saludos.MostrarEnIngles?
2. ¿El arreglo arregloDeSaludos que tipos de datos almacena?
3. ¿Qué pasa al ejecutar arregloDeSaludos[opcion - 1]();?

Ejercicio 2
1. Abra la línea de comandos de .NET 2.0 y ejecute el siguiente comando (debe estar
trabajando en el mismo directorio que el ejercicio1)
ildasm ejercicio1.exe
2. Expanda el árbol hasta encontrar el nodo: UMSS.Labo01.HolaMundo. Haga doble clic sobre
el nodo Main. Deberá ser capaz de ver el código IL generado para este método.

www.inictec.net Lic. Fernando Escudero Maza


Creación de Aplicaciones distribuidas con Servicios Web

Preguntas.
1. ¿Qué representa el archivo ejercicio1.exe?
2. ¿Qué es el código IL?
3. ¿El CRL que lenguajes es capaz de entender?

Ejercicio 3
1. Cree el archivo ejercicio3.cs y escriba el siguiente código

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Collections;

namespace UMSS.Labo01
{
class ejercicio3
{

static void Main(string[] args)


{
const int max = 100000 ;
List<int> listaSegura = new List<int>();
ArrayList listaInsegura = new ArrayList();
Stopwatch reloj = new Stopwatch();
reloj.Start();
for (int i = 0; i < max; i++)
{
listaSegura.Add(i);
}
reloj.Stop();
Console.WriteLine("Tiempo generics: {0}",reloj.ElapsedMilliseconds);
reloj.Reset();
reloj.Start();
for (int i = 0; i < max; i++)
{
listaInsegura.Add(i);
}
reloj.Stop();
Console.WriteLine("Tiempo objetos: {0}", reloj.ElapsedMilliseconds);
}
}
}

2. Abra la línea de comandos de .NET 2.0 y compile el archivo creado:


csc /out:ejercicio3.exe /target:exe ejercicio3.cs
3. Ejecute el archivo ejercicio3.exe
Preguntas.
1. ¿Cuál de las dos listas se ejecuta más rápido y porque?
2. ¿Qué es boxing y unboxing?

Ejercicio 4
1. Cree el archivo Control.vb y escriba el siguiente código:

Imports System

Public Class Control

www.inictec.net Lic. Fernando Escudero Maza


Creación de Aplicaciones distribuidas con Servicios Web

Public Overridable Sub Dibujar()


Console.WriteLine("Este es un control")
End Sub

End Class

2. Abra la línea de comandos de .NET 2.0 y compile el archivo creado:


vbc /out:Control.dll /target:library Control.vb
Con esta acción se creará una librería de clases
3. Cree el archivo ejercicio4.cs y escriba el siguiente código:
using System;
using System.Collections.Generic;
using System.Text;

namespace UMSS.Labo01
{
class TextBox : Control
{
public override void Dibujar()
{
base.Dibujar();
Console.WriteLine("Este es un campo de texto");
}
}

class Button : Control


{
public override void Dibujar()
{
Console.WriteLine("Este es un boton");
}
}

class Ventana
{
public static void Main()
{
Control[] controles = { new TextBox(), new Button() };
foreach (Control control in controles)
{
control.Dibujar();
}
}
}
}

4. Usando la línea de comandos de .NET 2.0 compile el archivo creado:


csc /out:ejercicio4.exe /target:exe /reference:Control.dll ejercicio4.cs
5. Ejecute la aplicación:
ejercicio4.exe
Preguntas.
1. ¿Por qué al llamar al método Dibujar del arreglo controles ejecuta el método Dibujar de las
clases hijas?
2. ¿Qué es polimorfismo?
3. ¿Por qué se muestra la línea “Este es un control”?
4. ¿Cuándo debería usar varios lenguajes en una aplicación?

www.inictec.net Lic. Fernando Escudero Maza


Creación de Aplicaciones distribuidas con Servicios Web

5. ¿Qué es lo Common Language Specification?

Ejercicio 5
En este ejercicio aprenderá a mostrar la misma aplicación en diferentes interfaces de usuario
(Web, Windows, Consola)
1. Abrir Visual Studio .NET 2005
2. Cree un nuevo proyecto de tipo librería de clases. Desde el menú File seleccione New
-> Project
3. En Proyect Types asegúrese que esta creando una proyecto de tipo Visual C#.
Seleccione Class Library. En el campo Name escriba el nombre UMSS.
4. Notará, usando la panel Solution Explorer, que un nuevo proyecto es creado con un
archivo denominado Class1.cs. Renombre este archivo y escriba DbEstudiante.cs
5. Haga doble sobre el archivo DbEstudiante.cs para poder editar su contenido. Escriba el
siguiente código:

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

namespace UMSS
{
public class DbEstudiantes
{
public static DataSet TodosLosEstudiantes()
{
DataTable tabla = new DataTable();
tabla.TableName = "Estudiantes";
//Creando la estructura de la tabla
tabla.Columns.Add( "CI", Type.GetType( "System.Int32" ) ) ;
tabla.Columns.Add("Nombres", Type.GetType("System.String")) ;
tabla.Columns.Add("Apellidos", Type.GetType("System.String")) ;
//Agregando datos a la tabla
DataRow fila = tabla.NewRow();
fila["CI"] = 12345;
fila["Nombres"] = "Juan";
fila["Apellidos"] = "Perez";
tabla.Rows.Add(fila);
fila = tabla.NewRow();
fila["CI"] = 54321;
fila["Nombres"] = "Maria";
fila["Apellidos"] = "Fernandez";
tabla.Rows.Add(fila);
fila = tabla.NewRow();
fila["CI"] = 987765;
fila["Nombres"] = "Alejandro";
fila["Apellidos"] = "Navarro";
tabla.Rows.Add(fila);
//Creando un DataSet para retornar la informacion
DataSet ds = new DataSet( ) ;
ds.Tables.Add( tabla );
return ds;

}
}
}
6. Ahora debe de añadir un Sitio Web a la solución. Haga clic derecho sobre el icono de la
solución y seleccione Add -> New Web Site
7. En el dialogo Add Web Sites seleccione ASP.NET Web Site. En Location selecciones
File System. Y en Language Visual C#. Seleccione una ubicación donde se guardará
el proyecto y presione OK.

www.inictec.net Lic. Fernando Escudero Maza


Creación de Aplicaciones distribuidas con Servicios Web

8. Notará que en el proyecto del sitio Web se crea un formulario Web denominado
default.aspx. Haga doble clic en este archivo y cambie a la vista de diseño.
9. Usando el Toolbox arrastre hasta el formulario Web un GridView ubicado en la
sección Data.
10. Deberá crear una referencia al proyecto UMSS. Clic derecho sobre el icono del proyecto
Web y seleccione Add Reference. En el nuevo dialogo en la pestaña Projects
seleccione UMSS.
11. Haga doble clic sobre el formulario Web para tener acceso al code behind. Escriba el
siguiente código dentro la función Page_Load.
protected void Page_Load(object sender, EventArgs e)
{
GridView1.DataSource = UMSS.DbEstudiantes.TodosLosEstudiantes();
GridView1.DataMember = "Estudiantes";
GridView1.DataBind();
}
12. Para ejecutar el Web Site, clic derecho sobre el icono del proyecto y seleccione: Set as
Startup Project. Presione F5 para ejecutar la aplicación. Hasta este punto tendrá una
aplicación Web Funcionando el siguiente paso será crear una aplicación Windows para
representar la misma interfaz de usuario.

Ahora crearemos un proyecto con Windows Forms


1. Agregar un nuevo proyecto a la solución, de los proyectos de Visual C# seleccionar
Windows Application con el nombre WinUMSS. Para crear el proyecto presione Ok.
2. Cree una referencia al proyecto UMSS.
3. Arrastre al diseñador del Windows form un control de tipo DataGridView
4. Haga doble clic sobre el diseñador y agregue este código dentro la función Form1_Load

private void Form1_Load(object sender, EventArgs e)


{
dataGridView1.DataSource = UMSS.DbEstudiantes.TodosLosEstudiantes();
dataGridView1.DataMember = "Estudiantes";
}
5. Pare ejecutar la aplicación haga al proyecto WinUMSS el predeterminado de la solución
y ejecute el proyecto con F5
Preguntas.-
1. ¿Cuál es el mejor entorno para la interfaz gráfica de una aplicación cualquiera?
2. ¿Cuál es la ventaja de escribir la lógica de la aplicación en una librería?
3. ¿Qué es una clase de tipo DataSet? ¿Dónde se puede encontrar información de esta
clase?

www.inictec.net Lic. Fernando Escudero Maza

Anda mungkin juga menyukai