ENTRENAMIENTO EN POWERBUILDER 9.0

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

Download "ENTRENAMIENTO EN POWERBUILDER 9.0"

Transcripción

1 Departamento de Ingeniería de Sistemas UNIVERSIDAD NACIONAL DE COLOMBIA Bogotá, febrero de 2003.

2 ENTRENAMIENTO EN POWER BUILDER 9.0 PowerBuilder es una herramienta computacional que permite la elaboración de aplicaciones cliente/servidor utilizando principalmente elementos gráficos. Las aplicaciones desarrolladas con PowerBuilder se almacenan en una librería (PowerBuilder Library, archivos caracterizados con el tipo *.PBL ). Una vez desarrollada una aplicación PowerBuilder, se crea un archivo tipo *.EXE para que los usuarios ejecuten la aplicación desde Windows cuando lo deseen. La versión 9.0 del entorno integrado para desarrollo de aplicaciones empresariales ofrece mejoras significativas en rendimiento y productividad, un amplio soporte para componentes estándar, basados en Web y muchas características orientadas al uso de XML. Algunas de las nuevas características son: Soporte DataWindow XML: Esta característica permite exportar e importar las filas de datos del DataWindow a y de Lenguaje Extensible de Marcado (XML) Usted puede especificar la estructura lógica de cómo las filas iteran dentro del elemento raíz del documento XML. Esto ser realiza por medio de objetos plantilla XML que están encapsulados en objetos DataWindow y construidos gráficamente en una nueva vista del DataWindow Painter. PowerBuilder Document Object Model (PBDOM): PBDOM es la implementación PowerBuilder del Modelo de Objetos de Documento (DOM), una interfaz de programación que define la forma en que se pueden acceder y manipular documentos XML. A pesar de que PBDOM no es una implementación DOM API del consorcio World Wide Web (W3C), el API PowerBuilder API se puede usar para leer, escribir y manipular XML de formato estándar desde dentro de código PowerScript. PBDOM representa un documento XML como una colección de objetos interconectados y métodos intuitivos que indican el uso y funcionalidad de cada objeto. La interfaz nativa PowerBuilder (PBNI): La interfaz nativa PowerBuilder (PBNI) es una interfaz estándar de programación que permite a los desarrolladores extender la funcionalidad de PowerBuilder. Utilizando PBNI, usted puede crear extensiones para PowerBuilder extensiones no visuales, visuales e integrar la máquina virtual de PowerBuilder en aplicaciones C++. Por medio de JNI, las aplicaciones Java se pueden comunicar también con la PBVM. Destinos JSP: PowerBuilder 9 provee un ambiente de desarrollo para creación de JSP fácil de usar que automatiza varias tareas de desarrollo y permite el desarrollo de aplicaciones Web compatibles con JSP 1.2. Un modelo de objetos JSP duplica con muy pocas modificaciones la funcionalidad de servidor disponible anteriormente para destinos web ASP y PowerDynamo, incluyendo la extensión de modelo de eventos 4GL para aplicaciones PowerDynamo. Servicios Web para los clientes JSP: Usted puede utilizar servicios Web en páginas JSP generando etiquetas (tags) personalizadas para estos. PowerBuilder 9 provee un asistente que crea una etiqueta personalizada con la información necesaria para llamar un servicio Web en un JSP. Servicios Web para los clientes Windows: Página 1 de 2

3 Una aplicación PowerBuilder puede actuar como un cliente utilizando un servicio Web (Web Service) que se accede por medio de Internet. Utilizando SOAP y WSDL, un conjunto de funciones publicadas remotamente como una sola entidad pueden llegar a hacer parte de su aplicación PowerBuilder. Un servicio Web acepta y responde solicitudes enviadas por aplicaciones u otros servicios Web. Clientes EJB para servidores de aplicación de terceros: Una aplicación PowerBuilder puede actuar como un cliente de un componente EJB que se ejecuta en un servidor de aplicaciones que es compatible con J2EE. Se probaron los servidores incluyen Sybase EAServer 4.1, IBM WebSphere 4.0, y BEA WebLogic 6.1 y 7.0. Mejoras en el control origen (Source control): PowerBuilder 9 incluye características para mejorar la velocidad y desempeño de la integración del control de origen. El lenguaje OrcaScript: OrcaScript permite escribir guiones (scripts) por lotes para procesar aplicaciones y archivos PowerBuilder sin utilizar el ambiente de desarrollo de PowerBuilder. Soporte para Oracle 9i: PowerBuilder 9 soporta pools de conexiones, tipos de datos NCHAR o NVARCHAR2 y tipos de datos LOB con Oracle9i. Importar y guardar XML y XSV: Los métodos ImportFile, ImportString, e ImportClipboard para los objetos DataWindows y Graph soportan como formatos de importación XML y CSV y el método SaveAs soporta XML. En los painters DataWindow y Database también puede importar y guardar utilizando estos formatos. Guardar como XSL-FO y PDF: Basado en la habilidad de guardar datos como XML, PowerBuilder también puede guardar los datos y presentación del DataWindow como un documento o cadena utilizando Formato de Objetos XSL (XSL-FO) o Formato de Documentos Portables (PDF). Versiones DBCS de las funciones de cadena: Ahora hay disponibles para ambientes BDCS versiones separadas de funciones de cadenas basadas en caracteres. Los caracteres en ambientes DBCS pueden ser de un único byte, doble byte, o mixtos, pero las funciones de cadena estándares retornan datos de caracteres de un solo byte. Mejoras en el DataWindow: Mejoras en la impresión, recuperación de DataWindows Hijos, Desplazamiento (scrolling) en reportes de grupo. Mejoras en el depurador Página 2 de 3

4 COMPONENTES DE UNA APLICACIÓN POWERBUILDER. Objetos. Un objeto es una forma de comunicación con el usuario, por ejemplo una ventana o un menú. Nombres de objetos PowerBuilder: Application object Window DataWindow Menu Global functions Queries Structures User objects Libraries Projects Eventos. Un evento puede ocurrir cuando un usuario ejecuta una acción con el ratón, el teclado, por una orden del lenguaje PowerScript de PowerBuilder o por el mismo sistema. Algunos de los eventos más comunes son: Clic (clicked) Doble clic (DoubleClicked) Modificación (Modified) Abrir (Open) Cerrar (Close) Tomar el foco (GetFocus) Perder el foco (LoseFocus) Cambiar la selección (SelectionChanged) Scripts. Un script es un conjunto de órdenes escritas en lenguaje PowerScript que se deben ejecutar al ocurrir un evento. COMPONENTES DE UNA VENTANA. Controles. Un control es un objeto colocado en una ventana. Los controles son: CheckBox CommandButton DataWindow DropDownListBox DropDownPictureListBox EditMask Graph GroupBox HscrollBar Line ListBox ListView MultiLineEdit OLEcontrol OLECustomControl Oval Picture PictureButton PictureListBox RadioButton Rectangle Página 3 de 4

5 RichTextEdit RoundRectangle SingleLineEdit StaticText Tab TreeView UserObject VscrollBar Focus. Identifica el lugar de la pantalla donde va a suceder la siguiente acción. Para establecer el foco en un sitio deseado, el usuario puede: Mover con el ratón el apuntador a un control y hacer clic. Presionar la tecla del tabulador hasta el control deseado. Un control puede perder el foco cuando el usuario: Hace clic en otro control. Hace clic en otra ventana donde no hay controles. Presiona la tecla del tabulador y pasa a otro control. Atributos. Los objetos y controles tienen atributos que definen su: Apariencia. Comportamiento. LENGUAJE POWERSCRIPT Es un lenguaje de alto nivel basado en objetos con el cual se pueden construir scripts. PowerScript tiene: Comandos, por ejemplo IF... THEN. Funciones predefinidas para manipular objetos, números, textos, para procesar fechas y datos de tiempo, imprimir reportes, ejecutar DDE (Dynamic Data Exchange), manejar archivos; por ejemplo SHOW, MOVE, OPEN, MAX, HIDE. Las funciones regresan un valor (return value) que puede ser utilizado o ignorado. Proposiciones SQL, por ejemplo SELECT, INSERT, UPDATE. Variables: Locales en un script. A nivel de una ventana/objeto. Globales. Convenciones aconsejadas por PowerBuilder para dar nombre a los objetos: Página 4 de 5

6 Cuando se están creando los objetos, PowerBuilder sugiere un nombre para el objeto utilizando el prefijo de la tabla anterior y un número. Ellos aconsejan cambiar este número por algo significativo para el usuario que está elaborando el aplicativo. Página 5 de 6

7 EJERCICIO PRÁCTICO El ejercicio deben hacerlo de forma individual y presentarlo funcionando perfectamente, desde ejecutable y desde PowerBuilder. En grupo deben presentar un informe, indicando sus comentarios sobre este documento, errores encontrados, sugerencias para mejorarlo y utilidad al realizar el ejercicio. Elaborar una Aplicación sencilla, que permita manipular información del personal de una empresa así: a) Listar todos los empleados, b) Buscar los empleados que concuerden con el nombre y/o el primer apellido digitado por el usuario, c) Buscar los empleados de un determinado Departamento. Una vez obtenida la lista, al hacer la selección de un empleado ver sus datos detallados. La aplicación también debe estar en capacidad de ejecutar las acciones de impresión, adición, modificación y borrado de datos de empleados. Como un servicio adicional de la Aplicación, se debe proporcionar una Calculadora que esté en capacidad de ejecutar las cuatro operaciones aritméticas básicas: suma, resta, multiplicación y división de dos valores dados por el usuario. Estructura de la aplicación: VENTANA PRINCIPAL Ventana para Búsqueda Ventana para Mantenimiento Calculadora Los pasos indicados a continuación corresponden a un procedimiento que se puede seguir utilizando PowerBuilder 9.0 y Sistema Operativo Windows 98 (de forma similar en Windows 95, NT, 2000 y XP): 1. Entrar a Windows. 2. Escoger un directorio exclusivo para dejar todos los archivos del ejercicio (recomendado). 3. Copiar en este directorio: Tres (3) archivos tipo *.bmp Tres (3) archivos tipo *.ico 4. Activar PowerBuilder. Página 6 de 7

8 5. Crear un área de trabajo (workspace): 5.1. Crear una nueva aplicación: En barra de herramientas New Workspace, o, En menú File New Workspace 5.2. Llenar los datos de la ventana New Workspace, así: Nombre de Archivo Escribir el nombre del archivo donde va a quedar almacenado el área de trabajo Guardar. Automáticamente PowerBuilder genera un archivo con extensión.pbw, y se muestra el área de trabajo en el árbol de sistemas (panel de la izquierda). 6. Establecer opciones del área de trabajo: En menú Tools System Options Workspaces asegurarse de que estén seleccionadas las opciones Reopen Workspace on startup y Reload Painters when opening workspace. OK. Página 7 de 8

9 7. Crear una aplicación: 7.1. Crear una nueva aplicación: En barra de herramientas New Target Application, o, En menú File New Target Application 7.2. Llenar los datos de la ventana Specify New Application and Library, así: Application Name Escribir el nombre del archivo donde va a quedar la Librería. Library Seleccionar el directorio donde se van a dejar los archivos del ejercicio. Target Seleccionar el directorio donde se van a dejar los archivos del destino. Nota: un archivo de destino (target) puede contener varias librerías Finish. Automáticamente PowerBuilder genera un archivo con extensión.pbl, otro con extensión.pbt y una aplicación con el mismo nombre del archivo. Página 8 de 9

10 Workspace Árbol de Sistema Target Library Application Si se quieren colocar comentarios a la aplicación creada (y de la misma forma a la mayoría de componentes), Se presiona clic derecho sobre el nombre de la aplicación (o el componente) en el árbol de sistema, se selecciona propiedades y se escriben los comentarios deseados OK, o, En barra de herramientas Open Objects of Type: Applications Seleccionar el nombre de la aplicación OK File Save as Seleccionar el archivo de librería Guardar Save Application Aparece nombre de la aplicación y directorio seleccionado aquí se puede colocar otro nombre a la aplicación, entonces Power Builder crea otra aplicación con el nombre actual) Comments: Escribir un comentario significativo relacionado con la aplicación OK Página 9 de 10

11 8. Árbol de sistema: La ventana Árbol de sistema (System Tree) sirve como el centro de sus actividades de desarrollo. Esta se utiliza para abrir, ejecutar, depurar y construir (build) sus destinos (targets), y para realizar operaciones de programación arrastrando y soltando. En esta se pueden visualizar y seleccionar: el área de trabajo (workspace), los destinos (targets), las librerías.pbl existentes, los objetos respectivos, sus propiedades, eventos, funciones y estructuras. Árbol de sistema Página 10 de 11

12 9. Elaborar una ventana como la siguiente: 9.1. En barra de herramientas New PB Object Window OK Para manejar el objeto creado PowerBuilder 9.0 abrirá por omisión dos vistas básicas en una ventana: Layout (donde podrá visualizar la forma del objeto) y Properties. Por medio de unas solapas ubicadas en la parte inferior de las dos vistas básicas mencionadas es posible acceder a otras vistas tales como script (en el diagrama aparece como open), Event List, Control List; en este caso las propiedades de una ventana son agrupadas bajo tres grupos de características: General, Scroll, Toolbar y Other. Página 11 de 12

13 9.3. Mirar, comprobar y/o modificar características de la ventana: Si se quieren observar y/o modificar las características de la ventana, situándose en la vista de Layout y no está activa la vista de Properties, con el botón derecho Properties Para la ventana Window en el tipo de características (solapa) General colocar: Identificación o título deseado ( Title : ICF Pantalla para búsqueda) Elementos activos ( Control Menu, Maximize Box, Minimize Box,...) Tipo de ventana ( Window Type ): popup! En la serie de características Other Dentro de Position se puede colocar la ubicación y tamaño dentro de la pantalla 9.4. Colocar los objetos deseados dentro de la ventana y darle sus características Insertar el control CommandButton en la ventana, así: En el menú: Insert Control CommandButton En barra de herramientas: Control CommandButton Página 12 de 13

14 En la ventana, hacer clic en el sitio donde se desea ubicar el control seleccionado Mirar, comprobar y/o modificar las características del control (hay que tener seleccionado el control deseado): En barra de herramientas Properties, o, En la vista de Properties..., o Con botón derecho dentro del control Properties..., o Doble clic dentro del control En la vista de Properties, las características de un ComandButton están agrupadas en: General, Font y Other. Dar al control CommandButton las características del control, tales como: Nombre del control (cb_salir). Texto deseado dentro del control. (&Salir) Características de aparición. Características de las fuentes. Posición dentro de la ventana. Página 13 de 14

