Programación Orientada a Objetos en Visual Basic

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Programación Orientada a Objetos en Visual Basic"

Transcripción

1 Programación Orientada a Objetos en Visual Basic Resumen La programación en Visual Basic se puede realizar de diversas formas o estilos. Este lenguaje nace como un ambiente de prototipación rápida (RAD) para aplicaciones bajo el sistema operativo Microsoft Windows. La orientación a objetos se incorpora como un elemento posterior al nacimiento del lenguaje y actualmente (versión 5) no está totalmente soportada. A pesar de lo anterior, Visual Basic permite la aplicación de los conceptos de orientación a objetos, aunque esto no corresponda a un mapeo directo. Acá se presenta una técnica que permite programar en forma estándar, basándose un modelo de clases UML. Por otra parte los conceptos que se plantean son fácilmente aplicables a otros lenguajes de programación visuales. Además de cumplir con el paradigma de la orientación a objetos, se presentan acá formas de programación que cumplen con una arquitectura de tres capas. De esta forma, la lógica, en términos de reglas del negocio, se aisla de los elementos de interfaz y de la forma de almacenamiento de los objetos. Bajo este tipo de arquitectura, es posible separar físicamente estos componentes del negocio, pudiéndose centralizar en servidores especializados, a través del uso de monitores transaccionales como Microsoft MTS. Arquitectura de 3 capas. El objetivo principal de este planteamiento es separar y, por lo tanto independizar, las reglas del negocio de las aplicaciones que las utilicen. De esta forma, es posible utilizar las mismas reglas del negocio para diferentes aplicaciones, corriendo sobre distintas plataformas. Capa de Aplicación Capa del Negocio Capa de Datos Algunos elementos del lenguaje Uso de propiedades en Visual Basic. La capa de aplicación corresponde a programas interactivos o procesos, que realicen alguna acción sobre los componentes del negocio. La capa intermedia estará formada por las clases del negocio, quienes interactúan con el medio de almacenamiento que está repreentado en la capa de datos. Una arquitectura pura de tres capas no permite ninguna forma de comunicación directa entre la aplicación y la capa de datos; esto es, entre los programas de usuario y la base de datos. Los programas de aplicación deben solicitar todos sus requerimientos a la capa del negocio, a través de la invocación de servicios, que corresponden a los métodos definidos para cada clase. La separación propuesta por este modelo de capas nos da una clara guía de la forma en que podemos enfrentar la programación de un sistema en Visual Basic. Una propiedad se define en algunos lenguajes visuales como un atributo definido en una clase, para el cual existen funciones de entrada y salida. Esto nos permite presentar como servicios, atributos que se puedan derivar de fórmulas o acceso a base de datos. Supongamos el siguiente ejemplo para una clase artículo: Public Nombre As String Public Valor As Double Public Property Get ValorConIva as Double ValorConIva = Valor *

2 Para un objeto de la clase artículo, se podrá consultar directamente Articulo.ValorConIva. Además del Property Get, se cuenta con un Property Let que permite asignar valores a variables y un Property Set para asignar referencias a objetos. Objetos y referencias a objetos. Visual Basic permite la definición de módulos de clases. En cada uno de ellos se escribe la definición de las variables y métodos públicos y privados de cada una de las clases. Esta definición de clases actúa luego como un nuevo tipo de dato para el que se pueden definir variables. Por ejemplo, si ya tenemos creada una clase Artículo, podemos definir una variable de ese tipo. Dim Articulo As Articulo Con esta definición solo creamos una referencia a un Artículo, aún no se ha creado realmente un objeto en memoria. El nombre de la variable puede (en Visual Basic) ser el mismo que el de la clase. Para crear un nuevo objeto y referenciarlo desde la variable Artículo, se utiliza la sentencia New, de la forma. Set Articulo = New Articulo Esto se podría haber hecho directamente en la declaración: Dim Articulo As New Articulo La palabra reservada Set se utiliza para realizar asignaciones de referencias a objetos. Los objetos que se crean se mantienen en memoria hasta que se elimina la última referencia hacia ellos. La eliminación de las referencias se hace asignándoles la constante Nothing. Set Articulo = Nothing Cuando un objeto es retornado por algún servicio no es necesario crearlo antes de llamarlo. El código dentro del método debe crearlo antes de retornarlo. Dim Movimiento As Movimiento, Bodega As New Bodega Set Movimiento = Bodega.BuscaPrimerMovimiento(Now, Now-6) Set Movimiento = Nothing Public Function Bodega.BuscaPrimerMovimiento(FechaInicio As Date, FechaTermino As Date) As Movimiento Dim Mov As New Movimiento... Conectar a B.D. y buscar el 1º movimiento Set BuscaPrimerMovimiento = Mov Retornar Mov Set Mov = Nothing End Function Al asignarle Nothing a Mov, el objeto no se destruye ya que queda una referencia activa hacia él (BuscaPrimerMovimiento). Uso de colecciones Una colección es un tipo de objeto definido en el lenguaje. Este objeto es capaz de contener otras variables tipo Variant, las que a su vez pueden ser otros objetos. Los servicios que contiene una colección son Add, Remove y Count. Además es posible buscar elementos dentro de una colección a través de una clave que se debe dar en el momento en que éstos se agregan (como parámetro en el método Add). Otro servicio especial de las colecciones es un iterador el que permite recorrer sus objetos mediante sentencias for each. Por ejemplo: Dim A1 As New Articulo, A2 As New Articulo, A3 As New Articulo.. Inicialización de A1,A2 y A3. Dim Col As New Collection 2

3 Dim A As Articulo Col.Add A1 Col.Add A2 Col.Add A3 Set A1 = Nothing Set A2 = Nothing Set A3 = Nothing For Each A In Col Suma = Suma + A.Valor Next Set Col = Nothing La variable A no se inicializa (New), ya que se le asignan referencias a objetos que ya existen en la colección. Por otra parte, las variables A1, A2 y A3 se pueden asignar a Nothing sin que se destruyan los objetos, porque estos ya están creados dentro de la colección y serán destruidos sólo cuando ésta se destruya (Set Col = Nothing). Conexión desde Visual Basic a la Base de Datos. Existen varias formas de conectar una aplicación Visual Basic a un servidor de base de datos. Acá se presenta la bilioteca Remote Data Objects 2.0 (rdo). Para que un proyecto en Visual Basic pueda utilizar los objetos de rdo, es necesario referenciar a esta biblioteca. Esto se hace agregando una referencia desde la opción Proyecto Referencias hacia Microsoft Remote Data Objects 2.0. Esta bilioteca utiliza fuentes de dato definidas en el sistema operativo (Panel de Control ODBC). Esta bilioteca de objetos para acceso a datos remotos, se distribuye con la versión Enterprise de Visual Basic 5.0. Si tenemos una fuente de datos llamada Bodega que apunta a una base de datos en Microsoft SQL Server, en la que hay un usuario con identificación sa y sin clave de acceso, la cadena de conexión hacia esa fuente de datos está dada por: dsn=bodega;uid=sa;pwd= Esta cadena de conexión indica los parámetros para que un objeto rdoconnection se conecte a la base de datos requerida. Los objetos más utilizados de la biblioteca rdo son rdoconnection, rdoquery y rdoresultset. Supongamos que en la base de datos de bodega existe una tabla llamada Bodega con un campo código y uno descripción. El código necesario para encontrar una bodega es el siguiente: Dim Conex As New rdoconnection Dim Q As New rdoquery Dim R As rdoresultset Conex.Connect = "dsn=bodega;uid=sa;pwd=" On Error GoTo ErrorEnConexion Conex.EstablishConnection rddrivernoprompt On Error GoTo 0 Set Q.ActiveConnection = Conex Q.SQL = "Select * from Bodega where Codigo =?" 3

