hacker


Ingresar con nombre de usuario, contraseña y duración de la sesión
| Portal Hacker | Editorial | Descargas | Ezine |
Inicio Ayuda Ingresar Registrarse
13 de Mayo de 2008, 06:32:48
Noticias: Nota importante para los VBManíacos LEER

+  Foros pOrtal Hacker
|-+  Programacion
| |-+  Programación en general
| | |-+  Visual Studio.Net
| | | |-+  Crear una DLL con .NET
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Crear una DLL con .NET  (Leído 65 veces)
ranefi
Moderador Global
*****

Votos: 8
Desconectado Desconectado

Mensajes: 1,242


SELECT * FROM guapos WHERE papito_chulo = 'ranefi'


Ver Perfil WWW
« : 06 de Mayo de 2008, 06:34:32 »

¿No se les antoja crear una DLL hoy? ¿Sí? Pues lástima Margarito, mejor hoy vamos a leer un manual completo sobre cómo hacer huevo a la mexicana con chorizo, así que siéntense y comiencen a leer….. ¡Ja! ¡Cayeron! El manual de hoy tratará sobre cómo crear una mugrosa DLL pero con .NET utilizando C# (TAN TAN TAN, no se asusten, no hagan cara de mensos, niñita cuyo nombre comienza con P y termina con S, no te mees en los calzones). Como ya anteriormente les había dicho, C# no es un lenguaje tan difícil, de hecho, es más elegante que Visual Basic (Me duele decirlo, pero así es) y más ordenado, pero la principal razón por lo que los invito a empaparse de este lenguaje es porque allá afuera (sí mijas, allá en el mundo real, allá en donde ni el animé ni el hentai, ni el yahoi para algunos, existe) en el mundo real, exigen conocimientos en dicho lenguaje, ¿por qué? Emmm, pues pueque sea más por llevar un control en el código aunado a una total y absurda ignorancia, pero en fin, ellos son los que pagan, así que a aprender se ha dicho.

Una vez más les digo esto también, estudien cómo diablos va estructurada una clase, me les adelanto un poquito nomás diciéndoles que una clase va conformada de tres partes.

1.- Nombre de la clase
2.- Estructura o Atributos
3.- Comportamiento

Considero que con eso es suficiente, ahora vayan a la página de Microsoft, y sólo bájense los manuales que vienen con sus exámenes de Programador 5 estrellas.


Comencemos…

Pues primero lo primero, abramos Visual C# o Visual Studio (Visual Studio para los que lo compraron o se lo piratearon, inches batos lacras), elijamos Crear Proyecto, luego Biblioteca de clases, en el nombre optemos por ponerle ranefiDLL y presionemos Aceptar.


La imagen de cajón xD



Creando el proyecto


Ahora cambien el nombre de la clase (Class1) por TestingDll y agreguen dos Namespace a la clase:

Código:

using System.Data;
using System.Data.OleDb;




Cambiando el nombre de la cochina clase…. Oooooooh


Lo siguiente será comenzar a construir la segunda parte de la clase (recuerden las tres partes que conforman una clase bola de bueyes), para eso tendrán que agregar el siguiente código:


Código:

private string _strDbLocation;
        private string _strDbFile;
        private string _strDbPwd;
        private string _strDbTable;

        public string DatabaseLocation
        {
            get { return _strDbLocation; }
            set { _strDbLocation = value; }
        }

        public string DatabaseFile
        {
            get { return _strDbFile; }
            set { _strDbFile = value; }
        }

        public string DatabasePwd
        {
            get { return _strDbPwd; }
            set { _strDbPwd = value; }
        }

        public string DatabaseTable
        {
            get { return _strDbTable; }
            set { _strDbTable = value; }
        }



Y ahora siguen los constructores (¿quéeee, no saben qué diablos es eso? Pues pídanle un milagrito a San Google)


Código:

public TestingDll(string strDatabaseLocation, string strDatabaseFile, string strDatabasePassword, string strDatabaseTable)
        {
            _strDbLocation = strDatabaseLocation;
            _strDbFile = strDatabaseFile;
            _strDbPwd = strDatabasePassword;
            _strDbTable = strDatabaseTable;
        }

        public TestingDll(string strDatabaseLocation, string strDatabaseFile, string strDatabaseTable)
        {
            _strDbLocation = strDatabaseLocation;
            _strDbFile = strDatabaseFile;
            _strDbTable = strDatabaseTable;
        }