15 Grabar el trabajo adelantado (Guardar la ventana en la librería): En barra de herramientas Save, o En menú File Save, o En menú File Save as..., o Ctrl + S En la ventana Save Window escribir: Nombre de la ventana (por ejemplo, w_icf_basica). Un comentario OK Para ver cómo va quedando el diseño de la pantalla: En barra de herramientas Preview, o En menú Design Preview, o Ctrl + Shift + P 10. Elaborar una ventana como la siguiente: Página 14 de 15

16 Esta ventana debe heredar las propiedades de la ventana anterior (ICF -Pantalla básica). Por lo tanto se puede seguir un procedimiento similar, con las siguientes particularidades: Cierre la ventana anterior y Cree la nueva ventana: En el menú File Inherit... (si la ventana de la cual hereda está abierta esta selección no funcionará) En la ventana Inherit From Window seleccionar la ventana que da las características a heredar. OK Mirar y/o cambiar las características de la ventana heredada Añadir los otros controles mostrados en la figura (un CommandButton y un RadioButton) Cambiar el texto del CommandButton heredado &Salir por &Cancelar Los controles deben quedar con las características de visible y enabled Grabar el trabajo adelantado (Guardar la ventana en la librería; nombre sugerido: w_icf_busqueda) Ver cómo va quedando el diseño y si es necesario hacer las modificaciones que estime convenientes. 11. Elaborar una ventana como la siguiente: Esta ventana debe heredar las propiedades de la ventana anterior (ICF - Pantalla básica para búsqueda), con las siguientes particularidades: Mirar y/o cambiar las características de la ventana heredada. Cambiar el texto del RadioButton heredado &Otro por &Todos Añadir los otros controles mostrados en la figura: Dos SingleLineEdit, uno para Nombre y otro para Primer Apellido. Tres StaticText: Nombre, Primer Apellido y Departamento. Un DropDownListBox, con la lista de los siguientes Departamentos: Contabilidad Personal Ventas Mercadeo Desarrollo Recursos Administración Sistemas En el tipo de características (solapa) General colocar: ShowList y VScrollBar. Página 15 de 16

17 Agregar la lista de Departamentos, en la vista Properties del DropDownListBox en el grupo de características: Items. Dos RadioButton, para Por Nombre y Por Departamento. Un GroupBox, para Buscar. Un PictureButton para Imprimir. Escoger de la lista de archivos *.BMP una figura para el caso que esté disponible el servicio de impresión y otra figura para el caso que no esté disponible. Un DataWindow, identificado como Datos de los Empleados. Allí se mostrarán los resultados de consulta a la base de datos (posteriormente se harán las asociaciones necesarias con los DataWindows object que acceden a la base de datos) Dar las demás características deseadas, tanto a la ventana como a los controles Grabar el trabajo adelantado. (nombre sugerido: w_icf_pordepto_nom) Ver cómo va quedando el diseño y si es necesario, hacer las modificaciones que estime convenientes. 12. Elaborar una ventana como la siguiente: Página 16 de 17

18 El objetivo es tener una calculadora en la cual se va a obtener un resultado aritmético dados dos operandos Crear la ventana y colocar sus características (ventana tipo popup) Colocar los objetos y sus características, así: Dos SingleLineEdit, para primer y segundo operando. Cuatro StaticText, uno para colocar el resultado de la operación aritmética (el cual no tendrá texto) y tres para colocar los textos: Primer Operando, Segundo Operando y Resultado. Cuatro CommandButton, uno para cada operación: suma, resta, multiplicación y división. Dos Rectangle, uno para encerrar el resultado y otro para encerrar los CommandButton de las operaciones aritméticas Grabar el trabajo adelantado Ver cómo va quedando el diseño y (si es necesario) hacer las modificaciones que estime convenientes. 13. Colocar el punto de entrada del aplicativo (inicio de ejecución). Inicialmente direccionar directamente a la Calculadora En el árbol de sistema: Presionar doble clic sobre la aplicación, o, barra de herramientas Open Objects of Type: Applications Seleccionar el nombre de la aplicación OK Al abrir el objeto Application, PowerBuilder abre por omisión la vista Script, con el método open seleccionado Para programar el evento inicial de la aplicación, escribir el programa (script) para abrir la ventana con el cual inicia el aplicativo; en esta primera etapa será la ventana donde está el diseño de la calculadora. En la vista de Script de la aplicación seleccionar el evento open (abrir), si no estaba ya seleccionado. Elaborar un programa asociado con el evento open, similar al siguiente: // open icf_1 // Punto inicial del aplicativo. open (w_icf_calculadora) //Nombre de la ventana que se desea activar. Página 17 de 18

19 Sugerencia: Cuando se está escribiendo el programa y se necesita el nombre de un objeto o una variable, este nombre se puede traer directamente (no hay necesidad de digitarlo) desde el árbol de sistema (system tree) arrastrando y soltando o utilizando las ventana clip, la cual se despliega por medio de barra de herramientas Window Clip, o utilizando las opciones Paste Global, Paste Shared, Paste Instance, Paste Window, Paste Object y Paste Argument de la barra de herramientas haciendo la selección apropiada. También se pueden utilizar las otras facilidades que se proporcionan a través de las barras de herramientas y opciones de los menús Compilarlo (paso opcional): En barra de herramientas: Compile, o En menú: Edit Compile, o Ctrl + L Volver a la ventana principal de PowerBuilder: En barra de herramientas: Close Si no hizo el paso de compilación, confirmar (compilar y grabar) o descartar los cambios realizados, en la ventana de diálogo Application : Sí, o No, o Cancelar. 14. Probar que la aplicación se puede ejecutar: En barra de herramientas: Run, o En menú: File Run, o Ctrl + R 15. Escribir las demás acciones que se desean tener al utilizar la calculadora. Página 18 de 19

20 Se sugiere que la calculadora efectúe por lo menos las operaciones aritméticas básicas (suma, resta, multiplicación y división) y permita algunas facilidades de manejo de memoria Seleccionar la ventana de la calculadora Elaborar un programa, asociado con el evento modified (modificar), del control que recibe el primer operando, similar al siguiente: // modified sle_operando1 If not IsNumber(This.text) Then MessageBox ("Error", "Se debe dar un número", StopSign!, OK!) This.text = "" This.SetFocus() End if Para el control que recibe el segundo operando, escribir un programa similar al que recibe el primer operando Elaborar un programa, asociado con el evento clicked, del botón que va a ejecutar la operación de suma, similar al siguiente: // clic cb_suma Double oper1, oper2, oper3 oper1 = Double(sle_operando1.text) oper2 = Double(sle_operando2.text) oper3 = oper1 + oper2 st_resultado_n.text = String(oper3) Elaborar programas similares para las operaciones de resta, multiplicación y división Dejar el resultado en blanco, cuando se pase el cursor al campo que recibe el primer o segundo operando (programar el evento getfocus: st_resultado_n.text = ) Probar la aplicación. 16. Seleccionar el botón Salir de la ventana básica: w_icf_basica y asociarle un programa que cierre la ventana (programar el evento clicked), con un programa como el siguiente: // clic cb_salir If MessageBox("Salir", "Cerrar esta ventana?", Question!, YesNo! ) = 1 then Close( Parent ) End If 17. Correr la ventana para probar su funcionamiento: En barra de herramientas File Run/Preview Objects of Type: Windows Object: nombre de la ventana, en este caso: w_icf_basica OK 18. Seleccionar la ventana donde se pueden hacer búsquedas Seleccionar el control Todos (RadioButton) y elaborar un programa para que cuando este control sea el seleccionado, desactive los controles que piden datos. Puede ser un programa como el siguiente: // Ventana: w_icf_pordepto_nom, Objeto: rb_todos, Heredado de: // w_icf_busqueda:rb_otro // Evento: Clicked ddlb_departamento.visible = false sle_nombre.visible = false sle_primer_apellido.visible = false st_nombre.visible = false st_primer_apellido.visible = false st_departamento.visible = false dw_datos_empleados.visible = false Correr la ventana para probar su funcionamiento Seleccionar el control Por Nombre (RadioButton). Escribir un programa para que active los campos que piden los datos de nombre. Puede ser un programa como el siguiente: // Ventana: w_icf_pordepto_nom, Objeto: rb_nombre // Evento: Clicked Página 19 de 20

21 ddlb_departamento.visible = false sle_nombre.visible = true sle_primer_apellido.visible = true st_nombre.visible = true st_primer_apellido.visible = true st_departamento.visible = false dw_datos_empleados.visible = false Correr la ventana para probar su funcionamiento Seleccionar el control Por Departamento (RadioButton). Escribir un programa para que active el control que pide el dato de Departamento. Puede ser un script como el siguiente: // Ventana: w_icf_pordepto_nom, Objeto: rb_departamento // Evento: Clicked ddlb_departamento.visible = true sle_nombre.visible = false sle_primer_apellido.visible = false st_nombre.visible = false st_primer_apellido.visible = false st_departamento.visible = true dw_datos_empleados.visible = false Correr la ventana para probar su funcionamiento. 19. Crear una función que sirva para ejecutar las cuatro operaciones básicas aritméticas: sumar, restar, multiplicar y dividir En barra de herramientas o en el menú seleccionar: New PB Object Function Llenar los datos solicitados: Valor a retornar (Return Type): string Nombre de la función Dar los argumentos: primer operando ( arg_operando1, tipo string, paso por valor), segundo operando ( arg_operando2, tipo string, paso por valor) y operador ( arg_operador, tipo integer, paso por valor) 20. Escribir las instrucciones que van a conformar la función. Puede ser un programa como el siguiente: // Nombre de la funcion: f_operaciones // Objetivo: Hacer un cálculo aritmético // Parámetro 1: Primer operando // Parámetro 2: Segundo operando // Parámetro 3: Operación a realizar así: // 1 Sumar // 2 Restar // 3 Multiplicar // 4 Dividir Double oper1, oper2, oper3 IF arg_operando1 = "" OR arg_operando2 = "" THEN Messagebox ("Error","Los operandos deben ser aritméticos",stopsign!, OK!) return "" END IF oper1 = Double(arg_operando1) oper2 = Double(arg_operando2) Choose Case arg_operador Case 1 oper3 = oper1 + oper2 Case 2 oper3 = oper1 - oper2 Case 3 oper3 = oper1 * oper2 Case 4 Página 20 de 21

22 If oper2 = 0 Then Return "División por cero" Else oper3 = oper1 / oper2 End If Case else Return "Operación no válida" End Choose Return String (oper3) 21. Cambiar los programas asociados con los botones de operaciones de la ventana de la calculadora para que utilicen la función anterior Para el botón de Resta (-) puede ser un programa como el siguiente (para el evento clic): // clic para cb_resta st_resultado_n.text = f_operaciones ( sle_operando1.text, sle_operando2.text, 2 ) Proceder de manera similar para la suma, multiplicación y división Probar su funcionamiento Comprobar el funcionamiento de la Calculadora para valores con punto decimal. En caso que no funcione, hacer las modificaciones necesarias. 22. Crear una base de datos que implemente lo mostrado en la siguiente figura: Página 21 de 22

23 22.1. Crear localmente una nueva base de datos. Dejar el archivo físico en el directorio donde se están dejando todos los archivos de este ejercicio: En barra de herramientas: Database, o, En el menú: File New Database Database Painter, o, Shift + F7 Se crea una base de datos local: En Database Painter aparece la vista de Objects, en el árbol Installed Database Interfaces ODB ODBC Utilities Create ASA Database. Página 22 de 23

24 Aparece la ventana Create Adaptive Server Anywhere Database, se deben llenar los datos allí pedidos: Database Name: Camino y nombre del archivo en Windows donde se va a guardar el archivo físico. Se sugiere: Browse, Llegar al directorio deseado, y Dar el nombre al archivo. User ID: Identificación del usuario. Valor por omisión: DBA Password: Clave. Valor por omisión: SQL. OK Página 23 de 24

25 23. Es bueno comprobar lo siguiente: En el árbol Installed Database Interfaces ODB ODBC Utilities ODBC Administrator, o, En Windows Inicio Configuración Panel de Control Fuentes de datos ODBC (32 bits): En ventana Administrador de Orígenes de Datos ODBC (ODBC Data Source Administrator): DSN de usuario (User DSN) en donde aparece ahora una nueva entrada ODBC con el nombre del perfil creado ante la base de datos, cuyo controlador será Adaptive Server Anywhere 8.0. Al dar doble clic sobre dicha entrada ODBC se aprecia la ventana ODBC Configuration for Adaptive Server Anywhere : en el tab de ODBC aparece el nombre de la fuente de datos ( Data Source Name ); en el tab de Login los datos proporcionados de User ID y Password; y en el tab de Database el nombre y la ubicación de la base de datos creada. Página 24 de 25

26 Retornando a PowerBuilder, en la vista de Database Painter o en la vista de Database Profiles (las dos opciones de la barra de herramientas) se encuentra ahora la conexión activa (indicada por un chulo sobre el perfil) a la base de datos creada. Al dar con el ratón doble clic sobre el perfil seleccionado o clic derecho Properties: se puede ver la ventana Database Profile Setup ODBC : En la solapa Connection se encuentra: el nombre de la fuente de datos ( Data Source ) y del perfil ( Profile Name ), además de los datos de User ID y Password; en la solapa Preview se observa la sintaxis de la conexión a la base de datos perteneciente al perfil creado. Página 25 de 26

27 En caso de algún problema, hay que arreglarlo o sino la base de datos queda inalcanzable. En casos extremos: borrar la base de datos recién creada, revisar la Configuración ODBC, revisar los Profile, y ver las entradas que puedan estar causando conflicto (si es del caso borrarlas Remove). 24. Crear las tablas (Estando la base de datos activa) Definir las columnas y sus características: nombre, tipo de datos, aceptación o no de nulos, valor por omisión. Colocar letreros significativos para encabezamientos de columnas, rótulos identificadores de campos y comentarios a nivel de tabla y columna. Para ello: En la barra de herramientas Create Table, o, Conectarse a la base de datos, clic para desplegar sus componentes dentro de ellos se encuentran Tables y mediante clic derecho con el ratón New Table Definir las columnas Save Table as 25. Seleccionada una tabla: definir la llave primaria, crear los índices y llenar datos. Definir llave primaria: clic derecho sobre la cualidad Primary key New Primary key Crear índices: clic derecho sobre la cualidad Index New Index Crear llaves foráneas: clic derecho sobre la cualidad Foreign key New Foreign key, en la solapa General Columns seleccionar la columna que es llave foránea y en la solapa Primary Key seleccionar la tabla y las columnas que están asociadas con la llave foránea. Llenarla de datos: Clic derecho sobre la tabla Edit Data (grid, tabular o freeform) Página 26 de 27