4 Q(0).Type = rdtypechar Q(0).Value = "B01" Set R = Q.OpenResultset If Not R.EOF Then MsgBox "La bodega es " & R.rdoColumns("Descripcion").Value Else MsgBox "No se encontró la bodega" End If Set R = Nothing Set Q = Nothing Set Conex = Nothing Exit Sub ErrorEnConexion: MsgBox "Error al conectarse: " & Err.Description A un objeto Query es posible indicarle una consulta con parámetros, como en el ejemplo anterior. En este caso, se le debe indicar un valor a cada uno de ellos y es conveniente también indicarle un tipo de dato definido en ODBC. La asignación del tipo y valor se realiza directamente sobre el objeto Query, usando el orden del parámetro como sub índice que comienza desde cero. En el ejemplo anterior, Q(0).Type y Q(0).Value. Es posible recorrer conjuntos de resultados provenientes de una consulta empleando el servicio MoveNext de los objetos ResultSet, en conjunto con el método EOF. Programación de la Capa del Negocio. La capa del negocio contendrá las clases del sistema y no interactuará directamente con los usuarios. Por ello, en el código que se programe para representar a las clases y sus servicios no se deben realizar llamadas a funciones que resulten en efectos visuales o interactivos, como abrir formularios o mensajes de aviso. Se usará el siguiente ejemplo para demostrar los diferentes aspectos de la programación orientada a objetos en Visual Basic. 4

5 Modelo de Clases 5

6 Modelo de Datos E-R 6

7 Debido a que se programa una capa intermedia que se desea utilizar desde diferentes tipos de aplicaciones, desde Visual Basic creamos un nuevo proyecto del tipo ActiveX dll. De esta forma las clases públicas que se definan en él podrán ser creadas y utilizadas desde otros proyectos Visual Basic, desde macros Word o Exel, desde páginas Web vía ASP, o cualquier ambiente que soporte el estándar ActiveX. Por cada una de las clases definidas en el sistema, se crea su correspondiente módulo de clases en el proyecto que creamos. El nombre de las clases no puede ser igual al nombre del proyecto. En cada módulo de clases definiremos variables públicas, variables privadas, propiedades y métodos. En primer lugar, en cada clase podemos declarar una variable para mantener una referencia a la conexión a la Base de Datos. Declaramos entonces al inicio de cada clase: Dim Conex As rdoconnection Esta variable deberá ser asignada desde la aplicación u otras clases cada vez que se creen nuevos objetos y se usen sus servicios. Por cada uno de los atributos definidos en el modelo de clases, podemos declarar una variable pública en el módulo de la clase correspondiente. Por otro lado, por cada uno de los campos de la tabla asociada en el modelo de datos que se utilice como clave foránea hacia otra tabla, declaramos atributos privados. La declaración de variables de la clase Movimiento quedaría entonces como: Conexión a Base de Datos Public Conex As rdoconnection Atributos públicos de la clase Public FechaHora As Date Public Cantidad As Long Atributos privados para representar relaciones Private BodegaCodigo As Long Private ArticuloCodigo As Long Las clases se instanciarán (asignarán valores a sus variables) desde objetos del tipo ResultSet. Podemos entonces crear en todas las clases un servicio public que instancie sus atributos desde un ResultSet abierto y posicionado sobre una fila. Escribimos entonces para cada una de las clases un servicio LlenaDesdeResultSet. En el caso de la clase Movimiento, el servicio sería: Public Sub LlenaDesdeResultSet(ByRef RS As ResultSet) If Not RS.EOF Then FechaHora = RS.rdoColumns( FechaHora ) Cantidad = RS.rdoColumns( Cantidad ) BodegaCodigo = RS.rdoColumns( BodegaCodigo ) ArticuloCodigo = RS.rdoColumns( ArticuloCodigo ) End If Cada una de las clases necesitará crear, destruir, modificar y leer sus objetos. Por ello podemos crear estos cuatro servicios para todas las clases, aunque no estén definidos en el modelo. En el caso de la clase Movimiento: CreaObjeto: Se supone que las variables del objeto ya están instanciadas con los valores del nuevo objeto que se desea crear. Public Sub CreaObjeto() 7

8 Dim Q As New rdoquery Dim stsql As String Set Q.ActiveConnection = Conex stsql = INSERT INTO Movimiento (FechaHora, Cantidad, stsql = stsql & BodegaCodigo, ArticuloCodigo) VALUES ( stsql = stsql &?,?,?,?) Q.SQL = stsql Q(0).Type = rdtypetimestamp Q(0).Value = FechaHora Q(1).Type = rdtypenumeric Q(1).Value = Cantidad Q(2).Type = rdtypenumeric Q(2).Value = BodegaCodigo Q(3).Type = rdtypenumeric Q(3).Value = ArticuloCodigo Q.Execute Set Q = Nothing DestruyeObjeto: Si la clase es una agregación de otras, se puede antes de eliminar el registro de la base de datos, llamar al servicio DestruyeObjeto para cada uno de los objetos componentes. Esto representa el hecho que al eliminar un todo, se eliminan también sus partes. Lo mismo se debe realizar en herencias (al eliminar los padres). Public Sub DestruyeObjeto() Dim Q As New rdoquery Dim stsql As String Set Q.ActiveConnection = Conex stsql = DELETE FROM Movimiento WHERE stsql = stsql & FechaHora =? stsql = stsql & AND BodegaCodigo =? stsql = stsql & AND ArticuloCodigo =? Q.SQL = stsql Q(0).Type = rdtypetimestamp Q(0).Value = FechaHora Q(1).Type = rdtypenumeric Q(1).Value = BodegaCodigo Q(2).Type = rdtypenumeric Q(2).Value = ArticuloCodigo Q.Execute Set Q = Nothing SalvaEstado: Se denomina el estado de un objeto a la tupla de valores de sus atributos en un cierto momento. Al modificar un objeto se actualiza el registro en la base de datos con el estado o valores de los atributos del objeto en memoria. Se actualizan sólo los campos que no son parte de la clave primaria. Public Sub SalvaEstado() 8

9 Dim Q As New rdoquery Dim stsql As String Set Q.ActiveConnection = Conex stsql = UPDATE Movimiento stsql = stsql = SET Cantidad =? WHERE stsql = stsql & FechaHora =? stsql = stsql & AND BodegaCodigo =? stsql = stsql & AND ArticuloCodigo =? Q.SQL = stsql Q(0).Type = rdtypenumeric Q(0).Value = Cantidad Q(1).Type = rdtypetimestamp Q(1).Value = FechaHora Q(2).Type = rdtypenumeric Q(2).Value = BodegaCodigo Q(3).Type = rdtypenumeric Q(3).Value = ArticuloCodigo Q.Execute Set Q = Nothing RecuperaEstado: Conociendo los atributos que forman la clave primaria (Oid u Object Id.) de un objeto, es posible recuperar el valor del resto de ellos. Public Sub RecuperaEstado() Dim Q As New rdoquery Dim RS As rdoresultset Dim stsql As String Set Q.ActiveConnection = Conex stsql = SELECT * FROM Movimiento stsql = stsql & FechaHora =? stsql = stsql & AND BodegaCodigo =? stsql = stsql & AND ArticuloCodigo =? Q.SQL = stsql Q(0).Type = rdtypetimestamp Q(0).Value = FechaHora Q(1).Type = rdtypenumeric Q(1).Value = BodegaCodigo Q(2).Type = rdtypenumeric Q(2).Value = ArticuloCodigo Set RS = Q.OpenResultSet Me.LlenaDesdeResultSet RS Set RS = Nothing Set Q = Nothing Con la definición de estos cuatro servicios, la persistencia de los objetos se puede manejar desde las aplicaciones (u otros servicios) sin necesidad de realizar consultas SQL. 9