Ahora por último sigue una pequeña función que nos regresará un Dataset de la tabla de Access que nosotros definamos en el código que hará referencia a la librería que estamos creando. (¿por qué Access y no MySQL, SQL u Oracle? Pues porque se me incharon los tanates, jejeje.)


Código:

public DataSet ShowData()
        {
            DataSet dsData = new DataSet();
            OleDbConnection oleCnn = null;
            OleDbCommand oleCmd = null;
            OleDbDataAdapter oleDa = null;

            try
            {
                oleCnn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" +
                    "Data Source=" +  _strDbLocation + _strDbFile + ";" +
                    "Persist Security Info=False;" +
                    "Jet OLEDB:Database Password=" + _strDbPwd);
                oleCmd = new OleDbCommand("SELECT * FROM " + _strDbTable, oleCnn);
                oleDa = new OleDbDataAdapter(oleCmd);

                oleDa.Fill(dsData);

                return dsData;
            }
            catch
            {
                throw;
            }
            finally
            {
                oleCnn.Close(); oleCnn.Dispose();
            }
        }



Con esto podemos dar por terminada nuestra Dll. El código de nuestra librería debería quedar de esta forma:


Código:

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb;

namespace ranefiDLL
{
    public class TestingDll
    {
        private string _strDbLocation;
        private string _strDbFile;
        private string _strDbPwd;
        private string _strDbTable;

        public string DatabaseLocation
        {
            get { return _strDbLocation; }
            set { _strDbLocation = value; }
        }

        public string DatabaseFile
        {
            get { return _strDbFile; }
            set { _strDbFile = value; }
        }

        public string DatabasePwd
        {
            get { return _strDbPwd; }
            set { _strDbPwd = value; }
        }

        public string DatabaseTable
        {
            get { return _strDbTable; }
            set { _strDbTable = value; }
        }

        public TestingDll(string strDatabaseLocation, string strDatabaseFile, string strDatabasePassword, string strDatabaseTable)
        {
            _strDbLocation = strDatabaseLocation;
            _strDbFile = strDatabaseFile;
            _strDbPwd = strDatabasePassword;
            _strDbTable = strDatabaseTable;
        }

        public TestingDll(string strDatabaseLocation, string strDatabaseFile, string strDatabaseTable)
        {
            _strDbLocation = strDatabaseLocation;
            _strDbFile = strDatabaseFile;
            _strDbTable = strDatabaseTable;
        }


        public DataSet ShowData()
        {
            DataSet dsData = new DataSet();
            OleDbConnection oleCnn = null;
            OleDbCommand oleCmd = null;
            OleDbDataAdapter oleDa = null;

            try
            {
                oleCnn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" +
                    "Data Source=" +  _strDbLocation + _strDbFile + ";" +
                    "Persist Security Info=False;" +
                    "Jet OLEDB:Database Password=" + _strDbPwd);
                oleCmd = new OleDbCommand("SELECT * FROM " + _strDbTable, oleCnn);
                oleDa = new OleDbDataAdapter(oleCmd);

                oleDa.Fill(dsData);

                return dsData;
            }
            catch
            {
                throw;
            }
            finally
            {
                oleCnn.Close(); oleCnn.Dispose();
            }
        }
    }
}



Pues bueno, teniendo listo todo esto, nuestro siguiente paso será agregar o crear un proyecto de prueba para nuestra librería, en nuestro caso deberá ser crear un proyecto. Pero antes, intenten ejecutar la librería, notarán que aparece un espantoso error que nos solicita agregar un nuevo proyecto, pues bueno, eso es lo que haremos.





Agregando un nuevo proyecto

Para agregar un nuevo proyecto, simplemente deberán hacer un clic en la solución (la mugre ésa que se llama Solution nombreProyecto donde nombreProyecto es el nombre del proyecto que ustedes definieron), dar clic derecho, seleccionar Agregar y posteriormente en Nuevo proyecto.





Ahora, seleccionen la opción que dice Aplicación para Windows, en el nombre del proyecto escriban LibTestApp y presionen Aceptar.





Antes de hacer cualquier cochinada, deberán agregar la referencia a la librería que acaban de crear (no está de más que les diga que dicha librería ya se compiló de forma automática en la carpeta Release que se encuentra dentro de la carpeta Bin del proyecto de la misma librería y que debe estar seleccionado el proyecto que acaban de agregar). Para llevar a cabo esto debemos dar clic sobre el proyecto llamadado LibTestApp y elegir Agregar referencia, posteriormente dan clic sobre la pestaña llamada Examinar, busquen la librería llamada ranefiDLL y den doble clic sobre ella.