28 Insert Row Digitar los datos En Barra de Herramientas Save Changes Una vez creadas y llenas todas las tablas de la base de datos cerrar la vista de DataBase Painter, en barra de herramientas Close o, en el menú, File Close. Si se le quiere hacer un cambio posterior a la tabla es posible posicionándose sobre la tabla y mediante clic derecho con el ratón escoger la opción Alter table. 26. Preparar el sitio donde se van a mostrar los datos de los empleados. Para ese fin, definir los DataWindows Object necesarios. Como primer paso definir un DataWindows que presente en forma tabular los siguientes datos: Nombre y Apellido del empleado y nombre del Departamento donde trabaja. La salida se debe presentar en orden alfabético por Apellido del empleado. Se puede seguir un procedimiento similar al siguiente: En barra de herramientas : New DataWindow Tabular OK, o, En menú: File New DataWindow Tabular OK En la ventana Choose Data Source for Tabular DataWindow (selección de la fuente de datos para el DataWindow escogido): SQL Select Next En ventana Select Tables, seleccionar las tablas Empleado y Departamento Open En tabla Empleado: Código del empleado (id), Nombre del empleado, Apellido del empleado En tabla Departamento: Nombre del departamento En la solapa Sort : Apellido del empleado (hacer drag and drop ). Página 27 de 28

29 Si se quiere cambiar algo en la sintaxis del código SQL, esto se puede ver con la opción del menú Design Convert To Syntax Pasar a diseño de la salida: En barra de herramientas: Return En la ventana Select Color and Border Settings se escogen las opciones de borde y color para el DataWindow. En la ventana Ready to Create Tabular DataWindow aparecen las selecciones dadas con opción de Regresar (para cambiar alguna opción) o Finalizar A continuación aparece la vista de diseño Design del DataWindow, y la de vista previa Preview, acompañadas (por omisión) de la vista de propiedades Properties y, en la parte inferior, de la especificación de columnas, datos y la lista de controles Control List, aparecerán los datos de las tablas seleccionados. En la vista de diseño se pueden colocar encabezados apropiados, cambiar color de fondo y otras cuantas propiedades. Tener en cuenta de que a pesar de haber seleccionado el código del empleado, no se desea en la salida!! Página 28 de 29

30 Si se quiere volver a la ventana de Select correspondiente, escoger en barra de herramientas SQL (icono que dice SQL) Hacer modificaciones al diseño Grabar el trabajo adelantado: En barra de herramientas: Save En ventana Save DataWindow : Colocar el nombre de la ventana (d_...). Ejemplo: d_lista_empleados Escribir un comentario significativo OK Ver resultado del diseño. En el menú File Run/Preview Objects of Type: DataWindows Object: nombre de la DataWindow. Página 29 de 30

31 Probar realizando inserciones, borrados y modificaciones a la base de datos. 27. De manera similar elaborar un DataWindow donde se muestre el listado de personas, dado el código del Departamento donde trabajan Seguir un procedimiento similar a la creación del anterior DataWindow. Adicionalmente, en la ventana donde se seleccionan campos de las tablas (donde también aparecen las solapas Sort, Where, Group, Having, Compute y Syntax), dar la información del argumento: En menú: Design Retrieval Arguments En ventana Specify Retrieval Arguments : escribir el nombre del argumento (por ejemplo departamento) y seleccionar el tipo de dato (por ejemplo Number) OK En carpeta Where, especificar la condición deseada, por ejemplo: 28. Elaborar un tercer DataWindow que muestre los empleados que tengan el Nombre y/o el Apellido digitado por el usuario Seguir un procedimiento similar a la elaboración del DataWindow anterior. En este caso es necesario especificar dos argumentos (por ejemplo: nombre de tipo String y apellido de tipo String) OK En carpeta Where: especificar la condición deseada, por ejemplo: 29. Elaborar un DataWindow que muestre toda la información contenida en la base de datos relacionada con un empleado. En este caso el argumento de búsqueda puede ser el código del empleado y el estilo de presentación puede ser Freeform. Página 30 de 31

32 30. Cambiar el Punto de Inicio del Aplicativo, para que active la ventana que muestra las opciones de búsqueda de personal y adicionalmente conecte la base de datos que se va a utilizar. Elaborar un programa similar al siguiente (evento abrir la aplicación): // open icf_1 // Punto inicial del aplicativo. // // CONEXIÓN AL MOTOR DE BASE DE DATOS // Conexión a un motor de Base de Datos SQL Anywhere con ODBC sqlca.dbms = "ODBC" sqlca.dbparm="connectstring='dsn=entrenamiento;uid=dba;pwd=sql'" MessageBox ("Motor de Base de Datos conectado:",sqlca.dbparm) connect; // Prueba para ver si quedó conectado if sqlca.sqlcode <> 0 then MessageBox ("No se pudo Conectar a la Base de Datos", & "Mensaje enviado por el sistema:~n~r'"+sqlca.sqlerrtext+"'") return end if // open (w_icf_pordepto_nom) //Nombre de la ventana que se desea activar, en este caso la de búsqueda 31. Correr la aplicación y comprobar que funciona el nuevo punto de entrada. 32. En la ventana donde se presentan las opciones de búsqueda, programar el botón de Buscar para que de acuerdo con la selección hecha (Todos, Por Nombre o Por Departamento), muestre el resultado de la búsqueda Seleccionar el evento clic del botón Buscar y elaborar un programa como el siguiente: // clic para cb_buscar IF rb_otro.checked THEN // Seleccionado todos dw_datos_empleados.visible=true dw_datos_empleados.dataobject='d_lista_empleados' dw_datos_empleados.settransobject(sqlca) dw_datos_empleados.retrieve () END IF IF rb_nombre.checked THEN // Seleccionado Por Nombre dw_datos_empleados.visible=true dw_datos_empleados.dataobject='d_empleados_dado_nombre' dw_datos_empleados.settransobject(sqlca) dw_datos_empleados.retrieve (sle_nombre.text,sle_primer_apellido.text) END IF IF rb_departamento.checked THEN // Seleccionado Por Departamento dw_datos_empleados.visible=true dw_datos_empleados.dataobject='d_empleados_depto' dw_datos_empleados.settransobject(sqlca) // Obtener el dato numérico xxx de la instrucción para pasárselo como entrada al // datawindow: dw_datos_empleados.retrieve(double(ddlb_departamento.selectitem( ddlb_departamento.text,1))) END IF Correr la aplicación y comprobar su correcto funcionamiento. Página 31 de 32

33 33. Programar el evento doble click doubleclicked para el DataWindows Control de la ventana que permite búsqueda. Por ejemplo: // doble clic para dw_datos_empleados integer l_codigo, l_casos IF dw_datos_empleados.dataobject='d_lista_empleados' OR & dw_datos_empleados.dataobject='d_empleados_dado_nombre' OR & dw_datos_empleados.dataobject='d_empleados_depto' THEN END IF l_codigo=getitemnumber(row,1) //Supone que en los DataWindows la //primera Columna corresponde // al código del trabajador!!!!!!!!!!!! dw_datos_empleados.dataobject='d_detalle_empleado' dw_datos_empleados.settransobject(sqlca) l_casos=dw_datos_empleados.retrieve (l_codigo) IF l_casos > 0 THEN dw_datos_empleados.retrieve (l_codigo) ELSE MessageBox ("De la Base de Datos","El empleado no tiene tareas asignadas") w_icf_pordepto_nom.cb_buscar.postevent(clicked!) END IF 34. Crear una ventana, que sea el nuevo punto de entrada y exhiba en menús las posibilidades que presenta el aplicativo, ver las siguientes tres figuras: Para hacer el menú, se puede seguir un procedimiento similar al siguiente: En Barra de herramientas o en menú: New PB Object Menu Crear los menús y submenús, junto con sus características, para ello: En el menú Insert Submenu item, o, Ctrl+Shift+S, o, Click derecho con el ratón sobre untitled0 en la vista untitled0 activa y seleccionar: Página 32 de 33

34 Insert Submenu Item Si desea colocar separadores entre los submenús como aparece en las figuras, en Properties General del submenú: colocar en Text: - y seleccionar la opción Default En barra de herramientas: Save En ventana Save Menu : Dar Nombre y Comentarios. 35. Escribir los programas asociados con el evento clic para cada una de las opciones de los menús, por ejemplo: Para: Calculadora // click m_servicios.m_calculadora open ( w_icf_calculadora ) Para: Terminar // click m_servicios.m_terminar If MessageBox("Salir","Salir del aplicativo?",question!,yesno!)=1 then Close( ParentWindow ) // Cerrar la ventana donde se encuentra el menu End If //No toma accion en caso negativo Para: Buscar Todos // Click m_personal.m_buscar.m_todos open ( w_icf_pordepto_nom) w_icf_pordepto_nom.rb_otro.setfocus() w_icf_pordepto_nom.cb_buscar.postevent(clicked!) Página 33 de 34

35 35.4. Para: Buscar Por Nombre // Clic m_personal.m_buscar.m_pronombre open ( w_icf_pordepto_nom) w_icf_pordepto_nom.rb_nombre.setfocus() Para: Buscar Por Departamento // Clic m_personal.m_buscar.m_pordepto open ( w_icf_pordepto_nom) w_icf_pordepto_nom.rb_departamento.setfocus() 36. A la nueva ventana creada (w_aplicativo_entrenamiento) en la vista de Properties General: colocar nombre, asociar el menú recién elaborado en MenuName, seleccionar un icono en Icon (desde que los iconos e imágenes estén en la misma ruta en que se encuentra el aplicativo, no hay necesidad de dejarle la ruta, esto para mayor portabilidad de equipo a equipo). 37. Modificar el punto de Inicio para arranque con la ventana recién diseñada. 38. Agregar facilidades de menú a la ventana de la calculadora, ver ejemplo presentado en las siguientes tres gráficas: 39. Escribir los programas asociados con el evento clic para cada una de las opciones de los menús, por ejemplo: Para: Archivo Cerrar Ventana // click m_archivo.m_cerrarventana Close( ParentWindow ) Página 34 de 35

36 39.2. Para: Archivo Salir del Aplicativo // click m_archivo.m_salirdelaplicativo Close ( w_aplicativo_entrenamiento ) //Ventana principal del aplicativo Para: Editar Borrar Todo // click m_editar.m_borrartodo w_icf_calculadora.sle_operando1.text = "" w_icf_calculadora.sle_operando2.text = "" w_icf_calculadora.st_resultado_n.text = "" Para: Editar Resultado a Memoria // click m_editar.m_resultadoamemoria // Objetivo: Llevar el resultado al clipboard clipboard ( w_icf_calculadora.st_resultado_n.text ) Para: Editar Memoria a Operando 1 // clic m_editar.m_memoriaaoperando1 // Copia el contenido del clipboard al Primer Operando w_icf_calculadora.sle_operando1.text = clipboard ( ) Para: Ayuda Temas // clic m_ayuda.m_temas ShowHelp ( "C:\Archivos de programa\sybase\powerbuilder 9.0\Help\pbhlp90.hlp", index! ) 40. Elaborar un ejecutable de la aplicación Crear un objeto proyecto. Este objeto permite crear el archivo ejecutable de la aplicación En barra de herramientas : New Project Application Wizard OK, o, En menú: File New Project Application Wizard OK Next Si no está seleccionado el archivo pbl correcto seleccionarlo Next Escribir el nombre del proyecto, o utilizar el por defecto Next Escribir la dirección y el nombre del archivo ejecutable que se generará Next Asegurarse de que la opción Incremental Build esté seleccionada Next Página 35 de 36

37 Asegurarse de que la opción No, do not generate machine code esté seleccionada Next Nota: la opción No, do not generate machine code se recomienda mientras el aplicativo esté en desarrollo. La generación definitiva se recomienda hacerla con Yes, generate machine code EXE and DLLs Next Llene la información de versión (y copyright) del aplicativo Next Verifique que la información ingresada sea correcta Finish PowerBuilder crea un objeto Project para su aplicación y lo muestra en la vista Project: Cerrar la vista Project Crear el archivo ejecutable En barra de herramientas : Deploy Workspace, o, En menú: Run Deploy Workspace 41. Salir de PowerBuilder. 42. Correr desde Windows el ejecutable que contiene el aplicativo. Página 36 de 37

38 43. Crear una ventana como la siguiente: El DropDown DataWindow es útil en caso de que se requiera hacer referencia a datos de otras tablas. Última Fila Siguiente Fila Anterior Fila Primera Fila En esta ventana se utilizará un nuevo control (TabControl), y el DropDown DataWindow. La estructura de las páginas Departamentos y Niveles es la misma. Página 37 de 38

39 43.1. Crear una nueva ventana: En barra de herramientas New PB Object Window, o, En menú File New PB Object Window Con el botón derecho sobre la nueva ventana, modificar las propiedades de la ventana Properties : Window Type: Popup!. Las opciones Resizable y MaxBox no deberán seleccionarse Insertar un control Tab en la ventana y darle el tamaño adecuado. En el menú Insert Control Tab, o, En la barra de herramientas Create Tab Control Seleccionar el control insertado y hacer click con el botón derecho del mouse en el área superior que no está ocupada por el TabPage (Cada una de las páginas del control Tab recibe este nombre). En las propiedades generales del tabpage: Properties General: Name: tab_actualizaciones Seleccionar Bold Selected Text (El texto de la página seleccionada se muestra en negrilla) OK Hacer click con el botón derecho dentro de la primera página (la que tiene el texto none) y elegir propiedades generales, Properties General: Name: tabpage_empleados Tab Text: Empleados OK Insertar los demás controles en la ventana (como lo muestra la figura) Un DataWindow control (se usa el botón que se encuentra en la barra de herramientas junto con los demás controles. No confundir con el botón de DataWindow Object que se encuentra en la barra de herramientas superior o PowerBar).En las propiedades del nuevo DataWindow elegir Name: dw_act_empleados y seleccionar VscrollBar. Los botones Nuevo (cb_nuevo), Borrar (cb_borrar), Actualizar (cb_actualizar), Cargar Datos (cb_cargar). Los botones para desplazarse por las filas del DataWindow: Primero (cb_primero), Siguiente (cb_siguiente), Anterior (cb_anterior), Ultimo (cb_ultimo) Guardar el trabajo: File Save. El nombre de la nueva ventana será w_actualizaciones Modificar la opción actualizar del menú, para que se abra la nueva ventana: En la barra de herramientas Open Objects of Type: Menus. Seleccionar el menú ya realizado (p.ej. m_entrenamiento) OK Seleccionar la opción Actualizar en la ventana de edición del menú. Oprimir el botón Script en la barra de herramientas Escribir: open(w_actualizaciones) Guardar las modificaciones hechas al menú Correr la aplicación y probar el funcionamiento del menú y la nueva ventana Crear un DataWindow Object en el que se relacionen el código y nombre de los departamentos. En la barra de herramientas New DataWindow: Grid Data Source SQL Select Next En la ventana Select Tables seleccionar la tabla departamento. Open Seleccionar las columnas código de departamento (depto_id) y nombre de departamento (depto_nombre). Pasar a diseño de salida o vista de diseño: Return Seleccionar colores y bordes Aceptar selecciones Finalizar Colocar los encabezados apropiados. File Save. En la ventana Save DataWindow: Name: ddd_depto (será utilizado como DropDownDataWindow) OK Cerrar la ventana de edición del DataWindow Página 38 de 39

