Últimas noticias
Loading...

Últimos artículos

Mostrando entradas con la etiqueta programación. Mostrar todas las entradas
Mostrando entradas con la etiqueta programación. Mostrar todas las entradas
martes, 25 de septiembre de 2007
Reflection con VB.Net (I): Instanciar objetos

Reflection con VB.Net (I): Instanciar objetos

En algunas ocasiones, podemos querer crear objetos de forma dinámica, de forma que no necesitemos conocer el nombre de la clase a instanciar durante el desarrollo. Para ello, podemos utilizar las clases del namespace Reflection.

Vamos a realizar un ejemplo en el que queremos instanciar una clase de la que no conocemos el nombre, y que dicha clase tiene que ejecutar un método X que devolverá un resultado en una propiedad Y. Definimos un formulario web con 5 textBox y un botón:


  1. txtLibreria: dónde se encuentra la clase.
  2. txtClase: nombre de la clase a instanciar
  3. txtMetodo: nombre del método a ejecutar
  4. txtPropiedad: propiedad que contiene el resultado
  5. txtResultado: mostrará el resultado obtenido
  6. btnEjecutar: ejecuta el método
Para simplificar el ejemplo, consideramos las siguientes restricciones:
  • El método no tiene parámetros
  • La propiedad que contiene el resultado es de tipo String

En el evento onClick del botón, insertamos el siguiente código:


Dim
objectType As Type = Type.GetType(txtLibreria.Text + "." + txtClase.Text + ", " + txtLibreria.Text, True) Dim myObject As Object = Activator.CreateInstance(objectType) ' Crea la instancia del objeto Dim mi As Reflection.MethodInfo = myObject.GetType().GetMethod( txtMetodo.Text) mi.Invoke(myObject, Nothing) ' Invoca al método (sin parámetros)
Dim pi As Reflection.PropertyInfo = myObject.GetType.GetProperty( txtPropiedad)
Dim strResultado As String = pi.GetValue(myObject, Nothing) ' Recupera el valor de la propiedad
txtResultado.Text = strResultado
En siguientes entregas, veremos la forma de llamar a un método con parámetros, y de obtener toda la información de una clase.
Referencias:
miércoles, 7 de marzo de 2007
Gráficos ABC

Gráficos ABC

Los gráficos ABC se pueden utilizar para obtener una información clara de aquellos elementos a los que necesitamos prestar una mayor atención dentro de un conjunto de datos. Para aclarar un poco este tema, pongamos un ejemplo. Supongamos que tenemos una lista de fallos que se producen en la cadena de producción:
  • Fallo de color
  • Fallo de dibujo
  • Fallo de tela
  • Fallo de presentación
Estos fallos queremos clasificarlos dentro de tres grupos:
  • Grupo A: los que más nos interesa controlar. Son aquellos que representarán el 75% de los fallos que tiene nuestra empresa y que debemos solucionar urgentemente.
  • Grupo B: aquellos defectos que tienen una importancia secundaria.
  • Grupo C: son defectos que podemos despreciar, ya que ocurren ocasionalmente.
Pongamos que tenemos la siguiente clasificación:

Defecto
Cantidad
Color
4
Dibujo
3
Presentación
1
Color
1
Tela
8
Presentación
1

Para obtener el gráfico necesitamos dos columnas más, una que representará el tanto por cien del número de fallos sobre el total y otra que contendrá el tanto por cien acumulado:

Defecto
Cantidad
Porcentaje
Acumulado
Tela
8
44.4
44.4
Color
5
27.7
72.1
Dibujo
3
16.6
88.7
Presentación
2
11.1
100

18
100


Como se puede observar, hemos ordenado la tabla con la cantidad Porcentaje en orden descendente.

Los dos primeros defectos (tela y color) serían los que entrarían en el grupo A, ya que se encuentran por debajo del 75% de la columna acumulado.

El segundo grupo (grupo B), lo formarían aquellos defecto del 75% al 90% (dibujo) y el grupo C aquellos que estén por encima del 90%.

Por lo tanto controlando los defectos de tela y color, estamos controlando el 75% de los defectos de nuestra empresa.

Si aplicamos este concepto con más datos, los resultados son más claros. En el siguiente gráfico se han introducido 20 defectos. Como se puede ver en la gráfica, controlando 4 de los 20 defectos (linea azul), podemos solucionar el 75% de los defectos de nuestra empresa.


En conclusión, podemos utilizar los gráficos ABC en multitud de escenarios, dedicando el esfuerzo de control a un grupo reducido de elementos.

El autor de esta teoría es Vilfredo Pareto (http://es.wikipedia.org/wiki/Pareto), por lo que, en ocasiones, se puede referir a este gráfico como Pareto de Defectos, etc.

Por último, agradecer a mi amigo José Martín Ferre que fue quien me introdujo este concepto que en su día aplicamos en tantas y tantas empresas.
martes, 27 de febrero de 2007
no image

Google Maps (I)

Ya se que está muy visto el incluir mapas en las web, y que hay mucha documentación al respecto, pero me costó bastante encontrar ciertas funcionalidades en lo que se refiere a marcar rutas sobre el mapa. Así que aquí tenéis un pequeño resumen en varias entregas.

Crear mapa


Lo primero que necesitamos, es un mapa, para ello necesitamos registrarnos en la API de Google en http://www.google.com/apis/maps/signup.html

Incluiremos el enlace a la API en la cabecera (head) con la clave que nos han proporcionado:

<script src="http://maps.google.com/maps?file=api&v=2&key=PONER_AQUI_LA_CLAVE" type="text/javascript"></script>

Después añadiremos el código
javascript para mostar el mapa:

<script type="text/javascript">

//<![CDATA[
var map;

function load() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map"));

map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());

basico();
}
}javascript:void(0)
Publicar

function basico() {
map.setCenter(new GLatLng(38.697789, -0.473302), 15);
}
//]]>

Sólo nos falta crear un div en nuestra página para que pueda contener el mapa y llamar a los métodos de inicialización de la API de Google Maps:

<body onload="load()" onunload="GUnload()">
<div id="map" style="width: 27em; height: 27em"></div>
</body>


Aquí tendríamos el resultado, un mapa centrado en Alcoi a una altura definida (15):
Quick Message
Press Esc to close
Copyright © 2013 Apaga y vámonos All Right Reserved