Try, Catch y end Try

El Bloque Try…Catch…Finally…End Try, es una innovación apartir de .NET (ósea no existia en VB 6.0), a estas alturas ya no es una innovación puesto que el VS 2008 ya esta en las calles, con su framework 3.5 (aqui) pero vamos a comentar algunas cosas básicas y otras no tan básicas(al menos yo no las sabias). Este bloque como todos sabemos sirve para el manejo de las excepciones tanto propias, de nuestra aplicación, como las que podrían ocurrir que vamos a comentar mas adelante. Para comenzar vamos a ver un ejemplo web simple de cómo usar la sentencia try…catch.

Seguir leyendo “Try, Catch y end Try”

Anuncios

Llenar y Recorrer un HashTable

Una Hastable es una tabla (que utiliza la interface IDictionary) y lo que hace es guardar un par (clave y valor) NO de manera secuencial es decir uno atrás de otro dentro de la tabla sino usando internamente una tabla Hash, esto es importante porque cuando uno está programando no tiene que creer que los datos dentro de la HashTable están “uno al lado del otro” por decirlo en criollo sino que están guardados internamente según el código Hash numérico de la clave. La ventaja es obvia, cuando se tenga que buscar esa clave no se va a recorrer la tabla secuencialmente sino se buscará directamente por su código Hash.

Seguir leyendo “Llenar y Recorrer un HashTable”

AddressOf (Operador)

Este operador (AddressOf) crea un objeto delegate que apunta a un determinado procedimiento, de hecho, podrá asignar normalmente el resultado de AddressOf a una variable delegate sin tener que crear explícitamente un objeto delegate. La diferencia con los punteros es que los delegados de Visual Basic son un tipo de referencia basado en la clase System.Delegate.

En criollo El AddressOf es la forma en la que VB maneja los delegados. Lo que hace AddressOf es decir: cuando se dispare Depurar(), yo quiero que me ejecutes el método borrarRow que debe ser Shared.

Un simple ejemplito de AdrressOf Usando el método genérico de Array, ForEach.

Recibe como parámetros:

Array: Matriz Array unidimensional de base cero en cuyos elementos se va a llevar a cabo la acción.

Action: Delegado Action que se va a ejecutar en cada elemento de array.

Sub Depurar()

Array.ForEach(dataset.Tables(“TABLA”).Select(“CAMPO_ESTADO=1”), AddressOf borrarRow)

Array.ForEach(dataset.Tables(“TABLA2”).Select(“CAMPO_ESTADO=1”), AddressOf borrarRow)

Array.ForEach(dataset.Tables(“TABLA3”).Select(“CAMPO_ESTADO=1”), AddressOf borrarRow)

End Sub

Shared Sub borrarRow(ByVal dr As DataRow)

dr.Delete()

End Sub

El Delegado borrará los campos que coincidan con la condicion del select, osea que un CAMPO_ESTADO sea igual a 1.
Saludos.

Tags: , , , , , , ,

FileUpLoad e ImagenThumbnail

Una de las limitaciones del control fileupload de asp.net 2.0 es que luego de seleccionar el archivo, en este caso una imagen, se requiere un botón adicional para subir la imagen al servidor y previsualizarla. Este post pretende mostrar una manera (lo que no significa que sea la única ni la mejor) de realizar ambos pasos, subir la imagen al servidor y realizar el thumbnail con solo seleccionar la imagen.

Se va utilizar Visual Studio 2005 y por ende asp.net 2.0 (probado para IE 6.0 en adelante y Mozilla-Firefox 2.0.6).

Seguir leyendo “FileUpLoad e ImagenThumbnail”