40 Crear un DataWindow Object para actualizar los datos relacionados con los empleados. En la barra de herramientas New DataWindow: Grid Data Source SQL Select Next En la ventana Select Tables seleccionar la tabla Empleado Open Seleccionar todas las columnas de la tabla empleado. Pasar a diseño de salida o vista de diseño: Return Seleccionar colores y bordes Aceptar selecciones Finalizar Elegir Properties (con el botón derecho sobre el DataWindow, vista de diseño) En la página General: Color ButtonFace Para los encabezados de todas las columnas, en la página general: Border Raised Text modificar el texto Para la columna emp_depto_id (código de departamento): Elegir Properties : En la página General: Borde Lowered. En la página Font: Background Color WindowBackground. En la página Edit: Style Type DropDownDW DataWindow ddd_depto (el que se creó en el paso ) Display Column depto_nombre (nombre de departamento) Data Colum depto_id (código de departamento) Width of DropDown(%) (ancho del DropDown) 300% Seleccionar VScrollBar OK File Save. En la ventana Save DataWindow: Name: d_act_empleados OK Cerrar la ventana de edición del DataWindow Abrir w_actualizaciones y seleccionar el DataWindow dw_act_empleados en la página Empleados. Hacer clic con el botón derecho y seleccionar la opción properties del menú popup. DataObject browse... d_act_empleados (el que se creó en el apartado anterior:43.2.7) OK Para agregar una nueva página al control Tab, se hace clic con el botón derecho sobre el control. En el menú popup Insert TabPage Hacer clic con el botón derecho dentro de la nueva página (la que tiene el texto none) y elegir propiedades en el menú popup, General: Name: tabpage_actividades TabText: Actividades OK Insertar los demás controles en la ventana (como lo muestra la figura) Un DataWindow control. En las propiedades del nuevo DataWindow elegir name: dw_act_actividades y seleccionar VscrollBar. Los botones Nuevo (cb_nuevo_a), Borrar (cb_borrar_a), Actualizar (cb_actualizar_a), Cargar Datos (cb_cargar_a). Los nombres de los botones deben ser diferentes a los utilizados en la página Empleados. Los botones para desplazarse por las filas del DataWindow: Primero (cb_primero_a), Siguiente (cb_siguiente_a), Anterior (cb_anterior_a), Ultimo (cb_ultimo_a) Crear un DataWindow Object en el que se relacionen el código y nombre de los empleados. (se usa el botón DataWindow de la barra de herramientas PowerBar) En la barra de herramientas New DataWindow: Grid Data Source SQL Select Next En la ventana Select Tables seleccionar la tabla Empleado Open Seleccionar las columnas código de empleado, nombre y apellido del empleado. Pasar a diseño de salida o vista de diseño: Return Seleccionar colores y bordes Aceptar selecciones Finalizar Página 39 de 40

41 Colocar los encabezados apropiados. File Save. En la ventana Save DataWindow: Name: ddd_empleado (será utilizado como DropDownDatraWindow) OK Cerrar la ventana de edición del DataWindow Crear un DataWindow Object en el que se relacionen el código y nombre de los niveles. En la barra de herramientas New DataWindow: Grid Data Source SQL Select Next En la ventana Select Tables seleccionar la tabla nivel. Open Seleccionar las columnas código de nivel y nombre de nivel. Pasar a diseño de salida o vista de diseño: Return Seleccionar colores y bordes Aceptar selecciones Finalizar Colocar los encabezados apropiados. File Save. En la ventana Save DataWindow: Name: ddd_nivel (será utilizado como DropDownDatraWindow) OK Cerrar la ventana de edición del DataWindow Crear un DataWindow Object para actualizar los datos relacionados con los actividades de los empleados. En la barra de herramientas New DataWindow: Tabular Data Source SQL Select Next En la ventana Select Tables seleccionar la tabla Actividad. Open Seleccionar todas las columnas de la tabla Actividad. Pasar a diseño de salida o vista de diseño: Return Seleccionar colores y bordes Aceptar selecciones Finalizar Elegir Properties en el menu popup (con el botón derecho sobre el DataWindow): En la página General: Color Button Face Para los encabezados de todas las columnas: Elegir Properties en el menu popup (con el botón derecho): En la página General: Borde Raised. Text modificar el texto En la página Font: Background Color Button Face. OK Para la columna act_emp_id (código del empleado): Elegir Properties en el menu popup (con el botón derecho): En la página General: Borde Lowered. En la página Font: Background Color Window Background. En la página Edit: Style Type DropDownDW DataWindow ddd_empleado (el que se creó en el paso ) Display Column emp_id (código del empleado) Data Column emp_id (código del empleado) Width of DropDown (ancho del DropDown) 400% Seleccionar VscrollBar OK Para la columna act_niv_id (código del nivel): Elegir Properties en el menu popup (con el botón derecho): En la página General: Borde Lowered. En la página Font: Background Color Window Background. En la página Edit: Style Type DropDownDW DataWindow ddd_nivel (el que se creó en el paso ) Display Column niv_id (código del nivel) Data Column niv_id (código del nivel) Width of DropDown (ancho del DropDown) 250% Seleccionar VscrollBar Página 40 de 41

42 OK File Save. En la ventana Save DataWindow: Name: d_act_actividades OK Cerrar la ventana de edición del DataWindow Seleccionar el DataWindow dw_act_actividades en la página Empleados. Hacer clic con el botón derecho y seleccionar la opción properties del menú popup. DataWindow Object Name browse... d_act_actividades (el que se creó en el apartado anterior: ) OK El procedimiento utilizado para agregar las dos páginas restantes (Departamentos y Niveles) es bastante similar al descrito anteriormente Hasta ahora no se han escrito los programas (scripts) para ninguno de los eventos de los controles creados En la ventana w_actualizar, seleccionar la página Empleados (tabpage_empleados) Hacer clic con el botón derecho sobre la página y seleccionar la opción script en el menú popup. En el editor, seleccionar el evento constructor del listbox de la parte superior izquierda de la ventana. El siguiente es el código para dicho evento: // Evento: constructor // Control: tabpage_empleados //Se selecciona el Transaction Object, que proporciona la //información para la comunicación con la base de datos y se //deshabilitan los botones de borrar y actualizar. tab_actualizaciones.tabpage_empleados.dw_act_empleados.settransobject(sqlca) tab_actualizaciones.tabpage_empleados.cb_borrar.enabled = false tab_actualizaciones.tabpage_empleados.cb_actualizar.enabled = false Para compilar el script: en la barra de herramientas Compile; o Ctrl+L; o Edit Compile; o también al guardar, se compila automáticamente. Para el botón que de desplazamiento hasta la primera fila (cb_primero), evento clicked: // Evento: clicked // Control: cb_primero dw_act_empleados.setfocus() // El datawindow toma el foco dw_act_empleados.scrolltorow(1) // Se desplaza hasta la fila No. 1 dw_act_empleados.setcolumn(1) // Se selecciona la primera columna Para el botón de desplazamiento a la siguiente fila (cb_siguiente), evento clicked: // Evento: clicked // Control: cb_siguiente long l_fila_actual dw_act_empleados.setfocus() l_fila_actual = dw_act_empleados.getrow() //el número de la fila //seleccionada actualmente dw_act_empleados.scrolltorow(l_fila_actual + 1) //se desplaza a la //fila siguiente dw_act_empleados.setcolumn(1) //se selecciona la primera columna Para el botón de desplazamiento a la fila anterior(cb_anterior), evento clicked: // Evento: clicked // Control: cb_anterior long l_fila_actual dw_act_empleados.setfocus() l_fila_actual = dw_act_empleados.getrow() //el número de la fila Página 41 de 42

43 //seleccionada actualmente dw_act_empleados.scrolltorow(l_fila_actual - 1) //se desplaza a la //fila anterior dw_act_empleados.setcolumn(1) //se selecciona la primera columna Para el botón que de desplazamiento hasta la ultima fila (cb_ultimo), evento clicked: // Evento: clicked // Control: cb_ultimo long l_numfilas dw_act_empleados.setfocus() l_numfilas = dw_act_empleados.rowcount() //se obtiene el número de //filas en el datawindow dw_act_empleados.scrolltorow(l_numfilas) //se desplaza hasta la última dw_act_empleados.setcolumn(1) //se selecciona la primera columna Para el botón Cargar Datos (cb_cargar), evento clicked: // Evento: clicked // Control: cb_cargar long l_numfilas //se recibe la información de la base de datos en el datawindow // tab_actualizaciones.tabpage_empleados.dw_act_empleados tab_actualizaciones.tabpage_empleados.dw_act_empleados.retrieve() l_numfilas=tab_actualizaciones.tabpage_empleados.dw_act_empleados.rowcount() tab_actualizaciones.tabpage_empleados.dw_act_empleados.scrolltorow(l_numfilas) //Si el número de filas en el datawindow es 0 entonces se deshabilita //el botón de borrar, de lo contrario, se habilita. if l_numfilas = 0 then cb_borrar.enabled = false else cb_borrar.enabled = true end if Para el botón de insertar un nuevo empleado (cb_nuevo), evento clicked: // Evento: clicked // Control: cb_nuevo tab_actualizaciones.tabpage_empleados.dw_act_empleados.settransobject(sqlca) long fila_nueva //la nueva fila se inserta al final del datawindow fila_nueva = tab_actualizaciones.tabpage_empleados.dw_act_empleados.insertrow(0) //el datawindow toma el foco tab_actualizaciones.tabpage_empleados.dw_act_empleados.setfocus() //se desplaza hasta la nueva fila tab_actualizaciones.tabpage_empleados.dw_act_empleados.scrolltorow(fila_nueva) tab_actualizaciones.tabpage_empleados.dw_act_empleados.setcolumn(1) cb_actualizar.enabled = true Para el botón de borrar un empleado (cb_borrar), evento clicked: // Evento: clicked // Control: cb_borrar long l_fila_actual tab_actualizaciones.tabpage_empleados.dw_act_empleados.setredraw (false) //se guarda el número de la fila seleccionada, que es la que se //eliminará Página 42 de 43

44 l_fila_actual = tab_actualizaciones.tabpage_empleados.dw_act_empleados.getrow() //se elimina la fila seleccionada tab_actualizaciones.tabpage_empleados.dw_act_empleados.deleterow (l_fila_actual) //si después de borrarla no quedan filas en el datawindow, //se deshabilita el botón de borrar if tab_actualizaciones.tabpage_empleados.dw_act_empleados.rowcount()=0 then cb_borrar.enabled = false else tab_actualizaciones.tabpage_empleados.dw_act_empleados.setcolumn(1) tab_actualizaciones.tabpage_empleados.dw_act_empleados.setfocus() end if cb_actualizar.enabled = true tab_actualizaciones.tabpage_empleados.dw_act_empleados.setredraw (true) Para el botón de actualización de datos, después de haber realizado inserciones y/o borrados (cb_actualizar), evento clicked: // Evento: clicked // Control: cb_actualizar tab_actualizaciones.tabpage_empleados.dw_act_empleados.setredraw (false) //si la actualización de la base de datos no es exitosa, se deshacen //todos los cambios con la orden rollback. //De lo contrario, se realizan todos los cambios con la orden commit. if tab_actualizaciones.tabpage_empleados.dw_act_empleados.update() = -1 then rollback; else commit; end if tab_actualizaciones.tabpage_empleados.dw_act_empleados.setredraw (true) //Si después de actualizar la base de datos no quedan filas en el //datawindow, se deshabilita el botón de actualizar. if tab_actualizaciones.tabpage_empleados.dw_act_empleados.rowcount() = 0 then cb_actualizar.enabled = false else cb_actualizar.enabled = true end if Los scripts para los eventos de los controles de las páginas restantes (actividades, niveles y departamentos) son similares a los descritos en el apartado anterior: 39.5, modificando los nombres de los controles y los datawindows Se agregará un nuevo botón, que permitirá exportar los datos del datawindow a diferentes formatos. La apariencia de la ventana será la siguiente: Página 43 de 44

45 Agregar un nuevo botón, hacer click derecho sobre él y elegir la opción Properties del menú popup. Name cb_exportar Text Exportar. OK Hacer click derecho sobre el botón Exportar y elegir la opción Script del menú popup. Elegir el evento clicked en la parte superior izquierda de la ventana del editor y escribir el siguiente programa: //--Evento clicked--- //--cb_exportar integer i_tab i_tab = tab_actualizaciones.selectedtab //la función SelectedTab retorna el número del tabpage seleccionado. CHOOSE CASE i_tab CASE 1 //el tabpage seleccionado es el 1 (empleados) tab_actualizaciones.tabpage_empleados.dw_act_empleados.saveas("",excel!, TRUE) //la función SaveAs permite guardar los datos que están en un datawindow //en diferentes formatos de archivo. Esta función utiliza el cuadro de //diálogo "guardar archivo" y permite al usuario elegir el formato al que //desea exportar los datos. En este caso el formato por defecto es el de //la hoja de cálculo EXCEL CASE 2 //el tabpage seleccionado es el 2 (actividades) tab_actualizaciones.tabpage_actividades.dw_act_actividades.saveas("",excel!, TRUE) CASE 3 //el tabpage seleccionado es el 3 (departamentos) tab_actualizaciones.tabpage_departamentos.dw_act_departamentos.saveas("", EXCEL!, TRUE) CASE 4 //el tabpage seleccionado es el 4 (niveles) tab_actualizaciones.tabpage_niveles.dw_act_niveles.saveas("", EXCEL!, TRUE) END CHOOSE Página 44 de 45