10 Se desea que la capa intermedia represente fielmente al modelo de clases que define la estructura del sistema. Por ello, para cada una de las relaciones de una clase, vamos a crear propiedades en ella, que permitan a las aplicaciones o servicios de otras clases navegar por el modelo. Las relaciones en un modelo de clases se definen con nombres de roles, dependiendo de la dirección de la navegación. Si en el modelo no se han definido, podemos suponer que se utilizan los mismos nombres de las clases, en singular o plural, dependiendo de la cardinalidad. Por ejemplo, desde Bodega a Movimiento el nombre sería Movimientos y desde Movimiento a Bodega, Bodega. Ocupando estos nombres de relaciones, escribiremos propiedades que permitan retornar él o los objetos relacionados. Para la clase Movimiento: Public Property Get Bodega As Bodega Dim Q As New rdoquery Dim RS As rdoresultset Dim ObjetoRelacionado As New Bodega Set Q.ActiveConnection = Conex Q.SQL = SELECT * FROM Bodega WHERE Codigo =? Q(0).Type = rdtypenumeric Q(0).Value = Me.BodegaCodigo Set RS = Q.OpenResultSet Set ObjetoRelacionado.Conex = Me.Conex ObjetoRelacionado.LlenaDesdeResultSet RS Set Bodega = ObjetoRelacionado Set ObjetoRelacionado = Nothing Set RS = Nothing Set Q = Nothing Para la clase Bodega: Public Property Get Movimientos As Collection Dim Col As New Collection Dim Q As New rdoquery Dim RS As rdoresultset Dim ObjetoRelacionado As Movimiento Q.SQL = SELECT * FROM Movimiento WHERE BodegaCodigo =? Q(0).Type = rdtypenumeric Q(0).Value = Me.BodegaCodigo Set RS = Q.OpenResultSet Do While Not RS.EOF Set ObjetoRelacionado = New Movimiento Set ObjetoRelacionado.Conex = Me.Conex ObjetoRelacionado.LlenaDesdeResultSet RS Col.Add ObjetoRelacionado RS.MoveNext Set ObjetoRelacionado = Nothing Loop Set RS = Nothing Set Q = Nothing 10

11 Para el caso de especializaciones o herencias, se pueden utilizar como nombre para las propiedades: Padre desde la clase hija a la padre, y el nombre de la clase hija en la dirección contraria. En este último caso y en las asociaciones que aceptan cardinalidad cero, la propiedad debe ocuparse de que los objetos relacionados no existan, pudiendo retornar objetos nulos (asignándoles la constante Nothing). Utilizando estas propiedades, se puede accesar en forma muy fácil a los objetos relacionados a alguno en particular. Si se escribieran estas propiedades para todas las relaciones del modelo, las navegaciones compuestas resultan en forma natural, como en el siguiente ejemplo: Dim Bodega As New Bodega Dim Conex As New rdoconnection Conex.Connect = dsn=bodega;uid=sa;pwd= Conex. EstablishConnection rddrivernoprompt Set Bodega.Conex = Conex Bodega.Codigo = B01 Bodega.RecuperaEstado MsgBox La descripción de la bodega es & Boodega.Descripcion Dim Mov As Movimiento For Each Mov In Bodega.Movimientos If Not Mov.Entrada Is Nothing Then MsgBox Entrada: & Mov.FechaHora MsgBox Articulo: & Mov.Articulo.Descripcion Msgbox Proveedor: & Mov.Entrada.Proveedor.Descripcion Else MsgBox Salida: & Mov.FechaHora MsgBox Articulo: & Mov.Articulo.Descripcion Msgbox Destino: & Mov.Salida.Destinatario.Descripcion End If Next Las propiedades que escribimos nos permiten consultar por objetos relacionados, pero hay ocaciones en que es necesario asignar valores a estos objetos. Por ejemplo, antes de crear un Movimiento, es necesario asignar la Bodega y El Artículo ya que (como es agregación) forman parte de su Oid. Para ello, para las relaciones con origen en una clase (cardinalidad 0..* => 1) creamos propiedades que permitan asignar el objeto relacionado. Lo mismo se debe realizar para permitir la asignación del objeto padre cada vez que se crea un hijo. En la clase Movimiento: Public Property Set Bodega(Objeto As Bodega) Se asigna al atributo privado que mantiene la relación BodegaCodigo = Objeto.Codigo Public Property Set Articulo(Objeto As Articulo) ArticuloCodigo = Objeto.Codigo Entonces, antes de crear un nuevo movimiento, se asignan los objetos relacionados. Por ejemplo, si queremos crear un nuevo movimiento de entrada para una bodega, artículo y proveedor ya instanciados, podemos escribir: 11

12 Dim Mov As New Movimiento, Ent As New Entrada Set Mov.Conex = Conex Mov.Cantidad = 5 Set Mov.Bodega = BodegaInstanciada Set Mov.Articulo = ArticuloInstanciado Mov.CreaObjeto Set Ent.Conex = Conex Set Ent.Padre = Mov Set Ent.Proveedor = ProveedorInstanciado Ent.CreaObjeto Set Mov = Nothing Set Ent = Nothing El lenguaje Visual Basic no soporta la herencia de objetos; sin embargo, ésta se puede simular utilizando funciones espejo. Si tenemos una propiedad llamada Padre que retorne el objeto asociado de la clase padre, podemos escribir en el hijo, propiedades que representes a los atributos, servicios y relaciones de la clase padre. En el ejemplo anterior, para la clase Entrada: Public Property Get FechaHora As Date FechaHora = Padre.FechaHora Public Property Get Cantidad As Long Cantidad = Padre.Cantidad Public Property Get Bodega As Bodega Se usa set porque en una referencia a un objeto Set Bodega = Padre.Bodega Public Property Get Articulo As Articulo Set Articulo = Padre.Articulo Si la clase padre a su vez heredara de otra más, sería necesario en la nieta declarar funciones espejo para representar los atributos, relaciones y servicios de la clase abuela. El resto de los servicios de las clases se escriben utilizando las propiedades y servicios de persistencia que antes se definieron. En el ejemplo anterior, se necesita defnir los servicios de Entrada y Salida de artículos para la clase Bodega. Public Sub Entrada(Articulo As Articulo, Cantidad As Long, Proveedor As Proveedor) Dim Mov As New Movimiento Dim Ent As New Entrada Dim Sto As New Stock Crear objeto Movimiento en la bodega Set Mov.Conex = Me.Conex Set Mov.Bodega = Me Set Mov.Articulo = Articulo Mov.FechaHora = Now Mov.Cantidad = Cantidad Mov.CreaObjeto 12

13 Crear el objeto Entrada como hijo de Mov Set Ent.Conex = Me.Conex Set Ent.Padre = Mov Set Ent.Proveedor = Proveedor Ent.CreaObjeto Crear o actualizar stock del artículo Buscar si existe. Si existe sumar a la cantidad sino crearlo. Set Sto.Conex = Me.Conex Set Sto.Articulo = Articulo Set Sto.Bodega = Me Sto.Cantidad = -99 si lo encuentra, cantidad va a cambiar Sto.RecuperaEstado If Sto.Cantidad = -99 Then No lo encontró Sto.Cantidad = Cantidad Sto.CreaObjeto Else Lo encontró Sto.Cantidad = Sto.Cantidad + Cantidad Sto.SalvaEstado End If Destruir variables Set Sto = Nothing Set Ent = Nothing Set Mov = Nothing Public Sub Salida(Articulo As Articulo, Cantidad As Cantidad, Destinatario As Destinatario) Dim Sto As New Stock Dim Mov As New Movimiento Dim Sal As New Salida Buscar stock para ver si hay disponibilidad Set Sto.Conex = Me.Conex Set Sto.Bodega = Me Set Sto.Articulo = Articulo Sto.Cantidad = 0 Si no lo encuentra, queda en cero Sto.RecuperaEstado If Sto.Cantidad < Cantidad Then Err.Raise vbobjecterror, "Bodega", "No hay stock suficiente para satisfacer la salida del artículo" End If Sto.Cantidad = Sto.Cantidad Cantidad Sto.SalvaEstado Crear objeto Movimiento en la bodega Set Mov.Conex = Me.Conex Set Mov.Bodega = Me Set Mov.Articulo = Articulo Mov.FechaHora = Now Mov.Cantidad = Cantidad Mov.CreaObjeto Crear el objeto Salida como hijo de Mov Set Sal.Conex = Me.Conex Set Sal.Padre = Mov Set Sal.Destinatario = Destinatario Sal.CreaObjeto 13

