tesis de grado - repositorio universidad de guayaquil...

383
I UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES INTERFACES GRÁFICAS PARA DESARROLLO DE APLICACIONES JAVA EN BLACKBERRY, COMPLEJIDAD DEL DESARROLLO Y PROPUESTA DE AMBIENTE DE DESARROLLO GRÁFICO . TESIS DE GRADO Previa a la obtención del Título de: INGENIERO EN SISTEMAS COMPUTACIONALES HÉCTOR WILLIAM PILLIGUA ROBALINO TUTOR: DAVID BENAVIDES GUAYAQUIL ECUADOR 2013

Upload: phungnga

Post on 20-Oct-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

I

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

INTERFACES GRÁFICAS PARA DESARROLLO DE APLICACIONES JAVA

EN BLACKBERRY, COMPLEJIDAD DEL DESARROLLO Y

PROPUESTA DE AMBIENTE DE DESARROLLO

GRÁFICO

.

TESIS DE GRADO

Previa a la obtención del Título de:

INGENIERO EN SISTEMAS COMPUTACIONALES

HÉCTOR WILLIAM PILLIGUA ROBALINO

TUTOR: DAVID BENAVIDES

GUAYAQUIL – ECUADOR

2013

Page 2: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

II

REPOSITORIO NACIONAL EN CIENCIAS Y TECNOLOGÍA

FICHA DE REGISTRO DE TESIS

TÍTULO “interfaces gráficas para desarrollo de aplicaciones java en BlackBerry, complejidad del desarrollo y

propuesta de ambiente de desarrollo grafico.”

REVISORES:

INSTITUCIÓN: Universidad de Guayaquil FACULTAD: Ciencias Matemáticas y Físicas

CARRERA: Ingeniería en sistemas computacionales

FECHA DE PUBLICACIÓN: Noviembre del 2013 N° DE PÁGS.: 183

ÁREA TEMÁTICA: Desarrollo Windows

PALABRAS CLAVES: desarrollo móvil, complejidad de desarrollo , lenguaje java, IDE gráfico, optimización de programación

RESUMEN: Para el desarrollo de aplicaciones móviles se generó la aplicación que facilita una interface gráfica que permitirá

manipular los diferentes elementos de la aplicación móvil y facilitando el desarrollo de los mismos, permite generar una solución

que se importa en el ambiente de eclipse, y una vez en este ambiente se facilita la publicación.

N° DE REGISTRO(en base de datos): N° DE CLASIFICACIÓN:

DIRECCIÓN URL (tesis en la web):

ADJUNTO PDF

SI X

NO

CONTACTO CON AUTOR: Teléfono:

0997450851

E-mail:

[email protected]

CONTACTO DE LA INSTITUCIÓN Nombre:

Teléfono:

Page 3: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

III

APROBACIÓN DEL TUTOR

En mi calidad de Tutor De la tesis, “Interfaces Gráficas para Desarrollo de

Aplicaciones Java en BlackBerry, Complejidad del Desarrollo y Propuesta de

Ambiente de Desarrollo Grafico“, elaborado por el Sr. Héctor William Pilligua

Robalino, egresado de la Carrera de Ingeniería en Sistemas Computacionales,

Facultad de Ciencias Matemáticas y Físicas de la Universidad de Guayaquil,

previo a la obtención del Título de Ingeniero en Sistemas, me permito declarar

que luego de haber orientado, estudiado y revisado, la apruebo en todas sus partes.

Atentamente

………………………………….

Ing. David Benavides

TUTOR

Page 4: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

IV

CERTIFICACIÓN DE GRAMATÓLOGO

Quien suscribe el presente certificado, se permite informar que después de haber

leído y revisado gramaticalmente el contenido de la tesis de grado de: Héctor

William Pilligua Robalino. Cuyo tema es: Interfaces gráficas para desarrollo de

aplicaciones java en BlackBerry, complejidad del desarrollo y propuesta de

ambiente de desarrollo gráfico.

Certifico que es un trabajo de acuerdo a las normas morfológicas, sintácticas y

simétricas vigentes.

ATENTAMENTE,

NOMBRE DEL GRAMATÓLOGO

# LICENCIA

Page 5: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

V

DEDICATORIA

El presente trabajo lo dedico a todas las personas que han hecho posible que se

pueda realizar así como a todos lo que han estado conmigo de manera directa e

indirecta. A mi madre que me brindaba su paciencia, en especial a mi hermano

que me dio el impulso necesario para poder meterme en la carrera de ingeniería

en sistemas, de no haber sido por el ahora no sé dónde me encontraría ni qué

tipo de amistades tendría.

Héctor William Pilligua Robalino

Page 6: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

VI

AGRADECIMIENTO

Se agradece el presente a mi familia que sin el apoyo de ellos no hubiera

sido posible el culminar mi carrera profesional, en especial a todas esas

personas que se han hecho mis amistades, sin el consejo de ellos no

hubiera seguido esta carrera, porque aquí se me ha presentado problemas

personales pero ellos y ellas siempre estaban ahí para darme ánimos y

fuerzas

Héctor William Pilligua Robalino

Page 7: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

VII

TRIBUNAL DE GRADO

Ing. Fernando Abad Montero Ing. Juan Chanabá Alcócer

DECANO DE LA FACULTAD DIRECTOR

CIENCIAS MATEMÁTICAS Y FÍSICAS

Ing. David Benavides Ing. Miguel Molina Calderón

TUTOR Miembro de tribunal

TRIBUNAL

Ing. Héctor Lara Gavilanes Ing. Israel Ortega Oyala

Miembro de tribunal Miembro de Tribunal

AB. Juan Chávez A.

SECRETARIO

Page 8: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

VIII

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS

COMPUTACIONALES

INTERFACES GRÁFICAS PARA DESARROLLO DE APLICACIONES

JAVA EN BLACKBERRY, COMPLEJIDAD DEL DESARROLLO Y

PROPUESTA DE AMBIENTE DE DESARROLLO

GRAFICO

.

Proyecto de trabajo de grado que se presenta como requisito para optar por el

título de INGENIERO en SISTEMAS COMPUTACIONALES

.

Autor: Héctor William Pilligua Robalino

C.I. 092261482-1

Tutor: Ing. David Benavides.

Guayaquil, Noviembre de 2013

Page 9: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

IX

CERTIFICADO DE ACEPTACIÓN DEL TUTOR

En mi calidad de Tutor del Primer Curso de Fin de Carrera, nombrado por el

Departamento de Graduación y la Dirección de la Carrera de Ingeniería en

Sistemas Computacionales de la Universidad de Guayaquil,

CERTIFICO:

Que he analizado el Proyecto de Grado presentado por el egresado Héctor

William Pilligua Robalino, como requisito previo para optar por el título de

Ingeniero cuyo problema es:

¿Cómo favorecer el desarrollo de aplicaciones para dispositivos BlackBerry

proponiendo un ambiente de desarrollo grafico?, Considero aprobado el trabajo en

su totalidad.

Presentado por:

Héctor William Pilligua Robalino . ___092261482-1_____

Apellidos y Nombres completos Cédula de ciudadanía N°

Tutor Ing.: David Benavides

Guayaquil, Noviembre de 2013

Page 10: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

X

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS

COMPUTACIONALES

Autorización para Publicación de Tesis en Formato Digital

1. Identificación de la Tesis Nombre Alumno: Héctor William Pilligua Robalino

Dirección: Oriente entre la 12 y la 13 pasando el puente de la A

Teléfono: 0997450851 E-mail:

[email protected]

Facultad: Matemáticas y Físicas

Carrera: Ingeniería en Sistemas Computacionales

Título al que opta: Ingeniería en Sistemas Computacionales

Profesor guía: Ing. David Benavides

Título de la Tesis: Interfaces gráficas para desarrollo de aplicaciones Java en

BlackBerry, complejidad del Desarrollo y propuesta de ambiente de desarrollo

gráfico.

Temas Tesis: Desarrollo de aplicaciones, software, móvil, aplicación Windows

2. Autorización de Publicación de Versión Electrónica de la Tesis

A través de este medio autorizo a la Biblioteca de la Universidad de Guayaquil y a

la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica de

esta tesis.

Publicación electrónica:

Inmediata x Después de 1 año

Firma Alumno:

3. Forma de envío: El texto de la Tesis debe ser enviado en formato Word, como archivo .Doc. o

.RTF y .Pdf para PC. Las imágenes que la acompañen pueden ser: .gif, .jpg o .tiff.

Page 11: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

XI

DVDROM x CDROM

ÍNDICE GENERAL

APROBACIÓN DEL TUTOR III

CERTIFICACIÓN DE GRAMATÓLOGA IV

DEDICATORIA V

AGRADECIMIENTO VI

TRIBUNAL DE GRADO VII

DECLARACIÓN EXPRESA VIII

CERTIFICADO DE ACEPTACIÓN DEL TUTOR X

ÍNDICE GENERAL XI

ÍNDICE DE CUADROS XIII

ÍNDICE DE GRÁFICOS XIV

RESUMEN XVII

ABSTRACT XVIII

INTRODUCCIÓN 1-9

CAPITULO I – EL PROBLEMA 10-31

Ubicación del problema en un contexto 10-13

Situación conflicto 13-14

Causas y consecuencias del problema 7-16

Causas 14-16

Consecuencias 16-17

Delimitación del problema 17

Formulación del problema 17

Evaluación del problema 17-20

Objetivo de la investigación 21-24

Objetivo Generales 21

Objetivos Específicos 21-22

Alcances 22-24

Alcances y limitaciones de la investigación 24-27

Justificación e importancia de la investigación 27-31

CAPITULO II- MARCO TEÓRICO 32-108

Antecedentes del estudio 32-36

Fundamentación teórica 37

Java J2ME 37-38

KVM 38-40

Page 12: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

XII

Connected Limited Device Configuration (CLDC) 40-41

Connected Device Configuration (CDC) 41-42

CVM 42-43

RIM 43-44

NET_RIM_API 44

LENGUAJE DE PROGRAMACION 44-45

Programación Imperativa 44

Lenguaje Imperativo 44

Programación Declarativa 45

LENGUAJE MAQUINA 46

APLICACIONES 46-47

Aplicaciones de Negocio 46

Aplicaciones de Utilería 47

Aplicaciones de entretenimiento 47

INTERFACES GRÁFICAS 47-54

Metáforas 55-60

Java 61

ByteCode 61-65

JRE 65

J2SE 66

J2EE 66-67

J2ME 67-68

JDBC 68-69

JMS 70-79

JavaBeans 80-81

JavaScript 81-82

Servlet 82

PLATAFORMA .NET 83-84

BIBLIOTECAS DE CLASES .NET 84

COM 84

Common Language Runtime (CLR) 84-89

Microsoft Intermediate Language (MSIL) 90-92

Lenguaje de Programación C# 93-95

BLACKBERRY 96-98

Ambiente de Desarrollo Grafico 98

El Estándar de Calidad ISO 9001 99-100

Factores de calidad ISO 9126 100-104

Desarrollo de Widgets para Dispositivos BlackBerry 104

FUNDAMENTACIÓN LEGAL 105-106

Preguntas a Contestarse 106

Variables de la Investigación 106-107

DEFINICIONES CONCEPTUALES 107

CAPÍTULO III – METODOLOGÍA 108-144

Page 13: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

XIII

Diseño de la investigación 109

Modalidad de la investigación 109-110

Población y muestra 110-113

Tamaño de la muestra 113-116

Operacionalización de las variables 116-118

Instrumentos de recolección de datos 119-124

Procedimientos de la Investigación 124-126

Recolección de la Información 126

Procesamiento y análisis 127-139

Criterios para la elaboración de la propuesta 140

Criterios para la validación de la propuesta 140-144

CAPÍTULO IV – MARCO ADMINISTRATIVO 145-147

Cronograma 145-146

Presupuesto 146-147

CAPÍTULO V – CONCLUSIÓN Y RECOMENDACIÓN 148-151

Conclusiones 148-149

Recomendaciones 149-151

BIBLIOGRAFÍA 151-152

ANEXOS

Page 14: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

XIII

ÍNDICE DE CUADROS

Pág.

Cuadro N° 1

Cuadro de Población

111

Cuadro N° 2

Población Aproximada 1

112

Cuadro N° 3

Población Aproximada 2

113

Cuadro N° 4

Población Aproximada 3

114

Cuadro N° 1

Cuadro Población 4

115

Cuadro N° 5

Matriz de operacionalización de variables

117

Cuadro N° 6

Condición del informante

127

Cuadro N° 7

Utiliza Dispositivos BlackBerry

129

Cuadro N° 8

Adaptación a Nuevas Herramientas

130

Cuadro N° 9

Lenguaje de Programación más Utilizados

132

Cuadro N° 10

Desarrollo de Aplicaciones con tecnología J2ME

134

Cuadro N° 11

Conocimiento de Herramientas para Desarrollo de Aplicaciones

para Dispositivos Móviles

135

Cuadro N° 12

Uso de IDE Grafico para Desarrollo de Aplicaciones

136

Cuadro N° 14

Desarrollos Frecuentes de Sistemas Informáticos

137

Cuadro N° 13

Sistemas Operativos Móviles

138

Page 15: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

XIV

Cuadro N° 15

Sistemas Herramientas de Programación más Utilizadas para

Desarrollo de Aplicativos Móviles

139

Cuadro N° 16

Valoración de las Preguntas por los Expertos

143

Cuadro N° 17

Proyección Inicio del Negocio

147

Page 16: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

XV

ÍNDICE DE GRÁFICOS

Pág.

Gráfico N° 1

Java 2 Micro Edition

38

Gráfico Nº 2

Preverificación de Clases en CDLC/KVM.

41

Gráfico N°3

Relaciones APIs de Java.

42

Gráfico Nº 4

Interfaces Graficas.

48

Gráfico Nº 5

Metáfora.

55

Gráfico Nº 6

Aplicaciones.

79

Gráfico Nº 7

Applets.

80

Gráfico Nº 8

JavaBean.

81

Gráfico Nº 9

JavaScritp

82

Gráfico Nº 10

Servlets

82

Gráfico Nº 11

BlackBerry

96

Gráfico Nº 12

Condición del Informante.

127

Gráfico Nº 13

Uso de Dispositivos BlackBerry.

129

Gráfico Nº 14

Adaptación a Nuevas Herramientas.

130

Page 17: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

XVI

Gráfico Nº 15

Lenguaje de Programación más Utilizados.

132

Gráfico Nº 16

Desarrollo de Aplicaciones con tecnología J2ME.

134

Gráfico Nº 17

Conocimiento de Herramientas para Desarrollo de

Aplicaciones para Dispositivos Móviles.

135

Gráfico Nº 18

Uso de IDE para Desarrollo de Aplicaciones.

136

Gráfico Nº 19

Desarrollos Frecuentes de Sistemas Informáticos.

137

Gráfico Nº 20

Sistemas Operativos Móviles.

138

Gráfico Nº 21

Herramientas de Programación más Utilizadas para Desarrollo

de Aplicativos Móviles.

139

Page 18: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

XVII

ANEXOS

Anexo N° 1

FLUJO DE PROCESOS

155

Anexo Nº 2

ENCUESTA PARA SELECCIÓN DE EXPERTOS

156

Anexo N°3

DETERMINACIÓN DEL COEFICIENTE K

158

Anexo Nº 4

ENCUESTA A LOS EXPERTOS SELECCIONADOS

159

Anexo Nº 5

CRITERIOS DE LOS EXPERTOS CONSULTADOS.

MATRIZ DE FRECUENCIAS DE LA ENCUESTA

160

Anexo Nº 6

IMAGEN DE CADA UNO DE LOS VALORES DE LAS

CELDAS DE LA TABLA DE FRECUENCIAS

ACUMULATIVAS RELATIVAS, POR LA INVERSA DE

LA CURVA NORMAL

Tabla 5. IMAGEN DE CADA UNO DE LOS VALORES

161

Anexo Nº 7

.Encuesta

162

Page 19: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

XVIII

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

INTERFACES GRÁFICAS PARA DESARROLLO DE APLICACIONES JAVA

EN BLACKBERRY, COMPLEJIDAD DEL DESARROLLO Y

PROPUESTA DE AMBIENTE DE DESARROLLO

GRÁFICO

.

Autor: Héctor William Pilligua Robalino

Tutor: Ing. David Benavides.

RESUMEN

Para el desarrollo de aplicaciones en dispositivos móviles se deben considerar la

tecnología habida en el dispositivo móvil así como conectividad, funcionalidades,

sistema operativo, servicios y demás, motivo por el cual se centra en el estudio a

los Smartphone de BlackBerry con sistema operativo BlackBerry OS que se

ejecuta bajo el lenguaje nativo de java j2me. El desarrollo de aplicaciones sobre

J2ME se ve truncado por las limitantes que ofrece el dispositivo, así como el poco

conocimiento que se tiene en el desarrollo de estas aplicaciones, los diferentes

objetos que se pueden implementar en una aplicación, los diferentes eventos con

los cuales se pueden interactuar. El producto a entregarse tiene como finalidad

brindar una herramienta de desarrollo amigable para los programadores que vean

afinidad a realizar aplicaciones para dispositivos móviles BlackBerry, y que por

diversos motivos no lo han hecho ya sea como por ejemplo , poco conocimiento

en los objetos de desarrollo para móviles, IDE que brindan solo interacción con el

código fuente y no brindan un entorno amigable que facilite estas aplicaciones, la

tesis actual contara con ayuda para el desarrollo de aplicaciones lo cual reducirá

considerablemente el tiempo de desarrollo así como mejora en la interfaz de

usuario a entregarse a los propietarios de los dispositivos.

Page 20: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

XIX

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

INTERFACES GRÁFICAS PARA DESARROLLO DE APLICACIONES JAVA

EN BLACKBERRY, COMPLEJIDAD DEL DESARROLLO Y

PROPUESTA DE AMBIENTE DE DESARROLLO

GRÁFICO

.

ABSTRACT

For the development of applications for mobile devices technology must be

considered view on the mobile device and connectivity features, operating system

and other services, which is why our study we focus on the BlackBerry

Smartphone with BlackBerry OS operating system that runs on the native

language of java j2me. Application development on J2ME is truncated by the

limitations offered by the device, and the little knowledge we have in the

development of these applications, different objects that can be implemented in an

application, the different events which can interact. The delivered product is

intended to provide a user-friendly development tool for programmers who see

affinity to make BlackBerry applications for mobile devices , and which for

various reasons have not either cause as little knowledge of the development

objects mobile , only IDE that provide interaction with the source code and do not

provide a friendly environment to facilitate these applications , the current project

will feature support for the development of applications which will significantly

reduce development time and improved user interface to surrender to the owners

of the devices.

Page 21: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

XX

ABREVIATURAS

ASP Application Service Providers

CLR Common Language Runtime

MSIL Microsoft Intermediate Language

RIM Research In Motion

RIM Research In Motion

CLR Common Language Runtime

MSIL Microsoft Intermediate Language

CLDC Connected Limited Device Configuration

CDC Connected Device Configuration

KVM Kilobyte Virtual Machine

JNI Java Native interface

CVM Compact Virtual Machine

GUI Graphical User Interface

JVM Máquina Virtual de Java

J2SE Java Platform, Standard Edition o Java SE

J2EE Java Platform, Enterprise Edition o Java EE

J2ME Java 2 Micro Edition

API Interfaces de Programación de Aplicaciones

JDBC Java Data Base Connectivity

RMI Java Remote Method Invocation

JMS Java Message Service

Page 22: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

1

INTRODUCCIÓN

Desde la aparición de la primera generación de computadores en el año 1940, la

programación de sistemas informáticos ha sido de gran importancia, ya que es el

motor de conocimientos para el funcionamiento de las computadoras.

En la década de los 50 aparece el primer programa que se lo considero como

sistema operativo propiamente dicho, esto se presentó como un sistema batch que

permitía el manejo de memoria, procesamiento por lotes y almacenamientos

temporales.

En los años 70 aparecen los sistemas Atlas y OS/360, lo cual dio paso al

conocimiento de Unix, fortaleciendo el desarrollo de sistemas mediante este

sistema. Ya en esta década se hizo la presentación de BDOS y CP/M, lo cual se

los pueden conocer como los primeros sistemas operativos.

En los años 70 hacen su aparición los lenguajes de programación, los cuales

tenemos como prevalencia C++. Eiffel, Haskell y Miranda. En esta época también

se mejora la interacción con los diferentes componentes de red que se comenzaron

a utilizarse en los computadores personales. En el año de 1973 se considera que

hacen su aparición los teléfonos móviles.

Page 23: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

2

En la década de los 80 empezó el auge de los computadores personales, las cuales

ya contaban con un sistema operativo que permitida trabajar con ventanas y

menues,

Con el pasar del tiempos el desarrollo de sistemas computacionales se ha ido

intensificando, lo cual ha dado mejoras en las herramientas de desarrollo,

generando nuevos métodos de trabajos para el desarrollo de sistemas, pasando de

programar en lenguaje de bajo nivel que consistía en el desarrollo de los sistemas

directo en la memoria del equipo usando lenguaje assembler a programar en

lenguajes de alto nivel, como por ejemplo visual estudio que ofrece interfaces de

fácil entendimiento para desarrollos de sistemas computacionales.

Desde la primera generación hacia la actualidad la tecnología ha ido avanzando de

tal manera que ya no se piensa solo en equipos de trabajo estacionarios, sino en

dispositivos móviles, así como por ejemplo tenemos las computadoras portátiles,

los telefónicos, localizadores, asistentes personales, libros digitales, navegadores

web, Smartphone, consolas de videojuegos, entre otros. Esto ha dado lugar a que

el desarrollo de los sistemas también se oriente hacia estos dispositivos,

generando diferentes herramientas de desarrollo de sistemas, dando pasó a

diferentes lenguajes de programación.

El desarrollo de los sistemas informáticos se desarrollaban por líneas de códigos,

lo cual demanda un gran conocimiento del lenguaje que se está utilizando para el

Page 24: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

3

desarrollo de aplicaciones, en vista de esto se desarrollaron herramientas que

facilitan el trabajo a los programadores, ya sea facilitando el desarrollo de las

interfaces de usuarios, así como el brindar ayudas en el desarrollo del código, esto

ha dado la facilidad de que el programador se dedique más a la lógica del

desarrollo y no en el desarrollo de las interfaces.

Con estos avances se ha visto la necesidad de desarrollar los sistemas operativos

para los diferentes equipos móviles, brindando una especie de inteligencia a los

dispositivos creando así los conocidos Smartphone o teléfonos inteligentes, los

cuales facilitan el trabajo a los propietarios, entre los cuales sobresalen, Android,

IOS, JavaRIM, Windows Mobile.

Con la aparición de los equipos móviles, el desarrollo de aplicaciones se centró en

ese nuevo hito, se comenzó como en los equipos de escritorios, desarrollando

programas que se ejecutan directamente en la memoria, con el paso del tiempo y

los avances tecnológicos se han ido implementando nuevos alcances a los equipos

móviles lo cual hacia que su funcionalidad no se limiten a realizar o recibir

llamadas o mensajes de textos o agendas, sino al manejo de imágenes, acceso a

internet, manejo de multimedia, música, radio, entre otras funcionalidades.

En la actualidad el desarrollo de aplicaciones está orientado a equipos

estacionarios y a dispositivos móviles, tomando un notable crecimiento en el

Page 25: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

4

último, debido al desarrollo de la tecnología se ha visto un notable crecimiento en

la conectividad móvil, lo que ha provocado este incremento.

Los primeros pioneros que brindaron un equipo que ofrecía varios procesos en

paralelo y permitir llevar un entorno de oficina móvil fueron BlackBerry con su

sistema operativo java RIM versión 1.4.

El desarrollo de aplicaciones móviles fue evolucionando con el pasar del tiempo,

comenzando por el año 1998 con aplicaciones para los PDA los cuales eran

herméticos y solo desarrollados por los propietarios de la marca, después con el

tiempo se ha ido expandiendo estas aplicaciones llegando a la actualidad a tener

un IDE que se pueden adaptar a diferentes aplicativos que se utilizan para

desarrollo de aplicaciones informáticas así como myeclipse, eclipse, netbeans,

visual estudio y aplicaciones web en general ya que el desarrollo de aplicaciones

web también ha tenido buena acogida entre los diferentes dispositivos móviles sin

considerar el sistema operativo con el cual estén trabajando.

El lenguaje java y su evolución y brinda la facilidad de desarrollar aplicaciones y

poder dejarlos implementados en los diferentes dispositivos habidos hasta la

fecha, esto se debe a que java permite un lenguaje de alto nivel de fácil adaptación

para el desarrollador.

Page 26: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

5

A pesar de los avances en los diferentes lenguajes de programación, el desarrollo

de las aplicaciones para dispositivos móviles no es fácil, sino más bien es

complejo en el desarrollo, más aun cuando se necesitan desarrollar aplicaciones

con interfaces gráficas.

Para el desarrollo de las aplicaciones móviles java en especial para los

dispositivos BlackBerry se han desarrollado sistemas que permite el desarrollo de

estos programas, así como plugins, sin embargo, la complejidad del desarrollo de

las aplicaciones, en especial de las interfaces dificultan el desarrollo de los

mismos, por ello vi la necesidad de crear un sistema permita el desarrollo de las

interfaces gráficas, así como manipular las diferentes propiedades los objetos

contenidos en las interfaces de usuarios de las aplicaciones java, implementando

la acción en el elemento botón para la implementación de acciones, la

implementación de un ambiente gráfico para el desarrollo de las aplicaciones java

RIM para los dispositivos BlackBerry.

La presente tesis tiene como finalidad facilitar el desarrollo de aplicaciones para

dispositivos BlackBerry, brindando una interfaz gráfica que facilite el desarrollo

de las interfaces gráficas para los diferentes aplicativos que se desee crear para el

dispositivo móvil.

Page 27: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

6

Brinda la generación de la solución a ser importada en el aplicativo eclipse, esto

facilita al desarrollador la revisión y generación final del aplicativo a ser

implementado en el dispositivo eclipse.

Permite la modificación del código generado, personalizando la funcionalidad de

la aplicación, cuenta con la funcionalidad de compilación, disminuyendo la

cantidad de errores que se hayan generado por la manipulación de las clases por

parte del desarrollador.

El aplicativo permitirá una mejor comprensión del desarrollo de los programas

para dispositivos BlackBerry, ya que mostrara el código generado de cada control

utilizado en la pantalla que se esté creando.

El módulo de la generación del código java se basa en los diferentes objetos

agregados en la pantalla del móvil, así como las acciones que el usuario haya

ingresado en la acciones de los botones agregados.

El módulo de compilación se encarga de la revisión y compilación del código que

se haya generado en el aplicativo, en el caso de que el código esta correcto se

mostrara una advertencia, en el caso de que el cogido generado o desarrollado

posea algún error se mostrara el error del mismo.

Page 28: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

7

El módulo de generación de solución se encarga de recolectar las clases

generadas, desarrollar los archivos necesarios y copiar los recursos agregados para

la generación de un sistema de archivos que se cargara en el programa de eclipse,

este interpretara el programa generado, así como las clases que se han creado y

dejara todo correcto para la generación del ejecutable.

Las herramientas de desarrollo para incluir en esta aplicación fueron C# para el

entorno de escritorio y el sistema de archivos de Windows para la generación de

la solución a importarse. Considerando estos elementos se ha desarrollado la

presente tesis, la cual está estructurada en cuatro capítulos que se detallan a

continuación.

El primer capítulo trata sobre la ubicación del problema, a través de los

antecedentes, estableciendo de donde se manifiesta el problema, las causas y

consecuencias del mismo, el análisis del objeto de estudio, identificando campo,

área, aspecto y tema, determinando los objetivos específicos y generales.

En el segundo capítulo se fundamentan teóricamente diferentes componentes del

objeto de investigación relacionados con la reserva de boletos de viaje terrestre a

través de las nuevas tecnologías, se plantea las variables, dimensiones,

indicadores, hipótesis que constituyen el problema de la investigación.

En el tercer capítulo explica la metodología utilizada a través de instrumentos de

recolección y análisis de datos, definiendo la población y muestra en que se

Page 29: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

8

realizará la investigación, estableciendo los instrumentos de recolección de los

datos y la técnica que se utilizará.

En el cuarto capítulo presenta el análisis del presupuesto para la implementación

del sistema así como el cronograma de actividades requerido para su completa

funcionalidad.

En el quinto capítulo muestra las conclusiones una vez realizado el análisis, de las

mismas se detallarán las recomendaciones del estudio

Page 30: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

9

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

INTERFACES GRÁFICAS PARA DESARROLLO DE APLICACIONES JAVA

EN BLACKBERRY, COMPLEJIDAD DEL DESARROLLO Y PROPUESTA

DE AMBIENTE DE DESARROLLO GRÁFICO

Tesis de grado que se presenta como requisito para optar por el título de

INGENIERO en SISTEMAS COMPUTACIONES

Autor: Hector William Pilligua Robalino.

C.I.: 0922614821

David Benavides

TUTOR

Guayaquil, Noviembre de 2013

Page 31: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

10

CAPÍTULO I

EL PROBLEMA

PLANTEAMIENTO DEL PROBLEMA

Ubicación del Problema en un Contexto

Para el desarrollo de aplicaciones existen diferentes lenguajes de programación

entre ellos se encuentran ADA, Basic, C, C#, Cobol, Fortran, Java, MatLab, LISP,

Pascal, PHP, Perl, Phyton, Bash Script, JavaScript, ASP, todos estos lenguajes

ofrecen una interacción con el sistema operativo a un alto y un bajo nivel,

mediante líneas de código.

Estas aplicaciones de desarrollaban para equipos estáticos, ya sean estos

computadoras personales o equipos más especializados así como por ejemplos

servidores, en el año 1995 se vio una nueva oportunidad con los dispositivos

móviles, con el pasar de los tiempos ha ido mejorando la tecnología móvil y con

ello los programas que se encontraban en estos dispositivos ha ido progresando,

esto produjo que hayan más requerimientos por parte de los usuarios (dueño de

equipo móvil).

Con la aparición del concepto de oficina móvil, se vio la necesidad de

personalizar las aplicaciones para las diferentes demandas que se presentaban por

partes de los dueños de los equipos, esto fomento en gran cantidad el desarrollo de

aplicaciones por parte de los programadores independientes, así también llevo a

Page 32: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

11

algunas empresas de desarrollo de sistemas a inclinarse por esta tecnología para

poder cubrir estos requerimientos que en su mayoría son de índole

administrativos.

El inconveniente de desarrollar aplicaciones para equipos BlackBerry es que no

hay la suficiente información disponible en las redes sociales, foros, así también

no se encuentran muchos documentos que ayuden en la tarea, y esto complica el

programas las aplicaciones para los equipos BlackBerry.

Una de las herramientas que ofrece el desarrollo de aplicaciones para dispositivos

móviles es Netbeans, que ofrece un entorno tanto gráfico con por líneas de

código, el inconveniente de esta herramienta es que las aplicaciones desarrolladas

en este programa no son totalmente compatibles con lis dispositivos BlackBerry.

Otra herramienta que tenemos y es de mayor uso es eclipse, esta herramienta

cuenta con un plugin que permite crear aplicaciones para los dispositivos

BlackBerry, lo cual permite la total compatibilidad del programa desarrollado con

el dispositivo móvil, esta herramienta no cuenta con una interfaz gráfica que

facilite el desarrollo de las interfaces graficas con el usuario, la ventaja de esta

herramienta es que permite la publicación de las aplicaciones de manera sencilla y

permite la instalación del aplicativo en el mismo dispositivo.

Page 33: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

12

El lenguaje de visual estudio no cuenta con un plugin o alguna librería que

permita el desarrollo de aplicaciones para los dispositivos BlackBerry, esta

herramienta solo permite el desarrollo de las aplicaciones para dispositivos que

cuente con sistemas operativos soportados pos Microsoft, por ejemplo los

dispositivos PDA con sistema operativo Windows Mobile.

En la actualidad no existen programas que permiten crear aplicaciones móviles a

nivel de interfaces de usuarios (front-end) para dispositivos BlackBerry que

utilicen la tecnología de java RIM, las herramientas existentes me permiten

trabajar a nivel de back-end en el cual diseñar la interfaz de usuario se hacer una

labor tediosa, lo cual genera en los clientes una inconformidad por el producto

recibido en la mayoría de las ocasiones, ya que el desarrollo no cumple con las

facilidades solicitadas, a pesar de que netbeans permite desarrollar aplicaciones

para dispositivos móviles y estas son compatibles con los dispositivos

BlackBerry, en su mayoría no son compatibles y al no utilizar objetos propios del

dispositivo móvil, no aprovechan al máximo los recursos del equipo y esto

provoca que sean lentos y fallen en ocasiones.

La tecnología móvil es una nueva área en comparación con las otras tecnologías

existentes motivo por el cual no hay las suficientes herramientas que faciliten su

utilización, de allí que surge lo siguiente.

Page 34: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

13

Variable Independiente:

Interfaces Gráficas para Desarrollo de Aplicaciones Java para BlackBerry

Variables dependientes:

Complejidad del Desarrollo de Aplicaciones Java Móvil .

Implementación de Ambiente de Desarrollo Gráfico para Java Móvil de

BlackBerry

Situación Conflicto Nudos Críticos

En la actualidad hay aplicaciones que permiten crear aplicaciones java para

dispositivos BlackBerry, entre ellas tenemos el programa Research In Motion que

es un editor propio de BlackBerry, este programa permite trabajar con los objetos

de la aplicación para los dispositivos móviles pero no a nivel gráfico sino a nivel

de código. También se tienen los plugin para eclipse que permiten crear

aplicaciones para los dispositivos móviles, con la única restrictiva que no facilita

la manipular de los objetos de las interfaces de usuarios a un nivel visual, solo

permite manipular el desarrollo a nivel de código.

Las empresas de desarrollo de aplicaciones ya no solo se dedican a sistemas para

equipos de cómputos personas, sino que también se dedican al desarrollo de

aplicaciones para dispositivos móviles, lo cual en la mayoría de las veces se cobra

un valor considerable y hay que esperar para verificar si la aplicación se ajusta a

lo que el usuario requiere, la mayoría de las veces cumple pero se malgastan

Page 35: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

14

recursos del dispositivo haciendo la aplicación no satisfactoria en un porcentaje

considerable.

El problema se limita a los desarrolladores de aplicaciones para tecnología java

RIM de BlackBerry, ya que al momento de desarrollar una aplicación, en el caso

de ser un desarrollador junior no tiene el claro conocimiento de los diferentes

objetos que se pueden usar en la interfaces de usuarios, en el caso de tratarse de un

desarrollador sénior o semi-senior se hace complicado el trabajo de crear la

interface de usuario para lo cual debe de pasar varias horas frente al computador

para tener la interface deseada.

En el caso de no tener el diseño deseado la mayoría de los programadores optan

por realizar una nueva hoja de código fuente para no dañar la lógica ingresada y

así tener una interfaz más acorde a lo deseado, esto causa perdida de tiempo en el

desarrollo de un programa.

Causas y Consecuencias del Problema

Causas:

Poco conocimiento de los controles tales como cajas de textos, listas

desplegable, opciones, menús, selecciones complementos, clases,

interface y demás objetos que se aplican en el desarrollo de

aplicaciones móviles java RIM para BlackBerry.

Limitantes de las aplicaciones en los dispositivos BlackBerry.

Page 36: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

15

Pocos conocimientos de los eventos que se ejecutan así como las

condiciones que deben de existir para que se ejecuten los mismos.

Pocas Facilidades en la interacción de los diferentes objetos, interfaces

y clases que se utilizan en el desarrollo de una aplicación java RIM

para BlackBerry.

En la actualidad hay editores de programas para aplicaciones móviles

para los diferentes dispositivos pero para java RIM no se ofrece una

herramienta que me ofrezca facilidades (interfaz gráfica) el desarrollo

de sistemas.

Poca ayuda en internet para solución de problemas que se presenten en

el desarrollo de aplicaciones java RIM así como información de los

diferentes objetos que se apliquen en el desarrollo de los aplicativos

móviles.

Las nuevas versiones de sistema operativo BlackBerry SO permiten

mejores utilidades a aplicaciones desarrolladas para aplicaciones javas

RIM para BlackBerry.

Los programas son empaquetados y no pueden verse el código fuente

para su análisis.

Los cursos que se brindan para el desarrollo de aplicaciones son

esporádicos y no se tiene la información deseada en los mismos para el

desarrollo de aplicaciones java RIM para BlackBerry.

Multifuncionalidades que brindan los diferentes dispositivos móviles

para la ejecución de los programas java desarrollados.

Page 37: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

16

Consecuencias:

Poca facilidad al entender la lógica de programación por el

desconocimiento de los objetos implicados en el desarrollo de las

aplicaciones java RIM para BlackBerry.

Se tiene un desconocimiento de los alcances del sistema que se puede

crear.

No se tiene una visión clara de los eventos que se pueden ejecutar a

nivel de cada elemento.

Al no tener el conocimiento de todos los objetos que ofrece en la

plataforma, no se tiene la idea de la interacción entre los diferentes

elementos.

Interfaces de desarrollo java que tienen la limitante de no contar con

interfaces para implementación de interfaces de usuarios de una

manera amigable.

Al ser una tecnología nueva no se tiene suficientes conocimientos o

foros en donde se pueda obtener información para poder realizar

aplicaciones java RIM.

El ser una nueva tecnología o ambiente de desarrollo no se ha

explotado en su totalidad las capacidades.

Los códigos de aplicaciones hechos no se puede visualizar por algún

programa de extracción de código desde los ejecutables, por ello no se

tiene el conocimiento de cómo actúan las aplicaciones ya realizadas.

Page 38: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

17

En la actualidad son muy pocos las instituciones que brindan cursos

para desarrollo de aplicaciones y cuando estas se dan son para

diferentes dispositivos o en su defecto tienen un valor exagerado y por

ello la mayoría de las veces no se puede acceder a estos cursos.

Debido a que hay diferente gama de productos BlackBerry, la

complejidad para realizar estas aplicaciones confunden al

desarrollador.

Delimitación del Problema

Campo: Desarrollo de aplicaciones.

Área: Tecnología Móvil

Aspecto: Complejidad de desarrollo de aplicaciones para

tecnología móvil.

Tema: Interfaces gráficas para desarrollo de aplicaciones java en

BlackBerry, complejidad del desarrollo y propuesta de

ambiente de desarrollo gráfico.

Formulación de Problema.

Considerando los fundamentos planteados anteriormente se ha definido el

siguiente problema

¿Cómo reducir la complejidad de desarrollo de aplicaciones móviles para equipos

BlackBerry con tecnología RIM?

Page 39: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

18

Evaluación del Problema

Actualmente al desarrollar una aplicación para java RIM solo se lo puede hacer

digitando líneas de código aun así solo tengamos que realizar una ventana de

muestra. Motivo por el cual se propone un aplicativo que me permita de una

manera dinámica, agradable y amigable desarrollar programas que se utilizara en

una aplicación java RIM para dispositivos móviles de BlackBerry.

Delimitado: Actualmente existen herramientas para el desarrollo de aplicaciones

java RIM para BlackBerry, entre estas tenemos las herramientas de java Research

In Motion, Plug-in para Eclipse Galileo, ambos programas solo brindan la una

interface en la que se debe ingresar líneas de código para el desarrollo del

programa, por lo cual no se tiene una visión del front-end, para ver estas

aplicaciones el GUI que se ofrecerá al usuario se debe ejecutar el código fuente y

ver la ejecución, esta acción provoca de retardos en el tiempo de entrega del

producto final.

Claro: El desarrollo de aplicaciones java RIM para BlackBerry difiere

considerablemente de los MDIlet (lenguaje de programación java para

dispositivos móviles) que se crean para los dispositivos móviles, esto implica que

el desarrollo de aplicaciones para el sistema operativo BlackBerry SO se haga de

una manera diferente donde las aplicaciones MDIlet no son suficientes para

cumplir con una tarea asignada o para realizar el uso correcto del dispositivo

Page 40: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

19

Relevante: En lo que se refiere a dispositivos inteligente en la actualidad

predominan los sistemas operativos Android, IPHONESO, BlackBerry SO y

otros, motivo por el cual el desarrollo de aplicaciones para estos Sistemas

operativos merece un tratamiento diferente al lenguaje J2ME para el desarrollo de

aplicaciones MDIlet.

Contextual: Se desarrolló una herramienta que permitirá entender de mejor

manera como se encuentra estructurada una aplicación hecha para tecnología de

java RIM para dispositivos BlackBerry, para ello se desarrolla el código java

desde la interfaz de usuario de cómo se encuentran los objetos distribuidos en la

pantalla, y se muestra el código al programador .

Factible: El desarrollo de una aplicación java RIM para BlackBerry exige una

carga intelectual para el desarrollo de los Front-End. Motivo por el cual el

desarrollador debe tener conocimiento de los diferentes objetos y sus propiedades,

el programa que se desarrolló permite disminuir esta carga de conocimientos al

programador, para de esta manera centrarse en el desarrollo de la lógica del

aplicativo que se está implementando.

Identifica los productos esperados: Se desarrolló un sistema que ofrece un

entorno de diseño que permita usar de manera ágil y precisa los diferentes

elementos que se utilizan para la implementación de un sistema móvil de java

RIM para equipos BlackBerry, así también se busca disminuir la complejidad del

Page 41: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

20

código facilitando el desarrollo de los programas y manipular las diferentes

propiedades de los objetos que se muestran en el aplicativo para el dispositivo

móvil.

Variable:

Independiente:

Interfaces Gráficas Para Desarrollo De Aplicaciones Java Para BlackBerry.

Esto permitirá desarrollar aplicaciones java para BlackBerry de manera amigable

y optimizaría el tiempo de desarrollo del mismo, reduciendo considerablemente

costos.

Dependientes:

Complejidad Del Desarrollo de Aplicaciones java Móvil.

El Desarrollo de aplicaciones java para móvil ha sido truncado debido a la poca

experiencia en este ambiente, lo cual hace que haya poco conocimiento de las

aplicaciones posibles a realizarse.

Implementación De Ambiente De Desarrollo Gráfico Para Java Móvil De

BlackBerry

Desarrollar un binario para que pueda ser cargado en los dispositivos BlackBerry

de manera dinámica y poder ser usado en un tiempo mínimo de desarrollo

Page 42: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

21

Objetivos de la investigación:

Objetivos Generales:

Disminuir la complejidad en el desarrollo de aplicaciones para dispositivos

móviles ya que actualmente se ejecuta mediante líneas de código lo cual

lleva a que la implementación de una solución para un Smartphone tome

un tiempo considerable en la codificación de la interfaz de usuario que en

la lógica implementada en la misma.

Proveer una herramienta que facilite el diseño de interfaces de usuarios de

una manera amigable y mostrar en tiempo real como se esta presentación

la pantalla en móvil final para el usuario.

Objetivos Específicos:

Elaborar una herramienta para el desarrollo de aplicaciones móviles

java para BlackBerry que permita la interacción intuitiva con lo

diferentes elementos que se encuentran en una aplicación de un

dispositivo móvil.

Elaborar una solución que permita la optimización de los recursos que

posee el desarrollador disminuyendo su carga cognitiva para centrar

más su trabajo en el desarrollo lógico de los procesos del aplicativo.

Evaluar el código que se genera por el diseño por el usuario,

evaluación de sintaxis de código ingresado por el usuario, conllevando

al correcto funcionamiento de las aplicaciones en el dispositivo

BlackBerry.

Page 43: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

22

Provee de una herramienta amigable e intuitiva para el desarrollo de

aplicaciones para que se reduzca considerablemente la complejidad en

el desarrollo de aplicaciones para los Smartphone.

Interactuar entre las diferentes versiones de sistemas operativos que se

encuentran instalados en los dispositivos BlackBerry así como los

diferentes tipos de dispositivos habidos en el mercado.

Alcances

Desarrollo de Herramienta con interfaz gráfica para creación de

aplicaciones java para dispositivos BlackBerry.

Elaborar un entorno en el cual se muestren los diferentes elementos del

GUI que puede tener una aplicación java RIM para BlackBerry. Entre los

objetos que permitirá manipular se encuentran los siguientes:

Etiqueta.

Caja de Selección.

Botón de Opción.

Botón de acción.

Lista de texto.

Lista numérica.

Texto de edición.

Texto de solo lectura.

Texto de auto búsqueda.

Texto auto corregir.

Page 44: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

23

Texto auto completar.

Campo de correo electrónico.

Texto de contraseña.

Texto de fecha.

Campo web.

Campo imagen.

Campo mapa.

Desarrollar un aplicativo que permita ubicar los diferentes objetos de una

aplicación java para BlackBerry.

Establecer interacción con las diferentes propiedades de los diferentes

elementos que posee una aplicación java de BlackBerry.

Diseñar código fuentes de aplicaciones javas para BlackBerry.

Analizar modificaciones ingresadas por el desarrollador en el código

generador por el aplicativo.

Elaborar una organización de los elementos no lineales sino en diferentes

áreas del área de desarrollo para mejorar el aspecto visual de las

aplicaciones.

Elaborar una interfaz que permita a un desarrollador de aplicaciones sea

este novato o sénior el desarrollo del código de aplicaciones java RIM para

dispositivos BlackBerry.

Relacionar los diferentes objetos de aplicaciones Java con objetos de

reconocimiento intuitivo.

Page 45: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

24

Permitir la modificación del código generado por el desarrollador para

poder implementar lógica de programación.

Edición de Código fuente por medio de propiedades para incluir

funcionalidades.

Generación de código java en archivos *.java para la implementación de la

aplicación final.

Permitir la edición desde otros aplicativos sin que se vea afectado el

entrono gráfico desarrollado por el usuario.

Generación de solución para importar en Eclipse.

Permitir la generación directa en el código importado en el ambiente de

desarrollo de eclipse

Permitir guardar el estado de la solución generada y abrirla para editar

Alcances y Limitaciones de la Investigación

Con fines metodológicos y de manejo del estudio, se ha considerado como

población de estudio, un grupo de desarrolladores que se encuentran en la

carrera de ingeniería en sistemas computacionales, personal que se encuentran

laborando en las empresas OutSoursing como consultores informáticos y que

posean conocimientos de desarrollo en tecnología java y conocimiento del

entorno de escritorio de Windows, desarrolladores en el área que no hayan

realizado estudios de ingeniería y que se encuentren laborando en empresas

como programadores, y que desarrollen aplicaciones para dispositivos

BlackBerry.

Page 46: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

25

Se determinó que el estudio está orientado al ámbito de las personas que

desarrollan aplicaciones informáticas que buscan la manera de optimizar su

tiempo de desarrollo y no aplicar tiempo extendido en el desarrollo de las

aplicaciones gráficas para el cliente final.

El sistema se dividirá en 5 módulos principales que se detallan a continuación:

Módulo de creación inicial de solución a ser importado en Eclipse

Módulo de creación de interfaces graficas

Módulo de generación de archivos java

Módulo de verificación de información

Módulo de generación final de solución para eclipse

Módulo Creación Inicial de Solución a ser Importado en Eclipse

Genera el sistema de archivo inicial a ser importado en el proyecto de eclipse,

el sistema de archivos que contendrá la solución a ser importada, en este

módulo se solicita al usuario que ingrese el nombre del proyecto a ser

generado, así como el icono demostrativo que se implementara como icono de

aplicación en el dispositivo móvil, el nombre que se coloque aquí es el nombre

que se demostrara en el icono de la aplicación móvil.

Incluyen las validaciones correspondientes para el nombre de aplicativo, así

como también se restringe el tamaño del icono que se implementara en el

aplicativo, en el caso de no seleccionar algún icono se colocara el icono por

Page 47: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

26

defecto que esta precargado en el aplicativo, en este módulo también se genera

la clase para poder ubicar los diferentes elementos en la pantalla del

dispositivos así como la clase inicial de la aplicación.

Módulo Creación de Interfaces Gráficas

En este módulo se muestra la interfaz gráfica que así como los objetos que

pueden ser incluidos en el aplicativo para el dispositivo BlackBerry, en este

módulo se permite la manipulación de los objetos, las propiedades de los

mismos y la inclusión de código de acción en los botones a ser utilizados, las

imágenes que se utilizaran en este módulo serán copiadas para el uso posterior

en el dispositivo BlackBerry.

Módulo Generación de Archivos Java

Genera el código java con el que se va a trabajar, cada pantalla corresponde a

una clase java que representa una pantalla en el dispositivo BlackBerry, así se

pueden desarrollar n ventanas y en el aplicativo se deberá incluir la llamada de

los mismos.

Módulo Verificación de Información

Permite una compilación de código generado, en el caso de que el usuario

haya ingresado un código erróneo se procederá a mostrar los errores

correspondientes, en el caso de que el código no tenga errores solo se

mostrarán las advertencias correspondientes

Page 48: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

27

Módulo Generación Final de Solución para Eclipse

Genera la solución definitiva a ser utilizada en eclipse, se encarga de

recompilar los diferentes recursos que se han estado aplicando en el desarrollo

de la aplicación, así como las diferentes clases que se han generado en el

aplicativo.

Justificación e Importancia

Hace tiempo atrás las aplicaciones para dispositivos móviles eran desarrolladas

por las empresas propietarias de los mismos, dejando que estos sistemas sean solo

para funciones básicas de uso del cliente sin la opción de poder optimizar ese

código.

Con el pasar del tiempo y el avance de la tecnología se han optimizado los

desarrollos de las aplicaciones móviles, dejando así la oportunidad de optimizar

un equipo personalizando su software.

El desarrollo de las aplicaciones en los equipos móviles, por lo usual se realizan

con la tecnología del open source así como Java y C++, esto ha facilitado que la

adaptación de los códigos para los diferentes desarrolladores se haga de fácil

alcance, sin embargo el hecho de conocer el lenguaje le restringe en el hecho de

conocer las acciones que se pueden realizan en un dispositivo móvil.

Page 49: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

28

Con la aparición de netbeans se pudo implementar el desarrollo de las

aplicaciones para dispositivos móviles a nivel de interface gráfica, sin embargo

este desarrollo no le daba al programador una perspectiva de cómo está quedando

la interfaz de usuario, esto causaba una reingeniería en el entorno gráfico cada vez

que sé que necesitaba ver la interfaz en el dispositivo y comprobar que se

ajustaban a las necesidades requeridas.

Con la aparición de los teléfonos inteligentes se ha visto la necesidad de tener

aplicaciones que se ajusten a los requerimientos de los dueños así como el utilizar

en todo lo posible las características que posea el equipo, en la mayoría de los

casos los aplicativos que se encuentran por defecto en los Smartphone no se

adaptan a los requerimientos de los dueños, poco después de este problema

hubieron programadores que se dedicaron al desarrollo de las aplicaciones para

los Smartphone.

Entre los diferentes dispositivos que se podían desarrollar se tenían, Simba.

Android, Windows Mobile, Java RIM, J2ME, IOS. El lenguaje Simba estaba

destinado a los dispositivos Nokia y Sony Ericsson en su mayoría, este sistema

ejecutaba aplicaciones en lenguaje C++, la herramienta de desarrollo que se podía

aplicar con este sistema operativo se encontraba en netbeans, con el pasar del

tiempo este sistema operativo móvil ha sido desplazado por los otros.

Page 50: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

29

El lenguaje Java RIM es propio de los equipos BlackBerry, se ejecuta sobre la

tecnología J2ME, pero con más atributos, eventos y objetos que se encuentran en

un dispositivo BlackBerry.

El desarrollo de aplicaciones java RIM para dispositivos móviles BlackBerry se

está empleando mucho en los negocios que se encuentran en la actualidad, entre

los cuales podemos destacar entidades bancarias, negocios de ventas, negocios de

telecomunicaciones, importaciones, control de recursos, control de ingresos,

transacciones en línea, información, entre otras funcionalidades.

Entre las aplicaciones que se pueden encontrar en los dispositivos BlackBerry se

encuentran el manejo de mapas y ubicaciones, sistemas de conversiones de

monedas, sistemas de redes sociales, etc... Todos estos sistemas buscan sacar el

máximo provecho de las características del hardware que posee el equipo.

El desarrollo de aplicaciones para los equipos BlackBerry se ve algo estancado en

la actualidad ya que el desarrollo de estas aplicaciones no son explotadas, ya sea

por el poco conocimiento de código fuente, los eventos que se generan en las

aplicaciones, diferentes tipos de comunicación, almacenamiento, herramientas

adicionales, librerías, sitios web, etc., en el caso de conocer el código y los objetos

se hace tediosa la tarea de desarrollo de entorno gráfico para el gusto del usuario.

El desarrollo de las interfaces gráficas para los dispositivos BlackBerry hace que

Page 51: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

30

el desarrollo de los sistemas para estos equipos se haga una labor tediosa y en su

mayoría les resta tiempo al desarrollador y logra dejar la lógica en segundo plano.

La solución propuesta tiene como finalidad disminuir la complejidad en el

desarrollo de aplicaciones móviles , con este fin se podrán realizar aplicaciones

para Smartphone de manera más dinámica y así se podrán optimizar los recursos y

disminuir los tiempos de desarrollo lo cual beneficiara de manera considerable a

los desarrolladores de sistemas así como a las empresas que venden sistemas

informáticos ya que implementando esta herramienta podrán entregar respuestas a

sus clientes finales dentro de un tiempo considerablemente corto y así poder

realizar más aplicaciones sin necesidad de dedicar demasiado tiempo en el

desarrollo de las interfaces de usuarios.

La solución también brindara la posibilidad de que el usuario no se vea atado a la

organización lineal que posee los objetos en los dispositivos BlackBerry, ya que

se brindara la posibilidad de colocar los objetos de la interfaz de manera que se

vea un trabajo más profesional.

A nivel administrativo permite mejorar los tiempos de desarrollo aumentando

productividad y disminuyendo gastos de tiempo y económicos en el área de

sistemas, así como establecer formatos sencillos de diseños de las interfaces y no

colocar varios objetos para obtener una solución amigable a primera vista.

Page 52: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

31

A nivel educativo se benefician los estudiantes ya que con el avance de la

tecnología no solo se están desarrollando aplicaciones para computadores de

escritorios sino también para los dispositivos móviles que la mayoría se ejecutan

con lenguaje java, de esta manera se pueden desarrollar nuevos métodos de

enseñanza que estarían orientados a estas nuevas tecnologías.

A nivel personal permite que los programadores se familiaricen con las

aplicaciones de los dispositivos BlackBerry, y desarrollar aplicaciones sencillas

sin mucho conocimiento del lenguaje de programación Java RIM.

A nivel profesional permite tener los objetos de las aplicaciones de una manera

ordenada y permite el uso intuitivo que el desarrollador quiera implementar.

Permitiendo a los usuarios finales un mejor control de su tiempo al tener los

objetos ordenados de manera tal que no se le complique la lectura de la

información contenida en la aplicación.

Page 53: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

32

CAPÍTULO II

MARCO TEÓRICO

Antecedentes del Estudio

Con el desarrollo de la tecnología tanto a nivel de hardware como de software se

ha ido realizando avances en las herramientas de diseños de los programas, esto

ha dado paso a que los lenguajes de programación sean complementados con

ambientes de desarrollo, esto brinda a los programadores la facilidad de desarrollo

de los sistemas de una manera amigable, optimizando el tiempo de desarrollo de

los mismos.

En año 1998 se dio a conocer NetBeans que en conjunto con Visual Studio que

permiten el desarrollo de aplicaciones de escritorio con el adicional de que

permite interactuar con los objetos gráficos de los GUIs de manera amigable, las

empresas desarrolladoras de dispositivos móviles lanzan sus sistemas para

desarrollos de sistemas como por ejemplo, Windows, BlackBerry, posterior

IPhone y Android.

Para ello veremos en profundidad lo que es NetBeans y como ha ido

evolucionando este IDE. NetBeans comenzó como un proyecto estudiantil en la

República Checa (originalmente llamado Xelfi), en 1996. La meta era escribir un

entorno de desarrollo integrado (IDE) para Java parecido a Delphi. Xelfi fue el

primer IDE escrito en Java.

Page 54: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

33

El plan original era desarrollar unos componentes JavaBeans para redes. Jarda

Tulach, quien diseñó la arquitectura básica de la IDE, propuso la idea de llamarlo

NetBeans, a fin de describir este propósito. Cuando las especificaciones de los

Enterprise JavaBeans salieron, decidieron trabajar con este estándar, ya que no

tenía sentido competir contra él, sin embargo permaneció el nombre de NetBeans.

En la primavera de 1999, Netbeans DeveloperX2 fue lanzado, soportando Swing.

Las mejoras de rendimiento que llegaron con el JDK 1.3, lanzado en otoño de

1999, hicieron de NetBeans una alternativa realmente viable para el desarrollo de

herramientas. En el año de 1999, el equipo trabajó duro para rediseñar

DeveloperX2 en un NetBeans más modular, lo que lo convirtió en la base de

NetBeans hoy en día.

Con NetBeans 3.5 se mejoró enormemente en desempeño, y con la llegada de

NetBeans 3.6, se re implementó el sistema de ventanas y la hoja de propiedades, y

se limpió enormemente la interfaz. NetBeans 4.0 fue un gran cambio en cuanto a

la forma de funcionar del IDE, con nuevos sistemas de proyectos, con el cambio

no solo de la experiencia de usuario, sino del reemplazo de muchas piezas de la

infraestructura que había tenido NetBeans anteriormente. NetBeans IDE 5.0

introdujo un soporte mucho mejor para el desarrollo de nuevos módulos, el nuevo

constructor intuitivo de interfaces Matisse, un nuevo y rediseñado soporte de

CVS, soporte a Sun ApplicationServer 8.2, Weblogic9 y JBoss 4.

Page 55: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

34

Con Netbeans 6.01, 6.8 y ahora en su versión mejorada 7.0 Se dio soporte a

framework comerciales como son Struts, Hibernate. Durante el desarrollo del

NetBeans IDE ocurrió una cosa interesante. La gente empezó a construir

aplicaciones usando el NetBeans core runtime con sus propios plug-ins, de hecho,

esto se convirtió en un mercado bastante grande.

El IDE NetBeans posee 20000000 de líneas de código

“El buen código es su mejor documentación. Cuando esté a

punto de añadir un comentario, pregúntese: "¿Cómo puedo mejorar el código para que este comentario no sea

necesario?”(Steve McConnell)

EL IDE de eclipse se desarrolló en noviembre del 2001 y apareció con reemplazo

del sistema visual Age de IBM. Eclipse cuenta con un editor de texto con

resaltado de sintaxis, la compilación es de tiempo real y cuenta con pruebas

unitarias JUnit,

Así eclipse brinda la siguiente arquitectura:

Plataforma Inicial

Plataforma de Bulding estándar

Un wodget toolkit portable

Manejo de Archivo

Manejo de Texto

Vistas

Editores

Asistentes y perspectiva.

Page 56: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

35

Visual Studio es un IDE que soporta varios lenguajes de programación entre ellos

se encuentran Visual C++, Visual C#, Visual J#, ASP.NET, y Visual Basic .NET,

aunque en la actualidad se están desarrollando nuevas interfaces para otros

lenguajes así como el lenguaje nativo de Kinect para desarrollo de sensores, etc.

En visual estudio se pueden desarrollar aplicaciones que se comuniquen entre

estaciones de trabajo, páginas web y dispositivos móviles.

El lenguaje Visual Basic en si significa Visual = entorno Visual.

Basic=Beginnes´s All-purpose Symbolic Instruction Code que en español diría

Códigos de Instrucciones de uso universal para principiantes, Basic es un lenguaje

de programación que actúa como un intérprete entre el operador y el computador.

La versión Original de BASIC fue creada en el año de 1964, esta aplicación gano

gran popularidad por los sistemas Tiny BASIC y Microsoft BASIC.

Anteriormente BASIC se manejaba de manera modular pero con la aparición de

visual .net se empezó a manejar más orientado a objetos, así mismo también se

permite el uso de servicios web así como ambiente web en las aplicaciones de

Visual Basic.NET.

En mayo de 1991 se mostró Visual Basic 1.0

Con Visual Basic los desarrolladores pueden implementar aplicaciones en un

ambiente intuitivo y gráfico, simplemente con arrastrar controles sobre el

formulario, esto hizo posible que los programadores profesionales aumenten su

productividad.

Page 57: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

36

“El futuro de .net está ligado al futuro de Windows, y este a

su vez está ligado a de sus usuarios, a cuántos comprarán el

móvil, Tablet, ultra portátil” (Juan Quijano)

De acuerdo con los estudios realizados las aplicaciones existentes que son RIM de

propiedad de la empresa BlackBerry para el desarrollo de aplicaciones, el IDE

BlackBerry para eclipse brindan la facilidad de poder realizar aplicaciones para

dispositivos java, pero en estos casos no se brinda una interfaz gráfica para el

desarrollo de las aplicaciones, lo cual provoca que los desarrolladores se dediquen

a realizar investigaciones, que en la mayoría de los casos no cumple con las

expectativas o no se cuenta con la información solicitada o se muestra una

información que no cumple con lo buscado, como instancia necesaria se recurre a

la consulta a los desarrolladores de a propia empresa BlackBerry, lo cuales no

contestan al requerimiento en un tiempo prudencial, en otros casos no contestan y

esto provoca retraso en los proyectos, en otros casos se desarrollan aplicaciones

en HTML5 pero el problema de esta solución es que se depende de la conexión a

internet en la mayoría de los casos.

FUNDAMENTACIÓN TEÓRICA

Java J2ME

La tecnología J2ME (Java 2da Micro Edition), es el versionamiento de java que se

puede utilizar en los diferentes dispositivos móviles así como teléfonos,

Page 58: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

37

reproductores blue-ray, dispositivos multimedia, entre otros, debido a la

flexibilidad y las rapidez, esta librería se ha convertido en la fuente para el

desarrollo de los diferentes sistemas operativos móviles que se encuentran en el

mercado actual.

La tecnología J2ME se desarrolló para poder adaptarse a las limitaciones que se

presentan en los diferentes dispositivos móviles, de esta manera se aprovecha al

máximo las capacidades de memoria, visualización y potencia limitadas que se

presentan en los estos equipos, la mayoría de estos dispositivos son inalámbricos,

por ello esta tecnología trabaja con las diferentes conectividad móviles.

Java Micro Edición es una nueva versión de la máquina virtual de java que puede

ejecutarse en pequeños dispositivos, esta tecnología apareció debido a las

necesidades de los usuarios de telefonía móvil así como las compañías que

desarrollan aplicativos, se estaban comenzando a orientar a la programación para

los dispositivos móviles.

GRÁFICO No. 1

Java 2 micro Edition

Page 59: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

38

Fuente. Java a Tope. J2ME de Sergio Gálvez Rojas y Lucas Ortegas Díaz

Elaborado Por: Java a Tope. J2ME de Sergio Gálvez Rojas y Lucas Ortegas Díaz

Un punto importante es que Java Micro Edition contiene una mínima parte de los

APIs de Java, esto es debido a que las APIs de java ocupa 20 MB, y los

dispositivos móviles cuentan con una capacidad limitada de memoria, en concreto

J2ME utiliza 31 clases de plataforma J2SE (Java 2 Standard Edition). La máquina

virtual que utiliza J2ME no es la clásica JVM (Java Virtual machine), esta es

dominada KVM (K Virtual Machine).

KVM

La KVM(Kilobyte Virtual Machine) consume entre 40 y 80 K de código en la

configuración estándar, dependiendo de la plataforma y las opciones de

compilación, adicional a ello el uso de memoria utiliza objetos pequeños, requiere

solo unos kilobytes de memoria dinámica para ejecutar con eficiencia, por este

punto se puede ejecutar en dispositivos que cuenten con 128kb de memoria

Page 60: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

39

dinámica, la máquina virtual K ofrece una alta portabilidad que reduce las

dependencias del sistema en lo mínimo, incluye funciones multihilos y

procesamiento de archivos basura que se aplican independientemente del sistema.

La desventaja que se presenta con la KVM es que debido al uso bajo de memoria,

se obvian algunas funcionalidades que con una Java Virtual Machine no se

presenta como por ejemplo:

No hay soporte para variables de coma tipo flotante.

No hay soporte para el JNI(Java Native interface) debido al consumo de

memoria

No existen clases definidas por el usuario, solo clases predefinidas.

No permiten grupos de hilos daemon, solo permite usar hilos en colección.

No existe finalización de las clases.

No hay referencias débiles.

No existe la posibilidad de personalización de las excepciones.

Los diferentes componentes que componen Java micro Edition son:

Una serie de máquinas virtuales Java con diferentes requisitos orientados a

diferentes dispositivos móviles.

Perfiles que son bibliotecas java dirigidas a familias de dispositivos con

más recursos, para la implementación de funcionalidades de más alto

nivel.

Paquetes opcionales de programación.

Page 61: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

40

Configuraciones. Que son un conjunto de clases básicas orientadas a

conformar el núcleo de las implementaciones para dispositivos móviles de

características específicas, existe 2 tipos de configuración.

o Connection Connected Limited Device Configuration (CLDC)

o Connected Device Configuration (CDC)

Connected Limited Device Configuration (CLDC)

Es una especificación de un marco para las aplicaciones Java Micro Edition que

describen el conjunto básico de las bibliotecas y las características de la máquina

virtual que deben estar presentes en una aplicación. La Connected Limited Device

Configuration se combina con uno o varios perfiles para dar a los desarrolladores

una plataforma para la creación de aplicaciones en los dispositivos embebidos con

recursos muy limitados, tales como buscapersonas y teléfonos móviles.

GRÁFICO No. 2

Pre verificación de Clases en CDLC/KVM

Fuente: Java a Tope. J2ME de Sergio Gálvez Rojas y Lucas Ortegas Díaz

Elaborado Por: Java a Tope. J2ME de Sergio Gálvez Rojas y Lucas Ortegas Díaz

Connected Device Configuration (CDC)

Page 62: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

41

Esta es una especificación realizada por Sun dentro del conjunto de tecnologías

para computación móvil conocido como J2ME (Java 2 Mobile Edition). Define

las capacidades básicas que debe tener un dispositivo móvil con capacidad de

conexión y cuya potencia de computación se encuentra entre la de un teléfono o

PDA, con cierta capacidad como un sistema de navegación GPS para automóvil,

un DVR, PVR o un aparato para navegar por Internet.

GRÁFICO No 3.

Relaciones APIs de Java.

Fuente: Java a Tope. J2ME de Sergio Gálvez Rojas y Lucas Ortegas Díaz

Elaborado Por: Java a Tope. J2ME de Sergio Gálvez Rojas y Lucas Ortegas Díaz CVM

La CVM (Compact Virtual Machine) es la máquina virtual java para CDC y

soporta las mismas características que la máquina virtual para de J2SE, está

orientado a dispositivos de 32 bits con memoria mínima de 2 MB de RAM, entre

las diferentes características que se presenta con esta máquina virtual tenemos:

Sistema de memoria avanzada.

Tiempo de espera bajo para limpieza.

Separación completa de la máquina virtual de sistema de memoria.

Limpieza de variables modularizado.

Page 63: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

42

Portabilidad.

Sincronización veloz.

Ejecución de clases en memoria RAM.

Soporte e interfaces de servicios de sistema en tiempo real.

Conversión de hilos java a hilos nativos.

Soporte para características de java 2 y java 1.3

Librerías de seguridad.

Interface nativa de java (JNI).

Invocación remota de métodos(RMI

Interfaz de depuración de la máquina virtual.

RIM

Research In Motion o como mejor se la conoce BlackBerry, es una compañía

radicada en Canadá dedicada al desarrollo de dispositivos electrónicos, su cede se

encuentra en Waterloo, Ontari, además de oficinas en Norteamérica, euro, la

región de Asia y el pacifico, RIM comenzó como desarrollador en el año 1995

con un capital de 5 millones de dólares canadienses donados por Instituciones

Canadienses de Capitales.

En sus comienzos RIM era conocida como RAM Mobile Data y en compañía con

Ericsson desarrollaron la tecnología inalámbrica llamada Mobitex. Con

características como paginación y envió de correos, desde agosto del 2000 se ha

dedicado a desarrollador diferentes dispositivos compatibles con tecnología GSM

Page 64: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

43

y CDMA, con el mejoramiento de la tecnología también se fueron incluyendo

funcionalidades como soporte para HSPDA, UMTS, EDGE y 3G.

Research In Motion desarrollo su propio software para sus dispositivos usando

lenguajes C++ y java, estas librerías son un conjunto de componentes que junto.

Con Java Micro Edition colocan en funcionamiento los diferentes aplicativos

embebidos en el equipo BlackBerry. A medida que ha ido presentándose nuevas

versiones de la librería de java se han ido agregando más funcionalidades

orientadas a la nube (internet).

NET_RIM_API

La librería net_rim_api es un conjunto de clases que permiten interactuar con las

diferentes características de los equipos BlackBerry, permitiendo la generación de

aplicativos que se ejecutan en los dispositivos móviles de una manera ágil y

ligera, también se incluye las características de comunicación, geo localización y

otras ventajas que permiten al desarrollador la creación de programas para las

diferentes versiones de equipos que hay en el mercado.

"Siempre he deseado que mi equipo sea tan fácil de usar como

mi teléfono, mi deseo se ha hecho realidad porque ya no puedo

encontrar la manera de usar mi teléfono." (Bjarne Stroustrup)

LENGUAJE DE PROGRAMACIÓN

Un lenguaje de programación se puede usar para crear programas que controlen el

comportamiento físico o lógico de la máquina, para ejecutar algoritmos con

Page 65: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

44

precisión. Un lenguaje de programación contiene reglas sintácticas y semánticas

con el cual se escribe, se prueba, se depura y se compila.

Para desarrollar programas informáticos se tiene 2 ideologías que son imperativas

y declarativas.

Programación Imperativa

La programación imperativa es un paradigma de programación que define a la

programación en términos del estado del programa y sentencias, estas indican al

computador como realizar una tarea.

Lenguaje Imperativo.

Los lenguajes imperativos de alto nivel usan variables y sentencias más

complejas, pero aún siguen el mismo paradigma, a pesar de no ser programas de

computadora, son también conceptos familiares similares en estilo a la

programación imperativa; cada paso es una instrucción, y el mundo físico guarda

el estado.

Programación Declarativa

Una programación declarativa está basada en el desarrollo de programas

especificando un conjunto de condiciones, preposiciones, restricciones,

Page 66: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

45

ecuaciones o transformaciones que describen el problema y detallan su solución,

en esta programación se desarrollan flujos de trabajo que son interpretados por la

máquina. No existen asignaciones destructivas, y las variables son utilizadas con

Transparencia referencial, los programas informáticos se dividen en dos grandes

grupos, software de sistemas y software de aplicación.

El software de sistemas son programas informáticos que sirven para controlar o

interactuar con el sistema operativo, controlando al hardware y dando soporte a

otros sistemas. Estos programas realizan diversas tareas, como la transferencia de

datos entre la memoria RAM y los dispositivos de almacenamiento (disco rígido,

unidades de discos ópticos, etc.) entre otros.

El software de aplicación es aquel que realiza una tarea determinada, este software

de puede utilizar en cualquier instalación informática, dependiendo de la tarea por

la cual sea creada, así como por ejemplo, tareas de negocios, utilerías, personales,

entre otros.

LENGUAJE MAQUINA

El lenguaje de maquina es el conjunto de códigos que han sido llevados de texto a

código binario. Este lenguaje está compuesto por un conjunto de instrucciones que

Page 67: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

46

determinan acciones a ser tomadas por la máquina. Estas instrucciones son

normalmente ejecutadas en secuencia, con eventuales cambios de flujo causados

por el propio programa o eventos externos. El lenguaje de máquina es específico

de cada máquina o arquitectura de la máquina, aunque el conjunto de

instrucciones disponibles pueda ser similar entre ellas.

APLICACIONES

Los software de aplicaciones dividen en cuatro categorías:

Aplicaciones de Negocio.

Aplicaciones de Utilería.

Aplicaciones Personales.

Aplicaciones de Entretenimiento.

Aplicaciones de Negocio.- Son aplicaciones que se utilizan más en empresas, ya

que brindan las facilidades de obtener reportes, realizar cálculos, documentar, etc.

Entre las más comunes encontramos procesadores de palabras, hojas de cálculo,

sistemas de bases de datos y graficado res, el ejemplo más común que podemos

encontrar en el paquete de Office de Microsoft o el paquete de Open Office de

GNU

Aplicaciones de Utilería.- Ayudan a dar mantenimiento a los sistemas así como a

la computadora en sí, entre estos sistemas podemos encuentras los accesorios de

Page 68: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

47

Windows así como por ejemplo tenemos, el teclado, pantalla compartida, ventana

de comandos, lupa, captura de pantallas, asistencia remota, entre otras.

Aplicaciones Personales.-Son aplicaciones que permiten a los usuarios llevar un

control de sus actividades, así como tener una organización de sus tareas ,

contactos, gastos, además permiten mantener una agenda de direcciones y

calendario de citas, hacer operaciones bancarias, enviar correo electrónico y

conectarte a servicios informáticos que ofrecen grandes bases de datos de

información valiosa.

Aplicaciones de Entretenimiento.- Son aplicaciones desarrolladas con el fin

entretener. En esta categoría ingresan los videojuegos de galería, simuladores de

vuelo, juegos interactivos de misterio y rompecabezas difíciles de solucionar.

Muchos programas educativos pueden ser considerados como software de

entretenimiento. Estos programas pueden ser excelentes herramientas para la

educación.

A los sistemas que ejecutan tareas en paralelo se le conoce como multitarea.

GRÁFICO No. 4

INTERFACES GRÁFICAS

Page 69: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

48

Fuentes: http://www.hipertexto.info/documentos/interfaz.htm

Elaboración http://www.hipertexto.info/documentos/interfaz.htm

La interfaz gráfica GUI (Graphical User Interface) es un programa que

interactúa con la interfaz de usuario, usando objetos gráficos para representar

la información y acciones disponibles en la interfaz. Su principal uso, consiste

en proporcionar un entorno visual sencillo para permitir la comunicación con

el sistema operativo de una máquina o computador.

La interfaz de usuario es el medio que utiliza el usuario para interactuar de

manera amistosa con el computador.

Entre los principales elementos de la interfaz de usuario tenemos:

Menú

Ventana

Teclado

Ratón

Existen 3 tipos de interfaces de usuarios:

Page 70: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

49

Interfaz de hardware.- Son las interfaces de entrada y salida, aquí encontramos

puertos seriales, puertos paralelos, USB, tarjeta para los buses ISA y PCI, tarjeta

de red, protocolos top/ir, etc.

Interfaz de Software.- Es la que procesa los datos que el usuario requiera entre

ella tenemos las herramientas de negocio, personales, de entretenimiento y utilería

Interfaz de Hardware y software.-Es el que establece un puente entre la máquina

y las personas, permite a la máquina entender la instrucción y al hombre entender

el código binario traducido a información legible

Habitualmente las acciones se realizan mediante manipulación directa, para

facilitar la interacción del usuario con la computadora. Surge como evolución de

las interfaces de línea de comandos que se usaban para operar los primeros

sistemas operativos y es pieza fundamental en un entorno gráfico. Como ejemplos

de interfaz gráfica de usuario, cabe citar los entornos de escritorio Windows, el X-

Windows de GNU/Linux o el de Mac OS X, Aqua.

Una interfaz es un dispositivo que permite comunicar dos sistemas que no hablan

el mismo lenguaje. Restringido a aspectos técnicos, se emplea el término interfaz

para definir el juego de conexiones y dispositivos que hacen posible la

comunicación entre dos sistemas, sin embargo, cuando hablamos de interfaz nos

referimos a la cara visible de los programas tal y como se presenta a los usuarios

Page 71: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

50

para que interactúen con la máquina. La interfaz gráfica implica la presencia de un

monitor de ordenador o pantalla constituida por una serie de menús e iconos que

representan las opciones que el usuario puede tomar dentro del sistema.

Las características básicas de una buena interfaz podrían sintetizarse en:

Facilidad de comprensión, aprendizaje y uso

Representación fija y permanente de un determinado contexto de acción

(fondo)

El objeto de interés ha de ser de fácil identificación

Diseño ergonómico mediante el establecimiento de menús, barras de

acciones e iconos de fácil acceso

Las interacciones se basarán en acciones físicas sobre elementos de

código visual o auditivo (iconos, botones, imágenes, mensajes de texto o

sonoros, barras de desplazamiento y navegación...) y en selecciones de

tipo menú con sintaxis y órdenes

Las operaciones serán rápidas, incrementales y reversibles, con efectos

inmediatos

Existencia de herramientas de Ayuda y Consulta

Tratamiento del error bien cuidado y adecuado al nivel de usuario

Para diseñar una buena interfaz enfocada hacia el usuario es necesario tener claros

los objetivos del hipertexto, teniendo en cuenta no sólo lo que se persigue

ofreciendo información, sino las necesidades que van a tener los usuarios a la hora

Page 72: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

51

de consultarlo. También es clave determinar el contenido y la funcionalidad,

especificar la estructura organizativa, la navegación, las secciones y los sistemas

de búsqueda.

Hay que tener en cuenta que cada usuario puede tener diferentes necesidades y un

buen sistema de navegación debe contar con las herramientas adecuadas para

diferentes funciones. Como cada usuario pude tener diferentes necesidades, es

importante ofrecer diferentes formas de acceso y búsqueda, desde búsquedas

precisas, hasta exploraciones guiadas o a elección del lector.

El diseñador de interfaces debe facilitar y simplificar el acceso y los recorridos de

los usuarios. A menudo se usa la metáfora del viaje o del camino a recorrer y se

presentan iconos o símbolos de interfaz y otros dispositivos que tienen que ver

con las señales utilizadas en mapas, urbanismo o arquitectura.

Un buen hipertexto debe suministrar herramientas de uso sencillo y fácil para que

el usuario sepa en todo momento en dónde se encuentra y hacia dónde puede ir, y

herramientas para que pueda realizar una serie de acciones como búsquedas,

ponerse en contacto con otros usuarios, participar en un foro de debate, etc.

Algunas de estas herramientas útiles para la navegación y que deben mostrarse en

la interfaz de usuario son las siguientes:

Page 73: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

52

Herramientas de representación de la estructura de la información

documental: Se trata de representar la estructura de los nodos más

amplios o genéricos que contienen las diferentes partes o nodos

específicos, de forma similar a las secciones, capítulos, etc. de un texto.

Herramientas de navegación: es necesario representar de forma visual y

gráfica el conjunto de la red hipertextual. Para ello, son muy útiles los

mapas de navegación que funcionan a modo de brújula para ayudar al

usuario a moverse por el hipertexto. La información se presenta como

nodos dentro de una red en la que una idea lleva a otra y está a otra

diferente. Sin embargo, el sistema sería un caos si no existieran formas de

organizar la información en una forma lógica y con posibilidad de conocer

en todo momento dónde se está y cómo se ha llegado.

Herramientas que posibiliten guardar y almacenar la dirección y

localización de los documentos a los que se ha accedido, mediante el

registro de marcas, favoritos o bookmarks, para su posterior acceso

directo.

Herramientas que permitan definir los enlaces con indicación del

punto de destino: el usuario debe poder visualizar el destino o destinos

posibles de cualquier enlace para saber hacia dónde se desplazará en caso

de optar por esa conexión.

Page 74: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

53

Herramientas que permitan la creación de un histórico de

Navegación: para que el usuario pueda tener constancia del camino

recorrido tanto sobre la red de documentos como sobre la red semántica, y

poder así volver en cualquier momento, sobre algún paso del camino

recorrido.

Herramientas para la recuperación de la información: se pueden

incluir buscadores y otras herramientas de búsqueda y consulta tanto

dentro de la propia red hipertextual como en el resto de la web. Estas

herramientas permiten la construcción de documentos dinámicos creados a

partir de las propias acciones del usuario, que pueden contar con la ayuda

de agentes inteligentes.

Herramientas que permitan que el usuario participe en la creación

del conocimiento en un entorno colaborativo. Estas herramientas

permitirán la interacción entre el autor del hipertexto y el usuario o entre

varios usuarios, o incluso, que el usuario contribuya al contenido del

hipertexto directamente. El usuario puede participar en el contenido del

hipertexto haciendo comentarios y anotaciones ya sea en línea o por correo

electrónico, es posible iniciar una discusión, es posible añadir contenidos o

añadir enlaces mientras se lee, individualmente o en colaboración.

Page 75: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

54

Mecanismos de búsqueda y recuperación de la información

Los mecanismos de búsqueda que faciliten el acceso, la búsqueda y la

recuperación de la información, son herramientas básicas en un hipertexto

para completar la navegación por el espacio de la información

hipertextual. En muchos casos, el usuario no busca navegar, sino acceder a

la información de forma directa.

Para realizar la búsqueda, se siguen estos pasos:

el usuario introduce uno o más términos de búsqueda;

el sistema busca los términos por medio de índices y otros

mecanismos;

el sistema responde mostrando los resultados.

Para llevar a cabo este proceso se necesita, además de establecer tanto

interfaces de consulta como de respuesta adecuada, establecer los mecanismos que

hagan posible esta labor. La presentación de resultados puede ser muy variada: el

sistema devuelve la primera ocurrencia del término, una lista de ocurrencias o

puede integrar los resultados de la búsqueda en el mapa del hiperdocumento,

resaltando los nodos en los que aparece el término buscado.

Una herramienta muy útil es el empleo de metáforas o la utilización de conceptos

y modelos del mundo real, con los cuales los usuarios estén familiarizados, para

representar información digital y hacer que el documento sea más comprensible.

Se trata de representaciones analógicas por medios digitales. La utilización de

Page 76: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

55

tarjetas o fichas, o el dibujo de páginas para representar documentos, el uso de

archivadores para simbolizar los directorios, papeleras y demás artículos de

escritorio, el empleo de una lupa para simbolizar la búsqueda, la interrogación

para la ayuda, el buzón o la carta para el correo electrónico, la casa para la página

principal o de inicio, una puerta para la salida, etc. han sido y son algunas de las

metáforas más utilizadas.

GRÁFICO No. 5

Metáforas

Fuente: http://www.hipertexto.info

Elaborado Por: http://www.hipertexto.info

Las técnicas para el diseño y navegabilidad de un hipertexto son muchas y

variadas. Pero hay 3 reglas básicas importantes:

proveer un foco inicial para la llamar la atención del usuario

dirigir la atención a los ítems importantes, secundarios o periféricos

asistir a la navegación a través del material presentado

El principal objetivo de una interfaz de usuario es que éste se pueda comunicar a

través de ella con algún tipo de dispositivo. Conseguida esta comunicación, el

segundo objetivo que se debería perseguir es el de que dicha comunicación se

pueda desarrollar de la forma más fácil y cómoda posible para el usuario.

También es importante reconocer las interfaces de línea de comandos, como el

mejor medio para que el administrador del sistema pueda llevar a cabo tareas

complejas

Page 77: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

56

Además, no todo se puede hacer a través de la interfaz gráfica: hay ciertas

funciones para usuarios avanzados y administradores a las que sólo es posible

realizarlas mediante comandos.

El diseño de la interfaz es crítico para el manejo del equipo: hay algunas muy bien

diseñadas que incorporan controles intuitivos y de fácil manejo, en cambio existen

otras que no se entienden bien y el usuario no acierta a manejarlas correctamente

sin estudiar un manual o recibir formación del experto.

Desarrollo de Aplicaciones.

Para desarrollar aplicaciones informáticas se necesita seguir los pasos de

•Análisis.

•Diseño.

•Codificación-construcción.

•Implantación-explotación.

•Mantenimiento.

Análisis.

En esta fase se establece el producto a desarrollar, siendo necesario especificar los

procesos y estructuras de datos que se van a emplear. Debe existir una gran

comunicación entre el usuario y el analista para poder conocer todas las

necesidades que precisa la aplicación

Page 78: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

57

En el caso de falta de información por parte del usuario se puede recurrir al

desarrollo de prototipos para saber con más precisión sus requerimientos.

En el análisis estructurado se pueden emplear varias técnicas como:

Diagramas de flujo de datos: Sirven para conocer el comportamiento del sistema

mediante representaciones gráficas.

Modelos de datos: Sirven para conocer las estructuras de datos y sus

características. (Entidad relación y formas normales).

Diccionario de datos: Sirven para describir todos los objetos utilizados en los

gráficos, así como las estructuras de datos.

Definición de los interfaces de usuario: Sirven para determinar la información

de entrada y salida de datos.

Al final de esta fase tenemos que tener claro las especificaciones de la aplicación.

Diseño

En esta fase se alcanza con mayor precisión una solución óptima de la aplicación,

teniendo en cuenta los recursos físicos del sistema y los recursos lógicos. (Sistema

operativo., programas de utilidad, bases de datos, etc.…)

En el diseño estructurado se pueden definir estas etapas:

Diseño externo: Se especifican los formatos de información de entrada y salida.

(Pantalla y listados)

Diseño de datos: Establece las estructuras de datos de acuerdo con su soporte

físico y lógico. (Estructuras en memoria, ficheros y hojas de datos)

Page 79: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

58

Diseño modular: Es una técnica de representación en la que se refleja de forma

descendente la división de la aplicación en módulos. Está basado en diagramas de

flujo de datos obtenidos en el análisis.

Diseño procedimental: Establece las especificaciones para cada módulo,

escribiendo el algoritmo necesario que permita posteriormente una rápida

codificación.

Al final de esta etapa se obtiene el denominado cuaderno de carga.

Desarrollo

Consiste en traducir los resultados obtenidos a un determinado lenguaje de

programación, teniendo en cuenta las especificaciones obtenidas en el cuaderno de

carga. Se deben de realizar las pruebas necesarias para comprobar la calidad y

estabilidad del programa.

Las pruebas se pueden clasificar en:

Pruebas unitarias: Sirven para comprobar que cada módulo realice bien

su tarea.

Pruebas de interconexión: Sirven para comprobar en el programa el buen

funcionamiento en conjunto de todos sus módulos.

Pruebas de integración: Sirven para comprobar el funcionamiento

correcto del conjunto de programas que forman la aplicación. (El

funcionamiento de todo el sistema)

Page 80: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

59

Implementación

En esta fase se realiza la implantación de la aplicación en el sistema o sistemas

físicos donde van a funcionar habitualmente y su puesta en marcha para

comprobar el buen funcionamiento.

Actividades a tener en cuenta o realizar:

Instalación del/los programa/s.

Pruebas de aceptación al nuevo sistema.

Conversión de la información del antiguo sistema al nuevo

Eliminación del sistema anterior.

Al final de esta fase se debe de completar la información al usuario respecto al

nuevo sistema y su uso. Así como facilitarle toda la documentación necesaria para

una correcta explotación del sistema (manual técnico, manual de usuario, etc.)

Mantenimiento.

Esta es la fase que completa el ciclo de vida y en ella nos encargaremos de

solventar los posibles errores o deficiencias de la aplicación. Existe la posibilidad

de que ciertas aplicaciones necesiten reiniciar el ciclo de vida.

Tipos de mantenimiento:

Mantenimiento correctivo: Consiste en corregir errores no detectados en

pruebas anteriores y que aparezcan con el uso normal de la aplicación.

Mantenimiento adaptativo: Consiste en modificar el programa a causa de

cambio de entorno gráfico y lógico en el que estén implantados.

Page 81: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

60

Mantenimiento perfectivo: Consiste en una mejora sustancial de la aplicación

al recibir por parte de los usuarios propuestas sobre nuevas posibilidades y

modificaciones de las existentes.

Los tipos de mantenimiento adaptativo y perfectivo reinician el ciclo de vida,

debiendo proceder de nuevo al desarrollo de cada una de sus fases para obtener un

nuevo producto.

Java.

Java es un lenguaje de programación y la primera plataforma informática creada

por Sun Microsystems en 1995. Esta herramienta permite el desarrollo de

aplicaciones como herramientas, juegos y aplicaciones de negocios.

"Java es, en muchos sentidos, C++-" (Michael Feldman)

La plataforma Java es el nombre de un entorno o plataforma de computación

originaria de Sun Microsystems, capaz de ejecutar aplicaciones desarrolladas

usando el lenguaje de programación Java u otros lenguajes que compilen a

bytecode y un conjunto de herramientas de desarrollo. En este caso, la plataforma

no es un hardware específico o un sistema operativo, sino más bien una máquina

virtual encargada de la ejecución de las aplicaciones, y un conjunto de bibliotecas

estándar que ofrecen una funcionalidad común

Page 82: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

61

ByteCode

El bytecode es un código intermedio más abstracto que el código máquina.

Habitualmente es tratado como un fichero binario que contiene un programa

ejecutable similar a un módulo objeto, este fichero intermedio contiene código de

máquina.

El bytecode recibe su nombre porque usualmente cada código de operación tiene

una longitud de un byte, si bien la longitud del código de las instrucciones varía.

Cada instrucción tiene un código de operación entre 0 y 255 seguido de

parámetros tales como los registros o las direcciones de memoria. Esta sería la

descripción de un caso típico, si bien la especificación del ByteCode depende

ampliamente del lenguaje.

Máquina Virtual

Una máquina virtual es un software que emula a una computadora y puede

ejecutar programas como si fuese una computadora real. Este software en un

principio fue definido como "un duplicado eficiente y aislado de una máquina

física". La acepción del término actualmente incluye a máquinas virtuales que no

tienen ninguna equivalencia directa con ningún hardware real.

Una característica esencial de las máquinas virtuales es que los procesos que

ejecutan están limitados por los recursos y abstracciones proporcionados por ellas.

Estos procesos no pueden escaparse de esta computadora virtual.

Existen 2 tipos de máquinas virtuales.

Page 83: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

62

Máquinas Virtuales de Sistemas.

Las máquinas virtuales de sistema, también llamadas máquinas virtuales de

hardware, permiten a la máquina física subyacente multiplicarse entre varias

máquinas virtuales, cada una ejecutando su propio sistema operativo. A la capa de

software que permite la virtualización se la llama monitor de máquina virtual .Un

monitor de máquina virtual puede ejecutarse o bien directamente sobre el

hardware o bien sobre un sistema operativo.

Máquina Virtual de Proceso.

Una máquina virtual de proceso, se ejecuta como un proceso normal dentro de un

sistema operativo y soporta un solo proceso. La máquina se inicia

automáticamente cuando se lanza el proceso que se desea ejecutar y se detiene

para cuando éste finaliza. Su objetivo es el de proporcionar un entorno de

ejecución independiente de la plataforma de hardware y del sistema operativo, que

oculte los detalles de la plataforma subyacente y permita que un programa se

ejecute siempre de la misma forma sobre cualquier plataforma.

El ejemplo más conocido actualmente de este tipo de máquina virtual es la

máquina virtual de Java. Otra máquina virtual muy conocida es la del entorno .Net

de Microsoft que se llama "Common Language Runtime".

Page 84: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

63

Máquina Virtual Java

Una Máquina virtual Java (en inglés Java Virtual Machine, JVM) es un máquina

virtual de proceso nativo, es decir, ejecutable en una plataforma específica, capaz

de interpretar y ejecutar instrucciones expresadas en un código binario especial (el

bytecode Java), el cual es generado por el compilador del lenguaje Java.

El código binario de Java no es un lenguaje de alto nivel, sino un verdadero

código máquina de bajo nivel, viable incluso como lenguaje de entrada para un

microprocesador físico. Como todas las piezas del rompecabezas Java, fue

desarrollado originalmente por Sun Microsystems.

La JVM es una de las piezas fundamentales de la plataforma Java. Básicamente se

sitúa en un nivel superior al Hardware del sistema sobre el que se pretende

ejecutar la aplicación, y este actúa como un puente que entiende tanto el

ByteCode, como el sistema sobre el que se pretende ejecutar. Así, cuando se

escribe una aplicación Java, se hace pensando que será ejecutada en una máquina

virtual Java en concreto, siendo ésta la que en última instancia convierte de código

ByteCode a código nativo del dispositivo final.

La gran ventaja de la máquina virtual java es aportar portabilidad al lenguaje de

manera que desde Sun Microsystems se han creado diferentes máquinas virtuales

java para diferentes arquitecturas y así un programa .class escrito en un Windows

puede ser interpretado en un entorno Linux. Tan solo es necesario disponer de

Page 85: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

64

dicha máquina virtual para dichos entornos. De ahí el famoso axioma que sigue a

Java, "escríbelo una vez, ejecútalo en cualquier parte".

Pero, los intentos de la compañía propietaria de Java y productos derivados de

construir microprocesadores que aceptaran el Java ByteCode como su lenguaje de

máquina fueron más bien infructuosos.

La máquina virtual de Java puede estar implementada en software, hardware, una

herramienta de desarrollo o un Web browser; lee y ejecuta código pre compilado

ByteCode que es independiente de la plataforma multiplataforma. La JVM provee

definiciones para un conjunto de instrucciones, un conjunto de registros, un

formato para archivos de clases, la pila, un heap con recolector de basura y un

área de memoria. Cualquier implementación de la JVM que sea aprobada por

SUN debe ser capaz de ejecutar cualquier clase que cumpla con la especificación.

JRE

En su forma más simple, el entorno en tiempo de ejecución de Java está

conformado por una Máquina Virtual de Java o JVM, un conjunto de bibliotecas

Java y otros componentes necesarios para que una aplicación escrita en lenguaje

Java pueda ser ejecutada. El JRE actúa como un "intermediario" entre el sistema

operativo y Java.

La JVM es el programa que ejecuta el código Java previamente compilado

(ByteCode) mientras que las librerías de clases estándar son las que implementan

Page 86: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

65

el API de Java. Ambas JVM y API deben ser consistentes entre sí, de ahí que sean

distribuidas de modo conjunto. Un usuario sólo necesita el JRE para ejecutar las

aplicaciones desarrolladas en lenguaje Java, mientras que para desarrollar nuevas

aplicaciones en dicho lenguaje es necesario un entorno de desarrollo, denominado

JDK, que además del JRE (mínimo imprescindible) incluye, entre otros, un

compilador para Java. La plataforma es así llamada la plataforma Java (antes

conocida como Plataforma Java 2, e incluye:

Plataforma Java, Edición Estándar (Java Platform, Standard Edition), o

Java SE (antes J2SE)

Plataforma Java, Edición Empresa (Java Platform, Enterprise Edition), o

Java EE (antes J2EE)

Plataforma Java, Edición Micro (Java Platform, Micro Edition), o

Java ME (antes J2ME)

J2SE.

Java Platform, Standard Edition o Java SE (conocido anteriormente hasta la

versión 5.0 como Plataforma Java 2, Standard Edition o J2SE), es una colección

de APIs del lenguaje de programación Java útiles para muchos programas de la

Plataforma Java. La Plataforma Java 2, Enterprise Edition incluye todas las clases

en el Java SE, además de algunas de las cuales son útiles para programas que se

ejecutan en servidores sobre Workstation.

Page 87: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

66

J2EE.

Java Platform, Enterprise Edition o Java EE (anteriormente conocido como Java 2

Platform, Enterprise Edition o J2EE hasta la versión 1.4), es una plataforma de

programación parte de la Plataforma Java para desarrollar y ejecutar software de

aplicaciones en el lenguaje de programación Java con arquitectura de N capas

distribuidas y que se apoya ampliamente en componentes de software modulares

ejecutándose sobre un servidor de aplicaciones. La plataforma Java EE está

definida por una especificación. Similar a otras especificaciones del Java

Community Process, Java EE es también considerada informalmente como un

estándar debido a que los proveedores deben cumplir ciertos requisitos de

conformidad para declarar que sus productos son conformes a Java EE;

estandarizado por The Java Community Process / JCP.

Java EE incluye varias especificaciones de API, tales como JDBC, RMI, e-mail,

JMS, Servicios Web, XML, etc. y define cómo coordinarlos. Java EE también

configura algunas especificaciones únicas para Java EE para componentes. Estas

incluyen Enterprise JavaBeans, servlets, portlets (siguiendo la especificación de

Portlets Java), JavaServer Pagés y varias tecnologías de servicios web. Ello

permite al desarrollador crear una Aplicación de Empresa portable entre

plataformas y escalable, a la vez que integrable con tecnologías anteriores. Otros

beneficios añadidos son, por ejemplo, que el servidor de aplicaciones puede

manejar transacciones, la seguridad, escalabilidad, concurrencia y gestión de los

componentes desplegados, significando que los desarrolladores pueden

Page 88: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

67

concentrarse más en la lógica de negocio de los componentes en lugar de en tareas

de mantenimiento de bajo nivel.

J2ME.

La plataforma Java Micro Edition, o anteriormente Java 2 Micro Edition (J2ME),

es una especificación de un subconjunto de la plataforma Java orientada a proveer

una colección certificada de APIs de desarrollo de software para dispositivos con

recursos restringidos. Está orientado a productos de consumo como PDAs,

teléfonos móviles o electrodomésticos.

Java ME se ha convertido en una buena opción para crear juegos en teléfonos

móviles debido a que se puede emular en un PC durante la fase de desarrollo y

luego subirlos fácilmente al teléfono. Al utilizar tecnologías Java el desarrollo de

aplicaciones o videojuegos con estas APIs resulta bastante económico de portar a

otros dispositivos.

Java ME fue desarrollado mediante el Java Community Process bajo la

especificación JSR 68. La evolución de la plataforma ha propiciado el abandono

de las Java Especificación Raques (peticiones de especificación para Java) en

favor de JSRs separadas para las distintas versiones de Java ME.

Page 89: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

68

API-Interfaces de Programación de aplicaciones

Es el conjunto de funciones y procedimientos o métodos, en la programación

orientada a objetos que ofrece cierta biblioteca para ser utilizado por otro software

como una capa de abstracción. Son usadas generalmente en las bibliotecas

(también denominadas comúnmente "librerías").

JDBC.

Java Data Base Connectivity, más conocida por sus siglas JDBC, es una API que

permite la ejecución de operaciones sobre bases de datos desde el lenguaje de

programación Java, independientemente del sistema operativo donde se ejecute o

de la base de datos a la cual se accede, utilizando el dialecto SQL del modelo de

base de datos que se utilice.

El Api Jdbc se presenta como una colección de interfaces Java y métodos de

gestión de manejadores de conexión hacia cada modelo específico de base de

datos. Un manejador de conexiones hacia un modelo de base de datos en

particular es un conjunto de clases que implementan las interfaces Java y que

utilizan los métodos de registro para declarar los tipos de localizadores a base de

datos (URL) que pueden manejar. Para utilizar una base de datos particular, el

usuario ejecuta su programa junto con la biblioteca de conexión apropiada al

modelo de su base de datos, y accede a ella estableciendo una conexión, para ello

provee el localizador a la base de datos y los parámetros de conexión específicos.

A partir de allí puede realizar con cualquier tipo de tareas con la base de datos a

Page 90: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

69

las que tenga permiso: consulta, actualización, creación, modificación y borrado

de tablas, ejecución de procedimientos almacenados en la base de datos, etc.

RMI.

RMI (Java Remote Method Invocation) es un mecanismo ofrecido por Java para

invocar un método de manera remota. Forma parte del entorno estándar de

ejecución de Java y proporciona un mecanismo simple para la comunicación de

servidores en aplicaciones distribuidas basadas exclusivamente en Java. Si se

requiere comunicación entre otras tecnologías debe utilizarse CORBA o SOAP en

lugar de RMI.

RMI se caracteriza por la facilidad de su uso en la programación por estar

específicamente diseñado para Java; proporciona paso de objetos por referencia

(no permitido por SOAP), recolección de basura distribuida (Garbage Collector

distribuido) y paso de tipos arbitrarios (funcionalidad no provista por CORBA).

A través de RMI, un programa Java puede exportar un objeto, con lo que dicho

objeto estará accesible a través de la red y el programa permanece a la espera de

peticiones en un puerto TCP. A partir de ese momento, un cliente puede

conectarse e invocar los métodos proporcionados por el objeto.

La invocación se compone de los siguientes pasos:

Encapsulado (marshalling) de los parámetros (utilizando la funcionalidad

de socialización de Java).

Page 91: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

70

Invocación del método (del cliente sobre el servidor). El invocador se

queda esperando una respuesta.

Al terminar la ejecución, el servidor serializa el valor de retorno (si lo hay)

y lo envía al cliente.

El código cliente recibe la respuesta y continúa como si la invocación

hubiera sido local.

JMS

La API Java Message Service, también conocida por sus siglas JMS, es la

solución creada por Sun Microsystems para el uso de colas de mensajes. Este es

un estándar de mensajería que permite a los componentes de aplicaciones basados

en la plataforma Java2 crear, enviar, recibir y leer mensajes. También hace posible

la comunicación confiable de manera síncrona y asíncrona.

El servicio de mensajería instantánea también es conocido como Middleware

Orientado a Mensajes (MOM por sus siglas en inglés) y es una herramienta

universalmente reconocida para la construcción de aplicaciones empresariales.

Dicha API es parte integral de la versión 2 de Java.

Existen dos modelos de la API JMS, los cuales son:

Modelo Punto a Punto: Este modelo cuenta con solo dos clientes, uno que envía

el mensaje y otro que lo recibe. Este modelo asegura la llegada del mensaje ya que

si el receptor no está disponible para aceptar el mensaje o atenderlo, de cualquier

Page 92: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

71

forma se le envía el mensaje y este se encola en una pila del tipo FIFO para luego

ser recibido según haya entrado.

Modelo Publicador/Suscriptor: Este modelo cuenta con varios clientes, unos

que publican temas o eventos, y los que ven estos tópicos, a diferencia del modelo

punto a punto este modelo tiende a tener más de un consumidor.

Ambos modelos pueden ser síncronos mediante el método receiver y asíncronos

por medio de un MessageListener.

Las versiones de java que han salido son las siguientes.

JDK1.0 en 1996

JDK 1.1 en 1997

J2SE 1.2en 1998

2SE 1.3 en 2000

J2SE 1.4 en 2002

J2SE en 2004

Java SE 6 en 2006

La característica de java viene dado por tres elementos claves que diferencian a

este lenguaje.

Es un lenguaje de programación que ofrece la potencia del diseño

orientado a objetos con una sintaxis fácilmente accesible y un entorno

robusto y agradable.

Proporciona un conjunto de clases potente y flexible.

Page 93: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

72

Pone al alcance de cualquiera la utilización de aplicaciones que se pueden

incluir directamente en páginas Web

Java es orientado a Objetos.

En este aspecto Java fue diseñado partiendo de cero, no siendo derivado de otro

lenguaje anterior y no tiene compatibilidad con ninguno de ellos.

En Java el concepto de objeto resulta sencillo y fácil de ampliar. Además se

conservan elementos como números, caracteres y otros tipos de datos simples.

Java Contiene Riqueza Semántica.

Pese a su simpleza se ha conseguido un considerable potencial, y aunque cada

tarea se puede realizar de un número reducido de formas, se ha conseguido un

gran potencial de expresión e innovación desde el punto de vista del programador

Java es robusto.

Java verifica su código al mismo tiempo que lo escribe, y una vez más antes de

ejecutarse, de manera que se consigue un alto margen de codificación sin errores.

Se realiza un descubrimiento de la mayor parte de los errores durante el tiempo de

compilación, ya que Java es estricto en cuanto a tipos y declaraciones, y así lo que

es rigidez y falta de flexibilidad se convierte en eficacia. Respecto a la gestión de

memoria, Java libera al programador del compromiso de tener que controlar

especialmente la asignación que de ésta hace a sus necesidades específicas.

Page 94: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

73

Java Contiene un Modelado de Objetos.

Existen varias clases que contienen las abstracciones básicas para facilitar a los

programas. Para ello se contará con un conjunto de clases comunes que pueden

crecer para admitir todas las necesidades del programador.

Además la biblioteca de clases de Java proporciona un conjunto de protocolos.

El conjunto de clases más complicado de Java son sus paquetes gráficos AWT

(Abstract Window Toolkit) y Swing. Estos paquetes implementan componentes de

una interfaz de usuario gráfica básica común a todos los ordenadores personales

modernos.

Java es de fácil Aprendizaje.

El único requerimiento para aprender Java es tener conocimiento de los conceptos

básicos de la programación orientada a objetos, con el conocimiento de esta teoría

y los conceptos inmersos en ellos así como herencia, polimorfismo, métodos

sobrecargados.

Java es completado con utilidades.

El paquete de Java viene con un conjunto completo de estructuras de datos

complejas y sus métodos asociados, que serán de inestimable ayuda para

implementar aplicaciones más complejas. Se dispone también de estructuras de

datos habituales, como pilas y tablas hash, como clases ya implementadas. El

JDK (Java Development Kit) suministrado por Sun Microsystems incluye un

Page 95: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

74

compilador, un intérprete de aplicaciones, un depurador en línea de comandos, y

un visualizador de applets entre otros elementos.

Java es interactivo y Animado.

Uno de los requisitos de Java desde sus inicios fue la posibilidad de crear

programas en red interactivos, por lo que es capaz de hacer varias cosas a la vez

sin perder rastro de lo que debería suceder y cuándo. Las aplicaciones de Java

permiten situar figuras animadas en las páginas Web, y éstas pueden concebirse

con logotipos animados o con texto que se desplace por la pantalla. También

pueden tratarse gráficos generados por algún proceso. Estas animaciones pueden

ser interactivas, permitiendo al usuario un control sobre su apariencia.

Java Contiene Arquitectura Neutral

Java está diseñado para que un programa escrito en este lenguaje sea ejecutado

correctamente independientemente de la plataforma en la que se esté actuando,

solo se necesita que la maquina donde se va a ejecutar la tenga el runtime o JRE

como más se lo conoce, por ello se puede ejecutar en cualquier sistema operativo.

Java Permite Trabajos en Red.

Java anima las páginas Web y hace posible la incorporación de aplicaciones

interactivas y especializadas. Aporta la posibilidad de distribuir contenidos

ejecutables, de manera que los suministradores de información de la Web pueden

crear una página de hipertexto (página Web) con una interacción continuada y

Page 96: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

75

compleja en tiempo real; el contenido ejecutable es transferido literalmente al

ordenador del usuario.

Java proporciona un conjunto de clases para tratar con conectores de red

conocidos como originales de la versión UNIX de Berckley, encapsular la noción

de una dirección de Internet o conectar sockets con flujos de datos de

Entrada/Salida.

Java Ofrece más Seguridad.

Existe una preocupación lógica en Internet por el tema de la seguridad: virus,

caballos de Troya, y programas similares navegan de forma usual por la red,

constituyendo una amenaza palpable. Java ha sido diseñado poniendo un énfasis

especial en el tema de la seguridad, por lo que el control sobre los programas

ejecutables no es equiparable a otros lenguajes.

Los niveles de seguridad que presenta son:

Fuertes restricciones al acceso a memoria, como son la eliminación de

punteros aritméticos y de operadores ilegales de transmisión.

Rutina de verificación de los códigos de byte que asegura que no se viole

ninguna construcción del lenguaje.

Verificación del nombre de clase y de restricciones de acceso durante la

carga.

Page 97: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

76

Sistema de seguridad de la interfaz que refuerza las medidas de seguridad

en muchos niveles.

Java Esta Basado el Lenguaje C++.

Java fue desarrollado basándose en C++. Básicamente, encontramos las siguientes

diferencias con C++:

Java no soporta los tipos struct, union ni punteros.

No soporta typedef ni #define.

Se distingue por su forma de manejar ciertos operadores y no permite una

sobrecarga de operadores.

No soporta herencia múltiple.

Java maneja argumentos en la línea de comandos de forma diversa a como

lo hacen C o C++.

Tiene una clase String que es parte del paquete java.lang y se diferencia de

la matriz de caracteres terminada con un nulo que usan C y C++.

Java cuenta con un sistema automático para asignar y liberar memoria, con

lo que no es necesario utilizar las funciones previstas con este fin en C y

C++.

Java Es Multitareas.

Java permite ejecutar procesos en paralelo aplicando hilos (Threads), esta

ejecución en paralelo disminuye el tiempo de respuesta en procesos extensos.

Page 98: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

77

Java es Portable.

Un programa Java puede ser ejecutado en diferentes entornos. Para desarrollar una

aplicación java se consideran los siguientes conceptos:

Interfaces.

Una interfaz en Java es una colección de métodos abstractos y propiedades. En

ellas se especifica qué se debe hacer pero no su implementación.

Serán las clases que implementen estas interfaces las que describan la lógica del

comportamiento de los métodos.

Clases.

Una clase define la forma y comportamiento de un objeto, se utiliza como un

modelo de plantillas de conceptos comunes, en una clases de definen los atributos

y los métodos, el modelo de una clase describe el estado y contiene y define el

comportamiento de los objetos. Por lo usual una clase se define a los sustantivos

así como por ejemplo una persona, animal o cosa.

Métodos.

Los métodos son las acciones funciones o procedimientos que realiza nuestro

programa;

Los métodos son subrutinas que manipulan los datos definidos por una clase.

Características de los métodos:

Contiene una o más declaraciones

Page 99: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

78

Cada método tiene un nombre y este nombre se utiliza para llamar al

método (las palabras clave no pueden ser utilizadas como el nombre del

método).

Debe llevar paréntesis después del nombre.

El método main () está reservado por java como el método que inicializa la

ejecución del programa.

Atributos.

Son características de una clase que están dadas por las variables y/o constantes de

la misma.

Los diferentes tipos de aplicaciones que se pueden desarrollar con java son:

Aplicaciones:

Se ejecutan sin necesidad de un navegador.

GRÁFICO No.6

Aplicaciones.

Fuente:http://escribojava.blogspot.com/2011/01/como-enviar-correos-emails-desde-java.html

Elaborado: http://://escribojava.blogspot.com/2011/01/como-enviar-correos-emails-desde-java.html

Page 100: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

79

Applets

Se pueden descargar de Internet y se observan en un navegador. Usando la

máquina virtual de java, o utilizando una herramienta propia de SUN que es la

AppletViewer. Las diferentes ventajas que ofrece un applet es la seguridad para el

acceso a la información, así como no se permite la descarga del código fuente

inmersa en el applet.

GRÁFICO No. 7

Applets

Fuente:

http://www.google.com.ec/imgres?imgurl=http://www.escolessas.com/cesf/images/quefanalumnes/cda2a_g.jpg&imgrefurl=http://ww

w.escolessas.com/cesf/index.php%3Foption%3Dcom_content%26task%3Dview%26id%3D51%26Itemid%3D66%26lang%3Dspani

sh&usg=__yU_tAj4q5iLbPv8mn4RvGA6Lg6k=&h=543&w=544&sz=71&hl=es&start=3&zoom=1&tbnid=N6A5AASg_Pf39M:&tbn

h=133&tbnw=133&ei=InbjTpH2O4SbtwesnuidBQ&prev=/search%3Fq%3Daplicaciones%2Bapplet%2Bjava%26um%3D1%26hl

%3Des%26sa%3DN%26biw%3D1280%26bih%3D697%26tbm%3Disch&um=1&itbs=1

JavaBeans

Componentes software Java, que se puedan incorporar gráficamente a otros

componentes, se utilizan para encapsular varios objetos en un solo objeto en

Page 101: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

80

lugar de varios objetos simples, la definición correcta de java beans es

componentes de software reutilizables que se puedan manipular visualmente en

una herramienta de construcción. El comportamiento de los java beans se definen

las interfaces, clases bases y heredadas.

GRÁFICO No. 8

JavaBeans

Grafico No.8 JavaBeans

Fuente : http://www.google.com.ec/imgres?imgurl=http://3.bp.blogspot.com/_jbOU0tiejJQ/TKJVNOphTxI/AAAAAAAAABw/zQ87z7H-

xs8/s1600/tiposContenedores.jpg&imgrefurl=http://ricardo84-javabasico.blogspot.com/2010/09/tipos-de-contenedores-java-

ee.html&usg=__5JXrYmNTT7tqBz_XSEpSAtW3dsU=&h=500&w=800&sz=100&hl=es&start=1&zoom=1&tbnid=nk5c9RHPIlTwIM:&tbnh=89&tbnw=1

43&ei=W3njTr_nA8-

WtwflhZDEBA&prev=/search%3Fq%3Daplicaciones%2BBeans%2Bjava%26um%3D1%26hl%3Des%26sa%3DN%26biw%3D1280%26bih%3D697%2

6tbm%3Disch&um=1&itbs=

Elaborado Por: http://www.google.com.ec/imgres?imgurl=http://3.bp.blogspot.com

Java Script

Conjunto del lenguaje Java que puede codificarse directamente sobre cualquier

documento HTML, este código se ejecuta principalmente en el lado de los

clientes, haciendo que las paginas desarrolladas sean más dinámicas, JavaScript es

Page 102: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

81

un lenguaje fundamental utilizado para el desarrollo de aplicaciones web, junto

con css conforman las partes fundamentales en el desarrollo de una página web.

GRÁFICO No.9

JavaScript

Fuente: Héctor William Pilligua Robalino

Elaborado Por: Héctor William Pilligua Robalino.

Servlet

Son módulos que permiten sustituir o utilizar el lenguaje Java en lugar de

programas a la hora de dotar de interactividad a las páginas Web, un servlet

funciona de la misma manera que funciona un aplicativo, con limitaciones, como

por ejemplo no se pueden procesar archivos planos o imágenes, mas es útil para

procesamiento de datos, uso de formularios y otras funciones básicas de las

aplicaciones java.

GRÁFICO 10

Page 103: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

82

Servlets

Grafico No 10. Servlets.

Fuente : http://www.google.com.ec/imgres?imgurl=http://www.xtrawebsolutions.com/wp-content/uploads/2011/05/java-

servlet.jpg&imgrefurl=http://www.xtrawebsolutions.com/2011/05/30/java-

servlet/&usg=__HuQz1bLnI_YyyG5_4X6jJSwF3Bk=&h=260&w=540&sz=18&hl=es&start=1&zoom=1&tbnid=hnmBivTUesqI7M:&tbnh=64&tbnw=132

&ei=ZHrjTpaOAZHMtgeluMziDg&prev=/search%3Fq%3DSERVLET%2Bjava%26um%3D1%26hl%3Des%26sa%3DN%26biw%3D1280%26bih%3D

697%26tbm%3Disch&um=1&itbs=1

Elaborado Por: http://www.google.com.ec/imgres

PLATAFORMA .NET

La ´plataforma de desarrollo de .NET Framework supone el cambio más

importante en la tecnología en la metodología de desarrollo de software para un

sistema operativo de Microsoft, este entorno está construido usando una

arquitectura que permite a los lenguajes de software trabajar juntos compartiendo

códigos y recursos, proporcionando a los programadores herramientas avanzadas

necesarias para construir la siguiente generación de aplicaciones de escritorio y de

internet,

Entre los diferentes lenguajes de programación que se encuentra en CSharp, visual

Basic, java#, c++, cristal report. En los lenguajes contenidos dentro de los

framework de .net se utiliza en mayor instancia la programación orientada a

objetos.

Page 104: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

83

Microsoft desarrollo CSharp desde su base para aprovechar el nuevo entorno de

.net. El framework de Microsoft se compone de 4 partes, el entorno común de

ejecución, conjunto de bibliotecas de clases, grupos de lenguajes de programación

y el entorno ASP.NET, esto fue diseñado con 3 objetivos en mente.

Deberá desarrollar aplicaciones Windows más estables, proporcionando

mayor seguridad.

Deberá simplificar el desarrollo de aplicaciones y servicios web, funcional

en entorno de escritorio como entorno móvil.

Proporcionar un solo grupo de bibliotecas que puedan trabajar con varios

lenguajes

BIBLIOTECAS DE CLASES .NET

Muchos lenguajes han tenido acceso a cuerpo de código previamente comprobado

y listo para ser ejecutado, visual C++ se ha beneficiado de las bibliotecas de

clases, como las Clases de Fundación Microsoft( MFC), que permite a los

programadores desarrollar aplicaciones de escritorio de una manera rápida, que

proporciona facilidad para crear objetos COM

COM

COM son protocolos que permiten la colaboración entre objetos desarrollados con

diferentes lenguajes y herramientas, y que pueden residir en diferentes procesos o

incluso máquinas. Los componentes COM existentes son recursos muy valiosos

en código administrado como aplicaciones empresariales de nivel medio o

Page 105: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

84

funcionalidad aislada. Un componente ideal tiene un ensamblado de

interoperabilidad primario y cumple rigurosamente los estándares de

programación que impone COM.

Common Language Runtime (CLR)

El CLR es el núcleo de la plataforma .NET, es el entorno encargado de gestionar

la ejecución de las aplicaciones desarrolladas en la misma y ofrece numerosos

servicios que simplifican su desarrollo, favoreciendo su fiabilidad y seguridad. El

El CLR es el encargado de compilar un código intermedio llamado Common

Intermédiate Language (CIL) o conocida anteriormente como MSLI al código de

maquina nativo, mediante un compilador en tiempo de ejecución, una vez que el

código se encuentra compilado, se ejecuta nativamente sin intervención de una

capa de abstracción sobre el hardware.

Las principales características y servicios que ofrece el CLR son:

• Modelo de programación consistente: A todos los servicios y facilidades

ofrecidas por el CLR se accede de la misma forma, a través de un modelo de

programación orientado a objetos. Esto es una diferencia importante respecto al

modo de acceso a los servicios ofrecidos por algunos sistemas operativos actuales.

• Modelo de programación sencillo: Con el CLR desaparecen muchos elementos

complejos incluidos en los sistemas operativos actuales (registro de Windows,

Page 106: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

85

GUIDs, HRESULTS, etc.). El CLR no es que abstraiga al programador de estos

conceptos, sino que son conceptos que no existen en la plataforma .NET.

• Eliminación del “infierno de las DLLs”: En la plataforma .NET desaparece el

problema conocido como “infierno de las DLLs” que se da en los sistemas

operativos actuales de la familia Windows, problema que consiste en que al

sustituirse versiones viejas de DLLs compartidas por versiones nuevas puede que

aplicaciones que fueron diseñadas para ser ejecutadas usando las viejas dejen de

funcionar si las nuevas no son 100% compatibles con las anteriores.

En la plataforma .NET las versiones nuevas de las DLLs pueden coexistir con las

viejas, de modo que las aplicaciones diseñadas para ejecutarse usando las viejas

podrán seguir usándolas tras la instalación de las nuevas. Esto, obviamente,

simplifica mucho la instalación y desinstalación de software.

• Ejecución multiplataforma: El CLR actúa como una máquina virtual,

encargándose de ejecutar las aplicaciones diseñadas para la plataforma .NET. Es

decir, cualquier plataforma para la que exista una versión del CLR podrá ejecutar

cualquier aplicación .NET.

“Creo que Microsoft nombró. Net para que no se muestran en

una lista de directorios Unix” (Oktal)

Page 107: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

86

Microsoft ha desarrollado versiones del CLR para la mayoría de las versiones de

Windows: Windows 95, Windows 98, Windows ME, Windows NT 4.0, Windows

2000, Windows XP y Windows CE (que puede ser usado en CPUs que no sean de

la familia x86).

Por otro lado Microsoft ha firmado un acuerdo con Corel para portar el CLR a

Linux y también hay terceros que están desarrollando de manera independiente

versiones de libre distribución del CLR para Linux. Asimismo, dado que la

arquitectura del CLR está totalmente abierta, es posible que en el futuro se

diseñen versiones del mismo para otros sistemas operativos.

• Integración de lenguajes: Desde cualquier lenguaje para el que exista un

compilador que genere código para la plataforma .NET es posible utilizar código

generado para la misma usando cualquier otro lenguaje. Microsoft ha desarrollado

un compilador de C# que genera código de este tipo, así como versiones de sus

compiladores de Visual Basic (Visual Basic.NET) y C++ (C++ con extensiones

gestionadas) que también lo generan, y una versión del intérprete de JScript

(JScript.NET) que puede interpretarlo.

La integración de lenguajes consiste en escribir una clase en C#, que herede de

otra escrita en Visual Basic.NET, que a su vez, herede de otra escrita en C++ con

extensiones gestionadas.

Page 108: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

87

• Gestión de memoria: El CLR incluye un recolector de basura que evita que el

programador tenga que tener en cuenta cuándo ha de destruir los objetos que dejen

de serle útiles. Este recolector es una aplicación que se activa cuando se quiere

crear algún objeto nuevo y se detecta que no queda memoria libre para hacerlo,

caso en que el recolector recorre la memoria dinámica asociada a la aplicación,

detecta qué objetos hay en ella que no puedan ser accedidos por el código de la

aplicación, y los elimina para limpiar la memoria de “objetos basura” y permitir

la creación de otros nuevos.

Seguridad de tipos: El CLR facilita la detección de errores de programación

difíciles de localizar comprobando que toda conversión de tipos que se realice

durante la ejecución de una aplicación .NET se haga de modo que los tipos origen

y destino sean compatibles.

• Aislamiento de procesos: El CLR asegura que desde el código perteneciente a

un determinado proceso no se pueda acceder a código o datos pertenecientes a

otro, lo que evita errores de programación muy frecuentes e impide que unos

procesos puedan atacar a otros.

• Tratamiento de excepciones: En el CLR todos los errores que se puedan

producir durante la ejecución de una aplicación se propagan de igual manera

mediante excepciones. Esto es muy diferente a como se venía haciendo en los

sistemas Windows hasta la aparición de la plataforma .NET, donde ciertos errores

Page 109: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

88

se transmitían mediante códigos de error en formato Win32, otros mediante

HRESULTs y otros mediante excepciones.

El CLR permite que excepciones lanzadas desde código para .NET escrito en un

cierto lenguaje se puedan capturar en código escrito usando otro lenguaje, e

incluye mecanismos de depuración que pueden saltar desde código escrito para

.NET en un determinado lenguaje a código escrito en cualquier otro. Por ejemplo,

se puede recorrer la pila de llamadas de una excepción aunque ésta incluya

métodos definidos en otros módulos usando otros lenguajes.

• Soporte multihilo: El CLR es capaz de trabajar con aplicaciones divididas en

múltiples hilos de ejecución que pueden ir evolucionando por separado, en

paralelo o intercalándose, según el número de procesadores de la máquina sobre la

que se ejecuten. Las aplicaciones pueden lanzar nuevos hilos, destruirlos,

suspenderlos por un tiempo o hasta que les llegue una notificación, enviarles

notificaciones, sincronizarlos, etc.

• Distribución transparente: El CLR ofrece la infraestructura necesaria para

crear objetos remotos y acceder a ellos de manera completamente transparente a

su localización real, tal y como si se encontrasen en la máquina que los utiliza.

• Seguridad avanzada: El CLR proporciona mecanismos para restringir la

ejecución de ciertos códigos o los permisos asignados a los mismos según su

Page 110: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

89

procedencia o el usuario que los ejecute. Es decir, puede no darse el mismo nivel

de confianza a código procedente de internet que a código instalado localmente o

procedente de una red local; puede no darse los mismos permisos a código

procedente de un determinado fabricante que a código de otro; y puede no darse

los mismos permisos a un mismo código según el usuario que lo esté ejecutando

o según el rol que éste desempeñe. Esto permite asegurar al administrador de un

sistema que el código que se esté ejecutando no pueda poner en peligro la

integridad de sus archivos, la del registro de Windows, etc.

• Interoperabilidad con código antiguo: El CLR incorpora los mecanismos

necesarios para poder acceder desde código escrito para la plataforma .NET a

código escrito previamente a la aparición de la misma y, por tanto, no preparado

para ser ejecutado dentro de ella. Estos mecanismos permiten tanto el acceso a

objetos COM como el acceso a funciones sueltas de DLLs preexistentes.

Microsoft Intermediate Language (MSIL)

Todos los compiladores que generan código para la plataforma .NET no generan

código máquina para algún tipo de CPU concreta, sino que generan código escrito

en el lenguaje intermedio conocido como Microsoft Intermediate Lenguage

(MSIL).

El CLR da a las aplicaciones la sensación de que se están ejecutando sobre una

máquina virtual, y precisamente MSIL es el código máquina de esa máquina

Page 111: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

90

virtual. Es decir, MSIL es el único código que es capaz de interpretar el CLR, y

por tanto cuando se dice que un compilador genera código para la plataforma

.NET lo que se está diciendo es que genera MSIL.

MSIL ha sido creado por Microsoft tras consultar a numerosos especialistas en la

escritura de compiladores y lenguajes tanto del mundo académico como

empresarial. Es un lenguaje de un nivel de abstracción mucho más alto que el de

la mayoría de los códigos máquina de las CPUs existentes, e incluye instrucciones

que permiten trabajar directamente con objetos (crearlos, destruirlos,

inicializarlos, llamar a métodos virtuales, etc.), tablas y excepciones (lanzarlas,

capturarlas y tratarlas).

La principal ventaja del MSIL es que facilita la ejecución multiplataforma y la

integración entre lenguajes al ser independientes de la CPU y proporcionar un

formato común para el código máquina generado por todos los compiladores que

generen código para .NET. A partir de los fundamentos anteriores se enuncian las

principales ventas y desventajas que ofrece la plataforma .NET.

Ventajas

Movilidad.- Las aplicaciones pueden ser ejecutadas en diferentes tipos de

dispositivos.

Page 112: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

91

Basado en objetos. Ofrece un modelo de desarrollo basado en objetos que

utilizan un sistema común de datos y estos pueden ser reutilizados solo llamando

al objeto en donde se necesite.

Herencia de clases.- Las clases incluidas en el framework pueden ser

utilizadas independientemente del lenguaje que se utilice, esto gracias al

mecanismo de herencia propio de la programación orientada a objetos.

Interoperabilidad Multilenguaje: .NET soporta aplicaciones con

componentes en múltiples lenguajes lo que permite integrar desarrolladores de

distintos perfiles.

Rendimiento: Todos los códigos que se ejecutan en el ambiente .NET son

compilados, lo cual proporciona un gran rendimiento a diferencia de versiones

interpretadas.

Escalabilidad y flexibilidad: Escalabilidad es la capacidad de un sistema para

soportar más carga de trabajo, usualmente debida al aumento de usuarios que lo

utilizan. .NET ofrece métodos de escalabilidad como la carga balanceada que

permite a un clúster de servidores (varios servidores) colaborar y dar un servicio

de forma simultánea.

Seguridad: .NET da respaldo para ejecutar código no seguro.

Estándar abierto: La plataforma .NET está basada en estándares (HTML,

XML, SOAP, WSDL, UDDI)

Desventajas

No es multiplataforma, solo está disponible para Windows.

Page 113: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

92

Alto costo para empresas, punto net no cuenta con licenciamiento libre, por lo

tanto, el desarrollar en esta plataforma se genera un alto costo.

Portabilidad, ofrece una portabilidad muy reducida ya que solo se puede

ejecutar en sistemas Windows.

En la plataforma .NET son utilizados distintos tipos de lenguaje de programación.

Considerando su actualidad se caracteriza a continuación el lenguaje de

programación C#.

Lenguaje de Programación C#

Marco Antonio Besteiro (2002) en su libro “Microsoft Visual C# .NET.

Referencia del lenguaje”, C# (pronunciado si Sharp en inglés), su nombre fue

inspirado por la notación musical, donde '#' (sostenido, en inglés Sharp) indica

que la nota (C es la nota do en inglés) es un semitono más alta, sugiriendo que C#

es superior a C/C++. Además, el signo '#' se compone de cuatro signos '+'

pegados.

Es un lenguaje de programación orientado a objetos desarrollado y estandarizado

por Microsoft como parte de su plataforma .NET. C# es uno de los lenguajes de

programación diseñados para la infraestructura de lenguaje común.

Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma

.NET, similar al de Java, aunque incluye mejoras derivadas de otros lenguajes.

Page 114: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

93

Aunque es posible escribir código para la plataforma .NET en muchos otros

lenguajes, C# es el único que ha sido diseñado específicamente para ser utilizado

en ella, por lo que programarla usando C# es mucho más sencillo e intuitivo que

hacerlo con cualquiera de los otros lenguajes ya que C# carece de elementos

heredados innecesarios en .NET. Por esta razón, se suele decir que C# es el

lenguaje nativo de .NET.

La sintaxis y estructuración de C# es muy similar a la C++, ya que la intención de

Microsoft con C# es facilitar la migración de códigos escritos en estos lenguajes a

C# y facilitar su aprendizaje a los desarrolladores habituados a ellos. Sin embargo,

su sencillez y el alto nivel de productividad son equiparables a los de Visual

Basic.

Un lenguaje que hubiese sido ideal utilizar para estos menesteres es Java, pero

debido a problemas con la empresa creadora del mismo (Sun)-, Microsoft ha

tenido que desarrollar un nuevo lenguaje que añadiese a las ya probadas virtudes

de Java las modificaciones que Microsoft tenía pensado añadirle para mejorarlo

aún más y hacerlo un lenguaje orientado al desarrollo de componentes.

Las ventajas y desventajas de esta tecnología se enuncian a continuación:

Ventajas:

Tipos de datos: En C# existe un rango más amplio y definido de tipos de datos

que los que se encuentran en C, C++ o Java.

Page 115: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

94

Atributos: Cada miembro de una clase tiene un atributo de acceso del tipo

público, protegido, interno, interno protegido y privado.

Pase de parámetros: Aquí se puede declarar a los métodos para que acepten

un número variable de parámetros. De forma predeterminada, el pase de

parámetros es por valor, a menos que se use la palabra reservada ref, la cual indica

que el pase es por referencia.

Métodos virtuales y redefiniciones: Antes de que un método pueda ser

redefinido en una clase base, debe declararse como virtual. El método redefinido

en la subclase debe ser declarado con la palabra override.

Propiedades: Un objeto tiene propiedades, y debido a que las clases en C#

pueden ser utilizadas como objetos, C# permite la declaración de propiedades

dentro de cualquier clase.

Inicializador: Un inicializador es como una propiedad, con la diferencia de

que en lugar de un nombre de propiedad, un valor de índice entre corchetes se

utiliza en forma anónima para hacer referencia al miembro de una clase.

Control de versiones: C# permite mantener múltiples versiones de clases en

forma binaria, colocándolas en diferentes espacios de nombres. Esto permite que

versiones nuevas y anteriores de software puedan ejecutarse en forma simultánea.

Desventajas:

Conseguir una versión reciente de Visual Studio .NET, por otra parte se tiene

que tener algunos requerimientos mínimos del sistema para poder trabajar

Page 116: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

95

adecuadamente tales como contar con Windows NT 4 o superior, tener alrededor

de 4 gigas de espacio libre para la pura instalación.

Además para quien no está familiarizado con ningún lenguaje de

programación, le costará más trabajo iniciarse en su uso, y si se quiere consultar

algún tutorial más explícito sobre la programación en C# se tendría que contar

además con conexión a Internet.

En la actualidad se ha desarrollado tecnologías gratuitas que permiten a los

programadores crear páginas web dinámicas, desde sitios web personales hasta

aplicaciones web empresariales, desarrollado y comercializado por Microsoft.

BLACKBERRY.

Es una línea de teléfonos inteligentes que integran el servicio de correo

electrónico móvil. BlackBerry fue desarrollado por la compañía canadiense

Research In Motion (RIM). Aunque incluye aplicaciones típicas es

fundamentalmente conocido por su capacidad para enviar y recibir correo

electrónico de Internet accediendo a las redes móviles de compañías de teléfono

celular que brindan este servicio.

El primer dispositivo BLACKBERRY fue el 1990 y se introdujo en 1999 y

funcionaba como un localizador de cinco vías. En 2002, el BlackBerry más

conocido fue puesto en el mercado. Este BlackBerry soporta push e-mail,

telefonía móvil, mensajería de texto, faxes por Internet, navegación web y otros

Page 117: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

96

servicios de información inalámbrica. Actualmente el dispositivo BlackBerry más

vendido y utilizado por los usuarios es el BlackBerry Curve 8520.

GRÁFICO No. 11

Grafico No. 11 BlackBerry

Fuente : http://www.google.com.ec/imgres?imgurl=http://www.wayerless.com/up/2009/10/rim-blackberry-bold-9700-

ofc.jpg&imgrefurl=http://www.wayerless.com/2009/12/felices-10-anos-blackberry/&usg=__YKQIfto8yzI0g-

rd1vzHas2Ge1A=&h=500&w=575&sz=149&hl=es&start=11&zoom=1&tbnid=d1DCEXNU6istPM:&tbnh=117&tbnw=134&ei=w3rjTuXDEMm4tgekkM

HrBA&prev=/search%3Fq%3DBlackBerry%26um%3D1%26hl%3Des%26sa%3DN%26biw%3D1280%26bih%3D697%26tbm%3Disch&um=1&itbs=1

La mayoría de los modelos actuales de BlackBerry tienen incorporado un teclado

QWERTY, optimizado para " hojear ", utilizando únicamente de los pulgares para

escribir. También hay varios modelos que incluyen un teclado SureType para

escribir. No todos los modelos tienen un teclado ya que hay varios modelos de

pantalla táctil sin teclado físico aunque sí que incluyen un teclado en la pantalla.

El sistema de navegación se logra principalmente por una bola de desplazamiento,

o "bola" en el centro del dispositivo, los dispositivos más antiguos utilizan una

rueda de pista en el lado y los nuevos dispositivos como el BlackBerry Bold o

Curve 9700 8520/8530, como también el Pearl 9100/9105 utilizan una pequeña

almohadilla para la navegación en lugar de una rueda de desplazamiento. Algunos

modelos también incorporan un "Push to Talk (PTT)”, similar a una radio de dos

vías. En ocasiones no funciona.

Page 118: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

97

Los dispositivos BlackBerry proporcionan un entorno inalámbrico Java ME que

es compatible con las aplicaciones cliente/servidor. Los desarrolladores de

aplicaciones pueden crear BlackBerry Java Application, con interfaces de usuario

sofisticadas, para la entrada y búsqueda de datos compatibles con un

subprocesamiento múltiple, internacionalización, comunicación de red y el

almacenamiento local de datos. Las aplicaciones pueden comunicarse con las

redes mediante conexiones estándar TCP y HTTP, a pesar de la red inalámbrica

subyacente.

BlackBerry ha incorporado correo móvil en todos sus dispositivos así como las

redes sociales mantienen a todas las personas cerca. Comuníquese con sus amigos,

familiares o contactos por teléfono, correo electrónico o mensaje de texto.

Las empresas pueden ampliar sus aplicaciones comerciales mediante conexiones

inalámbricas a través de BlackBerry, garantizando de este modo que su personal

itinerante tiene acceso a la información de la empresa mientras trabaja sobre el

terreno.

"Hay una antigua historia sobre una persona que quería que

su ordenador fuese tan fácil de utilizar como su teléfono.

Estos deseos se han hecho realidad, ya no sé cómo usar mi

teléfono"(Bjarne Stroustrup)

Page 119: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

98

Ambiente de Desarrollo Gráfico.

Actualmente se realizan aplicaciones con entornos gráficos para los diferentes

programas de equipos de cómputo entre los cuales tenemos .net, netbeans,

myeclipse entre otros. Lo cual ha facilitado el desarrollo de estas aplicaciones, sin

embargo aún no se ha llegado a tener todos los sistemas de desarrollo con

ambientes gráficos ya que en su mayoría se siguen utilizando líneas de código

para desarrollar las interfaces de usuarios.

En un ambiente gráfico se detectan todas las interfaces quien necesite el usuario

para desarrollar determinada tarea.

En el desarrollo de una interfaz gráfica se debe tener consideración en no colocar

los elementos en cualquier lugar o con un elemento obstruir otro ya que

complicaría las funciones a los usuarios para ello existen estándares de

programación para manipular estos entornos gráficos.

Entre los estándares de calidad se encuentran los siguientes:

El Estándar de Calidad ISO 9001

El estándar, que ha sido adoptado por más de 130 países para su uso, se está

convirtiendo en el medio principal con el que los clientes pueden juzgar la

competencia de un desarrollador de software. Uno de los problemas con el

estándar ISO 9001 está en que no es específico de la industria: está expresado en

términos generales, y puede ser interpretado por los desarrolladores de diversos

productos como cojinetes de bolas, secadores de pelo, automóviles, equipamiento

deportivo, televisores, así como por los desarrolladores de software. Se han

Page 120: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

99

realzado muchos documentos que relacionan el estándar con la industria del

software, pero no entran en una gran cantidad de detalles.

Para la industria del software los estándares relevantes son:

• ISO 9001: este es un estándar que describe el sistema de calidad utilizado

para mantener el desarrollo de un producto que implique diseño.

• ISO 9000-3: este es un documento específico que interpreta el ISO 9001

para el desarrollador de software.

• ISO 9004-2: este documento proporciona las directrices para el servicio de

facilidades del software como soporte de usuarios.

Los requisitos se agrupan bajo 20 títulos:

• Responsabilidad de la gestión

• Inspección, medición y equipo de pruebas

• Sistema de calidad

• Inspección y estado de pruebas

• Revisión de contrato

• Acción correctiva

• Control de diseño

• Control de producto no aceptado

• Control de documento

• Tratamiento, almacenamiento, empaquetamiento y entrega

• Compras

• Producto proporcionado al comprador

Page 121: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

100

• Registros de calidad

• Identificación y posibilidad de seguimiento del producto

• Auditorías internas de calidad

• Formación

• Control del proceso

• Servicios

• Inspección y estado de pruebas

• Técnicas estadísticas.

Factores de calidad ISO 9126

El estándar ISO 9126 ha sido desarrollado en un intento de identificar los

atributos clave de calidad para el software. El estándar identifica 6 atributos clave

de calidad:

• Funcionalidad: el grado en que el software satisface las necesidades indicadas

por los siguientes suba tributos: idoneidad, corrección, interoperabilidad,

conformidad y seguridad.

• Confiabilidad: cantidad de tiempo que el software está disponible para su uso.

Está referido por la siguiente suba tributos: madurez, tolerancia a fallos y facilidad

de recuperación.

• Usabilidad: grado en que el software es fácil de usar. Viene reflejado por la

siguiente suba tributos: facilidad de comprensión, facilidad de aprendizaje y

operatividad.

Page 122: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

101

• Eficiencia: grado en que el software hace óptimo el uso de los recursos del

sistema. Está indicado por la siguiente suba tributos: tiempo de uso y recursos

utilizados.

• Facilidad de mantenimiento: la facilidad con que una modificación puede ser

realizada. Está indicada por la siguiente suba tributos: facilidad de análisis,

facilidad de cambio, estabilidad y facilidad de prueba.

• Portabilidad: la facilidad con que el software puede ser llevado de un entorno a

otro. Está referido por la siguiente suba tributos: facilidad de instalación, facilidad

de ajuste, facilidad de adaptación al cambio.

El desarrollo de aplicaciones móviles para teléfonos inteligentes se acrecentó

con la aparición de dispositivos BlackBerry, cuyas aplicaciones corrían en

versiones de java j2me versión 1.4, en la actualidad esta versión de java se

encuentra en j2me 1.6, las aplicaciones de java RIM permiten interactuar entre

otras cosas con archivos, conexiones de redes, aplicaciones cliente servidor,

comunicaciones con servicios web, manejo de bases de datos locales, manejo de

imágenes, etc.

En el desarrollo de aplicaciones móviles se pueden realizar las aplicaciones web y

las aplicaciones de dispositivo.

Para realizar una aplicación web se debe tener en cuenta lo siguiente:

El cliente móvil este debe cumplir, en lo posible, con los requerimientos del

cliente en cuanto a procesos en el dispositivo móvil, es decir si necesita realizar

una descarga o carga de información debe de contar con una buena conexión así

como la información necesaria.

Page 123: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

102

La aplicación Web que es la que hace el trabajo y procesa el trabajo de los

clientes móviles.

La sincronización. Este es el mecanismo por el cual se mantiene la consistencia e

integridad de datos entre los clientes móviles y la aplicación de servidor.

En el desarrollo de aplicaciones móviles la plataforma Java para Móviles (J2ME)

ha probado ser la más difundida en la actualidad.

Para esto Java provee una arquitectura basada en componentes, que conduce al

desarrollo de aplicaciones multicapa, que aseguran la interoperabilidad de estos

componentes a través de distintas plataformas. El surgimiento de esta arquitectura

creó nuevos perfiles profesionales laborales que deben ser cubiertos.

En las aplicaciones java Rim de BlackBerry un desarrollador puede integrar por

completo aplicaciones cliente servidor, listas de mensajes, organizadores, el

equipo y los exploradores para una mejor interacción con el usuario.

Al momento de desarrollar aplicaciones para el equipo móvil que no sean web se

deben tener en cuenta los siguientes criterios:

• tienen un tamaño de pantalla más pequeño que puede mostrar un número

limitado de caracteres

• tienen velocidades de procesador más lentas

• utilizan redes inalámbricas que tienen un período de latencia más largo que las

LAN estándar

• tienen menos memoria disponible

• tiene una batería que dura menos

Page 124: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

103

• muestran una pantalla al mismo tiempo

• Utilizar o ampliar los componentes existentes de la interfaz de usuario de forma

que la aplicación pueda heredar el comportamiento predeterminado del

componente.

• Seguir el modelo estándar de navegación tanto como le sea posible para que los

usuarios puedan hacer un uso completo del teclado y la bola de desplazamiento.

• Realizar todas las acciones disponibles desde el menú.

• Comprobar que las acciones disponibles en el menú son relevantes para el

contexto actual de los usuarios.

• Centrarse en tareas inmediatas de los usuarios.

• Simplifique la selección y presentación de datos para mostrar sólo la

información que los usuarios necesitan en cualquier otro momento.

• Muestre la información de manera que haga un uso efectivo de la pequeña

pantalla.

Los usuarios de dispositivos móviles no utilizan del mismo modo las aplicaciones

en su dispositivo móvil y las aplicaciones en un ordenador. En un dispositivo

móvil, los usuarios esperan encontrar la información rápidamente, puedan realizar

las tareas fácilmente y acceder a la información rápidamente.

Desarrollo de Widgets para Dispositivos BlackBerry

Los Widgets son pequeñas aplicaciones web. Escritas en una combinación de

HTML, CSS y java script y tienen la misma funcionalidad que una aplicación para

el dispositivo, su instalación

Page 125: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

104

Es la misma que se hace como si fuera una aplicación nativa del dispositivo.

Básicamente un paquete Widgets tiene los siguientes elementos:

Archivos de Configuración

Página de Inicio

Imágenes (Iconos)

Otros recursos y objetos referenciados

Con un Widgets de este tipo podríamos conseguir sostificados Uis para entrada de

datos y búsqueda de información que soporten por ejemplo, internacionalización,

comunicación por red, almacenamiento local de datos, y comunicación de redes

ya sean tcp o http

FUNDAMENTACIÓN LEGAL

Artículo 96. Objeto de la protección

1. A los efectos de la presente Ley se entenderá por programa de ordenador toda

secuencia de instrucciones o indicaciones destinadas a ser utilizadas, directa o

indirectamente, en un sistema informático para realizar una función o una tarea o

para obtener un resultado determinado, cualquiera que fuere su forma de

expresión y fijación.

A los mismos efectos, la expresión programas de ordenador comprenderá también

su documentación preparatoria. La documentación técnica y los manuales de uso

de un programa gozarán de la misma protección que este Título dispensa a los

programas de ordenador.

Page 126: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

105

2. El programa de ordenador será protegido únicamente si fuese original, en el

sentido de ser una creación intelectual propia de su autor.

3. La protección prevista en la presente Ley se aplicará a cualquier forma de

expresión de un programa de ordenador. Asimismo, esta protección se extiende a

cualesquiera versiones sucesivas del programa así como a los programas

derivados, salvo aquellas creadas con el fin de ocasionar efectos nocivos a un

sistema informático.

Cuando los programas de ordenador formen parte de una patente o un modelo de

utilidad gozarán, sin perjuicio de lo dispuesto en la presente Ley, de la protección

que pudiera corresponderles por aplicación del régimen jurídico de la propiedad

industrial.

4. No estarán protegidos mediante los derechos de autor con arreglo a la presente

Ley las ideas y principios en los que se basan cualquiera de los elementos de un

programa de ordenador incluidos los que sirven de fundamento a sus interfaces.

Preguntas a Contestarse

Se reducirá el tiempo de desarrollo usando una interfaz grafica

Será más factible realizar una interfaz gráfica desarrollando con líneas de código

Se entenderá de mejor manera el desarrollo de una aplicación móvil usando una

interfaz amigable

Sale más factible seleccionar un curso o utilizar una herramienta para auto

aprendizaje.

Page 127: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

106

Variables de la Investigación

Se define como variable independiente

Interfaces Gráficas Para Desarrollo De Aplicaciones Java Para BlackBerry.

Esto permitirá desarrollar aplicaciones javas para BlackBerry de manera

amigable y optimizaría el tiempo de desarrollo del mismo, reduciendo

considerablemente costos.

Y como variable dependientes:

Complejidad Del Desarrollo de Aplicaciones java Móvil.

El Desarrollo de aplicaciones java para móvil ha sido truncado debido a la poca

experiencia en este ambiente, lo cual hace que haya poco conocimiento de las

aplicaciones posibles a realizarse.

Implementación De Ambiente De Desarrollo Gráfico Para Java Móvil De

BlackBerry. Desarrollar un binario para que pueda ser cargado en los dispositivos

BlackBerry de manera dinámica y poder ser usado en un tiempo mínimo de

desarrollo

DEFINICIONES CONCEPTUALES

GUI.- Graphical user interface o interface gráfica de usuario, son las ventanas en

las cuales interactúa el usuario final cuando está usando el aplicativo en el

dispositivo móvil.

Page 128: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

107

BLACKBERRY.- Marca de dispositivo móvil para la cual se desarrollara el

aplicativo del proyecto actual.

RIM.- Research In Motion empresa dueña de sistema operativo BlackBerry OS y

propietaria de la marca BlackBerry, también es conocido por el programa

desarrollado por esta empresa para el desarrollo de aplicaciones para dispositivos

móviles BlackBerry

IDE.- Integrated development environment o ambiente de desarrollo integrado, es

el objetivo final del proyecto propuesto

El de brindar a los desarrolladores de sistemas una herramienta en la cual se haga

fácil y reduzca la carga cognitiva al momento de desarrollar las aplicaciones de

java RIM

COMPLEMENTOS.- Características o métodos adicionales que se incluyen a un

objeto que forme parte de una aplicación java RIM Móvil.

CLASES.- Sección de código donde se encuentras atributos y métodos a ser

utilizados en una aplicación java RIM para dispositivos Móviles.

INTERFACE.- Son declaraciones de métodos para obtener seguridades al

momento de desarrollar aplicaciones java RIM para dispositivos móviles.

OBJETOS.- Son instancias o variables que se crean y que por medio de ellas se

pueden utilizar los atributos y los métodos de las clases.

LIBRERÍAS.- son paquetes de códigos pre-establecidos que se usan en la

implementación de aplicaciones java RIM para móviles.

PALM OS.- el sistema operativo para equipos PDA

PDA.- Personal digital assistant o asistente persona digital

Page 129: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

108

CLDC.- Connected Limited Device Configuration o conexión limitada de

configuración de dispositivo

MIDP.- Mobile Information Device Profile o perfil de información de dispositivo

móvil.

Page 130: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

109

CAPÍTULO III

METODOLOGÍA

DISEÑO DE LA INVESTIGACIÓN

Modalidad de la investigación

La modalidad de investigación usada fue la de proyecto factible pues a través de

la realización de un diagnóstico se pudo determinar en primera instancia la

complejidad de desarrollo de aplicaciones para dispositivos móviles en general.

Se debe a que las aplicaciones de dispositivos móviles se está llevando a cabo

hace poco tiempo, es decir en los últimos años se está dando a conocer esta

tecnología y esto se debe a la aparición de dispositivos inteligentes lo cual dio

cabida a que el desarrollo de los software se dé no solo a los fabricantes de los

equipos sino también a los diferentes usuarios que se vean atraídos por esta

tecnología. Se desarrolló un aplicativo que brinde la facilidad de desarrollar

aplicaciones de interfaces graficas de una manera sencilla e intuitiva.

Del nivel teórico se utilizaron los siguientes métodos:

Métodos lógicos del pensamiento, como: análisis, síntesis, inducción,

generalización, para arribar a las diferencias y conclusiones pertinentes.

Histórico lógico en función de establecer orden y secuencia lógica en el

devenir histórico del fenómeno estudiado.

Fueron empleados como métodos del nivel empírico los siguientes:

Page 131: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

110

El trabajo con las fuentes documentales para analizar los trabajos existentes

acerca del objeto de investigación, y en particular sobre el proceso de desarrollo

de un aplicativo de dispositivos móviles.

Entrevista a un especialista, para determinar el estado actual del proceso

de desarrollo de aplicaciones en dispositivos móviles.

El método de consulta a expertos para valorar la factibilidad de la

propuesta de un aplicativo para el desarrollo de las interfaces gráficas y

disminución de la complejidad en el desarrollo de las aplicaciones

móviles orientado a dispositivos BlackBerry.

Población y Muestra

Población

En la presente tesis se determinó como dificultad generalizada, no poder acceder a

las poblaciones totales. Esta circunstancia obliga en la mayoría de los casos a

trabajar con partes representativas de aquellas, es decir, las muestras.

Conforme al método por el que se toma la muestra, las observaciones selectivas se

dividen en:

Selección estratificada.

Selección sistemática

Selección aleatoria

Selección por conglomerados

En el caso objeto de estudio se utilizó la selección por conglomerados, ya que en

el mismo se consideran los conjuntos de datos que posean las mismas

Page 132: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

111

características medibles o cuantificables, por ejemplo los desarrolladores de

aplicaciones

La población fue tomada de un grupo de empresas consultoras informáticas

(Sudamericana de Software, CIMA, Integrity, Viamatica, IRoute), personal del

área de sistemas de algunas entidades financieras (Banco de Guayaquil, banco

del Pacifico), grupo de estudiantes del horario nocturno y matutino en la carrera

de ingeniería de sistemas computacionales de la universidad de Guayaquil, un

número aproximado de programadores independientes.

CUADRO No. 1

Cuadro de Población

POBLACIÓN N

Población Aproximada de Desarrolladores en Sudamericana de

Software

40

Población Aproximada de Desarrolladores en CIMA Consulting 60

Población Aproximada de Desarrolladores en Integrista Solución 30

Población Aproximada de Desarrolladores en Viamatica 40

Población Aproximada de Desarrolladores en IRoute Solution 45

Población Aproximada de Desarrolladores en Banco de Guayaquil 20

Población Aproximada de Desarrolladores en Banco del Pacifico 35

Población Aproximada de estudiantes horario matutino en carrera de

ingeniería de sistemas.

700

Población aproximada de estudiantes horario nocturno en carrera de

ingeniería de sistemas 740

Page 133: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

112

Fuente: Héctor William Pilligua Robalino

Elaborado Por: Héctor William Pilligua Robalino

Muestra

El subconjunto de la población determinado mediante el tamaño de la muestra y

el tipo de muestreo que se utilizó para seleccionar a la cantidad promedio de

desarrolladores informáticos.

TAMAÑO DE LA MUESTRA

Población Aproximada de Desarrolladores en empresas consultoras informáticas

Fórmula:

DONDE:

CUADRO No. 2

Población Aproximada 1

Fuente: Héctor William Pilligua Robalino

Elaborado Por: Héctor William Pilligua Robalino

Cálculos:

Población Aproximada de Programadores independientes. En la ciudad

de Guayaquil. Que no han seguido alguna carrera de ingeniería de

sistemas

300

Total 2190

POBLACIÓN N

Población Aproximada de Desarrolladores en empresas consultoras

informáticas 215

1)1(2

mE

mn

m= Tamaño de la población (215)

E= error de estimación (7%)

n = Tamaño de la muestra (104)

104

0486.2

215

10486.1

215

1)214)(0049.0(

215

1)140()07.0(

2152

n

n

n

n

n

Page 134: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

113

Resultado: 104 personas a encuestar.

Cálculo del factor de proporción:

TAMAÑO DE LA MUESTRA

Población Aproximada de Desarrolladores en Entidades Financieras.

Fórmula:

DONDE:

CUADRO No. 2

Población Aproximada 2

Fuente: Héctor William Pilligua Robalino

Elaborado Por: Héctor William Pilligua Robalino

Cálculos:

POBLACIÓN N

Población Aproximada de Desarrolladores en Entidades Financieras 55

488672.0215

104

N

nf

1)1(2

mE

mn

m= Tamaño de la población (55)

E= error de estimación (7%)

n = Tamaño de la muestra (43)

43

2646.1

55

12646.0

55

1)54)(0049.0(

55

1)155()07.0(

552

n

n

n

n

n

Page 135: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

114

Resultado: 43 personas a encuestar.

Cálculo del factor de proporción:

TAMAÑO DE LA MUESTRA

Población Aproximada de Desarrolladores en la carrera de ingeniería en sistemas

computacionales horario matutino y nocturno

Fórmula:

DONDE:

CUADRO No. 3

Población Aproximada 3

Fuente: Héctor William Pilligua Robalino

Elaborado Por: Héctor William Pilligua Robalino

Cálculos:

POBLACIÓN N

Población Aproximada de Desarrolladores en la carrera de ingeniería en

sistemas computacionales horario matutino y nocturno 1440

781818.055

43

N

nf

1)1(2

mE

mn

m= Tamaño de la población (1440)

E= error de estimación (7%)

n = Tamaño de la muestra (179)

179

0511.8

1440

10511.7

1440

1)1439)(0049.0(

1440

1)11440()07.0(

14402

n

n

n

n

n

Page 136: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

115

Resultado: 179 personas a encuestar.

Cálculo del factor de proporción:

TAMAÑO DE LA MUESTRA

Población Aproximada de Desarrolladores en Viamatica

Fórmula:

DONDE:

CUADRO No. 4

Cuadro Población 4

Fuente: Héctor William Pilligua Robalino

Elaborado Por: Héctor William Pilligua Robalino

Cálculos:

POBLACIÓN N

Población Aproximada de Programadores independientes. En la ciudad

de Guayaquil. Que no han seguido alguna carrera de ingeniería de

sistemas

300

124306.01440

179

N

nf

1)1(2

mE

mn

m= Tamaño de la población (300)

E= error de estimación (7%)

n = Tamaño de la muestra (122)

122

4651.2

300

14651.1

300

1)299)(0049.0(

300

1)1300()07.0(

3002

n

n

n

n

n

Page 137: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

116

Resultado: 122 personas a encuestar.

Cálculo del factor de proporción:

Operacionalización de variables

A continuación se muestra a través de un cuadro las variables determinadas en el

presente trabajo, e incluye además sus dimensiones, indicadores y técnicas de

investigación utilizadas.

CUADRO NO. 5

MATRIZ DE OPERACIONALIZACIÓN DE VARIABLES

Variables Dimensiones Indicadores Técnicas y/o

Instrumentos

V. I.

Interfaces

Gráficas Para

Desarrollo De

Aplicaciones

Java Para

BlackBerry

Desarrollo de

Sistemas

informáticos

orientados a

tecnologías

Móviles

Adaptación a

Herramientas de

Programación.

(70%)

Análisis de

comportamiento

y adaptación a

nuevas

herramientas de

trabajo

Programación

Intuitiva (50%)

Niveles de

destrezas en

captación de

elementos y

lógicas de

programación

Interacción con

dispositivos

BlackBerry

Conocimiento de

tecnología móvil

(80%)

Exposiciones,

guías,

visualización de

nuevos

dispositivos,

9.0300

122

N

nf

Page 138: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

117

encuestas

Conocimiento de

tecnología móvil

de los

Smartphone

(70%)

Adaptación a

nuevas

tecnologías en el

mercado (40%)

Visualización de

campo, foros,

preguntas

frecuentes, salas

de conversas,

redes sociales.

Talleres,

exposiciones,

ejercicios,

encuestas

V.D.

Complejidad

Del Desarrollo

de Aplicaciones

java Móvil

Estándares de

programación

Programación

modular (15%)

Programación

Orientada a

Objetos

(60%)

Pruebas escritas,

pruebas

prácticas,

desarrollo y

soluciones de

problemas,

ayudas a usuarios

Implementación

de sistemas

informáticos en

dispositivos

móviles

Conocimiento de

tecnología móvil

(80%)

Conocimiento de

tipos de

almacenamiento

en dispositivos

móviles

(50%)

Talleres,

encuestas,

exposiciones,

reuniones, foros,

correos, internet.

Diferentes tipos

de conectividad

Conocimiento de

conectividad

móvil (70%)

Conocimiento de

arquitectura

móvil (20%)

Exposiciones,

manuales , guías,

encuestas,

talleres

V.D.

Implementación

De Ambiente

De Desarrollo

Objetos gráficos

de aplicaciones

informáticas

Conocimientos de

objetos gráficos

(80%)

Resoluciones de

problemas,

encuestas escritas

y prácticas.

Page 139: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

118

Gráfico Para

Java Móvil De

BlackBerry

Uso de punteros

para brindar

movilidad e

Interacción con

la aplicación.

Conocimiento de

distribución de

pixeles en

monitor (50%)

Orientación y

reconocimiento

de colores (60%)

Mediciones con

cuestionarios

gráficos

Ofrecer ayuda

en el desarrollo

de aplicaciones

móviles

Uso de ayuda

(80%)

Interpretación de

ejemplos (80%)

Búsqueda de

ayuda (80%)

Ubicación de

ayuda en un

punto estratégico

y visible para el

usuario, uso de

metáforas

Elaboración: Héctor William Pilligua Robalino

Fuente: Héctor William Pilligua Robalino

Instrumentos de recolección de datos.

En la presente investigación fueron utilizados diversos métodos de obtención de

información, los cuales se conceptualizarán y caracterizarán brevemente a

continuación:

La Entrevista

La entrevista es uno de los métodos de obtención de información más eficaces.

“una entrevista para recolección de información es una

conversación dirigida con un propósito específico que usa un

formato de preguntas y respuestas”. (Kendall)

Page 140: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

119

Como la entrevista no es una conversación informal entre dos amigos que se

encuentran, sino un diálogo con un objetivo investigativo muy claro, debe ser

insertada en un proceso investigativo mucho más amplio.

Debido a ello se hace necesario organizar adecuadamente la entrevista. Esa

organización adecuada de la entrevista implica dividirla por partes o etapas.

Esas partes o etapas son:

Preparación.

Realización.

Elaboración.

Diseño de las preguntas.

Las preguntas en las entrevistas se establecen de forma estructurada y tienen

múltiples formas las cuales se muestran a continuación:

Preguntas cerradas.

Preguntas abiertas.

Preguntas mixtas.

Indagaciones o averiguaciones generales.

Las preguntas estructuradas tienen un objetivo informativo muy concreto. La

respuesta está definida por la pregunta.

Las preguntas estructurales cerradas son las que mayormente se utilizan. Estas

ofrecen al entrevistado un universo finito de respuestas, entre las cuales debe

Page 141: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

120

escoger la que considera posible o correcta. Ejemplo: En alternativas múltiples

incluyentes

¿Con qué frecuencia elabora aplicaciones para dispositivos móviles?

_______Diarios ________Semanales _______Mensuales.

Las preguntas estructurales abiertas son aquellas donde el entrevistador permite al

entrevistado la libertad de escoger opiniones y la forma de responder.

Proporcionan más riqueza informativa, pero son más ambiguas. Ejemplo: ¿Cómo

piensa que puede ser mejorado el sistema de información automatizado de su

entidad?

Las indagaciones o averiguaciones generales son preguntas abiertas llevadas a su

máxima expresión.

Ejemplo: La descentralización sería una solución al problema del control aquí.

¿Qué usted piensa sobre eso?

Las entrevistas estructuradas o dirigidas se realizan sobre la base de un

cuestionario guía, y las respuestas se registran tal y como los da el entrevistado.

Las entrevistas no estructuradas se distinguen por la preponderancia de las

preguntas abiertas y por un alto grado de flexibilidad por parte de los

entrevistadores.

Cuestionarios

Los cuestionarios se emplean fundamentalmente cuando la cantidad de las

personas a investigar es muy grande o cuando la dispersión geográfica de las

Page 142: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

121

mismas es tal que impiden física y económicamente, las entrevistas reales o

virtuales.

Con los cuestionarios pueden investigarse hechos, formas de comportamiento,

opiniones, procedimientos, flujos de información, sentimientos, características,

creencias.

Ventajas con relación a las entrevistas:

Bajo costo, su rapidez y su ubicuidad.

Desventajas:

No permiten acoplar información informal o base de observaciones.

Los cuestionarios deben cumplir, al menos, con cinco atributos: idoneidad,

procesable automatizada mente, ser objetivos, alcance razonable, diseño agradable

y a la vez sencillo.

Para la elaboración del cuestionario se deben tener en cuenta las siguientes etapas:

Preparación.

Diseño y elaboración.

Prueba.

Aplicación.

Análisis de la información obtenida.

En un cuestionario pueden utilizarse cualquier tipo de preguntas, pero el más

recomendable es el de preguntas estructurales cerradas, pues resulta más fácil de

procesar en programas como el Excel o el SPSS.

Page 143: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

122

El cuestionario no ofrece la flexibilidad de la entrevistas, por lo que exigirá

mucho más esfuerzo de diseño y elaboración.

Además deberá estudiarse la posibilidad de que el cuestionario sea anónimo o

identificado. Los investigadores en ambos casos deberán actuar con sinceridad y

transparencia.

Algunas recomendaciones generales son:

Dejar suficiente espacio para llenar las preguntas estructurales abiertas.

Comprobar la existencia de todas las alternativas en las peguntas

estructurales cerradas.

Ser consistente en el estilo de las preguntas.

Ordenar las preguntas con el mismo estilo que se expuso en las entrevistas

(enfoque deductivo, enfoque inductivo y combinación de ambos).

Agrupar conjuntos de preguntas de contenido similar.

Comenzar por las preguntas menos controvertidas.

Evitar las preguntas negativas pues tienden a confundir.

Cuando es necesario se deben utilizar escalas en las preguntas estructurales

cerradas con alternativas. Estas permiten cuantificar aspectos que a primera vista

son cualitativos. Las escalas más comunes son:

Nominal.

Ordinal.

De intervalo.

De relación.

Page 144: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

123

Observaciones

Las técnicas de investigación observación constituyen un método muy útil para

captar información. Observar no es simplemente “mirar”. Se observa con un

objetivo, con una misión investigativa que cumplir.

Claude Bernard expresaba refiriéndose a la observación:

“el observador debe ser un fotógrafo de los fenómenos; su

observación debe representar exactamente a la Naturaleza”

La observación ayuda a confirmar o refutar la información que se ha obtenido por

medio de las entrevistas, los cuestionarios, el análisis de documentos, etcétera.

La observación se realiza planeada, organizada y sistemáticamente.

Las observaciones que realizan los investigadores deben cumplir, entre otros los

siguientes requisitos:

Tener propósitos claros y bien definidos.

Proyectarse hacia un plan específico, definido y orientado a cumplir los

objetivos.

Estar sujeta a comprobación.

Poderse controlar sistemáticamente.

Reunir los requisitos básicos de confiabilidad y validez.

Plasmar sus resultados por escrito, preferiblemente en el momento exacto en

que transcurre.

Las observaciones presentan ventajas evidentes:

No son obstruidas, puesto que no interfieren en la actividad de los observados.

Aceptan información informal, no estructurada, pero sumamente útil.

Page 145: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

124

Permite trabajar con grandes volúmenes de información.

Las observaciones en las investigaciones pueden ser de varios tipos:

Por el lugar en que se realizan: documental o de campo.

Por la forma de participar del observador: participante o no participante.

Por la forma en que se organiza: dirigida (regulada y estructurada) o no

definida (libre)

Por el número de observadores: individual o en equipo.

Como en toda herramienta de investigación, cuando se hacen observaciones se

debe dejar constancia escrita.

Otras opciones pueden ser el empleo de filmadoras, cámaras fotográficas o

máquinas de video, etcétera.

En la presente investigación para obtener la información necesaria se recurrió en

primera instancia a la metodología de observación del objeto de estudio,

determinándose los siguientes sucesos:

Desarrollo de aplicaciones para dispositivos móviles.

Conocimientos de los desarrolladores de aplicaciones.

Manejo de interfaces gráficas para desarrollo de aplicaciones.

Uso de herramientas para desarrollo de aplicaciones en java.

Posteriormente se recurrió a la aplicación de un cuestionario, el cual se muestra a

continuación:

Procedimientos de la Investigación

Page 146: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

125

Los pasos que se siguieron para desarrollar mi tesis; desde la concepción del

problema hasta la elaboración del informe de la investigación son:

El problema:

Planteamiento del problema

Interrogantes de la investigación

Objetivos de la Investigación

Justificación o importancia de la investigación

Marco teórico:

Fundamentación teórica

Fundamentación legal

Preguntas a contestarse

Definición de términos

Metodología:

Diseño de Investigación (Tipo de Investigación)

Población y Muestra

Instrumentos de recolección de datos

Operacionalización de variables, dimensiones e indicadores

Procedimiento de la Investigación

Criterios para la elaboración y validación de la propuesta

Marco administrativo:

Cronograma, Presupuesto

Page 147: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

126

Conclusiones y recomendaciones

Recolección de la Información

Posteriormente se recurrió a la aplicación de una encuesta, la misma que se

elaboró en una manualmente observando las necesidades de los desarrolladores de

aplicaciones móviles, para luego depurar cada pregunta que fuese necesaria para

realizar la encuesta ver anexo #7

PROCESAMIENTO Y ANÁLISIS

A través de los resultados obtenidos de la encuesta se realizó un análisis

específico a cada respuesta de las preguntas, este se muestra a continuación:

1- Condición del Informante

CUADRO Nº 6.

Condición del Informante

Opciones Categorías Frecuencia

Absoluta

Frecuencia

Relativa

1

Población Aproximada de

Desarrolladores en empresas

consultoras informáticas 104 23%

2

Población Aproximada de Desarrolladores en Entidades Financieras

43 10%

3 Población Aproximada de Desarrolladores en la carrera de

179 40%

Page 148: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

127

ingeniería en sistemas computacionales horario matutino y nocturno

4

Población Aproximada de Programadores independientes. En la ciudad de Guayaquil. Que no han seguido alguna carrera de ingeniería de sistemas

122 27%

Total 448 100% Fuente: Datos de la encuesta realizada

Elaboración: Héctor William Pilligua Robalino.

GRÁFICO Nº 12. Condición del Informante

Fuente: Datos de la encuesta realizada Cuadro Nº 2

Elaboración: Héctor William Pilligua Robalino

Análisis: de acuerdo al análisis, la mayor parte de los desarrolladores de

aplicaciones ya sean móviles o de escritorio son los que están cursando la carrera

de ingeniería de sistemas, esto corresponde al 40%, la mayoría de los

desarrolladores que se encuentran en este grupo consiguen trabajar en consultoras

informáticas, otros desarrolladores consiguen en empresas públicas o privadas, o

trabajos bajo pedido, cabe recalcar que los que terminan la carrera de ingeniería

en sistemas no se dedican al desarrollo de aplicaciones, seguido de los

desarrolladores independientes o los FreeLancer, que se dedican a la

programación y comercialización de aplicaciones, por lo usual estos

desarrolladores han hecho cursos vía web o recibiendo cursos de capacitación, el

conocimiento que consiguen de la herramienta de desarrollo les da una ventaja al

104

43

179

12223 Desarrolladoresen consultorias

10 desarrolladoresen entidadesfinancieras

Page 149: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

128

momento de implementación de sistemas, este grupo corresponde al 27%,

continuando con el grupo de desarrolladores de consultoras informáticas, en este

caso la mayoría se dedica al desarrollo por cuestiones laborales, y la empresas se

encarga de realizar las capacitaciones correspondientes para una labor correcta,

este grupo corresponde al 23%, por último el grupo de desarrolladores de

entidades financieras, este grupo es pequeño en comparación con el resto, ya que

en las entidades financieras se sirven más de los consultores informáticos para el

desarrollo, los programadores que se encuentran en este grupo se encargan de

realizar investigaciones de aplicaciones y nuevas herramientas, desarrollo de

tareas a seguirse, mantenimiento de sistemas, procesos burocráticos, reuniones,

lluvias de ideas y trato con el departamento organizacional para definición de los

proyectos que se tiene en curso, este grupo corresponde al 10%.

2. Utiliza Dispositivos BlackBerry.

CUADRO N° 7

Utiliza Dispositivos BlackBerry.

Opciones Categorías Frecuencia

Absoluta

Frecuencia

Relativa

1 Si 220 49%

2 No 228 51%

Total 448 100% Fuente: Datos de la encuesta realizada

Elaboración: Héctor William Pilligua Robalino

GRÁFICO Nº 13. Uso de Dispositivos BlackBerry

Page 150: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

129

Fuente: Datos de la encuesta realizada Cuadro Nº 3

Elaboración: Héctor William Pilligua Robalino

Análisis: De acuerdo al gráfico se denota que hay un gran número de

desarrolladores poseen equipos móviles BlackBerry, este grupo corresponde al

49%,, esto es por que utilizan el equipo para ver el resultado de la aplicaciones

realizadas para el dispositivo y por comodidad, el 51% restante optaron por otros

tipos de dispositivos por tecnología andorid o iPhone..

3. Adaptación a Nuevas Herramientas

CUADRO N° 8

Adaptación a Nuevas Herramientas.

Opciones Categorías Frecuencia

Absoluta

Frecuencia

Relativa

1 Complicado 40 9%

2 Con tiempo

Considerable 80 18%

3 Adaptación 135 30%

4951

Si

No

Page 151: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

130

rápida

4 No se Complica

la adaptación 193 43%

Total 448 100% Fuente: Datos de la encuesta realizada

Elaboración: Héctor William Pilligua Robalino

GRÁFICO No.14 Adaptacion a Nuevas Herramientas.

Fuente: Datos de la encuentra realizada

Elaborado. Héctor William Pilligua Robalino

Análisis: con la información obtenida se llega a comprobar que la mayoría de los

desarrolladores no tiene ninguna complicación en la adaptación a nuevas

herramientas de desarrollo, la adaptación no puede ser complicada pero se puede

tomar un tiempo considerable, su adaptación es más rápida si se cuenta con

herramientas gráficas, en este grupo se encuentra a los programadores junior y

semijunior, este grupo cuenta con el 43%. Otro grupo mayoritario tiene una

adaptación rápida a las nuevas herramientas de desarrollo, estos desarrolladores

cuentan con bastante conocimientos de códigos, por lo general aquí se

9

18

30

43

Complicado

Con tiempo Considerable

Adaptación rápida

No se Complica laadaptación

Page 152: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

131

encontraron a los analistas, programadores sénior, este grupo cuenta con 30% de

participación. Otro grupo toma un tiempo considerable en la adaptación de las

nuevas herramienta de desarrollos, este tiempo de adaptación por lo general no

garantiza la adaptación total hacia la herramienta, y andan en constante adaptación

aprendiendo de la nueva interface para el desarrollo, por lo usual aquí hay

programadores sénior y junior que están acostumbrados a utilizar una herramienta

para las diferentes aplicaciones realizadas, por ejemplo si está acostumbrado a .net

se tomara un tiempo considerable en aprender a programar en eclipse, este grupo

cuenta con el 18% de participación. En el último grupo contamos con los

desarrolladores que se les complica la adaptación hacia nuevas herramientas de

desarrollo, en este grupo se encuentran programadores que ya tienen una edad

avanzada y ha estado desarrollando con una sola herramienta de programación,

por ejemplo programar en fox pro y luego quedar adaptarse a netbeans, este grupo

cuenta con un 9% de participación.

4. Lenguaje de Programación más Utilizados.

CUADRO N° 9

Lenguaje de Programación más Utilizados.

Opciones Categorías Frecuencia

Absoluta

Frecuencia

Relativa

1 .Net 117 26%

2 Java 120 27%

3 Oracle-PLQSL-SQLSERVER 94 21%

4 Aplicaciones Web 112 25%

5 Cobol 5 1%

Total 448 100% Fuente: Datos de la encuesta realizada

Elaboración: Héctor William Pilligua Robalino

Page 153: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

132

GRÁFICO No.15 Lenguaje de Programación más Utilizados.

.

Fuente: Datos de la encuentra realizada

Elaborado. Héctor William Pilligua Robalino

Análisis: de acuerdo con la información obtenida se ve que hay un gran uso de

lenguaje java, se debe a que en los outsoursing son los lenguajes más usados por

ser open, este grupo corresponde al 27%, seguido del grupo de desarrollo que

prefieren utilizar lenguaje de .net, esto se debe a las ventajas de desarrollo y

menos complejidad en las implementaciones, debido a que se trata de una

herramienta licenciada solo se dedican a los mantenimientos de sistemas

existentes, esto corresponde al 26%, los programadores en ambiente web

corresponde al 25%, este grupo se dedica al diseño gráfico, está más conformado

con diseñadores, el lenguaje de programación que saben utilizar aparte de java y

.net son php, html5, JavaScript, el grupo de programación a nivel de base de datos

26

2721

25

1

.net

java

plsql-sql-oracle

web

cobol

Page 154: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

133

corresponde al 21%, estos son encargados de desarrollos de trabajos programados,

por ejemplo Jobs, así como el mejoramiento en tiempos de respuestas, seguridad

en la información revisión de estándares y optimización de consultas, por ultimo

tenemos al grupo que utiliza cobol, este grupo está en su mayoría en las entidades

financieras, corresponde al 5%., debido a que es un lenguaje de programación que

tiene bastante tiempo en el mercado, solo hay un pequeño grupo que se ha

dedicado al aprendizaje de este lenguaje, cabe recalcar que cobol es ideal para el

procesamiento de información masiva, carga de archivos con bastante

información que en ocasiones llega a superar el millones de registros, al ser un

lenguaje de muy bajo nivel, asemejado a C++ , el uso de recursos se reduce

considerablemente lo cual brinda la gran velocidad de procesamiento.

5. Desarrollo de Aplicaciones con tecnología J2ME.

CUADRO N° 10

Desarrollo de Aplicaciones con tecnología J2ME.

Opciones Categorías Frecuencia

Absoluta

Frecuencia

Relativa

1 .Si 230 51%

2 No 218 49%

Total 448 100% Fuente: Datos de la encuesta realizada

Elaboración: Héctor William Pilligua Robalino

GRÁFICO No.16 Desarrollo de Aplicaciones con tecnología J2ME.

Page 155: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

134

Fuente: Datos de la encuesta realizada

Elaborado. Héctor William Pilligua Robalino

Análisis: la mayoría en toda su trayectoria de desarrollo han utilizado tecnología

J2ME, en su mayoría el trabajo que han hecho ha sido con el IDE de eclipse,

también han desarrollado en netbeans, y en .net, este grupo corresponde al 51%, el

otro grupo ha desarrollado en otras herramientas por ejemplo .net utilizando

propiedades en los sitios web para adaptación en los dispositivos, en la actualidad

también utilizan HTML5, este grupo corresponde al 49%...

6. Conocimiento de Herramientas para Desarrollo de Aplicaciones para

Dispositivos Móviles.

CUADRO N° 11

Conocimiento de Herramientas para Desarrollo de Aplicaciones para

Dispositivos Móviles.

Opciones Categorías Frecuencia

Absoluta

Frecuencia

Relativa

1 Muchas 214 48%

2 Algunas 130 29%

3 Pocas 104 23

4 Ninguna 0 0

Total 448 100% Fuente: Datos de la encuesta realizada

Elaboración: Héctor William Pilligua Robalino

5149

Si

No

Page 156: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

135

GRÁFICO No.17 Conocimiento de Herramientas para Desarrollo de

Aplicaciones para Dispositivos Móviles

Fuente: Datos de la encuesta realizada

Elaborado. Héctor William Pilligua Robalino

Análisis: con la información obtenida se pudo constatar que hay un gran numero

de que conocen diferentes herramientas, este grupo corresponde al 48%, seguido

del grupo que programas como eclipse o .net, corresponde al 29%,el 23% restante

conoce o a escuchado de herramientas para el desarrollo con tecnología J2ME,

este grupo corresponde al 23%.

7. Uso de IDE Gráfico para Desarrollo de Aplicaciones.

CUADRO N° 12

Uso de IDE Gráfico para Desarrollo de Aplicaciones.

Opciones Categorías Frecuencia

Absoluta

Frecuencia

Relativa

1 Siempre 210 47%

2 Algunas veces 140 31%

3 Muy Poco 75 17%

4 Nunca 23 5%

Total 448 100% Fuente: Datos de la encuesta realizada

Elaboración: Héctor William Pilligua Robalino

GRÁFICO No.18 Uso de IDE para Desarrollo de Aplicaciones.

48

29

23

0

Muchas

Algunas

Pocas

Ninguna

Page 157: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

136

Fuente: Datos de la encuesta realizada

Elaborado. Héctor William Pilligua Robalino

Análisis: la mayoría de los desarrolladores prefieren desarrollar con una

herramienta que le faciliten visualizar el resultado final del sistema desarrollado,

este grupo corresponde al 47%, el 31% son desarrolladores que no ven

complejidad en desarrollar aplicaciones con interfaces graficas o mediante líneas

de código formar las interfaces de usuarios, el 17% son desarrolladores que no

ven la necesidad de un IDE gráfico para el desarrollo de interfaces, por lo general

en este grupo se encuentra personal de bases de datos, el 5% corresponde a

desarrolladores que no ven la necesidad del desarrollo de interfaces gráficas.

8. Desarrollos Frecuentes de Sistemas Informáticos.

CUADRO N° 13

Desarrollos Frecuentes de Sistemas Informáticos.

Opciones Categorías Frecuencia

Absoluta

Frecuencia

Relativa

1 Empresarial 210 46%

2 Oficina 90 20%

3 Juegos 25 6%

4 Varios 123 28%

Total 448 100% Fuente: Datos de la encuesta realizada

Elaboración: Héctor William Pilligua Robalino

GRÁFICO No.19 Desarrollos Frecuentes de Sistemas Informáticos.

47

31

17 5 Siempre

Algunas veces

Muy Poco

Nunca

Page 158: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

137

Fuente: Datos de la encuesta realizada

Elaborado. Héctor William Pilligua Robalino

Análisis: de acuerdo a los datos obtenidos se ve claramente que la mayoría de los

desarrolladores desarrollan o dan mantenimiento a sistemas empresariales, está

conformado por el 46%, el grupo que le sigue son los que realizan sistemas varios,

en este grupo se encuentran los desarrolladores de sitios web, sistemas

empotrados, programación a bajo nivel, desarrollo móvil, entre otros, constituye el

23%, el grupo de desarrollo de oficina desarrollan sistemas compatibles con

office, corresponde al 20%, el 6% conforma los desarrollos de juegos, ya sean de

aprendizaje, infantiles o para dispositivos móviles.

9. Sistemas Operativos Móviles.

CUADRO N° 14

Sistemas Operativos Móviles.

Opciones Categorías Frecuencia

Absoluta

Frecuencia

Relativa

1 Android 200 45%

2 IOS 65 15%

3 RIM BlackBerry 155 35%

4 Sysmbian 13 3%

5 Windows Mobile 10 2%

6 Otros 5 1%

Total 448 100% Fuente: Datos de la encuesta realizada

Elaboración: Héctor William Pilligua Robalino

46

20

6

28Empresarial

Oficina

Juegos

Varios

Page 159: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

138

GRÁFICO No.20 Sistemas Operativos Móviles.

Fuente: Datos de la encuesta realizada

Elaborado. Héctor William Pilligua Robalino

Análisis: de acuerdo a los datos obtenidos se ve que hay una gran cantidad de

personas que utilizan dispositivos con sistema operativo android, este grupo

constituye el 45%, seguido de las personas que utilizan dispositivos con

BlackBerry, constituyendo el 35%, el grupo utiliza iPhone constituye el 15%,

dispositivos con sistemas symbias constituyen el 3%, dispositivos con sistemas de

Windows Mobile consta el 2% y los que utilizan dispositivos comunes constan el

1%.

10. Herramientas de Programación más Utilizadas para Desarrollo de

Aplicativos Móviles.

CUADRO N° 15

Sistemas Herramientas de Programación más Utilizadas para Desarrollo de

Aplicativos Móviles.

Opciones Categorías Frecuencia

Absoluta

Frecuencia

Relativa

1 Eclipse 230 40%

2 NetBeans 150 26%

3 .Net 100 14%

4 Programación Web 80 17%

5 Otros 13 3%

45

15

35

3 2 1Android

IOS

RIM BlackBerry

Sysmbian

Windows movile

Otros

Page 160: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

139

Total 448 100% Fuente: Datos de la encuesta realizada

Elaboración: Héctor William Pilligua Robalino

GRÁFICO No.21 Herramientas de Programación más Utilizadas para

Desarrollo de Aplicativos Móviles.

Fuente: Datos de la encuesta realizada

Elaborado. Héctor William Pilligua Robalino

Análisis: De acuerdo a los datos obtenidos se puede comprobar que la mayoría de

los desarrolladores al momento de implementar aplicaciones para dispositivos

móviles prefieren Eclipse, este grupo conforma el 40%, seguido del grupo que

prefiere usar netbeans por la facilidad de comunicación con java, esto conforma el

26%, los desarrolladores, ellos conforman el 17%, el programadores en .net

conforman el 14%, y los desarrolladores que programan en otras herramientas no

mencionadas conforman el 3%.

CRITERIOS PARA LA ELABORACIÓN DE LA PROPUESTA

Para el desarrollo de la propuesta se tuvieron en cuenta los términos generales que

a continuación se muestran:

Fundamentos metodológicos en la elaboración del modelo.

Metodología para el uso del lenguaje de programación C#.

Metodología para el desarrollo de la plataforma .NET.

40

26

14

17

3Eclipse

NetBeans

.Net

Programacion Web

Otros

Page 161: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

140

Metodología para la elaboración de módulos

Con estos elementos, el autor de la presente investigación, desarrollo el diagrama

de flujo de la información, ver anexo 1, con este elemento se procede con el

análisis y el diseño del aplicativo que facilite el desarrollo de aplicaciones para

dispositivos móviles.

CRITERIOS DE VALIDACIÓN DE LA PROPUESTA

Para valorar la factibilidad del modelo se aplica el método Delphi o de criterio de

expertos.

El método Delphy o de criterio de expertos consiste en la utilización del juicio

intuitivo de un grupo de expertos para obtener un consenso de opiniones,

reflejando las valoraciones individuales de los mismos.

Se seleccionaron 25 especialistas a quienes se les aplicó la encuesta a fin de

determinar si verdaderamente podían ser considerados como expertos. A partir del

criterio de autovaloración los mismos contestaron la encuesta que aparece en el

anexo número 2. La selección realizada se efectuó en atención al comportamiento

de las variables siguientes:

Investigaciones realizadas vinculadas con la actividad informática.

Experiencia en el desarrollo de software, particularmente en tecnología web.

Investigaciones relacionadas con el tema de investigación de la presente tesis.

Page 162: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

141

La autovaloración realizada por los expertos permite determinar si deben ser

considerados como tales a partir del coeficiente de competencia KC y del

coeficiente de argumentación KA. Los resultados del coeficiente se muestran en

la tabla 1 del anexo número 3.

De acuerdo a sus autovaloraciones no se toman en consideración a 5 de los

especialistas encuestados, ver anexo número 4.

Dentro de los expertos seleccionados, el 2 posee grado científico de máster. De

ellos el 23 son profesores a tiempo parciales.

A los especialistas que fueron seleccionados como expertos, 20 en total, se les

entrego un cuestionario que contenía las principales cuestiones relativas al modelo

y al sitio web que aparecen en el anexo número 4.

Con el fin de evaluar los aspectos anteriormente mencionados los expertos

emitieron sus juicios valorativos a partir de un conjunto de cuestionamientos que

se plantean a continuación:

1. Valoración de las dimensiones planteadas en el modelo.

2. Valoración de los métodos científicos utilizados en la elaboración del modelo.

3. Valoración de la eficacia del modelo en la compatibilidad la solución

Generada con el IDE Eclipse.

4. Valoración de los módulos diseñados.

5. Valoración del grado de correspondencia entre el modelo y el aplicativo

Gráfico.

Page 163: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

142

6. Valoración de la misión del aplicativo de desarrollo de interfaces gráficas.

Se utilizaron cinco categorías de valoración.

1.- Muy adecuado

2.- Bastante adecuado

3.- Adecuado

4.- Poco adecuado

5.- Inadecuado

Una vez obtenida la valoración de los expertos, se procesó la información

mediante el software estadístico Excel (2007), el cual arrojó los cálculos de la

matriz de frecuencias, las frecuencias acumuladas y frecuencias relativas

acumuladas que aparecen en el anexo número 6.

Finalmente a través del uso del software estadístico Excel (2007) se determinó la

imagen de cada uno de los valores de las celdas de la tabla de frecuencias

acumulativas relativas, por la inversa de la curva de la normal (ver anexo 6), se

obtienen los puntos de corte donde se concluye, que las preguntas 1, 4 y 6 se

evalúan de muy adecuados, el resto de las mismas son evaluados de bastante

adecuados.

A continuación se muestran los resultados de la valoración de las preguntas por

los expertos, de acuerdo con las categorías establecidas.

CUADRO Nº. 16

Valoración de las Preguntas por los Expertos.

Nº de

pregunta Pregunta Categoría

Page 164: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

143

1

Valoración de las dimensiones planteadas en el

modelo. Muy adecuada

2 Valoración de los métodos científicos utilizados en

la elaboración del modelo. Bastante adecuada

3

Valoración de la eficacia del modelo en la

compatibilidad la solución generada con el IDE

Eclipse.

Bastante adecuada

4 Valoración de los módulos diseñados. Muy adecuada

5

Valoración del grado de correspondencia entre el

modelo y el aplicativo gráfico.

Bastante

Adecuada

6

Valoración de la misión del aplicativo de desarrollo

de interfaces gráficas.

Muy adecuada

Fuente: Elaboración propia.

Elaboración: Héctor William Pilligua Robalino.

El total de expertos valoran así, de forma positiva, la propuesta tanto en

calidad, en la concepción en la concepción de los módulos para la generación

de la solución, la compatibilidad de la solución generada en el aplicativo con

el IDE eclipse, y concluyeron que se el aplicativo de generación de interfaces

gráficas para dispositivos BlackBerry, ayudaría a mejorar la complejidad del

desarrollo de las aplicaciones java para los dispositivos móviles BlackBerry.

La presente propuesta tiene fundamentos considerables ya que optimizara el

desarrollo de las aplicaciones para dispositivos móviles BlackBerry,

mejorando el tiempo de desarrollo y disminuyendo la carga cognitiva del

desarrollador para optimizar los aplicativos realizados.

Page 165: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

144

CAPÍTULO IV

MARCO ADMINISTRATIVO

Cronograma

La dinámica actual requiere del desarrollo de procesos de calidad. Este proceso

requiere de la ejecución en tiempo de proyectos lo que garantizará el desarrollo de

eficiencia y eficacia en cuanto a la administración de recursos económicos

financieros., en este contexto el autor de la presente investigación ha desarrollado

el siguiente cronograma.

Cronograma de Actividades en función del desarrollo del proyecto

Page 166: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

145

Una vez establecido el cronograma se hace necesario establecer formas de

búsqueda de financiamiento, lo que garantizará el funcionamiento adecuado

del proyecto

Presupuesto

La búsqueda de la forma de financiar un proyecto puede dar como resultado una

variedad bastante importante de opciones diferentes. El evaluador de proyectos

debe verse enfrentado, y de hecho así ocurre, con la búsqueda de la mejor

alternativa de financiamiento para el proyecto que está evaluando.

Page 167: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

146

En el caso objeto de estudio y por las características de la actividad que se

desarrolla la fuente de financiamiento que se utilizará es con capital propio, pues

en este caso solo se requiere del personal calificado y los medios necesarios para

el desarrollo de software. Esta es una tendencia en el desarrollo de nuevas

tecnologías, que a la vez favorecen la reducción de costos y la rapidez con que se

desarrollan diversas actividades en las organizaciones. Por consiguiente se

desglosan a continuación las partidas de Activos y el Capital total que se requiere

para dar inicio al negocio

CUADRO 17

Proyección Inicio del Negocio

Activo Circulante

Efectivo $ 700.00

Activos Fijos

CPU $ 300.00

Teclado 15.00

Ratón 15.00

Monitor 250.00

Modem 30.00

Cable USB Ca 101 15.00

Equipo Smartphone 350.00

Activos Intangibles

Consumo internet $ 200.00

Dominio 180.00

Capital $ 2020.00

Fuente: Héctor William Pilligua Robalino

Elaborado: Héctor William Pilligua Robalino

Page 168: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

147

Una vez determinados los importes a utilizar referentes a los Activos y el Capital

Total, se realizó una proyección del Estado de Resultado para el primer año, el

cual incluye la de diferencia de Ingresos con Gastos

CUADRO No. 18

Cuadro de Ingresos

Ingresos

Financiamiento Propio

$ 2,500 Fuente: Héctor William Pilligua Robalino

Elaborado Por: Héctor William Pilligua Robalino

CUADRO No. 19

Cuadro de Egresos

Egresos

Hardware:

CPU $ 250

Teclado $ 15

Ratón $ 15

Monitor $ 250

Equipo BlackBerry $ 250

Cable USB Ca 101 $ 15

Software

Sistema Operativo Win7 $ 700

Licencia

Windows

Sistema Operativo Linux $ 0

0.0

(opcional)

Licencia BlackBerry $ 30

Consumo internet $ 140

Varios

Documentación $ 85

Cursos de Capacitación

Móvil $ 700

Tiempo empleado $ 50

Total

$ 2,500

Fuente: Héctor William Pilligua Robalino

Elaborado Por: Héctor William Pilligua Robalino

Page 169: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

148

Ingresos:

Estos ingresos serán utilizados para la adquisición de todo lo mencionado

en el listado de egresos para proceder con el desarrollo del tema de tesis, estas

adquisiciones no se quedaran en la institución educativa, solo se entregara a la

institución el proyecto desarrollado

Egresos:

Constituye todos los materiales e insumos utilizados en el desarrollo del

tema de tesis

CAPÍTULO V

CONCLUSIONES Y RECOMENDACIONES

CONCLUSIONES:

¿Se Reducirá el Tiempo de Desarrollo de las Aplicaciones usando una

interfaz gráfica?

Se pudo concluir que los usuarios finales han optado por tener dispositivos

Smartphone, por ello se ve imperativo el desarrollo de aplicaciones para la

nueva gama de telefonía móvil, debido a que el desarrollo de aplicaciones para

los dispositivos móviles es un área que se ha estado incursionando en los

últimos años, la información necesaria no se encuentra en su totalidad

Page 170: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

149

disponible, por ello el desarrollo se hace extenso, sin embargo, los

desarrolladores optan por herramientas que facilitan el desarrollo de estas

aplicaciones.

El objetivo de la investigación es reducir el tiempo de desarrollo de las

aplicaciones para dispositivos móviles BlackBerry, al facilitar una interface

gráfica donde se pueden ubicar los elementos en la pantalla de manera que se

ajustar de mejor manera a los requerimientos solicitados por el contratante

hacia el desarrollador, al no tener que dedicar tiempo en el desarrollo gráfico,

el tiempo de desarrollo es optimizado.

¿Será más factible realizar una interfaz gráfica desarrollando con

líneas de código?

Con los resultados obtenidos en la encuentra se puede constatar que los

desarrolladores prefieren una interfaz que le permitan ver el producto final en

el momento de desarrollo.

Se pudo constatar que en el desarrollo de interfaces de usuarios utilizando un

aplicativo que facilite la ubicación de los elementos y visualizando el

resultado final de la aplicación, se pudo constatar que resulta más beneficio

para el desarrollador de aplicaciones contar con una herramienta que le

permita visualizar el resultado final en el aspecto gráfico y no introducir líneas

de código para tener una interfaces de usuario, en ocasiones las interfaces

Page 171: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

150

graficas contiene varios elementos y colocar esos objetos en la pantalla

mediante líneas de código es más complejo que seleccionar el elemento y

ubicarlo donde se adapte a lo solicitado por el cliente.

¿Se entenderá de mejor manera el desarrollo de una aplicación móvil

usando una interfaz amigable?

Con los resultados obtenidos se pudo apreciar que los desarrolladores al crear

aplicaciones, con un entorno gráfico se facilitan la compresión de los

elementos utilizados.

Se pudo constatar que el desarrollo de una aplicación con una herramienta que

genera un código fuente es de ayuda para los desarrolladores ya que el ver la

ubicación de los diferentes elementos, ´puede revisar el código y de esta

manera poder implementarlo en un IDE que no posea la facilidad de una

interfaz gráfica.

¿Sale más factible seleccionar un curso o utilizar una herramienta

para auto aprendizaje?

Se ha comprobado que a pesar de contar con una herramienta que facilite el

desarrollo de las interfaces gráficas, es necesario instruirse en cursos del

lenguaje que se está utilizando, para el caso de la tesis realizada , la tecnología

J2ME, estos cursos pueden ser vía online o presenciales.

Page 172: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

151

RECOMENDACIONES:

Para la optimización de los tiempos de desarrollo de aplicaciones para

dispositivos móviles BlackBerry usando interfaces graficas se recomienda

que el desarrollador tenga una clara idea de la funcionalidad de los

diferentes controles que se pueden utilizar en la interface de usuario, se

puede obtener esta información con la ayuda de internet.

En el desarrollo de las interfaces gráficas, al utilizar una herramienta que

facilita la ubicación de los mismos se recomienda que se manejen

estándares de desarrollo, lo cual facilita considerablemente el desarrollo de

los sistemas,

El desarrollo para dispositivos móviles es una área de la programación que

cada vez va cogiendo más adeptos, pero la funcionalidad de las

aplicaciones para móviles no son las mismas que se realizan en los pc

estacionarios, por ello se recomienda tener conceptos básicos claros de la

tecnología J2ME y como se la aplica en los diferentes dispositivos,

teniendo en cuenta que las aplicaciones java RIM cuentan con sus propias

librerías es necesario tener conocimiento de las limitaciones del equipo.

Se recomienda cursos de J2ME para conocer los diferentes eventos que se

pueden manejar para los diferentes controles que se encuentra en una

Page 173: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

152

interfaz de usuario de un dispositivo móvil BlackBerry, estos cursos

pueden ser en lugares certificados para estos cursos o puede ser vía

online, adicional a esto se recomienda tener clara las diferentes ventajas

que se ofrece en cada versión de Sistema Operativo que hay en los

dispositivos móviles, para de esta manera tener claro las limitaciones del

aplicativo a los que el desarrollador se ve al momento de implementar los

aplicativos realizados.

BIBLIOGRAFÍA

Alonso Álvarez García; José Ángel Morales Grela. (2002). J2ME (Guías

Practicas)

Miguel Ángel Lozano Ortega. (2005). Programación de Dispositivos

Móviles con J2ME

Agustín Froufe Quintas; Patricia Jorge Cardenes. ( 2004). J2ME Java 2

Micro Edition: Manual de Usuario y Tutorial

Research In Motion Limited (2011). BlackBerry Java SDK.

Horacio Daniel Vallejo. (2006). Funcionamientos del teléfono. [En línea].

Recuperado 02 de noviembre del 2012, de

http://www.gratisprogramas.org/descargar/telefonia-celular-8-libros-pdf-

esencial-estudiantes-de-electronicatecnicos/

Page 174: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

153

José Manuel Huidobro. (2001). Manual de Telefonía: Telefonía Fija y

Móvil (4ª ED.).

Research In Motion. (2013). Herramientas de desarrollo BlackBerry[En

Línea] Recuperado 01 Febrero 2013 de

http://mx.blackberry.com/software/developer.html

Jeff Ferbuson, Brian Pattersson, Jason Beres (2012) La Biblia de C#.

Research In Motion. (2013). Guía de Desarrollo. [En Línea] Recuperado el

01 de febrero del 2013 de http://docs.blackberry.com/ko-

kr/developers/deliverables/16725/Start_the_BBSmrtphnSmltr_and_open_a

_web_page_607475_11.jsp

José Antonio González Seco. (2007). El lenguaje de programación C#.

José Antonio González Seco( 2007) LibroCSharp [En Línea] Recuperado

de http://dis.um.es/~bmoros/privado/bibliografia/LibroCsharp.pdf

Nacho Cabanes (2013) C:Sharp[En Línea] Recuperado 06 de marzo del

2013 de http://chvere.blogspot.com/2011/11/manual-completo-de-c-sharp-

en-espanol.html

Page 175: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

154

ANEXOS

Anexo # 1:FLUJO DE PROCESOS

Page 176: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

155

Nº 2: Modelo de Procesos

Fuente: Héctor William Pilligua Robalino

Anexo # 2: ENCUESTA PARA SELECCIÓN DE EXPERTOS

Objetivo: Selección de expertos para validar criterios respecto a la propuesta realizadas por el

investigador.

Estimado especialista(a):

Usted ha sido seleccionado para colaborar con la investigación “Interfaces Gráficas para

Desarrollo de Aplicaciones Java en BlackBerry, Complejidad del Desarrollo y Propuesta de

Ambiente de Desarrollo Gráfico”.

En tal sentido se elabora esta encuesta para que la validación cualitativa de la propuesta del

prototipo elaborado en la presente investigación. Por ello le pedimos que lea con detenimiento la

información que se le solicita y responda con sinceridad todas las preguntas.

Muchas Gracias

Solicitamos responda las siguientes interrogantes.

I. Datos generales del encuestado:

1. Nombre: ___________________________________________________________

2. Centro al que pertenece: _______________________________________________

3. Años de experiencia en el desarrollo de

software.______________________________

Page 177: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

156

4. Investigaciones realizadas vinculadas de alguna manera con la temática

tratada._______________________________________________________

5. Categoría Científica. ____________________

6. Grado científico. ____________________

II- Test de Autovaloración del consultado:

Evalúe su nivel de dominio acerca de la esfera sobre la cual se le consultó marcando con una cruz

sobre la siguiente escala (1: dominio mínimo; 10: dominio máximo)

____ ____ ____ ____ ____ ____ ____ ____ ____ ____

1 2 3 4 5 6 7 8 9 10

Evalúe la influencia de las siguientes fuentes de argumentación en los criterios valorativos

aportados por usted:

Fuentes de argumentación

Grado de influencia de las fuentes de

argumentación

Alto Medio Bajo

Análisis teóricos realizados por usted.

Su propia experiencia.

Trabajos de autores nacionales.

Trabajos de autores extranjeros.

Su conocimiento del estado del problema en el

extranjero.

Su intuición.

Muchas gracias por su colaboración.

Page 178: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

157

Anexo # 3: DETERMINACIÓN DEL COEFICIENTE K.

Tabla 1. COMPETENCIA DE LOS EXPERTOS.

Valores del coeficiente de conocimiento (kc), del coeficiente de

argumentación (ka) y coeficiente de competencia (k) de los expertos.

Expertos

Coeficiente de

conocimiento (Kc)

Coeficiente de

argumentación

(Ka)

Coeficiente de

competencia

(K)

1 0.70 0.90 0,80

2 0.80 0.90 0.85

3 0,80 1,00 0,90

4 0.60 0.80 0.70

5 0,80 0,90 0,85

6 0,80 0,90 0,85

7 0,80 0,90 0,85

8 0,70 0,90 0,80

9 0,90 1,00 0,95

10 O,80 1,00 0,90

11 0.60 0.80 0.70

12 O,80 1,00 0,90

13 0,80 1.00 0,90

14 0,80 0,80 0,80

15 090 0,90 0,90

16 0,70 0,70 0,70

Page 179: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

158

El código para la interpretación del coeficiente de competencia de cada experto es

el siguiente:

Si 0.8< k < 1.0, el coeficiente de competencia es alto.

Si 0.5< k < 0.8, el coeficiente de competencia es medio.

Si k < 0.5, el coeficiente de competencia es bajo.

Nota: De acuerdo al coeficiente de competencia de cada experto, no se

consideraron para la valoración los expertos 4, 11, 16, 19 y 22.

Anexo # 4: ENCUESTA A LOS EXPERTOS SELECCIONADOS.

Objetivo: Valorar cualitativamente el proyecto de Interfaces Gráficas para Desarrollo de

Aplicaciones Java en BlackBerry, Complejidad del Desarrollo y Propuesta de Ambiente de

Desarrollo Gráfico.

Estimado especialista(a):

Usted ha sido seleccionado para colaborar con la investigación “Interfaces Gráficas para

Desarrollo de Aplicaciones Java en BlackBerry, Complejidad del Desarrollo y Propuesta de

Ambiente de Desarrollo Gráfico”.

Por ello le pedimos que lea con detenimiento la información que se le solicita y responda con

sinceridad todas las preguntas.

Muchas Gracias

I. Cuestionario sobre la propuesta presentada Para la evaluación de sus criterios acerca de la propuesta presentada (modelo), se indican a

continuación varias interrogantes, las cuales contemplan los aspectos que serán objeto de análisis:

Responda el cuestionario atendiendo a la siguiente escala: 5. Muy adecuada 4. Bastante adecuada 3 Adecuada 2 Poco adecuada

1. Inadecuada

Cuestionario

1. Valoración de las dimensiones planteadas en el modelo.

5 4 3 2 1

2. Valoración de los métodos científicos utilizados en la elaboración del modelo.

5 4 3 2 1

17 0,70 0,90 0.80

18 0,90 1,00 0,95

19 0.50 070 0.60

20 0,80 0,80 0.80

21 0.80 090 0,85

22 0,40 0,70 0,55

23 0,90 1,00 0,95

24 0.80 1,00 0.90

25 0,80 1,00 0,90

Page 180: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

159

3. Valoración de la eficacia del modelo en la compatibilidad la solución

generada con el IDE Eclipse.

5 4 3 2 1

4. Valoración de los módulos diseñados.

5 4 3 2 1

5. Valoración del grado de correspondencia entre el modelo y el aplicativo

gráfico.

5 4 3 2 1

6. Valoración de la misión del aplicativo de desarrollo de interfaces gráficas.

5 4 3 2 1

Anexo #5 CRITERIOS DE LOS EXPERTOS CONSULTADOS. MATRIZ

DE FRECUENCIAS DE LA ENCUESTA

Tabla 2. TABLA DE FRECUENCIAS ABSOLUTAS.

Cuestionario

C1

Muy

adecuada

C2

Bastante

adecuada

C3

Adecuada

C4

Poco

adecuada

C5

No

adecuada

TOTAL

P-1 13 7 - - - 20

P-2 2 9 - 3 5 20

P-3 1 14 2 - 3 20

P-4 16 5 - - - 20

P-5 2 11 1 2 4 20

P-6 14 2 2 1 1 20

Tabla 3. TABLA DE FRECUENCIAS ABSOLUTAS ACUMULADAS

C-1 C-2 C-3 C-4 C-5

P-1 13 18 20 20 20

P-2 2 9 15 15 20

P-3 1 17 11 15 20

P-4 16 14 18 20 20

P-5 2 20 12 10 20

P-6 14 9 9 20 20

Tabla 4.TABLA DE FRECUENCIAS RELATIVAS ACUMULADA

Page 181: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

160

C-1 C-2 C-3 C-4 C-5

P-1 0,65 0.90 1,00 1,00 1.00

P-2 0,10 0,45 0,75 0,75 1.00

P-3 0,05 0,85 0,55 0,75 1.00

P-4 0,80 0,70 0,90 1,00 1.00

P-5 0,10 1.00 0,60 0,50 1.00

P-6 0,70 0,45 0,45 1,00 1.00

Anexo #6: IMAGEN DE CADA UNO DE LOS VALORES DE LAS

CELDAS DE LA TABLA DE FRECUENCIAS ACUMULATIVAS

RELATIVAS, POR LA INVERSA DE LA CURVA NORMAL

Tabla 5. IMAGEN DE CADA UNO DE LOS VALORES.

C-1 C-2 C-3 C-4 Suma Promedio N-P

P-1 0,13 3,48 3,48 3,48 10,57 2,64 -1,73 P-2 -1,64 0,00 0,25 0,67 -0,72 -0,18 1,09 P-3 -1,64 0,39 0,52 0,67 -0,06 -0,02 0,92 P-4 0,67 1,64 3,48 3,48 9,28 2,32 -1,41 P-5 -1,64 0,13 0,25 0,52 -0,74 -0,19 1,09 P-6 0,67 1,28 3,48 3,48 8,92 2,23 -1,32 ∑ -3,46 6,92 11,47 12,31 27,24

Puntos

de

corte -0,58 1,15 1,91 2,05

N= 27.24/6x5= 0,9080

Los puntos de corte sirven para determinar la categoría o grado de adecuación de

cada pregunta, según la opinión de los expertos consultados. Con ello se opera del

modo siguiente:

Muy adecuada Bastante

adecuada

Adecuada Poco adecuada No adecuada

-0,58 1,15 1,91 2,05

Page 182: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

161

Nota: De acuerdo a los puntos de corte se valora positivamente el proyecto de

Interfaces Gráficas para Desarrollo de Aplicaciones Java en BlackBerry, Complejidad del

Desarrollo y Propuesta de Ambiente de Desarrollo Gráfico.

Anexo # 7: Objetivo: Recolectar información de las personas que se dedican al desarrollo de

aplicaciones, que utilicen los diferentes tipos de lenguajes de programación y comprobar

el nivel de conocimiento de programación orientada a objetos que poseen.

Instructivo: Para responder adecuadamente sírvase escribir el número de la alternativa

seleccionada en el cuadrado que se encuentra a la derecha.

1) Condición del informante(Empresa donde desarrolla aplicaciones).

1. Consultor informático

2. Desarrollador en entidad financiera

3. Estudiante de Ingeniería en sistemas

4. Desarrollador independiente

2) ¿Utiliza Dispositivos BlackBerry?

1. Si

2. No

3) ¿nivel de adaptación a nuevas herramientas de desarrollo?

1. Complicado

2. Con tiempo considerable

3. Adaptación rápida

4. No se complica la adaptación.

4) ¿Qué lenguaje de Programación utiliza más?

1. .Net

2. Java

3. Oracle-Pl-SQL, SQLSERVER

4. Aplicaciones Web

5. Cobol

5) ¿Ha desarrollado Aplicaciones con tecnología J2ME?

Page 183: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

162

1. Si

2. No

6) ¿Conocimiento de Herramientas para desarrollo de aplicaciones para dispositivos móviles?

1. Muchas

2. Algunas

3. Pocas

4. ninguna

7) ¿Uso de IDE para desarrollo de aplicaciones?

1: Siempre

2: Algunas veces

3: DMuy Poco

4: nunca

8) ¿Desarrollo Frecuente de aplicaciones informáticas?

1. Empresarial

2. Oficina

3. Juegos

4. Varios

9) ¿Qué sistema Operativo Móvil más utiliza?

1. Android

2. IOS

3. RIM BlackBerry

4. Symbian

5. Windows Mobile

6. Otros

10) ¿Herramienta de Programación que más utiliza para el desarrollo de aplicaciones

móviles

1: Eclipse

2: NetBeans

3: .NEY

4: Programación web

5. Otros

Page 184: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

1

MANUAL TECNICO

Page 185: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

1

Indice General

Introducción 5

Objetivo del Manual 5

Modelo de Desarrollo Espiral 6

Determinar Objetivos 7

Análisis del Riesgo 7

Desarrollar y verificar 7

Planificar 7

Angular 7

Radial 7

Principios básicos del Modelo Espiral 8

Diagramas UML 8

Diagramas de Casos de Usos 8

Definición de actores 8

Diagrama de Colaboración 12

Diagrama de Contexto 13

Diagrama de Eventos 13

Diagrama de Proceso 13

Diagrama de Secuencias 15

EL FRAMEWORK 18

ESTRUCTURA 28

Contenido del archivo org.eclipse.jdt.core.prefs 20

Page 186: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

2

Contenido del archivo .classpath 20

Contenido del archivo .proyect 20

Contenido del archivo BlackBerry_App_Descriptor.xml 21

DATOS TÉCNICOS DEL APLICATIVO 22

Modelo Entidad Relación 23

Diccionario de Datos 23

CODIFICACIÓN DE COMPONENTES 23

Codificación AppConfig 165

Page 187: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

3

Indice de Gráficos

GRAFICO 1 Gráfico de Programación Espiral 7

GRAFICO 2 Caso de Uso 1er Nivel: Creación de interfaz Grafica 10

GRAFICO 3 Caso de Uso 2do. Nivel: Generación de Solución 11

GRAFICO 4 Diagrama de Colaboración 12

GRAFICO 5 Diagrama de contexto nivel 0 – AGBB 13

GRAFICO 6 Diagrama de colaboración Nivel Superior 13

GRAFICO 7 Diagrama de Eventos 14

GRAFICO 8 Diagrama de Proceso 14

GRAFICO 9 Carpeta Plantilla 14

GRÁFICO 10 Contenido Plantillas 19

GRAFICO 11 Contenido de Carpeta Setting 19

GRAFICO 12 Icon App 21

Page 188: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

4

Índice de Cuadros

CUADRO 1 Actor 1 9

CUADRO 2 Actor 2 9

CUADRO 3 Descripción de Casos de Uso 1 10

CUADRO 4 Definición de 2do Caso de Uso 11

CUADRO 5 Características Generales 22

Page 189: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

5

CAPITULO 1

MANUAL TÉCNICO

INTRODUCCIÓN

La finalidad de este documento es explicar las distintas tecnologías involucradas en

el desarrollo de nuestra aplicación de escritorio. Las Herramientas utilizadas son C#

hecha con aplicaciones Windows.

Para el desarrollo del aplicativo fue necesario instalar visual estudio .net 2012 con el

framework 3.5 o superior.

El aplicativo fue desarrollado para sistemas operativos Windows vista o superior.

Paquete de software necesarios

Framework 3.5 o superior

Java jdk1.7.0

BlackBerry Java Plug-in 1.5.2

Sistema Operativo Windows vista o superior. Entre los diferentes lenguajes que se

encuentran en visual estudio .net se utilizara el lenguaje C# con generación de

archivos, se generara un archivo resultado que es un código java, para la compilación

del código generado se utilizara java versión 1.7.0.

Existen varios plug-in para desarrollo de aplicaciones en lenguaje java para

BlackBerry, pero que utilizaremos será el 1.5.2 el cual se encuentra con él la versión

Page 190: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

6

de compilador 6 de java para BlackBerry.

OBJETIVO DEL MANUAL

Estos manuales tienen como principales objetivos brindar a los usuarios finales y una

concepción técnica del sistema AGBB (Ambiente Grafico para BlackBerry), en los

siguientes aspectos:

Descripción del funcionamiento de los principales procesos llevado a cabo por

el usuario final.

Descripción de las validaciones requeridas para el correcto uso de la

aplicación

Descripción de los diferentes modelos utilizados.

MODELO DE DESARROLLO ESPIRAL

Fue desarrollado por Boehm en 1986, este es un modelo de proceso evolutivo.

Es un generador de modelo de proceso guiado por el riesgo que se emplea para

conducir sistemas intensivos de ingeniería de software concurrente y a la vez con

muchos usuarios.

Se caracteriza principalmente por:

Un enfoque cíclico para el crecimiento incremental del grado de definición e

implementación de un sistema, mientras que disminuye su grado de riesgo.

Un conjunto de puntos de fijación para asegurar el compromiso del usuario con

soluciones de sistema que sean factibles y mutuamente satisfactorias.

Page 191: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

7

El proceso de cada vuelta es:

o Determinar Objetivos: establecer las necesidades que envuelven el programa.

o Análisis del Riesgo: Se estudian todos los riesgos potenciales y se seleccionan

una o varias alternativas propuestas para reducir o eliminar los riesgos.

o Desarrollar y verificar: programar e ir probando el programa para ir

disminuyendo los errores.

o Planificar: Se planifican los siguientes pasos para volver al inicio de la

espiral, mantiene dos dimensiones:

Angular.- avance del Software dentro de un ciclo.

Radial.- aumento del coste del Proyecto, ya que con cada nueva

interacción se pasa más tiempo desarrollando.

Al ser un modelo de Ciclo de Vida orientado al riesgo se dice que uno de los aspectos

fundamentales de su éxito radica en que el equipo que lo aplique sea capaz de

detectar y catalogar correctamente dicho riesgo.

Este sistema es muy utilizado en proyectos largos, que necesitan constantes cambios.

GRAFICO 1

Gráfico de Programación Espiral

Page 192: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

8

Principios básicos del Modelo Espiral

Decidir qué problema se quiere resolver antes de ir a resolverlo.

Examinar tus múltiples alternativas de acción y elegir una de las más

convenientes.

Evaluar qué tienes hecho y qué tienes que haber aprendido después de hacer

algo.

Conocer los niveles de riesgo, que tendrás que tolerar.

Diagramas UML

Con el objeto de manejar una mejor organización y tener un soporte teórico

del sistema he considerado necesario incluir diagramas que pertenecen al lenguaje de

modelado visual (UML Lenguaje Unificado de Modelado).

Diagramas de Casos de Usos

Sirve como una técnica para la captura de requisitos potenciales de un nuevo sistema o

actualización de software. Cada caso de uso proporciona uno o más escenarios que indican

cómo debería interactuar el sistema con el usuario o con otro sistema para conseguir un

objetivo específico.

Definición de actores

Los actores son los diferentes participantes que se encuentran en el uso del sistema,

dependiendo del sistema desarrollado, los roles de estos actores pueden variar,

Page 193: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

9

CUADRO 1

Actor 1

ACT-01

Desarrollador de Aplicaciones

Descripción

Este actor es el encargado de

desarrollar los diferentes

requerimientos solicitados por los

usuarios propietarios.

Caso de Uso Desarrollo de aplicación en AGBB

Propósito Desarrollo de la aplicación para el

dispositivo móvil BlackBerry.

CUADRO 2

Actor 2

ACT-02

Usuario Propietario

Descripción

Este actor es el propietario del

dispositivo móvil donde se estará

ejecutando el aplicativo resultado

desarrollado por el usuario

desarrollador de aplicaciones, este

usuario en la mayoría de los casos

es el propietario del dispositivo.

Caso de Uso Uso de aplicación en AGBB

Propósito Dar uso al aplicativo desarrollado

en el AGBB.

Page 194: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

10

GRAFICO 2

Caso de Uso 1er Nivel: Creación de interfaz Grafica

Diseño de Interfase grafica

CUADRO 3

Descripción de Casos de Uso 1

Caso de uso Creación de Interfaz grafica

Actores Usuario, Aplicativo, sistema de archivos

Tipo Básico

Descripción El usuario desarrolla la interfaz gráfica , una vez desarrollado

generara el código, modificara lo que se necesite y se compilara,

una vez compilado se desarrolla la solución para ser utilizada en

eclipse

Page 195: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

11

GRAFICO 3

Caso de Uso 2do. Nivel: Generación de Solución

Proceso de Generacion de solucion en Eclipse

CUADRO 4

Definición de 2do Caso de Uso

Caso de uso Generación de solución hacia móvil

Actores Usuario, Solución generada, aplicativo eclipse , dispositivo móvil

Tipo Básico

Descripción Este caso el desarrollador utiliza la solución generada en el

aplicativo inicial, esto es importado en eclipse y se genera el

archivo final para ser utilizado en el dispositivo BlackBerry.

Page 196: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

12

GRAFICO 4

Diagrama de Colaboración

Page 197: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

13

Diagrama de Contexto

GRAFICO 5

Diagrama de contexto nivel 0 - AGBB

GRAFICO 6

Diagrama de colaboración Nivel Superior

Page 198: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

14

GRAFICO 7

Diagrama de Eventos

UsuarioAplicativo AGBB

Solucion Generada

Aplicativo EclipseAplicativo en movil

Diagrama de Proceso

GRAFICO 8

Diagrama de Proceso

Se genera el código con ayuda de la AGBB

Se modifica el código y se compila

Se genera el sistema de archivos a ser importado

Se realiza la carga de la solución a eclipse

Se genera la solución final al dispositivo.

Page 199: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

15

Diagrama de secuencias

Con la elaboración del diagrama de secuencias se pretende mostrar los diversos

objetos y sus interacciones por medio de mensajes que se envían en el momento que

son considerados como importantes para ellos

Page 200: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

16

Page 201: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

17

Llena propiedades

Page 202: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

18

EL FRAMEWORK

Nuestro proyecto se vio la necesidad de utilizar un Framework profesional, ya que el

desarrollo del proyecto se basa en un aplicativo de escritorio, este aplicativo está

utilizando lenguaje C#, el cual se encuentra entre las librerías del paquete indicado, se

manejara el uso de archivos y directorios.

ESTRUCTURA

La estructura del aplicativo se desarrollo de manera sencilla para el fácil

entendimiento del mismo, para ello se tiene un esquema de clase base y demás clases

derivadas.

Aclaramos que no solo creamos formularios, sino implementamos funcionalidades

para el desarrollo de los procesos necesarios para la generación de las soluciones a ser

importadas en el IDE Eclipse

En el aplicativo se gestionaran

Archivos

Formularios

Generación de código java

Edición de código java

Compilaciones

Creación de soluciones

Se necesita tener un aplicativo directorio que es la siguiente

C:\FuentesDesarrolladosTHWPR

Se necesita tener la carpeta Plantillas

Page 203: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

19

GRAFICO 9

Carpeta Plantilla

La carpeta Plantillas se necesita tener la organización de los siguientes archivos:

GRÁFICO 10

Contenido Plantillas

GRAFICO 11

Contenido de Carpeta Setting

Page 204: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

20

Contenido del archivo org.eclipse.jdt.core.prefs

#Sat Dec 01 22:45:47 COT 2012

eclipse.preferences.version=1

org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled

org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2

org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve

org.eclipse.jdt.core.compiler.compliance=1.4

org.eclipse.jdt.core.compiler.debug.lineNumber=generate

org.eclipse.jdt.core.compiler.debug.localVariable=generate

org.eclipse.jdt.core.compiler.debug.sourceFile=generate

org.eclipse.jdt.core.compiler.problem.assertIdentifier=ignore

org.eclipse.jdt.core.compiler.problem.enumIdentifier=ignore

org.eclipse.jdt.core.compiler.source=1.3

Este archivo no se debe modificar, de modificarse la compilación se generara de

manera errónea

Contenido del archivo .classpath

<?xml version="1.0" encoding="UTF-8"?>

<classpath>

<classpathentry kind="src" path="src"/>

<classpathentry kind="src" path="res"/>

<classpathentry kind="con" path =

"org.eclipse.jdt.launching.JRE_CONTAINER/net.rim.ejde.BlackBerryVMInstallType/BlackBerry JRE

7.1.0"/>

<classpathentry kind="output" path="bin"/>

</classpath>

Contenido del archivo .proyect

<?xml version="1.0" encoding="UTF-8"?>

<projectDescription>

<name>[[NOMBREAPP]]</name>

<comment></comment>

<projects>

</projects>

<buildSpec>

<buildCommand>

<name>net.rim.ejde.internal.builder.BlackBerryPreprocessBuilder</name>

<arguments>

Page 205: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

21

</arguments>

</buildCommand>

<buildCommand>

<name>net.rim.ejde.internal.builder.BlackBerryResourcesBuilder</name>

<arguments>

</arguments>

</buildCommand>

<buildCommand>

<name>org.eclipse.jdt.core.javabuilder</name>

<arguments>

</arguments>

</buildCommand>

</buildSpec>

<natures>

<nature>net.rim.ejde.BlackBerryPreProcessNature</nature>

<nature>net.rim.ejde.BlackBerryProjectCoreNature</nature>

<nature>org.eclipse.jdt.core.javanature</nature>

</natures>

</projectDescription>

Contenido del archivo BlackBerry_App_Descriptor.xml

<!-- This file has been generated by the BlackBerry Plugin for Eclipse v3.7.100. -->

<Properties ModelVersion="1.1.2">

<General Title="" Version="1.0.0" Vendor="BlackBerry Developer" Description=""/>

<Application Type="BlackBerry Application"

MainMIDletName=""

MainArgs=""

HomeScreenPosition="0"

StartupTier="7"

IsSystemModule="false"

IsAutostartup="false"/>

<Resources hasTitleResource="false"

TitleResourceBundleName=""

TitleResourceBundleRelativePath=""

TitleResourceBundleClassName=""

TitleResourceBundleKey=""

DescriptionId="">

<Icons>

<Icon CanonicalFileName="res/img/[[ICONOAPP]]"

IsFocus="false"/>

</Icons>

</Resources>

<KeywordResources KeywordResourceBundleName=""

KeywordResourceBundleRelativePath=""

KeywordResourceBundleClassName=""

KeywordResourceBundleKey=""/>

<Compile OutputCompilerMessages="false"

ConvertImages="true"

CreateWarningForNoExportedRoutine="true"

CompressResources="false"

AliasList="">

<PreprocessorDefines/>

</Compile>

<Packaging PreBuildStep=""

PostBuildStep=""

CleanStep=""

Page 206: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

22

OutputFileName="[[NOMBREAPP]]"

OutputFolder="deliverables"

GenerateALXFile="true">

<AlxFiles/>

</Packaging>

<HiddenProperties>

<ClassProtection/>

<PackageProtection/>

</HiddenProperties>

<AlternateEntryPoints/>

</Properties>

GRAFICO 12

Icon App

DATOS TÉCNICOS DEL APLICATIVO

Plataforma: Windows Vista o Superior.

CUADRO 5

Características Generales

Espacio en Disco 15.1 MB

Banda Ancho No Aplica

Dominios Compartidos No Aplica

Constructor de Sitios No aplica

Soporte 24x7 No Aplica

Backups Programados No Aplica

Mysql Bases No Aplica

Page 207: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

23

Cuentas FTP No Aplica

Php5 No Aplica

Streaming Audio/Video No Aplica

Cuentas Pop3 No Aplica

WebMail No Aplica

Administración Cpanel No Aplica

phpMyAdmin No Aplica

Logs de Errores No Aplica

Ip Dedicada No Aplica

Máximo de Conexiones

Simultaneas a base de datos

No Aplica

Modelo Entidad Relación

No Aplica

Diccionario de Datos

No Aplica

CODIFICACIÓN DE COMPONENTES

Objeto Base.

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

Page 208: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

24

using System.Windows.Forms;

namespace TesisEjemplo1

{

class ObjetoBase : Panel

{

string ls_nombreControl;

string ls_tipo = "";

int ln_posX = 0;

int ln_posY = 0;

int ln_ancho = 0;

int ln_alto = 0;

bool lb_movible = false;

string ls_contenido = "";

bool lb_poseeFuncionClick = false;

string ls_funcionClick = "";

public bool lb_poseeEstilo = false;

string textoEstilo = "";

public bool lb_poseeOtraFamiliaTexto = false;

string texto_nombreFamilia = "";

public bool lb_otrotamanioTexto = false;

string te4xto_tamanioTexto = "";

#region "modifica las propiedades basicas de cada objeto"

/// <summary>

/// controla el nombre del objeto

/// </summary>

public string _Nombrecontrol

{

set

{

ls_nombreControl = value;

}

get

{

return ls_nombreControl;

}

}

/// <summary>

/// controla el tipo del objeto

/// </summary>

public string _TipoControl

{

set{

ls_tipo = value;

}

get

{

return ls_tipo;

}

}

/// <summary>

/// controla la posicion horizontal del objeto

/// </summary>

public int _posX

{

Page 209: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

25

set

{

this.ln_posX = this.Left;

}

get

{

return this.Left;

}

}

/// <summary>

/// controla la posicion vertiacl del objeto

/// </summary>

public int _posY

{

set

{

this.ln_posY = this.Top;

}

get

{

return this.Top;

}

}

/// <summary>

/// controla el ancho del objeto

/// </summary>

public int _ancho

{

set

{

ln_ancho = value;

}

get

{

return ln_ancho;

}

}

/// <summary>

/// controla el alto del objeto

/// </summary>

public int _alto

{

set

{

ln_alto = value;

}

get

{

return ln_alto;

}

}

public bool _AccionClick

{

set

{

this.lb_poseeFuncionClick = value;

Page 210: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

26

}

get

{

return lb_poseeFuncionClick;

}

}

public string _FuncionClick

{

set

{

this.ls_funcionClick = value;

}

get

{

return this.ls_funcionClick;

}

}

public string _NombreFamiliaTexto

{

set

{

this.lb_poseeOtraFamiliaTexto = true;

this.texto_nombreFamilia = value;

}

get

{

return this.texto_nombreFamilia;

}

}

public string _NombreEstiloTexto

{

set

{

this.lb_poseeEstilo = true;

this.textoEstilo = value;

}

get

{

return this.textoEstilo;

}

}

public string _TamanioTexto

{

set

{

this.lb_otrotamanioTexto = true;

this.te4xto_tamanioTexto = value;

}

get

{

return te4xto_tamanioTexto;

}

}

Page 211: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

27

#endregion

private void InitializeComponent()

{

this.SuspendLayout();

//

// ObjetoBase

//

this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

this.ResumeLayout(false);

}

}

}

Codificacion Panel AutoCompletar

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace TesisEjemplo1

{

class PanelAutoCompletar: ObjetoBase

{

public bool poseeColorfondo = false;

Color coloFondo;

public bool poseeColorTextop = false;

Color colorEtiqueta;

public PanelAutoCompletar(string texto)

{

_TipoControl = "TEXTOAUTOCOMPLETAR_";

_alto = 20;

seteaFormato();

}

public PanelAutoCompletar() {

_TipoControl = "TEXTOAUTOCOMPLETAR_";

_alto = 20;

seteaFormato();

}

public PanelAutoCompletar(bool conColor)

{

this.BackColor = Color.White;

_TipoControl = "TEXTOAUTOCOMPLETAR_";

Page 212: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

28

_alto = 20;

seteaFormato();

}

public void seteaFormato()

{

this.BackColor = Color.White;

_ancho = 100;

_alto = 20;

this.Width = _ancho;

this.Height = _alto;

this.Cursor = Cursors.SizeAll;

}

public Color ColorFondo

{

set

{

this.poseeColorfondo = true;

this.coloFondo = value;

}

get

{

return coloFondo;

}

}

public Color ColorEtiqueta

{

set

{

this.poseeColorTextop = true;

this.colorEtiqueta = value;

}

get

{

return this.colorEtiqueta;

}

}

public void cambiarColorFondo(Color color)

{

this.BackColor = color;

}

private void InitializeComponent()

{

this.SuspendLayout();

//

// PanelAutoCompletar

//

this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

this.ResumeLayout(false);

}

}

}

Page 213: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

29

Codificacion PanelBoton

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace TesisEjemplo1

{

class PanelBoton : ObjetoBase

{

string ls_TextoBoton = "";

Label Etiqueta = new Label();

public string _Texto

{

set

{

this.ls_TextoBoton = value;

}

get

{

return ls_TextoBoton;

}

}

public PanelBoton()

{

_TipoControl = "BOTON";

ColocaEtiqueta();

}

public PanelBoton(bool conColor)

{

this.BackColor = Color.Gray;

_TipoControl = "BOTON";

ColocaEtiqueta();

}

public PanelBoton(string texto)

{

this._TipoControl = "BOTON";

_Texto = texto;

ColocaEtiqueta();

}

public void llenaFuncionClick(string contenidoFuncion)

{

_AccionClick = true;

_FuncionClick = contenidoFuncion;

}

public void ColocaEtiqueta()

{

Etiqueta.Text = "Etiqueta";

Page 214: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

30

Etiqueta.ForeColor = Color.White;

Etiqueta.BackColor = Color.Gray;

Etiqueta.Width = 70;

Etiqueta.Left = 10;

Etiqueta.TextAlign = ContentAlignment.MiddleCenter;

Etiqueta.Cursor = Cursors.Default;

this.Cursor = Cursors.SizeAll;

this.Controls.Add(Etiqueta);

this._ancho = 90;

this._alto = 20;

this.Width = 90;

this.Height = 20;

}

public string TextoEtiqueta

{

set

{

this.Etiqueta.Text = value;

}

get

{

return this.Etiqueta.Text;

}

}

private void InitializeComponent()

{

this.SuspendLayout();

//

// PanelBoton

//

this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

this.ResumeLayout(false);

}

public void cambiaEtiquetaVisible(string textoMuestra)

{

try

{

this.Etiqueta.Text = textoMuestra;

}

catch (Exception ex)

{

this.Etiqueta.Text = ex.Message;

}

}

}

}

Codificacion PanelBrowserField

using System;

Page 215: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

31

using System.Collections.Generic;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace TesisEjemplo1

{

class PanelBrowserField: ObjetoBase

{

bool lb_noDefecto = false;

string ls_cadenaUrl = "http://www.google.com";

public string UrlVisitaInicial

{

set

{

this.lb_noDefecto = true;

ls_cadenaUrl = value;

}

get

{

return ls_cadenaUrl;

}

}

public PanelBrowserField()

{

_TipoControl = "BROWSER";

this.BackColor = Color.WhiteSmoke;

this._alto = 100;

this._ancho = 100;

this.Width = this._ancho;

this.Height = this._alto;

this.Cursor = Cursors.SizeAll;

this.BackgroundImageLayout = ImageLayout.Stretch;

this.BackgroundImage = global::TesisEjemplo1.Properties.Resources.MensajeControslWeb;

}

}

}

Codificacion PanelCajaTexto

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace TesisEjemplo1

{

class PanelCajatexto : ObjetoBase

{

Page 216: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

32

public bool poseeColorfondo = false;

Color coloFondo;

public bool poseeColorTextop = false;

Color colorEtiqueta;

public PanelCajatexto(string texto)

{

_TipoControl = "CAJATEXTO";

seteaFormato();

}

public PanelCajatexto() {

_TipoControl = "CAJATEXTO";

seteaFormato();

}

public PanelCajatexto(bool conColor)

{

this.BackColor = Color.White;

_TipoControl = "CAJATEXTO";

seteaFormato();

}

public void seteaFormato()

{

this.BackColor = Color.White;

_ancho = 100;

_alto = 20;

this.Width = _ancho;

this.Height = _alto;

this.Cursor = Cursors.SizeAll;

}

public Color ColorFondo

{

set

{

this.poseeColorfondo = true;

this.coloFondo = value;

}

get

{

return coloFondo;

}

}

public Color ColorEtiqueta

{

set

{

this.poseeColorTextop = true;

this.colorEtiqueta = value;

}

get

{

return this.colorEtiqueta;

}

}

Page 217: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

33

public void cambiarColorFondo(Color color)

{

this.BackColor = color;

}

private void InitializeComponent()

{

this.SuspendLayout();

//

// PanelCajatexto

//

this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

this.ResumeLayout(false);

}

}

}

Codificacion PanelCampoFecha

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace TesisEjemplo1

{

class PanelCampoFecha:ObjetoBase

{

public bool poseeColorfondo = false;

Color coloFondo;

public bool poseeColorTextop = false;

Color colorEtiqueta;

public PanelCampoFecha(string texto)

{

_TipoControl = "CAMPOFECHA";

seteaFormato();

}

public PanelCampoFecha() {

_TipoControl = "CAMPOFECHA";

seteaFormato();

}

public PanelCampoFecha(bool conColor)

{

this.BackColor = Color.White;

_TipoControl = "CAMPOFECHA";

seteaFormato();

}

Page 218: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

34

public void seteaFormato()

{

this.BackColor = Color.White;

_ancho = 100;

_alto = 20;

this.Width = _ancho;

this.Height = _alto;

this.Cursor = Cursors.SizeAll;

this.BackgroundImageLayout = ImageLayout.Stretch;

this.BackgroundImage = global::TesisEjemplo1.Properties.Resources.CampoFecha;

}

public Color ColorFondo

{

set

{

this.poseeColorfondo = true;

this.coloFondo = value;

}

get

{

return coloFondo;

}

}

public Color ColorEtiqueta

{

set

{

this.poseeColorTextop = true;

this.colorEtiqueta = value;

}

get

{

return this.colorEtiqueta;

}

}

public void cambiarColorFondo(Color color)

{

this.BackColor = color;

}

private void InitializeComponent()

{

this.SuspendLayout();

//

// PanelCampoFecha

//

this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

this.ResumeLayout(false);

}

}

}

Page 219: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

35

Codificacion Panel Campo Imagen

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace TesisEjemplo1

{

class PanelCampoImagen: ObjetoBase

{

string nombreImagen = "";

string rutaImagenTmp = "";

PictureBox imagenMuestra = new PictureBox();

public PanelCampoImagen()

{

_TipoControl = "IMAGEN";

this.BackColor = Color.WhiteSmoke;

this._alto = 100;

this._ancho = 100;

this.Width = this._ancho;

this.Height = this._alto;

this.Cursor = Cursors.SizeAll;

/*imagenMuestra.Width = 90;

imagenMuestra.Height = 90;

imagenMuestra.Left = 5;

imagenMuestra.Top=5;

imagenMuestra.Cursor = Cursors.Default;

imagenMuestra.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

this.Controls.Add(imagenMuestra);*/

}

public string rutaImagentemporal

{

set

{

rutaImagenTmp = value;

this.imagenMuestra.ImageLocation = rutaImagenTmp;

}

get

{

return rutaImagenTmp;

}

}

public string NombreImagenVer

{

set

{

nombreImagen = value;

}

get

{

return nombreImagen;

}

Page 220: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

36

}

public int altoImagen

{

set;

get;

}

public int anchoImagen

{

set;

get;

}

public bool redimencionaImagen(int alto, int ancho)

{

if(alto - 6 >1 && ancho - 6 > 1)

{

this.Width = ancho;

this.Height = alto;

this.imagenMuestra.Width = ancho-6;

this.imagenMuestra.Height = alto-6;

_ancho = ancho;

_alto = alto;

return true;

}

else

{

return false;

}

}

private void InitializeComponent()

{

this.SuspendLayout();

//

// PanelCampoImagen

//

this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

this.ResumeLayout(false);

}

}

}

Codificacion PanelCampoOpcion

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

Page 221: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

37

using System.Windows.Forms;

namespace TesisEjemplo1

{

class PanelCampoOpcion : ObjetoBase

{

private Microsoft.VisualBasic.PowerPacks.ShapeContainer shapeContainer1 = new

Microsoft.VisualBasic.PowerPacks.ShapeContainer();

private Microsoft.VisualBasic.PowerPacks.RectangleShape rectangeShape1 = new

Microsoft.VisualBasic.PowerPacks.RectangleShape();

string ls_textoEtiqueta = "";

Label lblEtiqueta = new Label();

string nombreGrupoOpcion = "Grupo1";

public string _Texto

{

set

{

this.ls_textoEtiqueta = value;

}

get

{

return this.ls_textoEtiqueta;

}

}

public bool poseeColorfondo = false;

Color coloFondo;

public bool poseeColorTextop = false;

Color colorEtiqueta;

public PanelCampoOpcion(string contenido)

{

_TipoControl = "OPCION";

seteaFormato(contenido);

}

public PanelCampoOpcion()

{

_TipoControl = "OPCION";

seteaFormato("Etiqueta");

}

public PanelCampoOpcion(bool conColor)

{

this.BackColor = Color.White;

_TipoControl = "OPCION";

seteaFormato("Etiqueta");

}

public void llenaFuncionClick(string contenidoFuncion)

{

}

public Color ColorFondo

{

set

{

this.poseeColorfondo = true;

this.coloFondo = value;

Page 222: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

38

}

get

{

return coloFondo;

}

}

public Color ColorEtiqueta

{

set

{

this.poseeColorTextop = true;

this.colorEtiqueta = value;

}

get

{

return this.colorEtiqueta;

}

}

public void seteaFormato(string contenido)

{

ColocaImagen();

this.lblEtiqueta.Text = contenido;

lblEtiqueta.BackColor = Color.Transparent;

lblEtiqueta.Cursor = Cursors.Default;

lblEtiqueta.Left = 13;

this.Controls.Add(lblEtiqueta);

_Texto = contenido;

this.Cursor = Cursors.SizeAll;

this.BackColor = Color.Transparent;

this._ancho = 100;

this._alto = 20;

this.Width = _ancho;

this.Height = _alto;

lblEtiqueta.Width = 70;

}

public void cambiaEtiquetaVisible(string textoMuestra)

{

try

{

this.lblEtiqueta.Text = textoMuestra;

}

catch (Exception ex)

{

this.lblEtiqueta.Text = ex.Message;

}

}

public void cambiarColorEtiqueta(Color color)

{

this.lblEtiqueta.ForeColor = color;

}

public void cambiarColorFondo(Color color)

{

this.lblEtiqueta.BackColor = color;

this.BackColor = color;

Page 223: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

39

}

public void cambiaFamiliaTexto(string nomrbreFamilia)

{

try

{

//this.lblEtiqueta.Font = new System.Drawing.Font(nomrbreFamilia, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

this.lblEtiqueta.Font = new System.Drawing.Font(nomrbreFamilia, 8.25F,

this.lblEtiqueta.Font.Style, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

}

catch (Exception ex)

{

}

}

public void cambiarEstiloTexto(string nombreEstilo)

{

try

{

switch (nombreEstilo)

{

case "ANTIALIAS_LOW_RES":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ANTIALIAS_NONE":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ANTIALIAS_STANDARD":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ANTIALIAS_SUBPIXEL":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "APPLICATION":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ARABIC_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ARMENIAN_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "BENGALI_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "BOLD":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "BROKEN_LINE_UNDERLINED":

Page 224: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

40

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "CJK_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "CURSIVE_STYLE":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "CYRILLIC_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "DEVANAGARI_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "DOTTED_UNDERLINED":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ETHIOPIC_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "EXTRA_BOLD":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "FANTASY_STYLE":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "GEORGIAN_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "GREEK_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "GUID_FONT_CHANGED":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "GUJARATI_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "GURMUKHI_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "HANGUL_SCRIPT":

Page 225: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

41

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "HEBREW_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "HIRAGANA_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ITALIC":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "KANNADA_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "KATAKANA_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "KHMER_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "LAO_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "LATIN_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "MALAYALAM_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "MONGOLIAN_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "MYANMAR_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ORIYA_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "PLAIN":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "SANS_SERIF_STYLE":

Page 226: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

42

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "SERIF_STYLE":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "SERIF_STYLE_MASK":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "SINHALA_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "STRIKE_THROUGH":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Strikeout, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "TAMIL_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "TELUGU_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "THAI_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "TIBETAN_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "UNDERLINED":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "UNSPECIFIED_SERIF_STYLE":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "WAVY_UNDERLINED":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

}

}

catch (Exception ex)

{

}

}

public void modificaTamanioTexto(string tamanio)

{

try

Page 227: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

43

{

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name,

float.Parse(tamanio), this.lblEtiqueta.Font.Style, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

}

catch (Exception ex)

{

}

}

public string GrupoOpcion{

set

{

this.nombreGrupoOpcion = value;

}

get

{

return this.nombreGrupoOpcion;

}

}

public void ColocaImagen()

{

PictureBox pbx = new PictureBox();

pbx.SizeMode = PictureBoxSizeMode.StretchImage;

pbx.Image = global::TesisEjemplo1.Properties.Resources.Option;

pbx.Width = 15;

pbx.Height = 15;

pbx.Top = 0;

pbx.Left = 0;

this.Controls.Add(pbx);

}

private void InitializeComponent()

{

this.SuspendLayout();

//

// PanelCampoOpcion

//

this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

this.ResumeLayout(false);

}

}

}

Codificacion PanelCampoMapa

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace TesisEjemplo1

Page 228: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

44

{

class PanelCamposMapa : ObjetoBase

{

public PanelCamposMapa()

{

_TipoControl = "MAPA";

this.BackColor = Color.WhiteSmoke;

this._alto = 100;

this._ancho = 100;

this.Width = this._ancho;

this.Height = this._alto;

this.Cursor = Cursors.SizeAll;

this.BackgroundImageLayout = ImageLayout.Stretch;

this.BackgroundImage = global::TesisEjemplo1.Properties.Resources.MensajeControslMapa;

}

}

}

Codificacion PanelCheckBox

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace TesisEjemplo1

{

class PanelCheckBox: ObjetoBase

{

private Microsoft.VisualBasic.PowerPacks.ShapeContainer shapeContainer1= new

Microsoft.VisualBasic.PowerPacks.ShapeContainer();

private Microsoft.VisualBasic.PowerPacks.RectangleShape rectangeShape1 = new

Microsoft.VisualBasic.PowerPacks.RectangleShape();

string ls_textoEtiqueta = "";

Label lblEtiqueta = new Label();

public string _Texto

{

set

{

this.ls_textoEtiqueta = value;

}

get

{

return this.ls_textoEtiqueta;

}

}

public bool poseeColorfondo = false;

Color coloFondo;

public bool poseeColorTextop = false;

Page 229: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

45

Color colorEtiqueta;

public PanelCheckBox(string contenido)

{

_TipoControl = "CHECKBOX";

seteaFormato(contenido);

}

public PanelCheckBox()

{

_TipoControl = "CHECKBOX";

seteaFormato("Etiqueta");

}

public PanelCheckBox(bool conColor)

{

this.BackColor = Color.White;

_TipoControl = "CHECKBOX";

seteaFormato("Etiqueta");

}

public void llenaFuncionClick(string contenidoFuncion){

}

public Color ColorFondo

{

set{

this.poseeColorfondo = true;

this.coloFondo = value;

}

get {

return coloFondo;

}

}

public Color ColorEtiqueta{

set

{

this.poseeColorTextop = true;

this.colorEtiqueta = value;

}

get

{

return this.colorEtiqueta;

}

}

public void seteaFormato(string contenido)

{

ColocaImagen();

this.lblEtiqueta.Text = contenido;

lblEtiqueta.BackColor = Color.Transparent;

lblEtiqueta.Cursor = Cursors.Default;

lblEtiqueta.Left = 13;

this.Controls.Add(lblEtiqueta);

_Texto = contenido;

this.Cursor = Cursors.SizeAll;

this.BackColor = Color.Transparent;

this._ancho = 100;

Page 230: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

46

this._alto = 20;

this.Width = _ancho;

this.Height = _alto;

lblEtiqueta.Width = 70;

}

public void cambiaEtiquetaVisible(string textoMuestra)

{

try

{

this.lblEtiqueta.Text = textoMuestra;

}

catch (Exception ex) {

this.lblEtiqueta.Text = ex.Message;

}

}

public void cambiarColorEtiqueta(Color color)

{

this.lblEtiqueta.ForeColor = color;

}

public void cambiarColorFondo(Color color)

{

this.lblEtiqueta.BackColor = color;

this.BackColor = color;

}

public void cambiaFamiliaTexto(string nomrbreFamilia)

{

try

{

//this.lblEtiqueta.Font = new System.Drawing.Font(nomrbreFamilia, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

this.lblEtiqueta.Font = new System.Drawing.Font(nomrbreFamilia, 8.25F,

this.lblEtiqueta.Font.Style, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

}

catch (Exception ex)

{

}

}

public void cambiarEstiloTexto(string nombreEstilo)

{

try

{

switch (nombreEstilo)

{

case "ANTIALIAS_LOW_RES":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ANTIALIAS_NONE":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ANTIALIAS_STANDARD":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ANTIALIAS_SUBPIXEL":

Page 231: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

47

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "APPLICATION":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ARABIC_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ARMENIAN_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "BENGALI_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "BOLD":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "BROKEN_LINE_UNDERLINED":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "CJK_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "CURSIVE_STYLE":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "CYRILLIC_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "DEVANAGARI_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "DOTTED_UNDERLINED":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ETHIOPIC_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "EXTRA_BOLD":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "FANTASY_STYLE":

Page 232: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

48

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "GEORGIAN_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "GREEK_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "GUID_FONT_CHANGED":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "GUJARATI_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "GURMUKHI_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "HANGUL_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "HEBREW_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "HIRAGANA_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ITALIC":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "KANNADA_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "KATAKANA_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "KHMER_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "LAO_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "LATIN_SCRIPT":

Page 233: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

49

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "MALAYALAM_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "MONGOLIAN_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "MYANMAR_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ORIYA_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "PLAIN":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "SANS_SERIF_STYLE":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "SERIF_STYLE":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "SERIF_STYLE_MASK":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "SINHALA_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "STRIKE_THROUGH":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Strikeout, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "TAMIL_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "TELUGU_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "THAI_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "TIBETAN_SCRIPT":

Page 234: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

50

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "UNDERLINED":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "UNSPECIFIED_SERIF_STYLE":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "WAVY_UNDERLINED":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

}

}

catch (Exception ex)

{

}

}

public void modificaTamanioTexto(string tamanio)

{

try

{

this.lblEtiqueta.Font = new

System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name,float.Parse(tamanio), this.lblEtiqueta.Font.Style,

System.Drawing.GraphicsUnit.Point, ((byte)(0)));

}

catch (Exception ex)

{

}

}

public void ColocaImagen(){

PictureBox pbx = new PictureBox();

pbx.SizeMode = PictureBoxSizeMode.StretchImage;

pbx.Image = global::TesisEjemplo1.Properties.Resources.Check;

pbx.Width = 15;

pbx.Height = 15;

pbx.Top = 0;

pbx.Left = 0;

this.Controls.Add(pbx);

//this.shapeContainer1.Location = new System.Drawing.Point(0, 0);

//this.shapeContainer1.Margin = new System.Windows.Forms.Padding(0);

//this.shapeContainer1.Name = "shapeContainer1";

//this.shapeContainer1.Shapes.AddRange(new Microsoft.VisualBasic.PowerPacks.Shape[]

{this.rectangeShape1});

//this.shapeContainer1.Size = new System.Drawing.Size(301, 72);

////this.shapeContainer1.TabIndex = 0;

//this.shapeContainer1.TabStop = false;

//this.rectangeShape1.BorderWidth = 4;

//this.rectangeShape1.Location = new System.Drawing.Point(0, 0);

//this.rectangeShape1.Name = "ovalShape1";

//this.rectangeShape1.Size = new System.Drawing.Size(12, 12);

Page 235: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

51

////this.Controls.Add(shapeContainer1);

}

private void InitializeComponent()

{

this.SuspendLayout();

//

// PanelCheckBox

//

this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

this.ResumeLayout(false);

}

}

}

Codificacion Panel ComboBox

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace TesisEjemplo1

{

class PanelComboBox: ObjetoBase

{

public bool poseeColorfondo = false;

Color coloFondo;

public bool poseeColorTextop = false;

Color colorEtiqueta;

public bool poseeContenido=false;

Array contenidoAuto ;

public PanelComboBox(string texto)

{

_TipoControl = "COMBOBOX";

seteaFormato();

}

public PanelComboBox() {

_TipoControl = "COMBOBOX";

seteaFormato();

}

public PanelComboBox(bool conColor)

{

this.BackColor = Color.White;

_TipoControl = "COMBOBOX";

seteaFormato();

}

Page 236: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

52

public void seteaFormato()

{

this.BackColor = Color.White;

_ancho = 80;

_alto = 20;

this.Width = _ancho;

this.Height = _alto;

this.Cursor = Cursors.SizeAll;

this.BackgroundImageLayout = ImageLayout.Stretch;

this.BackgroundImage = global::TesisEjemplo1.Properties.Resources.CampoCombo;

}

public Color ColorFondo

{

set

{

this.poseeColorfondo = true;

this.coloFondo = value;

}

get

{

return coloFondo;

}

}

public Color ColorEtiqueta

{

set

{

this.poseeColorTextop = true;

this.colorEtiqueta = value;

}

get

{

return this.colorEtiqueta;

}

}

public void cambiarColorFondo(Color color)

{

this.BackColor = color;

}

public Array Contenido

{

set

{

this.poseeContenido = true;

contenidoAuto = value;

}

get

{

return this.contenidoAuto;

}

}

Page 237: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

53

private void InitializeComponent()

{

this.SuspendLayout();

//

// PanelComboBox

//

this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

this.ResumeLayout(false);

}

}

}

Codificacion PanelComboBoxNumerico

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace TesisEjemplo1

{

class PanelComboBoxNumerico: ObjetoBase

{

public bool poseeColorfondo = false;

Color coloFondo;

public bool poseeColorTextop = false;

Color colorEtiqueta;

public PanelComboBoxNumerico(string texto)

{

_TipoControl = "COMBOBOXNUMERICO";

seteaFormato();

}

public PanelComboBoxNumerico() {

_TipoControl = "COMBOBOXNUMERICO";

seteaFormato();

}

public PanelComboBoxNumerico(bool conColor)

{

this.BackColor = Color.White;

_TipoControl = "COMBOBOXNUMERICO";

seteaFormato();

}

public void seteaFormato()

{

this.BackColor = Color.White;

_ancho = 100;

_alto = 20;

this.Width = _ancho;

Page 238: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

54

this.Height = _alto;

this.Cursor = Cursors.SizeAll;

this.BackgroundImageLayout = ImageLayout.Stretch;

this.BackgroundImage = global::TesisEjemplo1.Properties.Resources.CampoComboNum;

}

public Color ColorFondo

{

set

{

this.poseeColorfondo = true;

this.coloFondo = value;

}

get

{

return coloFondo;

}

}

public Color ColorEtiqueta

{

set

{

this.poseeColorTextop = true;

this.colorEtiqueta = value;

}

get

{

return this.colorEtiqueta;

}

}

public void cambiarColorFondo(Color color)

{

this.BackColor = color;

}

public int indiceInicio {

set;

get;

}

public int indiceFinal {

set;

get;

}

public int incremento

{

set;

get;

}

public int comienzo

{

set;

get;

}

private void InitializeComponent()

Page 239: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

55

{

this.SuspendLayout();

//

// PanelComboBoxNumerico

//

this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

this.ResumeLayout(false);

}

}

}

Codificacion PaneEmail

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace TesisEjemplo1

{

class PanelEmail: ObjetoBase

{

public bool poseeColorfondo = false;

Color coloFondo;

public bool poseeColorTextop = false;

Color colorEtiqueta;

public PanelEmail(string texto)

{

_TipoControl = "EMAIL";

seteaFormato();

}

public PanelEmail() {

_TipoControl = "EMIAL";

seteaFormato();

}

public PanelEmail(bool conColor)

{

this.BackColor = Color.WhiteSmoke;

_TipoControl = "EMAIL";

seteaFormato();

}

public void seteaFormato()

{

this.BackColor = Color.White;

_ancho = 100;

Page 240: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

56

_alto = 20;

this.Width = _ancho;

this.Height = _alto;

this.Cursor = Cursors.SizeAll;

}

public Color ColorFondo

{

set

{

this.poseeColorfondo = true;

this.coloFondo = value;

}

get

{

return coloFondo;

}

}

public Color ColorEtiqueta

{

set

{

this.poseeColorTextop = true;

this.colorEtiqueta = value;

}

get

{

return this.colorEtiqueta;

}

}

public void cambiarColorFondo(Color color)

{

this.BackColor = color;

}

private void InitializeComponent()

{

this.SuspendLayout();

//

// PanelEmail

//

this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

this.ResumeLayout(false);

}

}

}

Codificacion PanelesBase

using System;

using System.Collections.Generic;

using System.Linq;

Page 241: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

57

using System.Text;

using System.Threading.Tasks;

namespace TesisEjemplo1

{

class PanelesBases : System.Windows.Forms.Panel

{

string nombre = "";

string identificacion = "";

string tipoObjeto = "";

string metodoClick = "";

string etiqueta = "";

}

}

Codificacion PaneEtiquetas

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace TesisEjemplo1

{

class PanelEtiqueta : ObjetoBase

{

string ls_textoEtiqueta = "";

Label lblEtiqueta = new Label();

public string _Texto

{

set

{

this.ls_textoEtiqueta = value;

}

get

{

return this.ls_textoEtiqueta;

}

}

public bool poseeColorfondo = false;

Color coloFondo;

public bool poseeColorTextop = false;

Color colorEtiqueta;

public PanelEtiqueta(string contenido)

{

_TipoControl = "ETIQUETA";

seteaFormato(contenido);

}

public PanelEtiqueta() {

_TipoControl = "ETIQUETA";

seteaFormato("Etiqueta");

Page 242: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

58

}

public PanelEtiqueta(bool conColor)

{

this.BackColor = Color.White;

_TipoControl = "ETIQUETA";

seteaFormato("Etiqueta");

}

public void llenaFuncionClick(string contenidoFuncion){

}

public Color ColorFondo

{

set{

this.poseeColorfondo = true;

this.coloFondo = value;

}

get {

return coloFondo;

}

}

public Color ColorEtiqueta{

set

{

this.poseeColorTextop = true;

this.colorEtiqueta = value;

}

get

{

return this.colorEtiqueta;

}

}

public void seteaFormato(string contenido)

{

this.lblEtiqueta.Text = contenido;

lblEtiqueta.BackColor = Color.Transparent;

lblEtiqueta.Cursor = Cursors.Default;

this.Controls.Add(lblEtiqueta);

_Texto = contenido;

this.Cursor = Cursors.SizeAll;

this.BackColor = Color.Transparent;

this._ancho = 100;

this._alto = 20;

Width = _ancho;

Height = _alto;

lblEtiqueta.Width = _ancho - 20;

}

public void cambiaEtiquetaVisible(string textoMuestra)

{

try

{

this.lblEtiqueta.Text = textoMuestra;

}

Page 243: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

59

catch (Exception ex) {

this.lblEtiqueta.Text = ex.Message;

}

}

public void cambiarColorEtiqueta(Color color)

{

this.lblEtiqueta.ForeColor = color;

}

public void cambiarColorFondo(Color color)

{

this.lblEtiqueta.BackColor = color;

this.BackColor = color;

}

public void cambiaFamiliaTexto(string nomrbreFamilia)

{

try

{

//this.lblEtiqueta.Font = new System.Drawing.Font(nomrbreFamilia, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

this.lblEtiqueta.Font = new System.Drawing.Font(nomrbreFamilia, 8.25F,

this.lblEtiqueta.Font.Style, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

}

catch (Exception ex)

{

}

}

public void cambiarEstiloTexto(string nombreEstilo)

{

try

{

switch (nombreEstilo)

{

case "ANTIALIAS_LOW_RES":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ANTIALIAS_NONE":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ANTIALIAS_STANDARD":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ANTIALIAS_SUBPIXEL":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "APPLICATION":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ARABIC_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ARMENIAN_SCRIPT":

Page 244: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

60

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "BENGALI_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "BOLD":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "BROKEN_LINE_UNDERLINED":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "CJK_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "CURSIVE_STYLE":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "CYRILLIC_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "DEVANAGARI_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "DOTTED_UNDERLINED":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ETHIOPIC_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "EXTRA_BOLD":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "FANTASY_STYLE":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "GEORGIAN_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "GREEK_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "GUID_FONT_CHANGED":

Page 245: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

61

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "GUJARATI_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "GURMUKHI_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "HANGUL_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "HEBREW_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "HIRAGANA_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ITALIC":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "KANNADA_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "KATAKANA_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "KHMER_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "LAO_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "LATIN_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "MALAYALAM_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "MONGOLIAN_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "MYANMAR_SCRIPT":

Page 246: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

62

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ORIYA_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "PLAIN":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "SANS_SERIF_STYLE":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "SERIF_STYLE":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "SERIF_STYLE_MASK":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "SINHALA_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "STRIKE_THROUGH":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Strikeout, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "TAMIL_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "TELUGU_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "THAI_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "TIBETAN_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "UNDERLINED":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "UNSPECIFIED_SERIF_STYLE":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "WAVY_UNDERLINED":

Page 247: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

63

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

}

}

catch (Exception ex)

{

}

}

public void modificaTamanioTexto(string tamanio)

{

try

{

this.lblEtiqueta.Font = new

System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name,float.Parse(tamanio), this.lblEtiqueta.Font.Style,

System.Drawing.GraphicsUnit.Point, ((byte)(0)));

}

catch (Exception ex)

{

}

}

private void InitializeComponent()

{

this.SuspendLayout();

//

// PanelEtiqueta

//

this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

this.ResumeLayout(false);

}

}

}

Codificacion PanelPassword

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace TesisEjemplo1

{

class PanelPassword : ObjetoBase

{

public bool poseeColorfondo = false;

Color coloFondo;

public bool poseeColorTextop = false;

Color colorEtiqueta;

Page 248: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

64

public PanelPassword(string texto)

{

_TipoControl = "PASSWORD";

///seteaFormato();

this.Cursor = Cursors.SizeAll;

}

public PanelPassword() {

_TipoControl = "PASSWORD";

this.Cursor = Cursors.SizeAll;

}

public PanelPassword(bool conColor)

{

this.BackColor = Color.WhiteSmoke;

_TipoControl = "PASSWORD";

_ancho = 80;

_alto = 20;

this.Width = _ancho;

this.Height = _alto;

this.Cursor = Cursors.SizeAll;

}

public Color ColorFondo

{

set

{

this.poseeColorfondo = true;

this.coloFondo = value;

}

get

{

return coloFondo;

}

}

public Color ColorEtiqueta

{

set

{

this.poseeColorTextop = true;

this.colorEtiqueta = value;

}

get

{

return this.colorEtiqueta;

}

}

private void InitializeComponent()

{

this.SuspendLayout();

//

// PanelPassword

//

this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

this.ResumeLayout(false);

Page 249: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

65

}

}

}

Codificacion PanelRichTextBox

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace TesisEjemplo1

{

class PanelRichTextBox : ObjetoBase

{

string ls_textoEtiqueta = "";

Label lblEtiqueta = new Label();

public string _Texto

{

set

{

this.ls_textoEtiqueta = value;

}

get

{

return this.ls_textoEtiqueta;

}

}

public bool poseeColorfondo = false;

Color coloFondo;

public bool poseeColorTextop = false;

Color colorEtiqueta;

public PanelRichTextBox(string contenido)

{

_TipoControl = "RICHTEXTBOX";

seteaFormato(contenido);

}

public PanelRichTextBox() {

_TipoControl = "RICHTEXTBOX";

seteaFormato("Etiqueta");

}

public PanelRichTextBox(bool conColor)

{

this.BackColor = Color.White;

_TipoControl = "RICHTEXTBOX";

seteaFormato("Etiqueta");

}

public void llenaFuncionClick(string contenidoFuncion){

Page 250: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

66

}

public Color ColorFondo

{

set{

this.poseeColorfondo = true;

this.coloFondo = value;

}

get {

return coloFondo;

}

}

public Color ColorEtiqueta{

set

{

this.poseeColorTextop = true;

this.colorEtiqueta = value;

}

get

{

return this.colorEtiqueta;

}

}

public void seteaFormato(string contenido)

{

this.lblEtiqueta.Text = contenido;

lblEtiqueta.BackColor = Color.Transparent;

lblEtiqueta.Cursor = Cursors.Default;

this.Controls.Add(lblEtiqueta);

_Texto = contenido;

this.Cursor = Cursors.SizeAll;

this.BackColor = Color.Transparent;

this._ancho = 100;

this._alto = 25;

this.Width = _ancho;

this.Height = _alto;

lblEtiqueta.Width = this.Width - 5;

}

public void cambiaEtiquetaVisible(string textoMuestra)

{

try

{

this.lblEtiqueta.Text = textoMuestra;

}

catch (Exception ex) {

this.lblEtiqueta.Text = ex.Message;

}

}

public void cambiarColorEtiqueta(Color color)

{

this.lblEtiqueta.ForeColor = color;

}

public void cambiarColorFondo(Color color)

{

this.lblEtiqueta.BackColor = color;

Page 251: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

67

this.BackColor = color;

}

public void cambiaFamiliaTexto(string nomrbreFamilia)

{

try

{

//this.lblEtiqueta.Font = new System.Drawing.Font(nomrbreFamilia, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

this.lblEtiqueta.Font = new System.Drawing.Font(nomrbreFamilia, 8.25F,

this.lblEtiqueta.Font.Style, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

}

catch (Exception ex)

{

}

}

public void cambiarEstiloTexto(string nombreEstilo)

{

try

{

switch (nombreEstilo)

{

case "ANTIALIAS_LOW_RES":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ANTIALIAS_NONE":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ANTIALIAS_STANDARD":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ANTIALIAS_SUBPIXEL":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "APPLICATION":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ARABIC_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ARMENIAN_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "BENGALI_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "BOLD":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

Page 252: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

68

case "BROKEN_LINE_UNDERLINED":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "CJK_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "CURSIVE_STYLE":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "CYRILLIC_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "DEVANAGARI_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "DOTTED_UNDERLINED":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ETHIOPIC_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "EXTRA_BOLD":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "FANTASY_STYLE":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "GEORGIAN_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "GREEK_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "GUID_FONT_CHANGED":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "GUJARATI_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "GURMUKHI_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "HANGUL_SCRIPT":

Page 253: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

69

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "HEBREW_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "HIRAGANA_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ITALIC":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "KANNADA_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "KATAKANA_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "KHMER_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "LAO_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "LATIN_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "MALAYALAM_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "MONGOLIAN_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "MYANMAR_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "ORIYA_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "PLAIN":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "SANS_SERIF_STYLE":

Page 254: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

70

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "SERIF_STYLE":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "SERIF_STYLE_MASK":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "SINHALA_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "STRIKE_THROUGH":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Strikeout, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "TAMIL_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "TELUGU_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "THAI_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "TIBETAN_SCRIPT":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "UNDERLINED":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "UNSPECIFIED_SERIF_STYLE":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

case "WAVY_UNDERLINED":

this.lblEtiqueta.Font = new System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name, 8.25F,

System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

break;

}

}

catch (Exception ex)

{

}

}

public void modificaTamanioTexto(string tamanio)

{

try

Page 255: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

71

{

this.lblEtiqueta.Font = new

System.Drawing.Font(lblEtiqueta.Font.FontFamily.Name,float.Parse(tamanio), this.lblEtiqueta.Font.Style,

System.Drawing.GraphicsUnit.Point, ((byte)(0)));

}

catch (Exception ex)

{

}

}

private void InitializeComponent()

{

this.SuspendLayout();

//

// PanelRichTextBox

//

this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

this.ResumeLayout(false);

}

}

}

Codificacion PanelTextoAutocompletar

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace TesisEjemplo1

{

class PanelTextoAutocompletar: ObjetoBase

{

public bool poseeColorfondo = false;

Color coloFondo;

public bool poseeColorTextop = false;

Color colorEtiqueta;

public bool poseeContenido=false;

Array contenidoAuto ;

public PanelTextoAutocompletar(string texto)

{

_TipoControl = "TEXTOAUTOCOMPLETAR";

seteaFormato();

}

public PanelTextoAutocompletar() {

_TipoControl = "TEXTOAUTOCOMPLETAR";

seteaFormato();

}

public PanelTextoAutocompletar(bool conColor)

Page 256: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

72

{

this.BackColor = Color.White;

_TipoControl = "TEXTOAUTOCOMPLETAR";

seteaFormato();

}

public void seteaFormato()

{

this.BackColor = Color.White;

_ancho = 80;

_alto = 20;

this.Width = _ancho;

this.Height = _alto;

this.Cursor = Cursors.SizeAll;

}

public Color ColorFondo

{

set

{

this.poseeColorfondo = true;

this.coloFondo = value;

}

get

{

return coloFondo;

}

}

public Color ColorEtiqueta

{

set

{

this.poseeColorTextop = true;

this.colorEtiqueta = value;

}

get

{

return this.colorEtiqueta;

}

}

public void cambiarColorFondo(Color color)

{

this.BackColor = color;

}

public Array Contenido

{

set

{

this.poseeContenido = true;

contenidoAuto = value;

}

get

{

return this.contenidoAuto;

Page 257: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

73

}

}

private void InitializeComponent()

{

this.SuspendLayout();

//

// PanelTextoAutocompletar

//

this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

this.ResumeLayout(false);

}

}

}

Codificacion PanelTextoAutoCorregir

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace TesisEjemplo1

{

class PanelTextoAutocorregir: ObjetoBase

{

public bool poseeColorfondo = false;

Color coloFondo;

public bool poseeColorTextop = false;

Color colorEtiqueta;

public PanelTextoAutocorregir(string texto)

{

_TipoControl = "CAJATEXTOAUTOCORREGIR";

seteaFormato();

}

public PanelTextoAutocorregir() {

_TipoControl = "CAJATEXTOAUTOCORREGIR";

seteaFormato();

}

public PanelTextoAutocorregir(bool conColor)

{

this.BackColor = Color.White;

_TipoControl = "CAJATEXTOAUTOCORREGIR";

seteaFormato();

}

public void seteaFormato()

{

Page 258: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

74

this.BackColor = Color.White;

_ancho = 80;

_alto = 20;

Width = _ancho;

Height = _alto;

this.Cursor = Cursors.SizeAll;

}

public Color ColorFondo

{

set

{

this.poseeColorfondo = true;

this.coloFondo = value;

}

get

{

return coloFondo;

}

}

public Color ColorEtiqueta

{

set

{

this.poseeColorTextop = true;

this.colorEtiqueta = value;

}

get

{

return this.colorEtiqueta;

}

}

public void cambiarColorFondo(Color color)

{

this.BackColor = color;

}

private void InitializeComponent()

{

this.SuspendLayout();

//

// PanelTextoAutocorregir

//

this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

this.ResumeLayout(false);

}

}

}

Codificacion PlatillasFunciones

using System;

Page 259: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

75

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace TesisEjemplo1

{

class PantillasFunciones

{

public static string PlantillaAccionBoton(string nombreObjeto)

{

return "\n\tpublic void Action" + nombreObjeto + "_(ActionEvento evento){\n\t}" ;

}

public static string PlatillaFormato(string nombreObjeto)

{

return "";

}

}

}

Codificacion Presentacion

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace TesisEjemplo1

{

public partial class Presentacion : Form

{

int i = 0;

public Presentacion()

{

InitializeComponent();

}

private void Presentacion_Load(object sender, EventArgs e)

{

}

private void timer1_Tick(object sender, EventArgs e)

{

i++;

if (i == 5)

{

//Form1 f = new Form1();

//f.Show();

Page 260: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

76

this.Close();

}

}

}

}

Codificacion Programs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Threading;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace TesisEjemplo1

{

static class Program

{

/// <summary>

/// Punto de entrada principal para la aplicación.

/// </summary>

[STAThread]

static void Main()

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new Form1());

}

}

}

Codificacion VentanaColores

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace TesisEjemplo1

{

public partial class VentanaColores : Form

{

public Color colorClick

{

set;

get;

}

Page 261: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

77

public string ColorSeleccionado

{

set;

get;

}

public VentanaColores()

{

InitializeComponent();

}

private void VentanaColores_Load(object sender, EventArgs e)

{

}

private void button2_Click(object sender, EventArgs e)

{

this.Close();

}

private void pictureBox1_Click(object sender, EventArgs e)

{

ColorSeleccionado = "ALICEBLUE";

colorClick = Color.AliceBlue;

this.Close();

}

private void pictureBox2_Click(object sender, EventArgs e)

{

ColorSeleccionado = "ANTIQUEWHITE";

colorClick = Color.AntiqueWhite;

this.Close();

}

private void pictureBox3_Click(object sender, EventArgs e)

{

ColorSeleccionado = "AQUA";

colorClick = Color.Aqua;

this.Close();

}

private void pictureBox4_Click(object sender, EventArgs e)

{

ColorSeleccionado = "AQUAMARINE";

colorClick = Color.Aquamarine;

this.Close();

}

private void pictureBox5_Click(object sender, EventArgs e)

{

ColorSeleccionado = "AZURE";

colorClick = Color.Azure;

this.Close();

}

private void pictureBox6_Click(object sender, EventArgs e)

{

Page 262: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

78

ColorSeleccionado = "BEIGE";

colorClick = Color.Beige;

this.Close();

}

private void pictureBox7_Click(object sender, EventArgs e)

{

ColorSeleccionado = "BISQUE";

colorClick = Color.Bisque;

this.Close();

}

private void pictureBox8_Click(object sender, EventArgs e)

{

ColorSeleccionado = "BLACK";

colorClick = Color.Black;

this.Close();

}

private void pictureBox9_Click(object sender, EventArgs e)

{

ColorSeleccionado = "BLANCHEDALMOND";

colorClick = Color.BlanchedAlmond;

this.Close();

}

private void pictureBox10_Click(object sender, EventArgs e)

{

ColorSeleccionado = "BLUE";

colorClick = Color.Blue;

this.Close();

}

private void pictureBox11_Click(object sender, EventArgs e)

{

this.ColorSeleccionado = "BLUEVIOLET";

colorClick = Color.BlueViolet;

this.Close();

}

private void pictureBox12_Click(object sender, EventArgs e)

{

ColorSeleccionado = "BROWN";

colorClick = Color.Brown;

this.Close();

}

private void pictureBox13_Click(object sender, EventArgs e)

{

ColorSeleccionado = "BURLYWOOD";

colorClick = Color.BurlyWood;

this.Close();

}

private void pictureBox14_Click(object sender, EventArgs e)

{

ColorSeleccionado = "CADETBLUE";

Page 263: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

79

colorClick = Color.CadetBlue;

this.Close();

}

private void pictureBox15_Click(object sender, EventArgs e)

{

ColorSeleccionado = "CHARTREUSE";

colorClick = Color.Chartreuse;

this.Close();

}

private void pictureBox17_Click(object sender, EventArgs e)

{

ColorSeleccionado = "CHOCOLATE";

colorClick = Color.Chocolate;

this.Close();

}

private void pictureBox18_Click(object sender, EventArgs e)

{

ColorSeleccionado = "CORAL";

colorClick = Color.Coral;

this.Close();

}

private void pictureBox19_Click(object sender, EventArgs e)

{

ColorSeleccionado = "CORNFLOWERBLUE";

colorClick = Color.CornflowerBlue;

this.Close();

}

private void pictureBox20_Click(object sender, EventArgs e)

{

ColorSeleccionado = "CORNSILK";

colorClick = Color.Cornsilk;

this.Close();

}

private void pictureBox16_Click(object sender, EventArgs e)

{

ColorSeleccionado = "CRIMSON";

colorClick = Color.Crimson;

this.Close();

}

private void pictureBox30_Click(object sender, EventArgs e)

{

ColorSeleccionado = "CYAN";

colorClick = Color.Cyan;

this.Close();

}

private void pictureBox29_Click(object sender, EventArgs e)

{

ColorSeleccionado = "DARKBLUE";

colorClick = Color.DarkBlue;

Page 264: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

80

this.Close();

}

private void pictureBox28_Click(object sender, EventArgs e)

{

ColorSeleccionado = "DARKCYAN";

colorClick = Color.DarkCyan;

this.Close();

}

private void pictureBox27_Click(object sender, EventArgs e)

{

ColorSeleccionado = "DARKGOLDENROD";

colorClick = Color.DarkGoldenrod;

this.Close();

}

private void pictureBox26_Click(object sender, EventArgs e)

{

ColorSeleccionado = "DARKGRAY";

colorClick = Color.DarkGray;

this.Close();

}

private void pictureBox25_Click(object sender, EventArgs e)

{

ColorSeleccionado = "DARKGREEN";

colorClick = Color.DarkGreen;

this.Close();

}

private void pictureBox24_Click(object sender, EventArgs e)

{

ColorSeleccionado = "DARKKHAKI";

colorClick = Color.DarkKhaki;

this.Close();

}

private void pictureBox23_Click(object sender, EventArgs e)

{

ColorSeleccionado = "DARKMAGENTA";

colorClick = Color.DarkMagenta;

this.Close();

}

private void pictureBox22_Click(object sender, EventArgs e)

{

ColorSeleccionado = "DARKOLIVEGREEN";

colorClick = Color.DarkOliveGreen;

this.Close();

}

private void pictureBox21_Click(object sender, EventArgs e)

{

ColorSeleccionado = "DARKORANGE";

colorClick = Color.DarkOrange;

this.Close();

Page 265: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

81

}

private void pictureBox60_Click(object sender, EventArgs e)

{

ColorSeleccionado = "DARKORCHID";

colorClick = Color.DarkOrchid;

this.Close();

}

private void pictureBox59_Click(object sender, EventArgs e)

{

ColorSeleccionado = "DARKRED";

colorClick = Color.DarkRed;

this.Close();

}

private void pictureBox58_Click(object sender, EventArgs e)

{

ColorSeleccionado = "DARKSALMON";

colorClick = Color.DarkSalmon;

this.Close();

}

private void pictureBox57_Click(object sender, EventArgs e)

{

ColorSeleccionado = "DARKSEAGREEN";

colorClick = Color.DarkSeaGreen;

this.Close();

}

private void pictureBox56_Click(object sender, EventArgs e)

{

ColorSeleccionado = "DARKSLATEBLUE";

colorClick = Color.DarkSlateBlue;

this.Close();

}

private void pictureBox55_Click(object sender, EventArgs e)

{

ColorSeleccionado = "DARKSLATEGRAY";

colorClick = Color.DarkSlateGray;

this.Close();

}

private void pictureBox54_Click(object sender, EventArgs e)

{

ColorSeleccionado = "DARKTURQUOISE";

colorClick = Color.DarkTurquoise;

this.Close();

}

private void pictureBox53_Click(object sender, EventArgs e)

{

ColorSeleccionado = "DARKVIOLET";

colorClick = Color.DarkViolet;

this.Close();

}

Page 266: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

82

private void pictureBox52_Click(object sender, EventArgs e)

{

ColorSeleccionado = "DEEPPINK";

colorClick = Color.DeepPink;

this.Close();

}

private void pictureBox51_Click(object sender, EventArgs e)

{

ColorSeleccionado = "DEEPSKYBLUE";

colorClick = Color.DeepSkyBlue;

this.Close();

}

private void pictureBox50_Click(object sender, EventArgs e)

{

ColorSeleccionado = "DIMGRAY";

colorClick = Color.DimGray;

this.Close();

}

private void pictureBox49_Click(object sender, EventArgs e)

{

ColorSeleccionado = "DODGERBLUE";

colorClick = Color.DodgerBlue;

this.Close();

}

private void pictureBox48_Click(object sender, EventArgs e)

{

ColorSeleccionado = "FIREBRICK";

colorClick = Color.Firebrick;

this.Close();

}

private void pictureBox47_Click(object sender, EventArgs e)

{

ColorSeleccionado = "FLORALWHITE";

colorClick = Color.FloralWhite;

this.Close();

}

private void pictureBox46_Click(object sender, EventArgs e)

{

ColorSeleccionado = "FORESTGREEN";

colorClick = Color.ForestGreen;

this.Close();

}

private void pictureBox44_Click(object sender, EventArgs e)

{

ColorSeleccionado = "FUCHSIA";

colorClick = Color.Fuchsia;

this.Close();

}

Page 267: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

83

private void pictureBox43_Click(object sender, EventArgs e)

{

ColorSeleccionado = "GAINSBORO";

colorClick = Color.Gainsboro;

this.Close();

}

private void pictureBox42_Click(object sender, EventArgs e)

{

ColorSeleccionado = "GHOSTWHITE";

colorClick = Color.GhostWhite;

this.Close();

}

private void pictureBox41_Click(object sender, EventArgs e)

{

ColorSeleccionado = "GOLD";

colorClick = Color.Gold;

this.Close();

}

private void pictureBox45_Click(object sender, EventArgs e)

{

ColorSeleccionado = "GOLDENROD";

colorClick = Color.Goldenrod;

this.Close();

}

private void pictureBox40_Click(object sender, EventArgs e)

{

ColorSeleccionado = "GRAY";

colorClick = Color.Gray;

this.Close();

}

private void pictureBox39_Click(object sender, EventArgs e)

{

ColorSeleccionado = "GREEN";

colorClick = Color.Green;

this.Close();

}

private void pictureBox38_Click(object sender, EventArgs e)

{

ColorSeleccionado = "GREENYELLOW";

colorClick = Color.GreenYellow;

this.Close();

}

private void pictureBox37_Click(object sender, EventArgs e)

{

ColorSeleccionado = "HONEYDEW";

colorClick = Color.Honeydew;

this.Close();

}

private void pictureBox36_Click(object sender, EventArgs e)

Page 268: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

84

{

ColorSeleccionado = "HOTPINK";

colorClick = Color.HotPink;

this.Close();

}

private void pictureBox35_Click(object sender, EventArgs e)

{

ColorSeleccionado = "INDIANRED";

colorClick = Color.IndianRed;

this.Close();

}

private void pictureBox34_Click(object sender, EventArgs e)

{

ColorSeleccionado = "INDIGO";

colorClick = Color.Indigo;

this.Close();

}

private void pictureBox33_Click(object sender, EventArgs e)

{

ColorSeleccionado = "IVORY";

colorClick = Color.Ivory;

this.Close();

}

private void pictureBox32_Click(object sender, EventArgs e)

{

ColorSeleccionado = "KHAKI";

colorClick = Color.Khaki;

this.Close();

}

private void pictureBox31_Click(object sender, EventArgs e)

{

ColorSeleccionado = "LAVENDER";

colorClick = Color.Lavender;

this.Close();

}

private void pictureBox90_Click(object sender, EventArgs e)

{

ColorSeleccionado = "LAVENDERBLUSH";

colorClick = Color.LavenderBlush;

this.Close();

}

private void pictureBox89_Click(object sender, EventArgs e)

{

ColorSeleccionado = "LAWNGREEN";

colorClick = Color.LawnGreen;

this.Close();

}

private void pictureBox88_Click(object sender, EventArgs e)

{

Page 269: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

85

ColorSeleccionado = "LEMONCHIFFON";

colorClick = Color.LemonChiffon;

this.Close();

}

private void pictureBox87_Click(object sender, EventArgs e)

{

ColorSeleccionado = "LIGHTBLUE";

colorClick = Color.LightBlue;

this.Close();

}

private void pictureBox86_Click(object sender, EventArgs e)

{

ColorSeleccionado = "LIGHTCORAL";

colorClick = Color.LightCoral;

this.Close();

}

private void pictureBox85_Click(object sender, EventArgs e)

{

ColorSeleccionado = "LIGHTCYAN";

colorClick = Color.LightCyan;

this.Close();

}

private void pictureBox84_Click(object sender, EventArgs e)

{

ColorSeleccionado = "LIGHTGOLDENRODYELLOW";

colorClick = Color.LightGoldenrodYellow;

this.Close();

}

private void pictureBox83_Click(object sender, EventArgs e)

{

ColorSeleccionado = "LIGHTGRAY";

colorClick = Color.LightGray;

this.Close();

}

private void pictureBox82_Click(object sender, EventArgs e)

{

ColorSeleccionado = "LIGHTGREEN";

colorClick = Color.LightGreen;

this.Close();

}

private void pictureBox81_Click(object sender, EventArgs e)

{

ColorSeleccionado = "LIGHTGREY";

colorClick = Color.LightGray;

this.Close();

}

private void pictureBox80_Click(object sender, EventArgs e)

{

ColorSeleccionado = "LIGHTPINK";

Page 270: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

86

colorClick = Color.LightPink;

this.Close();

}

private void pictureBox79_Click(object sender, EventArgs e)

{

ColorSeleccionado = "LIGHTSALMON";

colorClick = Color.LightSalmon;

this.Close();

}

private void pictureBox78_Click(object sender, EventArgs e)

{

ColorSeleccionado = "LIGHTSEAGREEN";

colorClick = Color.LightSeaGreen;

this.Close();

}

private void pictureBox77_Click(object sender, EventArgs e)

{

ColorSeleccionado = "LIGHTSKYBLUE";

colorClick = Color.LightSkyBlue;

this.Close();

}

private void pictureBox76_Click(object sender, EventArgs e)

{

ColorSeleccionado = "LIGHTSLATEGRAY";

colorClick = Color.LightSlateGray;

this.Close();

}

private void pictureBox74_Click(object sender, EventArgs e)

{

ColorSeleccionado = "LIGHTSTEELBLUE";

colorClick = Color.LightSteelBlue;

this.Close();

}

private void pictureBox73_Click(object sender, EventArgs e)

{

ColorSeleccionado = "LIGHTYELLOW";

colorClick = Color.LightYellow;

this.Close();

}

private void pictureBox72_Click(object sender, EventArgs e)

{

ColorSeleccionado = "LIME";

colorClick = Color.Lime;

this.Close();

}

private void pictureBox71_Click(object sender, EventArgs e)

{

ColorSeleccionado = "LIMEGREEN";

colorClick = Color.LimeGreen;

Page 271: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

87

this.Close();

}

private void pictureBox75_Click(object sender, EventArgs e)

{

ColorSeleccionado = "LINEN";

colorClick = Color.Linen;

this.Close();

}

private void pictureBox70_Click(object sender, EventArgs e)

{

ColorSeleccionado = "MAGENTA";

colorClick = Color.Magenta;

this.Close();

}

private void pictureBox69_Click(object sender, EventArgs e)

{

ColorSeleccionado = "MAROON";

colorClick = Color.Maroon;

this.Close();

}

private void pictureBox68_Click(object sender, EventArgs e)

{

ColorSeleccionado = "MEDIUMAQUAMARINE";

colorClick = Color.MediumAquamarine;

this.Close();

}

private void pictureBox67_Click(object sender, EventArgs e)

{

ColorSeleccionado = "MEDIUMBLUE";

colorClick = Color.MediumBlue;

this.Close();

}

private void pictureBox66_Click(object sender, EventArgs e)

{

ColorSeleccionado = "MEDIUMORCHID";

colorClick = Color.MediumOrchid;

this.Close();

}

private void pictureBox65_Click(object sender, EventArgs e)

{

ColorSeleccionado = "MEDIUMPURPLE";

colorClick = Color.MediumPurple;

this.Close();

}

private void pictureBox64_Click(object sender, EventArgs e)

{

ColorSeleccionado = "MEDIUMSEAGREEN";

colorClick = Color.MediumSeaGreen;

this.Close();

Page 272: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

88

}

private void pictureBox63_Click(object sender, EventArgs e)

{

ColorSeleccionado = "MEDIUMSLATEBLUE";

colorClick = Color.MediumSlateBlue;

this.Close();

}

private void pictureBox62_Click(object sender, EventArgs e)

{

ColorSeleccionado = "MEDIUMSPRINGGREEN";

colorClick = Color.MediumSpringGreen;

this.Close();

}

private void pictureBox61_Click(object sender, EventArgs e)

{

ColorSeleccionado = "MEDIUMTURQUOISE";

colorClick = Color.MediumTurquoise;

this.Close();

}

private void pictureBox120_Click(object sender, EventArgs e)

{

ColorSeleccionado = "MEDIUMVIOLETRED";

colorClick = Color.MediumVioletRed;

this.Close();

}

private void pictureBox119_Click(object sender, EventArgs e)

{

ColorSeleccionado = "MIDNIGHTBLUE";

colorClick = Color.MidnightBlue;

this.Close();

}

private void pictureBox118_Click(object sender, EventArgs e)

{

ColorSeleccionado = "MINTCREAM";

colorClick = Color.MintCream;

this.Close();

}

private void pictureBox117_Click(object sender, EventArgs e)

{

ColorSeleccionado = "MISTYROSE";

colorClick = Color.MistyRose;

this.Close();

}

private void pictureBox116_Click(object sender, EventArgs e)

{

ColorSeleccionado = "MOCCASIN";

colorClick = Color.Moccasin;

this.Close();

}

Page 273: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

89

private void pictureBox115_Click(object sender, EventArgs e)

{

ColorSeleccionado = "NAVAJOWHITE";

colorClick = Color.NavajoWhite;

this.Close();

}

private void pictureBox114_Click(object sender, EventArgs e)

{

ColorSeleccionado = "NAVY";

colorClick = Color.Navy;

this.Close();

}

private void pictureBox113_Click(object sender, EventArgs e)

{

ColorSeleccionado = "OLDLACE";

colorClick = Color.OldLace;

this.Close();

}

private void pictureBox112_Click(object sender, EventArgs e)

{

ColorSeleccionado = "OLIVE";

colorClick = Color.Olive;

this.Close();

}

private void pictureBox111_Click(object sender, EventArgs e)

{

ColorSeleccionado = "OLIVEDRAB";

colorClick = Color.OliveDrab;

this.Close();

}

private void pictureBox110_Click(object sender, EventArgs e)

{

ColorSeleccionado = "ORANGE";

colorClick = Color.Orange;

this.Close();

}

private void pictureBox109_Click(object sender, EventArgs e)

{

ColorSeleccionado = "ORANGERED";

colorClick = Color.OrangeRed;

this.Close();

}

private void pictureBox108_Click(object sender, EventArgs e)

{

ColorSeleccionado = "ORCHID";

colorClick = Color.Orchid;

this.Close();

}

Page 274: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

90

private void pictureBox107_Click(object sender, EventArgs e)

{

ColorSeleccionado = "PALEGOLDENROD";

colorClick = Color.PaleGoldenrod;

this.Close();

}

private void pictureBox106_Click(object sender, EventArgs e)

{

ColorSeleccionado = "PALEGREEN";

colorClick = Color.PaleGreen;

this.Close();

}

private void pictureBox104_Click(object sender, EventArgs e)

{

ColorSeleccionado = "PALETURQUOISE";

colorClick = Color.PaleTurquoise;

this.Close();

}

private void pictureBox103_Click(object sender, EventArgs e)

{

ColorSeleccionado = "PALEVIOLETRED";

colorClick = Color.PaleVioletRed;

this.Close();

}

private void pictureBox102_Click(object sender, EventArgs e)

{

ColorSeleccionado = "PAPAYAWHIP";

colorClick = Color.PapayaWhip;

this.Close();

}

private void pictureBox101_Click(object sender, EventArgs e)

{

ColorSeleccionado = "PEACHPUFF";

colorClick = Color.PeachPuff;

this.Close();

}

private void pictureBox105_Click(object sender, EventArgs e)

{

ColorSeleccionado = "PERU";

colorClick = Color.Peru;

this.Close();

}

private void pictureBox100_Click(object sender, EventArgs e)

{

ColorSeleccionado = "PINK";

colorClick = Color.Pink;

this.Close();

}

private void pictureBox99_Click(object sender, EventArgs e)

Page 275: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

91

{

ColorSeleccionado = "PLUM";

colorClick = Color.Plum;

this.Close();

}

private void pictureBox98_Click(object sender, EventArgs e)

{

ColorSeleccionado = "POWDERBLUE";

colorClick = Color.PowderBlue;

this.Close();

}

private void pictureBox97_Click(object sender, EventArgs e)

{

ColorSeleccionado = "PURPLE";

colorClick = Color.Purple;

this.Close();

}

private void pictureBox96_Click(object sender, EventArgs e)

{

ColorSeleccionado = "RED";

colorClick = Color.Red;

this.Close();

}

private void pictureBox95_Click(object sender, EventArgs e)

{

ColorSeleccionado = "ROSYBROWN";

colorClick = Color.RosyBrown;

this.Close();

}

private void pictureBox94_Click(object sender, EventArgs e)

{

ColorSeleccionado = "ROYALBLUE";

colorClick = Color.RoyalBlue;

this.Close();

}

private void pictureBox93_Click(object sender, EventArgs e)

{

ColorSeleccionado = "SADDLEBROWN";

colorClick = Color.SaddleBrown;

this.Close();

}

private void pictureBox92_Click(object sender, EventArgs e)

{

ColorSeleccionado = "SALMON";

colorClick = Color.Salmon;

this.Close();

}

private void pictureBox91_Click(object sender, EventArgs e)

{

Page 276: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

92

ColorSeleccionado = "SANDYBROWN";

colorClick = Color.SandyBrown;

this.Close();

}

private void pictureBox150_Click(object sender, EventArgs e)

{

ColorSeleccionado = "SEAGREEN";

colorClick = Color.SeaGreen;

this.Close();

}

private void pictureBox149_Click(object sender, EventArgs e)

{

ColorSeleccionado = "SEASHELL";

colorClick = Color.SeaShell;

this.Close();

}

private void pictureBox148_Click(object sender, EventArgs e)

{

ColorSeleccionado = "SIENNA";

colorClick = Color.Sienna;

this.Close();

}

private void pictureBox147_Click(object sender, EventArgs e)

{

ColorSeleccionado = "SILVER";

colorClick = Color.Silver;

this.Close();

}

private void pictureBox146_Click(object sender, EventArgs e)

{

ColorSeleccionado = "SKYBLUE";

colorClick = Color.SkyBlue;

this.Close();

}

private void pictureBox145_Click(object sender, EventArgs e)

{

ColorSeleccionado = "SLATEBLUE";

colorClick = Color.SlateBlue;

this.Close();

}

private void pictureBox144_Click(object sender, EventArgs e)

{

ColorSeleccionado = "SLATEGRAY";

colorClick = Color.SlateGray;

this.Close();

}

private void pictureBox143_Click(object sender, EventArgs e)

{

ColorSeleccionado = "SNOW";

Page 277: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

93

colorClick = Color.Snow;

this.Close();

}

private void pictureBox142_Click(object sender, EventArgs e)

{

ColorSeleccionado = "SPRINGGREEN";

colorClick = Color.SpringGreen;

this.Close();

}

private void pictureBox141_Click(object sender, EventArgs e)

{

ColorSeleccionado = "STEELBLUE";

colorClick = Color.SteelBlue;

this.Close();

}

private void pictureBox140_Click(object sender, EventArgs e)

{

ColorSeleccionado = "TAN";

colorClick = Color.Tan;

this.Close();

}

private void pictureBox139_Click(object sender, EventArgs e)

{

ColorSeleccionado = "TEAL";

colorClick = Color.Teal;

this.Close();

}

private void pictureBox138_Click(object sender, EventArgs e)

{

ColorSeleccionado = "THISTLE";

colorClick = Color.Thistle;

this.Close();

}

private void pictureBox137_Click(object sender, EventArgs e)

{

ColorSeleccionado = "TOMATO";

colorClick = Color.Tomato;

this.Close();

}

private void pictureBox136_Click(object sender, EventArgs e)

{

ColorSeleccionado = "TURQUOISE";

colorClick = Color.Turquoise;

this.Close();

}

private void pictureBox126_Click(object sender, EventArgs e)

{

ColorSeleccionado = "VIOLET";

colorClick = Color.Violet;

Page 278: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

94

this.Close();

}

private void pictureBox125_Click(object sender, EventArgs e)

{

ColorSeleccionado = "WHEAT";

colorClick = Color.Wheat;

this.Close();

}

private void pictureBox124_Click(object sender, EventArgs e)

{

ColorSeleccionado = "WHITE";

colorClick = Color.White;

this.Close();

}

private void pictureBox123_Click(object sender, EventArgs e)

{

ColorSeleccionado = "WHITESMOKE";

colorClick = Color.WhiteSmoke;

this.Close();

}

private void pictureBox122_Click(object sender, EventArgs e)

{

ColorSeleccionado = "YELLOW";

colorClick = Color.Yellow;

this.Close();

}

private void pictureBox121_Click(object sender, EventArgs e)

{

ColorSeleccionado = "YELLOWGREEN";

colorClick = Color.YellowGreen;

this.Close();

}

}

}

Codificacion DialogAccionBoton

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace TesisEjemplo1

{

public partial class DialogoAccionBoton : Form

Page 279: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

95

{

public string contenidoT

{

set;

get;

}

public DialogoAccionBoton()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

this.contenidoT = this.textBox1.Text;

this.Close();

}

private void DialogoAccionBoton_Load(object sender, EventArgs e)

{

this.textBox1.Text = contenidoT;

}

}

}

Codificacion Form1

using System;

using System.Collections;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Drawing.Drawing2D;

using System.IO;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace TesisEjemplo1

{

public partial class Form1 : Form

{

#region "declaracion de variable"

bool cambiaTexto = true;

int posMouseFormX, posMouseFormY;

int posMouseBotonX, posMouseBotonY;

int posActBotonX, posActBotonY;

bool botonPresionado = false;

bool cambiaIcono = false;

string nombreIconoDefecto = "IconApp.png";

int indiceSeleccionado = -1;

Panel pnlSeleccionado = new Panel();

Page 280: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

96

ArrayList arreglo = new ArrayList();

#region variableFormularioManipulacion

string ls_DireccionArchivoJava = "";

public Color _Color

{

set;

get;

}

public string _DirectorioJava

{

set

{

this.ls_DireccionArchivoJava = value;

}

get

{

return this.ls_DireccionArchivoJava;

}

}

string ls_NombreArchivoJava = "";

public string _NombreJava

{

set

{

this.ls_NombreArchivoJava = value;

}

get

{

return this.ls_NombreArchivoJava;

}

}

public string nombreImagenFondo

{

set;

get;

}

#endregion

#region variables formulario

public string nombreIcono

{

set

{

this.cambiaIcono = true;

this.nombreIconoDefecto = value;

}

get

{

return this.nombreIconoDefecto;

}

}

#endregion

#endregion

public Form1()

{

InitializeComponent();

Page 281: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

97

}

/////////////////////////////////////////////////////////////////////////////

#region

#region "evento de accion click"

// Result of the event click Button, get the text of button and find record

private void ClickButton(Object sender, System.EventArgs e)

{

Panel btn = (Panel)sender;

string strFind = btn.Text + "";

///string strSql = "SELECT * FROM Phone WHERE [Name] LIKE " +

/// "'" + strFind + "'" + " Order by Name";

///FindAnyName(strSql); //using (DataReader) to find records

MessageBox.Show(strFind);

}

#endregion

#region "eventos movimiento"

private void moverBoton(Panel botonAccion)

{

botonAccion.Location = new System.Drawing.Point(posMouseFormX - posMouseBotonX,

posMouseFormY - posMouseBotonY);

posActBotonX = botonAccion.Location.X;

posActBotonY = botonAccion.Location.Y;

}

private void Form_MouseMove(object sender, MouseEventArgs e)

{

posMouseFormX = e.Location.X;

posMouseFormY = e.Location.Y;

}

private void btnMover_MouseMove(object sender, MouseEventArgs e)

{

if (e.Button.Equals(MouseButtons.Left))

{

Panel btn = (Panel)sender;

posMouseFormX = posActBotonX + e.Location.X;

posMouseFormY = posActBotonY + e.Location.Y;

if (botonPresionado) moverBoton(btn);

}

}

private void btnMover_MouseDown(object sender, MouseEventArgs e)

{

Panel pnl = (Panel)sender;

for (int i = 0; i < arreglo.Count; i++)

{

Panel pnlIndice = (Panel)arreglo[i];

if (pnl.Equals(pnlIndice))

{

pnlIndice.BorderStyle = BorderStyle.FixedSingle;

indiceSeleccionado = i;

pnlSeleccionado = pnlIndice;

Page 282: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

98

llenaPropiedades((object)pnl);

}

else

{

pnlIndice.BorderStyle = BorderStyle.None;

}

}

if (e.Button.Equals(MouseButtons.Left))

{

posMouseBotonX = e.Location.X;

posMouseBotonY = e.Location.Y;

botonPresionado = true;

}

}

private void btnMover_MouseUp(object sender, MouseEventArgs e)

{

if (e.Button.Equals(MouseButtons.Left))

{

botonPresionado = false;

}

}

#endregion

int mostrar = 0;

private void Form1_Load(object sender, EventArgs e)

{

Presentacion p = new Presentacion();

p.Show();

this.Visible = false;

this.Hide();

this.cmbTipoFondo.SelectedIndex = 0;

this.pnlSeleccionarColor.Visible = false;

this.pnlBuscarImgFondo.Visible = false;

crearDirectorios();

this.cmbTipoFondo.SelectedIndex = 0;

}

#region creacion de solucion

public void generasolucion(string pathInput, string pathOutput, string nombreApp)

{

try

{

string iconoaplicacion = "";

#region crea directorio solucion

///de no existeir la ruta de solucion se la crea

if (System.IO.Directory.Exists(pathOutput))

{

System.IO.Directory.Delete(pathOutput,true);

}

System.IO.Directory.CreateDirectory(pathOutput);

#endregion

#region crear directorio para archivo java

string rutaPaquetes = "", contenidoArchivoJava = "";

Page 283: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

99

System.IO.StreamReader archivoclassLectura = new System.IO.StreamReader(pathInput + "\\" +

"src" + "\\" + "Clase1.java");

while (!archivoclassLectura.EndOfStream)

{

contenidoArchivoJava = archivoclassLectura.ReadLine();

if (contenidoArchivoJava.Replace(" ", "") != "")

{

if (rutaPaquetes == "")

{

if (contenidoArchivoJava.Substring(0, 7) == "package")

{

rutaPaquetes = contenidoArchivoJava.Substring(7, contenidoArchivoJava.Length -

7).Replace(";", "").Replace(".", "\\").Replace(" ", "");

if (!System.IO.Directory.Exists(pathOutput + "\\src\\" + rutaPaquetes))

{

System.IO.Directory.CreateDirectory(pathOutput + "\\src\\" + rutaPaquetes);

}

}

}

}

}

#endregion

#region copiar archivos y carpetas a la solucion

System.IO.File.Copy(pathInput + "\\" + "src\\Clase1.java", pathOutput + "\\src\\" + rutaPaquetes +

"\\Clase1.java", true);

if (!System.IO.Directory.Exists(""))

{

System.IO.Directory.CreateDirectory(pathOutput + "\\" + ".preprocessed");

}

if (!System.IO.Directory.Exists(pathOutput + "\\.settings"))

{

System.IO.Directory.CreateDirectory(pathOutput + "\\.settings");

}

System.IO.File.Copy("C:\\FuentesDesarrolladosTHWPR\\Plantillas\\.settings\\org.eclipse.jdt.core.prefs",

pathOutput + "\\.settings\\org.eclipse.jdt.core.prefs", true);

if (!System.IO.Directory.Exists(pathOutput + "\\res\\img"))

{

System.IO.Directory.CreateDirectory(pathOutput + "\\res\\img");

}

string[] archivosIconos = System.IO.Directory.GetFiles(pathInput + "\\res\\img");

string dirimg="", rchimg="";

for (int i = 0; i < archivosIconos.Length; i++)

{

separaDirArchivo(archivosIconos[i], ref dirimg, ref rchimg);

System.IO.File.Copy(pathInput + "\\res\\img\\" + rchimg, pathOutput + "\\res\\img\\" + rchimg,

true);

iconoaplicacion = rchimg;

}

string[] archivosImagenes = System.IO.Directory.GetFiles(pathInput + "\\res");

for (int i = 0; i < archivosImagenes.Length; i++)

{

if (archivosImagenes[i] != "img")

{

separaDirArchivo(archivosImagenes[i], ref dirimg, ref rchimg);

System.IO.File.Copy(pathInput + "\\res\\" + rchimg, pathOutput + "\\res\\" + rchimg, true);

Page 284: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

100

}

}

System.IO.File.Copy("C:\\FuentesDesarrolladosTHWPR\\Plantillas\\.classpath", pathOutput +

"\\.classpath", true);

System.IO.StreamReader archivoproyectFile = new

System.IO.StreamReader("C:\\FuentesDesarrolladosTHWPR\\Plantillas\\.project");

string contenidoArchivoproyect = "";

while (!archivoproyectFile.EndOfStream)

{

contenidoArchivoproyect = contenidoArchivoproyect +

archivoproyectFile.ReadLine().Replace("[[NOMBREAPP]]", nombreApp) + "\n";

}

//contenidoArchivoproyect.Replace("[[NOMBREAPP]]", nombreApp);

System.IO.StreamWriter archivoProyectFinal = new System.IO.StreamWriter(pathOutput +

"\\.project", true);

archivoProyectFinal.WriteLine(contenidoArchivoproyect);

archivoProyectFinal.Close();

System.IO.StreamReader archivoDescriptorFile = new

System.IO.StreamReader("C:\\FuentesDesarrolladosTHWPR\\Plantillas\\BlackBerry_App_Descriptor.xml")

;

string contenidoArchivoDescriptor = "";

while (!archivoDescriptorFile.EndOfStream)

{

contenidoArchivoDescriptor = contenidoArchivoDescriptor +

archivoDescriptorFile.ReadLine().Replace("[[ICONOAPP]]",

this.txtIconoSolucionApp.Text).Replace("[[NOMBREAPP]]", nombreApp) + "\n";

}

//contenidoArchivoproyect.Replace("[[ICONOAPP]]", iconoaplicacion);

//contenidoArchivoproyect.Replace("[[NOMBREAPP]]", nombreApp);

System.IO.StreamWriter archivoDescriptortFinal = new System.IO.StreamWriter(pathOutput +

"\\BlackBerry_App_Descriptor.xml", true);

archivoDescriptortFinal.WriteLine(contenidoArchivoDescriptor);

archivoDescriptortFinal.Close();

MessageBox.Show("Se Genero la Solucion en la Siguiente Ruta:" + pathOutput, "Generacion

Exitosa", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

#endregion

}

catch (Exception ex)

{

MessageBox.Show("Error de Generacion " + ex.Message,"Error de

Solucion",MessageBoxButtons.OK,MessageBoxIcon.Error);

}

}

#endregion

//private void button1_Click(object sender, EventArgs e)

//{

// string resultadoFinal = "";

// for (int i = 0; i < arreglo.Count; i++)

// {

// Panel btn = (Panel)arreglo[i];

// resultadoFinal = resultadoFinal + "Boton " + btn.Name + i.ToString() + "::: pos X = " +

btn.Location.X.ToString() + " pos Y = " + btn.Location.Y.ToString() + "\n";

// }

Page 285: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

101

// this.txtResultadoMovimiento.Text = resultadoFinal;

//}

private void txtResultadoMovimiento_TextChanged(object sender, EventArgs e)

{

}

private void button1_Click_1(object sender, EventArgs e)

{

string resultadoFinal = "";

for (int i = 0; i < arreglo.Count; i++)

{

Panel btn = (Panel)arreglo[i];

resultadoFinal = resultadoFinal + "Boton " + btn.Name + i.ToString() + "::: pos X = " +

btn.Location.X.ToString() + " pos Y = " + btn.Location.Y.ToString() + "\n";

}

this.txtResultadoMovimiento.Text = resultadoFinal;

}

private void aumentaPanel(System.Windows.Forms.Panel panel , int ancho ,int alto )

{

int posX=0,posY=0;

///------buscaPosicionUltmoObj(ref posX, ref posY);

ObjetoBase bj = (ObjetoBase)panel;

if(bj._TipoControl != "BROWSER" && bj._TipoControl != "MAPA"){

panel.Width = ancho;

panel.Height = alto;

///panel.Width = 500;

//panel.Height = 400;

panel.BorderStyle = BorderStyle.FixedSingle;

//panel.Left = 1;

//panel.Top = 1;

panel.Left = posX;

panel.Top = posY;

panel1.Controls.Add(panel);

///panel.Text = ((char)(i + 65)).ToString();

//boton.Click += new System.EventHandler(ClickButton);

panel.MouseMove += new MouseEventHandler(btnMover_MouseMove);

panel.MouseDown += new MouseEventHandler(btnMover_MouseDown);

panel.MouseUp += new MouseEventHandler(btnMover_MouseUp);

this.MouseMove += new MouseEventHandler(Form_MouseMove);

panel.ContextMenuStrip = mnuClickDerecho;

arreglo.Add(panel);

}

else

{

bj._ancho = this.panel1.Width;

bj._alto = this.panel1.Height;

panel.Top = 0;

panel.Left = 0;

panel.Width = this.panel1.Width;

panel.Height = this.panel1.Height;

panel1.Controls.Add(panel);

panel.ContextMenuStrip = mnuClickDerecho;

arreglo.Add(panel);

Page 286: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

102

}

}

//private void button3_Click(object sender, EventArgs e)

//{

// if (indiceSeleccionado > -1)

// {

// arreglo.RemoveAt(indiceSeleccionado);

// pnlSeleccionado.Visible = false;

// indiceSeleccionado = -1;

// }

//}

private void mnuClickDerecho_Opening(object sender, CancelEventArgs e)

{

}

private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)

{

}

private void menuStrip1_ItemClicked_1(object sender, ToolStripItemClickedEventArgs e)

{

arreglo.RemoveAt(indiceSeleccionado);

pnlSeleccionado.Visible = false;

indiceSeleccionado = -1;

}

private void toolStripMenuItem1_Click(object sender, EventArgs e)

{

}

#endregion

public void AsignaNombre()

{

if (arreglo.Count >= 1)

{

ObjetoBase objeto = (ObjetoBase)arreglo[arreglo.Count - 1];

string tipo = objeto._TipoControl;

string nombre ="";

if(tipo == "ETIQUETA"){

nombre = "Etiqueta_";

}

if (tipo == "RICHTEXTBOX")

{

nombre = "RichTextBox_";

}

if(tipo == "CAJATEXTO"){

nombre = "CajaTexto_";

}

if (tipo == "BOTON")

{

nombre = "Boton_";

Page 287: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

103

}

if (tipo == "PASSWORD")

{

nombre = "Password_";

}

if (tipo == "EMAIL")

{

nombre = "Email_";

}

if (tipo == "TEXTOAUTOCOMPLETAR")

{

nombre = "TxtAutoCompleta_";

}

if (tipo == "CAJATEXTOAUTOCORREGIR")

{

nombre = "TxtAutoCorregir_";

}

if (tipo == "TEXTOAUTOCOMPLETAR_")

{

nombre = "TxtCompletar_";

}

if (tipo == "CHECKBOX")

{

nombre = "CheckBox_";

}

if (tipo == "COMBOBOX")

{

nombre = "ComboBox_";

}

if (tipo == "COMBOBOXNUMERICO")

{

nombre = "ComboBoxNum_";

}

if (tipo == "CAMPOFECHA")

{

nombre = "CampoFecha_";

}

if (tipo == "OPCION")

{

nombre = "Opcion_";

}

if (tipo == "IMAGEN")

{

nombre = "Imagen_";

}

if (tipo == "BROWSER")

{

nombre = "Browser_";

}

if (tipo == "MAPA")

{

nombre = "Mapa_";

}

int indiceObjeto = 1;

bool repetido=false;

do

{

Page 288: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

104

for (int i = 0; i < arreglo.Count; i++)

{

ObjetoBase bs = (ObjetoBase)arreglo[i];

if (nombre + indiceObjeto.ToString() == bs._Nombrecontrol)

{

indiceObjeto++;

repetido = true;

}

else

{

repetido = false;

}

}

} while (repetido);

nombre = nombre + indiceObjeto;

if (tipo == "ETIQUETA")

{

PanelEtiqueta pe = (PanelEtiqueta)arreglo[arreglo.Count - 1];

pe._Nombrecontrol = nombre;

}

if (tipo == "RICHTEXTBOX")

{

PanelRichTextBox prtb = (PanelRichTextBox)arreglo[arreglo.Count - 1];

prtb._Nombrecontrol = nombre;

}

if (tipo == "CAJATEXTO")

{

PanelCajatexto pct = (PanelCajatexto)arreglo[arreglo.Count - 1];

pct._Nombrecontrol = nombre;

}

if (tipo == "PASSWORD")

{

PanelPassword pct = (PanelPassword)arreglo[arreglo.Count - 1];

pct._Nombrecontrol = nombre;

}

if (tipo == "EMAIL")

{

PanelEmail pct = (PanelEmail)arreglo[arreglo.Count - 1];

pct._Nombrecontrol = nombre;

}

if (tipo == "TEXTOAUTOCOMPLETAR")

{

PanelTextoAutocompletar pct = (PanelTextoAutocompletar)arreglo[arreglo.Count - 1];

pct._Nombrecontrol = nombre;

}

if (tipo == "CAJATEXTOAUTOCORREGIR")

{

PanelTextoAutocorregir pct = (PanelTextoAutocorregir)arreglo[arreglo.Count - 1];

pct._Nombrecontrol = nombre;

}

if (tipo == "TEXTOAUTOCOMPLETAR_")

{

PanelAutoCompletar pct = (PanelAutoCompletar)arreglo[arreglo.Count - 1];

pct._Nombrecontrol = nombre;

}

if (tipo == "CHECKBOX")

Page 289: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

105

{

PanelCheckBox pct = (PanelCheckBox)arreglo[arreglo.Count - 1];

pct._Nombrecontrol = nombre;

}

if (tipo == "COMBOBOX")

{

PanelComboBox pct = (PanelComboBox)arreglo[arreglo.Count - 1];

pct._Nombrecontrol = nombre;

}

if (tipo == "COMBOBOXNUMERICO")

{

PanelComboBoxNumerico pct = (PanelComboBoxNumerico)arreglo[arreglo.Count - 1];

pct._Nombrecontrol = nombre;

}

if (tipo == "CAMPOFECHA")

{

PanelCampoFecha pct = (PanelCampoFecha)arreglo[arreglo.Count - 1];

pct._Nombrecontrol = nombre;

}

if (tipo == "OPCION")

{

PanelCampoOpcion pct = (PanelCampoOpcion)arreglo[arreglo.Count - 1];

pct._Nombrecontrol = nombre;

}

if (tipo == "BOTON")

{

PanelBoton pct = (PanelBoton)arreglo[arreglo.Count - 1];

pct._Nombrecontrol = nombre;

}

if (tipo == "IMAGEN")

{

PanelCampoImagen pct = (PanelCampoImagen)arreglo[arreglo.Count - 1];

pct._Nombrecontrol = nombre;

}

if (tipo == "BROWSER")

{

PanelBrowserField pct = (PanelBrowserField)arreglo[arreglo.Count - 1];

pct._Nombrecontrol = nombre;

}

if (tipo == "MAPA")

{

PanelCamposMapa pct = (PanelCamposMapa)arreglo[arreglo.Count - 1];

pct._Nombrecontrol = nombre;

}

}

}

public void buscaPosicionUltmoObj(ref int posX, ref int posY)

{

if (arreglo.Count < 1)

{

posY = 0;

posX = 0;

}

else

{

for (int i = 0; i < arreglo.Count; i++)

Page 290: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

106

{

ObjetoBase obj = (ObjetoBase)arreglo[i];

if (posY < obj._posY)

{

posY = obj._posY;

}

}

posY += 20;

}

}

public string retornaTipoSeleccionado()

{

ObjetoBase obj = (ObjetoBase)arreglo[indiceSeleccionado];

return obj._TipoControl;

}

#region "se encarga de la generacion de los codigos java para RIM"

public void generaCodigoJava()

{

try

{

if (arreglo.Count > 0)

{

string nombreGrupos = "";

string contenidoArchivo =

"package miPaquete;\n" +

"import net.rim.device.api.system.Bitmap;\n" +

"import net.rim.device.api.ui.Color;\n" +

"import net.rim.device.api.ui.Font;\n" +

"import net.rim.device.api.ui.FontFamily;\n" +

"import net.rim.device.api.ui.Ui;\n" +

"import net.rim.device.api.ui.Graphics;\n" +

"import net.rim.device.api.ui.UiApplication;\n" +

"import net.rim.device.api.ui.decor.Background;\n" +

"import net.rim.device.api.ui.decor.BackgroundFactory;\n" +

"import net.rim.device.api.ui.container.AbsoluteFieldManager;\n" +

"import net.rim.device.api.collection.util.BasicFilteredList;\n" +

"import net.rim.device.api.ui.component.StandardTitleBar;\n" +

"import net.rim.device.api.ui.container.MainScreen;\n\n\n" +

"\n\n" +

"import java.util.Vector;\n\n" +

"import net.rim.device.api.ui.Field;\n" +

"import net.rim.device.api.ui.Manager;\n" +

"import net.rim.device.api.ui.XYPoint;\n\n\n" +

"public class Clase1 extends net.rim.device.api.ui.UiApplication{\n" +

" public static void main(String[] args)\n" +

" {\n" +

" Clase1 theApp = new Clase1();\n" +

" theApp.enterEventDispatcher();\n" +

" }\n" +

" public Clase1()\n" +

" {\n" +

" pushScreen(new MyScreen());\n" +

" }\n" +

"}\n" +

Page 291: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

107

"final class MyScreen extends MainScreen\n" +

"{\n" +

" public MyScreen()\n" +

" {\n" +

" super( net.rim.device.api.ui.container.FullScreen.DEFAULT_CLOSE |

net.rim.device.api.ui.container.FullScreen.DEFAULT_MENU );\n" +

" StandardTitleBar myTitleBar = new StandardTitleBar()\n" +

" .addIcon(\"" +

((this.txtImagenIcono.Text!="")?this.txtImagenIcono.Text:nombreIconoDefecto).ToString() + "\")\n" +

" .addTitle(\"" + this.txtTituloPantalla.Text + "\")\n";

if(chkReloj.Checked)

{

contenidoArchivo = contenidoArchivo + " .addClock()\n" ;

}

if(chkNotificaciones.Checked)

{

contenidoArchivo = contenidoArchivo + " .addNotifications()\n";

}

if (chkSenal.Checked)

{

contenidoArchivo = contenidoArchivo + " .addSignalIndicator()\n";

}

contenidoArchivo = contenidoArchivo + ";\n" +

"

myTitleBar.setPropertyValue(StandardTitleBar.PROPERTY_BATTERY_VISIBILITY,\n" +

" StandardTitleBar.BATTERY_VISIBLE_LOW_OR_CHARGING);\n" +

" setTitleBar(myTitleBar);\n" +

" ControlLibreFieldManager manejador1 = new ControlLibreFieldManager();\n";

if (this.cmbTipoFondo.Items[this.cmbTipoFondo.SelectedIndex].ToString() == "IMAGEN")

{

contenidoArchivo = contenidoArchivo +

" Bitmap bitmapImage = Bitmap.getBitmapResource(\"" + nombreImagenFondo +

"\");\n" +

"

getMainManager().setBackground(BackgroundFactory.createBitmapBackground(bitmapImage,0, 0,

Background.REPEAT_SCALE_TO_FIT));\n";

}

for (int i = 0; i < arreglo.Count; i++)

{

ObjetoBase obj = (ObjetoBase)arreglo[i];

#region "generacion de etiquetas"

if (obj._TipoControl == "ETIQUETA")

{

PanelEtiqueta pe = (PanelEtiqueta)arreglo[i];

if (!pe.poseeColorfondo && !pe.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.LabelField " + pe._Nombrecontrol + "= new

net.rim.device.api.ui.component.LabelField(\"" + pe._Texto.Replace(Encoding.ASCII.GetString(new byte[]

{ (byte)13 }), "").Replace(Encoding.ASCII.GetString(new byte[] { (byte)10 }), "") + "\");\n";

}

else

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.LabelField " + pe._Nombrecontrol + " = new

Page 292: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

108

net.rim.device.api.ui.component.LabelField(\"" + pe._Texto.Replace(Encoding.ASCII.GetString(new byte[]

{ (byte)13 }), "").Replace(Encoding.ASCII.GetString(new byte[] { (byte)10 }), "") + "\"){\n" +

" public void paint(Graphics g){\n";

if (pe.poseeColorfondo)

{

contenidoArchivo = contenidoArchivo + " g.setBackgroundColor(Color." +

pe.ColorFondo.Name.ToUpper() + ");\n" +

" g.fillRect(0,0,getWidth(),getHeight());\n";

}

if(pe.poseeColorTextop){

contenidoArchivo = contenidoArchivo + " g.setColor(Color." +

pe.ColorEtiqueta.Name.ToUpper() + ");\n";

}

contenidoArchivo = contenidoArchivo + " g.clear();\n" +

" super.paint(g);\n" +

" }\n" +

" };\n";

}

if (pe.lb_poseeEstilo || pe.lb_poseeOtraFamiliaTexto || pe.lb_otrotamanioTexto)

{

contenidoArchivo = contenidoArchivo +

" try\n" +

" {\n" +

" Font f = " + pe._Nombrecontrol + ".getFont();\n";

if (pe.lb_poseeOtraFamiliaTexto)

{

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily =

FontFamily.forName(\"" + pe._NombreFamiliaTexto + "\");\n";

}

else

{

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily = " +

pe._Nombrecontrol + ".getFont().getFontFamily();\n";

}

String textoPlano = (pe.lb_poseeEstilo == true) ? pe._NombreEstiloTexto.ToString() :

"PLAIN";

string tamanio = (pe.lb_otrotamanioTexto == true) ? pe._TamanioTexto.ToString() :

"10";

contenidoArchivo = contenidoArchivo + " Font myFont =

fontFamily.getFont(" + pe._Nombrecontrol + ".getFont().getLeading(), " + pe._Nombrecontrol +

".getFont().getHeight()).derive(Font." + textoPlano + ", " + tamanio + ", Ui.UNITS_pt);\n";

contenidoArchivo = contenidoArchivo + " " + pe._Nombrecontrol +

".setFont(myFont);\n";

contenidoArchivo = contenidoArchivo + " }\n" +

" catch(Exception ex)\n" +

" {\n" +

" }\n";

}

contenidoArchivo = contenidoArchivo + " manejador1.add(" + pe._Nombrecontrol +

"," + (pe._posX * 2).ToString() + "," + (pe._posY * 2).ToString() + ");\n";

//" this.add(" + pe._Nombrecontrol + ");\n";

}

#endregion

#region "generacion de campo de solo lectura"

Page 293: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

109

if (obj._TipoControl == "RICHTEXTBOX")

{

PanelRichTextBox prt = (PanelRichTextBox)arreglo[i];

if (!prt.poseeColorfondo && !prt.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.RichTextField " + prt._Nombrecontrol + "= new

net.rim.device.api.ui.component.RichTextField(\"" + prt._Texto.Replace(Encoding.ASCII.GetString(new

byte[] { (byte)13 }), "\\n").Replace(Encoding.ASCII.GetString(new byte[] { (byte)10 }), "") + "\");\n";

}

else

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.RichTextField " + prt._Nombrecontrol + " = new

net.rim.device.api.ui.component.RichTextField(\"" + prt._Texto.Replace(Encoding.ASCII.GetString(new

byte[] { (byte)10 }), "\\n").Replace(Encoding.ASCII.GetString(new byte[] { (byte)10 }), "") + "\"){\n" +

" public void paint(Graphics g){\n";

if (prt.poseeColorfondo)

{

contenidoArchivo = contenidoArchivo + " g.setBackgroundColor(Color." +

prt.ColorFondo.Name.ToUpper() + ");\n" +

" g.fillRect(0,0,getWidth(),getHeight());\n";

}

if (prt.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + " g.setColor(Color." +

prt.ColorEtiqueta.Name.ToUpper() + ");\n";

}

contenidoArchivo = contenidoArchivo + " g.clear();\n" +

" super.paint(g);\n" +

" }\n" +

" };\n";

}

if (prt.lb_poseeEstilo || prt.lb_poseeOtraFamiliaTexto || prt.lb_otrotamanioTexto)

{

contenidoArchivo = contenidoArchivo +

" try\n" +

" {\n" +

" Font f = " + prt._Nombrecontrol + ".getFont();\n";

if (prt.lb_poseeOtraFamiliaTexto)

{

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily =

FontFamily.forName(\"" + prt._NombreFamiliaTexto + "\");\n";

}

else

{

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily = " +

prt._Nombrecontrol + ".getFont().getFontFamily();\n";

}

String textoPlano = (prt.lb_poseeEstilo == true) ? prt._NombreEstiloTexto.ToString() :

"PLAIN";

string tamanio = (prt.lb_otrotamanioTexto == true) ? prt._TamanioTexto.ToString() :

"10";

Page 294: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

110

contenidoArchivo = contenidoArchivo + " Font myFont =

fontFamily.getFont(" + prt._Nombrecontrol + ".getFont().getLeading(), " + prt._Nombrecontrol +

".getFont().getHeight()).derive(Font." + textoPlano + ", " + tamanio + ", Ui.UNITS_pt);\n";

contenidoArchivo = contenidoArchivo + " " + prt._Nombrecontrol +

".setFont(myFont);\n";

contenidoArchivo = contenidoArchivo + " }\n" +

" catch(Exception ex)\n" +

" {\n" +

" }\n";

}

contenidoArchivo = contenidoArchivo + " manejador1.add(" + prt._Nombrecontrol +

"," + (prt._posX * 2).ToString() + "," + (prt._posY * 2).ToString() + ");\n";

//" this.add(" + pe._Nombrecontrol + ");\n";

}

#endregion

#region "generacion de campos de textos"

if (obj._TipoControl == "CAJATEXTO")

{

PanelCajatexto pct = (PanelCajatexto)arreglo[i];

if (!pct.poseeColorfondo && !pct.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.TextField " + pct._Nombrecontrol + "= new

net.rim.device.api.ui.component.TextField();\n";

}

else

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.TextField " + pct._Nombrecontrol + " = new

net.rim.device.api.ui.component.TextField(){\n" +

" public void paint(Graphics g){\n";

if (pct.poseeColorfondo)

{

contenidoArchivo = contenidoArchivo + " g.setBackgroundColor(Color." +

pct.ColorFondo.Name.ToUpper() + ");\n" +

" g.fillRect(0,0,getWidth(),getHeight());\n";

}

if (pct.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + " g.setColor(Color." +

pct.ColorEtiqueta.Name.ToUpper() + ");\n";

}

contenidoArchivo = contenidoArchivo + " g.clear();\n" +

" super.paint(g);\n" +

" }\n" +

" };\n";

}

if (pct.lb_poseeEstilo || pct.lb_poseeOtraFamiliaTexto || pct.lb_otrotamanioTexto)

{

contenidoArchivo = contenidoArchivo +

" try\n" +

" {\n" +

" Font f = " + pct._Nombrecontrol + ".getFont();\n";

Page 295: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

111

if (pct.lb_poseeOtraFamiliaTexto)

{

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily =

FontFamily.forName(\"" + pct._NombreFamiliaTexto + "\");\n";

}

else

{

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily = " +

pct._Nombrecontrol + ".getFont().getFontFamily();\n";

}

String textoPlano = (pct.lb_poseeEstilo == true) ? pct._NombreEstiloTexto.ToString() :

"PLAIN";

string tamanio = (pct.lb_otrotamanioTexto == true) ? pct._TamanioTexto.ToString() :

"10";

contenidoArchivo = contenidoArchivo + " Font myFont =

fontFamily.getFont(" + pct._Nombrecontrol + ".getFont().getLeading(), " + pct._Nombrecontrol +

".getFont().getHeight()).derive(Font." + textoPlano + ", " + tamanio + ", Ui.UNITS_pt);\n";

contenidoArchivo = contenidoArchivo + " " + pct._Nombrecontrol +

".setFont(myFont);\n";

contenidoArchivo = contenidoArchivo + " }\n" +

" catch(Exception ex)\n" +

" {\n" +

" }\n";

}

contenidoArchivo = contenidoArchivo + " manejador1.add(" + pct._Nombrecontrol +

"," + (pct._posX * 2).ToString() + "," + (pct._posY * 2).ToString() + ");\n";

}

#endregion

#region "generacion de campos de password"

if (obj._TipoControl == "PASSWORD")

{

/*PanelCajatexto pct = (PanelCajatexto)arreglo[i];

contenidoArchivo = contenidoArchivo + " net.rim.device.api.ui.component.TextField

" + pct._Nombrecontrol + "= new net.rim.device.api.ui.component.TextField();\n" +

" manejador1.add(" + pct._Nombrecontrol + "," + (pct._posX * 2).ToString() + "," +

(pct._posY * 2).ToString() + ");\n";*/

//" this.add(" + pct._Nombrecontrol + ");\n";

PanelPassword ppwd = (PanelPassword)arreglo[i];

if (!ppwd.poseeColorfondo && !ppwd.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.PasswordEditField " + ppwd._Nombrecontrol + "= new

net.rim.device.api.ui.component.PasswordEditField();\n";

}

else

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.PasswordEditField " + ppwd._Nombrecontrol + " = new

net.rim.device.api.ui.component.PasswordEditField(){\n" +

" public void paint(Graphics g){\n";

if (ppwd.poseeColorfondo)

{

contenidoArchivo = contenidoArchivo + " g.setBackgroundColor(Color." +

ppwd.ColorFondo.Name.ToUpper() + ");\n" +

" g.fillRect(0,0,getWidth(),getHeight());\n";

Page 296: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

112

}

if (ppwd.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + " g.setColor(Color." +

ppwd.ColorEtiqueta.Name.ToUpper() + ");\n";

}

contenidoArchivo = contenidoArchivo + " g.clear();\n" +

" super.paint(g);\n" +

" }\n" +

" };\n";

}

contenidoArchivo = contenidoArchivo + " manejador1.add(" + ppwd._Nombrecontrol

+ "," + (ppwd._posX * 2).ToString() + "," + (ppwd._posY * 2).ToString() + ");\n";

}

#endregion

#region "generacion de campos de correos"

if (obj._TipoControl == "EMAIL")

{

/*PanelCajatexto pct = (PanelCajatexto)arreglo[i];

contenidoArchivo = contenidoArchivo + " net.rim.device.api.ui.component.TextField

" + pct._Nombrecontrol + "= new net.rim.device.api.ui.component.TextField();\n" +

" manejador1.add(" + pct._Nombrecontrol + "," + (pct._posX * 2).ToString() + "," +

(pct._posY * 2).ToString() + ");\n";*/

//" this.add(" + pct._Nombrecontrol + ");\n";

PanelEmail pemail = (PanelEmail)arreglo[i];

if (!pemail.poseeColorfondo && !pemail.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.EmailAddressEditField " + pemail._Nombrecontrol + "= new

net.rim.device.api.ui.component.EmailAddressEditField(\"\",\"\");\n";

}

else

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.EmailAddressEditField " + pemail._Nombrecontrol + " = new

net.rim.device.api.ui.component.EmailAddressEditField(\"\",\"\"){\n" +

" public void paint(Graphics g){\n";

if (pemail.poseeColorfondo)

{

contenidoArchivo = contenidoArchivo + " g.setBackgroundColor(Color." +

pemail.ColorFondo.Name.ToUpper() + ");\n" +

" g.fillRect(0,0,getWidth(),getHeight());\n";

}

if (pemail.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + " g.setColor(Color." +

pemail.ColorEtiqueta.Name.ToUpper() + ");\n";

}

contenidoArchivo = contenidoArchivo + " g.clear();\n" +

" super.paint(g);\n" +

" }\n" +

" };\n";

}

if (pemail.lb_poseeEstilo || pemail.lb_poseeOtraFamiliaTexto ||

pemail.lb_otrotamanioTexto)

Page 297: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

113

{

contenidoArchivo = contenidoArchivo +

" try\n" +

" {\n" +

" Font f = " + pemail._Nombrecontrol + ".getFont();\n";

if (pemail.lb_poseeOtraFamiliaTexto)

{

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily =

FontFamily.forName(\"" + pemail._NombreFamiliaTexto + "\");\n";

}

else

{

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily = " +

pemail._Nombrecontrol + ".getFont().getFontFamily();\n";

}

String textoPlano = (pemail.lb_poseeEstilo == true) ?

pemail._NombreEstiloTexto.ToString() : "PLAIN";

string tamanio = (pemail.lb_otrotamanioTexto == true) ?

pemail._TamanioTexto.ToString() : "10";

contenidoArchivo = contenidoArchivo + " Font myFont =

fontFamily.getFont(" + pemail._Nombrecontrol + ".getFont().getLeading(), " + pemail._Nombrecontrol +

".getFont().getHeight()).derive(Font." + textoPlano + ", " + tamanio + ", Ui.UNITS_pt);\n";

contenidoArchivo = contenidoArchivo + " " + pemail._Nombrecontrol +

".setFont(myFont);\n";

contenidoArchivo = contenidoArchivo + " }\n" +

" catch(Exception ex)\n" +

" {\n" +

" }\n";

}

contenidoArchivo = contenidoArchivo + " manejador1.add(" +

pemail._Nombrecontrol + "," + (pemail._posX * 2).ToString() + "," + (pemail._posY * 2).ToString() +

");\n";

}

#endregion

#region "generacion de campos de textos busqueda"

if (obj._TipoControl == "TEXTOAUTOCOMPLETAR")

{

PanelTextoAutocompletar pct = (PanelTextoAutocompletar)arreglo[i];

contenidoArchivo = contenidoArchivo + " BasicFilteredList filterList_" +

pct._Nombrecontrol + " = new BasicFilteredList();\n";

contenidoArchivo = contenidoArchivo + " String[] varArray_" + pct._Nombrecontrol

+ " = {" ;

Array arregloTmp = pct.Contenido;

for (int j = 0; j < pct.Contenido.Length; j++)

{

contenidoArchivo = contenidoArchivo + "\"" + pct.Contenido.GetValue(j).ToString() +

"\",";

}

contenidoArchivo = contenidoArchivo.Substring(0, contenidoArchivo.Length - 1);

contenidoArchivo = contenidoArchivo + "};\n" +

" filterList_" + pct._Nombrecontrol +

".addDataSet(1,varArray_" + pct._Nombrecontrol

+",\"days\",BasicFilteredList.COMPARISON_IGNORE_CASE);\n";

if (!pct.poseeColorfondo && !pct.poseeColorTextop)

Page 298: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

114

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.AutoCompleteField " + pct._Nombrecontrol + "= new

net.rim.device.api.ui.component.AutoCompleteField(filterList_" + pct._Nombrecontrol +");\n";

}

else

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.AutoCompleteField " + pct._Nombrecontrol + " = new

net.rim.device.api.ui.component.AutoCompleteField(filterList_" + pct._Nombrecontrol +"){\n" +

" public void paint(Graphics g){\n";

if (pct.poseeColorfondo)

{

contenidoArchivo = contenidoArchivo + " g.setBackgroundColor(Color." +

pct.ColorFondo.Name.ToUpper() + ");\n" +

" g.fillRect(0,0,getWidth(),getHeight());\n";

}

if (pct.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + " g.setColor(Color." +

pct.ColorEtiqueta.Name.ToUpper() + ");\n";

}

contenidoArchivo = contenidoArchivo + " g.clear();\n" +

" super.paint(g);\n" +

" }\n" +

" };\n";

}

if (pct.lb_poseeEstilo || pct.lb_poseeOtraFamiliaTexto || pct.lb_otrotamanioTexto)

{

contenidoArchivo = contenidoArchivo +

" try\n" +

" {\n" +

" Font f = " + pct._Nombrecontrol + ".getFont();\n";

if (pct.lb_poseeOtraFamiliaTexto)

{

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily =

FontFamily.forName(\"" + pct._NombreFamiliaTexto + "\");\n";

}

else

{

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily = " +

pct._Nombrecontrol + ".getFont().getFontFamily();\n";

}

String textoPlano = (pct.lb_poseeEstilo == true) ? pct._NombreEstiloTexto.ToString() :

"PLAIN";

string tamanio = (pct.lb_otrotamanioTexto == true) ? pct._TamanioTexto.ToString() :

"10";

contenidoArchivo = contenidoArchivo + " Font myFont =

fontFamily.getFont(" + pct._Nombrecontrol + ".getFont().getLeading(), " + pct._Nombrecontrol +

".getFont().getHeight()).derive(Font." + textoPlano + ", " + tamanio + ", Ui.UNITS_pt);\n";

contenidoArchivo = contenidoArchivo + " " + pct._Nombrecontrol +

".setFont(myFont);\n";

contenidoArchivo = contenidoArchivo + " }\n" +

" catch(Exception ex)\n" +

Page 299: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

115

" {\n" +

" }\n";

}

contenidoArchivo = contenidoArchivo + " manejador1.add(" + pct._Nombrecontrol +

"," + (pct._posX * 2).ToString() + "," + (pct._posY * 2).ToString() + ");\n";

}

#endregion

#region "generacion de campos de textos autocorregir"

if (obj._TipoControl == "CAJATEXTOAUTOCORREGIR")

{

PanelTextoAutocorregir pct = (PanelTextoAutocorregir)arreglo[i];

if (!pct.poseeColorfondo && !pct.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.AutoTextEditField " + pct._Nombrecontrol + "= new

net.rim.device.api.ui.component.AutoTextEditField();\n";

}

else

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.AutoTextEditField " + pct._Nombrecontrol + " = new

net.rim.device.api.ui.component.AutoTextEditField(){\n" +

" public void paint(Graphics g){\n";

if (pct.poseeColorfondo)

{

contenidoArchivo = contenidoArchivo + " g.setBackgroundColor(Color." +

pct.ColorFondo.Name.ToUpper() + ");\n" +

" g.fillRect(0,0,getWidth(),getHeight());\n";

}

if (pct.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + " g.setColor(Color." +

pct.ColorEtiqueta.Name.ToUpper() + ");\n";

}

contenidoArchivo = contenidoArchivo + " g.clear();\n" +

" super.paint(g);\n" +

" }\n" +

" };\n";

}

if (pct.lb_poseeEstilo || pct.lb_poseeOtraFamiliaTexto || pct.lb_otrotamanioTexto)

{

contenidoArchivo = contenidoArchivo +

" try\n" +

" {\n" +

" Font f = " + pct._Nombrecontrol + ".getFont();\n";

if (pct.lb_poseeOtraFamiliaTexto)

{

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily =

FontFamily.forName(\"" + pct._NombreFamiliaTexto + "\");\n";

}

else

{

Page 300: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

116

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily = " +

pct._Nombrecontrol + ".getFont().getFontFamily();\n";

}

String textoPlano = (pct.lb_poseeEstilo == true) ? pct._NombreEstiloTexto.ToString() :

"PLAIN";

string tamanio = (pct.lb_otrotamanioTexto == true) ? pct._TamanioTexto.ToString() :

"10";

contenidoArchivo = contenidoArchivo + " Font myFont =

fontFamily.getFont(" + pct._Nombrecontrol + ".getFont().getLeading(), " + pct._Nombrecontrol +

".getFont().getHeight()).derive(Font." + textoPlano + ", " + tamanio + ", Ui.UNITS_pt);\n";

contenidoArchivo = contenidoArchivo + " " + pct._Nombrecontrol +

".setFont(myFont);\n";

contenidoArchivo = contenidoArchivo + " }\n" +

" catch(Exception ex)\n" +

" {\n" +

" }\n";

}

contenidoArchivo = contenidoArchivo + " manejador1.add(" + pct._Nombrecontrol +

"," + (pct._posX * 2).ToString() + "," + (pct._posY * 2).ToString() + ");\n";

}

#endregion

#region "generacion de campos de textos completar"

if (obj._TipoControl == "TEXTOAUTOCOMPLETAR_")

{

PanelAutoCompletar pct = (PanelAutoCompletar)arreglo[i];

if (!pct.poseeColorfondo && !pct.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.ActiveAutoTextEditField " + pct._Nombrecontrol + "= new

net.rim.device.api.ui.component.ActiveAutoTextEditField(\"\",\"\");\n";

}

else

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.ActiveAutoTextEditField " + pct._Nombrecontrol + " = new

net.rim.device.api.ui.component.ActiveAutoTextEditField(\"\",\"\"){\n" +

" public void paint(Graphics g){\n";

if (pct.poseeColorfondo)

{

contenidoArchivo = contenidoArchivo + " g.setBackgroundColor(Color." +

pct.ColorFondo.Name.ToUpper() + ");\n" +

" g.fillRect(0,0,getWidth(),getHeight());\n";

}

if (pct.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + " g.setColor(Color." +

pct.ColorEtiqueta.Name.ToUpper() + ");\n";

}

contenidoArchivo = contenidoArchivo + " g.clear();\n" +

" super.paint(g);\n" +

" }\n" +

" };\n";

}

if (pct.lb_poseeEstilo || pct.lb_poseeOtraFamiliaTexto || pct.lb_otrotamanioTexto)

Page 301: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

117

{

contenidoArchivo = contenidoArchivo +

" try\n" +

" {\n" +

" Font f = " + pct._Nombrecontrol + ".getFont();\n";

if (pct.lb_poseeOtraFamiliaTexto)

{

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily =

FontFamily.forName(\"" + pct._NombreFamiliaTexto + "\");\n";

}

else

{

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily = " +

pct._Nombrecontrol + ".getFont().getFontFamily();\n";

}

String textoPlano = (pct.lb_poseeEstilo == true) ? pct._NombreEstiloTexto.ToString() :

"PLAIN";

string tamanio = (pct.lb_otrotamanioTexto == true) ? pct._TamanioTexto.ToString() :

"10";

contenidoArchivo = contenidoArchivo + " Font myFont =

fontFamily.getFont(" + pct._Nombrecontrol + ".getFont().getLeading(), " + pct._Nombrecontrol +

".getFont().getHeight()).derive(Font." + textoPlano + ", " + tamanio + ", Ui.UNITS_pt);\n";

contenidoArchivo = contenidoArchivo + " " + pct._Nombrecontrol +

".setFont(myFont);\n";

contenidoArchivo = contenidoArchivo + " }\n" +

" catch(Exception ex)\n" +

" {\n" +

" }\n";

}

contenidoArchivo = contenidoArchivo + " manejador1.add(" + pct._Nombrecontrol +

"," + (pct._posX * 2).ToString() + "," + (pct._posY * 2).ToString() + ");\n";

}

#endregion

#region "generacion de campo check box"

if (obj._TipoControl == "CHECKBOX")

{

PanelCheckBox pe = (PanelCheckBox)arreglo[i];

if (!pe.poseeColorfondo && !pe.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.CheckboxField " + pe._Nombrecontrol + "= new

net.rim.device.api.ui.component.CheckboxField(\"" + pe._Texto.Replace(Encoding.ASCII.GetString(new

byte[] { (byte)13 }), "").Replace(Encoding.ASCII.GetString(new byte[] { (byte)10 }), "") + "\",false);\n";

}

else

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.CheckboxField " + pe._Nombrecontrol + " = new

net.rim.device.api.ui.component.CheckboxField(\"" + pe._Texto.Replace(Encoding.ASCII.GetString(new

byte[] { (byte)13 }), "").Replace(Encoding.ASCII.GetString(new byte[] { (byte)10 }), "") + "\",false){\n" +

" public void paint(Graphics g){\n";

if (pe.poseeColorfondo)

{

Page 302: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

118

contenidoArchivo = contenidoArchivo + " g.setBackgroundColor(Color." +

pe.ColorFondo.Name.ToUpper() + ");\n" +

" g.fillRect(0,0,getWidth(),getHeight());\n";

}

if (pe.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + " g.setColor(Color." +

pe.ColorEtiqueta.Name.ToUpper() + ");\n";

}

contenidoArchivo = contenidoArchivo + " g.clear();\n" +

" super.paint(g);\n" +

" }\n" +

" };\n";

}

if (pe.lb_poseeEstilo || pe.lb_poseeOtraFamiliaTexto || pe.lb_otrotamanioTexto)

{

contenidoArchivo = contenidoArchivo +

" try\n" +

" {\n" +

" Font f = " + pe._Nombrecontrol + ".getFont();\n";

if (pe.lb_poseeOtraFamiliaTexto)

{

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily =

FontFamily.forName(\"" + pe._NombreFamiliaTexto + "\");\n";

}

else

{

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily = " +

pe._Nombrecontrol + ".getFont().getFontFamily();\n";

}

String textoPlano = (pe.lb_poseeEstilo == true) ? pe._NombreEstiloTexto.ToString() :

"PLAIN";

string tamanio = (pe.lb_otrotamanioTexto == true) ? pe._TamanioTexto.ToString() :

"10";

contenidoArchivo = contenidoArchivo + " Font myFont =

fontFamily.getFont(" + pe._Nombrecontrol + ".getFont().getLeading(), " + pe._Nombrecontrol +

".getFont().getHeight()).derive(Font." + textoPlano + ", " + tamanio + ", Ui.UNITS_pt);\n";

contenidoArchivo = contenidoArchivo + " " + pe._Nombrecontrol +

".setFont(myFont);\n";

contenidoArchivo = contenidoArchivo + " }\n" +

" catch(Exception ex)\n" +

" {\n" +

" }\n";

}

contenidoArchivo = contenidoArchivo +

" net.rim.device.api.ui.container.GridFieldManager miGrid_" + pe._Nombrecontrol

+ " = new net.rim.device.api.ui.container.GridFieldManager(1,1,0);\n" +

" miGrid_" + pe._Nombrecontrol + ".add(" + pe._Nombrecontrol + ");\n" +

" manejador1.add(miGrid_" + pe._Nombrecontrol + "," + (pe._posX * 2).ToString()

+ "," + (pe._posY * 2).ToString() + ");\n";

//" this.add(" + pe._Nombrecontrol + ");\n";

}

#endregion

#region "generacion de campo Combo Box"

Page 303: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

119

if (obj._TipoControl == "COMBOBOX")

{

PanelComboBox pct = (PanelComboBox)arreglo[i];

contenidoArchivo = contenidoArchivo + " String[] varArray_" + pct._Nombrecontrol

+ " = {";

Array arregloTmp = pct.Contenido;

for (int j = 0; j < pct.Contenido.Length; j++)

{

contenidoArchivo = contenidoArchivo + "\"" + pct.Contenido.GetValue(j).ToString() +

"\",";

}

contenidoArchivo = contenidoArchivo.Substring(0, contenidoArchivo.Length - 1) +

"};\n";

if (!pct.poseeColorfondo && !pct.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.ObjectChoiceField " + pct._Nombrecontrol + "= new

net.rim.device.api.ui.component.ObjectChoiceField(\"\",varArray_" + pct._Nombrecontrol + ",0);\n";

}

else

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.ObjectChoiceField " + pct._Nombrecontrol + " = new

net.rim.device.api.ui.component.ObjectChoiceField(\"\",varArray_" + pct._Nombrecontrol + ",0){\n" +

" public void paint(Graphics g){\n";

if (pct.poseeColorfondo)

{

contenidoArchivo = contenidoArchivo + " g.setBackgroundColor(Color." +

pct.ColorFondo.Name.ToUpper() + ");\n" +

" g.fillRect(0,0,getWidth(),getHeight());\n";

}

if (pct.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + " g.setColor(Color." +

pct.ColorEtiqueta.Name.ToUpper() + ");\n";

}

contenidoArchivo = contenidoArchivo + " g.clear();\n" +

" super.paint(g);\n" +

" }\n" +

" };\n";

}

if (pct.lb_poseeEstilo || pct.lb_poseeOtraFamiliaTexto || pct.lb_otrotamanioTexto)

{

contenidoArchivo = contenidoArchivo +

" try\n" +

" {\n" +

" Font f = " + pct._Nombrecontrol + ".getFont();\n";

if (pct.lb_poseeOtraFamiliaTexto)

{

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily =

FontFamily.forName(\"" + pct._NombreFamiliaTexto + "\");\n";

}

else

{

Page 304: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

120

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily = " +

pct._Nombrecontrol + ".getFont().getFontFamily();\n";

}

String textoPlano = (pct.lb_poseeEstilo == true) ? pct._NombreEstiloTexto.ToString() :

"PLAIN";

string tamanio = (pct.lb_otrotamanioTexto == true) ? pct._TamanioTexto.ToString() :

"10";

contenidoArchivo = contenidoArchivo + " Font myFont =

fontFamily.getFont(" + pct._Nombrecontrol + ".getFont().getLeading(), " + pct._Nombrecontrol +

".getFont().getHeight()).derive(Font." + textoPlano + ", " + tamanio + ", Ui.UNITS_pt);\n";

contenidoArchivo = contenidoArchivo + " " + pct._Nombrecontrol +

".setFont(myFont);\n";

contenidoArchivo = contenidoArchivo + " }\n" +

" catch(Exception ex)\n" +

" {\n" +

" }\n";

}

contenidoArchivo = contenidoArchivo +

" net.rim.device.api.ui.container.GridFieldManager miGrid_" + pct._Nombrecontrol

+ " = new net.rim.device.api.ui.container.GridFieldManager(1,1,0);\n" +

" miGrid_" + pct._Nombrecontrol + ".add(" + pct._Nombrecontrol + ");\n" +

" manejador1.add(miGrid_" + pct._Nombrecontrol + "," + (pct._posX *

2).ToString() + "," + (pct._posY * 2).ToString() + ");\n";

}

#endregion

#region "generacion de campos Combo Box Numerico"

if (obj._TipoControl == "COMBOBOXNUMERICO")

{

PanelComboBoxNumerico pct = (PanelComboBoxNumerico)arreglo[i];

if (!pct.poseeColorfondo && !pct.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.NumericChoiceField " + pct._Nombrecontrol + "= new

net.rim.device.api.ui.component.NumericChoiceField(\"\"," + pct.indiceInicio + "," + pct.indiceFinal + "," +

pct.incremento + "," + pct.comienzo + ");\n";

}

else

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.NumericChoiceField " + pct._Nombrecontrol + " = new

net.rim.device.api.ui.component.NumericChoiceField(\"\"," + pct.indiceInicio + "," + pct.indiceFinal + "," +

pct.incremento + "," + pct.comienzo + "){\n" +

" public void paint(Graphics g){\n";

if (pct.poseeColorfondo)

{

contenidoArchivo = contenidoArchivo + " g.setBackgroundColor(Color." +

pct.ColorFondo.Name.ToUpper() + ");\n" +

" g.fillRect(0,0,getWidth(),getHeight());\n";

}

if (pct.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + " g.setColor(Color." +

pct.ColorEtiqueta.Name.ToUpper() + ");\n";

}

contenidoArchivo = contenidoArchivo + " g.clear();\n" +

" super.paint(g);\n" +

Page 305: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

121

" }\n" +

" };\n";

}

if (pct.lb_poseeEstilo || pct.lb_poseeOtraFamiliaTexto || pct.lb_otrotamanioTexto)

{

contenidoArchivo = contenidoArchivo +

" try\n" +

" {\n" +

" Font f = " + pct._Nombrecontrol + ".getFont();\n";

if (pct.lb_poseeOtraFamiliaTexto)

{

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily =

FontFamily.forName(\"" + pct._NombreFamiliaTexto + "\");\n";

}

else

{

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily = " +

pct._Nombrecontrol + ".getFont().getFontFamily();\n";

}

String textoPlano = (pct.lb_poseeEstilo == true) ? pct._NombreEstiloTexto.ToString() :

"PLAIN";

string tamanio = (pct.lb_otrotamanioTexto == true) ? pct._TamanioTexto.ToString() :

"10";

contenidoArchivo = contenidoArchivo + " Font myFont =

fontFamily.getFont(" + pct._Nombrecontrol + ".getFont().getLeading(), " + pct._Nombrecontrol +

".getFont().getHeight()).derive(Font." + textoPlano + ", " + tamanio + ", Ui.UNITS_pt);\n";

contenidoArchivo = contenidoArchivo + " " + pct._Nombrecontrol +

".setFont(myFont);\n";

contenidoArchivo = contenidoArchivo + " }\n" +

" catch(Exception ex)\n" +

" {\n" +

" }\n";

}

contenidoArchivo = contenidoArchivo +

" net.rim.device.api.ui.container.GridFieldManager miGrid_" + pct._Nombrecontrol

+ " = new net.rim.device.api.ui.container.GridFieldManager(1,1,0);\n" +

" miGrid_" + pct._Nombrecontrol + ".add(" + pct._Nombrecontrol + ");\n" +

" manejador1.add(miGrid_" + pct._Nombrecontrol + "," + (pct._posX *

2).ToString() + "," + (pct._posY * 2).ToString() + ");\n";

}

#endregion

#region "generacion de campos fechas"

if (obj._TipoControl == "CAMPOFECHA")

{

PanelCampoFecha pcf = (PanelCampoFecha)arreglo[i];

if (!pcf.poseeColorfondo && !pcf.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.DateField " + pcf._Nombrecontrol + "= new

net.rim.device.api.ui.component.DateField(\"\",System.currentTimeMillis(),net.rim.device.api.ui.component

.DateField.DATE_TIME);\n";

}

else

{

Page 306: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

122

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.DateField " + pcf._Nombrecontrol + " = new

net.rim.device.api.ui.component.DateField(\"\",System.currentTimeMillis(),net.rim.device.api.ui.component

.DateField.DATE_TIME){\n" +

" public void paint(Graphics g){\n";

if (pcf.poseeColorfondo)

{

contenidoArchivo = contenidoArchivo + " g.setBackgroundColor(Color." +

pcf.ColorFondo.Name.ToUpper() + ");\n" +

" g.fillRect(0,0,getWidth(),getHeight());\n";

}

if (pcf.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + " g.setColor(Color." +

pcf.ColorEtiqueta.Name.ToUpper() + ");\n";

}

contenidoArchivo = contenidoArchivo + " g.clear();\n" +

" super.paint(g);\n" +

" }\n" +

" };\n";

}

if (pcf.lb_poseeEstilo || pcf.lb_poseeOtraFamiliaTexto || pcf.lb_otrotamanioTexto)

{

contenidoArchivo = contenidoArchivo +

" try\n" +

" {\n" +

" Font f = " + pcf._Nombrecontrol + ".getFont();\n";

if (pcf.lb_poseeOtraFamiliaTexto)

{

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily =

FontFamily.forName(\"" + pcf._NombreFamiliaTexto + "\");\n";

}

else

{

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily = " +

pcf._Nombrecontrol + ".getFont().getFontFamily();\n";

}

String textoPlano = (pcf.lb_poseeEstilo == true) ? pcf._NombreEstiloTexto.ToString() :

"PLAIN";

string tamanio = (pcf.lb_otrotamanioTexto == true) ? pcf._TamanioTexto.ToString() :

"10";

contenidoArchivo = contenidoArchivo + " Font myFont =

fontFamily.getFont(" + pcf._Nombrecontrol + ".getFont().getLeading(), " + pcf._Nombrecontrol +

".getFont().getHeight()).derive(Font." + textoPlano + ", " + tamanio + ", Ui.UNITS_pt);\n";

contenidoArchivo = contenidoArchivo + " " + pcf._Nombrecontrol +

".setFont(myFont);\n";

contenidoArchivo = contenidoArchivo + " }\n" +

" catch(Exception ex)\n" +

" {\n" +

" }\n";

}

contenidoArchivo = contenidoArchivo +

" net.rim.device.api.ui.container.GridFieldManager miGrid_" +

pcf._Nombrecontrol + " = new net.rim.device.api.ui.container.GridFieldManager(1,1,0);\n" +

Page 307: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

123

" miGrid_" + pcf._Nombrecontrol + ".add(" + pcf._Nombrecontrol + ");\n" +

" manejador1.add(miGrid_" + pcf._Nombrecontrol + "," + (pcf._posX *

2).ToString() + "," + (pcf._posY * 2).ToString() + ");\n";

}

#endregion

#region "generacion de campo opcion"

if (obj._TipoControl == "OPCION")

{

PanelCampoOpcion pe = (PanelCampoOpcion)arreglo[i];

int indicePerdido = nombreGrupos.IndexOf('|');

if (indicePerdido < 0)

{

nombreGrupos = nombreGrupos + pe.GrupoOpcion + "|";

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.RadioButtonGroup " + pe.GrupoOpcion + " = new

net.rim.device.api.ui.component.RadioButtonGroup();\n";

if (!pe.poseeColorfondo && !pe.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.RadioButtonField " + pe._Nombrecontrol + "= new

net.rim.device.api.ui.component.RadioButtonField(\"" + pe._Texto.Replace(Encoding.ASCII.GetString(new

byte[] { (byte)13 }), "").Replace(Encoding.ASCII.GetString(new byte[] { (byte)10 }), "") + "\"," +

pe.GrupoOpcion + ",false);\n";

}

else

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.RadioButtonField " + pe._Nombrecontrol + " = new

net.rim.device.api.ui.component.RadioButtonField(\"" + pe._Texto.Replace(Encoding.ASCII.GetString(new

byte[] { (byte)13 }), "").Replace(Encoding.ASCII.GetString(new byte[] { (byte)10 }), "") + "\"," +

pe.GrupoOpcion + ",false){\n" +

" public void paint(Graphics g){\n";

if (pe.poseeColorfondo)

{

contenidoArchivo = contenidoArchivo + " g.setBackgroundColor(Color."

+ pe.ColorFondo.Name.ToUpper() + ");\n" +

" g.fillRect(0,0,getWidth(),getHeight());\n";

}

if (pe.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + " g.setColor(Color." +

pe.ColorEtiqueta.Name.ToUpper() + ");\n";

}

contenidoArchivo = contenidoArchivo + " g.clear();\n" +

" super.paint(g);\n" +

" }\n" +

" };\n";

}

}

else

{

if (!pe.poseeColorfondo && !pe.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.RadioButtonField " + pe._Nombrecontrol + "= new

net.rim.device.api.ui.component.RadioButtonField(\"" + pe._Texto.Replace(Encoding.ASCII.GetString(new

Page 308: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

124

byte[] { (byte)13 }), "").Replace(Encoding.ASCII.GetString(new byte[] { (byte)10 }), "") + "\"," +

pe.GrupoOpcion + ",false);\n";

}

else

{

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.RadioButtonField " + pe._Nombrecontrol + " = new

net.rim.device.api.ui.component.RadioButtonField(\"" + pe._Texto.Replace(Encoding.ASCII.GetString(new

byte[] { (byte)13 }), "").Replace(Encoding.ASCII.GetString(new byte[] { (byte)10 }), "") + "\"," +

pe.GrupoOpcion + ",false){\n" +

" public void paint(Graphics g){\n";

if (pe.poseeColorfondo)

{

contenidoArchivo = contenidoArchivo + " g.setBackgroundColor(Color."

+ pe.ColorFondo.Name.ToUpper() + ");\n" +

" g.fillRect(0,0,getWidth(),getHeight());\n";

}

if (pe.poseeColorTextop)

{

contenidoArchivo = contenidoArchivo + " g.setColor(Color." +

pe.ColorEtiqueta.Name.ToUpper() + ");\n";

}

contenidoArchivo = contenidoArchivo + " g.clear();\n" +

" super.paint(g);\n" +

" }\n" +

" };\n";

}

}

if (pe.lb_poseeEstilo || pe.lb_poseeOtraFamiliaTexto || pe.lb_otrotamanioTexto)

{

contenidoArchivo = contenidoArchivo +

" try\n" +

" {\n" +

" Font f = " + pe._Nombrecontrol + ".getFont();\n";

if (pe.lb_poseeOtraFamiliaTexto)

{

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily =

FontFamily.forName(\"" + pe._NombreFamiliaTexto + "\");\n";

}

else

{

contenidoArchivo = contenidoArchivo + " FontFamily fontFamily = " +

pe._Nombrecontrol + ".getFont().getFontFamily();\n";

}

String textoPlano = (pe.lb_poseeEstilo == true) ? pe._NombreEstiloTexto.ToString() :

"PLAIN";

string tamanio = (pe.lb_otrotamanioTexto == true) ? pe._TamanioTexto.ToString() :

"10";

contenidoArchivo = contenidoArchivo + " Font myFont =

fontFamily.getFont(" + pe._Nombrecontrol + ".getFont().getLeading(), " + pe._Nombrecontrol +

".getFont().getHeight()).derive(Font." + textoPlano + ", " + tamanio + ", Ui.UNITS_pt);\n";

contenidoArchivo = contenidoArchivo + " " + pe._Nombrecontrol +

".setFont(myFont);\n";

contenidoArchivo = contenidoArchivo + " }\n" +

Page 309: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

125

" catch(Exception ex)\n" +

" {\n" +

" }\n";

}

contenidoArchivo = contenidoArchivo +

" net.rim.device.api.ui.container.GridFieldManager miGrid_" + pe._Nombrecontrol

+ " = new net.rim.device.api.ui.container.GridFieldManager(1,1,0);\n" +

" miGrid_" + pe._Nombrecontrol + ".add(" + pe._Nombrecontrol + ");\n" +

" manejador1.add(miGrid_" + pe._Nombrecontrol + "," + (pe._posX * 2).ToString()

+ "," + (pe._posY * 2).ToString() + ");\n";

//" this.add(" + pe._Nombrecontrol + ");\n";

}

#endregion

#region "Generacion de campo boton"

if (obj._TipoControl == "BOTON")

{

PanelBoton pbtn = (PanelBoton)arreglo[i];

contenidoArchivo = contenidoArchivo + "

net.rim.device.api.ui.component.ButtonField " + pbtn._Nombrecontrol + "= new

net.rim.device.api.ui.component.ButtonField(\"" + pbtn.TextoEtiqueta + "\");\n";

if (pbtn._AccionClick)

{

contenidoArchivo = contenidoArchivo + pbtn._FuncionClick;

}

contenidoArchivo = contenidoArchivo + " manejador1.add(" + pbtn._Nombrecontrol

+ "," + (pbtn._posX * 2).ToString() + "," + (pbtn._posY * 2).ToString() + ");\n";

}

#endregion

#region "Generacion de campo imagen"

if (obj._TipoControl == "IMAGEN")

{

PanelCampoImagen pci = (PanelCampoImagen)arreglo[i];

contenidoArchivo = contenidoArchivo +

" net.rim.device.api.system.Bitmap bitmap_" + pci._Nombrecontrol + " =

Bitmap.getBitmapResource(\"" + pci.NombreImagenVer + "\");\n" +

" int scaledX_" + pci._Nombrecontrol + " = " + (pci._ancho*2).ToString() + ";\n" +

" int scaledY_" + pci._Nombrecontrol + " = " + (pci._alto*2).ToString() + ";\n" +

" Bitmap bitmapScaled_" + pci._Nombrecontrol + " = new

Bitmap(Bitmap.ROWWISE_32BIT_ARGB8888, scaledX_" + pci._Nombrecontrol + ", scaledY_" +

pci._Nombrecontrol + ");\n" +

" bitmap_" + pci._Nombrecontrol + ".scaleInto(bitmapScaled_" +

pci._Nombrecontrol + ", Bitmap.FILTER_BILINEAR, Bitmap.SCALE_TO_FIT);\n" +

" net.rim.device.api.ui.component.BitmapField " + pci._Nombrecontrol + "= new

net.rim.device.api.ui.component.BitmapField(bitmapScaled_" + pci._Nombrecontrol +

",Field.FOCUSABLE);\n" +

//contenidoArchivo = contenidoArchivo +

" net.rim.device.api.ui.container.GridFieldManager miGrid_" + pci._Nombrecontrol

+ " = new net.rim.device.api.ui.container.GridFieldManager(1,1,0);\n" +

" miGrid_" + pci._Nombrecontrol + ".add(" + pci._Nombrecontrol + ");\n" +

" manejador1.add(miGrid_" + pci._Nombrecontrol + "," + (pci._posX *

2).ToString() + "," + (pci._posY * 2).ToString() + ");\n";

}

#endregion

#region "Generacion de campo Browser"

if (obj._TipoControl == "BROWSER")

{

Page 310: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

126

PanelBrowserField pci = (PanelBrowserField)arreglo[i];

contenidoArchivo = contenidoArchivo +

" net.rim.device.api.browser.field2.BrowserFieldConfig myBrowserFieldConfig_" +

pci._Nombrecontrol + " = new net.rim.device.api.browser.field2.BrowserFieldConfig();\n" +

" myBrowserFieldConfig_" + pci._Nombrecontrol +

".setProperty(net.rim.device.api.browser.field2.BrowserFieldConfig.NAVIGATION_MODE,net.rim.device.

api.browser.field2.BrowserFieldConfig.NAVIGATION_MODE_POINTER);\n" +

" net.rim.device.api.browser.field2.BrowserField browserField_" +

pci._Nombrecontrol + " = new net.rim.device.api.browser.field2.BrowserField(myBrowserFieldConfig_" +

pci._Nombrecontrol + ");\n" +

" add(browserField_" + pci._Nombrecontrol + ");\n" +

" browserField_" + pci._Nombrecontrol + ".requestContent(\"" + pci.UrlVisitaInicial

+ "\");\n";

}

#endregion

#region "Generacion de campos mapas "

if (obj._TipoControl == "MAPA")

{

PanelCamposMapa kl = (PanelCamposMapa)arreglo[i];

contenidoArchivo = contenidoArchivo +

" net.rim.device.api.lbs.maps.ui.MapField map_" + kl._Nombrecontrol + " = new

net.rim.device.api.lbs.maps.ui.MapField();\n" +

" net.rim.device.api.lbs.maps.ui.MapAction action_" + kl._Nombrecontrol + " =

map_" + kl._Nombrecontrol + ".getAction();\n" +

" action_" + kl._Nombrecontrol + ".setCentreAndZoom(new

net.rim.device.api.lbs.maps.model.MapPoint(43.46518, -80.52237), 3);\n" +

" add(map_" + kl._Nombrecontrol + ");\n";

}

#endregion

}

contenidoArchivo = contenidoArchivo + " this.add(manejador1);\n" +

" }\n" +

" protected boolean onSavePrompt()\n" +

" {\n" +

" return true;\n" +

" }\n";

if(this.cmbTipoFondo.Items[this.cmbTipoFondo.SelectedIndex].ToString()=="COLOR")

{

contenidoArchivo = contenidoArchivo +

" protected void paint( Graphics graphics )\n" +

" {\n" +

" graphics.setBackgroundColor( net.rim.device.api.ui.Color." +

this.txtColorSeleccionado.Text + " );\n" +

" graphics.clear();\n" +

" subpaint( graphics );\n" +

" }\n" ;

}

contenidoArchivo = contenidoArchivo +"}\n\n" + this.txtClaseManager.Text;

this.txtResultadoMovimiento.Text = contenidoArchivo;

}

else

{

MessageBox.Show("No se a diseñado ningun Objeto para la pantalla", "Sin Objetos",

MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

}

}

Page 311: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

127

catch (Exception ex) {

MessageBox.Show("Ocurrio un error " + ex.Message, "Error ", MessageBoxButtons.OK,

MessageBoxIcon.Error);

}

}

#endregion

public void crearDirectorios()

{

try

{

int indiceProyecto = 1;

bool continua = true;

if (!Directory.Exists("C:\\FuentesDesarrolladosTHWPR"))

{

Directory.CreateDirectory("C:\\FuentesDesarrolladosTHWPR");

}

do

{

if (!Directory.Exists("C:\\FuentesDesarrolladosTHWPR\\Proyecto" +

indiceProyecto.ToString()))

{

Directory.CreateDirectory("C:\\FuentesDesarrolladosTHWPR\\Proyecto" +

indiceProyecto.ToString());

continua = false;

}

else

{

indiceProyecto++;

continua = true;

}

} while (continua);

if (!Directory.Exists("C:\\FuentesDesarrolladosTHWPR\\Proyecto" + indiceProyecto + "\\src"))

{

Directory.CreateDirectory("C:\\FuentesDesarrolladosTHWPR\\Proyecto" + indiceProyecto

+"\\src");

}

if (!Directory.Exists("C:\\FuentesDesarrolladosTHWPR\\Proyecto" + indiceProyecto +

"\\res\\img"))

{

Directory.CreateDirectory("C:\\FuentesDesarrolladosTHWPR\\Proyecto" + indiceProyecto +

"\\res\\img");

}

_DirectorioJava = "C:\\FuentesDesarrolladosTHWPR\\Proyecto" + indiceProyecto + "\\src";

#region Creacion de Plantillas

if (!System.IO.Directory.Exists("C:\\FuentesDesarrolladosTHWPR\\Plantillas"))

{

System.IO.Directory.CreateDirectory("C:\\FuentesDesarrolladosTHWPR\\Plantillas\\.preprossed");

System.IO.Directory.CreateDirectory("C:\\FuentesDesarrolladosTHWPR\\Plantillas\\.settings");

}

System.IO.File.Copy(Application.StartupPath.ToString() + "\\Plantillas\\.classpath",

"C:\\FuentesDesarrolladosTHWPR\\Plantillas\\.classpath", true);

Page 312: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

128

System.IO.File.Copy(Application.StartupPath.ToString() +

"\\Plantillas\\BlackBerry_App_Descriptor.xml",

"C:\\FuentesDesarrolladosTHWPR\\Plantillas\\BlackBerry_App_Descriptor.xml", true);

System.IO.File.Copy(Application.StartupPath.ToString() + "\\Plantillas\\.project",

"C:\\FuentesDesarrolladosTHWPR\\Plantillas\\.project", true);

System.IO.File.Copy(Application.StartupPath.ToString() +

"\\Plantillas\\.settings\\org.eclipse.jdt.core.prefs",

"C:\\FuentesDesarrolladosTHWPR\\Plantillas\\.settings\\org.eclipse.jdt.core.prefs", true);

System.IO.File.Copy(Application.StartupPath.ToString() + "\\Plantillas\\IconApp.png",

"C:\\FuentesDesarrolladosTHWPR\\Plantillas\\IconApp.png", true);

#endregion

System.IO.File.Copy("C:\\FuentesDesarrolladosTHWPR\\Plantillas\\IconApp.png",

"C:\\FuentesDesarrolladosTHWPR\\Proyecto" + indiceProyecto + "\\res\\img\\IconApp.png", true);

this.txtNombreSolucion.Text = this.txtNombreSolucion.Text + indiceProyecto;

}

catch (Exception ex) {

MessageBox.Show("Se genero un Error al Crear Directorios " + ex.Message, "Error Creacion",

MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

}

public void creaArchivoJava()

{

try

{

//crearDirectorios();

_NombreJava = "Clase1" + ".java";

if(System.IO.File.Exists(_DirectorioJava + "\\" + _NombreJava)){

System.IO.File.Delete(_DirectorioJava + "\\" + _NombreJava);

}

System.IO.StreamWriter la_archivoSalida = new System.IO.StreamWriter(_DirectorioJava + "\\"

+ _NombreJava, true);

la_archivoSalida.WriteLine(this.txtResultadoMovimiento.Text);

la_archivoSalida.Close();

}

catch (Exception ex) {

MessageBox.Show("Se genero un Error al crear el archivo java " + ex.Message, "Error Creacion",

MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

}

private void cmbTipoFondo_SelectedIndexChanged(object sender, EventArgs e)

{

if (this.cmbTipoFondo.SelectedIndex > -1)

{

if (this.cmbTipoFondo.Items[this.cmbTipoFondo.SelectedIndex].ToString() == "COLOR")

{

this.pnlSeleccionarColor.Visible = true;

this.pnlBuscarImgFondo.Visible = false;

}

if (this.cmbTipoFondo.Items[this.cmbTipoFondo.SelectedIndex].ToString() == "IMAGEN")

{

this.pnlSeleccionarColor.Visible = false;

this.pnlBuscarImgFondo.Visible = true;

}

Page 313: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

129

if (this.cmbTipoFondo.Items[this.cmbTipoFondo.SelectedIndex].ToString() == "NINGUNO")

{

this.pnlSeleccionarColor.Visible = false;

this.pnlBuscarImgFondo.Visible = false;

this.panel1.BackgroundImage = null;

this.panel1.BackColor = Color.White;

}

}

}

private void button9_Click(object sender, EventArgs e)

{

VentanaColores clrs = new VentanaColores();

clrs.ShowDialog();

this.txtColorSeleccionado.Text = clrs.ColorSeleccionado;

this.panel1.BackColor = clrs.colorClick;

}

public void extraerFicherBinJava(ref string carpeta,ref string dirArchivoJar)

{

try

{

string[] directorios = Directory.GetDirectories("C:\\Program Files\\Java");

for (int i = 0; i < directorios.Length; i++)

{

if (directorios[i].Replace("C:\\Program Files\\Java\\", "").Substring(0, 3).ToLower() == "jdk")

{

if (directorios[i].Replace("C:\\Program Files\\Java\\", "").Substring(0, 6).ToLower() ==

"jdk1.7")

{

carpeta = directorios[i];

}

}

}

dirArchivoJar = Application.StartupPath.ToString() + "\\LibreriasRIM\\";

}

catch (Exception ex) {

MessageBox.Show("Se genero un error de consulta de bin de java " + ex.Message, "Error

Creacion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

}

private void button1_Click_3(object sender, EventArgs e)

{

creaArchivoJava();

string res = "Archivo compilado exitosamente";

string dirJava = "",dirJarRIM="";

extraerFicherBinJava(ref dirJava, ref dirJarRIM);

System.Diagnostics.Process proc = new System.Diagnostics.Process();

proc.EnableRaisingEvents = false;

proc.StartInfo.FileName = "\"" + dirJava + "\\bin\\javac\"";

proc.StartInfo.Arguments = " -Xlint:unchecked -classpath \".\\;" + dirJarRIM + "net_rim_api.jar\" \""

+ _DirectorioJava + "\\" + _NombreJava + "\"";

proc.StartInfo.RedirectStandardInput = true;

proc.StartInfo.RedirectStandardOutput = true;

proc.StartInfo.RedirectStandardError = true;

proc.StartInfo.CreateNoWindow = true;

Page 314: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

130

proc.StartInfo.UseShellExecute = false;

proc.Start();

//System.IO.StreamReader myOutput = proc.StandardOutput;

proc.BeginOutputReadLine();

res = proc.StandardError.ReadToEnd();

proc.WaitForExit();

if(res.Length <= 0){

this.txtResultadoMovimiento.Text = "Archivo compilado exitosamente";

}

else{

int posError = -1;

posError = res.ToUpper().IndexOf("ERROR");

if (posError > -1)

{

this.txtResultadoMovimiento.Text = "Archivo compilado con Errores \n" + res;

}

else

{

this.txtResultadoMovimiento.Text = "Archivo compilado con Advertencias \n" + res;

}

}

}

private void button3_Click_2(object sender, EventArgs e)

{

if (indiceSeleccionado > -1)

{

arreglo.RemoveAt(indiceSeleccionado);

pnlSeleccionado.Visible = false;

indiceSeleccionado = -1;

}

}

private void button4_Click_1(object sender, EventArgs e)

{

}

private void button2_Click_2(object sender, EventArgs e)

{

PanelEtiqueta pnl = new PanelEtiqueta("Texto etiqueta");

aumentaPanel(pnl,pnl._ancho,pnl._alto);

AsignaNombre();

}

private void button6_Click_1(object sender, EventArgs e)

{

}

private void button7_Click_1(object sender, EventArgs e)

{

try

{

if (arreglo.Count <= 0)

{

Page 315: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

131

}

else

{

ObjetoBase objb = (ObjetoBase)arreglo[indiceSeleccionado];

if (objb._TipoControl == "BOTON")

{

string textoAccion = "";

PanelBoton pbtn = (PanelBoton)arreglo[indiceSeleccionado];

if (pbtn._FuncionClick.Length > 0)

{

textoAccion = pbtn._FuncionClick;

}

else

{

textoAccion =

" " + pbtn._Nombrecontrol + ".setChangeListener(new

net.rim.device.api.ui.FieldChangeListener() {\n" +

" public void fieldChanged( net.rim.device.api.ui.Field field, int

context) {\n" +

" net.rim.device.api.ui.component.Dialog.alert(\"Accion en " +

pbtn._Nombrecontrol + "\");\n" +

" }\n" +

" });\n";

}

DialogoAccionBoton dlg = new DialogoAccionBoton();

dlg.contenidoT = textoAccion;

DialogResult dr = dlg.ShowDialog();

pbtn._AccionClick = true;

pbtn._FuncionClick = dlg.contenidoT;

}

}

}

catch (Exception ex)

{

MessageBox.Show("No se a seleccionado ningun boton para la accion", "Sin Objetos",

MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

}

private void button8_Click(object sender, EventArgs e)

{

try

{

opfdImagen.Filter = "Imagenes Ligeras (*.jpg)|*.jpg|Mapas de Bits(*.bmp)|*.bmp|Imagenes

Web(*.gif)|*.gif";

opfdImagen.ShowDialog();

string pathImagen = opfdImagen.FileName;

string nombreArchivo = "";

string nombreDirectorio = "";

separaDirArchivo(pathImagen, ref nombreDirectorio, ref nombreArchivo);

nombreImagenFondo = nombreArchivo;

this.txtImagenSeleccionada.Text = nombreImagenFondo;

/*if(File.Exists("C:\\FuentesDesarrolladosTHWPR\\Proyecto\\res\\" + nombreArchivo)){

File.Delete("C:\\FuentesDesarrolladosTHWPR\\Proyecto\\res\\" + nombreArchivo);

}

File.Copy(pathImagen, "C:\\FuentesDesarrolladosTHWPR\\Proyecto\\res\\" + nombreArchivo);

Page 316: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

132

Image img1 = Image.FromFile("C:\\FuentesDesarrolladosTHWPR\\Proyecto\\res\\" +

nombreArchivo);*/

if (File.Exists(_DirectorioJava.Replace("\\src","\\res\\") + nombreArchivo))

{

File.Delete(_DirectorioJava.Replace("\\src", "\\res\\") + nombreArchivo);

}

File.Copy(pathImagen, _DirectorioJava.Replace("\\src", "\\res\\") + nombreArchivo);

Image img1 = Image.FromFile(_DirectorioJava.Replace("\\src", "\\res\\") + nombreArchivo);

this.panel1.BackgroundImage =

CambiarTamanoImagen(img1,this.panel1.Width,this.panel1.Height);

}

catch (Exception ex) {

MessageBox.Show("no se pudo copiar la imagen seleccionada " + ex.Message, "Sin Objetos",

MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

}

public Image CambiarTamanoImagen(Image pImagen, int pAncho, int pAlto)

{

//creamos un bitmap con el nuevo tamaño

Bitmap vBitmap = new Bitmap(pAncho, pAlto);

//creamos un graphics tomando como base el nuevo Bitmap

using (Graphics vGraphics = Graphics.FromImage((Image)vBitmap))

{

//especificamos el tipo de transformación, se escoge esta para no perder calidad.

vGraphics.InterpolationMode = InterpolationMode.HighQualityBicubic;

//Se dibuja la nueva imagen

vGraphics.DrawImage(pImagen, 0, 0, pAncho, pAlto);

}

//retornamos la nueva imagen

return (Image)vBitmap;

}

public void separaDirArchivo(string pathBase, ref string directorio, ref string archivo)

{

char[] arregloPath = pathBase.ToCharArray();

int posFinalBackSlash = 0;

for (int i = 0; i < arregloPath.Length; i++)

{

if(arregloPath[i] == '\\'){

posFinalBackSlash = i;

}

}

directorio = pathBase.Substring(0, posFinalBackSlash + 1);

archivo = pathBase.Substring(posFinalBackSlash + 1, (pathBase.Length - directorio.Length) );

}

private void txtTituloPantalla_TextChanged(object sender, EventArgs e)

{

this.lblTituloPantalla.Text = this.txtTituloPantalla.Text;

}

#region asigna propiedades visibles

public void llenaPropiedades(object objetoPropiedades)

{

Page 317: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

133

try

{

ObjetoBase obj1 = (ObjetoBase)objetoPropiedades;

cambiaTexto = false;

this.txtTextoEtiquetaBB.Text = "";

this.comboBox1.Text = ""; ;

this.comboBox2.Text="";

this.cmbTamanioFuenteBB.Text="";

this.comboBox1.SelectedText = "";

this.comboBox2.SelectedText = "";

cambiaTexto = true;

this.cmbTamanioFuenteBB.SelectedText = "";

this.pnlImagenControl.Top = 123;

this.pnlImagenControl.Left = 5;

this.pnlImagenControl.Visible = false;

this.pnlItemsComboBox.Top = 239;

this.pnlItemsComboBox.Left = 5;

this.pnlItemsComboBox.Visible = false;

this.pnlValoresComboNum.Top = 239;

this.pnlValoresComboNum.Left = 5;

this.pnlValoresComboNum.Visible = false;

this.pnlDimensiones.Top= 73;

this.pnlDimensiones.Left= 6;

this.pnlDimensiones.Visible=false;

this.pnlFuentes.Visible = false;

this.pnlColorControles.Visible = true;

this.btnAccionBotonVarios.Visible = false;

switch (obj1._TipoControl)

{

#region propiedades Etiqueta

case "ETIQUETA":

PanelEtiqueta pe = (PanelEtiqueta)obj1;

this.txtNombreEtiquetaBB.Text = pe._Nombrecontrol;

this.txtTextoEtiquetaBB.Text = pe._Texto;

this.pnlFuentes.Visible = true;

if (pe.lb_poseeEstilo)

{

for (int i = 0; i < this.comboBox2.Items.Count; i++)

{

if (this.comboBox2.Items[i].ToString() == pe._NombreEstiloTexto)

{

this.comboBox2.SelectedIndex = i;

}

}

}

if(pe.lb_poseeOtraFamiliaTexto)

{

for (int i = 0; i < this.comboBox1.Items.Count; i++)

{

if (this.comboBox1.Items[i].ToString() == pe._NombreFamiliaTexto)

{

this.comboBox1.SelectedIndex = i;

}

}

}

if (pe.lb_otrotamanioTexto)

{

Page 318: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

134

for (int i = 0; i < this.cmbTamanioFuenteBB.Items.Count; i++)

{

if (this.cmbTamanioFuenteBB.Items[i].ToString() == pe._TamanioTexto)

{

this.cmbTamanioFuenteBB.SelectedIndex = i;

}

}

}

if (pe.poseeColorTextop)

{

this.txtColorFuenteEtiquetaBB.Text = "";

this.txtColorFuenteEtiquetaBB.Text = pe.ColorEtiqueta.Name;

}

if (pe.poseeColorfondo)

{

this.txtColorFodoEtiquetaBB.Text = "";

this.txtColorFodoEtiquetaBB.Text = pe.ColorFondo.Name;

}

break;

#endregion

#region propiedades caja de texto

case "CAJATEXTO":

PanelCajatexto pct = (PanelCajatexto)obj1;

this.txtNombreEtiquetaBB.Text = pct._Nombrecontrol;

this.pnlFuentes.Visible = true;

//this.txtTextoEtiquetaBB.Text = "";

//this.comboBox1.SelectedText = "";

//this.comboBox2.SelectedText = "";

//this.cmbTamanioFuenteBB.SelectedText = "";

if (pct.lb_poseeEstilo)

{

for (int i = 0; i < this.comboBox2.Items.Count; i++)

{

if (this.comboBox2.Items[i].ToString() == pct._NombreEstiloTexto)

{

this.comboBox2.SelectedIndex = i;

}

}

}

if(pct.lb_poseeOtraFamiliaTexto)

{

for (int i = 0; i < this.comboBox1.Items.Count; i++)

{

if (this.comboBox1.Items[i].ToString() == pct._NombreFamiliaTexto)

{

this.comboBox1.SelectedIndex = i;

}

}

}

if (pct.lb_otrotamanioTexto)

{

for (int i = 0; i < this.cmbTamanioFuenteBB.Items.Count; i++)

{

if (this.cmbTamanioFuenteBB.Items[i].ToString() == pct._TamanioTexto)

{

this.cmbTamanioFuenteBB.SelectedIndex = i;

Page 319: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

135

}

}

}

if (pct.poseeColorTextop)

{

this.txtColorFuenteEtiquetaBB.Text = "";

this.txtColorFuenteEtiquetaBB.Text = pct.ColorEtiqueta.Name;

}

if (pct.poseeColorfondo)

{

this.txtColorFodoEtiquetaBB.Text = "";

this.txtColorFodoEtiquetaBB.Text = pct.ColorFondo.Name;

}

break;

#endregion

#region propiedades cata texto lectura

case "RICHTEXTBOX":

this.pnlFuentes.Visible = true;

PanelRichTextBox prtb = (PanelRichTextBox)obj1;

this.txtNombreEtiquetaBB.Text = prtb._Nombrecontrol;

this.txtTextoEtiquetaBB.Text = prtb._Texto;

if (prtb.lb_poseeEstilo)

{

for (int i = 0; i < this.comboBox2.Items.Count; i++)

{

if (this.comboBox2.Items[i].ToString() == prtb._NombreEstiloTexto)

{

this.comboBox2.SelectedIndex = i;

}

}

}

if (prtb.lb_poseeOtraFamiliaTexto)

{

for (int i = 0; i < this.comboBox1.Items.Count; i++)

{

if (this.comboBox1.Items[i].ToString() == prtb._NombreFamiliaTexto)

{

this.comboBox1.SelectedIndex = i;

}

}

}

if (prtb.lb_otrotamanioTexto)

{

for (int i = 0; i < this.cmbTamanioFuenteBB.Items.Count; i++)

{

if (this.cmbTamanioFuenteBB.Items[i].ToString() == prtb._TamanioTexto)

{

this.cmbTamanioFuenteBB.SelectedIndex = i;

}

}

}

if (prtb.poseeColorTextop)

{

this.txtColorFuenteEtiquetaBB.Text = "";

this.txtColorFuenteEtiquetaBB.Text = prtb.ColorEtiqueta.Name;

}

Page 320: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

136

if (prtb.poseeColorfondo)

{

this.txtColorFodoEtiquetaBB.Text = "";

this.txtColorFodoEtiquetaBB.Text = prtb.ColorFondo.Name;

}

break;

#endregion

#region propiedades boton

case "BOTON":

PanelBoton pb = (PanelBoton)obj1;

this.txtNombreEtiquetaBB.Text = pb._Nombrecontrol;

this.txtTextoEtiquetaBB.Text = pb._Texto;

this.btnAccionBotonVarios.Top = 53;//239;

this.btnAccionBotonVarios.Visible = true;

break;

#endregion

#region propiedades password

case "PASSWORD":

PanelPassword ppw = (PanelPassword)obj1;

this.txtNombreEtiquetaBB.Text = ppw._Nombrecontrol;

if (ppw.lb_poseeEstilo)

{

for (int i = 0; i < this.comboBox2.Items.Count; i++)

{

if (this.comboBox2.Items[i].ToString() == ppw._NombreEstiloTexto)

{

this.comboBox2.SelectedIndex = i;

}

}

}

if (ppw.lb_poseeOtraFamiliaTexto)

{

for (int i = 0; i < this.comboBox1.Items.Count; i++)

{

if (this.comboBox1.Items[i].ToString() == ppw._NombreFamiliaTexto)

{

this.comboBox1.SelectedIndex = i;

}

}

}

if (ppw.lb_otrotamanioTexto)

{

for (int i = 0; i < this.cmbTamanioFuenteBB.Items.Count; i++)

{

if (this.cmbTamanioFuenteBB.Items[i].ToString() == ppw._TamanioTexto)

{

this.cmbTamanioFuenteBB.SelectedIndex = i;

}

}

}

if (ppw.poseeColorTextop)

{

this.txtColorFuenteEtiquetaBB.Text = "";

this.txtColorFuenteEtiquetaBB.Text = ppw.ColorEtiqueta.Name;

}

Page 321: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

137

if (ppw.poseeColorfondo)

{

this.txtColorFodoEtiquetaBB.Text = "";

this.txtColorFodoEtiquetaBB.Text = ppw.ColorFondo.Name;

}

break;

#endregion

#region propiedades EMAIL

case "EMAIL":

this.pnlFuentes.Visible = true;

PanelEmail pem = (PanelEmail)obj1;

this.txtNombreEtiquetaBB.Text = pem._Nombrecontrol;

if (pem.lb_poseeEstilo)

{

for (int i = 0; i < this.comboBox2.Items.Count; i++)

{

if (this.comboBox2.Items[i].ToString() == pem._NombreEstiloTexto)

{

this.comboBox2.SelectedIndex = i;

}

}

}

if (pem.lb_poseeOtraFamiliaTexto)

{

for (int i = 0; i < this.comboBox1.Items.Count; i++)

{

if (this.comboBox1.Items[i].ToString() == pem._NombreFamiliaTexto)

{

this.comboBox1.SelectedIndex = i;

}

}

}

if (pem.lb_otrotamanioTexto)

{

for (int i = 0; i < this.cmbTamanioFuenteBB.Items.Count; i++)

{

if (this.cmbTamanioFuenteBB.Items[i].ToString() == pem._TamanioTexto)

{

this.cmbTamanioFuenteBB.SelectedIndex = i;

}

}

}

if (pem.poseeColorTextop)

{

this.txtColorFuenteEtiquetaBB.Text = "";

this.txtColorFuenteEtiquetaBB.Text = pem.ColorEtiqueta.Name;

}

if (pem.poseeColorfondo)

{

this.txtColorFodoEtiquetaBB.Text = "";

this.txtColorFodoEtiquetaBB.Text = pem.ColorFondo.Name;

}

break;

#endregion

#region propiedades TEXTOAUTOCOMPLETAR

case "TEXTOAUTOCOMPLETAR":

Page 322: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

138

this.pnlFuentes.Visible = true;

pnlItemsComboBox.Visible = true;

pnlItemsComboBox.Top = 53;

pnlItemsComboBox.Left = 310;

PanelTextoAutocompletar pac = (PanelTextoAutocompletar)obj1;

this.txtNombreEtiquetaBB.Text = pac._Nombrecontrol;

if (pac.lb_poseeEstilo)

{

for (int i = 0; i < this.comboBox2.Items.Count; i++)

{

if (this.comboBox2.Items[i].ToString() == pac._NombreEstiloTexto)

{

this.comboBox2.SelectedIndex = i;

}

}

}

if (pac.lb_poseeOtraFamiliaTexto)

{

for (int i = 0; i < this.comboBox1.Items.Count; i++)

{

if (this.comboBox1.Items[i].ToString() == pac._NombreFamiliaTexto)

{

this.comboBox1.SelectedIndex = i;

}

}

}

if (pac.lb_otrotamanioTexto)

{

for (int i = 0; i < this.cmbTamanioFuenteBB.Items.Count; i++)

{

if (this.cmbTamanioFuenteBB.Items[i].ToString() == pac._TamanioTexto)

{

this.cmbTamanioFuenteBB.SelectedIndex = i;

}

}

}

if (pac.poseeColorTextop)

{

this.txtColorFuenteEtiquetaBB.Text = "";

this.txtColorFuenteEtiquetaBB.Text = pac.ColorEtiqueta.Name;

}

if (pac.poseeColorfondo)

{

this.txtColorFodoEtiquetaBB.Text = "";

this.txtColorFodoEtiquetaBB.Text = pac.ColorFondo.Name;

}

break;

#endregion

#region propiedades CAJATEXTOAUTOCORREGIR

case "CAJATEXTOAUTOCORREGIR":

this.pnlFuentes.Visible = true;

PanelTextoAutocorregir paco = (PanelTextoAutocorregir)obj1;

this.txtNombreEtiquetaBB.Text = paco._Nombrecontrol;

if (paco.lb_poseeEstilo)

{

Page 323: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

139

for (int i = 0; i < this.comboBox2.Items.Count; i++)

{

if (this.comboBox2.Items[i].ToString() == paco._NombreEstiloTexto)

{

this.comboBox2.SelectedIndex = i;

}

}

}

if (paco.lb_poseeOtraFamiliaTexto)

{

for (int i = 0; i < this.comboBox1.Items.Count; i++)

{

if (this.comboBox1.Items[i].ToString() == paco._NombreFamiliaTexto)

{

this.comboBox1.SelectedIndex = i;

}

}

}

if (paco.lb_otrotamanioTexto)

{

for (int i = 0; i < this.cmbTamanioFuenteBB.Items.Count; i++)

{

if (this.cmbTamanioFuenteBB.Items[i].ToString() == paco._TamanioTexto)

{

this.cmbTamanioFuenteBB.SelectedIndex = i;

}

}

}

if (paco.poseeColorTextop)

{

this.txtColorFuenteEtiquetaBB.Text = "";

this.txtColorFuenteEtiquetaBB.Text = paco.ColorEtiqueta.Name;

}

if (paco.poseeColorfondo)

{

this.txtColorFodoEtiquetaBB.Text = "";

this.txtColorFodoEtiquetaBB.Text = paco.ColorFondo.Name;

}

break;

#endregion

#region propiedades TEXTOAUTOCOMPLETAR_

case "TEXTOAUTOCOMPLETAR_":

this.pnlFuentes.Visible = true;

PanelAutoCompletar pacom = (PanelAutoCompletar)obj1;

this.txtNombreEtiquetaBB.Text = pacom._Nombrecontrol;

if (pacom.lb_poseeEstilo)

{

for (int i = 0; i < this.comboBox2.Items.Count; i++)

{

if (this.comboBox2.Items[i].ToString() == pacom._NombreEstiloTexto)

{

this.comboBox2.SelectedIndex = i;

}

}

}

if (pacom.lb_poseeOtraFamiliaTexto)

Page 324: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

140

{

for (int i = 0; i < this.comboBox1.Items.Count; i++)

{

if (this.comboBox1.Items[i].ToString() == pacom._NombreFamiliaTexto)

{

this.comboBox1.SelectedIndex = i;

}

}

}

if (pacom.lb_otrotamanioTexto)

{

for (int i = 0; i < this.cmbTamanioFuenteBB.Items.Count; i++)

{

if (this.cmbTamanioFuenteBB.Items[i].ToString() == pacom._TamanioTexto)

{

this.cmbTamanioFuenteBB.SelectedIndex = i;

}

}

}

if (pacom.poseeColorTextop)

{

this.txtColorFuenteEtiquetaBB.Text = "";

this.txtColorFuenteEtiquetaBB.Text = pacom.ColorEtiqueta.Name;

}

if (pacom.poseeColorfondo)

{

this.txtColorFodoEtiquetaBB.Text = "";

this.txtColorFodoEtiquetaBB.Text = pacom.ColorFondo.Name;

}

break;

#endregion

#region propiedades CHECKBOX

case "CHECKBOX":

this.pnlFuentes.Visible = true;

PanelCheckBox pchb = (PanelCheckBox)obj1;

this.txtNombreEtiquetaBB.Text = pchb._Nombrecontrol;

this.txtTextoEtiquetaBB.Text = pchb._Texto;

//this.comboBox1.SelectedText = "";

//this.comboBox2.SelectedText = "";

//this.cmbTamanioFuenteBB.SelectedText = "";

if (pchb.lb_poseeEstilo)

{

for (int i = 0; i < this.comboBox2.Items.Count; i++)

{

if (this.comboBox2.Items[i].ToString() == pchb._NombreEstiloTexto)

{

this.comboBox2.SelectedIndex = i;

}

}

}

if (pchb.lb_poseeOtraFamiliaTexto)

{

for (int i = 0; i < this.comboBox1.Items.Count; i++)

{

if (this.comboBox1.Items[i].ToString() == pchb._NombreFamiliaTexto)

{

Page 325: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

141

this.comboBox1.SelectedIndex = i;

}

}

}

if (pchb.lb_otrotamanioTexto)

{

for (int i = 0; i < this.cmbTamanioFuenteBB.Items.Count; i++)

{

if (this.cmbTamanioFuenteBB.Items[i].ToString() == pchb._TamanioTexto)

{

this.cmbTamanioFuenteBB.SelectedIndex = i;

}

}

}

if (pchb.poseeColorTextop)

{

this.txtColorFuenteEtiquetaBB.Text = "";

this.txtColorFuenteEtiquetaBB.Text = pchb.ColorEtiqueta.Name;

}

if (pchb.poseeColorfondo)

{

this.txtColorFodoEtiquetaBB.Text = "";

this.txtColorFodoEtiquetaBB.Text = pchb.ColorFondo.Name;

}

break;

#endregion

#region propiedades COMBOBOX

case "COMBOBOX":

this.pnlFuentes.Visible = true;

this.pnlItemsComboBox.Visible = true;

this.pnlItemsComboBox.Top = 53;

this.pnlItemsComboBox.Left = 310;

PanelComboBox pcb = (PanelComboBox)obj1;

this.txtNombreEtiquetaBB.Text = pcb._Nombrecontrol;

//this.txtTextoEtiquetaBB.Text = "";

//this.comboBox1.SelectedText = "";

//this.comboBox2.SelectedText = "";

//this.cmbTamanioFuenteBB.SelectedText = "";

if (pcb.lb_poseeEstilo)

{

for (int i = 0; i < this.comboBox2.Items.Count; i++)

{

if (this.comboBox2.Items[i].ToString() == pcb._NombreEstiloTexto)

{

this.comboBox2.SelectedIndex = i;

}

}

}

if(pcb.lb_poseeOtraFamiliaTexto)

{

for (int i = 0; i < this.comboBox1.Items.Count; i++)

{

if (this.comboBox1.Items[i].ToString() == pcb._NombreFamiliaTexto)

{

this.comboBox1.SelectedIndex = i;

}

Page 326: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

142

}

}

if (pcb.lb_otrotamanioTexto)

{

for (int i = 0; i < this.cmbTamanioFuenteBB.Items.Count; i++)

{

if (this.cmbTamanioFuenteBB.Items[i].ToString() == pcb._TamanioTexto)

{

this.cmbTamanioFuenteBB.SelectedIndex = i;

}

}

}

if (pcb.poseeColorTextop)

{

this.txtColorFuenteEtiquetaBB.Text = "";

this.txtColorFuenteEtiquetaBB.Text = pcb.ColorEtiqueta.Name;

}

if (pcb.poseeColorfondo)

{

this.txtColorFodoEtiquetaBB.Text = "";

this.txtColorFodoEtiquetaBB.Text = pcb.ColorFondo.Name;

}

try

{

this.txtContenidoCombo.Text = "";

string contTempItems = "";

for (int i = 0; i < pcb.Contenido.Length; i++)

{

contTempItems = contTempItems + pcb.Contenido.GetValue(i).ToString() +

Encoding.ASCII.GetString(new byte[] { (byte)13 }).ToString() + Encoding.ASCII.GetString(new byte[] {

(byte)10 }).ToString();

}

this.txtContenidoCombo.Text = contTempItems;

}

catch (Exception ex) { }

break;

#endregion

#region propiedades COMBOBOXNUMERICO

case "COMBOBOXNUMERICO":

this.pnlFuentes.Visible = true;

this.pnlValoresComboNum.Visible = true;

this.pnlValoresComboNum.Top=197;

this.pnlValoresComboNum.Left = 6;

PanelComboBoxNumerico pcbn = (PanelComboBoxNumerico)obj1;

this.txtNombreEtiquetaBB.Text = pcbn._Nombrecontrol;

//this.txtTextoEtiquetaBB.Text = "";

//this.comboBox1.SelectedText = "";

//this.comboBox2.SelectedText = "";

//this.cmbTamanioFuenteBB.SelectedText = "";

if (pcbn.lb_poseeEstilo)

{

for (int i = 0; i < this.comboBox2.Items.Count; i++)

{

if (this.comboBox2.Items[i].ToString() == pcbn._NombreEstiloTexto)

{

this.comboBox2.SelectedIndex = i;

Page 327: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

143

}

}

}

if(pcbn.lb_poseeOtraFamiliaTexto)

{

for (int i = 0; i < this.comboBox1.Items.Count; i++)

{

if (this.comboBox1.Items[i].ToString() == pcbn._NombreFamiliaTexto)

{

this.comboBox1.SelectedIndex = i;

}

}

}

if (pcbn.lb_otrotamanioTexto)

{

for (int i = 0; i < this.cmbTamanioFuenteBB.Items.Count; i++)

{

if (this.cmbTamanioFuenteBB.Items[i].ToString() == pcbn._TamanioTexto)

{

this.cmbTamanioFuenteBB.SelectedIndex = i;

}

}

}

if (pcbn.poseeColorTextop)

{

this.txtColorFuenteEtiquetaBB.Text = "";

this.txtColorFuenteEtiquetaBB.Text = pcbn.ColorEtiqueta.Name;

}

if (pcbn.poseeColorfondo)

{

this.txtColorFodoEtiquetaBB.Text = "";

this.txtColorFodoEtiquetaBB.Text = pcbn.ColorFondo.Name;

}

this.txtMinimo.Text = pcbn.indiceInicio.ToString();

this.txtComienzo.Text = pcbn.comienzo.ToString();

this.txtIncremento.Text = pcbn.incremento.ToString();

this.txtMaximo.Text = pcbn.indiceFinal.ToString();

break;

#endregion

#region propiedades CAMPOFECHA

case "CAMPOFECHA":

PanelCampoFecha pcf = (PanelCampoFecha)obj1;

this.txtNombreEtiquetaBB.Text = pcf._Nombrecontrol;

//this.txtTextoEtiquetaBB.Text = "";

//this.comboBox1.SelectedText = "";

//this.comboBox2.SelectedText = "";

//this.cmbTamanioFuenteBB.SelectedText = "";

if (pcf.lb_poseeEstilo)

{

for (int i = 0; i < this.comboBox2.Items.Count; i++)

{

if (this.comboBox2.Items[i].ToString() == pcf._NombreEstiloTexto)

{

this.comboBox2.SelectedIndex = i;

}

}

Page 328: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

144

}

if(pcf.lb_poseeOtraFamiliaTexto)

{

for (int i = 0; i < this.comboBox1.Items.Count; i++)

{

if (this.comboBox1.Items[i].ToString() == pcf._NombreFamiliaTexto)

{

this.comboBox1.SelectedIndex = i;

}

}

}

if (pcf.lb_otrotamanioTexto)

{

for (int i = 0; i < this.cmbTamanioFuenteBB.Items.Count; i++)

{

if (this.cmbTamanioFuenteBB.Items[i].ToString() == pcf._TamanioTexto)

{

this.cmbTamanioFuenteBB.SelectedIndex = i;

}

}

}

if (pcf.poseeColorTextop)

{

this.txtColorFuenteEtiquetaBB.Text = "";

this.txtColorFuenteEtiquetaBB.Text = pcf.ColorEtiqueta.Name;

}

if (pcf.poseeColorfondo)

{

this.txtColorFodoEtiquetaBB.Text = "";

this.txtColorFodoEtiquetaBB.Text = pcf.ColorFondo.Name;

}

break;

#endregion

#region propiedades OPCION

case "OPCION":

this.pnlFuentes.Visible = true;

PanelCampoOpcion pco = (PanelCampoOpcion)obj1;

this.txtNombreEtiquetaBB.Text = pco._Nombrecontrol;

this.txtTextoEtiquetaBB.Text = pco._Texto;

//this.comboBox1.SelectedText = "";

//this.comboBox2.SelectedText = "";

//this.cmbTamanioFuenteBB.SelectedText = "";

if (pco.lb_poseeEstilo)

{

for (int i = 0; i < this.comboBox2.Items.Count; i++)

{

if (this.comboBox2.Items[i].ToString() == pco._NombreEstiloTexto)

{

this.comboBox2.SelectedIndex = i;

}

}

}

if (pco.lb_poseeOtraFamiliaTexto)

{

for (int i = 0; i < this.comboBox1.Items.Count; i++)

{

Page 329: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

145

if (this.comboBox1.Items[i].ToString() == pco._NombreFamiliaTexto)

{

this.comboBox1.SelectedIndex = i;

}

}

}

if (pco.lb_otrotamanioTexto)

{

for (int i = 0; i < this.cmbTamanioFuenteBB.Items.Count; i++)

{

if (this.cmbTamanioFuenteBB.Items[i].ToString() == pco._TamanioTexto)

{

this.cmbTamanioFuenteBB.SelectedIndex = i;

}

}

}

if (pco.poseeColorTextop)

{

this.txtColorFuenteEtiquetaBB.Text = "";

this.txtColorFuenteEtiquetaBB.Text = pco.ColorEtiqueta.Name;

}

if (pco.poseeColorfondo)

{

this.txtColorFodoEtiquetaBB.Text = "";

this.txtColorFodoEtiquetaBB.Text = pco.ColorFondo.Name;

}

break;

#endregion

#region propiedades IMAGEN

case "IMAGEN":

PanelCampoImagen pci = (PanelCampoImagen)obj1;

this.txtNombreEtiquetaBB.Text = pci._Nombrecontrol;

this.pnlFuentes.Visible = false;

this.pnlColorControles.Visible = false;

this.txtAncho.Text = pci._ancho.ToString();

this.txtAlto.Text = pci._alto.ToString();

this.pnlDimensiones.Visible=true;

this.pnlImagenControl.Visible = true;

break;

#endregion

#region propiedades BROWSER

case "BROWSER":

PanelBrowserField pbw = (PanelBrowserField)obj1;

this.txtNombreEtiquetaBB.Text = pbw._Nombrecontrol;

this.pnlFuentes.Visible = false;

this.pnlColorControles.Visible = false;

break;

#endregion

#region propiedades MAPA

case "MAPA":

PanelCamposMapa pm = (PanelCamposMapa)obj1;

this.txtNombreEtiquetaBB.Text = pm._Nombrecontrol;

this.pnlFuentes.Visible = false;

this.pnlColorControles.Visible = false;

break;

#endregion

}

Page 330: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

146

}

catch (Exception ex) {

MessageBox.Show("Error " + ex.Message, "Error", MessageBoxButtons.OK,

MessageBoxIcon.Error);

}

}

#endregion

#region cambia nombre controles

private void txtNombreEtiquetaBB_TextChanged(object sender, EventArgs e)

{

ObjetoBase obj = (ObjetoBase)arreglo[indiceSeleccionado];

switch (obj._TipoControl)

{

#region nombre etiqueta

case "ETIQUETA":

PanelEtiqueta pe = (PanelEtiqueta)obj;

pe._Nombrecontrol = this.txtNombreEtiquetaBB.Text;

break;

#endregion

#region nombre richttextbox

case "RICHTEXTBOX":

PanelRichTextBox prtb = (PanelRichTextBox)obj;

prtb._Nombrecontrol = this.txtNombreEtiquetaBB.Text;

break;

#endregion

#region nombre CAJATEXTO

case "CAJATEXTO":

PanelCajatexto pct = (PanelCajatexto)obj;

pct._Nombrecontrol = this.txtNombreEtiquetaBB.Text;

break;

#endregion

#region nombre BOTON

case "BOTON":

PanelBoton pb = (PanelBoton)obj;

pb._Nombrecontrol = this.txtNombreEtiquetaBB.Text;

break;

#endregion

#region nombre PASSWORD

case "PASSWORD":

PanelPassword pp = (PanelPassword)obj;

pp._Nombrecontrol = this.txtNombreEtiquetaBB.Text;

break;

#endregion

#region nombre EMAIL

case "EMAIL":

PanelEmail pem = (PanelEmail)obj;

pem._Nombrecontrol = this.txtNombreEtiquetaBB.Text;

break;

#endregion

#region nombre TEXTOAUTOCOMPLETAR

case "TEXTOAUTOCOMPLETAR":

PanelTextoAutocompletar pta = (PanelTextoAutocompletar)obj;

pta._Nombrecontrol = this.txtNombreEtiquetaBB.Text;

break;

#endregion

#region nombre CAJATEXTOAUTOCORREGIR

Page 331: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

147

case "CAJATEXTOAUTOCORREGIR":

PanelTextoAutocorregir ptac = (PanelTextoAutocorregir)obj;

ptac._Nombrecontrol = this.txtNombreEtiquetaBB.Text;

break;

#endregion

#region nombre TEXTOAUTOCOMPLETAR_

case "TEXTOAUTOCOMPLETAR_":

PanelAutoCompletar paut = (PanelAutoCompletar)obj;

paut._Nombrecontrol = this.txtNombreEtiquetaBB.Text;

break;

#endregion

#region nombre CHECKBOX

case "CHECKBOX":

PanelCheckBox pchb = (PanelCheckBox)obj;

pchb._Nombrecontrol = this.txtNombreEtiquetaBB.Text;

break;

#endregion

#region nombre COMBOBOX

case "COMBOBOX":

PanelComboBox pcb = (PanelComboBox)obj;

pcb._Nombrecontrol = this.txtNombreEtiquetaBB.Text;

break;

#endregion

#region nombre COMBOBOXNUMERICO

case "COMBOBOXNUMERICO":

PanelComboBoxNumerico pcbn = (PanelComboBoxNumerico)obj;

pcbn._Nombrecontrol = this.txtNombreEtiquetaBB.Text;

break;

#endregion

#region nombre CAMPOFECHA

case "CAMPOFECHA":

PanelCampoFecha pf = (PanelCampoFecha)obj;

pf._Nombrecontrol = this.txtNombreEtiquetaBB.Text;

break;

#endregion

#region nombre OPCION

case "OPCION":

PanelCampoOpcion po = (PanelCampoOpcion)obj;

po._Nombrecontrol = this.txtNombreEtiquetaBB.Text;

break;

#endregion

#region nombre IMAGEN

case "IMAGEN":

PanelCampoImagen pim = (PanelCampoImagen)obj;

pim._Nombrecontrol = this.txtNombreEtiquetaBB.Text;

break;

#endregion

#region nombre BROWSER

case "BROWSER":

PanelBrowserField pbr = (PanelBrowserField)obj;

pbr._Nombrecontrol = this.txtNombreEtiquetaBB.Text;

break;

#endregion

#region nombre MAPA

case "MAPA":

PanelCamposMapa pmap = (PanelCamposMapa)obj;

pmap._Nombrecontrol = this.txtNombreEtiquetaBB.Text;

Page 332: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

148

break;

#endregion

}

}

#endregion

#region cambia texto controles

private void txtTextoEtiquetaBB_TextChanged(object sender, EventArgs e)

{

if (cambiaTexto)

{

ObjetoBase obj = (ObjetoBase)arreglo[indiceSeleccionado];

switch (obj._TipoControl)

{

#region texto ETIQUETA

case "ETIQUETA":

PanelEtiqueta pe = (PanelEtiqueta)obj;

pe._Texto = this.txtTextoEtiquetaBB.Text;

pe.cambiaEtiquetaVisible(this.txtTextoEtiquetaBB.Text);

break;

#endregion

#region texto RICHTEXTBOX

case "RICHTEXTBOX":

PanelRichTextBox prtb = (PanelRichTextBox)obj;

prtb._Texto = this.txtTextoEtiquetaBB.Text;

prtb.cambiaEtiquetaVisible(this.txtTextoEtiquetaBB.Text);

break;

#endregion

#region texto BOTON

case "BOTON":

PanelBoton pb = (PanelBoton)obj;

pb._Texto = this.txtNombreEtiquetaBB.Text;

pb.cambiaEtiquetaVisible(pb._Texto);

break;

#endregion

#region texto CHECKBOX

case "CHECKBOX":

PanelCheckBox pchb = (PanelCheckBox)obj;

pchb._Texto = this.txtNombreEtiquetaBB.Text;

pchb.cambiaEtiquetaVisible(pchb._Texto);

break;

#endregion

#region texto OPCION

case "OPCION":

PanelCampoOpcion pco = (PanelCampoOpcion)obj;

pco._Texto = this.txtNombreEtiquetaBB.Text;

pco.cambiaEtiquetaVisible(pco._Texto);

break;

#endregion

}

}

}

#endregion

#region cambia color texto controles

private void button10_Click(object sender, EventArgs e)

{

ObjetoBase obj = (ObjetoBase)arreglo[indiceSeleccionado];

VentanaColores vc = new VentanaColores();

Page 333: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

149

vc.ShowDialog();

switch (obj._TipoControl)

{

#region color texto ETIQUETA

case "ETIQUETA":

PanelEtiqueta pe = (PanelEtiqueta)obj;

pe.ColorEtiqueta = vc.colorClick;

pe.cambiarColorEtiqueta(vc.colorClick);

break;

#endregion

#region color texto RICHTEXTBOX

case "RICHTEXTBOX":

PanelRichTextBox prtb = (PanelRichTextBox)obj;

prtb.ColorEtiqueta = vc.colorClick;

prtb.cambiarColorEtiqueta(vc.colorClick);

break;

#endregion

#region color texto CAJATEXTO

case "CAJATEXTO":

PanelCajatexto pct = (PanelCajatexto)obj;

pct.ColorEtiqueta = vc.colorClick;

break;

#endregion

#region color texto PASSWORD

case "PASSWORD":

PanelPassword pp = (PanelPassword)obj;

pp.ColorEtiqueta = vc.colorClick;

break;

#endregion

#region color texto EMAIL

case "EMAIL":

PanelEmail pem = (PanelEmail)obj;

pem.ColorEtiqueta = vc.colorClick;

break;

#endregion

#region color texto TEXTOAUTOCOMPLETAR

case "TEXTOAUTOCOMPLETAR":

PanelTextoAutocompletar pta = (PanelTextoAutocompletar)obj;

pta.ColorEtiqueta = vc.colorClick;

break;

#endregion

#region color texto CAJATEXTOAUTOCORREGIR

case "CAJATEXTOAUTOCORREGIR":

PanelTextoAutocorregir ptac = (PanelTextoAutocorregir)obj;

ptac.ColorEtiqueta = vc.colorClick;

break;

#endregion

#region color texto TEXTOAUTOCOMPLETAR_

case "TEXTOAUTOCOMPLETAR_":

PanelAutoCompletar paut = (PanelAutoCompletar)obj;

paut.ColorEtiqueta = vc.colorClick;

break;

#endregion

#region color texto CHECKBOX

case "CHECKBOX":

PanelCheckBox pchb = (PanelCheckBox)obj;

pchb.ColorEtiqueta = vc.colorClick;

Page 334: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

150

pchb.cambiarColorEtiqueta(vc.colorClick);

break;

#endregion

#region color texto COMBOBOX

case "COMBOBOX":

PanelComboBox pcb = (PanelComboBox)obj;

pcb.ColorEtiqueta = vc.colorClick;

break;

#endregion

#region coolor texto COMBOBOXNUMERICO

case "COMBOBOXNUMERICO":

PanelComboBoxNumerico pcbn = (PanelComboBoxNumerico)obj;

pcbn.ColorEtiqueta = vc.colorClick;

break;

#endregion

#region color texto CAMPOFECHA

case "CAMPOFECHA":

PanelCampoFecha pf = (PanelCampoFecha)obj;

pf.ColorEtiqueta = vc.colorClick;

break;

#endregion

#region color texto OPCION

case "OPCION":

PanelCampoOpcion po = (PanelCampoOpcion)obj;

po.ColorEtiqueta = vc.colorClick;

po.cambiarColorEtiqueta(vc.colorClick);

break;

#endregion

}

this.txtColorFuenteEtiquetaBB.Text = vc.colorClick.Name;

}

#endregion

#region cambia color fondo controles

private void button11_Click(object sender, EventArgs e)

{

ObjetoBase obj = (ObjetoBase)arreglo[indiceSeleccionado];

VentanaColores vc = new VentanaColores();

vc.ShowDialog();

switch (obj._TipoControl)

{

case "ETIQUETA":

PanelEtiqueta pe = (PanelEtiqueta)obj;

pe.ColorFondo = vc.colorClick;

pe.cambiarColorFondo(vc.colorClick);

this.txtColorFodoEtiquetaBB.Text = vc.colorClick.Name;

break;

case "RICHTEXTBOX":

PanelRichTextBox prtb = (PanelRichTextBox)obj;

prtb.ColorFondo = vc.colorClick;

prtb.cambiarColorFondo(vc.colorClick);

this.txtColorFodoEtiquetaBB.Text = vc.colorClick.Name;

break;

case "CAJATEXTO":

PanelCajatexto pct = (PanelCajatexto)obj;

pct.ColorFondo = vc.colorClick;

pct.cambiarColorFondo(vc.colorClick);

this.txtColorFodoEtiquetaBB.Text = vc.colorClick.Name;

Page 335: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

151

break;

}

}

#endregion

#region cambia familia texto

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

{

if (cambiaTexto)

{

ObjetoBase obj = (ObjetoBase)arreglo[indiceSeleccionado];

switch (obj._TipoControl)

{

#region familia texto ETIQUETA

case "ETIQUETA":

PanelEtiqueta pe = (PanelEtiqueta)obj;

pe._NombreFamiliaTexto =

this.comboBox1.Items[this.comboBox1.SelectedIndex].ToString();

pe.cambiaFamiliaTexto(pe._NombreFamiliaTexto);

break;

#endregion

#region familia texto RICHTEXTBOX

case "RICHTEXTBOX":

PanelRichTextBox prtb = (PanelRichTextBox)obj;

prtb._NombreFamiliaTexto =

this.comboBox1.Items[this.comboBox1.SelectedIndex].ToString();

prtb.cambiaFamiliaTexto(prtb._NombreFamiliaTexto);

break;

#endregion

#region familia texto CAJATEXTO

case "CAJATEXTO":

PanelCajatexto pct = (PanelCajatexto)obj;

pct._NombreFamiliaTexto =

this.comboBox1.Items[this.comboBox1.SelectedIndex].ToString();

break;

#endregion

#region nombre familia texto PASSWORD

case "PASSWORD":

PanelPassword pp = (PanelPassword)obj;

pp._NombreFamiliaTexto =

this.comboBox1.Items[this.comboBox1.SelectedIndex].ToString();

break;

#endregion

#region nombre familia texto EMAIL

case "EMAIL":

PanelEmail pem = (PanelEmail)obj;

pem._NombreFamiliaTexto =

this.comboBox1.Items[this.comboBox1.SelectedIndex].ToString();

break;

#endregion

#region nombre familia texto TEXTOAUTOCOMPLETAR

case "TEXTOAUTOCOMPLETAR":

PanelTextoAutocompletar pta = (PanelTextoAutocompletar)obj;

pta._NombreFamiliaTexto =

this.comboBox1.Items[this.comboBox1.SelectedIndex].ToString();

break;

#endregion

Page 336: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

152

#region nombre familia texto CAJATEXTOAUTOCORREGIR

case "CAJATEXTOAUTOCORREGIR":

PanelTextoAutocorregir ptac = (PanelTextoAutocorregir)obj;

ptac._NombreFamiliaTexto =

this.comboBox1.Items[this.comboBox1.SelectedIndex].ToString();

break;

#endregion

#region nombre familia texto TEXTOAUTOCOMPLETAR_

case "TEXTOAUTOCOMPLETAR_":

PanelAutoCompletar paut = (PanelAutoCompletar)obj;

paut._NombreFamiliaTexto =

this.comboBox1.Items[this.comboBox1.SelectedIndex].ToString();

break;

#endregion

#region nombre familia texto CHECKBOX

case "CHECKBOX":

PanelCheckBox pchb = (PanelCheckBox)obj;

pchb._NombreFamiliaTexto =

this.comboBox1.Items[this.comboBox1.SelectedIndex].ToString();

pchb.cambiaFamiliaTexto(this.comboBox1.Items[this.comboBox1.SelectedIndex].ToString());

break;

#endregion

#region nombre familia texto COMBOBOX

case "COMBOBOX":

PanelComboBox pcb = (PanelComboBox)obj;

pcb._NombreFamiliaTexto =

this.comboBox1.Items[this.comboBox1.SelectedIndex].ToString();

break;

#endregion

#region nombre familia COMBOBOXNUMERICO

case "COMBOBOXNUMERICO":

PanelComboBoxNumerico pcbn = (PanelComboBoxNumerico)obj;

pcbn._NombreFamiliaTexto =

this.comboBox1.Items[this.comboBox1.SelectedIndex].ToString();

break;

#endregion

#region nombre familia CAMPOFECHA

case "CAMPOFECHA":

PanelCampoFecha pf = (PanelCampoFecha)obj;

pf._NombreFamiliaTexto =

this.comboBox1.Items[this.comboBox1.SelectedIndex].ToString();

break;

#endregion

#region nombre familia OPCION

case "OPCION":

PanelCampoOpcion po = (PanelCampoOpcion)obj;

po._NombreFamiliaTexto =

this.comboBox1.Items[this.comboBox1.SelectedIndex].ToString();

po.cambiaFamiliaTexto(this.comboBox1.Items[this.comboBox1.SelectedIndex].ToString());

break;

#endregion

}

}

}

Page 337: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

153

#endregion

#region modifica estilo textos

private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)

{

if (cambiaTexto)

{

ObjetoBase obj = (ObjetoBase)arreglo[indiceSeleccionado];

switch (obj._TipoControl)

{

#region nombre estilo ETIQUETA

case "ETIQUETA":

PanelEtiqueta pe = (PanelEtiqueta)obj;

pe._NombreEstiloTexto =

this.comboBox2.Items[this.comboBox2.SelectedIndex].ToString();

pe.cambiarEstiloTexto(pe._NombreEstiloTexto);

break;

#endregion

#region nombre estilo RICHTEXTBOX

case "RICHTEXTBOX":

PanelRichTextBox prtb = (PanelRichTextBox)obj;

prtb._NombreEstiloTexto =

this.comboBox2.Items[this.comboBox2.SelectedIndex].ToString();

prtb.cambiarEstiloTexto(prtb._NombreEstiloTexto);

break;

#endregion

#region nombre estilo CAJATEXTO

case "CAJATEXTO":

PanelCajatexto pct = (PanelCajatexto)obj;

pct._NombreEstiloTexto =

this.comboBox2.Items[this.comboBox2.SelectedIndex].ToString();

break;

#endregion

#region nombre estilo texto PASSWORD

case "PASSWORD":

PanelPassword pp = (PanelPassword)obj;

pp._NombreEstiloTexto =

this.comboBox2.Items[this.comboBox2.SelectedIndex].ToString();

break;

#endregion

#region nombre estilo texto EMAIL

case "EMAIL":

PanelEmail pem = (PanelEmail)obj;

pem._NombreEstiloTexto =

this.comboBox2.Items[this.comboBox2.SelectedIndex].ToString();

break;

#endregion

#region nombre estilo texto TEXTOAUTOCOMPLETAR

case "TEXTOAUTOCOMPLETAR":

PanelTextoAutocompletar pta = (PanelTextoAutocompletar)obj;

pta._NombreEstiloTexto =

this.comboBox2.Items[this.comboBox2.SelectedIndex].ToString();

break;

#endregion

#region nombre estilo texto CAJATEXTOAUTOCORREGIR

case "CAJATEXTOAUTOCORREGIR":

PanelTextoAutocorregir ptac = (PanelTextoAutocorregir)obj;

Page 338: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

154

ptac._NombreEstiloTexto =

this.comboBox2.Items[this.comboBox2.SelectedIndex].ToString();

break;

#endregion

#region nombre estilo texto TEXTOAUTOCOMPLETAR_

case "TEXTOAUTOCOMPLETAR_":

PanelAutoCompletar paut = (PanelAutoCompletar)obj;

paut._NombreEstiloTexto =

this.comboBox2.Items[this.comboBox2.SelectedIndex].ToString();

break;

#endregion

#region nombre estilo texto CHECKBOX

case "CHECKBOX":

PanelCheckBox pchb = (PanelCheckBox)obj;

pchb._NombreEstiloTexto =

this.comboBox2.Items[this.comboBox2.SelectedIndex].ToString();

pchb.cambiarEstiloTexto(this.comboBox2.Items[this.comboBox2.SelectedIndex].ToString());

break;

#endregion

#region nombre estilo texto COMBOBOX

case "COMBOBOX":

PanelComboBox pcb = (PanelComboBox)obj;

pcb._NombreEstiloTexto =

this.comboBox2.Items[this.comboBox2.SelectedIndex].ToString();

break;

#endregion

#region nombre estilo COMBOBOXNUMERICO

case "COMBOBOXNUMERICO":

PanelComboBoxNumerico pcbn = (PanelComboBoxNumerico)obj;

pcbn._NombreEstiloTexto =

this.comboBox2.Items[this.comboBox2.SelectedIndex].ToString();

break;

#endregion

#region nombre estilo CAMPOFECHA

case "CAMPOFECHA":

PanelCampoFecha pf = (PanelCampoFecha)obj;

pf._NombreEstiloTexto =

this.comboBox2.Items[this.comboBox2.SelectedIndex].ToString();

break;

#endregion

#region nombre estilo OPCION

case "OPCION":

PanelCampoOpcion po = (PanelCampoOpcion)obj;

po._NombreEstiloTexto =

this.comboBox2.Items[this.comboBox2.SelectedIndex].ToString();

po.cambiarEstiloTexto(this.comboBox2.Items[this.comboBox2.SelectedIndex].ToString());

break;

#endregion

}

}

}

#endregion

#region modifica tamaño controles

private void cmbTamanioFuenteBB_SelectedIndexChanged(object sender, EventArgs e)

{

if (cambiaTexto)

Page 339: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

155

{

ObjetoBase obj = (ObjetoBase)arreglo[indiceSeleccionado];

switch (obj._TipoControl)

{

#region tamaño texto ETIQUETA

case "ETIQUETA":

PanelEtiqueta pe = (PanelEtiqueta)obj;

pe._TamanioTexto =

this.cmbTamanioFuenteBB.Items[this.cmbTamanioFuenteBB.SelectedIndex].ToString();

pe.modificaTamanioTexto(pe._TamanioTexto);

break;

#endregion

#region tamaño textoRICHTEXTBOX

case "RICHTEXTBOX":

PanelRichTextBox prtb = (PanelRichTextBox)obj;

prtb._TamanioTexto =

this.cmbTamanioFuenteBB.Items[this.cmbTamanioFuenteBB.SelectedIndex].ToString();

prtb.modificaTamanioTexto(prtb._TamanioTexto);

break;

#endregion

#region tamaño texto CAJATEXTO

case "CAJATEXTO":

PanelCajatexto pct = (PanelCajatexto)obj;

pct._TamanioTexto =

this.cmbTamanioFuenteBB.Items[this.cmbTamanioFuenteBB.SelectedIndex].ToString();

break;

#endregion

#region tamaño texto PASSWORD

case "PASSWORD":

PanelPassword pp = (PanelPassword)obj;

pp._TamanioTexto =

this.cmbTamanioFuenteBB.Items[this.cmbTamanioFuenteBB.SelectedIndex].ToString();

break;

#endregion

#region tamaño texto EMAIL

case "EMAIL":

PanelEmail pem = (PanelEmail)obj;

pem._TamanioTexto =

this.cmbTamanioFuenteBB.Items[this.cmbTamanioFuenteBB.SelectedIndex].ToString();

break;

#endregion

#region tamaño texto TEXTOAUTOCOMPLETAR

case "TEXTOAUTOCOMPLETAR":

PanelTextoAutocompletar pta = (PanelTextoAutocompletar)obj;

pta._TamanioTexto =

this.cmbTamanioFuenteBB.Items[this.cmbTamanioFuenteBB.SelectedIndex].ToString();

break;

#endregion

#region tamaño texto CAJATEXTOAUTOCORREGIR

case "CAJATEXTOAUTOCORREGIR":

PanelTextoAutocorregir ptac = (PanelTextoAutocorregir)obj;

ptac._TamanioTexto =

this.cmbTamanioFuenteBB.Items[this.cmbTamanioFuenteBB.SelectedIndex].ToString();

break;

#endregion

#region tamaño texto TEXTOAUTOCOMPLETAR_

case "TEXTOAUTOCOMPLETAR_":

Page 340: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

156

PanelAutoCompletar paut = (PanelAutoCompletar)obj;

paut._TamanioTexto =

this.cmbTamanioFuenteBB.Items[this.cmbTamanioFuenteBB.SelectedIndex].ToString();

break;

#endregion

#region tamaño texto CHECKBOX

case "CHECKBOX":

PanelCheckBox pchb = (PanelCheckBox)obj;

pchb._TamanioTexto =

this.cmbTamanioFuenteBB.Items[this.cmbTamanioFuenteBB.SelectedIndex].ToString();

pchb.modificaTamanioTexto(this.cmbTamanioFuenteBB.Items[this.cmbTamanioFuenteBB.SelectedIndex].

ToString());

break;

#endregion

#region tamaño texto COMBOBOX

case "COMBOBOX":

PanelComboBox pcb = (PanelComboBox)obj;

pcb._TamanioTexto =

this.cmbTamanioFuenteBB.Items[this.cmbTamanioFuenteBB.SelectedIndex].ToString();

break;

#endregion

#region tamaño COMBOBOXNUMERICO

case "COMBOBOXNUMERICO":

PanelComboBoxNumerico pcbn = (PanelComboBoxNumerico)obj;

pcbn._TamanioTexto =

this.cmbTamanioFuenteBB.Items[this.cmbTamanioFuenteBB.SelectedIndex].ToString();

break;

#endregion

#region tamaño CAMPOFECHA

case "CAMPOFECHA":

PanelCampoFecha pf = (PanelCampoFecha)obj;

pf._TamanioTexto =

this.cmbTamanioFuenteBB.Items[this.cmbTamanioFuenteBB.SelectedIndex].ToString();

break;

#endregion

#region tamaño texto OPCION

case "OPCION":

PanelCampoOpcion po = (PanelCampoOpcion)obj;

po._TamanioTexto =

this.cmbTamanioFuenteBB.Items[this.cmbTamanioFuenteBB.SelectedIndex].ToString();

po.modificaTamanioTexto(this.cmbTamanioFuenteBB.Items[this.cmbTamanioFuenteBB.SelectedIndex].To

String());

break;

#endregion

}

}

}

#endregion

#region agrega control etiqueta

private void AgregaEtiqueta_Click(object sender, EventArgs e)

{

PanelEtiqueta pnl = new PanelEtiqueta("Texto etiqueta");

aumentaPanel(pnl, pnl._ancho,pnl._alto);

AsignaNombre();

}

Page 341: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

157

#endregion

#region agrega control caja texto solo lectura

private void button12_Click(object sender, EventArgs e)

{

PanelRichTextBox pnl = new PanelRichTextBox("Texto Caja");

aumentaPanel(pnl, pnl._ancho, pnl._alto);

AsignaNombre();

}

#endregion

private void txtColorFuenteEtiquetaBB_TextChanged(object sender, EventArgs e)

{

}

#region agrega control caja texto

private void button2_Click(object sender, EventArgs e)

{

PanelCajatexto pnl = new PanelCajatexto(true);

aumentaPanel(pnl,pnl._ancho,pnl._alto);

AsignaNombre();

}

#endregion

#region agrega control password

private void button13_Click(object sender, EventArgs e)

{

PanelPassword pnl = new PanelPassword(true);

aumentaPanel(pnl,pnl._ancho,pnl._alto);

AsignaNombre();

}

#endregion

#region elimina contorl seleccionado

private void toolStripMenuItem1_Click_1(object sender, EventArgs e)

{

try

{

arreglo.RemoveAt(indiceSeleccionado);

pnlSeleccionado.Visible = false;

indiceSeleccionado = -1;

}

catch (Exception ex)

{

MessageBox.Show("No Existen Elementos Para Eliminar", "No Items", MessageBoxButtons.OK,

MessageBoxIcon.Asterisk);

}

}

#endregion

#region agrega control email

private void button14_Click(object sender, EventArgs e)

{

PanelEmail pnl = new PanelEmail(true);

aumentaPanel(pnl,pnl._ancho,pnl._alto);

AsignaNombre();

}

#endregion

#region agrega control texto autocompletar

private void button15_Click(object sender, EventArgs e)

{

PanelTextoAutocompletar ptac = new PanelTextoAutocompletar(true);

Page 342: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

158

aumentaPanel(ptac,ptac._ancho,ptac._alto);

AsignaNombre();

}

#endregion

#region cambia texto de combos box

private void button16_Click(object sender, EventArgs e)

{

DialogoAccionBoton vnt = new DialogoAccionBoton();

vnt.Text = "Contenido ";

vnt.ShowDialog();

this.txtContenidoCombo.Text = vnt.contenidoT;

string conteidoIngresado = vnt.contenidoT;

string[] miArregloIngresado = conteidoIngresado.Replace(Encoding.ASCII.GetString(new byte[] {

(byte)13 }).ToString() + Encoding.ASCII.GetString(new byte[] { (byte)10 }).ToString(),"*").Split('*');

Array n = miArregloIngresado.ToArray();

ObjetoBase obj1 = (ObjetoBase)arreglo[indiceSeleccionado];

if (obj1._TipoControl == "TEXTOAUTOCOMPLETAR")

{

PanelTextoAutocompletar ptac = (PanelTextoAutocompletar)arreglo[indiceSeleccionado];

ptac.Contenido = n;

}

if (obj1._TipoControl == "COMBOBOX")

{

PanelComboBox ptac = (PanelComboBox)arreglo[indiceSeleccionado];

ptac.Contenido = n;

}

}

#endregion

#region agrega control autocorregir

private void button18_Click(object sender, EventArgs e)

{

PanelTextoAutocorregir ptac = new PanelTextoAutocorregir(true);

aumentaPanel(ptac,ptac._ancho,ptac._alto);

AsignaNombre();

}

#endregion

#region agrega region autocompletar

private void button19_Click(object sender, EventArgs e)

{

PanelAutoCompletar ptac = new PanelAutoCompletar(true);

aumentaPanel(ptac,ptac._ancho,ptac._alto);

AsignaNombre();

}

#endregion

private void ovalShape1_Click(object sender, EventArgs e)

{

}

#region agrega control check box

private void button4_Click(object sender, EventArgs e)

{

PanelCheckBox ptac = new PanelCheckBox();

aumentaPanel(ptac,ptac._ancho,ptac._alto);

AsignaNombre();

}

#endregion

#region agrega control combo box

Page 343: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

159

private void button20_Click(object sender, EventArgs e)

{

PanelComboBox ptac = new PanelComboBox(true);

aumentaPanel(ptac,ptac._ancho,ptac._alto);

AsignaNombre();

}

#endregion

#region agrega contorl combo box numerico

private void button21_Click(object sender, EventArgs e)

{

PanelComboBoxNumerico pcbn = new PanelComboBoxNumerico(true);

pcbn.indiceInicio = 0;

pcbn.indiceFinal = 100;

pcbn.incremento = 1;

pcbn.comienzo = 0;

aumentaPanel(pcbn,pcbn._ancho,pcbn._alto);

AsignaNombre();

}

#endregion

#region agrega control fecha

private void button22_Click(object sender, EventArgs e)

{

PanelCampoFecha ptac = new PanelCampoFecha(true);

aumentaPanel(ptac,ptac._ancho,ptac._alto);

AsignaNombre();

}

#endregion

#region agrega control opcion

private void button23_Click(object sender, EventArgs e)

{

PanelCampoOpcion pco = new PanelCampoOpcion();

aumentaPanel(pco, pco._ancho,pco._alto);

AsignaNombre();

}

#endregion

#region agrega control boton

private void button24_Click(object sender, EventArgs e)

{

PanelBoton pnl = new PanelBoton(true);

aumentaPanel(pnl,pnl._ancho,pnl._alto);//,pnl._ancho);

AsignaNombre();

}

#endregion

#region agrega campo imagen

private void button6_Click(object sender, EventArgs e)

{

PanelCampoImagen pci = new PanelCampoImagen();

aumentaPanel(pci, pci._ancho,pci._alto);

AsignaNombre();

}

#endregion

#region cambia imagen de control imagen

private void button25_Click(object sender, EventArgs e)

{

ObjetoBase obj = (ObjetoBase)arreglo[indiceSeleccionado];

if (obj._TipoControl == "IMAGEN")

{

Page 344: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

160

PanelCampoImagen pci = (PanelCampoImagen)arreglo[indiceSeleccionado];

opfdImagen.Filter = "Imagenes Ligeras (*.jpg)|*.jpg|Mapas de Bits(*.bmp)|*.bmp|Imagenes

Web(*.gif)|*.gif";

opfdImagen.ShowDialog();

string pathImagen = opfdImagen.FileName;

string nombreArchivo = "";

string nombreDirectorio = "";

separaDirArchivo(pathImagen, ref nombreDirectorio, ref nombreArchivo);

nombreImagenFondo = nombreArchivo;

this.txtImagenSeleccionada.Text = nombreImagenFondo;

/*if(File.Exists("C:\\FuentesDesarrolladosTHWPR\\Proyecto\\res\\" + nombreArchivo)){

File.Delete("C:\\FuentesDesarrolladosTHWPR\\Proyecto\\res\\" + nombreArchivo);

}

File.Copy(pathImagen, "C:\\FuentesDesarrolladosTHWPR\\Proyecto\\res\\" + nombreArchivo);

Image img1 = Image.FromFile("C:\\FuentesDesarrolladosTHWPR\\Proyecto\\res\\" +

nombreArchivo);*/

if (File.Exists(_DirectorioJava.Replace("\\src", "\\res\\") + nombreArchivo))

{

File.Delete(_DirectorioJava.Replace("\\src", "\\res\\") + nombreArchivo);

}

File.Copy(pathImagen, _DirectorioJava.Replace("\\src", "\\res\\") + nombreArchivo);

Image img1 = Image.FromFile(_DirectorioJava.Replace("\\src", "\\res\\") + nombreArchivo);

pci.BackgroundImage = CambiarTamanoImagen(img1, pci._ancho, pci._alto);

pci.NombreImagenVer = nombreArchivo;

pci.rutaImagentemporal = pathImagen;

}

}

#endregion

#region agrega campo navegador

private void button26_Click(object sender, EventArgs e)

{

PanelBrowserField pci = new PanelBrowserField();

aumentaPanel(pci, pci._ancho, pci._alto);

AsignaNombre();

}

#endregion

#region agrega campo mapa

private void button27_Click(object sender, EventArgs e)

{

PanelCamposMapa pci = new PanelCamposMapa();

aumentaPanel(pci, pci._ancho, pci._alto);

AsignaNombre();

}

#endregion

#region cambia icono de barra de ventana

private void btnBotonImagenIcono_Click(object sender, EventArgs e)

{

opfdImagen.Filter = "Imagenes Ligeras de Iconos(*.png)|*.png|Mapas de

Bits(*.bmp)|*.bmp|Imagenes Web(*.gif)|*.gif";

opfdImagen.ShowDialog();

string pathImagen = opfdImagen.FileName;

System.IO.FileInfo finfo = new System.IO.FileInfo(pathImagen);

if (finfo.Length > 18037)

{

Page 345: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

161

MessageBox.Show("El Tamaño de la imagen es Superior al permitido...favor de seleccionar

imagenes de maximo 18kb", "Archivo incorrecto", MessageBoxButtons.OK,

MessageBoxIcon.Exclamation);

return;

}

string nombreArchivo = "";

string nombreDirectorio = "";

separaDirArchivo(pathImagen, ref nombreDirectorio, ref nombreArchivo);

this.txtImagenSeleccionada.Text = nombreImagenFondo;

/*if(File.Exists("C:\\FuentesDesarrolladosTHWPR\\Proyecto\\res\\" + nombreArchivo)){

File.Delete("C:\\FuentesDesarrolladosTHWPR\\Proyecto\\res\\" + nombreArchivo);

}

File.Copy(pathImagen, "C:\\FuentesDesarrolladosTHWPR\\Proyecto\\res\\" + nombreArchivo);

Image img1 = Image.FromFile("C:\\FuentesDesarrolladosTHWPR\\Proyecto\\res\\" +

nombreArchivo);*/

if (File.Exists(_DirectorioJava.Replace("\\src", "\\res\\") + nombreArchivo))

{

File.Delete(_DirectorioJava.Replace("\\src", "\\res\\") + nombreArchivo);

}

try

{

File.Copy(pathImagen, _DirectorioJava.Replace("\\src", "\\res\\") + nombreArchivo);

}

catch (Exception ex)

{

MessageBox.Show("La Imagen se encuentra en el Proyecto Actual","Imagen

Existente",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);

}

this.txtImagenIcono.Text = nombreArchivo;

}

#endregion

#region genera solucion

private void button28_Click(object sender, EventArgs e)

{

string pathInput = _DirectorioJava.Substring(0,_DirectorioJava.Length-4);

string pathOutput = _DirectorioJava.Substring(0, _DirectorioJava.Length - 4) + "\\Solucion";

string nombreApp = this.txtNombreSolucion.Text;

generasolucion(pathInput, pathOutput, nombreApp);

}

#endregion

private void pnlPropiedadesEtiqueta_Paint(object sender, PaintEventArgs e)

{

}

private void textBox9_TextChanged(object sender, EventArgs e)

{

PanelComboBoxNumerico pbk = (PanelComboBoxNumerico)arreglo[indiceSeleccionado];

pbk.indiceInicio = int.Parse((this.txtMinimo.Text == "") ? "0" : this.txtMinimo.Text);

}

private void textBox8_TextChanged(object sender, EventArgs e)

{

PanelComboBoxNumerico pbk = (PanelComboBoxNumerico)arreglo[indiceSeleccionado];

Page 346: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

162

pbk.comienzo = int.Parse((this.txtComienzo.Text == "") ? "0" : this.txtComienzo.Text);

}

private void textBox4_TextChanged(object sender, EventArgs e)

{

}

private void textBox7_TextChanged(object sender, EventArgs e)

{

PanelComboBoxNumerico pbk = (PanelComboBoxNumerico)arreglo[indiceSeleccionado];

pbk.incremento = int.Parse((this.txtIncremento.Text == "") ? "0" : this.txtIncremento.Text);

}

private void label17_Click(object sender, EventArgs e)

{

}

private void imgChoice_TextChanged(object sender, EventArgs e)

{

}

private void txtMaximo_TextChanged(object sender, EventArgs e)

{

PanelComboBoxNumerico pbk = (PanelComboBoxNumerico)arreglo[indiceSeleccionado];

pbk.indiceFinal = int.Parse((this.txtMaximo.Text == "") ? "0" : this.txtMaximo.Text);

}

private void txtAncho_TextChanged(object sender, EventArgs e)

{

PanelCampoImagen pci = (PanelCampoImagen)arreglo[indiceSeleccionado];

pci._ancho = int.Parse((this.txtAncho.Text=="")?"0":this.txtAncho.Text);

pci.Width = pci._ancho;

}

private void txtAlto_TextChanged(object sender, EventArgs e)

{

PanelCampoImagen pci = (PanelCampoImagen)arreglo[indiceSeleccionado];

pci._alto = int.Parse((this.txtAlto.Text == "") ? "0" : this.txtAlto.Text);

pci.Height = pci._alto;

}

private void timer1_Tick(object sender, EventArgs e)

{

if(mostrar>=5){

this.Opacity = 100;

this.Visible=true;

this.Show();

this.timer1.Enabled = false;

}

else

{

this.Visible = false;

this.Hide();

}

Page 347: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

163

mostrar++;

}

private void toolTip1_Popup(object sender, PopupEventArgs e)

{

}

private void menuStrip1_ItemClicked_2(object sender, ToolStripItemClickedEventArgs e)

{

}

private void mostrarCodigoToolStripMenuItem_Click(object sender, EventArgs e)

{

}

private void compilarToolStripMenuItem_Click(object sender, EventArgs e)

{

}

private void generarSoluciónToolStripMenuItem_Click(object sender, EventArgs e)

{

}

private void generarCodigoToolStripMenuItem_Click(object sender, EventArgs e)

{

//if (button5.Text == "Mostrar Código")

if(generarCodigoToolStripMenuItem.Text == "Mostrar Código")

{

generarCodigoToolStripMenuItem.Text = "Mostrar Diseño";

pnlImagenBlackBerry.Visible = false;

pnlCodigoGenerado.Visible = true;

pnlCodigoGenerado.Left = 605;

pnlCodigoGenerado.Top = 35;

pnlCodigoGenerado.Width = 505;

pnlCodigoGenerado.Height = 697;

generaCodigoJava();

}

else

{

generarCodigoToolStripMenuItem.Text = "Mostrar Código";

pnlCodigoGenerado.Visible = false;

pnlImagenBlackBerry.Visible = true;

pnlImagenBlackBerry.Left = 605;

pnlImagenBlackBerry.Top = 35;

}

}

private void generarSolucionToolStripMenuItem_Click(object sender, EventArgs e)

{

string pathInput = _DirectorioJava.Substring(0, _DirectorioJava.Length - 4);

string pathOutput = _DirectorioJava.Substring(0, _DirectorioJava.Length - 4) + "\\Solucion";

string nombreApp = this.txtNombreSolucion.Text;

Page 348: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

164

generasolucion(pathInput, pathOutput, nombreApp);

}

private void compilarToolStripMenuItem1_Click(object sender, EventArgs e)

{

creaArchivoJava();

string res = "Archivo compilado exitosamente";

string dirJava = "", dirJarRIM = "";

extraerFicherBinJava(ref dirJava, ref dirJarRIM);

System.Diagnostics.Process proc = new System.Diagnostics.Process();

proc.EnableRaisingEvents = false;

proc.StartInfo.FileName = "\"" + dirJava + "\\bin\\javac\"";

proc.StartInfo.Arguments = " -Xlint:unchecked -classpath \".\\;" + dirJarRIM + "net_rim_api.jar\" \""

+ _DirectorioJava + "\\" + _NombreJava + "\"";

proc.StartInfo.RedirectStandardInput = true;

proc.StartInfo.RedirectStandardOutput = true;

proc.StartInfo.RedirectStandardError = true;

proc.StartInfo.CreateNoWindow = true;

proc.StartInfo.UseShellExecute = false;

proc.Start();

//System.IO.StreamReader myOutput = proc.StandardOutput;

proc.BeginOutputReadLine();

res = proc.StandardError.ReadToEnd();

proc.WaitForExit();

if (res.Length <= 0)

{

this.txtResultadoMovimiento.Text = "Archivo compilado exitosamente";

}

else

{

int posError = -1;

posError = res.ToUpper().IndexOf("ERROR");

if (posError > -1)

{

this.txtResultadoMovimiento.Text = "Archivo compilado con Errores \n" + res;

}

else

{

this.txtResultadoMovimiento.Text = "Archivo compilado con Advertencias \n" + res;

}

}

}

private void button1_Click(object sender, EventArgs e)

{

try

{

opfdImagen.Filter = "Imagenes Ligeras de Iconos (*.png)|*.png|Mapas de

Bits(*.bmp)|*.bmp|Imagenes Web(*.gif)|*.gif";

opfdImagen.ShowDialog();

string pathImagen = opfdImagen.FileName;

System.IO.FileInfo infoImg = new System.IO.FileInfo(pathImagen);

if(infoImg.Length>18037){

MessageBox.Show("La Imagen es Demaciado Grande...favor de Seleccionar una Imagen

menor a 17kb", "Imagen Grande", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

return;

}

Page 349: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

165

string nombreArchivo = "";

string nombreDirectorio = "";

separaDirArchivo(pathImagen, ref nombreDirectorio, ref nombreArchivo);

this.txtIconoSolucionApp.Text = nombreArchivo;

if (File.Exists(_DirectorioJava.Replace("\\src", "\\res\\img\\") + nombreArchivo))

{

File.Delete(_DirectorioJava.Replace("\\src", "\\res\\img\\") + nombreArchivo);

}

try

{

File.Copy(pathImagen, _DirectorioJava.Replace("\\src", "\\res\\img\\") + nombreArchivo);

}

catch (Exception ex)

{

MessageBox.Show("La Imagen ya esta siendo utilizada en el Proyecto Actual", "Imagen

Repetida", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

}

catch (Exception ex)

{

}

}

private void nuevoToolStripMenuItem_Click(object sender, EventArgs e)

{

this.Controls.Clear();

InitializeComponent();

arreglo = new ArrayList();

crearDirectorios();

this.cmbTipoFondo.SelectedIndex = 0;

}

}

}

Codificación AppConfig

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<startup>

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />

</startup>

</configuration>

Page 350: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

1

MANUAL DE USUARIO

Page 351: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

2

Índice General

INTRODUCCIÓN 5

OBJETIVOS DE ESTE MANUAL 5

A QUIEN VA DIRIGIDO ESTE MANUAL 5

CONOCIMIENTOS PREVIOS 5

ACERCA DE ESTE MANUAL 6

CARACTERÍSTICAS DEL APLICATIVO 6

BENEFICIOS 7

PANTALLA DE PRESENTACION 7

PANTALLA DE CREACION SELECCIÓN DE SOLICITUD 8

PANTALLA PRINCIPAL 9

Área De Propiedades de controles de Formularios 11

Page 352: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

3

Índice de Gráficos

GRÁFICO 1 Verificación Framework 6 6

GRAFICO 2 Verificación de JDK 7

GRÁFICO 3 PRESENTACION AGBB 8

GRÁFICO 4 Pantalla de Creación , Selección de Solución 8

GRÁFICO 5 Selección de Solución existente 9

GRÁFICO 6 Selección de Clase Creada 9

GRAFICO 7 Pantalla de Diseño 10

GRÁFICO 8 Detalle de Pantalla de Desarrollo - Detalle 10

GRÁFICO 9 Área de Desarrollo 11

GRÁFICO 10 Área de propiedades de Formulario y propiedades

de solución

11

GRAFICO 11 Selección de Tipo de Fondo de Pantalla 12

GRAFICO 12 Selección Color 12

GRAFICO 13 Selección Imagen 12

GRÁFICO 14 Área De Cuadro de Herramientas 13

GRÁFICO 15 Propiedades de control Label 16

GRAFICO 16 Propiedades de Caja de Selección 16

GRÁFICO 17 Propiedades Control de Opción 17

GRÁFICO 18 Propiedades de Botón 17

GRÁFICO 19 Propiedades de Lista de Selección de Texto 18

GRAFICO 20 Propiedades Lista de Selección numérica 18

GRÁFICO 21 Propiedades de Control Texto 19

GRAFICO 12 Propiedades de Texto de Solo Lectura 20

GRAFICO 13 Propiedades de Texto Auto búsqueda 20

GRÁFICO 14 Propiedades de texto Autocorregir 21

GRAFICO 15 Propiedades Texto Autocompletar 21

GRÁFICO 16 Propiedades de control Correo Electrónico 22

GRÁFICO 17 Propiedades de Password 22

Page 353: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

4

GRAFICO 18 Propiedades de control fecha 23

GRÁFICO 19 Propiedades de Control Web 23

GRÁFICO 20 Propiedades de control imagen 24

GRÁFICO 21 Propiedades de control mapa 24

GRÁFICO 22 Menú de Control 25 25

GRAFICO 23 Código Generado 26

GRÁFICO 24 Diseño 27

GRÁFICO 25 Menú Acción Compilar 28

GRÁFICO 26 Ventana de Diseño Para compilación 28

GRÁFICO 27 Importación de Solución a Eclipse 29

GRÁFICO 28 Paso 2 de importación de solución a eclipse 30

GRÁFICO 29 Importación de solución a Eclipse Paso 3 30

GRAFICO 30 Selección de Carpeta Solución 31

GRÁFICO 31 Verificación de Archivo Solución 31

GRÁFICO 32 Visualización de solución en Eclipse 32

GRAFICO 33 Ejecución del Proyecto en Eclipse – Selección de

Emulador

32

GRAFICO 34 Ejecución de Proyecto, Verificación de

compilación en Eclipse

33

GRÁFICO 35 Visualización e Solución 33

Page 354: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

5

GENERALIDADES

INTRODUCCIÓN

Este manual contiene información respecto a cómo operar con el Aplicativo AGBB

(Aplicaciones Grafica BlackBerry), además indicaciones de cómo funciona y los

conocimientos mínimos que debe tener el usuario para transmitir y comprender la

idea del desarrollo de aplicaciones móviles.

OBJETIVOS DE ESTE MANUAL

Ayudar al usuario en general al correcto desenvolvimiento en nuestro aplicativo y

que conozca las facilidades que este brinda al momento de crear aplicaciones para

dispositivos BlackBerry.

El mismo que comprende:

Conocer el alcance de todo el aplicativo por medio de una explicación

detallada e ilustrada de cada una de las opciones que lo forman.

Funciones no previstas o inesperadas.

A QUIEN VA DIRIGIDO ESTE MANUAL

Está dirigido, a todos los desarrolladores de aplicaciones orientado a dispositivos

móviles.

Está dirigido a desarrolladores que buscan hacer aplicaciones amigables para los

usuarios finales.

Está dirigido a todos los desarrolladores que estan familiarizados con desarrollos de

aplicaciones con una interfaz gráfica.

Está dirigido a los desarrolladores que tienen conocimientos básico de lenguaje

java.

Está dirigido a desarrolladores que tiene un conocimiento del IDE Eclipse para la

creación de los ejecutables y publicaciones.

Page 355: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

6

Está dirigido a desarrolladores que tiene conocimiento de proyectos J2ME.

CONOCIMIENTOS PREVIOS

Se recomienda, que el usuario tenga conocimiento de desarrollo de aplicaciones

utilizando J2ME (Java 2 Micro Edition).

El usuario deber estar familiarizado con las funcionalidades que brindan los

dispositivos BlackBerry. Se recomienda que el usuario tenga conocimiento de

programación Orientada a objetos.

El usuario debe tener conocimiento del uso del aplicativo Eclipse para Java, debido

a la interacción del aplicativo desarrollado con el IDE en mención. El desarrollador

debe tener conocimiento del sistema operativo Windows

ACERCA DE ESTE MANUAL

Este manual, contiene las instrucciones necesarias, para indicar cuáles son las

mejores opciones a seguir para el desempeño de una funcionalidad en especial.

CARACTERÍSTICAS DEL APLICATIVO

El usuario debe confirmar que tenga instalado el componente net Framework 3.5 o

superior, para ello se debe dirigir a

panel de control Programas y características revisar el componente instalado.

GRÁFICO 1

Verificación Framework

Para versiones anteriores a Windows vista se verifica el paquete de instalación en

Page 356: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

7

panel de control programas instalados.

El aplicativo trabaja con el jdk versión 7, para lo cual se verificara el paquete de

desarrollo y el paquete de ejecución en la dirección C:/Program File/Java

GRAFICO 2

Verificación de JDK

BENEFICIOS

Se buscar optimizar el desarrollo de aplicaciones para dispositivos móviles

BlackBerry.

Se brindara una interfaz amigable e intuitiva para el desarrollo de las

interfaces de usuarios.

Permitir la interacción de los controles y las propiedades de los objetos

pertenecientes a una aplicación java de dispositivos BlackBerry.

Se permitirá la revisión del código generado y modificación del mismo,

brindando la posibilidad de modificar este código e incluir lógica de

programación para los diferentes aplicativos a realizarse.

Permitir la compilación del código para descartar posibles errores de

compilación.

Permitir la generación de un proyecto compatible con el entorno de Eclipse

Page 357: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

8

AGBB de Contenido

PANTALLA DE PRESENTACION

GRÁFICO 3

PRESENTACION AGBB

PANTALLA DE CREACION SELECCIÓN DE SOLICITUD

En esta pantalla se le permite al usuario las opciones de crear una nueva solución o

seleccionar una solución existente.

GRÁFICO 4

Pantalla de Creación , Selección de Solucion

En la opción de crear solución se le permitirá al usuario crear el sistema de archivos,

asi como los diferentes objetos iniciales para que la solución pueda ser compilada,

una vez creada la solución se creara el archivo <nombreSoluicion>.xmlSolucion

Page 358: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

9

Este contiene la información necesaria para ser abierto y retomar el diseño, en la

opción abrir solución existente se buscara un archivo xmlSolucion

GRÁFICO 5

Selección de Solución existente

Y una vez abierto este archivo se cargaran las clases creadas en esta solución.

GRÁFICO 6

Selección de Clase Creada

PANTALLA PRINCIPAL

Page 359: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

10

Pantalla Desarrollador

Esta pantalla contiene todo lo concerniente a los controles de las aplicaciones para

los dispositivos BlackBerry.

GRAFICO 7

Pantalla de Diseño

GRÁFICO 8

Detalle de Pantalla de Desarrollo - Detalle

A: Área de Desarrollo

B: Área De Propiedades de Formulario y Propiedades de Solución

C: Área De Cuadro de herramientas

D: Área De Propiedades de Controles de Formulario

E: Menú de Control.

Page 360: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

11

GRÁFICO 9

Área de Desarrollo

En esta pantalla se colocara los diferentes objetos que vayan a utilizaran en el

aplicativo, la ubicación es a comodidad del desarrollador.

GRÁFICO 10

Área de propiedades de Formulario y propiedades de solución

NOMBRE SOLUCIÓN: Nombre de la solución o proyecto que se exportara a

Eclipse

ICONO SOLUCIÓN: Icono que se displayara en el dispositivo BlackBerry

TITULO: Titulo de la pantalla o formulario

ICONO: Icono que se mostrara en la barra de tareas.

Reloj: Indica si se mostrara el reloj en la barra de título de la aplicación

Page 361: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

12

Notificaciones: Indica si se mostraran las notificaciones en la barra de tarea de la

aplicación

Señal: Indica si se muestra el identificador de señalen la barra de titulo

GRAFICO 11

Selección de Tipo de Fondo de Pantalla

Fondo: Indica que tipo de fondo se va a utilizar. Se tienen los siguientes

Ninguno: no se usara ningún fondo.

Color: indica que tendrá color de fondo

GRAFICO 12

Selección Color

Imagen: indica que se usara una imagen, aquí se solicita una imagen

GRAFICO 13

Selección Imagen

Page 362: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

13

GRÁFICO 14

Área De Cuadro de Herramientas.

Muestra todos los controles a ser usados en una aplicación para el dispositivo

Blackberry

Etiqueta:

Permite mostrar un texto con el formato que se desee, este texto no es editable en el

momento de ejecución.

Caja de Selección

Es una caja de selección, si este objeto se agregan más de 1 no hay restricción se

Page 363: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

14

pueden elegir más de 2 a la vez, es una caja de selección múltiple

Caja de Opción

Este control es de opción única, es decir si hay más de un control solo se permite

coger una sola opción.

Botón

Es un Control de acción para el formulario que se creo

Lista de Selección Txt

Es un control de opción con lista desplegable para selección única

Lista de selección Núm.

Es un control de lista de selección que muestra como contenido de lista solo

números.

Texto

Es un control que permite ingresar texto, este control es de mixtilíneas

Texto Solo Lectura

Es un control que permite ingresar texto en varia líneas, este control en tiempo

de ejecución no permite la edición.

Texto auto búsqueda

Page 364: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

15

Es un control que permite la edición y se guarda en memoria lo escrito para que

en un futuro se permita el ingreso del mismo y se busque entre las diferentes

opciones ingresadas.

Texto Autocorregir

Es un control que permite el ingreso del texto y permite con el diccionario

activo la corrección de las palabras ingresadas así como indicar que palabra

está mal escrita

Texto Autocompletar

Es un control que permite el ingreso del texto y dependiendo del diccionario

completa la palabra

Correo Electrónico

Es un control que permite el ingreso de correos electrónico

Password

Es un control de ingreso de texto, este texto en modo de ejecución es

escondido.

Campo Fecha

Es un campo de ingreso de Fecha

Campo Web

Page 365: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

16

Es un campo donde se puede ingresar código HTML o en su defecto una uro

para que se muestre una página en el aplicativo de dispositivo BlackBerry

Campo Imagen

Este campo es un campo que permite visualizar una imagen en el aplicativo

para el dispositivo BlackBerry

Campo MAPA

Este campo permite visualiza el mapa en la aplicación para el dispositivo

BlackBerry.

Área De Propiedades de controles de Formularios.

Indica las propiedades de cada control a usarse en las aplicaciones para dispositivos

BlackBerry

GRÁFICO 15

Propiedades de control Label

Nombre: Nombre del control

Texto: texto de la etiqueta

Color Fondo: Color de fondo de la etiqueta

Familia Fuente: Nombre de la familia de texto del control

Estilo Fuente: Nombre del estilo del texto en el control

Tamaño Fuente: Tamaño de fuente del control

Color Fuente: el color de la fuente del texto del control

Page 366: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

17

GRAFICO 16

Propiedades de Caja de Selección

Nombre: Nombre del control

Texto: texto de la etiqueta

Color Fondo: Color de fondo de la etiqueta

Familia Fuente: Nombre de la familia de texto del control

Estilo Fuente: Nombre del estilo del texto en el control

Tamaño Fuente: Tamaño de fuente del control

Color Fuente: el color de la fuente del texto del control

GRÁFICO 17

Propiedades Control de Opción

Nombre: Nombre del control

Texto: texto de la etiqueta

Page 367: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

18

Color Fondo: Color de fondo de la etiqueta

Familia Fuente: Nombre de la familia de texto del control

Estilo Fuente: Nombre del estilo del texto en el control

Tamaño Fuente: Tamaño de fuente del control

Color Fuente: el color de la fuente del texto del control

GRÁFICO 18

Propiedades de Botón

Nombre: Nombre del control

Texto: texto o etiqueta del control

Color Fondo: Color del fondo del control

Acción Botón: Acción dedicada al control incluido

GRÁFICO 19

Propiedades de Lista de Selección de Texto

Nombre: Nombre del control

Texto: texto de la etiqueta

Color Fondo: Color de fondo de la etiqueta

Familia Fuente: Nombre de la familia de texto del control

Estilo Fuente: Nombre del estilo del texto en el control

Tamaño Fuente: Tamaño de fuente del control

Page 368: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

19

Color Fuente: el color de la fuente del texto del control

Elementos: listado de elementos a utilizarse.

GRAFICO 20

Propiedades Lista de Selección numérica

Nombre: Nombre del control

Texto: texto de la etiqueta

Color Fondo: Color de fondo de la etiqueta

Familia Fuente: Nombre de la familia de texto del control

Estilo Fuente: Nombre del estilo del texto en el control

Tamaño Fuente: Tamaño de fuente del control

Color Fuente: el color de la fuente del texto del control

Mínimo: Mínimo en la lista de selección.

Comienzo: valor de inicio de la lista de selección.

Incremento: valor en que se incrementa la lista numérica en el control

Máximo: valor máximo de la lista de selección.

GRÁFICO 21

Propiedades de Control Texto

Page 369: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

20

Nombre: Nombre del control

Texto: texto de la etiqueta

Color Fondo: Color de fondo de la etiqueta

Familia Fuente: Nombre de la familia de texto del control

Estilo Fuente: Nombre del estilo del texto en el control

Tamaño Fuente: Tamaño de fuente del control

Color Fuente: el color de la fuente del texto del control

Elementos: listado de elementos a utilizarse.

GRAFICO 12

Propiedades de Texto de Solo Lectura.

Nombre: Nombre del control

Texto: texto de la etiqueta

Color Fondo: Color de fondo de la etiqueta

Page 370: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

21

Familia Fuente: Nombre de la familia de texto del control

Estilo Fuente: Nombre del estilo del texto en el control

Tamaño Fuente: Tamaño de fuente del control

Color Fuente: el color de la fuente del texto del control

Elementos: listado de elementos a utilizarse.

GRAFICO 13

Propiedades de Texto Auto búsqueda

Nombre: Nombre del control

Texto: texto de la etiqueta

Color Fondo: Color de fondo de la etiqueta

Familia Fuente: Nombre de la familia de texto del control

Estilo Fuente: Nombre del estilo del texto en el control

Tamaño Fuente: Tamaño de fuente del control

Color Fuente: el color de la fuente del texto del control

Elementos: listado de elementos a utilizarse para la búsqueda.

GRÁFICO 14

Propiedades de texto Autocorregir

Page 371: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

22

Nombre: Nombre del control

Texto: texto de la etiqueta

Color Fondo: Color de fondo de la etiqueta

Familia Fuente: Nombre de la familia de texto del control

Estilo Fuente: Nombre del estilo del texto en el control

Tamaño Fuente: Tamaño de fuente del control

Color Fuente: el color de la fuente del texto del control

GRAFICO 15

Propiedades Texto Autocompletar

Nombre: Nombre del control

Texto: texto de la etiqueta

Color Fondo: Color de fondo de la etiqueta

Familia Fuente: Nombre de la familia de texto del control

Estilo Fuente: Nombre del estilo del texto en el control

Tamaño Fuente: Tamaño de fuente del control

Color Fuente: el color de la fuente del texto del control

GRÁFICO 16

Page 372: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

23

Propiedades de control Correo Electrónico

Nombre: Nombre del control

Texto: texto de la etiqueta

Color Fondo: Color de fondo de la etiqueta

Familia Fuente: Nombre de la familia de texto del control

Estilo Fuente: Nombre del estilo del texto en el control

Tamaño Fuente: Tamaño de fuente del control

Color Fuente: el color de la fuente del texto del control

GRÁFICO 17

Propiedades de Password

Nombre: Nombre del control

Texto: texto de la etiqueta

Color Fondo: Color de fondo de la etiqueta

GRAFICO 18

Propiedades de control fecha

Page 373: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

24

Nombre: Nombre del control

Texto: texto de la etiqueta

Color Fondo: Color de fondo de la etiqueta

GRÁFICO 19

Propiedades de Control Web

Nombre: Nombre del control

Texto: dirección uro de la página a cargar

Color Fondo: Color de fondo de la etiqueta

GRÁFICO 20

Propiedades de control imagen

Page 374: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

25

Nombre: Nombre del control

Texto: no aplica

Ancho del control imagen

Alto alto del control imagen

Imagen imagen a cargar en el control

GRÁFICO 21

Propiedades de control mapa

Muestra el control que visualiza el mapa.

Para eliminar un control se hace click derecho en el control y aparece l opción de eliminar.

Page 375: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

26

GRAFICO 22

Menú de Control

Permite ver las acciones que se realizaran, las cuales son las siguientes.

Nuevo. Permite crear un nuevo proyecto desde cero

Mostrar Codigo. Muestra el codigo que se genero con el formulario

Compilar Pewmrite compilar el codigo generado o modificado

Generar Solucion. Permite geenerar la solucion para ser importada en Eclipse

Menú Opción Nuevo

Permite limpiar el formulario y crear una nueva solución.

Menú Mostrar Código

Este menú cambia el t3exzto dependiendo de la acción que se va a realizar

Teniendo lo siguiente para este control

Al hacer clic en este control se mostrara el siguiente texto

En la acción mostrar código se mostrara el código generado y se permitirá la edición del

mismo

GRAFICO 23

Page 376: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

27

Código Generado

Page 377: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

28

El código generado es el resultado de la interacción con los diferentes controles que se

utilizaron para la aplicación

GRÁFICO 24

Diseño

Con la acción de mostrar diseño se muestra el diseñador

Page 378: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

29

GRÁFICO 25

Menú Acción Compilar

La acción compilar analiza el código autogenerado y el código modificado por el usuario

en búsqueda de posibles errores

Menú Acción Generar Solución

Se muestra un mensaje indicando que la solución se ha generado en la ruta que se indica

en el mensaje

Esta ruta se cambia dependiendo de la solución generada

GRÁFICO 26

Ventana de Diseño Para compilación

El siguiente diseño se lo exportara a eclipse

Page 379: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

30

Para lo cual se utilizara el ide de eclipse de la siguiente manera se genera la solución y se

muestra la dirección donde se genera

GRÁFICO 27

Importación de Solución a Eclipse

Page 380: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

31

GRÁFICO 28

Paso 2 de importación de solución a eclipse

GRÁFICO 29

Importación de solución a Eclipse Paso 3

Page 381: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

32

GRAFICO 30

Selección de Carpeta Solución

GRÁFICO 31

Verificación de Archivo Solución

Page 382: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

33

GRÁFICO 32

Visualización de solución en Eclipse

ejecución de proyecto

Para ejecutar se hace click al botón play y seleccionar el emulador

GRAFICO 33

Ejecucion del Proyecto en Eclipse – Selección de Emulador

Page 383: TESIS DE GRADO - Repositorio Universidad de Guayaquil ...repositorio.ug.edu.ec/bitstream/redug/6684/1/TesisCompleta-487... · Cuyo tema es: Interfaces ... INTRODUCCIÓN 1-9 CAPITULO

34

GRAFICO 34

Ejecución de Proyecto, Verificación de compilación en Eclipse

GRÁFICO 35

Visualización e Solución