46 43.8. De manera similar, agregar un botón adicional para cerrar la ventana de actualizaciones (w_actualizaciones) Properties Name cb_cancelar Properties Text Cancelar OK El script para el evento clicked de este botón es: Close (parent) 44. Crear una ventana como la siguiente: Explorador En esta ventana se utilizará un nuevo control: TreeView. El TreeView es un control que permite desplegar información jerarquicamente. Cada item en un TreeView consiste de texto y una imagen, los cuales pueden ser manipulados durante una rutina de programa. El aspecto de la ventana será similar al siguiente: Como puede verse, este TreeView tendrá cuatro niveles. El primer nivel solo constará de un ítem con el texto empresa. Los ítems del segundo nivel corresponden a los departamentos de la empresa, el tercero a los empleados de cada departamento, y el cuarto a las actividades asignadas a los empleados En la barra de herramientas: File New Object Window Con el botón derecho sobre la nueva ventana, modificar las propiedades de la ventana vista de Properties : Window Type Popup. Las opciones Resizable y Maximize Box no deberán seleccionarse Insertar un control TreeView en la ventana y darle el tamaño adecuado. Seleccionar el control insertado y hacer click con el botón derecho del mouse sobre él. En la barra de herramientas: Desplegar controles y seleccionar: Treeview En el menu Insert FControl Treeview Name tv_depto_empleado Seleccionar la opción Lines at Root Indent 10 Página 45 de 46

47 OK Insertar los demás controles en la ventana (como lo muestra la figura) Tres botones: Expandir Todo (cb_expandir), Contraer todo (cb_contraer), Cerrar (cb_cerrar) Guardar el trabajo: File Save. El nombre de la nueva ventana será w_explorador Modificar la opción actualizar del menú, para que se abra la nueva ventana: En la barra de herramientas abrir el menu principal: Open Object Type:Menu FSeleccionar menu principal (p.ej. m_entrenamiento) OK Agregar la opción Explorar en el menú Personal Click derecho con el ratón sobre el treeview y seleccionar la opción Script Escribir open(w_explorador) Guardar las modificaciones hechas al menú Correr la aplicación y probar el funcionamiento del menú y la nueva ventana Crear un DataWindow Object en el que se relacionen el nombre de los departamentos. (se usa el botón DataWindow de la barra de herramientas PowerBar) En la barra de herramientas New DataWindow: Tabular Data Source SQL Select Next En la ventana Select Tables seleccionar la tabla departamento FOpen Seleccionar las columnas código de departamento y nombre de departamento. Pasar a diseño de salida o vista de diseño: Return Seleccionar colores y bordes Aceptar selecciones Finalizar Colocar los encabezados apropiados. File Save. En la ventana Save DataWindow: Name: d_depto OK Cerrar la ventana de edición del DataWindow Crear un DataWindow Object en el que se relacionen el nombre de los empleados de un departamento determinado. (se puede usar uno de los ya existentes si cumple con esta condición). En la barra de herramientas New DataWindow: Tabular Data Source SQL Select Next En la ventana Select Tables seleccionar la tabla empleado FOpen Seleccionar las columnas código de empleado, apellido y nombre de empleado. Pasar a diseño de salida o vista de diseño: Return Seleccionar colores y bordes Aceptar selecciones Finalizar Colocar los encabezados apropiados. En el menú Design elegir la opción Retrieval Arguments... En la ventana Specify Retrieval Arguments: name dept_id, type number OK Oprimir el Tab "Where" en la parte inferior de la pantalla: Column "empleado"."dept_id" (Al hacer click en el espacio en blanco se puede elegir la columna deseada) Operator = (Al hacer click en el espacio en blanco se puede elegir el operador deseado) Value : Hacer click con el boton derecho sobre el espacio en blanco, elegir arguments en el menú popup, y luego elegir :dept_id, que es el mismo argumento que se definión en Retrieva Arguments. Pasar a diseño de salida: En la barra de herramientas es el ícono que dice "SQL" File Save. En la ventana Save DataWindow: Name: d_empleados_por_depto OK Cerrar la ventana de edición del DataWindow Crear un DataWindow Object en el que se puedan almacenar las actividades de un empleado dado. (se puede usar uno de los ya existentes si cumple con esta condición) En la barra de herramientas New DataWindow: Tabular Data Source SQL Select Next En la ventana Select Tables seleccionar la tabla actividad y la tabla empleado Open Página 46 de 47

48 Seleccionar las columnas código de empleado (de la tabla empleado), y descripción de la actividad (de la tabla actividad). En el menú Design elegir la opción Retrieval Arguments... En la ventana Specify Retrieval Arguments: name emp_id (código del empleado), type number OK Oprimir el Tab "Where" en la parte inferior de la pantalla: Column "empleado"."emp_id" (Al hacer click en el espacio en blanco se puede elegir la columna deseada) Operator = (Al hacer click en el espacio en blanco se puede elegir el operador deseado) Value : Hacer click con el boton derecho sobre el espacio en blanco, elegir arguments en el menú popup, y luego elegir :emp_id, que es el mismo argumento que se definión en Retrieva Arguments Pasar a diseño de salida: En la barra de herramientas es el ícono que dice "SQL" File Save. En la ventana Save DataWindow: Name: d_activ_por_empleado OK Cerrar la ventana de edición del DataWindow Guardar el trabajo adelantado hasta el momento File Save Declaración de variable de instancia ids_datos En la vista de Scipt del treeview desplegar la lista de objetos y seleccionar (Declare) y aparecerá al lado derecho Instance Variables. Escribir: datastore ids_datos[4]. OK La variable ids_datos es un array de cuatro posiciones de tipo DataStore, en el que se almacenarán los datos de cada nivel del TreeView. Estos datos se obtendrán de los DataWindow creados en y Crear las Funciones: lf_agregar_items lf_config_item Función lf_agregar_items En la vista de Scipt del treeview desplegar la lista de objetos y seleccionar (Functions) Aparecerá debajo un espacio como el que se muestra en la figura para que sea declarada la función y las variables respectivas. La nueva función tiene las siguientes especificaciones: Name lf_agregar_items Access Public Return Integer Arguments: Name al_parent, Ttype Long, Pass By Value Oprimir Add Name ai_nivel, Type Integer, Pass By Value Oprimir Add Nam ai_filas, Type Integer, Pass By Value Colocar el siguiente código para esta función: ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Función para agregar los items al TreeView usando los datos en el // DataStore // Los argumentos de la función son: // - long al_parent // - integer ai_nivel (el nivel en el que se agregarán los items) // - integer ai_filas (el número de items que se agregarán) ////////////////////////////////////////////////////////////////////////////////////////////////////////////// Integer li_cont Página 47 de 48

49 //se declara un objeto TreeViewItem para manipular los valores del item //que se agregará TreeViewItem ltvi_nuevo // Se agrega cada item For li_cont = 1 To ai_filas // Se llama a la función lf_config_item para asignar los valores //del nuevo item a partir de los datos almacenados en el //DataStore lf_config_item(ai_nivel, li_cont, ltvi_nuevo) // Se agrega el item después del último hijo If tv_depto_empleado.insertitemlast(al_parent, ltvi_nuevo) < 1 Then // Si hay Error MessageBox("Error", "Error al insertar item", & Exclamation!) Return -1 End If Next Return ai_filas Cerrar la ventana del editor y guardar el trabajo adelantado Nota: Si se quieren modificar los argumentos de una función ya declarada, se debe en la vista de Script desplegar la lista de objetos, elegir el objeto function y escoger la función a modificar Función lf_config_item En la vista de Scipt del treeview desplegar la lista de objetos y seleccionar (Functions) Aparecerá debajo un espacio (como el que se mostró en la figura) para que sea declarada la función y las variables respectivas. La nueva función tiene las siguientes especificaciones: Name lf_config_item Access Public Return (None) Arguments: Name ai_nivel, Type Integer, Pass By Value Oprimir Add Name ai_fila, Type Integer, Pass By Value Oprimir Add Name atvi_nuevo, Type TreeViewItem, Pass By Reference OK El código para esta función es el siguiente: //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // Se configuran los atributos para el nuevo item a partir de los datos // en el DataStore. // Los atributos de TreeViewItem que se usan son: // Label (el texto que se despliega en el TreeView) // Data (es la información que contiene dicho item) // Los argumentos de esta función son: // integer ai_nivel = el nivel del TreeViewItem en el TreeView // integer ai_fila = # de la fila del DataStore de la que se obtendrá // la información // atvi_nuevo = TreeViewItem que se agrega al TreeView. Los valores de // sus atributos. (Label y Data) son los que se determinan a // continuación // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Choose Case ai_nivel Case 1 // El único item de primer nivel tiene como Label la Página 48 de 49

50 // palabra "empresa", en este caso no se usa niungún // DataStore atvi_nuevo.label = "Empresa" atvi_nuevo.data = "Empresa" Case 2 // Label = nombre del departamento // Data = codigo de departamento atvi_nuevo.label= ids_datos[2].object.dept_nombre[ai_fila] atvi_nuevo.data = ids_datos[2].object.dept_id[ai_fila] Case 3 // Label = apellido + nombre del departamento // Data = codigo de empleado atvi_nuevo.label = ids_datos[3].object.emp_apellido[ai_fila]& + ", " + ids_datos[3].object.emp_nombre[ai_fila] atvi_nuevo.data = ids_datos[3].object.emp_id[ai_fila] Case 4 // Label = descripción de la actividad // Data = código del empleado atvi_nuevo.label = ids_datos[4].object.actividad_act_descripcion[ai_fila] atvi_nuevo.data = ids_datos[4].object.empleado_emp_id[ai_fila] End Choose If ai_nivel < 4 Then atvi_nuevo.children = True Else // Si el nivel es 4 (actividades) los items no tienen hijos) atvi_nuevo.children = False End If atvi_nuevo.pictureindex = ai_nivel atvi_nuevo.selectedpictureindex = ai_nivel Guardar el trabajo adelantado Escribir los scripts para los controles creados En la ventana w_explorador: Hacer click con el botón derecho sobre la ventana y seleccionar la opción script en el menú popup. En el editor, seleccionar el evento open del listbox de la parte superior izquierda de la ventana. El siguiente es el código para dicho evento: ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Se crean los DataStore que contendrán los // // datos almacenados en los datawindows espacificados // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //d_depto se hace mediante un select a la tabla departamento. //En este datawindow se almacena la lista de los departamentos //de la empresa. Estos datos aparecerán en el segundo nivel //del treeview. ids_datos[2] = Create DataStore ids_datos[2].dataobject = "d_depto" ids_datos[2].settransobject(sqlca) //d_empleados_por_depto contiene los empleados que trabajan en un //departamento. Para esto, se debe escoger la columna código //de departamento (dept_id) como argumento de recuperación (retrieval //arguments) //Los datos aquí recuperados serán los del tercer nivel del treeview ids_datos[3] = Create DataStore ids_datos[3].dataobject = "d_empleados_por_depto" ids_datos[3].settransobject(sqlca) Página 49 de 50

51 //d_activ_por_empleado contiene las actividades asignadas a un //empleado. De forma similar, el retrieval argument para este //datawindow es la columna código de empleado (emp_id) //Los datos aquí recuperados serán los del cuarto nivel del treeview ids_datos[4] = Create DataStore ids_datos[4].dataobject = "d_activ_por_empleado" ids_datos[4].settransobject(sqlca) //Se agrega el primer item (el único) del primer nivel del treeview. //Los parámetros que se pasan son: parent = 0, nivel = 1, filas = 1 lf_agregar_items(0, 1, 1) Compilar el script: en el menú Edit Compile Script (Ctrl+L). Seleccionar el evento close. El script para este evento es: Evento: close Control: w_explorador Integer li_cont // Se destruyen los DataStores usados en el ejemplo For li_cont = 1 To 4 Destroy ids_datos[li_cont] Next Show(w_principal) Compilar el script (Ctrl + L) En el TreeView tv_depto_empleado: Hacer click con el botón derecho sobre el TreeView y seleccionar la opción script en el menú popup. En el editor, seleccionar el evento itempopulate. El siguiente es el código para dicho evento: Evento: itempopulate Control: tv_depto_empleado ///////////////////////////////////////////////////////////////////////////////////////////////////////////// // Se expande el árbol con los hijos de cada item. // p.ej. los hijos de un item de departamento son los nombres de los // empleados ///////////////////////////////////////////////////////////////////////////////////////////////////////////// Integer li_nivel, li_parametro, li_deptid, li_empid, li_filas // Se declara un TreeViewItem para el item actual TreeViewItem ltvi_actual SetPointer(HourGlass!) // Se determina el nivel del item que se encuentra seleccionado // actualmente en el TreeView GetItem(handle, ltvi_actual) li_nivel = ltvi_actual.level + 1 // Departamentos if li_nivel = 2 then ids_datos[li_nivel].settransobject(sqlca) ids_datos[li_nivel].reset() ids_datos[li_nivel].settransobject(sqlca) // Se cargan los datos en el DataStore li_filas = ids_datos[li_nivel].retrieve() End if // Empleados X Departamento if li_nivel = 3 Then li_deptid = Integer(ltvi_actual.Data) ids_datos[li_nivel].reset() ids_datos[li_nivel].settransobject(sqlca) // Se cargan los datos en el DataStore usando el argumento código de //departamento Página 50 de 51

