SlideShare ist ein Scribd-Unternehmen logo
1 von 13
DLL’s<br />Una definición más profunda de .NET<br />1072515531495La mejor forma de comprender cómo funciona .NET es analizar las numerosas capas en las que se divide .NET Framework. Veamos la siguiente figura:<br />No te asustes con lo que vas a leer aquí, es obligatorio que lo veamos por encima, al terminar el tema, vuelve a leer esto y veras que sencillo era.<br />Como hemos comentado antes .NET Framework constituye la base sobre la que se asienta .NET. Para nosotros es la pieza fundamental de esta nueva tecnología y es la que nos va a proporcionar las herramientas y servicios que necesitaremos en nuestros desarrollos. Podemos agrupar en tres bloques el conjunto de herramientas y servicios:<br />El runtime de lenguaje común o entorno de ejecución común (CLR)<br />Biblioteca de clases base de la plataforma .NET (.NET Framework Base Classes)<br />Motor de generación de la interfaz para crear formularios e interfaces de usuario.<br />Estas son tres de las capas del esquema anterior. Simplemente esa jerarquía me dice que en el nivel mas alto están los lenguajes que vamos a utilizar en nuestro desarrollo con .NET que pueden ser varios (en nuestro caso Visual Basic). Luego traduce esas instrucciones al estándar .NET para poder trabajar con esas instrucciones de una forma independiente al lenguaje con que se escribieron. El siguiente paso es la generación de formularios para Windows o web (ASP). Luego el enlace con bases de datos si las hay. Por fin llegamos a todos los objetos disponibles y por último el runtime de lenguaje común (CLR) que es el que va a ejecutar la aplicación. Veamos ahora más técnicamente de abajo hacia arriba:<br />1. Runtime del lenguaje común<br />El runtime del lenguaje común es la primera capa que pertenece a .NET Framework. Esta capa es la responsable de los servicios básicos de .NET, tales como la administración de memoria, la recolección de los elementos no utilizados, el control estructurado de excepciones y del subprocesamiento múltiple. Si .NET se transporta a otras arquitecturas que no estén basadas en Windows el primer paso sería escribir un runtime  del lenguaje para el nuevo equipo. El CLR tiene estas características:<br />Proporciona mejoras para el programador que antes tenía que elaborar<br />Administra el código en tiempo de ejecución: carga en memoria, liberación de memoria, ...<br />Gestiona la seguridad del código ejecutado<br />Abre posibilidades a otros fabricantes para incorporar sus lenguajes<br />Facilita la distribución e instalación de aplicaciones. Elimina los temibles conflictos de DLL's y versiones de ellas<br />Es la interfaz entre nuestro código y el sistema operativo, de ahí que si mañana Microsoft hace un CLR en lugar de para Windows, para Macintosh se puedan ejecutar nuestras aplicaciones .NET en este sistema.<br />2. Biblioteca de clases<br />La biblioteca de clases base (BCL) es la parte de .NET Framework que define todos los tipos de datos básicos, tales como System.Object (raíz de la jerarquía de objetos .NET), tipos numéricos y de fechas, tipo string, matrices y colecciones. La BCL contiene también clases que administrarán las características centrales de .NET: entrada/salida de archivos , subprocesamiento, serialización y seguridad. La forma en la que los tipos se implementan en la BCL siguen las especificaciones llamadas Common Type System (CTS). Por ejemplo, estas especificaciones dicta la forma en la que un tipo .NET expone campos, propiedades, métodos y sucesos, también cómo un tipo puede heredar otro tipo... <br />Tranquilo... a lo largo del curso veremos estas clases y por fuerza trabajaremos con ellas porque todo en .NET son clases: desde un gráfico, un botón o nuestro programa.<br />3. Capa de datos<br />La capa de datos y XML contienen las clases .NET que trabajan con bases de datos y con XML. Anteriormente el soporte XML era una compatibilidad proporcionada por un componente externo. En .NET vemos cómo está integrado en su mismo núcleo. Podemos decir que XML es el formato que utiliza .NET para almacenar cualquier tipo de información. La parte de datos es la que se conoce como ADO.NET y es el equivalente en .NET a la tecnología ActiveX Data Object (ADO), ampliamente conocida por los programadores de Visual Basic, Intranets, ...<br />Nota para los conocedores de ADO: Aunque su nombre es muy parecido a ADO.NET son muy diferentes. ADO cubre prácticamente todas las técnicas de bases de datos disponibles (incluyendo cursores del lado del cliente y del servidor, conjuntos de datos desconectados y actualizaciones en diferido). ADO.NET está centrado principalmente en los conjuntos de resultados desconectados (llamados DataSets) Este objeto es mucho mas potente que el objeto ADO Recordset y puede almacenar datos provenientes de varias tablas, relaciones entre diferentes tablas de datos y puede importar y exportar datos en XML.<br />4. Capa de formularios y ASP<br />Las dos capas siguientes son ASP.NET y Windows Forms. Aquí se sitúan todas las clases que podremos utilizar para generar las páginas web en el primer caso y las ventanas estándares o formularios en las aplicaciones de Windows en el segundo caso.<br />Nota ASP.NET es la parte de .NET encargada del desarrollo en web. Una evolución muy ampliada de las páginas ASP y comprende los web forms y los servicios web XML. No lo veremos en este curso pero el salto a desarrollar en Web es muy sencillo...<br />Aunque estén en el mismo nivel las tecnologías son muy distintas. Web Forms se ejecuta en el servidor y produce HTML y es la base de las conocidas Intranets donde estas páginas devuelven otras páginas web con conjuntos de resultados u otros datos. Windows Forms se ejecuta en el cliente, un equipo Windows. <br />La  biblioteca de clases de .NET Framework está formada por una colección de ensamblados (o Assembly), cada uno de los cuales comprende una o más DLL. Veamos que esto de un quot;
ensambladoquot;
...<br />Un ensamblado consiste en un conjunto de tipos y recursos reunidos para formar la unidad mas elemental de código que puede ejecutar el entorno .NET Framework. Estos ensamblados son los elementos con los que construiremos una aplicación: una aplicación .NET se compone de varios ensamblados. Podemos llamar también a un ensamblado como una DLL lógica (recordamos que una DLL es una biblioteca de enlaces dinámicos). Decimos lógica porque se trata de una lista de ficheros que se referencian en tiempo de ejecución pero que no se compilan para producir un fichero físico, a diferencia de las DLL's tradicionales. Un ensamblado va mucho más allá ya que puede contener otros recursos además de clases como imágenes, ...<br />5. Capas de CLS y lenguajes<br />Donde están las especificaciones de los lenguajes y su sincronización con el entorno .NET<br />2891790-12065Empezaremos con el siguiente Ejemplo:            Jojojojo<br />Paso 1: Debemos contar con un modelo relacional, y orientarlo a este caso, esto le será proporcionado por su asesor. (Script de Base de Datos SQL Server SysInventario), pero antes deberá crear una carpeta en el escritorio, llamado: MANTENIMIENTO  y dentro de el 2 Sub Carpetas: DLL y FORMULARIOS<br />Paso 2: Adicionalmente Crear los Siguientes Procedimientos Almacenados en SQL:<br />Create Procedure SpGrabar_Foto@Parametro   Varchar(50),@Fot         Image,@Id          Varchar(10)As    IF @Parametro='RAM' Update RAM Set Imagen=@Fot Where RamId=@Id    IF @Parametro='PROCESADOR' Update PROCESADOR Set Imagen=@Fot Where ProcesadorID=@Id    IF @Parametro='DISCO_HDOP' Update DISCO_HDOP Set Imagen=@Fot Where DiscoID=@Id    IF @Parametro='TARJETA' Update TARJETA Set Imagen=@Fot Where TarjetaID=@Id    IF @Parametro='FUENTE' Update FUENTE Set Imagen=@Fot Where FuenteID=@Id    IF @Parametro='FLOPPY' Update FLOPPY Set Imagen=@Fot Where FloppyID=@Id    IF @Parametro='XCASE' Update XCASE Set Imagen=@Fot Where CaseID=@Id    IF @Parametro='MAINBOARD' Update MAINBOARD Set Imagen=@Fot Where MainBoardID=@Id    IF @Parametro='IMPRESORA' Update IMPRESORA Set Imagen=@Fot Where ImpresoraID=@Id    IF @Parametro='MOUSE' Update MOUSE Set Imagen=@Fot Where MouseID=@Id    IF @Parametro='TECLADO' Update TECLADO Set Imagen=@Fot Where TecladoID=@Id    IF @Parametro='MONITOR' Update MONITOR Set Imagen=@Fot Where MonitorID=@Id    IF @Parametro='EMPLEADO' Update EMPLEADO Set FotoImg=@Fot Where EmpleadoID=@Id    IF @Parametro='MARCA' Update MARCA Set Imagen=@Fot Where MarcaID=@IdGoCREATE PROCEDURE Sp_Generador@Param VARCHAR(50),@CodGen VARCHAR(10) OUTPUTAS    DECLARE @ULT INT,@CEROS INT    IF @Param IN ('RAM','PROCESADOR','DISCO_HDOP','TARJETA','CPU',                  'FUENTE','MAINBOARD','IMPRESORA','EMPLEADO','XCASE')    Begin        SELECT @Ult=ULTIMO+1 FROM GENERADOR WHERE Parametro=@Param        SET @CEROS=9 - LEN(CONVERT(VARCHAR,@Ult))SET @CodGen=LEFT(@Param,1)+REPLICATE('0',@CEROS)+CONVERT(VARCHAR,@Ult)    End    IF @Param IN ('MONITOR','TECLADO')    Begin        SELECT @Ult=ULTIMO+1 FROM GENERADOR WHERE Parametro=@Param        SET @CEROS=8 - LEN(CONVERT(VARCHAR,@Ult))SET @CodGen=LEFT(@Param,1)+REPLICATE('0',@CEROS)+CONVERT(VARCHAR,@Ult)    End    IF @Param IN ('MARCA')    Begin        SELECT @Ult=ULTIMO+1 FROM GENERADOR WHERE Parametro=@Param        SET @CEROS=7 - LEN(CONVERT(VARCHAR,@Ult))SET @CodGen=LEFT(@Param,1)+REPLICATE('0',@CEROS)+CONVERT(VARCHAR,@Ult)    End    IF @Param IN ('MOUSE')    Begin        SELECT @Ult=ULTIMO+1 FROM GENERADOR WHERE Parametro=@Param        SET @CEROS=6 - LEN(CONVERT(VARCHAR,@Ult))SET @CodGen=LEFT(@Param,1)+REPLICATE('0',@CEROS)+CONVERT(VARCHAR,@Ult)    End    UPDATE Generador SET Ultimo=@Ult WHERE Parametro=@ParamGoCreate Procedure SpListadoRamAs   Select * From RAMGo<br />-3810377825Paso 3: Ahora ingresemos a Visual Basic NET, y crearemos un proyecto orientado a Bibliotecas de Clase, llamado DLL_MAN1, así como se muestra en la Imagen:<br />Cuando Aceptemos, observaremos el siguiente entorno:<br />-38103810<br />Propiedad: Nombre de Archivo: DLL_MantenimientoY cambiara el nombre de la clase por igualAquí debemos cambiar el nombre de la Clase por: DLL_Mantenimiento, y deberá quedar de la siguiente manera:<br />5664835-90170Grabe el Proyecto DLL  en la carpeta DLL del paso 1 haciendo clic en el botón Guardar Todo:<br />-381014605<br />Finalice el proceso haciendo clic en Guardar.<br />Paso 4:  Empecemos a Programar dicha biblioteca, agregando el siguiente espacio:<br />Imports System.Data.SqlClient<br />Defina las siguientes variables a nivel de clase:<br />Crear Las Siguientes FuncionesPublic Shared Function AplicarCadenaConexion() As SqlConnection      Dim SconnectionString As String =                          (quot;
Server=LocalHost;Uid=SA;Password=123;Database=SysInventarioquot;
)      Return New SqlConnection(SconnectionString)End Function    Public Function ListadoRAM() As DataTable        Try            Dim DaListadoRAM As New SqlDataAdapter            Dim DsListado As New DataSet            DaListadoRAM.SelectCommand = New SqlCommand            With DaListadoRAM.SelectCommand                .Connection = AplicarCadenaConexion()                .CommandType = CommandType.StoredProcedure                .CommandText = quot;
SpListadoRamquot;
            End With            DaListadoRAM.Fill(DsListado, quot;
ListaRamquot;
)            Return DsListado.Tables(quot;
ListaRamquot;
)        Catch ex As Exception            MsgBox(ex.Message)        End Try    End Function    Public Function DeleteRam(ByVal Rid As String) As Integer        Try            Dim Dat As New ClsDatos            Dim Conexion As SqlConnection = AplicarCadenaConexion()            Dim CadenaUpdate As String = quot;
UPDATE Ram Set Estado=0 Where RamID=@Ridxquot;
            Conexion.Open()            Dim CMD As New SqlCommand(CadenaUpdate, Conexion)            With CMD.Parameters                .AddWithValue(quot;
@Ridxquot;
, Rid)            End With            CMD.ExecuteNonQuery()            Conexion.Close()            MsgBox(quot;
Dato InHabilitado Corectamentequot;
, MsgBoxStyle.Information)            Return 0        Catch ex As Exception            MsgBox(ex.Message)            Return 1        End Try    End Function<br />    Public Function SelectRam(ByVal Rid As String) As ClsDatos        Dim Dat As New ClsDatos        Dim DrRam As SqlDataReader        Dim Conexion As SqlConnection = AplicarCadenaConexion()        Dim CadenaSelect As String        CadenaSelect = quot;
Select RamID,Modelo,MarcaID,Serie,Tipo,Capacidad, quot;
 _             & quot;
