Desarrollando dll(dynamic link library) en VB Net 2010

Mucho se ha desarrollado sobre enlace de datos, sobre todo en Access y representados en Datagridview. Si bien nos ha servido mucho, es importante tambien destacar la creacion de paquetes de calculo, para ser usados en este tipo de programas y evitarnos menos cantidad de codigo y ser llamados desde otras aplicaciones.

Primeramente creamos el proyecto Biblioteca de Clases:

Nombramos el proyecto:  y se nos abre una ventana donde pondremos todas las funciones, metodos y procedimientos que necesitemos mediante codigo para esto hagamos un funcion y tratemos mas adelante de usarla en una aplicación cualquiera

La funcion propuesta de combinacion:
 
Programando la dll:
Public Class nCr
    Public Function Factorial(ByVal x As Integer) As Integer
        Dim fact As Integer
        Try
            If (x >= 0) Then
                fact = 1
                If (x > 0) Then
                    Do
                        fact = fact * x
                        x = x - 1
                    Loop While x > 1
                End If
            Else
            End If
        Catch ex As Exception
            MsgBox("Error: no se puede continuar...")
        End Try
        Return fact
    End Function
    Function Combinar(ByVal n As Integer, ByVal r As Integer)
        Dim Comb As Double
        Comb = Factorial(n) / (Factorial(r) * Factorial(n - r))
        Return Comb
    End Function
End Class

Generamos la dll  e importamos por referencia a nuestra Aplicacion de prueba. Mi captura generando  el test de prueba.


Sobre el boton Calcular de la prueba:
Private Sub BtnCalcular_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCalcular.Click
        Dim calc As New Pack1.nCr
        Dim n, r As Integer
        n = CInt(txtn.Text)
        r = CInt(txtr.Text)
        Dim resultado As Integer = calc.Combinar(n, r)
        'Impresion de resultados
        txtrep.Text = resultado
    End Sub

Listo!! Nos vemos en otra entrega importante y si les sirvio de algo comenten:
 Mi  ejemplo: https://docs.google.com/open?id=0B-UGWA03tc5ZT2JsUTFiSWNGUFU

Comentarios

Entradas populares de este blog

Imprimir directamente ReportViewer a impresora predeterminada

DevComponents DotnetBar 12.5.0.2

Metodo Iterativo Gauss-Seidel en Visual Basic