52 End if li_filas = ids_datos[li_nivel].retrieve(li_deptid) // Actividades X Empleado If li_nivel = 4 Then li_empid = Integer(ltvi_actual.Data) ids_datos[li_nivel].reset() ids_datos[li_nivel].settransobject(sqlca) // Se cargan los datos en el DataStore usando el argumento código // de empleado li_filas = ids_datos[li_nivel].retrieve(li_empid) End If lf_agregar_items(handle, li_nivel, li_filas) Compilar el script (Ctrl + L) y cerrar la ventana del editor En el botón Expandir Todo (cb_expandir): Hacer click con el botón derecho sobre cb_expandir y seleccionar la opción script en el menú popup. En el editor, seleccionar el evento clicked. El siguiente es el código para dicho evento: Evento: clicked Control: cb_expandir Long ll_handle ll_handle = tv_depto_empleado.finditem ( RootTreeItem!, 0 ) tv_depto_empleado.expandall ( ll_handle ) Compilar el script: en el menú Edit Compile Script (Ctrl+L) En el botón Contraer Todo (cb_contraer): Hacer click con el botón derecho sobre cb_contraer y seleccionar la opción script en el menú popup. En el editor, seleccionar el evento clicked. El siguiente es el código para dicho evento: Evento: clicked Control: cb_contraer Long ll_handle ll_handle = tv_depto_empleado.finditem ( RootTreeItem!, 0 ) tv_depto_empleado.collapseitem ( ll_handle ). Compilar el script: en el menú Edit Compile Script (Ctrl+L). Cerrar la ventana del editor Para el botón Cerrar (cb_cerrar) Evento: clicked Control: cb_cerrar close(w_explorador) Compilar el script: en el menú Edit Compile Script (Ctrl+L) Guardar el trabajo adelantado y correr la aplicación para comprobar el funcionamiento del TreeView. 45. Modificar la ventana creada en el paso 40 de la siguiente forma: Página 51 de 52

53 Explorador El control que se añadirá se denomina ListView. Un ListView muestra información en forma de lista al usuario. Cada ítem del ListView consiste de texto y un dibujo. En este caso, el ListView mostrará los ítems del nivel inferior al que se encuentre seleccionado en el árbol. Los botones Lista, Detalles e Iconos Grandes, cambian la forma de presentación de los ítems en el ListView. Cuando el usuario haga doble click sobre uno de los ítems del ListView, se desplegarán los ítems del nivel inferior, y se expandirá la porción correspondiente en el árbol. Los ítems se ordenarán de acuerdo cuando el usuario oprima las cabeceras de las columnas, de forma similar a como ocurre, por ejemplo, en el explorador de windows Insertar un control ListView en la ventana y darle el tamaño adecuado. Seleccionar el nuevo control y hacer click con el botón derecho del mouse sobre él. Con las siguientes especificaciones: Name lv_dept_empleados Seleccionar la opción Show header View Report (Detalles) Sort Unsorted OK Insertar los demás controles en la ventana (como lo muestra la figura) Tres botones: Lista (cb_lista), Detalles (cb_detalles), Iconos Grandes (cb_grandes) Guardar el trabajo adelantado: File Save Declaración de variable de instancia ii_columnas En la vista de Scipt del treeview desplegar la lista de objetos y seleccionar (Declare) y aparecerá al lado derecho Instance Variables. Escribir: integer ii_columnsas. OK La variable ii_columnas es un entero que se utilizará para contar el número de columnas que se agregan al ListView dependiendo del nivel actual del árbol Crear las Funciones lf_agregar_items y lf_config_item De ahora en adelante se utilizarán los DataWindow y DataStore creados durante el paso 40 en los nuevos scripts. (ids_datos[], d_depto, d_empleados_por_depto y d_activ_por_empleado) Función wf_agregar_lv_items En la vista de Scipt del treeview desplegar la lista de objetos y seleccionar (Functions) Página 52 de 53

COMPONENTES DE UNA APLICACIÓN POWERBUILDER.

COMPONENTES DE UNA APLICACIÓN POWERBUILDER. ENTRENAMIENTO EN POWER BUILDER Ing. Ismael Castañeda Fuentes Departamento de Ingenieía de Sistemas UNIVERSIDAD NACIONAL DE COLOMBIA Bogotá, Diciembre de 2000 ENTRENAMIENTO EN POWER BUILDER PowerBuilder

Más detalles

En esta ventana se utilizará un nuevo control (TabControl), y el DropDown DataWindow.

En esta ventana se utilizará un nuevo control (TabControl), y el DropDown DataWindow. 40. Crear una ventana como la siguiente: En esta ventana se utilizará un nuevo control (TabControl), y el DropDown DataWindow. El Drop Down DataWindow es útil en caso de que se requiera hacer referencia

Más detalles

Las Ventanas son como contenedores, es posible poner en ellos una diversidad de objetos. Estos

Las Ventanas son como contenedores, es posible poner en ellos una diversidad de objetos. Estos VENTANAS (WINDOWS) Las Ventanas son como contenedores, es posible poner en ellos una diversidad de objetos. Estos objetos se denominan en forma genérica Las Formas Windows (ventanas) dan una interfase

Más detalles

Powerbuilder posee tres niveles de jerarquía en sus objetos, los cuales conoceremos antes de llevar a cabo nuestros objetos.

Powerbuilder posee tres niveles de jerarquía en sus objetos, los cuales conoceremos antes de llevar a cabo nuestros objetos. Entorno Powerbuilder Niveles de Jerarquía para la creación de aplicaciones: Powerbuilder posee tres niveles de jerarquía en sus objetos, los cuales conoceremos antes de llevar a cabo nuestros objetos.

Más detalles

Introducción a los controles más usuales de Visual Basic 6.0

Introducción a los controles más usuales de Visual Basic 6.0 Introducción a los controles más usuales de 3.1 Los controles más usuales en Los controles más usuales son aquellos que usamos con mayor frecuencia al momento de crear una aplicación. Estos controles son

Más detalles

- Power Builder - Conexión ODBC DataWindows

- Power Builder - Conexión ODBC DataWindows - Power Builder - Conexión ODBC DataWindows Luis D. García Mayo de 2006 Data WIndows Script de Apertura Opening Script: es aquel que ha de ejecutar la aplicación en sí, y a partir del cual se establece

Más detalles

DDBUILDER MANUAL DEL USUARIO

DDBUILDER MANUAL DEL USUARIO DDBUILDER MANUAL DEL USUARIO Página Qué es DDBuilder? 102 Creando Un Nuevo Diccionario de Datos 103 El Archivo de Configuración CONFIG.TPM 103 El archivo SQL.INI 104 La Interface de DDBuilder 105 Barra

Más detalles

GUÍA DE LABORATORIO N o 3

GUÍA DE LABORATORIO N o 3 Universidad Simón Bolívar Sistemas de Información III - PS6117 LABORATORIO GUÍA DE LABORATORIO N o 3 Abril 96: Abril 98: Septiembre 2000 Realizada por: Actualizada por: Actualizada por: A.D. A. Borges

Más detalles

Bases de Datos SEGURIDAD E INTEGRIDAD EN BASES DE DATOS. Ejemplo del Lado del servidor

Bases de Datos SEGURIDAD E INTEGRIDAD EN BASES DE DATOS. Ejemplo del Lado del servidor Bases de Datos SEGURIDAD E INTEGRIDAD EN BASES DE DATOS Ejemplo del Lado del servidor Aplicación de conceptos: Se hizo referencia a los elementos que poseen los Sistemas de Gestión de Bases de Datos (SGBD)

Más detalles

myapplicationgenerator

myapplicationgenerator myapplicationgenerator http://www.myappgen.com info@ myappgen.com copyright Carlos Leggio Seguridad de las Aplicaciones En los desarrollos de aplicaciones empresariales actuales el tema de seguridad está

Más detalles

UNIVERSIDAD NACIONAL DE COLOMBIA SEDE DE MEDELLÍN. FACULTAD NACIONAL DE MINAS Escuela de Sistemas

UNIVERSIDAD NACIONAL DE COLOMBIA SEDE DE MEDELLÍN. FACULTAD NACIONAL DE MINAS Escuela de Sistemas UNIVERSIDAD NACIONAL DE COLOMBIA SEDE DE MEDELLÍN FACULTAD NACIONAL DE MINAS Escuela de Sistemas OBJETIVOS: General: Estudiar y utilizar los elementos del entorno de trabajo Visual Basic for Applications

Más detalles

C APÍTULO 23 Procedimientos Básicos con Bases de Datos

C APÍTULO 23 Procedimientos Básicos con Bases de Datos C APÍTULO 23 Procedimientos Básicos con Bases de Datos En este capítulo conocerá: Principios para el desarrollo de base de datos Creación y modificación de tablas Manejo de datos en las tablas Creación

Más detalles

GUÍA DEL USUARIO DE SOFTWARE

GUÍA DEL USUARIO DE SOFTWARE GUÍA DEL USUARIO DE SOFTWARE Serie RJ El contenido de esta guía y las especificaciones de este producto pueden cambiar sin notificación. Brother se reserva el derecho de modificar sin previo aviso las

Más detalles

EMPEZAR A UTILIZAR LA BASE DE DATOS (archivo fichero en Filemaker Pro 5)

EMPEZAR A UTILIZAR LA BASE DE DATOS (archivo fichero en Filemaker Pro 5) Dra. Laura González Flores Posgrado en Historia del Arte, FFyL Abril 2006 Taller Aplicaciones de las bases de datos a investigación: fichas bibliográficas y de notas EMPEZAR A UTILIZAR LA BASE DE DATOS

Más detalles

Conociendo el ambiente de programación de Java. M. en C. Erika Vilches

Conociendo el ambiente de programación de Java. M. en C. Erika Vilches Conociendo el ambiente de programación de Java M. en C. Erika Vilches La variable PATH Una vez que se ha aceptado la licencia del JDK y que se ha instalado satisfactoriamente y antes de poder utilizarlo,

Más detalles

Guía rápida de instalación / actualización (versión 20120510) Roadnet Transportation Suite Versiones 3.40 / 3.50

Guía rápida de instalación / actualización (versión 20120510) Roadnet Transportation Suite Versiones 3.40 / 3.50 1 Guía rápida de instalación / actualización (versión 20120510) Roadnet Transportation Suite Versiones 3.40 / 3.50 Contenido Previo a la instalación / actualización... 2 Pasos para descargar instaladores...

Más detalles

DOCUMENTACIÓN DE POWER BUILDER 11. CONSULTA DINAMICA Las consultas dinámicas se realizan cuando power builder no soporta una consulta SQL.

DOCUMENTACIÓN DE POWER BUILDER 11. CONSULTA DINAMICA Las consultas dinámicas se realizan cuando power builder no soporta una consulta SQL. DOCUMENTACIÓN DE POWER BUILDER 11 CONSULTA DINAMICA Las consultas dinámicas se realizan cuando power builder no soporta una consulta SQL. //realizamos una consulta dinamica DECLARE cargar DYNAMIC CURSOR

Más detalles

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK. Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de

Más detalles

INTRODUCCION A POWER POINT

INTRODUCCION A POWER POINT Universidad de Puerto Rico Recinto Universitario de Mayagüez Centro de Cómputos INTRODUCCION A POWER POINT Por: Lilliam I. Lugo Ramírez e Isabel Ríos López Unidad de Servicios al Usuario I. Introducción

Más detalles

Gestión Documental ERP

Gestión Documental ERP N. Documento Revisión Nº: 1.0 Fecha: 30/03/11 Introducción 1 Configuración de la Gestión Documental ERP 2 Funcionamiento de la Gestión Documental ERP 6 ÍNDICE Introducción El programa Ahora permite una

Más detalles

Creación de interfaces de

Creación de interfaces de Creación de interfaces de usuario con MATLAB Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Aprender a crear interfaces de usuario

Más detalles

WordPad es un procesador de textos que permite crear e imprimir documentos de manera muy rápida y sencilla.

WordPad es un procesador de textos que permite crear e imprimir documentos de manera muy rápida y sencilla. Aplicación WordPad Generalidades WordPad es un procesador de textos que permite crear e imprimir documentos de manera muy rápida y sencilla. En Wordpad se puede escribir, editar y dar formato a un texto,

Más detalles

Introducción Cómo usar este libro 1. Instalación Introducción Consideraciones previas Formatos de distribución Versiones de Visual Basic 4.

Introducción Cómo usar este libro 1. Instalación Introducción Consideraciones previas Formatos de distribución Versiones de Visual Basic 4. Introducción Cómo usar este libro 1. Instalación Introducción Consideraciones previas Formatos de distribución Versiones de Visual Basic 4.0 Requerimientos de Visual Basic 4.0 Instalación de Visual Basic

Más detalles

En Wordpad se puede escribir, editar y dar formato a un texto, así como insertar imágenes de forma sencilla, etc.

En Wordpad se puede escribir, editar y dar formato a un texto, así como insertar imágenes de forma sencilla, etc. Aplicación WordPad Generalidades WordPad es un procesador de textos que permite crear e imprimir documentos de manera muy rápida y sencilla. En Wordpad se puede escribir, editar y dar formato a un texto,

Más detalles

Curso de Visual Basic 6.0 - Lección 1 Area Interactiva - www.areaint.com. www.areaint.com CURSO DE. Visual Basic 6.0 WWW.AREAINT.

Curso de Visual Basic 6.0 - Lección 1 Area Interactiva - www.areaint.com. www.areaint.com CURSO DE. Visual Basic 6.0 WWW.AREAINT. www.areaint.com CURSO DE Visual Basic 6.0 Pág. 1 LECCIÓN 1 En esta lección de introducción aprenderemos las principales características de un lenguaje de programación para crear aplicaciones bajo Windows.

Más detalles

I N T R O D U C C I Ó N A L P O W E R B U I L D E R ISTPAV

I N T R O D U C C I Ó N A L P O W E R B U I L D E R ISTPAV CAPÍTULO 1 I N T R O D U C C I Ó N A L P O W E R B U I L D E R Definicion De Nuevas Tecnologìa De De Power Builder Power Builder es un software de Aplicación que se utiliza para desarrollar aplicaciones

Más detalles

Cómo abrir las bases de datos de Aspel-NOI 5.0?

Cómo abrir las bases de datos de Aspel-NOI 5.0? Cómo abrir las bases de datos de Aspel-NOI 5.0? 1. Herramientas de administración nativas de Firebird. Firebird cuenta con una herramienta llamada ISQL la cual es una consola de línea de comandos desde

Más detalles

Pasos para crear un sitio web ASP.Net con el Visual Studio en cualquiera de sus versiones. Unidad 1. Conceptos [ASP.NET EN VISUAL STUDIO]

Pasos para crear un sitio web ASP.Net con el Visual Studio en cualquiera de sus versiones. Unidad 1. Conceptos [ASP.NET EN VISUAL STUDIO] Pasos para crear un sitio web ASP.Net con el Visual Studio en cualquiera de sus versiones Conceptos Lo primero que necesitamos para crear una aplicación o proyecto web es seleccionar el entorno del Visual

Más detalles

Universidad de Puerto Rico Recinto Universitario de Mayagüez Decanato de Asuntos Académicos. Centro de Cómputos WINDOWS 95