VelocBus,Imagen,Imagensitio,Estado quot;
 _             & quot;
From RAM Where RamID=@Ridquot;
        Conexion.Open()        Dim CmdRam As New SqlCommand(CadenaSelect, Conexion)        CmdRam.Parameters.AddWithValue(quot;
@Ridquot;
, Rid)        DrRam = CmdRam.ExecuteReader        If DrRam.Read Then            Dat.Rid = DrRam(quot;
RamIDquot;
).ToString            Dat.Mode = DrRam(quot;
Modeloquot;
).ToString            Dat.MarcId = DrRam(quot;
MarcaIdquot;
).ToString            Dat.Ser = DrRam(quot;
Seriequot;
).ToString            Dat.Tip = DrRam(quot;
Tipoquot;
).ToString            Dat.Capac = DrRam(quot;
Capacidadquot;
).ToString            Dat.Veloc = DrRam(quot;
VelocBusquot;
).ToString            Dat.Img = DrRam(quot;
Imagenquot;
).ToString            Dat.ImgSitio = DrRam(quot;
ImagenSitioquot;
).ToString            Dat.Est = DrRam(quot;
Estadoquot;
).ToString        End If        Return Dat        Conexion.Close()    End FunctionCrear el Siguiente ProcedimientoPublic Sub InsertUpdateRam(ByVal Dat As ClsDatos)   Try        Select Case Dat.Condicion        Case quot;
Iquot;
            Dim Conexion As SqlConnection = AplicarCadenaConexion()            Dim CadenaInsert As String = quot;
Insert Into RAM(RamId,Modelo,MarcaId,quot;
 + _            quot;
Serie,Tipo,Capacidad,VelocBus,Imagen,ImagenSitio,Estado) quot;
 + _            quot;
Values (@Rid,@Model,@MarId,@Ser,@Tip,@Cap,@Veloc,NULL,NULL,@Est)quot;
            Conexion.Open()            Dim CMD As New SqlCommand(CadenaInsert, Conexion)            With CMD.Parameters              .AddWithValue(quot;
@Ridquot;
, Dat.Rid)              .AddWithValue(quot;
@Modelquot;
, Dat.Mode)              .AddWithValue(quot;
@MarIdquot;
, Dat.MarcId)              .AddWithValue(quot;
@Serquot;
, Dat.Ser)              .AddWithValue(quot;
@Tipquot;
, Dat.Tip)              .AddWithValue(quot;
@Capquot;
, Dat.Capac)              .AddWithValue(quot;
@Velocquot;
, Dat.Veloc)              '.AddWithValue(quot;
@Img1quot;
, Dat.Img)              '.AddWithValue(quot;
@Img2quot;
, Dat.ImgSitio)              .AddWithValue(quot;
@Estquot;
, Dat.Est)            End With            CMD.ExecuteNonQuery()            Conexion.Close()            MsgBox(quot;
Datos almacenados Correctamentequot;
, MsgBoxStyle.Information)        Case quot;
Uquot;
            Dim Conexion As SqlConnection = AplicarCadenaConexion()            Dim CadenaUpdate As String = quot;
UPDATE Ram Set Modelo=@Model,MarcaId=@MarId,quot;
 + _            quot;
Serie=@Ser,Tipo=@Tip,Capacidad=@Cap,VelocBus=@Veloc,Imagen=NULL,quot;
 + _            quot;
