Últimas noticias
Loading...

Últimos artículos

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:
jueves, 12 de julio de 2007
SQL Server: Metadatos (I) - Procedimientos Almacenados

SQL Server: Metadatos (I) - Procedimientos Almacenados

Cuando una base de datos alcanza un tamaño significativo en lo relativo a procedimientos almacenados, se hace muy complicado tener una visión general de dichos procedimientos junto con los parámetros que aceptan. Es por ello que sería muy interesante obtener todos los procedimientos junto con sus parámetros y tipos de datos en una consulta SQL, con el fin de poder tratar esta información desde una aplicación externa, por ej. desde Excel o Access.
SQL Server nos brinda esta información en lo que se suele denominar metadata. Dentro del espacio INFORMATION_SCHEMA encontramos información relativa a los objetos de la base de datos. Para el caso que nos ocupa, utilizaremos la tabla PARAMETERS:

SELECT SPECIFIC_SCHEMA, SPECIFIC_NAME, PARAMETER_NAME, DATA_TYPE, PARAMETER_MODE
FROM INFORMATION_SCHEMA.PARAMETERS
WHERE
OBJECTPROPERTY ( OBJECT_ID ( QUOTENAME(SPECIFIC_SCHEMA) + '.' + QUOTENAME(SPECIFIC_NAME) ), 'IsMsShipped' ) = 0
Ejecutando la SQL en nuestra base de datos, obtendremos todos los procedimientos almacenados del sistema ordenados por la fecha de última modificación (descendente).

viernes, 25 de mayo de 2007
Regenerar identity en SQL Server

Regenerar identity en SQL Server

En ocasiones nos encontramos con una tabla que contiene datos y queremos vaciarla y volverla a rellenar por algún motivo. Si la tabla tiene una columna identity, al rellenarla de nuevo, empezará por el último identificador que tenía asignado. Para inicializar de nuevo la columna identity ejecutaremos la siguiente instrucción desde una consola de SQL:
 dbcc checkident (nombre_tabla, reseed , 0)

martes, 27 de marzo de 2007
no image

Eligiendo un cliente de publicación

Casi me vuelvo loco para encontrar un programa que me permita publicar artículos de una manera sencilla. Parece ser que los más utlizados son:
  • Qumana
  • w.bloggar

Los he descargado, pero por lo que he podido observar w.bloggar funciona muy bien con Wordpress y Qumana me falla al arrancar (excepción de Java) y no hay forma de probarlo. Así que buscando por del.icio.us he encontrado Bleezer. No puedo comparar con los otros, pero aparentemente es muy fácil de utilizar, que a fin de cuentas, es lo que interesa.

He estado tentado de pasar el blog a Wordpress, pero no he podido porque no permite código javascript, lo que es necesario para los ejemplos que he realizado con Google Maps. Así que, de momento, a continuar con Blogger...

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.
Quick Message
Press Esc to close
Copyright © 2013 Apaga y vámonos All Right Reserved