Universidad de Puerto Rico Recinto Universitario de Mayagüez Decanato de Asuntos Académicos. Centro de Cómputos WINDOWS 95 Universidad de Puerto Rico Recinto Universitario de Mayagüez Decanato de Asuntos Académicos Centro de Cómputos WINDOWS 95 Por: Reinaldo López y Lisette Lugo Unidad de Servicios al Usuario Windows 95 Bienvenido

Más detalles

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION CICLO 01-2015 UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION GUIA DE LABORATORIO Nº 2 Nombre de la practica: Exploración básica en SQL Server Management Studio Lugar de

Más detalles

Lenguaje de Programación I I. OBJETIVOS II. INTRODUCCION TEORICA

Lenguaje de Programación I I. OBJETIVOS II. INTRODUCCION TEORICA CICLO 03/ 2015 UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS Escuela de Computacion Nombre de la Practica: Lugar de Ejecución: Tiempo Estimado: Materia: GUIA DE LABORATORIO #12 Creación de Reportes

Más detalles

MANUAL DE USO AUTORUN PRO ENTERPRISE V. 12

MANUAL DE USO AUTORUN PRO ENTERPRISE V. 12 MANUAL DE USO Autorun Pro Enterprise es una herramienta que permite crear menús de inicio interactivos para CD y DVD que se ejecutarán tras insertar un disco en el lector. Etiquetas, enlaces, botones,

Más detalles

Desarrollo de aplicaciones web con WL Workshop

Desarrollo de aplicaciones web con WL Workshop CC5604 Desarrollo de aplicaciones empresariales con J2EE Guía de Trabajo Desarrollo de aplicaciones web con WL Workshop 1 Objetivos El objetivo de esta guía de trabajo es permitirle adquirir una experiencia

Más detalles

FASES DE LA IMPLEMENTACIÓN DEL APLICATIVO CAPITULO VI MAURICIO O. VILLARREAL GER 118

FASES DE LA IMPLEMENTACIÓN DEL APLICATIVO CAPITULO VI MAURICIO O. VILLARREAL GER 118 CAPITULO VI MAURICIO O. VILLARREAL GER 118 Para la realización del aplicativo fue necesario una minuciosa investigación sobre el manejo y configuración de las herramientas de software que se utilizaron

Más detalles

Microsoft Access proporciona dos métodos para crear una Base de datos.

Microsoft Access proporciona dos métodos para crear una Base de datos. Operaciones básicas con Base de datos Crear una Base de datos Microsoft Access proporciona dos métodos para crear una Base de datos. Se puede crear una base de datos en blanco y agregarle más tarde las

Más detalles

Oracle ADF: Introducción a Business Components

Oracle ADF: Introducción a Business Components Oracle ADF: Introducción a Business Components Contenido Introducción... 4 ADF Business Components... 4 Entity Objects... 4 View Objects... 4 Applicacion Modules... 5 Trabajo con Business Components...

Más detalles

Manual de Operación del Software Didáctico

Manual de Operación del Software Didáctico Manual de Operación del Software Didáctico Manual de Operación del Software Didáctico Manual de Operación del Software Introducción I Comenzar el Programa Presione Click en el botón de Comenzar en Windows,

Más detalles

Para la ClassPad 300. ClassPad Manager. (ProgramLink) Versión limitada. Guía del usuario. http://world.casio.com/edu_e/ RJA510188-4

Para la ClassPad 300. ClassPad Manager. (ProgramLink) Versión limitada. Guía del usuario. http://world.casio.com/edu_e/ RJA510188-4 Para la ClassPad 300 S ClassPad Manager (ProgramLink) Versión limitada Guía del usuario RJA510188-4 http://world.casio.com/edu_e/ Nota Los ejemplos de visualización mostrados en esta guía del usuario son

Más detalles

GUÍA RÁPIDA DE INICO DE IGSS FREE50

GUÍA RÁPIDA DE INICO DE IGSS FREE50 INDUSTRIAL AUTOMATION Interactive Graphical SCADA System INSIGHT AND OVERVIEW GUÍA RÁPIDA DE INICO DE IGSS FREE50 Page 1 of 27 Guía Rápida de Inicio de IGSS FREE50 Introducción El propósito de esta guía

Más detalles

Operación Microsoft Windows XP

Operación Microsoft Windows XP 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 en

Más detalles

Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse

Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse Objetivos Integrar un toolchain basado en PTXdist sobre un IDE gráfico basado en Eclipse. Creación y compilación de un pequeño proyecto.

Más detalles

Operación Microsoft Windows XP

Operación Microsoft Windows XP El ambiente de trabajo Descripción del ambiente de trabajo Luego de encendida la computadora, la pantalla se presenta de la forma que lo muestra la figura. El ambiente de trabajo que proporciona el sistema

Más detalles

Millennium MANUAL DE USUARIO

Millennium MANUAL DE USUARIO Millennium MANUAL DE USUARIO Indice Manual de Usuario SOR Trader Workstation Diapositiva Conexión a la Plataforma Descarga e Instalación del Forticlient 4 Qué hacer si no puedo acceder a la conexión VPN?

Más detalles

Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse

Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse Objetivos Integrar un toolchain basado en PTXdist sobre un IDE gráfico basado en Eclipse. Creación y compilación de un pequeño proyecto.

Más detalles

APLICACIÓN COMPRAS EN SQLSERVER 2000

APLICACIÓN COMPRAS EN SQLSERVER 2000 APLICACIÓN COMPRAS EN SQLSERVER 2000 (Libro de apoyo: Iniciación a las bases de datos con Access 2002. Eduardo Mora, Marta Zorrilla, Joaquín Díaz de Entresotos. Díaz de Santos, 2003) A continuación se

Más detalles

Cómo abrir la base de datos de Aspel-SAE 5.0?

Cómo abrir la base de datos de Aspel-SAE 5.0? Cómo abrir la base de datos de Aspel-SAE 5.0? 1 Herramientas de administración nativas de Firebird. Firebird cuenta con una herramienta llamada ISQL la cual es una consola de línea de comandos desde la

Más detalles

Tutorial Oracle SQL Developer 1.2.1

Tutorial Oracle SQL Developer 1.2.1 Tutorial Oracle SQL Developer 1.2.1 Departamento de Informática Índice Í0. Introducción...3 1. Conexión y desconexión de la base de datos...3 2. Ejecución de sentencias SQL...4 3. Creación de tablas...6

Más detalles

Teknoda - Notas técnicas Tips de AS400 iseries System i Tip Nro. 42

Teknoda - Notas técnicas Tips de AS400 iseries System i Tip Nro. 42 http://www.teknodatips.com.ar Teknoda - Notas técnicas Tips de AS400 iseries System i Tip Nro. 42 (Lo nuevo, lo escondido, o simplemente lo de siempre pero bien explicado) Notas técnicas de AS/400" se

Más detalles

MANUAL DE AYUDA INFORMATIVAS WINDOWS

MANUAL DE AYUDA INFORMATIVAS WINDOWS MANUAL DE AYUDA INFORMATIVAS WINDOWS Agencia Tributaria CENTRO DE ATENCIÓN TELEFÓNICA DEPARTAMENTO DE INFORMÁTICA TRIBUTARIA ÍNDICE PLATAFORMA DE INFORMATIVAS INTRODUCCIÓN... 4 Requisitos mínimos... 4

Más detalles

Cómo abrir las bases de datos en Aspel-COI 6.0?

Cómo abrir las bases de datos en Aspel-COI 6.0? Cómo abrir las bases de datos en Aspel-COI 6.0? 1. Herramientas de administración nativas de Firebird. Firebird cuenta con una herramienta llamada ISQL la cual es una consola de línea de comandos desde

Más detalles

Manual del usuario y de referencia