ImagenSitio=NULL,Estado=@Est Where RamID=@Ridquot;
            Conexion.Open()            Dim CMD As New SqlCommand(CadenaUpdate, Conexion)            With CMD.Parameters               .AddWithValue(quot;
@Ridquot;
, Dat.Rid)               .AddWithValue(quot;
@Modelquot;
, Dat.Mode)               .AddWithValue(quot;
@MarIdquot;
, Dat.MarcId)               .AddWithValue(quot;
@Serquot;
, Dat.Ser)               .AddWithValue(quot;
@Tipquot;
, Dat.Tip)               .AddWithValue(quot;
@Capquot;
, Dat.Capac)               .AddWithValue(quot;
@Velocquot;
, Dat.Veloc)               '.AddWithValue(quot;
@Img1quot;
, Dat.Img)                   '.AddWithValue(quot;
@Img2quot;
, Dat.ImgSitio)                   .AddWithValue(quot;
@Estquot;
, Dat.Est)              End With              CMD.ExecuteNonQuery()              Conexion.Close()              MsgBox(quot;
Datos Actualizados Corectamentequot;
, MsgBoxStyle.Information)           End Select   Catch ex As Exception            MsgBox(ex.Message)   End TryEnd Sub<br />Paso 5: En el mismo proyecto agregar una nueva Clase con el nombre: CLSDATOS y este contendrá el siguiente código:<br />Public Class ClsDatos    Public Condicion As String    Public Rid As String    Public Mode As String    Public MarcId As String    Public Ser As String    Public Tip As String    Public Capac As String    Public Veloc As String    Public Img As String    Public ImgSitio As String    Public Est As IntegerEnd Class<br />Seleccione Generar DLL_Man1, y luego espero unos segundos, para que genere nuestra DLL.Paso 6: Ahora después de culminar el 5to paso, proceda a generar la DLL, es decir nuestro archivo soporte que contendrá encriptado todo nuestro código basado en clases.<br />Para verificar que nuestra DLL esta creada, debemos buscarla en la carpeta RELEASE, de nuestro proyecto, esta estará dentro de la carpeta BIN <br />-3810-2540<br />-3810538480Después de verificar la creación de nuestra DLL, procederemos a crear un nuevo proyecto basado en Aplicación para Windows (Visual Basic NET).  El Nombre de Nuestro Proyecto Nuevo: SYSINVENTARIO<br />Cuando nuestro proyecto este creado, debemos agregar nuestra DLL (DLL_Man1) a nuestro proyecto, realice la siguiente operación: PROYECTO - > AGREGAR REFERENCIA<br />967740-5715<br />Lo cual nos lleva a la siguiente ventana: aquí debemos seleccionar la pestaña EXAMINAR, luego buscamos nuestra DLL en la carpeta RELEASE de nuestro proyecto anterior, la seleccionamos y aceptamos, con esto nuestra DLL formara parte de nuestro proyecto, así podremos usar el código encriptado que se encuentra en su interior.<br />52959085725<br />1291590898525Aquí esta nuestra DLL, agregada como referencia.Ahora verifiquemos que nuestra DLL esta agregada a nuestro proyecto, esto dependerá única y exclusivamente de nuestro EXPLORADOR DE SOLUCIONES, esta ventanita muestra por defecto solo los componentes creados por el usuario, y de forma reservada oculta algunos componentes, en la parte superior de esta ventanita existe algunos iconos, hagamos clic en el icono “MOSTRAR TODOS LOS ARCHIVOS”, tiene la siguiente forma:<br />53340125730<br />Ahora Diseñemos Nuestro Formulario:<br />-381019050<br />Luego Diseñar el Siguiente Formulario, usando los controles ya definidos.<br />Este formulario llevara el nombre: FrmRam, el cual estará compuesto por los siguientes objetos: 7 cajas de textos (Sin cambiar nombre), 2 combos (Sin Cambiar nombre) y 5 botones comandos (BtnGrabar, BtnActualizar, BrnConsultar, BtnEliminar, BtnListado). Un DatagridView (DtgRAM) y un control Picturebox1 (Sin cambiar nombre)<br />Ahora procederemos a programar el formulario.<br />Agregar EL siguiente Espacio referencia de SQL ServerImports System.Data.SqlClient    Dim ObjRefMante As New Dll_Man1.Dll_Mantenimiento    Dim ObjRefCaptura As New Dll_Man1.ClsDatos    Dim DsEntorno As New DataSet    Dim Cn As New                SqlConnection(quot;
Server=LocalHost;Uid=Sa;Password=123;Database=SysInventarioquot;
)    Dim DaMarca As New SqlDataAdapter(quot;
Select * From Marcaquot;
, Cn)Form Load        DaMarca.Fill(DsEntorno, quot;
Marcaquot;
)        ComboBox1.DataSource = DsEntorno.Tables(quot;
Marcaquot;
)        ComboBox1.DisplayMember = quot;
DesMarcaquot;
        ComboBox1.ValueMember = quot;
MarcaIDquot;
        ComboBox2.Items.Add(quot;
Habilitadoquot;
)        ComboBox2.Items.Add(quot;
InHabilitadoquot;
)BtnGrabar (Click) Try   If MessageBox.Show(quot;
Desea Grabarquot;
, quot;
Seleccione Su Opcionquot;
, MessageBoxButtons.YesNo,                             MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then                Dim CmdEjecutar As New SqlCommand(quot;
Sp_Generadorquot;
, Cn)                Dim PrmParametro As New SqlParameter                Cn.Open()                With CmdEjecutar                    .CommandType = CommandType.StoredProcedure                    PrmParametro = .Parameters.Add(quot;
@Paramquot;
, SqlDbType.VarChar, 50)                    PrmParametro.Value = quot;
RAMquot;
                    PrmParametro = .Parameters.Add(quot;
@CodGenquot;
, SqlDbType.VarChar, 10)                    PrmParametro.Direction = ParameterDirection.Output                    PrmParametro.Value = quot;
quot;
                    .ExecuteNonQuery()                    ObjRefCaptura.Rid = .Parameters(1).Value                End With                CmdEjecutar.Dispose()                Cn.Close()                ObjRefCaptura.Condicion = quot;
Iquot;
                Me.TextBox1.Text = ObjRefCaptura.Rid                ObjRefCaptura.Mode = Me.TextBox2.Text                ObjRefCaptura.MarcId = ComboBox1.SelectedValue                ObjRefCaptura.Ser = Me.TextBox3.Text                ObjRefCaptura.Tip = Me.TextBox4.Text                ObjRefCaptura.Capac = Me.TextBox5.Text                ObjRefCaptura.Veloc = Me.TextBox6.Text                ObjRefCaptura.Img = DBNull.Value.ToString                ObjRefCaptura.ImgSitio = DBNull.Value.ToString                ObjRefCaptura.Est = IIf(ComboBox2.SelectedIndex = 0, 1, 0)                ObjRefMante.InsertUpdateRam(ObjRefCaptura)            End IfCatch Ex As Exception            MessageBox.Show(Ex.Message)End TryBtnConsultar (Click)        Try            Dim ABC As New Dll_Man1.ClsDatos            ABC = ObjRefMante.SelectRam(Me.TextBox1.Text)            Me.TextBox1.Text = ABC.Rid            Me.TextBox2.Text = ABC.Mode            Me.ComboBox1.SelectedValue = ABC.MarcId            Me.TextBox3.Text = ABC.Ser            Me.TextBox4.Text = ABC.Tip            Me.TextBox5.Text = ABC.Capac            Me.TextBox6.Text = ABC.Veloc            Me.TextBox7.Text = ABC.Img            'ABC.ImgSitio            Me.ComboBox2.Text = IIf(ABC.Est = 0, quot;
InHabilitadoquot;
, quot;
Habilitadoquot;
)        Catch Ex As Exception            MessageBox.Show(Ex.Message)        End TryBtnActualizar (Click)Try  If MessageBox.Show(quot;
Desea Actualizarquot;
, quot;
Seleccione Su Opcionquot;
, MessageBoxButtons.YesNo,      MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then                ObjRefCaptura.Condicion = quot;
Uquot;
                ObjRefCaptura.Rid = Me.TextBox1.Text                ObjRefCaptura.Mode = Me.TextBox2.Text                ObjRefCaptura.MarcId = ComboBox1.SelectedValue                ObjRefCaptura.Ser = Me.TextBox3.Text                ObjRefCaptura.Tip = Me.TextBox4.Text                ObjRefCaptura.Capac = Me.TextBox5.Text                ObjRefCaptura.Veloc = Me.TextBox6.Text                ObjRefCaptura.Img = DBNull.Value.ToString                ObjRefCaptura.ImgSitio = DBNull.Value.ToString                ObjRefCaptura.Est = IIf(ComboBox2.SelectedIndex = 0, 1, 0)                ObjRefMante.InsertUpdateRam(ObjRefCaptura)   End IfCatch Ex As Exception         MessageBox.Show(Ex.Message)End TryBtnEliminar(Click)        Dim R As Integer        R = ObjRefMante.DeleteRam(Me.TextBox1.Text)        If R = 0 Then            Me.ComboBox2.Text = quot;
InHabilitadoquot;
        Else            Me.ComboBox2.Text = quot;
Habilitadoquot;
        End IfDtgRAM(Click)DtgRAM.DataSource = ObjRefMante.ListadoRAM<br />
DLL's y capas de .NET
DLL's y capas de .NET
DLL's y capas de .NET
DLL's y capas de .NET
DLL's y capas de .NET
DLL's y capas de .NET
DLL's y capas de .NET
DLL's y capas de .NET
DLL's y capas de .NET
DLL's y capas de .NET
DLL's y capas de .NET
DLL's y capas de .NET

Weitere ähnliche Inhalte

Was ist angesagt?

Fundamentos de Telecomunicaciones - Unidad 5 Multiplexación
Fundamentos de Telecomunicaciones - Unidad 5 MultiplexaciónFundamentos de Telecomunicaciones - Unidad 5 Multiplexación
Fundamentos de Telecomunicaciones - Unidad 5 MultiplexaciónJosé Antonio Sandoval Acosta
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosChristian19121
 
automatas finitos
 automatas finitos automatas finitos
automatas finitosAnel Sosa
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfazjomapuga
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)Yadith Miranda Silva
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesJosé Antonio Sandoval Acosta
 