14 Limpiar variables Set Sal = Nothing Set Sto = Nothing Set Mov = Nothing Como se está construyendo bajo una arquitectura de tres capas, el servicio Salida no puede desplegar un mensaje cuando la cantidad requerida es mayor que la disponible. La forma de avisar los errores es empleando el estándar que provee ActiveX, a través del objeto Err. Este error puede ser capturado (usando On Error Goto ) desde la aplicación que invoca el servicio y es ella la encargada de avisarlo al usuario. Es conveniente crear algunos servicios especiales en las clases que faciliten la construcción de interfaces. Por cada clase podemos crear propiedades (Get y Set) que permitan recuperar y asignar la identificación de los objetos para poder referenciarlos desde las aplicaciones. Definamos popiedades llamadas Oid para cada una de las clases. En el caso de Movimiento: Public Property Get Oid() As Collection Set Oid = New Collection Oid.Add FechaHora Oid.Add BodegaCodigo Oid.Add ArticuloCodigo Public Property Set Oid(Id As Collection) FechaHora = Id(1) BodegaCodigo = Id(2) ArticuloCodigo = Id(3) Una aplicación puede declarar una variable tipo colección u object para almacenar la clave de un objeto y luego asignársela a éste de vuelta para recuperar su estado. Otros servicios útiles para la construcción de interfaces serían aquellos que retornan colecciones de objetos para mostrar en algún control. Debido nuevamente a la arquitectura de tres capas, no deseamos que la aplicación accese a la base de datos, pero podemos construir servicios en la capa intermedia que nos retornen grupos de objetos para mostrarlos en las ventanas, y permitir que el usuario los seleccione. Por ejemplo, podemos construir un servicio Todas en la clase bodega, de la forma: Public Function Todas As Collection Dim Q As New rdoquery Dim RS As rdoresultset Dim B As Bodega Set Todas = New Collection Set Q.ActiveConnection = Me.Conex Q.SQL = SELECT * FROM Bodega Set RS = Q.OpenResultSet Do While Not RS.Eof Set B = New Bodega Set B.Conex = Me.Conex B.LlenaDesdeResultSet RS Todas.Add B Set B = Nothing Loop Set RS = Nothing 14

15 Set Q = Nothing End Function 15

16 Programación de la Capa de Aplicación. La capa de aplicación corresponde a la interfaz con el usuario. Ella puede sólo accesar a objetos de la capa del negocio y no directamente a la base de datos, por lo que no se debría escribir consultas SQL o reglas del negocio dentro de los eventos de controles o elementos de interfaz. Para la construcción de una aplicación, partimos con un nuevo proyecto en Visual Basic del tipo Standard EXE. Dentro del ambiente integrado de programación, podemos tener abiertos más de un proyecto a la vez, en un grupo de proyectos. Podemos agregar un proyecto nuevo File Add project al grupo y de esta forma tener en un mismo ambiente la capa intermedia (ActiveX dll) y la aplicación (Standard EXE). Seleccionando el proyecto de la aplicación agregamos una referencia hacia el proyecto de las clases (Project References). De esta forma, la capa intermedia constituye una biblioteca para la aplicación. Desde el formulario principal de la aplicación podemos crear una conexión pública (un objeto rdoconecction). Esta conexión se irá asignando a los objetos y otros formularios, a medida que se vayan creando. Mantención de objetos. Una de las tareas comunes a todos los sistemas corresponde a la mantención de los datos que actúan como maestros. En el ejemplo anterior, podemos realizar la mantención de las bodegas en el siguiente formulario: El control principal es un listbox desde donde el usuario seleccionará un objeto. Podemos declarar una variable del formulario, de la clase Bodega, que en todo momento esté instanciada con la selección del usuario. Al abrirse el formulario podemos llenar el listbox con el resultado del servicio Todas de Bodega y actualizar la variable del formulario cada vez que se produce un evento de cambio de fila en el control. Los botones de la parte superior pueden abrir otros formularion que ejecuten los servicios CreaObjeto, DestruyeObjeto y EliminaObjeto que se definieron para cada clase. El código contenido en el formulario anterior es el siguiente: Public Conex As rdoconnection Private Bodega As Bodega Private Todas As Collection Private Sub cmdagregar_click() Set frmagregarbodega.conex = Conex frmagregarbodega.show 1 ActualizaListaBodegas Private Sub cmdeliminar_click() If MsgBox(" Confirma la eliminación de la bodega seleccionada?", vbyesno) = vbyes Then Bodega.DestruyeObjeto ActualizaListaBodegas 16

17 End If Private Sub cmdmodificar_click() Set frmmodificarbodega.conex = Conex Set frmmodificarbodega.bodega = Bodega frmmodificarbodega.show 1 ActualizaListaBodegas Private Sub Form_Load() ActualizaListaBodegas Private Sub ActualizaListaBodegas() Dim B As New Bodega Set B.Conex = Conex Set Todas = Bodega.Todas Set B = Nothing ListaBodegas.Clear For Each B In Todas ListaBodegas.AddItem B.Descripcion Next Private Sub ListaBodegas_Click() If Item >= 0 Then Set Bodega = Todas(Item) Else Set Bodega = Nothing End If cmdmodificar.enabled = Not Bodega Is Nothing cmdeliminar.enabled = Not Bodega Is Nothing Los formularios para Agregar y Modificar una bodega tendrán el código necesario en su botón de Aceptar para llamar a los servicios CreaObjeto y DestruyeObjeto, respectivamente. Si un formulario necesita ejecutar servicios que como parámetros reciban otros objetos, éstos últimos se pueden seleccionar desde listas o ComboBox como en el ejemplo anterior. Además de los controles listbox, se pueden utilizar controles como el FlexGrid o el ListView que permiten mostrar más columnas. Estas otras columnas pueden mostrar otros atributos del objeto o atributos de objetos relacionados, usando las propiedades que se programaron en la capa intermedia. Por ejemplo, si se muestran los movimientos a una bodega, las columnas se podrían llenar con el siguiente código: Set Movimientos = Bodega.Movimientos For Each Mov In Movimientos Fila=Fila+1 Grilla.String(Fila,1) = Movimiento.Fecha Grilla.String(Fila,2) = Movimiento.Cantidad Grilla.String(Fila,3) = Movimiento.Articulo.Descripcion If Not Mov.Entrada Is Nothing Then Grilla.String(Fila,4)= Movimiento.Entrada.Proveedor.Descripcion 17

18 Else Grilla.String(Fila,4)= Movimiento.Salida.Destinatario.Descripcion End If Next Utilización de la capa intermedia desde páginas web. El servidor web de Microsoft, Internet Information Server (o IIS) soporta el uso de ASP (Active Server Pages). Esto significa que las páginas pueden contener scripts que serán ejecutados en el servidor, antes de retornar información al browser. Este código que ejecutará el servidor podrá hacer uso de los servicios de la capa intermedia que definimos. Existen algunas diferencias entre la programación de páginas ASP y aplicaciones Visual Basic Cliente / Servidor. En ASP se cuenta con tres objetos principales que sirven para comunicar entre sí las diferentes páginas que conforman un sitio. El objeto Session permite declarar variables (que pueden ser objetos) que se conocen en todas las páginas durante la conexión de un usuario. Acá se pueden, por ejemplo, guardar valores o referencias a objetos que sirven de parámetros de entrada a cada página. El objeto Request permite rescatar los valores de entrada de las páginas, a través del nombre que se le dio en HTML a los campos (editores y listas). Usando objeto Response se puede retornar código HTML hacia el browser. Debido a que no se conoce la cantidad de usuarios que se conectarán a la base de datos y la cantidad de conexiones son un recurso limitado, es más conveniente pasarle a cada clase la cadena de conexión (y no el objeto conexión) para que ella se conecte a la base de datos antes de realizar cualquier consulta. De esta forma, todas las clases podrían tener una variable pública llamada ConexString, además de la conexión Conex y un servicio Conecta de la forma: Private Sub Conecta If Conex Is Nothing Then Set Conex = New rdoconnection Conex.Connect = ConexString Conex.EstablishConnection rddrivernoprompt End If Entonces, al inicio de cada servicio, las clases pueden siempre llamar a Conecta. La sentencia New se reemplaza por la creación directa de los objetos, usando CreateObject. Por ejemplo, si en el caso anterior llamamos al proyecto ClasesBodegas que contiene una clase Bodega, la creación de un objeto y su conexión a la base de datos, sería de la forma: Dim Bod Set Bod = CreateObject( ClasesBodegas.Bodega ) Bod.ConexString = dsn=bodega;uid=sa;pwd= Response.Write Bod.StockComoHTML(Session(Articulo)) Set Bod = Nothing 18