Manual del usuario y de referencia Manual del usuario y de referencia Manual del usuario y referencia de Todos los derechos reservados. Ningún fragmento de esta publicación podrá ser reproducido de manera alguna (ya sea de forma gráfica,

Más detalles

Tutorial para el uso e instalación del Servicio de Reportes SQL Server

Tutorial para el uso e instalación del Servicio de Reportes SQL Server Tutorial para el uso e instalación del Servicio de Reportes SQL Server 1. Instalación de la aplicación ReportBuilder SQL Server incluye la aplicación para generar informes una vez instalada la base de

Más detalles

TUTORIAL DATA WAREHOUSE: OLAP - Analysis Services

TUTORIAL DATA WAREHOUSE: OLAP - Analysis Services TUTORIAL DATA WAREHOUSE: OLAP - Analysis Services Este documento consta de: Descripción general del Tutorial Prerrequisitos Pasos generales a seguir Pasos específicos a seguir Anexo I - Almacenamiento

Más detalles

De uno a uno : Ejemplo de una llave primaria a otra llave primaria De uno a muchos : Ejemplo de una llave primaria a una Regular o Foránea.

De uno a uno : Ejemplo de una llave primaria a otra llave primaria De uno a muchos : Ejemplo de una llave primaria a una Regular o Foránea. Curso de Visual Foxpro - Volumen II ( Creación de la Base de Datos) Las relaciones mas comunes entre tablas se definen : De uno a uno : Ejemplo de una llave primaria a otra llave primaria De uno a muchos

Más detalles

Documento en blanco, el cual permite al seleccionarlo y pulsando el botón

Documento en blanco, el cual permite al seleccionarlo y pulsando el botón Acceder a un nuevo documento Manejo de documentos y de archivos Cuando se inicia Word, aparecerá en pantalla un documento nuevo (en blanco) que por defecto se llama Documento1. Para crear un documento

Más detalles

MANUAL DE USUARIO CONTABILIDAD ELECTRÓNICA FACTURADOR ELECTRÓNICO

MANUAL DE USUARIO CONTABILIDAD ELECTRÓNICA FACTURADOR ELECTRÓNICO MANUAL DE USUARIO CONTABILIDAD ELECTRÓNICA FACTURADOR ELECTRÓNICO Índice 1. Catálogo de cuentas 1.1 Acceder al catálogo de cuentas 1.2 Crear cuenta de mayor Figura 1.2.2 Barra de tipos de cuentas, el tipo

Más detalles

RUEDA TORRES DULCE CAROLINA 3CM2. MySQL CON NET BEANS PRÁCTICA 8

RUEDA TORRES DULCE CAROLINA 3CM2. MySQL CON NET BEANS PRÁCTICA 8 3CM2 MySQL CON NET BEANS PRÁCTICA 8 27 DE MARZO DE 2012 DESAROLLO I. Configurar las propiedades del Servidor MySQL. 1. Se asume que se encuentra instalado MySQL. 2. Abrir el IDE NetBeans. En el repositorio

Más detalles

MANUAL DE USUARIO SOFTWARE PRETIMBRADO FEDERACION COLOMBIANA DE GOLF

MANUAL DE USUARIO SOFTWARE PRETIMBRADO FEDERACION COLOMBIANA DE GOLF MANUAL DE USUARIO SOFTWARE PRETIMBRADO FEDERACION COLOMBIANA DE GOLF Federación Colombiana de Golf Página 1 Índice INTRODUCCION. PAG 3 ESPECIFICACIONES TÉCNICAS... PAG 4 CARACTERÍSTICAS DEL APLICATIVO...

Más detalles

Colegio Bilingüe New Horizons - Santiago Repaso de Informática 3er Grado 2do Cuatrimestre 2007-2008 Profesora: Ing. Arlín Abreu Morales EL TECLADO

Colegio Bilingüe New Horizons - Santiago Repaso de Informática 3er Grado 2do Cuatrimestre 2007-2008 Profesora: Ing. Arlín Abreu Morales EL TECLADO Colegio Bilingüe New Horizons - Santiago Repaso de Informática 3er Grado 2do Cuatrimestre 2007-2008 Profesora: Ing. Arlín Abreu Morales EL TECLADO - El teclado es un dispositivo periférico de hardware

Más detalles

Programación 2 Curso 2013 2014. Guía de desarrollo C/C++ con Eclipse

Programación 2 Curso 2013 2014. Guía de desarrollo C/C++ con Eclipse Programación 2 Curso 2013 2014 Introducción Guía de desarrollo C/C++ con Eclipse Eclipse 1 es un entorno de programación que permite el desarrollo de aplicaciones en diferentes lenguajes. Consta de un

Más detalles

Generación y uso de Reportes

Generación y uso de Reportes How to Generación y uso de Reportes Versión: 2.0 Fecha de publicación 13-04-2011 Aplica a: Q-flow 3.0 y Q-flow 3.1 Índice Introducción... 3 Definición de la información... 3 Crear un reporte básico...

Más detalles

WINDOWS. Iniciando Windows. El mouse

WINDOWS. Iniciando Windows. El mouse Windows es un sistema operativo, cuyo nombre lo debe al principal elemento de trabajo, la ventana - en inglés window -. Este tiene características como: Multitarea: durante una sesión de trabajo, es posible

Más detalles

MANUAL DE LA APLICACIÓN HELP DESK

MANUAL DE LA APLICACIÓN HELP DESK CASAMOTOR MANUAL DE LA APLICACIÓN HELP DESK Desarrollado por: NOVIEMBRE, 2012 BOGOTÁ D.C. - COLOMBIA INTRODUCCIÓN Este documento es el manual de la aplicación de Help Desk de Casamotor, producto desarrollado

Más detalles

Conociendo ILWIS. 1.- Ventana principal. Objetivo Conocer las características generales del software ILWIS.

Conociendo ILWIS. 1.- Ventana principal. Objetivo Conocer las características generales del software ILWIS. Conociendo ILWIS Introducción ILWIS o Sistema de Información Integral de Tierra y Agua (Integrated Land and Water Information System en inglés) es un Sistema de Información Geográfica (SIG) y software

Más detalles

IMPLEMENTANDO UNA BASE DE DATOS INDEPENDIENTE EN SQL SERVER 2014

IMPLEMENTANDO UNA BASE DE DATOS INDEPENDIENTE EN SQL SERVER 2014 IMPLEMENTANDO UNA BASE DE DATOS INDEPENDIENTE EN SQL SERVER 2014 FUNCIONAMIENTO BASE DE DATOS STANDARD O DEPENDIENTE Tareas 1. Iniciando la máquina Virtual 2. Revisando las instancias SQL 3. Revisar la

Más detalles

MANUAL DE AYUDA INFORMATIVAS WINDOWS

MANUAL DE AYUDA INFORMATIVAS WINDOWS MANUAL DE AYUDA INFORMATIVAS WINDOWS Agencia Tributaria CENTRO DE ATENCIÓN TELEFÓNICA DEPARTAMENTO DE INFORMÁTICA TRIBUTARIA ÍNDICE PLATAFORMA DE INFORMATIVAS INTRODUCCIÓN... 4 Requisitos mínimos... 4

Más detalles

COLEGIO DE BACHILLERES ELABORADO POR: ING. IVETT ZARZA HIDALGO Y LIC. CLAUDIA HERNÀNDEZ ALPÍZAR PROFA. DE INFORMATICA Y DE CECAT-INFORMATICA

COLEGIO DE BACHILLERES ELABORADO POR: ING. IVETT ZARZA HIDALGO Y LIC. CLAUDIA HERNÀNDEZ ALPÍZAR PROFA. DE INFORMATICA Y DE CECAT-INFORMATICA Visual Basic.NET es la última versión del sistema de desarrollo Visual Basic. Antes de empezar a crear aplicaciones en Visual Basic.NET, le será útil conocer y entender algunos conceptos básicos de.net.

Más detalles

Manual de Uso e Instalación Heidi SQL

Manual de Uso e Instalación Heidi SQL Manual de Uso e Instalación Heidi SQL Qué es Heidi SQL? MySQL es una de las bases de datos relacionales más utilizadas en Internet. Potente, rápida y con poco gasto de recursos, esta herramienta, que se

Más detalles

Manual de creación de Interfaces de Usuario en Netbeans

Manual de creación de Interfaces de Usuario en Netbeans Three Headed Monkey Manual de creación de Interfaces de Usuario en Versión 2.0 Jesús Omar Álvarez Márquez Miércoles, 14 de Abril de Contenido Introducción... 2 Propósito del documento... 2 Programas necesarios...

Más detalles

MANUAL DE AYUDA INFORMATIVAS MAC/OSX

MANUAL DE AYUDA INFORMATIVAS MAC/OSX MANUAL DE AYUDA INFORMATIVAS MAC/OSX Agencia Tributaria CENTRO DE ATENCIÓN TELEFÓNICA DEPARTAMENTO DE INFORMÁTICA TRIBUTARIA ÍNDICE PLATAFORMA DE INFORMATIVAS INTRODUCCIÓN... 4 Requisitos mínimos... 4

Más detalles

INSTITUTO SUPERIOR TECNOLÓGICO NORBERT WIENER

INSTITUTO SUPERIOR TECNOLÓGICO NORBERT WIENER INSTITUTO SUPERIOR TECNOLÓGICO NORBERT WIENER ASIGNATURA: Lenguaje de Programación IV (Power Builder I) PROGRAMA: S3C Lima-Perú 2 *Semana # 1 Introducción Power Builder es una herramienta de desarrollo

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

Introducción: Los Mapas Conceptuales

Introducción: Los Mapas Conceptuales Introducción: Los Mapas Conceptuales Este Tutorial tiene por objetivo Facilitar el uso de la herramienta CmapsTools para realizar mapas conceptuales. Un mapa conceptual puede ser definido como un instrumento,

Más detalles

Prácticas de Windows XP

Prácticas de Windows XP Prácticas de Windows XP 1. Iniciar sesión, cerrar sesión, cambiar de usuario y apagar el equipo Conceptos a recordar: Iniciar sesión, cerrar sesión, cambiar de usuario, apagar el equipo, reiniciar, hacer

Más detalles

MANUAL DE ADMINISTRACION DEL PLUGIN QGISSQL

MANUAL DE ADMINISTRACION DEL PLUGIN QGISSQL MANUAL DE ADMINISTRACION DEL PLUGIN QGISSQL Guía para los administradores de sistemas Suizo para el RIC de Guatemala Julio 2001 MANUAL DE ADMINISTRACIÓN DEL PLUGIN QGISSQL INTRODUCCIÓN Viendo las necesidades

Más detalles

Introducción... 2 Método de Instalación... 2 A tener en cuenta... 2 Lector de Código de Barra... 2 Visor de Cliente... 2 Revisar configuración de

Introducción... 2 Método de Instalación... 2 A tener en cuenta... 2 Lector de Código de Barra... 2 Visor de Cliente... 2 Revisar configuración de Introducción... 2 Método de Instalación.... 2 A tener en cuenta.... 2 Lector de Código de Barra... 2 Visor de Cliente... 2 Revisar configuración de Windows:... 2 Modificar la configuración de Windows (Opcional)....

Más detalles

Microsoft Excel 2010 Básico

Microsoft Excel 2010 Básico Microsoft Excel 2010 Básico Consejo de la Judicatura Federal Elaboró: Contenido INTRODUCCIÓN... 1 Inicio de Microsoft Excel 2010... 1 Conceptos básicos... 2 Ventana de Microsoft Excel... 3 Ficha Archivo...

Más detalles

MANUAL DE USUARIO INTRODUCCION

MANUAL DE USUARIO INTRODUCCION MANUAL DE USUARIO INTRODUCCION El presente documento está dirigido al personal de servicio de bodega con la finalidad de orientar acerca de los pasos a seguir para hacer uso del Sistema Administrador de

Más detalles

SPEECHMIKE TM 2.2 MANUAL DEL SOFTWARE PHI

SPEECHMIKE TM 2.2 MANUAL DEL SOFTWARE PHI SPEECHMIKE TM 2.2 MANUAL DEL SOFTWARE PHI SpeechMike Manual del software 2 COPYRIGHT 1997-2002 Philips Speech Processing. Todos los derechos reservados. La reproducción total o parcial está prohibida sin

Más detalles

GUÍA PARA LA INSTALACIÓN DE NÓMINA 2.0

GUÍA PARA LA INSTALACIÓN DE NÓMINA 2.0 1 GUÍA PARA LA INSTALACIÓN DE NÓMINA 2.0 Antes de instalar Nómina 2.0, verifique si se cumplen todos los Pre-requisitos de: Versiones de Windows Recomendadas: Internet Information Server (IIS) FrameWork

Más detalles

El EID (Entorno Integrado de Desarrollo) de Visual Basic 6.0

El EID (Entorno Integrado de Desarrollo) de Visual Basic 6.0 2.1 Qué es Visual Basic? Visual Basic es un lenguaje de programación orientado a objetos creado por la Microsoft. Este lenguaje incorpora todas las herramientas necesarias para la creación de cualquier

Más detalles

Páginas web ::: Cómo diseñar un menú de navegación? Diseño de materiales multimedia. Web 2.0. 1.14 Cómo diseñar un menú de navegación?

Páginas web ::: Cómo diseñar un menú de navegación? Diseño de materiales multimedia. Web 2.0. 1.14 Cómo diseñar un menú de navegación? 111 1.14 Cómo diseñar un menú de navegación? 112 1.14 Cómo diseñar un menú de navegación? En este apartado vamos a describir el procedimiento de creación de un menú de navegación para un sitio web con

Más detalles

MultiBase Cosmos. Notas a la versión 4.4. BASE 100, S.A. www.base100.com

MultiBase Cosmos. Notas a la versión 4.4. BASE 100, S.A. www.base100.com MultiBase Cosmos Notas a la versión 4.4 BASE 100, S.A. www.base100.com Índice IMPLEMENTACIONES... 3 MÉTODOS DE LA CLASE SIMPLECONTROL... 4 MÉTODOS DE LA API PRNPAG32.DLL... 4 GENERADOR DE LISTADOS... 5

Más detalles

Laboratorio 02. Conexión Power Builder SQL Server 2008

Laboratorio 02. Conexión Power Builder SQL Server 2008 Laboratorio 02 CREACION DE UN PROYECTO DE ACCESO A BASE DE DATOS DESDE Power Builder 11.5 hacia SQL SERVER 2008 OBJETIVOS: Creación de una Base de Datos en SQL Server 2005 Conocer los pasos para crear

Más detalles

PARA LA INSTALACIÓN DE SQL SERVER Para la instalación de SQL Server se deben cumplir los siguientes requerimientos de hardware y software: Hardware

PARA LA INSTALACIÓN DE SQL SERVER Para la instalación de SQL Server se deben cumplir los siguientes requerimientos de hardware y software: Hardware REQUISITOS PARA LA INSTALACIÓN DEL SISTEMA DE INFORMACIÓN GERENCIAL DE LOS CENTROS DE REHABILITACIÓN MEDICA INNFA Para proceder a la instalación del sistema se deben cumplir ciertos requisitos que se obtienen

Más detalles

Inn2 Tecnologías Ltda.

Inn2 Tecnologías Ltda. Manual de uso: ECLIPSE DASQLs Conectividad de OPC DA a SQL Server Versión 1.4 Inn2 Tecnologías Web: www.inn2.cl Mail: info@inn2.cl 2009 - Inn2 Tecnologías Eclipse DASQLs V. 1.4 mail: info@inn2.cl 1 1.-

Más detalles

LA INFORMÁTICA EN EL AULA

LA INFORMÁTICA EN EL AULA EL EXPLORADOR DE WINDOWS El Explorador de Windows nos permite acceder a los recursos de nuestra PC y del sistema de red si es que estamos conectados. Desde él podemos ejecutar aplicaciones, manejar archivos

Más detalles

Infocentro para el fortalecimiento de la red de micro y pequeñas empresas de la comuna de Ancud MANUAL DE ACCESS ILUSTRE MUNICIPALIDAD DE ANCUD

Infocentro para el fortalecimiento de la red de micro y pequeñas empresas de la comuna de Ancud MANUAL DE ACCESS ILUSTRE MUNICIPALIDAD DE ANCUD Infocentro para el fortalecimiento de la red de micro y pequeñas empresas de la comuna de Ancud MANUAL DE ACCESS ILUSTRE MUNICIPALIDAD DE ANCUD DIRECCIÓN DE DESARROLLO ECONOMICO Y FOMENTO PRODUCTIVO OPTIMICE

Más detalles

Software Factories para construir Sistemas de Información con GeneXus

Software Factories para construir Sistemas de Información con GeneXus Instituto de Computación Facultad de Ingeniería Universidad de la República Software Factories para construir Sistemas de Información con GeneXus - - 27 de agosto de 2007 Autor: Nicolás Castagnet Tutor:

Más detalles

AcuBench Ambiente Integrado de Desarrollo

AcuBench Ambiente Integrado de Desarrollo AcuBench Ambiente Integrado de Desarrollo RESUMEN EJECUTIVO El ambiente de desarrollo integrado (IDE) de AcuBench ofrece una interface gráfica a todas las herramientas del sistema de desarrollo ACUCOBOL-GT,

Más detalles

Manual del Curso ACCESS XP PARA DOCENTES

Manual del Curso ACCESS XP PARA DOCENTES Manual del Curso ACCESS XP PARA DOCENTES ÍNDICE DE CONTENIDOS CAPÍTULO 1: INTRODUCCIÓN 1.1 QUÉ ES LA INFORMACIÓN?...1 1.2 QUÉ ES UNA BASE DE DATOS?...1 1.3 QUÉ ES UNA BASE DE DATOS RELACIONAL?...1 1.4

Más detalles

TUTORIAL DATA WAREHOUSE SQL Server: ETL Parte 1

TUTORIAL DATA WAREHOUSE SQL Server: ETL Parte 1 TUTORIAL DATA WAREHOUSE SQL Server: ETL Parte 1 Este documento consta de: Descripción general del Tutorial Prerrequisitos Pasos generales a seguir Pasos específicos a seguir Anexo I Instalación de Microsoft

Más detalles

REQUISITOS DEL SISTEMA. Software Servidor. Cliente. Hardware Servidor. Cliente

REQUISITOS DEL SISTEMA. Software Servidor. Cliente. Hardware Servidor. Cliente MANUAL TECNICO INSTALACIÓN Y CONFIGURACIÓN DEL SISTEMA AARON A QUIEN VA DIRIGIDO El siguiente manual está dirigido al administrador encargado de la instalación y configuración del Sistema AARON. PRÓLOGO

Más detalles

CREACIÓN DEL PRIMER PROYECTO EN mikrobasic PRO for AVR

CREACIÓN DEL PRIMER PROYECTO EN mikrobasic PRO for AVR CREACIÓN DEL PRIMER PROYECTO EN mikrobasic PRO for AVR 2 Proyecto mikrobasic PRO for AVR organiza aplicaciones en los proyectos que consisten en un solo fichero de proyecto (fichero con extensión.mbpav)

Más detalles

Manual de Instalación del sistema administrativo PremiumSoft Extended 7

Manual de Instalación del sistema administrativo PremiumSoft Extended 7 1 P á g i n a M a n u a l d e I n s t a l a c i ó n d e l s i s t e m a a d m i n i s t r a t i v o Manual de Instalación del sistema administrativo PremiumSoft Extended 7 X Realizado por: Enrique Tancredi

Más detalles

Desarrollo de Sistemas de Gestión

Desarrollo de Sistemas de Gestión Curso de Programación (Power Builder) Desarrollo de Manual Instructivo Setiembre, 2011 Asunción - Paraguay Prog. Rodrigo Velázquez 1 www.nativos.com.py Introducción Prog. Orientada a Objetos: La programación

Más detalles

2_dar formato al texto / documentos I

2_dar formato al texto / documentos I Es posible ejecutar el comando tantas veces como copias se desee hacer, ya que tras pegar el texto, una copia del mismo sigue en el Portapapeles. Se dispone de varios caminos para llegar a estas opciones:

Más detalles

INDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25.

INDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25. INDICE Programación Introducción 706 Capitulo 21 BASIC 711 Introducción 711 Sintaxis 713 Procedimientos y control de flujo 713 Tipos de datos 714 Disponibilidad y variantes del dialecto 714 Capitulo 22.

Más detalles

MANUAL DE IMPLEMENTACIÓN DEL SISTEMA CRM PARA LA UGC DE LA CNEL REGIONAL MANABÍ

MANUAL DE IMPLEMENTACIÓN DEL SISTEMA CRM PARA LA UGC DE LA CNEL REGIONAL MANABÍ MANUAL DE IMPLEMENTACIÓN DEL SISTEMA CRM PARA LA UGC DE LA CNEL REGIONAL MANABÍ Elaborado por: Juliana Lopez Luis Ulloa Fecha de Publicación: 08/09/2010 Versión: 1.0.1 1 Tabla de Contenido Consideraciones

Más detalles

Base de Datos Compras

Base de Datos Compras Dpto. de Matemática Aplicada y Ciencias de la Computación Base de Datos Compras Diseño. Creación de las tablas y sus relaciones. Creación de Formularios. Creación de un Informe Area de Ciencias de la Computación

Más detalles