Programación lógica y funcional
Programación lógica y funcionalProgramación lógica y funcional
Programación lógica y funcionalAlejandra MA
 
Protocolos de internet
Protocolos de internetProtocolos de internet
Protocolos de internetXsJOSEsX
 
Modelo cocomo
Modelo cocomo Modelo cocomo
Modelo cocomo mireya2022
 
TABLA COMPARATIVA ENTRE LOS PROTOCOLOS TCP Y UDP
TABLA COMPARATIVA ENTRE LOS PROTOCOLOS TCP Y UDPTABLA COMPARATIVA ENTRE LOS PROTOCOLOS TCP Y UDP
TABLA COMPARATIVA ENTRE LOS PROTOCOLOS TCP Y UDPMaraAsuncinMorenoMen
 
Elementos orientados al flujo
Elementos orientados al flujoElementos orientados al flujo
Elementos orientados al flujoAlumic S.A
 

Was ist angesagt? (20)

Fundamentos de Telecomunicaciones - Unidad 5 Multiplexación
Fundamentos de Telecomunicaciones - Unidad 5 MultiplexaciónFundamentos de Telecomunicaciones - Unidad 5 Multiplexación
Fundamentos de Telecomunicaciones - Unidad 5 Multiplexación
 
Métricas OO
Métricas OOMétricas OO
Métricas OO
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
diagrama de despliegue
diagrama de desplieguediagrama de despliegue
diagrama de despliegue
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
 
Investigacion errores lexicos
Investigacion errores lexicosInvestigacion errores lexicos
Investigacion errores lexicos
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfaz
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)
 
Modelos de red
Modelos de redModelos de red
Modelos de red
 
Tema 4: Procesamiento paralelo.
Tema 4: Procesamiento paralelo.Tema 4: Procesamiento paralelo.
Tema 4: Procesamiento paralelo.
 
Tipos Primitivos y Elementos Léxicos de Java
Tipos Primitivos y Elementos Léxicos de JavaTipos Primitivos y Elementos Léxicos de Java
Tipos Primitivos y Elementos Léxicos de Java
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras Lineales
 
Programación lógica y funcional
Programación lógica y funcionalProgramación lógica y funcional
Programación lógica y funcional
 
Código intermedio
Código intermedioCódigo intermedio
Código intermedio
 
Protocolos de internet
Protocolos de internetProtocolos de internet
Protocolos de internet
 
Modelo cocomo
Modelo cocomo Modelo cocomo
Modelo cocomo
 
TABLA COMPARATIVA ENTRE LOS PROTOCOLOS TCP Y UDP
TABLA COMPARATIVA ENTRE LOS PROTOCOLOS TCP Y UDPTABLA COMPARATIVA ENTRE LOS PROTOCOLOS TCP Y UDP
TABLA COMPARATIVA ENTRE LOS PROTOCOLOS TCP Y UDP
 
Protocolo TCP/IP
Protocolo TCP/IPProtocolo TCP/IP
Protocolo TCP/IP
 
Elementos orientados al flujo
Elementos orientados al flujoElementos orientados al flujo
Elementos orientados al flujo
 
Protocolo de capa 6
Protocolo de capa 6Protocolo de capa 6
Protocolo de capa 6
 

Andere mochten auch

Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dmlGerardo
 
SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)Darwin Durand
 
Guia 4, creacion y consumo de bibliotecas de clase usando namespaces personal...
Guia 4, creacion y consumo de bibliotecas de clase usando namespaces personal...Guia 4, creacion y consumo de bibliotecas de clase usando namespaces personal...
Guia 4, creacion y consumo de bibliotecas de clase usando namespaces personal...Marvin Romero
 
CURSO DE PROGRAMACION AVANZADA EN JAVA EN ESPAÑOL
CURSO DE PROGRAMACION AVANZADA EN JAVA EN ESPAÑOLCURSO DE PROGRAMACION AVANZADA EN JAVA EN ESPAÑOL
CURSO DE PROGRAMACION AVANZADA EN JAVA EN ESPAÑOLDarwin Durand
 
PROYECTO PRUEBA DE CONEXIONES (Mantenimiento)
PROYECTO PRUEBA DE CONEXIONES (Mantenimiento)PROYECTO PRUEBA DE CONEXIONES (Mantenimiento)
PROYECTO PRUEBA DE CONEXIONES (Mantenimiento)Darwin Durand
 
SQL: DDL, DML y SQL
SQL: DDL, DML y SQLSQL: DDL, DML y SQL
SQL: DDL, DML y SQLCarmen Soler
 
Visual basic-Programacion en un entorno grafico.
Visual basic-Programacion en un entorno grafico.Visual basic-Programacion en un entorno grafico.
Visual basic-Programacion en un entorno grafico.Kenia Flores Cruz
 
Paquetes De Programacion
Paquetes De ProgramacionPaquetes De Programacion
Paquetes De Programaciontibu85
 
Ejemplos Borland C++ Builder
Ejemplos Borland C++ BuilderEjemplos Borland C++ Builder
Ejemplos Borland C++ BuilderDarwin Durand
 
Lenguajes programacion
Lenguajes programacionLenguajes programacion
Lenguajes programacionXavii Torres
 
Estudio comparativo de PHP, ASP.NET Y JAVA
Estudio comparativo de PHP, ASP.NET Y JAVAEstudio comparativo de PHP, ASP.NET Y JAVA
Estudio comparativo de PHP, ASP.NET Y JAVAHelmilpa
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 
Practica de visual basic sistema de facturación
Practica de visual basic sistema de facturaciónPractica de visual basic sistema de facturación
Practica de visual basic sistema de facturaciónmilenka796
 
Caja de herramientas de visual basic
Caja de herramientas de visual basicCaja de herramientas de visual basic
Caja de herramientas de visual basicNoe Cayetano
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionIrving Che
 
CONEXION VISUAL STUDIO.NET - SQL SERVER
CONEXION VISUAL STUDIO.NET - SQL SERVERCONEXION VISUAL STUDIO.NET - SQL SERVER
CONEXION VISUAL STUDIO.NET - SQL SERVERDarwin Durand
 
Visual Basic .NET
Visual Basic .NETVisual Basic .NET
Visual Basic .NETDavid
 

Andere mochten auch (20)

Tutorial consumir DLL C++ en C#
Tutorial consumir DLL C++ en C#Tutorial consumir DLL C++ en C#
Tutorial consumir DLL C++ en C#
 
Ejemplo ddl dml
Ejemplo ddl dmlEjemplo ddl dml
Ejemplo ddl dml
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
 
SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)
 
Guia 4, creacion y consumo de bibliotecas de clase usando namespaces personal...
Guia 4, creacion y consumo de bibliotecas de clase usando namespaces personal...Guia 4, creacion y consumo de bibliotecas de clase usando namespaces personal...
Guia 4, creacion y consumo de bibliotecas de clase usando namespaces personal...
 
CURSO DE PROGRAMACION AVANZADA EN JAVA EN ESPAÑOL
CURSO DE PROGRAMACION AVANZADA EN JAVA EN ESPAÑOLCURSO DE PROGRAMACION AVANZADA EN JAVA EN ESPAÑOL
CURSO DE PROGRAMACION AVANZADA EN JAVA EN ESPAÑOL
 