BASES DE DATOS EN VISUAL BASIC ACCESS + SQL

BASES DE DATOS EN VISUAL BASIC ACCESS + SQL BASES DE DATOS EN VISUAL BASIC ACCESS + SQL by Damián Sottosanti Ultima actualización: 03-08-2004 CREAMOS LA BASE DE DATOS EN ACCESS Abrimos Access y elegimos "Crear una nueva base de datos usando" "Base

Más detalles

Curso de PHP con MySQL Gratis

Curso de PHP con MySQL Gratis Curso de PHP con MySQL Gratis Introducción Este mini curso o mini tutorial de PHP le ayudará a realizar cualquier sistema para que pueda insertar uno o varios registros a una base de datos con MySQL, este

Más detalles

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor. Procesamiento del lado del servidor La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante la interpretación de un script en el

Más detalles

Capitulo III. Diseño del Sistema.

Capitulo III. Diseño del Sistema. Capitulo III. Diseño del Sistema. Para el desarrollo del sistema en la presente tesis se utilizo el paradigma orientado a objetos utilizando el lenguaje Java en su versión 1.2. Por medio de este lenguaje

Más detalles

Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario

Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario Empleo de módulos y Procedimientos Procedimientos definidos por el usuario Según lo que hemos visto hasta ahora, Visual Basic, almacena el código en módulos. Hay tres clases de módulos: formularios (.frm),

Más detalles

XPERTO EN DISEÑO DE PÁGINAS WEB

XPERTO EN DISEÑO DE PÁGINAS WEB Curso ICA de: EXPERTO EN DISEÑO DE PÁGINAS WEB Módulo 1: Program. cliente: JavaScript Estudia el lenguaje JavaScript para crear guiones o scripts que se incluyen en las páginas web y que son ejecutados

Más detalles

Contenido. Email: capacitacion@u cursos.cl / Teléfono: 9782450

Contenido. Email: capacitacion@u cursos.cl / Teléfono: 9782450 GMI Contenido PUBLICAR AVISO... 3 CREAR PROCESO DE SELECCIÓN... 6 VER/ELIMINAR AVISOS PUBLICADOS... 8 ETAPAS DE UN PROCESO DE SELECCIÓN... 10 SECCIONES DE LOS PROCESOS DE SELECCIÓN (GPS)... 21 PERSONALIZAR

Más detalles

Internet Information Server

Internet Information Server Internet Information Server Internet Information Server (IIS) es el servidor de páginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en

Más detalles

TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS

TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS 1 Introducción... 3 2 Despliegue de la aplicación de ejemplo... 3 2.1 Requisitos previos... 3 2.2 Despliegue de la aplicación... 3 3 Prueba

Más detalles

La ventana de Microsoft Excel

La ventana de Microsoft Excel Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft

Más detalles

Práctica sobre compartición de instancias remotas.

Práctica sobre compartición de instancias remotas. Práctica sobre compartición de instancias remotas. Para esta práctica se ha construido un pequeño sistema cliente-servidor que permite la resolución de Sudokus entre varios jugadores. El servidor consta

Más detalles

LABORATORIO Nº 1 Sistemas de Información asociados a los Formularios en Excel

LABORATORIO Nº 1 Sistemas de Información asociados a los Formularios en Excel OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante del concepto de los sistemas de información y su rol en una organización asociados a utilizar formularios en Microsoft

Más detalles

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO Fecha última revisión: Junio 2011 INDICE DE CONTENIDOS HERRAMIENTA DE APROVISIONAMIENTO... 3 1. QUÉ ES LA HERRAMIENTA DE APROVISIONAMIENTO... 3 HERRAMIENTA

Más detalles

Workflows? Sí, cuántos quiere?

Workflows? Sí, cuántos quiere? Workflows? Sí, cuántos quiere? 12.11.2006 Servicios Profesionales Danysoft Son notables los beneficios que una organización puede obtener gracias al soporte de procesos de negocios que requieran la intervención

Más detalles

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported PROGRAMACIÓN ORIENTADA A OBJETOS APLICADA A BASES DE DATOS Por LAURA NOUSSAN LETTRY BrowserSQL MySQL Workbench en Linux (Abril 2015, Mendoza) Aviso Legal El presente libro electrónico se distribuye bajo

Más detalles

Formulario VBA en Excel. Creación del formulario. Actividad grado 10.

Formulario VBA en Excel. Creación del formulario. Actividad grado 10. Actividad grado 10. 1. Leer y Realizar el siguiente ejercicio siguiendo los pasos establecidos en la guía. 2. Consultar códigos para realizar una calculadora. Donde se ejecute en formulario de visual basic,

Más detalles

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable 1. Introducción. El Sistema de Administración de Información de un Negocio Franquiciable (SAINF)

Más detalles

Tutorial: Primeros Pasos con Subversion

Tutorial: Primeros Pasos con Subversion Tutorial: Primeros Pasos con Subversion Introducción Subversion es un sistema de control de versiones open source. Corre en distintos sistemas operativos y su principal interfaz con el usuario es a través

Más detalles

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS ARCHIVOS ANEXOS Son los documentos, hojas de cálculo o cualquier archivo que se anexa a las carpetas, subcarpetas, hallazgos u otros formularios de papeles de trabajo. Estos archivos constituyen la evidencia

Más detalles

2_trabajar con calc I

2_trabajar con calc I Al igual que en las Tablas vistas en el procesador de texto, la interseccción de una columna y una fila se denomina Celda. Dentro de una celda, podemos encontrar diferentes tipos de datos: textos, números,

Más detalles

Introducción a la Firma Electrónica en MIDAS

Introducción a la Firma Electrónica en MIDAS Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento

Más detalles

Acronis License Server. Guía del usuario

Acronis License Server. Guía del usuario Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE

Más detalles