Agregando la referencia


Buscando la librería recién creada



Al formulario, agreguen un control Button y un control DataGridView, den doble clic sobre el control Button e inserten el siguiente código, pero no sin antes haber agregado el Namespace llamado ranefiDLL (recuerden qué es eso batos locos):


Código:

using ranefiDLL;



Código:

String strDbLocation = @"C:\Documents and Settings\Colibricillo\Escritorio\Proyectos\InvoicesCreator\";
            String strDbFile = "facturas.mdb";
            String strDbPwd = "";
            String strDbTable = "ciudades";

            TestingDll AccessCnn = new TestingDll(strDbLocation, strDbFile, strDbPwd, strDbTable);

            dataGridView1.DataSource = AccessCnn.ShowData().Tables[0];
            dataGridView1.Refresh();



Por último, debemos definir el proyecto inicial, para hacer esto, debemos dar clic derecho a la solución y elegir la opción llamada Propiedades.



Definiendo un proyecto inicial


Ahora deberán elegir la opción llamada Proyecto de inicio único y seleccionar la opción llamada LibTestApp (nuestro proyecto de Windows Forms pelaos)



Definiendo proyecto inicial


Preparen, Apunten, F5

Ahora sí mijas, den clic en Ejecutar y esperen a que cargue el formulario, posteriormente den un clic en el botón previamente agregado y notarán cómo se llena el DataGridView con información de la base de datos de Access (obviamente) que hayamos definido en el código.





Pero bueno, no me podía quedar con las ganas, vamos a agregar dicha librería a un proyecto creado en Visual Basic .NET, tan sólo pa que vean que tambor funciona en nuestro amado Basic. Para eso abran un proyecto de Visual Basic .NET, agreguen la referencia a la librería recién creada, agreguen dos controles al formulario, un DataGridView y un Button, den doble clic sobre el control Button e inserten el siguiente código (¡Pero recuerden! Deben agregar el Namespace llamado ranefiDLL):


Código:

imports ranefiDLL



Código:

Dim strDbLocation As String = "C:\Documents and Settings\Colibricillo\Escritorio\Proyectos\InvoicesCreator\"
        Dim strDbFile As String = "facturas.mdb"
        Dim strDbPwd = ""
        Dim strDbTable = "ciudades"
        Dim AccessCnn As TestingDll = New TestingDll(strDbLocation, strDbFile, strDbPwd, strDbTable)

        DataGridView1.DataSource = AccessCnn.ShowData().Tables(0)
        DataGridView1.Refresh()



Utilizando la Dll con Visual Basic .NET


¿Qué diablos se puede hacer con esto mi buen ranefi?

Emmmm, pues no sé, ahí hállenle utilidad ustedes, jejejeje, no pos pueden distribuir sus librerías para facilitarle a algunos programadores o inclusive a nosotros mismos la difícil tarea de la codificación, pueden hacer tamales, tacos, tortas, conseguir chicas orientales gemelas ninfómanas, hacer muchos amigos y tener una vida larga y próspera, ¡ah! Y casi se me olvida, lo pueden poner en su currículo ; )

¡Ay papantla! Ahora ya sabemos cómo crear librerías en .NET, una excusa más para no salir de casa y continuar con nuestra sedentaria pero segura vida antisocial.

Espero que le hayan entendido, si no, ¡ME VALE WILSON! ¡Ja! Cayeron, pos ya saben batos, yo soy pura raza, publiquen sus dudas y comentarios, hasta recetas de cocina si así lo desean, que ahí cuando vea escritas todas sus leperadas, yo con mucho gusto las ignoraré (¡Ja! Cayeron de nuez).
Sayoonara batos locos cholos marihuanos!!!!!



Códigos de ejemplo


NOTA: Si hay algún error en este manual que consideren menester solventar, no duden en publicarlo en este mismo mensaje.
En línea


SELECT * FROM mejores_batos_ del_mundo WHERE id = (SELECT DISTINCT id_guapo FROM los_mas_guapos _del_mundo WHERE papito_chulo = 'ranefi')
Páginas: [1] Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC hacker

Juegos gratis - Articulos PHP - Juegos - Trucos - Letras - Juegos - Juegos Online