PROYECTO PRUEBA DE CONEXIONES (Mantenimiento)
PROYECTO PRUEBA DE CONEXIONES (Mantenimiento)PROYECTO PRUEBA DE CONEXIONES (Mantenimiento)
PROYECTO PRUEBA DE CONEXIONES (Mantenimiento)
 
SQL: DDL, DML y SQL
SQL: DDL, DML y SQLSQL: DDL, DML y SQL
SQL: DDL, DML y SQL
 
Visual basic-Programacion en un entorno grafico.
Visual basic-Programacion en un entorno grafico.Visual basic-Programacion en un entorno grafico.
Visual basic-Programacion en un entorno grafico.
 
Paquetes De Programacion
Paquetes De ProgramacionPaquetes De Programacion
Paquetes De Programacion
 
Ejemplos Borland C++ Builder
Ejemplos Borland C++ BuilderEjemplos Borland C++ Builder
Ejemplos Borland C++ Builder
 
Lenguajes programacion
Lenguajes programacionLenguajes programacion
Lenguajes programacion
 
Estudio comparativo de PHP, ASP.NET Y JAVA
Estudio comparativo de PHP, ASP.NET Y JAVAEstudio comparativo de PHP, ASP.NET Y JAVA
Estudio comparativo de PHP, ASP.NET Y JAVA
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Practica de visual basic sistema de facturación
Practica de visual basic sistema de facturaciónPractica de visual basic sistema de facturación
Practica de visual basic sistema de facturación
 
Caja de herramientas de visual basic
Caja de herramientas de visual basicCaja de herramientas de visual basic
Caja de herramientas de visual basic
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
CONEXION VISUAL STUDIO.NET - SQL SERVER
CONEXION VISUAL STUDIO.NET - SQL SERVERCONEXION VISUAL STUDIO.NET - SQL SERVER
CONEXION VISUAL STUDIO.NET - SQL SERVER
 
Cuadro de herramientas y botones en visual basic
Cuadro de herramientas y botones en visual basicCuadro de herramientas y botones en visual basic
Cuadro de herramientas y botones en visual basic
 
Visual Basic .NET
Visual Basic .NETVisual Basic .NET
Visual Basic .NET
 

Ähnlich wie DLL's y capas de .NET

Framework by Marcos Acosta
Framework by Marcos AcostaFramework by Marcos Acosta
Framework by Marcos AcostaMarcos Acosta
 
Resumen lenguajes c#
Resumen lenguajes c#Resumen lenguajes c#
Resumen lenguajes c#Angie Galeano
 
Acceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basicAcceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basicgerardd98
 
Acceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basicAcceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basicAlfredo Joya
 
Programacion C#.NET
Programacion C#.NETProgramacion C#.NET
Programacion C#.NETSaviotec
 
Tutorial de visual C++
Tutorial de visual C++Tutorial de visual C++
Tutorial de visual C++juliancetis109
 
Tutorial de visual_c_
Tutorial de visual_c_Tutorial de visual_c_
Tutorial de visual_c_oscar020615
 
Tutorial de visual c++
Tutorial de visual c++Tutorial de visual c++
Tutorial de visual c++oscar020615
 
Tutorial de visual c++
Tutorial de visual c++Tutorial de visual c++
Tutorial de visual c++juliancetis109
 
Programacion Basica
Programacion Basica Programacion Basica
Programacion Basica Yoconditap
 
Presentación de programacion
Presentación  de programacionPresentación  de programacion
Presentación de programacionlajokito
 
Generalidades de la programacion
Generalidades de la programacionGeneralidades de la programacion
Generalidades de la programacionDiego Rojas
 

Ähnlich wie DLL's y capas de .NET (20)

Framework
FrameworkFramework
Framework
 
Framework by Marcos Acosta
Framework by Marcos AcostaFramework by Marcos Acosta
Framework by Marcos Acosta
 
Framework
FrameworkFramework
Framework
 
Resumen lenguajes c#
Resumen lenguajes c#Resumen lenguajes c#
Resumen lenguajes c#
 
Acceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basicAcceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basic
 
Acceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basicAcceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basic
 
Presentación1
Presentación1Presentación1
Presentación1
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Plataforma net
Plataforma netPlataforma net
Plataforma net
 
Programacion C#.NET
Programacion C#.NETProgramacion C#.NET
Programacion C#.NET
 
Tutorial de visual C++
Tutorial de visual C++Tutorial de visual C++
Tutorial de visual C++
 
Tutorial de visual_c_
Tutorial de visual_c_Tutorial de visual_c_
Tutorial de visual_c_
 
Tutorial de visual c++
Tutorial de visual c++Tutorial de visual c++
Tutorial de visual c++
 
Tutorial de visual c++
Tutorial de visual c++Tutorial de visual c++
Tutorial de visual c++
 
Frameworks de templates y xml
Frameworks de templates y xmlFrameworks de templates y xml
Frameworks de templates y xml
 
Programacion Basica
Programacion Basica Programacion Basica
Programacion Basica
 
Presentación de programacion
Presentación  de programacionPresentación  de programacion
Presentación de programacion
 
Generalidades de la programacion
Generalidades de la programacionGeneralidades de la programacion
Generalidades de la programacion
 

Mehr von Darwin Durand

Visual Studio.Net - Sql Server
Visual Studio.Net - Sql ServerVisual Studio.Net - Sql Server
Visual Studio.Net - Sql ServerDarwin Durand
 
VISUALIZAR REGISTROS EN UN JTABLE
VISUALIZAR REGISTROS EN UN JTABLEVISUALIZAR REGISTROS EN UN JTABLE
VISUALIZAR REGISTROS EN UN JTABLEDarwin Durand
 
EJEMPLOS DESARROLLADOS
EJEMPLOS DESARROLLADOSEJEMPLOS DESARROLLADOS
EJEMPLOS DESARROLLADOSDarwin Durand
 
PERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSPERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSDarwin Durand
 
INSERCION DE REGISTROS DESDE VISUAL.NET A UNA BD DE SQL SERVER
INSERCION DE REGISTROS DESDE VISUAL.NET A UNA BD DE SQL SERVERINSERCION DE REGISTROS DESDE VISUAL.NET A UNA BD DE SQL SERVER
INSERCION DE REGISTROS DESDE VISUAL.NET A UNA BD DE SQL SERVERDarwin Durand
 
INDICES EN SQL SERVER
INDICES EN SQL SERVERINDICES EN SQL SERVER
INDICES EN SQL SERVERDarwin Durand
 
APLICACIONES EMPRESARIALES
APLICACIONES EMPRESARIALESAPLICACIONES EMPRESARIALES
APLICACIONES EMPRESARIALESDarwin Durand
 
CREACION Y MANEJO DE LA BASE DE DATOS
CREACION Y MANEJO DE LA BASE DE DATOSCREACION Y MANEJO DE LA BASE DE DATOS
CREACION Y MANEJO DE LA BASE DE DATOSDarwin Durand
 

Mehr von Darwin Durand (11)

Visual Studio.Net - Sql Server
Visual Studio.Net - Sql ServerVisual Studio.Net - Sql Server
Visual Studio.Net - Sql Server
 
VISUALIZAR REGISTROS EN UN JTABLE
VISUALIZAR REGISTROS EN UN JTABLEVISUALIZAR REGISTROS EN UN JTABLE
VISUALIZAR REGISTROS EN UN JTABLE
 
EJEMPLOS DESARROLLADOS
EJEMPLOS DESARROLLADOSEJEMPLOS DESARROLLADOS
EJEMPLOS DESARROLLADOS
 
PERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSPERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOS
 
INSERCION DE REGISTROS DESDE VISUAL.NET A UNA BD DE SQL SERVER
INSERCION DE REGISTROS DESDE VISUAL.NET A UNA BD DE SQL SERVERINSERCION DE REGISTROS DESDE VISUAL.NET A UNA BD DE SQL SERVER
INSERCION DE REGISTROS DESDE VISUAL.NET A UNA BD DE SQL SERVER
 
SERVLET BASICS
SERVLET BASICSSERVLET BASICS
SERVLET BASICS
 
INDICES EN SQL SERVER
INDICES EN SQL SERVERINDICES EN SQL SERVER
INDICES EN SQL SERVER
 
INTEGRIDAD DE DATOS
INTEGRIDAD DE DATOSINTEGRIDAD DE DATOS
INTEGRIDAD DE DATOS
 
APLICACIONES EMPRESARIALES
APLICACIONES EMPRESARIALESAPLICACIONES EMPRESARIALES
APLICACIONES EMPRESARIALES
 
CREACION Y MANEJO DE LA BASE DE DATOS
CREACION Y MANEJO DE LA BASE DE DATOSCREACION Y MANEJO DE LA BASE DE DATOS
CREACION Y MANEJO DE LA BASE DE DATOS
 