&XDGHUQLOORGHH[DPHQ APELLIDOS:... NOMBRE:... GRUPO:... NÚMERO DE EXPEDIENTE:...

&XDGHUQLOORGHH[DPHQ APELLIDOS:... NOMBRE:... GRUPO:... NÚMERO DE EXPEDIENTE:... 3DUWHWHyULFD 1. Para que se utiliza la etiqueta de HTML OBJECT. Explique la importancia de esta etiqueta para utilizar componentes ActiveX. Comente el contenido de los distintos parámetros que la acompañan.

Más detalles

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP Características del Explorador de Windows El Explorador de Windows es una de las aplicaciones más importantes con las que cuenta Windows. Es una herramienta indispensable

Más detalles

Comisión Nacional de Bancos y Seguros

Comisión Nacional de Bancos y Seguros Comisión Nacional de Bancos y Seguros Manual de Usuario Capturador de Pólizas División de Servicios a Instituciones Financieras Mayo de 2011 2 Contenido 1. Presentación... 3 1.1 Objetivo... 3 2. Descarga

Más detalles

Guía de Apoyo Project Web Access. (Jefe de Proyectos)

Guía de Apoyo Project Web Access. (Jefe de Proyectos) Guía de Apoyo Project Web Access (Jefe de Proyectos) 1 ÍNDICE Contenido INTRODUCCIÓN... 3 CAPITULO I: ELEMENTOS INICIALES DE PROJECT WEB ACCESS... 4 Configuración General... 4 Área de Trabajo del Proyecto...

Más detalles

CAPÍTULO 3 VISUAL BASIC

CAPÍTULO 3 VISUAL BASIC CAPÍTULO 3 VISUAL BASIC 3.1 Visual Basic Microsoft Visual Basic es la actual y mejor representación del viejo lenguaje BASIC, le proporciona un sistema completo para el desarrollo de aplicaciones para

Más detalles

Operación Microsoft Access 97

Operación Microsoft Access 97 Trabajar con Controles Características de los controles Un control es un objeto gráfico, como por ejemplo un cuadro de texto, un botón de comando o un rectángulo que se coloca en un formulario o informe

Más detalles

Ejercicio 3 Diapositivas Interactivas.

Ejercicio 3 Diapositivas Interactivas. Ejercicio 3 Diapositivas Interactivas. Existen diversas herramientas en PowerPoint para realizar presentaciones más interactivas, en lugar de las presentaciones comunes que van de diapositiva en diapositiva.

Más detalles

GVisualPDA Módulo de Almacén

GVisualPDA Módulo de Almacén GVisualPDA Módulo de Almacén GVisualPDA es una aplicación para Windows Mobile 5/6 que amplía más aún las posibilidades de integración del software de gestión GVisualRec permitiendo estar conectados en

Más detalles

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor. Sesión 03: Lenguajes web del servidor Competencias a Conseguir: - Conocer el entorno de trabajo a nivel de servidores web. - Instalación del localhost (Servidor Local). - Repaso general de PHP y ejercicios

Más detalles

Pantalla ENW URL LOGIN

Pantalla ENW URL LOGIN Pantalla ENW URL LOGIN 2 Opciones de recuperación Desde Web of Science / Web of Knowledge Desde catálogos de bibliotecas online o base de datos online. De forma manual Importación de archivos generados

Más detalles

Toda base de datos relacional se basa en dos objetos

Toda base de datos relacional se basa en dos objetos 1. INTRODUCCIÓN Toda base de datos relacional se basa en dos objetos fundamentales: las tablas y las relaciones. Sin embargo, en SQL Server, una base de datos puede contener otros objetos también importantes.

Más detalles

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

AGREGAR COMPONENTES ADICIONALES DE WINDOWS INSTALACIÓN DE IIS EN WINDOWS XP El sistema está desarrollado para ejecutarse bajo la plataforma IIS de Windows XP. Por esta razón, incluimos la instalación de IIS (Servidor de Web) para la correcta ejecución

Más detalles

MANUAL DE AYUDA MODULO TALLAS Y COLORES

MANUAL DE AYUDA MODULO TALLAS Y COLORES MANUAL DE AYUDA MODULO TALLAS Y COLORES Fecha última revisión: Enero 2010 Índice TALLAS Y COLORES... 3 1. Introducción... 3 CONFIGURACIÓN PARÁMETROS TC (Tallas y Colores)... 3 2. Módulos Visibles... 3

Más detalles

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA Perfil Entidad Proveedora El objetivo del módulo de Gestión de Solicitudes vía Internet es facilitar el trabajo

Más detalles

Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos.

Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos. Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos. Qué es PHP? PHP (Hypertext Preprocessor). Es un lenguaje de programación: De código

Más detalles

" ##$ % & '( % & )*+),$ -##$ -!- $! "-./ - 0WebClass1-2

 ##$ % & '( % & )*+),$ -##$ -!- $! -./ - 0WebClass1-2 ! " ##$ % & '( % & )*+),$ -##$ -!- $! "-./ - 0WebClass1-2!" # 345 637 6$5!!!89 & 5 :8-7 & & ;(< 8 $ + - 8 : #= ' 7= : 0 & 0 &- =.> = ;(("9 &? WebClass - 1@#$% &'A1 ;(< 8- ( ) * *+ " $ % B9 5 5 # :!- WebClass

Más detalles

JavaScript como Orientación a Objetos

JavaScript como Orientación a Objetos Gustavo Lacoste (gustavo@lacosox.org) October 2012 Resumen El objetivo de las siguientes notas es generar una estructura en JavaScript que nos permita reutilizar de manera limpia las funciones creadas

Más detalles

Instalación y configuración de Windows SharePoint Services (WSS) 2003

Instalación y configuración de Windows SharePoint Services (WSS) 2003 Instalación y configuración de Windows SharePoint Services (WSS) 2003 Autor : Gustavo Velez Para : www.gavd.net/servers Fecha : 15-01-2005 Versión : 1.0.1 Prerrequisitos para la instalación: Windows 2003

Más detalles

Manual de ACCESS Intermedio

Manual de ACCESS Intermedio Manual de ACCESS Intermedio Funciones agregadas (GROUP BY) Las funciones agregadas proporcionan información estadística sobre conjuntos de registros. Por ejemplo, puede usar una función agregada para contar

Más detalles

PUCV - Pontificia Universidad Católica de Valparaíso

PUCV - Pontificia Universidad Católica de Valparaíso PUCV - Pontificia Universidad Católica de Valparaíso INICIO IBM QUICKR IBM Quickr es un software de colaboración en equipos, el cual permite compartir archivos e información de forma instantánea y directa

Más detalles

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta Conciliación bancaria en CheqPAQ Cargado de estado de cuenta Introducción Con la finalidad de mantenerte informado respecto a todos los cambios y mejoras de los productos de CONTPAQ i, ponemos a tu disposición

Más detalles

Enviar Felicitación Navideña por Email con Off. 2007

Enviar Felicitación Navideña por Email con Off. 2007 Enviar Felicitación Navideña por Email con Off. 2007 Hola Amigos, hoy vamos a ver un ejercicio de Excel que nos permitirá hacer un Envío de correo electrónico, para enviar nuestra felicitación de Navidad

Más detalles

5.4. Manual de usuario

5.4. Manual de usuario 5.4. Manual de usuario En esta sección se procederá a explicar cada una de las posibles acciones que puede realizar un usuario, de forma que pueda utilizar todas las funcionalidades del simulador, sin

Más detalles

INDICE. 1. Introducción... 4. 2. El panel Entities view... 5. 3. El panel grafico... 6. 4. Barra de botones... 6. 4.1. Botones de Behavior...

INDICE. 1. Introducción... 4. 2. El panel Entities view... 5. 3. El panel grafico... 6. 4. Barra de botones... 6. 4.1. Botones de Behavior... MANUAL DE USUARIO INDICE 1. Introducción... 4 2. El panel Entities view... 5 3. El panel grafico... 6 4. Barra de botones... 6 4.1. Botones de Behavior... 7 4.2. Botones de In-agents... 8 4.3. Botones

Más detalles

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN 3.3 Aplicaciones Definición de Aplicación (Application). Programa informático que permite a un usuario utilizar una computadora con un fin específico. Las

Más detalles

28.- Manejo de los Feriados

28.- Manejo de los Feriados 28.- Manejo de los Feriados El feriado anual o vacaciones pagadas es el derecho del trabajador con más de un año de servicios a hacer uso de un descanso anual de 15 días hábiles, con remuneración íntegra,

Más detalles

Edición de Ofertas Excel Manual de Usuario

Edición de Ofertas Excel Manual de Usuario Edición de Ofertas Excel Manual de Usuario Alfonso XI, 6 28014 Madrid F(+34) 91 524 03 96 www.omie.es Ref. MU_OfertasExcel.docx Versión 4.0 Fecha: 2012-11-26 ÍNDICE 1 INTRODUCCIÓN 3 2 CONSIDERACIONES DE

Más detalles

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

Más detalles

LiLa Portal Guía para profesores

LiLa Portal Guía para profesores Library of Labs Lecturer s Guide LiLa Portal Guía para profesores Se espera que los profesores se encarguen de gestionar el aprendizaje de los alumnos, por lo que su objetivo es seleccionar de la lista

Más detalles

Soluciones Informáticas para la Gestión de la Calidad c/vicente Aleixandre nº 10 4º H, 15009 A CORUÑA Telf: 981 133 207 / 616 145 723 info@spuch.

Soluciones Informáticas para la Gestión de la Calidad c/vicente Aleixandre nº 10 4º H, 15009 A CORUÑA Telf: 981 133 207 / 616 145 723 info@spuch. MANUAL DE USUARIO Índice Índice... 2 Introducción... 2 Pantalla inicial... 3 Conectar las bases de datos... 4 Periodicidad de sincronización... 6 Reglas de sincronización... 7 Ejecutar consultas SQL...

Más detalles

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD Manual de usuario 1 - ÍNDICE 1 - ÍNDICE... 2 2 - INTRODUCCIÓN... 3 3 - SELECCIÓN CARPETA TRABAJO... 4 3.1 CÓMO CAMBIAR DE EMPRESA O DE CARPETA DE TRABAJO?...

Más detalles

MANUAL DE USUARIO SISTEMA DE ALMACEN DIF SONORA

MANUAL DE USUARIO SISTEMA DE ALMACEN DIF SONORA MANUAL DE USUARIO SISTEMA DE ALMACEN DIF SONORA DICIEMBRE 2007. El Sistema de Almacén fue desarrollado con la finalidad de facilitar a los usuarios el proceso de entradas y salidas del almacén mediante

Más detalles

Manual del Usuario. Sistema de Help Desk

Manual del Usuario. Sistema de Help Desk Manual del Usuario Sistema de Help Desk Objetivo del Manual El siguiente manual tiene como objetivo proveer la información necesaria para la correcta utilización del sistema Help Desk. Describe los procedimientos

Más detalles

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes?

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes? Preguntas frecuentes Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes? Atención! Esta opción es de configuración y solamente la prodrá realizar el administrador de la

Más detalles

Manual del usuario del Módulo de Administración de Privilegios del Sistema Ingresador (MAPSI)

Manual del usuario del Módulo de Administración de Privilegios del Sistema Ingresador (MAPSI) Manual del usuario del Módulo de Administración de Privilegios del Sistema Ingresador (MAPSI) 1. Introducción El presente manual representa una guía rápida que ilustra la utilización del Módulo de Administración

Más detalles

La pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición.

La pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición. Microsoft Word Microsoft Word es actualmente (2009) el procesador de textos líder en el mundo gracias a sus 500 millones de usuarios y sus 25 años de edad. Pero hoy en día, otras soluciones basadas en

Más detalles

MANUAL DE FACTURACIÓN TOUCH SCREEN

MANUAL DE FACTURACIÓN TOUCH SCREEN MANUAL DE FACTURACIÓN TOUCH SCREEN Tabla de Contenido Contenido Pág. CAPITULO 1... 3 CARACTERÍSTICAS Y BENEFICIOS... 3 CAPITULO 2... 4 ENTRADAS Y SALIDAS DEL MODULO... 4 Visión general... 4 Contenido del

Más detalles

Tabla de contenido. Manual B1 Time Task

Tabla de contenido. Manual B1 Time Task Tabla de contenido Introducción... 2 Configuración... 2 Prerrequisitos... 2 Configuración de la tarea... 2 Configurando las horas estándar de trabajo... 3 Datos maestros de empleados... 4 Utilización...

Más detalles

Enterprise Resource Planning (ERP) SISTEMA DE PLANEACIÓN DE RECURSOS MASTER: ALFREDO CASTRO JIMENEZ

Enterprise Resource Planning (ERP) SISTEMA DE PLANEACIÓN DE RECURSOS MASTER: ALFREDO CASTRO JIMENEZ Enterprise Resource Planning (ERP) SISTEMA DE PLANEACIÓN DE RECURSOS MASTER: ALFREDO CASTRO JIMENEZ ERICK ANASTASIO FLORES 29/09/2010 UNIVERSIDAD AUTONOMA DE GUADALAJARA TECNOLOGIAS DE INFORMACION Qué

Más detalles

Base de datos relacional

Base de datos relacional Base de datos relacional Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para modelar problemas reales y administrar

Más detalles

Utilidades de la base de datos

Utilidades de la base de datos Utilidades de la base de datos Desde esta opcion del menú de Access, podemos realizar las siguientes operaciones: Convertir Base de datos Compactar y reparar base de datos Administrador de tablas vinculadas

Más detalles

Guía nuevo panel de clientes Hostalia

Guía nuevo panel de clientes Hostalia Guía nuevo panel de clientes Hostalia Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com 1. Estructura del panel de administración El panel de control presenta un diseño

Más detalles

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib Manual de uso de la plataforma para monitores CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib [Manual de uso de la plataforma para monitores] 1. Licencia Autor del documento: Centro de Apoyo Tecnológico

Más detalles

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

Registro (record): es la unidad básica de acceso y manipulación de la base de datos. UNIDAD II 1. Modelos de Bases de Datos. Modelo de Red. Representan las entidades en forma de nodos de un grafo y las asociaciones o interrelaciones entre estas, mediante los arcos que unen a dichos nodos.

Más detalles

Cómo acceder a bases de datos?

Cómo acceder a bases de datos? Cómo acceder a bases de datos? Para facilitar la explicación de la conexión a una base de datos utilizaremos la base de datos Access ya que en el capitulo anterior se explica cómo crearla. Usaremos una

Más detalles

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin.

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin. PHPMYADMIN Y MYSQL Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin. PhpMyAdmin es una herramienta para la administración del servidor de base de datos MySQL que dispone

Más detalles

Creación y administración de grupos de dominio

Creación y administración de grupos de dominio Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia

Más detalles

Novedades. Introducción. Potencia

Novedades. Introducción. Potencia Introducción Basado en el demostrado rendimiento y flexibilidad de la versión 8.5, Crystal Reports 9 presenta una amplia variedad de avanzadas funciones para que el diseño, entrega e integración de informes

Más detalles

A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla.

A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla. 4. TABLAS A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla. 4.1. Principales Elementos Al momento de generar y diseñar una tabla es importante

Más detalles

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

Más detalles

Tema: CREACIÓN DE CONSULTAS E INFORMES EN UNA BASE DE DATOS CON MICROSOFT ACCESS 2013.

Tema: CREACIÓN DE CONSULTAS E INFORMES EN UNA BASE DE DATOS CON MICROSOFT ACCESS 2013. Empremática, Guía12 1 Facultad: Ingeniería Escuela: Computación Asignatura: Empremática Tema: CREACIÓN DE CONSULTAS E INFORMES EN UNA BASE DE DATOS CON MICROSOFT ACCESS 2013. Objetivos: Identificar las

Más detalles

Manual de usuario administrador. Correo Exchange Administrado

Manual de usuario administrador. Correo Exchange Administrado Manual de usuario administrador Correo Exchange Administrado Triara.com SA de CV Todos los derechos reservados Esta guía no puede ser reproducido ni distribuida en su totalidad ni en parte, en cualquier

Más detalles

Sesión No. 11. Contextualización INFORMÁTICA 1. Nombre: Gestor de Base de Datos (Access)

Sesión No. 11. Contextualización INFORMÁTICA 1. Nombre: Gestor de Base de Datos (Access) INFORMÁTICA INFORMÁTICA 1 Sesión No. 11 Nombre: Gestor de Base de Datos (Access) Contextualización Microsoft Access es un sistema de gestión de bases de datos, creado para uso personal y de pequeñas organizaciones.

Más detalles

Tutorial Básico de vbscript

Tutorial Básico de vbscript Tutorial Básico de vbscript Bueno, primero aclarar que este tutorial, pretende explicar de manera básica las distintas instrucciones aplicadas en visual basic script (vbs de aquí en más), para que así

Más detalles

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL.

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL. GUIA DE LABORATORIO # 5 Nombre de la Practica: Manipulación de datos Lugar de ejecución: Centro de Computo MATERIA: Base de Datos II CICLO: 02-2012 I. OBJETIVOS ESPECIFICOS Qué el estudiante: Manipule

Más detalles

Guía de uso del Cloud Datacenter de acens

Guía de uso del Cloud Datacenter de acens guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar

Más detalles

Patrones para persistencia (I) Ingeniería del Software II

Patrones para persistencia (I) Ingeniería del Software II Patrones para persistencia (I) Ingeniería del Software II 1 Patrones para la construcción del esquema relacional En todos los ejemplos realizaremos transformaciones del siguiente diagrama de clases: Figura

Más detalles

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Tutoriales de ayuda e información para todos los niveles AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Como agregar a una red existente un equipo con Windows 7 y compartir sus archivos

Más detalles

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto INFORMÁTICA INFORMÁTICA 1 Sesión No. 4 Nombre: Procesador de Texto Contextualización La semana anterior revisamos los comandos que ofrece Word para el formato del texto, la configuración de la página,

Más detalles

Tutorial de MS Access Un sistema de Bases de Datos Relacional. Profesores: Hugo Mora, Ignacio Casas

Tutorial de MS Access Un sistema de Bases de Datos Relacional. Profesores: Hugo Mora, Ignacio Casas Tutorial de MS Un sistema de Bases de Datos Relacional Profesores: Hugo Mora, Ignacio Casas Tutorial Qué es una Base de Datos? Una Base de Datos es un conjunto de datos que pertenecen al mismo contexto

Más detalles

Manual del Usuario de Microsoft Access Introducción - Página 1. I. Introducción. I.1. Base de Datos Relacional

Manual del Usuario de Microsoft Access Introducción - Página 1. I. Introducción. I.1. Base de Datos Relacional Manual del Usuario de Microsoft Access Introducción - Página 1 I. Introducción I.1. Base de Datos Relacional Una base de datos relacional es una colección de información secundaria a un tema o propósito

Más detalles

Hacer clic sobre la figura, para extraer todos los registros o presionar la tecla F2.

Hacer clic sobre la figura, para extraer todos los registros o presionar la tecla F2. b) Adicionar grados Para llevar a cabo esta operación el usuario deberá realizar los siguientes pasos: Recuperar la información, para realizar esta operación el usuario puede hacerla de las siguientes

Más detalles

CAPÍTULO 3 Servidor de Modelo de Usuario

CAPÍTULO 3 Servidor de Modelo de Usuario CAPÍTULO 3 Servidor de Modelo de Usuario Para el desarrollo del modelado del estudiante se utilizó el servidor de modelo de usuario desarrollado en la Universidad de las Américas Puebla por Rosa G. Paredes

Más detalles

Manual Sistema de Afiliados Lomas Travel

Manual Sistema de Afiliados Lomas Travel Manual Sistema de Afiliados Lomas Travel Contenido Registro de Afiliados... 3 Administración de su cuenta... 7 Ingresar... 7 Uso del Administrador... 8 Configuración de Plantilla... 9 1.-Opción de subir

Más detalles

Introducción a Visual Studio.Net

Introducción a Visual Studio.Net Introducción a Visual Studio.Net Visual Studio es un conjunto completo de herramientas de desarrollo para la generación de aplicaciones Web ASP.NET, Servicios Web XML, aplicaciones de escritorio y aplicaciones

Más detalles

Tecnología de la Información y la Comunicación. Base de datos. Consultas - 2007 -

Tecnología de la Información y la Comunicación. Base de datos. Consultas - 2007 - Tecnología de la Información y la Comunicación Base de datos Consultas - 2007 - Profesores del área Informática: Guillermo Storti Gladys Ríos Gabriel Campodónico Consultas Se utilizan consultas para ver,

Más detalles

INFORMÁTICA IE. Términos a conocer y conceptos básicos. World Wide Web (WWW):

INFORMÁTICA IE. Términos a conocer y conceptos básicos. World Wide Web (WWW): INFORMÁTICA IE MÓDULO INTERNET Términos a conocer y conceptos básicos World Wide Web (WWW): Digamos, simplemente, que es un sistema de información, el sistema de información propio de Internet. Sus características

Más detalles

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access)

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access) Administración de la producción Sesión 10: Gestor de Base de Datos (Access) Contextualización Microsoft Access es un sistema de gestión de bases de datos, creado para uso personal y de pequeñas organizaciones,

