miércoles, 1 de julio de 2009

Funciones y procedimeintos en vb.net

Los procedimientos som proceso que no devuelven un valor especifico, esta es la sintaxis:

Sub N0mbredelProcedimiento()
cuerpo
End sub

Aqui les va un ejemplo: Crear un procedimiento que permita limpiar los TextBox de un formulario.



Sub limpiar()
Dim obj As Object
For Each obj In Me.Controls
If TypeOf obj Is TextBox Then
obj.text = ""
End If
Next
End Sub


El For Each nos ayuda a buscar los objetos que son TextBox y los limpia.

NOTA: Los TextBox que esten dentro de de un groupbox no se limpiaran por que los toma fuera del formulario.

En cambio las funciones davuelven un valor específico y puede recibir parametros.

EJEMPLO: Crear una funcion que devuelven la suma de dos numeros que se reciben como parametros.


Function suma(ByVal x As Integer,ByVal y As Integer) As Integer
Dim suma As Integer
suma = x + y
Return suma
End Function

Los parametros son: x, y (valores enteros) y el valor a retornar es: suma.

lunes, 29 de junio de 2009

Metodo de Burbuja

Este metodo es el mas utilizado por todos los programadores para ordenar datos.

Empezaremos declarando las variables a utilizar:

Dim vec(5), i, j, m As Integer

donde:
  • vec(5) es un vector
  • i, j son indices
  • m la memoria temporal

Luego a ordenar:

vec(5) = {4,9,3,7,5}

For i = 1 To 4
For j = i + 1 To 5
m = vec(i)
vec(i) = vec(j)
vec(j) = m
j = j + 1
Next
i = i + 1
Next

En los pasos anteriores vemos dos bucles anidados, esto sirve para intercambiar las posiciones de los datos del vestor o matriz, mediante un amemoria alterna(m).

Y finalmente aparecerá :

3
4
5
7
9

Llenar un ComboBox

En este post vamos a c'ver como cargar de datos un ComboBox en el metodo en el evento Load del formulario.

Primaramente mostrare el codigo y luego pasare a explicarlo:

Dim db As New SqlDataAdapter("SELECT DISTINCT cod_art FROM productos", cn)
Dim dt As New DataTable
db.Fill(dt)

Me.ComboBox1.DataSource = dt
Me.ComboBox1.DisplayMember = "cod_art"
Me.ComboBox1.ValueMember = "nom_art"

donde:
  1. db es la senetcia sql
  2. dt es el datatable


Para la cual los datos de la sentencia sql se guardan el DataAdapter(db) en memoria, para la cual se debe mandar la conexion(cn) como parametro:

Dim db As New SqlDataAdapter("SELECT DISTINCT cod_art , nom_art FROM productos", cn)

Luego los datos del DataAdapter pasan a un DataTable(dt) y son llenados mediante el metodo Fill.

db.Fill(dt)

Finalmente pasamos los datos del DataTable al ComboBox mediante el metodos:

  • DataSource: Guarda todos los datos del DataTable
  • DisplayMenber: Muestra los datos dentro del ComboBox del campo elejido
  • ValueMenber: Guarda los datos del campo elegido.

Me.ComboBox1.DataSource = dt
Me.ComboBox1.DisplayMember = "cod_art"
Me.ComboBox1.ValueMember = "nom_art"