CREACION DE TABLAS
CREACION DE TABLASCREACION DE TABLAS
CREACION DE TABLAS
 

Kürzlich hochgeladen

MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxRAMON EUSTAQUIO CARO BAYONA
 
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxSIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxLudy Ventocilla Napanga
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Rosabel UA
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfpatriciavsquezbecerr
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsxJuanpm27
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxNataliaGonzalez619348
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORGonella
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfssuser50d1252
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfssuser50d1252
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 

Kürzlich hochgeladen (20)

MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
 
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxSIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdf
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIOR
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 

DLL's y capas de .NET

  • 1. DLL’s<br />Una definición más profunda de .NET<br />1072515531495La mejor forma de comprender cómo funciona .NET es analizar las numerosas capas en las que se divide .NET Framework. Veamos la siguiente figura:<br />No te asustes con lo que vas a leer aquí, es obligatorio que lo veamos por encima, al terminar el tema, vuelve a leer esto y veras que sencillo era.<br />Como hemos comentado antes .NET Framework constituye la base sobre la que se asienta .NET. Para nosotros es la pieza fundamental de esta nueva tecnología y es la que nos va a proporcionar las herramientas y servicios que necesitaremos en nuestros desarrollos. Podemos agrupar en tres bloques el conjunto de herramientas y servicios:<br />El runtime de lenguaje común o entorno de ejecución común (CLR)<br />Biblioteca de clases base de la plataforma .NET (.NET Framework Base Classes)<br />Motor de generación de la interfaz para crear formularios e interfaces de usuario.<br />Estas son tres de las capas del esquema anterior. Simplemente esa jerarquía me dice que en el nivel mas alto están los lenguajes que vamos a utilizar en nuestro desarrollo con .NET que pueden ser varios (en nuestro caso Visual Basic). Luego traduce esas instrucciones al estándar .NET para poder trabajar con esas instrucciones de una forma independiente al lenguaje con que se escribieron. El siguiente paso es la generación de formularios para Windows o web (ASP). Luego el enlace con bases de datos si las hay. Por fin llegamos a todos los objetos disponibles y por último el runtime de lenguaje común (CLR) que es el que va a ejecutar la aplicación. Veamos ahora más técnicamente de abajo hacia arriba:<br />1. Runtime del lenguaje común<br />El runtime del lenguaje común es la primera capa que pertenece a .NET Framework. Esta capa es la responsable de los servicios básicos de .NET, tales como la administración de memoria, la recolección de los elementos no utilizados, el control estructurado de excepciones y del subprocesamiento múltiple. Si .NET se transporta a otras arquitecturas que no estén basadas en Windows el primer paso sería escribir un runtime  del lenguaje para el nuevo equipo. El CLR tiene estas características:<br />Proporciona mejoras para el programador que antes tenía que elaborar<br />Administra el código en tiempo de ejecución: carga en memoria, liberación de memoria, ...<br />Gestiona la seguridad del código ejecutado<br />Abre posibilidades a otros fabricantes para incorporar sus lenguajes<br />Facilita la distribución e instalación de aplicaciones. Elimina los temibles conflictos de DLL's y versiones de ellas<br />Es la interfaz entre nuestro código y el sistema operativo, de ahí que si mañana Microsoft hace un CLR en lugar de para Windows, para Macintosh se puedan ejecutar nuestras aplicaciones .NET en este sistema.<br />2. Biblioteca de clases<br />La biblioteca de clases base (BCL) es la parte de .NET Framework que define todos los tipos de datos básicos, tales como System.Object (raíz de la jerarquía de objetos .NET), tipos numéricos y de fechas, tipo string, matrices y colecciones. La BCL contiene también clases que administrarán las características centrales de .NET: entrada/salida de archivos , subprocesamiento, serialización y seguridad. La forma en la que los tipos se implementan en la BCL siguen las especificaciones llamadas Common Type System (CTS). Por ejemplo, estas especificaciones dicta la forma en la que un tipo .NET expone campos, propiedades, métodos y sucesos, también cómo un tipo puede heredar otro tipo... <br />Tranquilo... a lo largo del curso veremos estas clases y por fuerza trabajaremos con ellas porque todo en .NET son clases: desde un gráfico, un botón o nuestro programa.<br />3. Capa de datos<br />La capa de datos y XML contienen las clases .NET que trabajan con bases de datos y con XML. Anteriormente el soporte XML era una compatibilidad proporcionada por un componente externo. En .NET vemos cómo está integrado en su mismo núcleo. Podemos decir que XML es el formato que utiliza .NET para almacenar cualquier tipo de información. La parte de datos es la que se conoce como ADO.NET y es el equivalente en .NET a la tecnología ActiveX Data Object (ADO), ampliamente conocida por los programadores de Visual Basic, Intranets, ...<br />Nota para los conocedores de ADO: Aunque su nombre es muy parecido a ADO.NET son muy diferentes. ADO cubre prácticamente todas las técnicas de bases de datos disponibles (incluyendo cursores del lado del cliente y del servidor, conjuntos de datos desconectados y actualizaciones en diferido). ADO.NET está centrado principalmente en los conjuntos de resultados desconectados (llamados DataSets) Este objeto es mucho mas potente que el objeto ADO Recordset y puede almacenar datos provenientes de varias tablas, relaciones entre diferentes tablas de datos y puede importar y exportar datos en XML.<br />4. Capa de formularios y ASP<br />Las dos capas siguientes son ASP.NET y Windows Forms. Aquí se sitúan todas las clases que podremos utilizar para generar las páginas web en el primer caso y las ventanas estándares o formularios en las aplicaciones de Windows en el segundo caso.<br />Nota ASP.NET es la parte de .NET encargada del desarrollo en web. Una evolución muy ampliada de las páginas ASP y comprende los web forms y los servicios web XML. No lo veremos en este curso pero el salto a desarrollar en Web es muy sencillo...<br />Aunque estén en el mismo nivel las tecnologías son muy distintas. Web Forms se ejecuta en el servidor y produce HTML y es la base de las conocidas Intranets donde estas páginas devuelven otras páginas web con conjuntos de resultados u otros datos. Windows Forms se ejecuta en el cliente, un equipo Windows. <br />La  biblioteca de clases de .NET Framework está formada por una colección de ensamblados (o Assembly), cada uno de los cuales comprende una o más DLL. Veamos que esto de un quot; ensambladoquot; ...<br />Un ensamblado consiste en un conjunto de tipos y recursos reunidos para formar la unidad mas elemental de código que puede ejecutar el entorno .NET Framework. Estos ensamblados son los elementos con los que construiremos una aplicación: una aplicación .NET se compone de varios ensamblados. Podemos llamar también a un ensamblado como una DLL lógica (recordamos que una DLL es una biblioteca de enlaces dinámicos). Decimos lógica porque se trata de una lista de ficheros que se referencian en tiempo de ejecución pero que no se compilan para producir un fichero físico, a diferencia de las DLL's tradicionales. Un ensamblado va mucho más allá ya que puede contener otros recursos además de clases como imágenes, ...<br />5. Capas de CLS y lenguajes<br />Donde están las especificaciones de los lenguajes y su sincronización con el entorno .NET<br />2891790-12065Empezaremos con el siguiente Ejemplo: Jojojojo<br />Paso 1: Debemos contar con un modelo relacional, y orientarlo a este caso, esto le será proporcionado por su asesor. (Script de Base de Datos SQL Server SysInventario), pero antes deberá crear una carpeta en el escritorio, llamado: MANTENIMIENTO y dentro de el 2 Sub Carpetas: DLL y FORMULARIOS<br />Paso 2: Adicionalmente Crear los Siguientes Procedimientos Almacenados en SQL:<br />Create Procedure SpGrabar_Foto@Parametro Varchar(50),@Fot Image,@Id Varchar(10)As IF @Parametro='RAM' Update RAM Set Imagen=@Fot Where RamId=@Id IF @Parametro='PROCESADOR' Update PROCESADOR Set Imagen=@Fot Where ProcesadorID=@Id IF @Parametro='DISCO_HDOP' Update DISCO_HDOP Set Imagen=@Fot Where DiscoID=@Id IF @Parametro='TARJETA' Update TARJETA Set Imagen=@Fot Where TarjetaID=@Id IF @Parametro='FUENTE' Update FUENTE Set Imagen=@Fot Where FuenteID=@Id IF @Parametro='FLOPPY' Update FLOPPY Set Imagen=@Fot Where FloppyID=@Id IF @Parametro='XCASE' Update XCASE Set Imagen=@Fot Where CaseID=@Id IF @Parametro='MAINBOARD' Update MAINBOARD Set Imagen=@Fot Where MainBoardID=@Id IF @Parametro='IMPRESORA' Update IMPRESORA Set Imagen=@Fot Where ImpresoraID=@Id IF @Parametro='MOUSE' Update MOUSE Set Imagen=@Fot Where MouseID=@Id IF @Parametro='TECLADO' Update TECLADO Set Imagen=@Fot Where TecladoID=@Id IF @Parametro='MONITOR' Update MONITOR Set Imagen=@Fot Where MonitorID=@Id IF @Parametro='EMPLEADO' Update EMPLEADO Set FotoImg=@Fot Where EmpleadoID=@Id IF @Parametro='MARCA' Update MARCA Set Imagen=@Fot Where MarcaID=@IdGoCREATE PROCEDURE Sp_Generador@Param VARCHAR(50),@CodGen VARCHAR(10) OUTPUTAS DECLARE @ULT INT,@CEROS INT IF @Param IN ('RAM','PROCESADOR','DISCO_HDOP','TARJETA','CPU', 'FUENTE','MAINBOARD','IMPRESORA','EMPLEADO','XCASE') Begin SELECT @Ult=ULTIMO+1 FROM GENERADOR WHERE Parametro=@Param SET @CEROS=9 - LEN(CONVERT(VARCHAR,@Ult))SET @CodGen=LEFT(@Param,1)+REPLICATE('0',@CEROS)+CONVERT(VARCHAR,@Ult) End IF @Param IN ('MONITOR','TECLADO') Begin SELECT @Ult=ULTIMO+1 FROM GENERADOR WHERE Parametro=@Param SET @CEROS=8 - LEN(CONVERT(VARCHAR,@Ult))SET @CodGen=LEFT(@Param,1)+REPLICATE('0',@CEROS)+CONVERT(VARCHAR,@Ult) End IF @Param IN ('MARCA') Begin SELECT @Ult=ULTIMO+1 FROM GENERADOR WHERE Parametro=@Param SET @CEROS=7 - LEN(CONVERT(VARCHAR,@Ult))SET @CodGen=LEFT(@Param,1)+REPLICATE('0',@CEROS)+CONVERT(VARCHAR,@Ult) End IF @Param IN ('MOUSE') Begin SELECT @Ult=ULTIMO+1 FROM GENERADOR WHERE Parametro=@Param SET @CEROS=6 - LEN(CONVERT(VARCHAR,@Ult))SET @CodGen=LEFT(@Param,1)+REPLICATE('0',@CEROS)+CONVERT(VARCHAR,@Ult) End UPDATE Generador SET Ultimo=@Ult WHERE Parametro=@ParamGoCreate Procedure SpListadoRamAs Select * From RAMGo<br />-3810377825Paso 3: Ahora ingresemos a Visual Basic NET, y crearemos un proyecto orientado a Bibliotecas de Clase, llamado DLL_MAN1, así como se muestra en la Imagen:<br />Cuando Aceptemos, observaremos el siguiente entorno:<br />-38103810<br />Propiedad: Nombre de Archivo: DLL_MantenimientoY cambiara el nombre de la clase por igualAquí debemos cambiar el nombre de la Clase por: DLL_Mantenimiento, y deberá quedar de la siguiente manera:<br />5664835-90170Grabe el Proyecto DLL en la carpeta DLL del paso 1 haciendo clic en el botón Guardar Todo:<br />-381014605<br />Finalice el proceso haciendo clic en Guardar.<br />Paso 4: Empecemos a Programar dicha biblioteca, agregando el siguiente espacio:<br />Imports System.Data.SqlClient<br />Defina las siguientes variables a nivel de clase:<br />Crear Las Siguientes FuncionesPublic Shared Function AplicarCadenaConexion() As SqlConnection Dim SconnectionString As String = (quot; Server=LocalHost;Uid=SA;Password=123;Database=SysInventarioquot; ) Return New SqlConnection(SconnectionString)End Function Public Function ListadoRAM() As DataTable Try Dim DaListadoRAM As New SqlDataAdapter Dim DsListado As New DataSet DaListadoRAM.SelectCommand = New SqlCommand With DaListadoRAM.SelectCommand .Connection = AplicarCadenaConexion() .CommandType = CommandType.StoredProcedure .CommandText = quot; SpListadoRamquot; End With DaListadoRAM.Fill(DsListado, quot; ListaRamquot; ) Return DsListado.Tables(quot; ListaRamquot; ) Catch ex As Exception MsgBox(ex.Message) End Try End Function Public Function DeleteRam(ByVal Rid As String) As Integer Try Dim Dat As New ClsDatos Dim Conexion As SqlConnection = AplicarCadenaConexion() Dim CadenaUpdate As String = quot; UPDATE Ram Set Estado=0 Where RamID=@Ridxquot; Conexion.Open() Dim CMD As New SqlCommand(CadenaUpdate, Conexion) With CMD.Parameters .AddWithValue(quot; @Ridxquot; , Rid) End With CMD.ExecuteNonQuery() Conexion.Close() MsgBox(quot; Dato InHabilitado Corectamentequot; , MsgBoxStyle.Information) Return 0 Catch ex As Exception MsgBox(ex.Message) Return 1 End Try End Function<br /> Public Function SelectRam(ByVal Rid As String) As ClsDatos Dim Dat As New ClsDatos Dim DrRam As SqlDataReader Dim Conexion As SqlConnection = AplicarCadenaConexion() Dim CadenaSelect As String CadenaSelect = quot; Select RamID,Modelo,MarcaID,Serie,Tipo,Capacidad, quot; _ & quot; VelocBus,Imagen,Imagensitio,Estado quot; _ & quot; From RAM Where RamID=@Ridquot; Conexion.Open() Dim CmdRam As New SqlCommand(CadenaSelect, Conexion) CmdRam.Parameters.AddWithValue(quot; @Ridquot; , Rid) DrRam = CmdRam.ExecuteReader If DrRam.Read Then Dat.Rid = DrRam(quot; RamIDquot; ).ToString Dat.Mode = DrRam(quot; Modeloquot; ).ToString Dat.MarcId = DrRam(quot; MarcaIdquot; ).ToString Dat.Ser = DrRam(quot; Seriequot; ).ToString Dat.Tip = DrRam(quot; Tipoquot; ).ToString Dat.Capac = DrRam(quot; Capacidadquot; ).ToString Dat.Veloc = DrRam(quot; VelocBusquot; ).ToString Dat.Img = DrRam(quot; Imagenquot; ).ToString Dat.ImgSitio = DrRam(quot; ImagenSitioquot; ).ToString Dat.Est = DrRam(quot; Estadoquot; ).ToString End If Return Dat Conexion.Close() End FunctionCrear el Siguiente ProcedimientoPublic Sub InsertUpdateRam(ByVal Dat As ClsDatos) Try Select Case Dat.Condicion Case quot; Iquot; Dim Conexion As SqlConnection = AplicarCadenaConexion() Dim CadenaInsert As String = quot; Insert Into RAM(RamId,Modelo,MarcaId,quot; + _ quot; Serie,Tipo,Capacidad,VelocBus,Imagen,ImagenSitio,Estado) quot; + _ quot; Values (@Rid,@Model,@MarId,@Ser,@Tip,@Cap,@Veloc,NULL,NULL,@Est)quot; Conexion.Open() Dim CMD As New SqlCommand(CadenaInsert, Conexion) With CMD.Parameters .AddWithValue(quot; @Ridquot; , Dat.Rid) .AddWithValue(quot; @Modelquot; , Dat.Mode) .AddWithValue(quot; @MarIdquot; , Dat.MarcId) .AddWithValue(quot; @Serquot; , Dat.Ser) .AddWithValue(quot; @Tipquot; , Dat.Tip) .AddWithValue(quot; @Capquot; , Dat.Capac) .AddWithValue(quot; @Velocquot; , Dat.Veloc) '.AddWithValue(quot; @Img1quot; , Dat.Img) '.AddWithValue(quot; @Img2quot; , Dat.ImgSitio) .AddWithValue(quot; @Estquot; , Dat.Est) End With CMD.ExecuteNonQuery() Conexion.Close() MsgBox(quot; Datos almacenados Correctamentequot; , MsgBoxStyle.Information) Case quot; Uquot; Dim Conexion As SqlConnection = AplicarCadenaConexion() Dim CadenaUpdate As String = quot; UPDATE Ram Set Modelo=@Model,MarcaId=@MarId,quot; + _ quot; Serie=@Ser,Tipo=@Tip,Capacidad=@Cap,VelocBus=@Veloc,Imagen=NULL,quot; + _ quot; ImagenSitio=NULL,Estado=@Est Where RamID=@Ridquot; Conexion.Open() Dim CMD As New SqlCommand(CadenaUpdate, Conexion) With CMD.Parameters .AddWithValue(quot; @Ridquot; , Dat.Rid) .AddWithValue(quot; @Modelquot; , Dat.Mode) .AddWithValue(quot; @MarIdquot; , Dat.MarcId) .AddWithValue(quot; @Serquot; , Dat.Ser) .AddWithValue(quot; @Tipquot; , Dat.Tip) .AddWithValue(quot; @Capquot; , Dat.Capac) .AddWithValue(quot; @Velocquot; , Dat.Veloc) '.AddWithValue(quot; @Img1quot; , Dat.Img) '.AddWithValue(quot; @Img2quot; , Dat.ImgSitio) .AddWithValue(quot; @Estquot; , Dat.Est) End With CMD.ExecuteNonQuery() Conexion.Close() MsgBox(quot; Datos Actualizados Corectamentequot; , MsgBoxStyle.Information) End Select Catch ex As Exception MsgBox(ex.Message) End TryEnd Sub<br />Paso 5: En el mismo proyecto agregar una nueva Clase con el nombre: CLSDATOS y este contendrá el siguiente código:<br />Public Class ClsDatos Public Condicion As String Public Rid As String Public Mode As String Public MarcId As String Public Ser As String Public Tip As String Public Capac As String Public Veloc As String Public Img As String Public ImgSitio As String Public Est As IntegerEnd Class<br />Seleccione Generar DLL_Man1, y luego espero unos segundos, para que genere nuestra DLL.Paso 6: Ahora después de culminar el 5to paso, proceda a generar la DLL, es decir nuestro archivo soporte que contendrá encriptado todo nuestro código basado en clases.<br />Para verificar que nuestra DLL esta creada, debemos buscarla en la carpeta RELEASE, de nuestro proyecto, esta estará dentro de la carpeta BIN <br />-3810-2540<br />-3810538480Después de verificar la creación de nuestra DLL, procederemos a crear un nuevo proyecto basado en Aplicación para Windows (Visual Basic NET). El Nombre de Nuestro Proyecto Nuevo: SYSINVENTARIO<br />Cuando nuestro proyecto este creado, debemos agregar nuestra DLL (DLL_Man1) a nuestro proyecto, realice la siguiente operación: PROYECTO - > AGREGAR REFERENCIA<br />967740-5715<br />Lo cual nos lleva a la siguiente ventana: aquí debemos seleccionar la pestaña EXAMINAR, luego buscamos nuestra DLL en la carpeta RELEASE de nuestro proyecto anterior, la seleccionamos y aceptamos, con esto nuestra DLL formara parte de nuestro proyecto, así podremos usar el código encriptado que se encuentra en su interior.<br />52959085725<br />1291590898525Aquí esta nuestra DLL, agregada como referencia.Ahora verifiquemos que nuestra DLL esta agregada a nuestro proyecto, esto dependerá única y exclusivamente de nuestro EXPLORADOR DE SOLUCIONES, esta ventanita muestra por defecto solo los componentes creados por el usuario, y de forma reservada oculta algunos componentes, en la parte superior de esta ventanita existe algunos iconos, hagamos clic en el icono “MOSTRAR TODOS LOS ARCHIVOS”, tiene la siguiente forma:<br />53340125730<br />Ahora Diseñemos Nuestro Formulario:<br />-381019050<br />Luego Diseñar el Siguiente Formulario, usando los controles ya definidos.<br />Este formulario llevara el nombre: FrmRam, el cual estará compuesto por los siguientes objetos: 7 cajas de textos (Sin cambiar nombre), 2 combos (Sin Cambiar nombre) y 5 botones comandos (BtnGrabar, BtnActualizar, BrnConsultar, BtnEliminar, BtnListado). Un DatagridView (DtgRAM) y un control Picturebox1 (Sin cambiar nombre)<br />Ahora procederemos a programar el formulario.<br />Agregar EL siguiente Espacio referencia de SQL ServerImports System.Data.SqlClient Dim ObjRefMante As New Dll_Man1.Dll_Mantenimiento Dim ObjRefCaptura As New Dll_Man1.ClsDatos Dim DsEntorno As New DataSet Dim Cn As New SqlConnection(quot; Server=LocalHost;Uid=Sa;Password=123;Database=SysInventarioquot; ) Dim DaMarca As New SqlDataAdapter(quot; Select * From Marcaquot; , Cn)Form Load DaMarca.Fill(DsEntorno, quot; Marcaquot; ) ComboBox1.DataSource = DsEntorno.Tables(quot; Marcaquot; ) ComboBox1.DisplayMember = quot; DesMarcaquot; ComboBox1.ValueMember = quot; MarcaIDquot; ComboBox2.Items.Add(quot; Habilitadoquot; ) ComboBox2.Items.Add(quot; InHabilitadoquot; )BtnGrabar (Click) Try If MessageBox.Show(quot; Desea Grabarquot; , quot; Seleccione Su Opcionquot; , MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then Dim CmdEjecutar As New SqlCommand(quot; Sp_Generadorquot; , Cn) Dim PrmParametro As New SqlParameter Cn.Open() With CmdEjecutar .CommandType = CommandType.StoredProcedure PrmParametro = .Parameters.Add(quot; @Paramquot; , SqlDbType.VarChar, 50) PrmParametro.Value = quot; RAMquot; PrmParametro = .Parameters.Add(quot; @CodGenquot; , SqlDbType.VarChar, 10) PrmParametro.Direction = ParameterDirection.Output PrmParametro.Value = quot; quot; .ExecuteNonQuery() ObjRefCaptura.Rid = .Parameters(1).Value End With CmdEjecutar.Dispose() Cn.Close() ObjRefCaptura.Condicion = quot; Iquot; Me.TextBox1.Text = ObjRefCaptura.Rid ObjRefCaptura.Mode = Me.TextBox2.Text ObjRefCaptura.MarcId = ComboBox1.SelectedValue ObjRefCaptura.Ser = Me.TextBox3.Text ObjRefCaptura.Tip = Me.TextBox4.Text ObjRefCaptura.Capac = Me.TextBox5.Text ObjRefCaptura.Veloc = Me.TextBox6.Text ObjRefCaptura.Img = DBNull.Value.ToString ObjRefCaptura.ImgSitio = DBNull.Value.ToString ObjRefCaptura.Est = IIf(ComboBox2.SelectedIndex = 0, 1, 0) ObjRefMante.InsertUpdateRam(ObjRefCaptura) End IfCatch Ex As Exception MessageBox.Show(Ex.Message)End TryBtnConsultar (Click) Try Dim ABC As New Dll_Man1.ClsDatos ABC = ObjRefMante.SelectRam(Me.TextBox1.Text) Me.TextBox1.Text = ABC.Rid Me.TextBox2.Text = ABC.Mode Me.ComboBox1.SelectedValue = ABC.MarcId Me.TextBox3.Text = ABC.Ser Me.TextBox4.Text = ABC.Tip Me.TextBox5.Text = ABC.Capac Me.TextBox6.Text = ABC.Veloc Me.TextBox7.Text = ABC.Img 'ABC.ImgSitio Me.ComboBox2.Text = IIf(ABC.Est = 0, quot; InHabilitadoquot; , quot; Habilitadoquot; ) Catch Ex As Exception MessageBox.Show(Ex.Message) End TryBtnActualizar (Click)Try If MessageBox.Show(quot; Desea Actualizarquot; , quot; Seleccione Su Opcionquot; , MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then ObjRefCaptura.Condicion = quot; Uquot; ObjRefCaptura.Rid = Me.TextBox1.Text ObjRefCaptura.Mode = Me.TextBox2.Text ObjRefCaptura.MarcId = ComboBox1.SelectedValue ObjRefCaptura.Ser = Me.TextBox3.Text ObjRefCaptura.Tip = Me.TextBox4.Text ObjRefCaptura.Capac = Me.TextBox5.Text ObjRefCaptura.Veloc = Me.TextBox6.Text ObjRefCaptura.Img = DBNull.Value.ToString ObjRefCaptura.ImgSitio = DBNull.Value.ToString ObjRefCaptura.Est = IIf(ComboBox2.SelectedIndex = 0, 1, 0) ObjRefMante.InsertUpdateRam(ObjRefCaptura) End IfCatch Ex As Exception MessageBox.Show(Ex.Message)End TryBtnEliminar(Click) Dim R As Integer R = ObjRefMante.DeleteRam(Me.TextBox1.Text) If R = 0 Then Me.ComboBox2.Text = quot; InHabilitadoquot; Else Me.ComboBox2.Text = quot; Habilitadoquot; End IfDtgRAM(Click)DtgRAM.DataSource = ObjRefMante.ListadoRAM<br />