Más detalles

Programación Orientada a Objetos Analista Programador Universitario Plan 2008 Año 2010

Programación Orientada a Objetos Analista Programador Universitario Plan 2008 Año 2010 INTRODUCCION Los objetos usados en aplicaciones JAVA mantienen su estado y comportamiento mientras la aplicación se halle en ejecución. Generalmente se necesita mantener el estado y comportamiento de los

Más detalles

Plataforma Educativa Manual del Docente Nivel II Módulo 3 Wiki

Plataforma Educativa Manual del Docente Nivel II Módulo 3 Wiki 2014 Plataforma Educativa Manual del Docente Nivel II Módulo 3 Wiki Dirección Provincial de Tecnologías Educativas Dirección Provincial de Tecnologías Educativas Ministerio de Educación Ministerio de Educación

Más detalles

CÓMO MANEJAR SU NUEVO SITIO WEB SOBRE DRUPAL Manual técnico y de usuario. Pontificia Universidad Javeriana Grupo PSU 2009-1 CDI

CÓMO MANEJAR SU NUEVO SITIO WEB SOBRE DRUPAL Manual técnico y de usuario. Pontificia Universidad Javeriana Grupo PSU 2009-1 CDI CÓMO MANEJAR SU NUEVO SITIO WEB SOBRE DRUPAL Manual técnico y de usuario Pontificia Universidad Javeriana Grupo PSU 2009-1 CDI Sobre Drupal Instalación y configuración Drupal es un sistema de gestión de

Más detalles

Práctica 6 - Página Web

Práctica 6 - Página Web Práctica 6 - Página Web Teoría. Una Página Web es un recurso de información que esta diseñada para la Word Wide Web (Red Mundial) y puede ser vista por medio un Navegador Web. Esta información se encuentra

Más detalles

SERVICIO NACIONAL DE APRENDIZAJE SENA SISTEMA INTEGRADO DE GESTIÓN Procedimiento Ejecución de la Formación Profesional Integral GUÍA DE APRENDIZAJE

SERVICIO NACIONAL DE APRENDIZAJE SENA SISTEMA INTEGRADO DE GESTIÓN Procedimiento Ejecución de la Formación Profesional Integral GUÍA DE APRENDIZAJE Código: F004-P006- GFPI Nº 1. IDENTIFICACIÓN DE LA GUIA DE APRENDIZAJE Programa de Formación: Técnico en programación de software. Nombre del Proyecto: Sistema de información para la gestión empresarial

Más detalles

CAPITULO 9. Diseño de una Base de Datos Relacional Distribuida

CAPITULO 9. Diseño de una Base de Datos Relacional Distribuida 9.1 Operaciones CAPITULO 9 Diseño de una Base de Datos Relacional Distribuida Las consultas distribuidas obtienen acceso a datos de varios orígenes de datos homogéneos o heterogéneos. Estos orígenes de

Más detalles

Oracle básico (IV): Programación en PL/SQL

Oracle básico (IV): Programación en PL/SQL Oracle básico (IV): Programación en PL/SQL El lenguaje de programación de Oracle, llamado PL/SQL, es un lenguaje portable, procedural y de transacción muy potente y de fácil manejo, con las siguientes

Más detalles

Arquitectura. 1.- Aplicaciones Web. Definición. Arquitectura clásica. Contenidos. 1.- Aplicaciones Web

Arquitectura. 1.- Aplicaciones Web. Definición. Arquitectura clásica. Contenidos. 1.- Aplicaciones Web Arquitectura 1.- Aplicaciones Web Definición Contenidos 1.- Aplicaciones Web 2.- Arquitectura de aplicaciones Web Lo que distingue una aplicación Web de una mero sitio Web reside en la posibilidad que

Más detalles

Microsoft SQL Server 2005

Microsoft SQL Server 2005 Microsoft SQL Server 2005 Módulo 1: Diseño y programación Estudia el servidor de bases de datos SQL Server 2005 desde el punto de vista de un diseñador y programador de bases de datos, prestando atención

Más detalles