244
INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD PROFESIONAL ZACATENCO Diseño e implementación de herramientas básicas de Ingeniería en Comunicaciones y Electrónica para Pocket PC T E S I S Que para obtener el Título de: Ingeniero en Comunicaciones y Electrónica Presentan: Gómez Muñoz Jessica Lissete Herrera Cárdenas Christian Santiago Álvarez Jorge Luis Asesores: Ing. Armando Mancilla León M. en C. Roberto Galicia Galicia Mayo 2009

T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Embed Size (px)

Citation preview

Page 1: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

INSTITUTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y

ELÉCTRICA

UNIDAD PROFESIONAL ZACATENCO

Diseño e implementación de herramientas básicas de

Ingeniería en Comunicaciones y Electrónica para Pocket PC

T E S I S

Que para obtener el Título de:

Ingeniero en Comunicaciones y Electrónica

Presentan:

Gómez Muñoz Jessica Lissete

Herrera Cárdenas Christian

Santiago Álvarez Jorge Luis

Asesores:

Ing. Armando Mancilla León

M. en C. Roberto Galicia Galicia

Mayo 2009

Page 2: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen
Page 3: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

DISEÑO E IMPLEMENTACIÓN

DE HERRAMIENTAS BÁSICAS

DE INGENIERÍA EN

COMUNICACIONES Y

ELECTRÓNICA PARA POCKET

PC

Page 4: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen
Page 5: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página i

ÍNDICE

Contenido

Agradecimientos ............................................................................................................................ iii

Dedicatorias .................................................................................................................................. iv

Objetivo General ............................................................................................................................. v

Objetivos Particulares: ..................................................................................................................... v

Justificación ................................................................................................................................... vi

INTRODUCCIÓN .......................................................................................................................... vii

CAPÍTULO I ................................................................................................................................... 1

Marco Histórico y Estado del Arte ..................................................................................................... 1

1.1 Marco Histórico ............................................................................................................... 1

1.1.1 ¿Qué es un dispositivo móvil?.......................................................................................... 2

1.1.2 Breve historia de los celulares.......................................................................................... 3

1.1.3 Celulares como herramientas de trabajo ........................................................................... 6

1.2 Estado del Arte ...................................................................................................................... 6

1.2.1 Sistemas Operativos para móviles.................................................................................... 6

1.2.2 Características de un Dispositivo móvil actual ................................................................ 12

1.2.3 Aplicaciones de un dispositivo móvil ............................................................................... 13

1.2.4 Aplicaciones Windows Mobile con tecnología .NET ......................................................... 16

1.3 Pocket PC........................................................................................................................... 18

1.3.1 Características de PocketPC ......................................................................................... 19

1.3.3 Funciones básicas ........................................................................................................ 20

CAPÍTULO II ................................................................................................................................ 23

Planteamiento del Problema y Herramientas de Software ................................................................. 23

2.1 Planteamiento del problema ................................................................................................. 23

2.2 Tecnología .NET.................................................................................................................. 24

2.2.1 Versiones de multiplataforma de .NET Framework........................................................... 25

2.2.2 Características de Visual C# .NET.................................................................................. 27

2.3 Windows Mobile .................................................................................................................. 28

2.3.1 Características de Windows Mobile y algunas aplicaciones incluidas................................. 28

Page 6: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página ii

2.4 Visual Studio ....................................................................................................................... 32

2.4.1 Versiones ..................................................................................................................... 33

2.4.2 Funciones de Visual Studio ............................................................................................ 34

CAPÍTULO III ............................................................................................................................... 35

Diseño y Desarrollo de la Aplicación ............................................................................................... 35

3.1 Descripción general de la aplicación...................................................................................... 35

3.2 Desarrollo y creación de la aplicación .................................................................................... 37

3.2.1 Herramientas del software ............................................................................................. 41

3.2.1.1 Controles usados para el diseño de la aplicación ...................................................... 43

3.2.2 Desarrollo de herramientas de apoyo para las aplicaciones de ICE para Pocket PC ........... 49

3.2.3 Diseño de la interfaz ..................................................................................................... 81

3.3 Programación y codificación ................................................................................................. 90

3.3.1 Diagramas de clase ...................................................................................................... 92

3.4 Conversión de formularios a bibliotecas de clases. ................................................................. 97

CAPÍTULO IV ............................................................................................................................. 103

Implementación y Pruebas ........................................................................................................... 103

4.1 Conexión con el dispositivo ............................................................................................... 103

4.1.1 Emulador Smart Device de Visual Studio ...................................................................... 104

4.2 Implementación ................................................................................................................ 106

4.2.1 Transferencia de la aplicación al dispositivo móvil.......................................................... 106

4.3 Análisis de pruebas........................................................................................................... 110

4.3.1 Resultados en el dispositivo móvil y el emulador ........................................................... 115

4.4 Análisis de costos .................................................................................................................. 118

Conclusiones .............................................................................................................................. 121

Anexos ....................................................................................................................................... 124

Herramientas útiles de .NET Framework ................................................................................... 124

Especificaciones técnicas de instalación y compatibilidad con el sistema operativo del Pocket. ..... 125

Compatibilidad del Active Sync con diferentes sistemas operativos y dispositivos ......................... 127

Requerimientos de instalación Visual Studio 2008 ..................................................................... 128

Referencia de la biblioteca de clases de .NET Framework .......................................................... 129

Apéndice “Códigos de las herramientas de apoyo de la aplicación de ICE” .................................. 158

Referencias ................................................................................................................................ 221

Glosario ..................................................................................................................................... 225

Índice Alfabético......................................................................................................................... 229

Page 7: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página iii

Agradecimientos

Algunas veces el camino se puede tornar difícil, algunas veces puede estar inclinado y muy pesado de subir, otras

veces plano y sin chiste. Y así, durante el trayecto, sea cual sea el que se recorra para llegar a nuestro destino, se

puede encontrar de todo tipo de obstáculos grandes o pequeños, son esos obstáculos los que hacen que uno

aprenda a sobrevivir y a ser mejor día a día. Sin embargo esto no sería posible sin la ayuda y el apoyo de las

personas que nos acompañan a nuestro alrededor a recorrer con nosotros ese camino.

Es por eso que al día de hoy en que he llegado a una de las primeras paradas, que haré durante mi trayecto,

quiero agradecer a mis padres, por todo su amor, su comprensión, su cariño, por estar conmigo desde niña, por

impulsarme a ser mejor día con día, por nunca dejar que me cayera, y ayudarme a levantarme si así fuera. Papás,

se que el camino ha sido difícil y que nos hemos topado con tristezas alegrías, pero también disfrutamos de los

éxitos que todo esto conlleva.

A mi hermana Miriam, porque sin su fortaleza como hermana, no hubiera podido reponerme de tantas cosas, por

sus consejos de hermana adulta, aun cuando es más pequeña que yo, Miriam ¡¡eres súper!!, te amo y te

agradezco todas las alegrías que me das y las ocurrencias que hicieron nivelar mi nivel de estrés, jejeje… ^_^‟

A mi hermano Ricardo, siempre tan intelectual, excelentes consejos, valiosos para poder seguir mi camino,

gracias por algunos conceptos que me diste para escribir parte de la tesis, ahora se lo importante que es tener un

diccionario a la mano. Para tu corta edad me apoyaste en mis locuras y arrebatos y me dijiste “cálmate y sigue

adelante…”, gracias por eso y mucho más, te amo Ricardo, sígueme poniendo música mientras trabajo para evitar

que me duerma, aunque luego eso no se pueda lograr jejeje… ^_^‟

A mis amigos, por su apoyo y comprensión, su cariño, su amistad desinteresada, por enseñarme que hay más

cosas en la vida que solo estudiar; por decirme que la diversión se puede combinar con el estudio y el trabajo, por

comprender mi falta de tiempo y por entender que aunque no conviviéramos mucho tiempo juntos, ellos y yo

siempre estaríamos para apoyarnos, aún en los momentos de tristeza y enojo.

Sobre todo quiero darle las gracias a Dios, por colmarme de tantas bendiciones, por nunca dejarme desamparada

y por brindarme siempre un rayito de luz y esperanza. Dios gracias por ese poder infinito y por poner en mi camino

a todas y cada una de las personas que me ayudaron a crecer como persona y me llevaron a lograr lo que ahora

soy.

MIL GRACIAS!!!

Page 8: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página iv

Dedicatorias

Page 9: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página v

OBJETIVOS

Objetivo General

Diseñar e implementar una aplicación para dispositivos móviles, Pocket PC, con sistemas Windows

Mobile con ayuda de la herramienta de programación Visual Studio y .NET Framework.

Objetivos Particulares:

Brindar una aplicación de apoyo, al estudiante de Ingeniería en Comunicaciones y Electrónica, una

interfaz que le permita realizar soluciones operativas básicas, con fines prácticos en esta rama; la

aplicación pretende que el usuario tenga un apoyo sustentable, la cual le ofrecerá herramientas de

diseño, de cálculo, de visualización, tales como una calculadora, formularios e información que le sirva

de apoyo a algunos temas, referentes a las materias de tronco común.

Page 10: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página vi

Justificación

Que el estudiante de ingeniería tenga las herramientas necesarias, para realizar sus tareas afines con

sus materias de Ingeniería en Comunicaciones y Electrónica, por lo que esta herramienta le será de

apoyo para resolver sus problemas de ingeniería básica y con mejores resultados.

De manera más práctica, se integran, en un solo dispositivo, las herramientas necesarias básicas,

siendo innecesario el transporte de otros aditamentos como calculadora, equipo portátil (laptop), hojas

de especificación o un gran volumen de libros, desde luego, en caso de requerir tareas más específicas,

sí se tendrá que recurrir al uso de otros medios.

La aplicación está elaborada en un entorno totalmente orientado a objetos, para la facilidad de uso del

usuario en una plataforma realizada basándose en la tecnología .NET y con un software especializado

en la creación de soluciones de software, como lo es Visual Studio 2008 Professional Edition, que nos

brindan una mejor opción de diseño e implementación del software, y se adaptan a las aplicaciones

utilizadas en los dispositivos orientados a Windows Mobile (Pocket‟s PC y Smartphone). De esta

manera, el usuario podrá implementar esta aplicación de manera fácil a su dispositivo móvil, y podrá

interactuar de manera amigable con la aplicación.

Page 11: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página vii

INTRODUCCIÓN

Cuando se habla de desarrollar software para dispositivos móviles, lo primero que se viene a la mente es

el desarrollo para teléfonos celulares, pero, en muchas ocasiones, no se tiene claro que se debe hacer;

¿Un sitio Web? ¿Una aplicación para el celular?

Lo cierto es que, un dispositivo móvil no es solo un celular, y que además, el software a desarrollar,

puede ser, tanto un sitio Web, como una aplicación para el dispositivo.

Los celulares no son los únicos dispositivos móviles para los cuales se puede desarrollar software,

existen otros dispositivos como Palm o Pocket PC. Dispositivos de mano, pequeños con, ciertamente,

una gran potencia.

Para poder tomar la decisión correcta, tanto para elegir el dispositivo correcto, como la tecnología a usar,

es necesario conocer cuáles son nuestras necesidades, tanto presentes como futuras, las capacidades

del dispositivo que se elija, el conocimiento actual o la facilidad de adquirir este conocimiento sobre el

software de desarrollo, entre otras.

Por un lado, Palm, nos brinda una plataforma de desarrollo basada en su propio lenguaje, el cual tiene

fundamentos en C y C++. En la actualidad, el software para desarrollar aplicaciones para estos

dispositivos es totalmente gratis, pero, para poder compilar una aplicación desarrollada para este, es

necesario desembolsar una gran suma, ya que, los compiladores se venden por separado y son

vendidos por terceros, y por último, si uno no posee un equipo Palm, es necesario obtener el BIOS del

equipo para el cual se quiera desarrollar, pero para ello, se deben llevar a cabo una serie de trámites

entre Palm y la empresa a desarrollar, para poder obtener una copia de dicho BIOS.

En contraste con Pocket PC y con Windows CE incluido, se puede programar con dos plataformas de

desarrollo, .Net, y Microsoft Embedded Visual Tools, estas últimas, herramientas totalmente gratuitas,

que nos permiten programar en lenguajes como Visual Basic o Visual C o C#.

En el caso de que se quieran utilizar tecnologías de vanguardia, también se puede desarrollar con .Net,

el cual acepta, no sólo los lenguajes tradicionales de Microsoft, si no, lenguajes alternativos como Java,

Page 12: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página viii

Borland C, entre otros, y por supuesto, se puede acceder a toda la potencia de .Net, pero desde la

Pocket PC.

Se debe aclarar, que .Net, por parte de terceros, también puede desarrollar para Palm, lo que, en este

punto, ya hace la diferencia.

En el caso de teléfonos celulares, se tienen dos alternativas, crear un sitio Web o desarrollar

aplicaciones para el mismo celular. Y una vez más, se pueden plantear las dificultades de aprender un

nuevo lenguaje.

Si se pone en contraste, .Net contra otras tecnologías, se ve que, dependiendo de la marca del celular,

éste posee, para el desarrollo de aplicaciones, un lenguaje específico, aunque basados en C y C++,

cambian de celular a celular. Y en el caso del desarrollo de sitios web para celulares, es necesario

aprender otro lenguaje, comúnmente llamado WML, el cual es una mezcla de XML, con etiquetas “tags”

específicas, y el lenguaje de servidor que se quiera imbuir con nuestro código.

Por el contrario, .Net, tiene la facilidad de que, utilizando la misma forma de trabajo, que el desarrollo de

una página web normal, se pueden crear sitios web, para teléfonos celulares, dejando el código simple y

sin mezclas extrañas de otros lenguajes y tomando en sus manos el trabajo “sucio” de transformación de

datos y lenguajes.

Por último, para el desarrollo de aplicaciones para dispositivos móviles, .Net nos entrega el mismo

entorno de desarrollo, para una aplicación de escritorio. Indudablemente, que este desarrollo, es para

teléfonos celulares o Pocket PC que poseen Windows CE.

En definitiva, .Net lleva ventaja, integrando el desarrollo para dispositivos móviles, con tres alternativas

(Aplicaciones Web para móviles, aplicaciones para celulares, y aplicaciones para dispositivos Pocket),

prácticamente con el mismo código, y con lenguajes de programación que se adaptan a lo que se puede

saber u obtener información en corto plazo.

A lo largo de éste documento se abordarán diversos temas que ayudarán a un mejor entendimiento de

cómo diseñar y desarrollar aplicaciones a dispositivos móviles.

Page 13: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página ix

Así, en el capítulo I, se hablará del estado del arte, la historia y evolución de los dispositivos móviles; así

como los diferentes sistemas operativos que están instalados en cada uno de ellos y las diferentes

aplicaciones desarrolladas para el dispositivo móvil, Pocket PC sus principales características y

funciones básicas.

En el capítulo II, se plantea el problema, el cual es, el desarrollo de la aplicación que será implementada

a la Pocket PC, el estudio de las herramientas de desarrollo y las características de Tecnología .NET,

Windows Mobile y una introducción las principales funciones de Visual Studio 2008.

En el capítulo III, se trata más ampliamente del diseño y desarrollo de la aplicación. Las funciones y

herramientas del Visual Studio utilizadas para el diseño de las diferentes interfaces, descripción de los

controles y el desarrollo paso a paso de las herramientas de apoyo para las aplicaciones de ICE para

Pocket PC. Se muestra la manera de programar los controles para que realicen diversas funciones de

acuerdo al tipo de herramienta que se esté desarrollando. Por último se muestra la conversión de los

diversos formularios a bibliotecas de clases, para después conjuntarlas en un solo proyecto.

En el capítulo IV, se explica la manera de sincronizar la Pocket PC por medio del Active Sync, y de esta

manera poder implementar la aplicación; o bien si no se cuenta con el dispositivo, se muestra la manera

de probar la aplicación por medio del emulador con el que cuenta el Visual Studio. Se realizan las

pruebas necesarias con la aplicación, para verificar que se implementó satisfactoriamente.

También se presenta un análisis de costos de la implementación de la aplicación.

Page 14: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página x

Page 15: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo I Marco Histórico y Estado del arte

Aplicación de software a dispositivos móviles Página 1

CAPÍTULO I

Marco Histórico y Estado del Arte

1.1 Marco Histórico

Las tecnologías inalámbricas han tenido mucho auge y desarrollo en estos últimos años.

Una de las que ha tenido un gran desarrollo ha sido la telefonía móvil.

Desde sus inicios a finales de los años 70 han revolucionado enormemente las actividades

que se realizan diariamente. Los dispositivos móviles últimamente se han convertido en una

herramienta primordial para la gente de negocios; las hace sentir más seguras y las hace,

hasta cierto punto, más productivas.

A pesar de que la telefonía celular fue concebida estrictamente para la voz, la tecnología

celular de hoy es capaz de brindar otro tipo de servicios, como datos, audio y video con

algunas limitaciones. Sin embargo, la telefonía inalámbrica del mañana hará posible

aplicaciones que requieran un mayor consumo de ancho de banda.

La evolución del teléfono móvil ha permitido disminuir su tamaño y peso, desde ese primer

teléfono móvil en 1983 que pesaba 780 gramos, a los actuales más compactos y con

mayores prestaciones de servicio. El desarrollo de baterías más pequeñas y de mayor

duración, pantallas más nítidas y de colores, la incorporación de software más amigable, hoy

en día, hacen del teléfono móvil un elemento muy apreciado en la vida moderna.

El avance de la tecnología ha hecho que estos aparatos incorporen funciones que no hace

mucho parecían futuristas, como juegos, reproducción de música MP3 y otros formatos,

correo electrónico, SMS, agenda electrónica PDA, fotografía digital y video digital, video

llamada, navegación por Internet y hasta Televisión digital. Con el desarrollo de la Pocket

Page 16: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo I Marco Histórico y Estado del arte

Página 2 Aplicación de software a dispositivos móviles

PC, se incorporó la función de block de notas, agenda y otras funciones fáciles de

sincronizar con una PC; la primer compañía que hizo esto posible fue US Robotics, y el

dispositivo lo llamó Pilot 1000, en aquella entonces, aproximadamente 1996, éste dispositivo

contaba con un poderoso procesador Motorola de 16 MHz y 128 KB de RAM. Un poco más

tarde el nombre fue modificado a Palm Pilot, desembarcando en el mercado en 1997 con

dos versiones Palm Pilot personal y Palm Pilot profesional, éste último con memoria en RAM

de 1 MB, conectividad TCP/IP, reconocimiento de escritura y base de sincronización;

abriéndose paso a una multitud de aplicaciones. Las compañías de telefonía móvil y otros

dispositivos móviles, ya están pensando nuevas aplicaciones para este pequeño aparato

que acompaña a todas partes. Algunas de esas ideas son: medio de pago, localizador e

identificador de personas. Siempre hay que tener en cuenta los grandes avances sufridos

desde el primer dispositivo móvil hasta el actual.

1.1.1 ¿Qué es un dispositivo móvil?

Un dispositivo móvil no es sólo un celular. Los dispositivos móviles (también conocidos

como computadora de mano, "Palmtop" o simplemente handheld) son aparatos de pequeño

tamaño, con algunas capacidades de procesamiento, con conexión permanente o

intermitente a una red, con memoria limitada, diseñados específicamente para una función,

pero que pueden llevar a cabo otras funciones más generales.

Estos dispositivos describen a un ordenador portátil para diversas aplicaciones, que puede

ser llevado a cualquier parte mientras se utiliza.

Los computadores Hand held, o también llamados PDAs (Personal Digital Assistants) son los

llamados ordenadores de la palma de la mano, y fueron diseñados originalmente como

organizadores personales, y ellos hacen esto realmente bien. Las características básicas de

cualquier PDA son una agenda, libreta de direcciones, lista de tareas, y block de notas,

aunque con el auge de los nuevos procesadores y disponibilidad de software, ya se han

potenciado las aplicaciones web, juegos y casi cualquier otra aplicación que se pueda

pensar. Aunque estas primeras características son muy provechosas para mantener a

cualquier persona ordenada, la característica que elevó su uso, para cualquier persona

Page 17: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo I Marco Histórico y Estado del arte

Aplicación de software a dispositivos móviles Página 3

ocupada, que utilice una computadora de escritorio, es la de la sincronización fácil de la

información con el ordenador del escritorio, dentro de esta categoría, se ha fusionado un

teléfono celular con características similares a las de un computador personal, el cual da

como resultado un Teléfono Inteligente o Smartphone, que es un dispositivo electrónico.

Casi todos los teléfonos inteligentes son celulares que soportan completamente un cliente de

correo electrónico, con la funcionalidad completa de un organizador personal. Una

característica importante de casi todos los teléfonos inteligentes, es que permiten la

instalación de programas para incrementar el procesamiento de datos y la conectividad.

Estas aplicaciones pueden ser desarrolladas por el fabricante del dispositivo, por el operador

o por un tercero. El término "Inteligente" hace referencia a cualquier interfaz, como un

teclado QWERTY en miniatura, una pantalla táctil, o simplemente el acceso seguro al correo

electrónico de una compañía, como el provisto por un BlackBerry.

Los teléfonos inteligentes se distinguen por muchas características que incluyen, pero estas

características no se limitan a, pantallas táctiles ni a un sistema operativo así como la

conectividad a Internet. El completo soporte al correo electrónico parece ser una

característica definitiva, encontrada en todos los modelos existentes y anunciados en el

2007. Casi todos los teléfonos inteligentes también permiten al usuario instalar programas

adicionales, normalmente desde terceros, pero algunos vendedores gustan de presumir a

sus teléfonos como inteligentes, aun cuando no tienen esa característica.

Entre las características más importantes está el acceso a Internet y al correo electrónico, a

los programas de agenda, las cámaras integradas, administración de contactos,

acelerómetros y algunos programas de navegación, así como ocasionalmente la habilidad de

leer documentos de negocios en variedad de formatos como: PDF y Microsoft Office.

1.1.2 Breve historia de los celulares

Martin Cooper fue el pionero en esta tecnología, a él se le considera como "el padre de la

telefonía celular" al introducir el primer radioteléfono, en 1973, en Estados Unidos, mientras

Page 18: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo I Marco Histórico y Estado del arte

Página 4 Aplicación de software a dispositivos móviles

trabajaba para Motorola; pero no fue hasta 1979 cuando aparecieron los primeros sistemas

comerciales en Tokio, Japón, por la compañía NTT.

En 1981, los países nórdicos introdujeron un sistema celular similar a AMPS (Advanced

Mobile Phone System). Por otro lado, en Estados Unidos, gracias a que la entidad

reguladora de ese país adoptó reglas para la creación de un servicio comercial de telefonía

celular, en 1983 se puso en operación el primer sistema comercial en la ciudad de Chicago.

Con ese punto de partida, en varios países se diseminó la telefonía celular como una

alternativa a la telefonía convencional inalámbrica. La tecnología tuvo gran aceptación, por lo

que a los pocos años de implantarse se empezó a saturar el servicio. En ese sentido, hubo

la necesidad de desarrollar e implantar otras formas de acceso múltiple al canal, y

transformar los sistemas analógicos a digitales, con el objeto de darles cabida a más

usuarios. Para separar una etapa de la otra, la telefonía celular se ha caracterizado por

contar con diferentes generaciones. A continuación, se describe cada una de ellas.

LAS GENERACIONES DE LA TELEFONIA INALAMBRICA

--Primera generación (1G)

La 1G de la telefonía móvil, hizo su aparición en 1979 y se caracterizó por ser analógica y

estrictamente para voz. La calidad de los enlaces era muy baja, tenían baja velocidad (2400

bauds). En cuanto a la transferencia entre celdas, era muy imprecisa ya que contaban con

una baja capacidad (Basadas en FDMA, Frequency Division Multiple Access) y, además, la

seguridad no existía. La tecnología predominante de esta generación es AMPS (Advanced

Mobile Phone System).

--Segunda generación (2G)

La 2G arribó hasta 1990, y a diferencia de la primera se caracterizó por ser digital.

EL sistema 2G utiliza protocolos de codificación más sofisticados, y se emplea en los

Page 19: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo I Marco Histórico y Estado del arte

Aplicación de software a dispositivos móviles Página 5

sistemas de telefonía celular actuales. Las tecnologías predominantes son: GSM (Global

System por Mobile Communications); IS-136 (conocido también como TIA/EIA136 o ANSI-

136) y CDMA (Code Division Multiple Access) y PDC (Personal Digital Communications),

éste último utilizado en Japón.

Los protocolos empleados en los sistemas 2G soportan velocidades de información más

altas por voz, pero limitados en comunicación de datos. Se pueden ofrecer servicios

auxiliares, como datos, fax y SMS (Short Message Service). La mayoría de los protocolos de

2G ofrecen diferentes niveles de encriptación. En Estados Unidos y otros países se le

conoce a 2G como PCS (Personal Communication Services).

--Generación 2.5 G

Muchos de los proveedores de servicios de telecomunicaciones, se moverán a las redes

2.5G antes de entrar masivamente a la 3. La tecnología 2.5G es más rápida, y más

económica para actualizar a 3G.

La generación 2.5G ofrece características extendidas, ya que cuenta con más capacidades

adicionales que los sistemas 2G, como: GPRS (General Packet Radio System), HSCSD

(High Speed Circuit Switched), EDGE (Enhanced Data Rates for Global Evolution), IS-136B

e IS-95Bm entre otros. Los

--Tercera generación 3G.

La 3G se caracteriza por contener a la convergencia de voz y datos con acceso inalámbrico

a Internet; en otras palabras, es apta para aplicaciones multimedia y altas transmisiones de

datos.

Los protocolos empleados en los sistemas 3G, soportan altas velocidades de información y

están enfocados para aplicaciones más allá de la voz como audio (mp3), video en

movimiento, videoconferencia y acceso rápido a Internet, sólo por nombrar algunos.

Page 20: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo I Marco Histórico y Estado del arte

Página 6 Aplicación de software a dispositivos móviles

3G es la tecnología actual y cumplió con las predicciones que en el 2000, The Yanlee Group

anticipó para el 2004 habría más de 1,150 millones en el mundo, comparados con los 700

millones que hubo en el 2000. Dichas cifras anticiparon un gran número de capital

involucrado en la telefonía inalámbrica, lo que con mayor razón las compañías fabricantes de

tecnología, así como los proveedores de servicios de telecomunicaciones, estarían

dispuestos a invertir su capital en esta aventura llamada 3G.

1.1.3 Celulares como herramientas de trabajo

Los Handheld se han convertido en equipos robustos para su utilización en la gestión de

situaciones empresariales, como por ejemplo, para la grabación de información estando en

la calle. Actualmente son usados para archivar una variedad de tareas y para incrementar la

eficiencia, como ser, la digitalización de notas, gestión de archivos, capturas de firmas,

gestión y escaneo de partes de código de barras, entre otras tareas. Las computadoras

Handheld usadas en el trabajo, han moldeado a través del tiempo una variedad de factores y

de formas, incluyendo teléfonos inteligentes, Handheld, PDAs, PCs Ultra Móviles, Tablet

PCs, Pocket PC, e incluso computadoras portátiles.

1.2 Estado del Arte 1.2.1 Sistemas Operativos para móviles

Probablemente, cualquier usuario de informática tenga en el bolsillo un segundo ordenador

más potente después de su PC: el teléfono móvil o una Pocket PC. Muchos móviles actuales

incluyen, además de la agenda, calendario de citas, videojuegos, reproductor y grabador de

vídeo, correo electrónico e incluso navegación por la Red. Debajo de todos esos programas,

hay un sistema operativo.

Los sistemas operativos están en primera instancia, sobre todo los de PC. Microsoft, la

mayor de las empresas de software, aparece con frecuencia en los medios de comunicación,

sea por sus litigios ante la justicia o por sus problemas con la seguridad de sus programas.

Page 21: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo I Marco Histórico y Estado del arte

Aplicación de software a dispositivos móviles Página 7

Linux, en cambio, el sistema operativo abierto más popular, suele ser noticia cada vez que

una administración pública decide utilizarlo.

Los dispositivos móviles también tienen sus propios sistemas operativos, aunque son menos

famosos que los de PC. Sin embargo, así como el mercado de los sistemas operativos para

PC está dominado por Windows, en el caso de los móviles hay más competencia. La mayor

parte se lo reparten entre tres sistemas: Windows, Symbian y Linux.

Por norma general, antes de la compra de un dispositivo móvil, son pocos los usuarios, los

que atienden al sistema operativo que se instala en el dispositivo. Y son muchos menos los

que lo hacen cuando el dispositivo no es un teléfono inteligente. Pero la guerra en busca de

un sistema operativo estándar es larga y, pese a que últimamente se ha especulado con una

posible fusión entre plataformas o de un predominio claro de un sistema sobre los demás, lo

cierto es que pocas posiciones han variado desde hace más de diez años.

Nokia y Sony Ericsson, por citar algunos ejemplos, han hecho de la plataforma Symbian, su

bandera estratégica en el terreno de los sistemas operativos para sus teléfonos inteligentes.

De hecho, el sistema S60 (la plataforma Symbian utilizada actualmente por Nokia en su

exitosa Serie N), es en este momento el sistema operativo más utilizado a nivel mundial en

el mercado de smartphones. Otros fabricantes, como es el caso de HP, HTC, Toshiba, Acer,

Asus y recientemente Palm, se han decantado por Windows Mobile como plataforma de

desarrollo. Los argumentos son los que clásicamente se atribuyen a cualquier producto

Microsoft: compatibilidad, facilidad de uso, integración con los sistemas Windows para PC,

gracias a una interfaz similar y la garantía de marca que supone Microsoft.

Windows Mobile

Windows Mobile, antes conocido como Windows CE o Pocket PC, tiene una larga historia

como segundo en el campo de los PDA u ordenadores de bolsillo, sin embargo, hace poco

tiempo superó por primera vez al hasta entonces líder, Palm OS.

El mismo sistema operativo que se emplea en una PDA se aplica a los teléfonos móviles, y

la nueva versión 5 está muy orientada a los teléfonos inteligentes de tercera generación

Page 22: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo I Marco Histórico y Estado del arte

Página 8 Aplicación de software a dispositivos móviles

(3G). Tras unos años de escasa implantación, Windows Mobile 5 ha logrado atraer a

fabricantes como Qtek, Samsung, Nec o la propia Palm, que lo incorpora en sus teléfonos

Treo.

Una de las ventajas de Windows Mobile sobre sus competidores, es que los programadores

pueden desarrollar aplicaciones para móviles, utilizando los mismos lenguajes y entornos

que emplean con Windows para PC. En comparación con las aplicaciones para Symbian,

que necesitan más esfuerzo de desarrollo, aunque también están más optimizadas para

cada modelo de teléfono.

Lentamente, la compañía ha tenido que ir “convenciendo” a los fabricantes sobre las virtudes

de su sistema operativo sobre los ya estandarizados Symbian o Palm OS, y así ha

conseguido una importante cuota de mercado hoy en día. De este modo, Windows Mobile

está integrado hoy en más de 150 dispositivos de comunicación móvil y su plataforma es la

segunda más extendida en Europa.

Lo que Microsoft desarrolla con Windows Mobile 6, la última versión de su sistema operativo

móvil, son nuevas características y herramientas en una plataforma que asegura flexibilidad,

productividad y usabilidad. Esto se materializa en dispositivos que utilizan una interfaz que

es similar al Windows de una PC convencional, pero todo diseñado a medida de los

terminales. Las piezas fundamentales del sistema, son su compatibilidad con los estándares

en cuanto a correos electrónicos, HTML, la suite Office y la gestión de la seguridad. Integra

una interfaz del programa Outlook, que ahora soporta formato HTML y que permite a los

usuarios disfrutar de la administración de los mensajes. En este sentido, además, el

desarrollo de la plataforma Windows Live se ha enriquecido y optimizado, combinando

servicios on-line como Messenger Live y Search. Además, en el campo de la informática

administrativa, la total compatibilidad de esta plataforma móvil con la suite Office, es un valor

que muchos usuarios hacen prevalecer sobre otras características. Acceder al visualizado o

a la edición de archivos de Word, Excel y PowerPoint, que se han elaborado en el ordenador

es una característica necesaria y muy valorada, al permitir la continuidad del trabajo fuera de

la oficina.

Page 23: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo I Marco Histórico y Estado del arte

Aplicación de software a dispositivos móviles Página 9

Palm OS

Palm OS nació en 1996 de la mano de la primera máquina Palm Pilot. La versión del sistema

operativo de Palm que más se está empleando hoy día es Palm OS 5, cuya versión más

actualizada es conocida como Garnet y, entre otras mejoras, soporta un mayor rango de

resoluciones de pantalla y bluetooth.

En el 2004 se presentó Palm OS 6.1, también denominada Cobalt, un sistema operativo de

32 bits completamente nativo ARM.

El interfaz no cambia mucho, pero Cobalt, entre otras cosas, saca mayor partido a los

procesadores portátiles ARM (más rápidos y eficientes), integra mayores prestaciones

multimedia, es más multitarea, incluye un nuevo sistema de protección que impide que un

único programa pueda cargar toda la información, permite pasar sin problemas de Wi-Fi a

GPRS, ver archivos en su formato nativo (por ejemplo de Microsoft Office). No obstante, su

principal novedad es que el sistema funciona sobre Linux, el sistema operativo de software

libre.

¿Qué fue de PALM OS?

El futuro del sistema operativo que incluyen la mayor parte de las PDA de Palm, actualmente

en el mercado, es hoy en día incierto. Convertido en el auténtico líder del mercado desde su

aparición en 1996, su supremacía comenzó a ceder con la llegada del nuevo siglo, hasta que

en 2003 el fabricante se vio en la necesidad de dividirse, y la plataforma pasó a formar parte

de una nueva empresa denominada PalmSource que, en 2005, fue adquirida por la

compañía japonesa Access.

Los motivos de este retroceso en cuanto a ingresos de la compañía (que no en presencia, ya

que la plataforma sigue siendo una de las que mayor cuota de mercado tiene) son fáciles de

imaginar. La lenta, pero imparable penetración de Windows Mobile, la evolución de decenas

de modelos de teléfonos móviles inteligentes (la mayoría con Symbian), y la aparición de la

plataforma y los dispositivos BlackBerry, comenzaron a dejar en un segundo plano a las PDA

Page 24: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo I Marco Histórico y Estado del arte

Página 10 Aplicación de software a dispositivos móviles

que no incorporaban telefonía móvil. La reacción de Palm con los modelos Treo, convertidos

hoy en los principales dispositivos de la compañía, ha sido fundamental para que la empresa

haya continuado compitiendo, entre los grandes fabricantes de dispositivos portátiles.

Esta plataforma, lógicamente, ha evolucionado desde la clásica interfaz de un asistente de

mano, a incorporar todo tipo de programas y funcionalidades, como teléfono, correo

electrónico, mensajería y navegación en internet, además de compatibilidad con los archivos

de Office, música, vídeo y fotografías. En la actualidad existen dispositivos Palm Treo, que

incorporan el sistema operativo Windows Mobile.

El sistema operativo Palm OS, hoy propiedad de Access, parece que se encamina a su

plena operatividad en Linux, lo que le augura un futuro prometedor.

Según PalmOne, hay más de 13.000 programas disponibles para su sistema operativo,

muchos más que para Windows Mobile. Es posible que el dato sea cierto, teniendo en

cuenta la antigüedad de Palm OS, pero a la hora de la verdad, no suele haber problema

alguno para encontrar programas que hagan lo mismo en ambas plataformas. Las dos son lo

bastante importantes y llevan el suficiente tiempo en el mercado, como para contar con una

nutrida variedad de programas de todo tipo.

Sin duda, cuando se trata de interactuar con computadoras de sobremesa con alguna

versión de Windows instalado, y con programas de esta compañía como la suite de Office,

Windows Mobile tiene ventaja. No obstante, esto no quiere decir que Palm OS no sea

perfectamente compatible con Windows. Por otro lado, únicamente Palm OS es compatible

de entrada con sistemas Macintosh.

Tanto Palm OS como Windows Mobile, traen incluidas las aplicaciones habituales: libreta de

direcciones, agenda, notas, tareas, opciones de seguridad, posibilidad de ajustar

preferencia, entre otras, Palm emplea el cliente de sincronización HotSync y Microsoft

ActiveSync.

Page 25: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo I Marco Histórico y Estado del arte

Aplicación de software a dispositivos móviles Página 11

Linux

En los círculos del software libre, se toma en cuenta la idea de implantar Linux en el teléfono

móvil desde hace años, pero ha tardado en llegar. Aún así, en los últimos tiempos se ha

avanzado mucho, y ya hay varios modelos de móvil en el mercado que utilizan una versión

de Linux como su sistema operativo.

Con Linux no hay que pagar licencias, y esto ha atraído a fabricantes de China, Taiwán o

Singapur; aunque no son los únicos. Motorola presentó su primer teléfono basado en Linux

2003, y desde entonces no ha dejado de ofrecer nuevos modelos con este sistema operativo

incorporado. Otros fabricantes conocidos, como NEC, Panasonic o Samsung, disponen de

numerosos teléfonos Linux.

Además, el fabricante de PDA Palm se ha separado de la división encargada del sistema

operativo Palm OS. La nueva versión está a cargo de la empresa japonesa Access y estará

basada en Linux.

Java

Con las siglas J2ME se conoce a Java Micro Edition, como la versión del lenguaje de

programación Java para dispositivos móviles. Aunque es un lenguaje, y no un sistema

operativo, la mayoría de los nuevos móviles pueden ejecutar aplicaciones escritas en Java, y

muchos videojuegos se crean de este modo.

También hay sistemas operativos escritos en Java, como el sistema de RIM, que funciona en

los teléfonos inteligentes Blackberry. La ventaja de Java es que la programación es similar al

famoso lenguaje C, pero más sencilla, con lo que los programadores se pueden familiarizar

rápidamente.

Las aplicaciones desarrolladas en Java se pueden ejecutar en cualquier tipo de dispositivo y

sistema operativo, siempre que se disponga de una 'máquina virtual', el programa encargado

Page 26: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo I Marco Histórico y Estado del arte

Página 12 Aplicación de software a dispositivos móviles

de interpretar las instrucciones. Existen chips que puede ejecutar Java directamente, sin

necesidad de un sistema operativo, y no se descarta su uso en teléfonos móviles.

1.2.2 Características de un Dispositivo móvil

actual

Categorías de dispositivos móviles

Dado el variado número de niveles de funcionalidad asociado con dispositivos móviles, en el

2005, T38 y DuPont Global Mobility Innovation Team, propusieron los siguientes estándares

para la definición de dispositivos móviles:

Dispositivo Móvil de Datos Limitados (Limited Data Mobile Device): dispositivos

que tienen una pantalla pequeña, principalmente basada en pantalla de tipo texto

con servicios de datos generalmente limitados a SMS y acceso WAP. Un típico

ejemplo de este tipo de dispositivos son los teléfonos móviles.

Dispositivo Móvil de Datos Básicos (Basic Data Mobile Device): dispositivos que

tienen una pantalla de mediano tamaño, (entre 120 x 120 y 240 x 240 pixeles), menú

o navegación basada en íconos por medio de una "rueda" o cursor, y que ofrecen

acceso a e-mails, lista de direcciones, SMS, y un navegador web básico. Un típico

ejemplo de este tipo de dispositivos son las BlackBerry y los Teléfonos Inteligentes.

Dispositivo Móvil de Datos Mejorados (Enhanced Data Mobile Device):

dispositivos que tienen pantallas de medianas a grandes (por encima de los 240 x

120 píxeles), navegación de tipo stylus, y que ofrecen las mismas características

que el "Dispositivo Móvil de Datos Básicos" (Basic Data Mobile Devices), más

aplicaciones nativas como aplicaciones de Microsoft Office Mobile (Word, Excel,

PowerPoint), y aplicaciones corporativas usuales, en versión móvil, como Sap,

Page 27: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo I Marco Histórico y Estado del arte

Aplicación de software a dispositivos móviles Página 13

portales intranet, etc. Este tipo de dispositivos incluyen los Sistemas Operativos

como Windows Mobile 2006, como en las Pocket PCs.

1.2.3 Aplicaciones de un dispositivo móvil

Una aplicación, es un tipo de programa informático diseñado para facilitar al usuario la

realización de un determinado tipo de trabajo. Esto lo diferencia principalmente de otros tipos

de programas como los sistemas operativos (que hacen funcionar al ordenador), las

utilidades (que realiza tareas de mantenimiento o de uso general), y los lenguajes de

programación (con el cual se crean los programas informáticos), que realizan tareas más

avanzadas y no pertinentes al usuario común.

Suele resultar una solución informática para la automatización de ciertas tareas complicadas,

como pueden ser la contabilidad, la redacción de documentos, o la gestión de un almacén.

Algunos ejemplos de programas de aplicación, son los procesadores de textos, hojas de

cálculo, y base de datos.

Ciertas aplicaciones desarrolladas 'a medida' suelen ofrecer una gran potencia, ya que están

exclusivamente diseñadas para resolver un problema específico. Otros, llamados paquetes

integrados de software, ofrecen menos potencia pero a cambio incluyen varias aplicaciones,

como un programa procesador de textos, de hoja de cálculo y de base de datos.

Page 28: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo I Marco Histórico y Estado del arte

Página 14 Aplicación de software a dispositivos móviles

Figura 1 Figuraa que muestra la ubicación y la relación de las aplicaciones con el usuario final.

La figura 1, muestra la ubicación y relación que tienen estas aplicaciones para con el usuario

final, y con otros programas informáticos existentes.

Otros ejemplos de programas de aplicación pueden ser: programas de comunicación de

datos, Multimedia, presentaciones, diseño gráfico, cálculo, finanzas, correo electrónico,

compresión de archivos, presupuestario de obras, gestión de empresas, entre otros.

Libreta de Direcciones

El programa Libreta de Direcciones del Palm almacena información personal, en cualquiera

de las categorías definidas por el usuario. Se muestran las entradas y salidas se ordenan por

los apellidos, y nombre (esto sólo se puede cambiar a Compañía, Apellidos). Hay cinco

campos para el teléfono o correo electrónico, cada uno de los que se puede designar a

Trabajo, a Casa, Fax u Otras, Correo Electrónico, Principal, Buscapersonas o Móvil (los

nombres de los campos no se pueden cambiar).

Calculadora

La Calculadora convierte el ordenador de bolsillo en una calculadora estándar de 4

funciones, con botones de tres tonos morados y azules, que contrastan con los dos botones

rojos para borrar. Incluye teclas de raíz cuadrada y, de porcentaje y tiene memoria.

Page 29: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo I Marco Histórico y Estado del arte

Aplicación de software a dispositivos móviles Página 15

También tiene una opción para mostrar un historial de los cálculos realizados, como muchas

calculadoras que se usaban antes.

Calendario

El Calendario muestra un horario diario o semanal, o una vista mensual simple(los nuevos

tiene una vista mensual más elegante). El horario diario tiene una línea cada hora, entre dos

horas del día que el usuario puede elegir. Al hacer clic en una línea vacía, se crea una cita

nueva. Las líneas vacías se llenan con las citas correspondientes, y la hora en que

empiezan, y su duración se muestra en el margen de la izquierda.

El sistema operativo puede anunciar una cita con una alarma, en el momento indicado,

minutos, horas o días antes. Estas alarmas suenan incluso cuando la unidad está apagada.

Las citas se pueden repetir en un número especificado de días, semanas, meses o años y

pueden contener notas.

Gastos

La aplicación Gastos permite a un usuario seguir los gastos comerciales habituales. El

ordenador de bolsillo no realiza ningún cálculo para obtener el total. El usuario tiene que

sincronizar con un ordenador de escritorio, y ver los datos de los gastos en una hoja de

cálculo, en las que se incluyen las plantillas para Microsoft Excel. Debido a esta desventaja,

muchos usuarios consideran esta aplicación poco útil.

Libreta de Notas

Las Notas de Texto permiten escribir notas de hasta 4000 caracteres, clasificadas en

categorías configurables por el usuario. Las notas se pueden ordenar alfabéticamente o

manualmente (que permiten al usuario escoger el orden de las notas). Las Notas de Texto

sólo pueden incluir texto, no dibujos. Por esto, el texto en las Notas se ha de introducir

utilizando el alfabeto Grafiti, que es un alfabeto con diferentes estilos de letra.

Page 30: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo I Marco Histórico y Estado del arte

Página 16 Aplicación de software a dispositivos móviles

Notas

En las Notas se pueden hacer dibujos y notas manuscritas. Se pueden ingresar hasta 10

palabras por página, y limitan el escrito a ciertos bytes, si la escritura es pulcra. De lo

contrario, es mejor poner texto en la Libreta de Notas. Hay tres medidas de lápices de dibujo,

más una goma de borrar. Es posible dibujar un mapa muy simple.

Tareas

También denominada lista de tareas. Es el lugar adecuado por crear recordatorios

personales y priorizar las cosas que tienes que hacer. Cada elemento de la lista de tareas

también puede tener: una prioridad, categorías (por organizar y agrupar las tareas en grupos

lógicos), adjuntar una Nota (por añadir una descripción o una aclaración de la tarea). Las

tareas se pueden ordenar por: fecha, prioridad o categoría.

1.2.4 Aplicaciones Windows Mobile con

tecnología .NET

La plataforma .NET Framework, proporciona la infraestructura básica que necesitan las

aplicaciones Windows, para hacer realidad la visión de Microsoft que conecta información,

personas, sistemas y dispositivos.

El Framework .NET consta de:

El Common Language Runtime (CLR). Es un lenguaje neutral de desarrollo y

ejecución que proporciona servicios para ayudar a "gestionar" la ejecución de la

aplicación.

Las Framework Class Libraries (FCL). Un conjunto integral de bibliotecas

orientadas a objetos con funcionalidad pre desarrolladas.

Page 31: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo I Marco Histórico y Estado del arte

Aplicación de software a dispositivos móviles Página 17

Para hacer realidad la visión de Microsoft, .NET Framework proporciona una estructura

integral:

Soporta los protocolos y especificaciones de comunicación Standard. Usa los

protocolos y especificaciones estándar de Internet, como TCP/IP, SOAP, XML y

HTTP, para permitir la conexión a un amplio número de información, personas,

sistemas y dispositivos (ver figura 2).

Figura 2 Esquema de red que muestra la conexión con un amplio número de personas

Soporta diferentes lenguajes de programación. Soporta una variedad de

diferentes lenguajes de programación, de manera que los desarrolladores pueden

programar en el lenguaje que prefieran.

Soporta la programación con librerías desarrolladas en diferentes lenguajes.

La plataforma .NET proporciona un modelo consistente de programación, para

utilizar piezas de funcionalidad ya desarrolladas o bibliotecas (para mayor

información de estas bibliotecas ver anexos), que hacen que el desarrollo de

aplicaciones sea más rápido, más fácil y menos costoso.

Soporte para diferentes plataformas. El Framework .NET está disponible para

toda la variedad de las plataformas Windows, lo que permite a las personas, los

sistemas y los dispositivos, conectarse utilizando diferentes soportes. Así, una

persona utilizando entornos de escritorio como Windows XP o una plataforma de

Page 32: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo I Marco Histórico y Estado del arte

Página 18 Aplicación de software a dispositivos móviles

dispositivo, como una PDA o un Smartphone con Windows Mobile, puede

conectarse a servidores que utilicen Windows Server 2003, o incluso Linux.

1.3 Pocket PC

Pocket PC es un ordenador de bolsillo, también llamado PDA (Personal Digital Assistant). Se

trata de un pequeño ordenador, diseñado para ocupar el mínimo espacio y ser fácilmente

transportable, ejecuta el sistema operativo que es Windows CE de Microsoft, el cual le

proporciona capacidades similares a los PCs de sobremesa.

De acuerdo con Microsoft, el Pocket PC es "un dispositivo de mano que permite grabar,

enviar y recibir e-mail, contactos, citas, mostrar archivos multimedia, juegos, intercambiar

mensajes de texto con MSN Messenger, navegar por la web y más".

Desde un punto de vista técnico, Pocket PC es un estándar de Microsoft que impone varios

requisitos al hardware y al software de dispositivos móviles, para tener la etiqueta de Pocket

PC.

Actualmente hay muy pocos fabricantes, y se concentran la gran mayoría en el continente

asiático. Entre ellos, el más importante y que recientemente se convirtió en distribuidor, es

HTC, antiguo proveedor de HP, Acer o Fujitsu entre otros. Otros fabricantes de dispositivos

Pocket PC son Quanta, Foxcon, Inventec, Asus o Compal, concentrados todos ellos en

Taiwan y dedicados también a la fabricación de otros equipos electrónicos, como portátiles o

dispositivos GPS.

Sin embrago, hay bastantes distribuidores, entre las que se encuentran a HP, Fujitsu

Siemens, Garmin, Acer, Casio y un largo etcétera, que encargan a los fabricantes antes

mencionados, el diseño de sus equipos, y a los que sólo les ponen su marca y se encargan

de distribuirlos y dar soporte técnico.

Page 33: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo I Marco Histórico y Estado del arte

Aplicación de software a dispositivos móviles Página 19

1.3.1 Características de PocketPC

Los PDAs ofrecen, casi las mismas prestaciones que los PCs de sobremesa, con un

aliciente añadido: su total movilidad. Los últimos avances tecnológicos y las posibilidades de

desarrollo de soluciones a medida que ofrece Microsoft Pocket PC avalan sus ventajas.

Gran Capacidad de Procesamiento y Memoria

Enorme Integración Multimedia

Gran Compatibilidad con Ordenadores de Mesa (Word, Excel, MSN Messenger,

Windows Media Player)

Facilidad de Sincronización con PC (ActiveSync)

Mayor potencia y prestaciones

Dos factores han sido decisivos para el auge de estas soluciones: su abaratamiento y la

mayor calidad tecnológica de la última generación de PDAs. Muy lejos quedan los tiempos,

en los que consistían en meras agendas electrónicas. Los modelos actuales se han

convertido en verdaderos ordenadores de bolsillo: su velocidad de proceso es considerable,

están provistos de una amplia memoria, cómodas pantallas en color y versiones en miniatura

de los programas para PC de Microsoft (Pocket Outlook, Pocket Word, Pocket Excel,

Explorer, entre otros). Proporciona al usuario un soporte integral, ofreciéndole una extensión

de su ordenador, permitiéndole realizar numerosas tareas en tiempo real. Permite realizar

llamadas de voz y navegar por Internet a través de GSM o GPRS.

Una plataforma muy flexible

El otro movilizador de esta revolución móvil es Microsoft Pocket PC, un sistema operativo

que posibilita el desarrollo de soluciones a medida para los PDAs. “Microsoft ha creado una

plataforma fácilmente maleable y dotada de grandes herramientas para los desarrolladores,

lo que le ha permitido hacerse ya con un gran porcentaje de este mercado, y crear

numerosas aplicaciones empresariales”, dice Carlos Polo, director de Operaciones de NTS

Mobile, firma especializada en el desarrollo de productos basados en este sistema.

Page 34: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo I Marco Histórico y Estado del arte

Página 20 Aplicación de software a dispositivos móviles

Pero, sobre todo, los nuevos dispositivos reportan importantes ventajas empresariales. “Por

su propia movilidad, permiten aprovechar el tiempo al máximo”. Por ejemplo, la premura con

que en el almacén reciben la notificación de un pedido se traduce en una respuesta más

rápida y, por lo tanto, en una mejora del servicio.

Otro gran beneficio es la reducción de costos, en comparación con los que implicaría

ejecutar las mismas tareas en un entorno estático.

1.3.3 Funciones básicas

Hay diferencias entre los equipos que se pueden denominar Pocket PC, dependiendo de las

utilidades que tienen, se pueden englobar en tres grupos:

1º- Las Pocket PCs (comúnmente conocidos como PDA sin teléfono) incluyen versiones

móviles de las aplicaciones de Office, además de Microsoft Outlook Mobile. Con el Pocket

PC, podrá utilizar Word Mobile, Excel Mobile y PowerPoint Mobile y navegar por Internet, si

tiene un dispositivo con Wi-Fi y se encuentra en un punto de conexión inalámbrica. Puede

escribir correos electrónicos y enviarlos con tan solo sincronizar su ordenador, o mediante

conexión inalámbrica cuando se encuentra en un punto de conexión.

2º- Los Pocket PC Phone (comúnmente conocidos como Pocket PC o PPC) puede

hacer todo lo que hace con un Pocket PC, pero además dispone de teléfono móvil. Si tiene

un Pocket PC Phone, puede acceder a Internet, a través de una conexión inalámbrica

(GPRS, UMTS, etc...); no tendrá que buscar un punto en el que la haya. Tenga en cuenta

que al acceder a Internet, los proveedores de tecnología inalámbrica le impondrán cargos

económicos.

3º- Los Smartphone ofrece lo mismo que un teléfono y además, incluye una serie de

aplicaciones más pequeñas. Además de agregar software de terceros a su Smartphone, su

teclado y pantalla pequeños, se han creado, pensados para darle acceso rápido de primera

mano a la información importante. Un Smartphone es la decisión idónea para usuarios

Page 35: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo I Marco Histórico y Estado del arte

Aplicación de software a dispositivos móviles Página 21

avanzados, que tienen que consultar el correo electrónico, hacer un seguimiento de su

calendario y tomar notas de voz, pero que no necesitan las funciones de Word Mobile, Excel

Mobile y PowerPoint Mobile. Si después de haber adquirido el dispositivo, descubre que

quiere más funciones, hay una serie de nombres de software de terceros, pensados para

ampliar las capacidades de Smartphone equipados con Windows Mobile.

Page 36: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo I Marco Histórico y Estado del arte

Página 22 Aplicación de software a dispositivos móviles

Page 37: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo II Planteamiento del Problema y Herramientas de Software

Aplicación de software a dispositivos móviles Página 23

CAPÍTULO II

Planteamiento del Problema y

Herramientas de Software

2.1 Planteamiento del problema

Regularmente cuando se piensa en el desarrollo y creación de software, se pueden

presentar varias preguntas, ¿Qué software existe actualmente? ¿Qué se necesita ahora?

O también puede existir la posibilidad de basarse en un software o aplicación ya

elaborada, pensando en las mejoras que se podrían hacer y que se puedan agregar. Es

importante pensar en las aplicaciones o compiladores que, como programadores,

convenga utilizar, así como verificar la compatibilidad con el dispositivo en el cual se

desarrollará el software.

De esta manera, se enfocará este estudio, a la realización de una aplicación de diseño y

desarrollo de herramientas básicas de ingeniería en comunicaciones y electrónica para

Pocket PC. Por lo que se estudiarán las herramientas que se utilizarán para la realización

de ésta aplicación. Las materias de tronco común a tomar en cuenta, así como las

herramientas básicas a desarrollar, para la resolución de problemas sencillos enfocados

a cada una de las materias propuestas. Tomar en cuenta el software y la plataforma de

desarrollo.

Page 38: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo II Planteamiento del Problema y Herramientas de Software

Página 24 Aplicación de software a dispositivos móviles

2.2 Tecnología .NET.

La Tecnología .NET es un proyecto de Microsoft para crear una nueva plataforma de

desarrollo de software, con énfasis en transparencia de redes, con independencia de la

plataforma de hardware y que permita un rápido desarrollo de aplicaciones. Basado en

ella, la empresa intenta desarrollar una estrategia horizontal que integre todos sus

productos, desde el sistema operativo hasta las herramientas de mercado.

La Tecnología .NET podría considerarse una respuesta de Microsoft al creciente

mercado de los negocios en entornos Web, como competencia a la plataforma Java de

Sun Microsystems, y a los diversos Framework de desarrollo Web, basados en PHP. Su

propuesta es ofrecer una manera rápida y económica, a la vez que es segura y robusta,

para el desarrollo de aplicaciones –o como la misma plataforma las denomina,

soluciones– permitiendo una integración más rápida y ágil entre empresas, y un acceso

más simple y universal, a todo tipo de información desde cualquier tipo de dispositivo.

La Plataforma .NET de Microsoft es un componente de software, que puede ser añadido

al sistema operativo Windows. Provee un extenso conjunto de soluciones predefinidas,

para necesidades generales de la programación de aplicaciones, y administra la

ejecución de los programas escritos, específicamente con la plataforma. Esta solución es

el producto principal en la oferta de Microsoft, y pretende ser utilizada por la mayoría de

las aplicaciones creadas para la plataforma Windows.

La Tecnología .NET Framework se incluye en Windows Server 2008 y Windows Vista.

De igual manera, la versión actual de dicho componente, puede ser instalada en

Windows XP, y en la familia de sistemas operativos Windows Server 2003. Una versión

"reducida" de .NET Framework, está disponible para la plataforma Windows Mobile,

incluyendo teléfonos inteligentes.

Microsoft proporciona, una versión limitada del .NET Framework para utilizarla en

dispositivos móviles, llamada Compact Framework de .NET.

Page 39: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo II Planteamiento del Problema y Herramientas de Software

Aplicación de software a dispositivos móviles Página 25

El Compact Framework 3.5 de .NET o .NETCF 3.5 es una versión actualizada que puede

ser instalada en los diferentes dispositivos móviles que cuenten con una versión anterior

soportada por Compact Framework de (ver figura 3).

Figura 3 comparación de las plataformas soportadas por el .NET Compact Framework 3.5 Por Eduardo

Ortega de Movilidad en Microsoft

2.2.1 Versiones de multiplataforma de .NET Framework

La compatibilidad multilenguaje y la integración son objetivos de diseño básicos del CLR

(Common Languaje Runtime) y son críticos para promocionar la adopción de la

plataforma .NET en todas las áreas de la comunidad de desarrollo. La fortaleza del

soporte de lenguaje .NET, es que los componentes desarrollados en cualquier lenguaje,

se pueden utilizar en otro; por ejemplo, una aplicación C++ gestionada puede utilizar una

biblioteca C#. El requisito es que los componentes se ajusten al CLS (Common languaje

Specification); por lo tanto, también es posible desarrollar componentes en un lenguaje

.NET que no se puedan utilizar en otro.

Cuando un archivo de código fuente C# (o un archivo de de código fuente de cualquier

otro lenguaje compatible con .NET) se compila, la salida se compone de instrucciones

Page 40: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo II Planteamiento del Problema y Herramientas de Software

Página 26 Aplicación de software a dispositivos móviles

MSIL (Microsoft intermédiate Languaje). MSIL es una representación intermedia y se ha

de compilar a instrucciones nativas para poder ejecutarlo; esta tarea se delega al entorno

de ejecución del lenguaje común, que se trata a continuación.

Entorno de ejecución del lenguaje común

El entorno de ejecución del lenguaje común CLR (Common Languaje Runtime) es

responsable de la ejecución del código y de proporcionar servicios básicos como la

gestión de memoria automática, subprocesos, seguridad e integración con el sistema

operativo subyacente.

Antes de que se pueda ejecutar el MSIL, se ha de traducir a código nativo, el cual es

específico para una CPU concreta. Este proceso se llama compilación inmediata (Just-In-

Time, JIT) y es una característica básica del CLR.

La fuerte integración entre el sistema operativo Windows y el formato de la aplicación

.NET significa que el CLR se invoca automáticamente cuando se arranca una aplicación

.NET.

El sistema de tipos común

El CTS (Common Type System) define como se declaran los tipos, cómo se utilizan y

cómo se gestionan en tiempo de ejecución. El CTS es una parte importante del soporte

multilenguaje de .NET y proporciona la base para que los tipos escritos en un lenguaje se

puedan utilizar en otros.

Las bibliotecas de clases básicas

El .NET Framework incluye un conjunto de bibliotecas que puede utilizar y extender un

programador durante el proceso de desarrollo. Todos los tipos contenidos en las

bibliotecas de clases cumplen el CLS y se pueden utilizar desde cualquier lenguaje que

se ajuste al CLS, incluyendo el compilador de C#.

Page 41: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo II Planteamiento del Problema y Herramientas de Software

Aplicación de software a dispositivos móviles Página 27

Lenguajes

La compatibilidad multilenguaje y la integración son objetivos de diseño básicos del CLR

y son críticos para promocionar la adopción de la plataforma .NET en todas las áreas de

la comunidad de desarrollo. La fortaleza del soporte de lenguaje .NET es que los

componentes desarrollados en cualquier lenguaje se pueden utilizar en otro; por ejemplo,

una aplicación C++ gestionada puede utilizar una biblioteca C#.

Microsoft proporciona tres lenguajes como parte de .NET: Visual Basic .NET, Microsoft

Visual C++ .NET y Microsoft Visual C#.

2.2.2 Características de Visual C# .NET

Al combinar Visual Studio y .NET Framework, se reduce la necesidad de código de

programación común irrelevante, lo que acorta el tiempo de desarrollo y permite que los

desarrolladores, se concentren en la solución de los problemas.

Los diseñadores del lenguaje C# y el .NET Framework han estado claramente influidos

por java, C y C++ pero han tomado una aproximación fundamentalmente distinta para

resolver los conflictos del diseño seguro. Se ha llevado a cabo un gran esfuerzo para

garantizar que el desarrollador puede escribir código seguro y robusto fácilmente, pero

las características que se consideran peligrosas todavía están disponibles para el

programador avanzado o el programador de sistemas heredados que puede indicar de

forma explícita la necesidad de salirse de las limitaciones del código seguro.

Aunque la plataforma .NET acaba de ser presentada, las comparaciones entre Java y C#

son naturales ya que tienen muchas similitudes. Generalmente las comparaciones

tienden a enfocarse únicamente en las similitudes estructurales y sintácticas obvias,

mientras que una exploración a un nivel más profundo revela diferencias fundamentales y

una cantidad importante de características nuevas que están disponibles para el

programador de C#.

Page 42: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo II Planteamiento del Problema y Herramientas de Software

Página 28 Aplicación de software a dispositivos móviles

2.3 Windows Mobile

Windows Mobile es un sistema operativo compacto, con una suite de aplicaciones

básicas para dispositivos móviles basados en la API Win32 de Microsoft. Los dispositivos

que llevan Windows Mobile, son Pocket PC's, Smartphones y Media Center portátil. Ha

sido diseñado para ser similar a las versiones de escritorio de Windows (ver figura 4).

Figura 4 vista de sistema Windows Mobile 6.0 en Smartphone

Básicamente se originó en una versión del Kernel de Windows para sistemas embebidos,

que fue creciendo hasta ser un sistema operativo.

2.3.1 Características de Windows Mobile y algunas aplicaciones incluidas

Tanto Windows Mobile para Pocket PC, como Windows Mobile para Smartphone, poseen

bastantes aspectos parecidos, pero en cuanto a aplicaciones desarrolladas, una

aplicación no servirá para ambas versiones Windows Mobile PPC (Pocket PC) y Windows

Mobile SP (Smartphone) (ver figura 5).

Page 43: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo II Planteamiento del Problema y Herramientas de Software

Aplicación de software a dispositivos móviles Página 29

Figura 5 Fotografía de un Smartphone, marca Nokia. En el se muestra la interfaz en su pantalla

En el caso de Windows Mobile para Pocket PC se muestran las siguientes

características:

En la barra de tareas muestra: la hora actual, el volumen y el estado de la

conectividad. Cuando un programa o un mensaje están abiertos, el espacio en

blanco, en el que estaba el reloj, se convierte en una "OK" o un icono de cerrar (x).

La característica principal de la barra de tareas, es el botón de Inicio, que está

diseñado para que sea parecido al botón de Inicio de las versiones de escritorio de

Windows. El menú de Inicio ofrece programas abiertos recientemente, nueve

entradas del menú personalizadas, y accesos directos a programas, ajustes,

búsquedas, y ayuda.

Las versiones Pocket PC incluyen en Windows Mobile aplicaciones de Microsoft

Office. Éstos incluyen Pocket Word y Pocket Excel. En Windows Mobile 5.0 se

incluye Pocket PowerPoint. Estas versiones incluyen muchas de las características

que se utilizan en versiones de escritorio, pero algunas otras características, como la

inserción de las tablas e imágenes, no se han incluido versiones anteriores a

Windows 5.0. ActiveSync tiene la capacidad de convertir archivos de versiones de

escritorio a archivos compatibles con Pocket PC (ver figura 6).

Page 44: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo II Planteamiento del Problema y Herramientas de Software

Página 30 Aplicación de software a dispositivos móviles

Figura 6 Muestra de un Pocket PC, IPACmarca HP

Outlook Mobile es también un programa que viene con Windows Mobile. Esto incluye

tareas, calendario, contactos, y la bandeja de entrada. Microsoft Outlook para las

versiones de escritorio, se incluye a veces en los CD-ROM's del fabricante del Pocket

PC.

Windows Media Player para Windows Mobile, se añade con el software. Actualmente,

todas las Pocket PC incluyen la versión 9 del reproductor, pero la versión 10 se ha

incluido con un hardware más nuevo, y con las nuevas versiones de Windows

Mobile. Para algunos dispositivos, la versión 10 está disponible para su descarga,

sólo para determinados dispositivos éstos incluyen los dispositivos de la gama de

Dell Axim. Windows Media Player reproduce: WMA, WMV , MP3, y AVI. Los archivos

MPEG actualmente no están soportados, y se debe descargar un programa de

terceros para reproducirlos, y los archivos de WAV se reproducen en un reproductor

por separado. Algunas versiones son también capaces de reproducir M4A.

Windows Mobile Device Center trabaja con dispositivos Windows Mobile 2003 o

superiores, y permite gestionar las aplicaciones, opciones de calendario, correos, citas,

tareas y archivos de nuestra PDA, a través del PC.

Entre las novedades que se añaden al nuevo Windows Mobile Device Center, se muestra

una nueva interfaz de usuario, ostensiblemente mejorada con respecto a ActiveSync,

mucho más intuitiva y cómoda de utilizar (ver figura 7).

Page 45: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo II Planteamiento del Problema y Herramientas de Software

Aplicación de software a dispositivos móviles Página 31

Figura 7 Interfaz de Windows Mobile Device Center

Chess Mobile es un juego de ajedrez de cuidadoso diseño para Windows Mobile, que

lleva impreso el sello de calidad de los productos de Orneta, y que puede servir de

entretenimiento en esos ratos muertos, en el que no se tiene más compañía que una

PDA.

Figura 8 Interfaz del la aplicación Chess Mobile por Microsoft corporativo

DivX Mobile Player es el reproductor oficial de DivX, para teléfonos y dispositivos

Windows Mobile.

Page 46: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo II Planteamiento del Problema y Herramientas de Software

Página 32 Aplicación de software a dispositivos móviles

Para cargar cualquier video que se tenga almacenado en la memoria de la PDA o en la

tarjeta de memoria, sólo se tiene que actualizar el listado de la pantalla principal del

programa. Una vez que se haya copiado el video en el dispositivo, DivX Mobile Player lo

reconocerá automáticamente y se puede comenzar su reproducción (ver figura 9).

Figura 9 Pantalla de la aplicación DIVX

2.4 Visual Studio

Microsoft Visual Studio es un entorno de desarrollo integrado (IDE, por sus siglas en

inglés) para sistemas Windows. Soporta varios lenguajes de programación, tales como

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

han desarrollado las extensiones necesarias para muchos otros.

Visual Studio permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web,

en cualquier entorno que soporte la plataforma .NET (a partir de la versión net 2002). Así

se pueden crear aplicaciones que se intercomuniquen entre estaciones de trabajo,

páginas web y dispositivos móviles.

A las mejoras de desempeño, escalabilidad y seguridad con respecto a la versión

anterior, se agregan entre otras, las siguientes novedades.

• Visual Studio 2008 ahora permite la creación de soluciones multiplataforma,

adaptadas para funcionar con las diferentes versiones de .Net Framework: 2.0.

Page 47: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo II Planteamiento del Problema y Herramientas de Software

Aplicación de software a dispositivos móviles Página 33

(Incluido con Visual Studio 2005), 3.0 (incluido en Windows Vista) y 3.5 (incluido

con Visual Studio 2008).

• .NET 3.5 incluye biblioteca ASP.NET AJAX para desarrollar aplicaciones web

más eficientes, interactivas y altamente personalizadas, que funcionen para

todos los navegadores más populares, y utilicen las últimas tecnologías y

herramientas Web, incluyendo Silverlight y Popfly

A partir de la versión 2005 Microsoft ofrece gratuitamente las Express Editions. Estas son

varias ediciones básicas separadas por lenguajes de programación o plataforma,

enfocadas para novatos y entusiastas. Estas ediciones son iguales al entorno de

desarrollo comercial, pero sin características avanzadas. Las ediciones que hay son:

Visual Basic Express Edition

Visual C# Express Edition

Visual C++ Express Edition

Visual J# Express Edition (Desapareció en Visual Studio 2008)

Visual Web Developer Express Edition (para programar en ASP.NET)

2.4.1 Versiones

Microsoft Visual Studio 5

Microsoft Visual Studio 6

Microsoft Visual Studio .NET (2002)

Microsoft Visual Studio .NET 2003

Microsoft Visual Studio 2005

Microsoft Visual Studio 2008

Estas son varias ediciones básicas separadas por lenguajes de programación o

plataforma. Estas ediciones son iguales al entorno de desarrollo comercial, pero sin

características avanzadas. Las ediciones que hay son:

Visual Basic Express Edition

Visual C# Express Edition

Page 48: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo II Planteamiento del Problema y Herramientas de Software

Página 34 Aplicación de software a dispositivos móviles

Visual C++ Express Edition

Visual J# Express Edition (Desapareció en Visual Studio 2008)

Visual Web Developer Express Edition (para programar en ASP.NET)

Adicionalmente, Microsoft ha puesto gratuitamente a disposición de todo el mundo, una

versión reducida de MS SQL Server llamada SQL Server Express Edition, cuyas

principales limitaciones son: que no soporta bases de datos superiores a 4 GB de

tamaño, únicamente utiliza un procesador y 1Gb de memoria RAM;, y no cuenta con el

Agente de SQL Server.

2.4.2 Funciones de Visual Studio

Visual Studio 2008 ofrece herramientas de desarrollo avanzadas, características de

depuración, funcionalidad de base de datos y características innovadoras, para crear

rápidamente las aplicaciones de vanguardia del futuro en una gran variedad de

plataformas.

Visual Studio 2008 incluye mejoras, como los diseñadores visuales, para el desarrollo

más rápido con .NET Framework 3.5, mejoras sustanciales de las herramientas de

desarrollo web y mejoras del lenguaje que aceleran el desarrollo con todo tipo de datos.

Visual Studio 2008 ofrece a los desarrolladores toda la compatibilidad con herramientas,

y marcos necesarios para crear aplicaciones web atractivas, expresivas y compatibles

con AJAX.

Los desarrolladores podrán beneficiarse de estos marcos de cliente y de servidor

enriquecidos para crear fácilmente aplicaciones web, centradas en el cliente que se

integren con cualquier proveedor de datos back-end, se ejecuten en cualquier explorador

moderno, y tengan acceso completo a los servicios de la aplicación ASP.NET y la

plataforma de Microsoft.

Page 49: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 35

CAPÍTULO III

Diseño y Desarrollo de la

Aplicación

En este capítulo se pretende explicar de manera simple y entendible, la forma en que se

construye el proyecto de desarrollo de una aplicación, con herramientas básicas de

ingeniería, y la manera en que se utilizan las herramientas de desarrollo de Visual Studio.

Así como explicar la forma en que se recopilan las aplicaciones elaboradas de manera

individual, para su conjunción en una sola aplicación de proyecto Visual Studio 2008.

Éste capítulo también pretende aportar al lector una manera alternativa de desarrollo de

un proyecto, aplicado a dispositivos móviles, utilizando la herramienta de diseño Visual

Studio 2008, bajo el esquema de programación C#.

Para un mejor entendimiento del desarrollo de la aplicación, es necesario, tener un

conocimiento básico en programación C o C#, con el fin de que el lector tenga una

manera más sencilla de entender los procesos de programación para cada aplicación.

3.1 Descripción general de la aplicación

Para el desarrollo de la aplicación se utilizó una metodología orientada a objetos la cual

permite poder reconocer de la aplicación los objetos a diseñar, de estos objetos sus

propiedades, su valor y sus operaciones a realizar, para poder diseñar y desarrollar las

distintas tareas a desempeñar por la aplicación; esta metodología reduce la complejidad

de los problemas ya que divide la aplicación en problemas pequeños y permite obtener

soluciones con mejor rendimiento (ver figura 10).

Page 50: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 36 Aplicación de software a dispositivos móviles

Figura 10 Metodología orientada a objetos para el diseño y desarrollo de una aplicación.

La aplicación consta de varios formularios de contenido diverso, enfocados a las materias

básicas de Ingeniería en Comunicaciones y Electrónica, que se conjuntan y se muestran

de manera atractiva, permitiendo que el estudiante de Ingeniería en Comunicaciones y

Electrónica entienda y comprenda de manera interactiva y clara los temas de algunas de

sus materias básicas.

La aplicación comprende información de materias de tronco común de la carrera de ICE

(Ingeniería en Comunicaciones y Electrónica), tales como electrónica digital, circuitos

digitales, circuitos de CA y CD, comunicaciones digitales y analógicas y procesamiento

digital de señales. Se explica el desarrollo de los formularios de cada materia, así como el

código planteado para cada una de las herramientas de apoyo. Entre las herramientas,

adicionales a los formularios, se encuentran: un convertidor de unidades, calculadora,

resolución de ejemplos que ayuden a la mejor comprensión de los temas, tales como

diseño de circuitos electrónicos, filtros pasa altas y pasa bajas. Es importante resaltar que

los formularios se muestran como herramientas de consulta, no de aplicación; y la

información mostrada en ellos, se basa en los temas abordados durante la carrera de

ICE, extraída de apuntes, libros y otros materiales de consulta, tales como internet u

hojas de especificación.

Page 51: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 37

3.2 Desarrollo y creación de la aplicación

Para comenzar el desarrollo de la aplicación se hace uso de las herramientas contenidas

en Visual Studio 2008. Se mencionarán las más importantes y la manera de programarlas

para que realicen diversas acciones.

Es importante mencionar que la programación en C# sobre la plataforma del Framework

en comparación con el compact Framework difiere en las propiedades de cada

herramienta y las acciones que realiza.

Diferencias entre .NET Compact Framework y .NET Framework

.NET Compact Framework es un subconjunto del entorno completo de .NET Framework.

Implementa un 30% aproximadamente de la biblioteca de clases completa del entorno

íntegro de .NET Framework y contiene además las características y clases específicas

del desarrollo móvil e incrustado.

.NET Compact Framework admite un subconjunto de la biblioteca de clases de .NET

Framework. Dicho subconjunto es apropiado para las aplicaciones diseñadas para

ejecutarse en dispositivos con limitaciones de recursos y es semánticamente compatible

con las clases del mismo nombre de .NET Framework.

.NET Compact Framework admite la mayor parte de los controles de formularios

Windows Forms que se incluyen la versión completa de .NET Framework y contiene

controles que son específicos de .NET Compact Framework.

Implementar aplicaciones

No todos los métodos matemáticos se admiten en todas las plataformas de dispositivos,

pero se incluyen en la API por motivos de compatibilidad. (Corporations, 2009)

Para comenzar con la creación de una aplicación Visual Studio 2008, previamente se

debió de haber instalado en la PC, este software, una vez que se haya instalado se

Page 52: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 38 Aplicación de software a dispositivos móviles

comenzarán a desarrollar las aplicaciones. Se ejecuta el programa desde Inicio/Todos los

programas/Microsoft Visual Studio 2008/ Microsoft Visual Studio 2008 (ver figura 11).

Figura 11 Pantalla para demostrar la ruta de ubicación del software Microsoft Visual Studio 2008 después de

haberse instalado

Una vez inicializada la plataforma de Visual Studio 2008, a continuación se muestra el

espacio de trabajo y se deberá de elegir Crear Nuevo Proyecto, esto es para establecer

las condiciones del proyecto necesarias para realizar la programación del dispositivo (ver

figura 12).

Page 53: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 39

Figura 12 Señalización del menú para crear nuevo proyecto

Una vez elegido crear el proyecto se elige la plataforma de desarrollo la cual será Visual

C#, se selecciona Smart Device para especificar que el entorno de programación será

orientado a un dispositivo móvil (ver figura 13).

Figura 13 Ventana de creación del nuevo proyecto.

Page 54: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 40 Aplicación de software a dispositivos móviles

El nombre del proyecto se escribirá en el campo nombre de esta misma ventana, y este

se guardará en una dirección especificada por el usuario, la cual se marca en la ventana

con el nombre de Ubicación.

El siguiente paso es elegir el tipo de plantilla para crear la base de la aplicación, en este

paso también se da la versión de la plataforma Compact Framework y el tipo de

Dispositivo físico en la opción plataforma destino. En este caso se especifica que se

trabajará un proyecto para crear una aplicación de formularios de .NET Compact

Framework 3.5 para la plataforma Windows Mobile 5.0 Pocket PC SDK (figura 14).

Figura 14 Agregar nuevo proyecto y señalización de Aplicación a dispositivo. Para especificar que el proyecto

será para un dispositivo móvil.

Una vez especificado el tipo de proyecto se realiza la elaboración de las aplicaciones con

ayuda de las herramientas y los accesorios que nos brinda la plataforma de visual studio.

En esta se encuentran la ventana de Propiedades y dos pestañas, caja de herramientas y

el Explorador de servidores (estas pestañas son verticales a lo largo de la parte superior

derecha). La ventana de propiedades muestra los tamaños, dimensiones y otras

"propiedades" de los objetos. La caja de herramientas apoya a la selección de los

componentes y añadir a su forma.

Page 55: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 41

El espacio de trabajo es tal como el que se muestra en la figura (ver figura 15) en

conjunto con las ventanas y herramientas anteriormente descritas, en la parte de en

medio se puede visualizar el formulario.

Ésta será la base para realizar todas las aplicaciones o proyectos en Visual Studio.

3.2.1 Herramientas del software

En la elaboración de las aplicaciones se hace uso de las herramientas otorgadas por

Visual Studio para realizar todas y cada una de las aplicaciones. Aunque cuenta con gran

diversidad de herramientas, para la aplicación sólo algunas son las más utilizadas, cómo

las que se describen a continuación.

Figura 15 Señalización del cuadro de herramientas y de la ventana de propiedades, dentro de la interfaz

gráfica del Visual Studio 2008

Ventana de propiedades

Cuadro de herramientas

Page 56: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 42 Aplicación de software a dispositivos móviles

El cuadro de herramientas brinda al usuario los elementos de control del dispositivo,

estos elementos son programables en el código fuente de la aplicación para ejecutar

alguna acción que el programador indique basándose en las instrucciones permitidas por

los mismos controles.

Como se menciono anteriormente, cada herramienta de control del dispositivo puede ser

programable, esta acción se realiza desde el archivo “Program.cs” que se puede

visualizar en la ventana de “Explorador de Soluciones” (ver figura 16).

Figura 16 Ventana del explorador de soluciones, tomada de la interfaz de Visual Studio 2008

Este archivo contiene todo el código fuente correspondiente a la programación de los

recursos o herramientas de todo el “Form1”; el Form1 es el nombre del formulario o

ventana principal de una aplicación, este nombre puede ser modificado dependiendo del

nombre de la clase principal del programa en el código fuente.

También se pueden agregar más de un Form a un mismo proyecto, cada uno con su

propio código de programación y variables locales, esto con la finalidad de realizar un

programa completo con diferentes ventanas o vistas.

Page 57: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 43

El archivo Form1.Designer.cs contiene el código del diseño del formulario y se

autogenera cuando el programador arrastra los controles a los formularios del programa

automáticamente.

3.2.1.1 Controles usados para el diseño de la aplicación

TextBox (Caja de Texto)

Figura 17 Señalización dentro del cuadro de herramientas y elección del control

Figura 18 Ejemplo tomado de la aplicación operaciones con matrices para que se pueda observar el uso del

control

Mediante éste control se puede realizar, tanto la entrada como salida de datos en cada

aplicación.

No hace falta indicar coordenadas de posición, dentro del formulario, donde se desarrolla

la aplicación; basta con arrastrar el control y darle las dimensiones deseadas, adecuarlo a

nuestro propio diseño (ver figuras 17 y 18).

Label (Etiqueta)

Figura 19 Señalización dentro del cuadro de herramientas y elección del control Label

Figura 20 Ejemplo de un control Label dentro de un formulario, en este caso la etiqueta corresponde a la

herramienta de amplificadores

Page 58: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 44 Aplicación de software a dispositivos móviles

Este control es de los más utilizados, dado que permite la visualización de texto; y es

precisamente ésta su restricción, pues no permite la introducción de datos por parte del

usuario (ver figuras 19 y 20).

Button (Botón)

Figura 21 Señalización dentro del cuadro de herramientas y elección del control Button

Figura 22 Ejemplo del botón dentro de un formulario.

Típico botón que aparece en la mayoría de las aplicaciones. Tiene establecido un método

el cual determina que al hacer „clic‟ sobre él, permite realizar una función concreta,

normalmente permite la realización de las operaciones en las diversas aplicaciones,

aunque sus funciones podrán variar, de acuerdo al código que se le asocie, incluso

podrían ser sólo para aceptar o cancelar un proceso (ver figuras 21 y 22).

RadioButton (Opción botón)

Figura 23 Señalización dentro del cuadro de herramientas y elección del control RadioButton

Figura 24 Ejemplo de uso de RadioButton dentro de la herramienta matrices

Page 59: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 45

Éste control permite elegir una opción entre varias que se plantean. Cada opción será un

control Radiobutton diferente. Se utilizará en los formularios de la aplicación de Ice para

especificar entre un grupo de diferentes opciones, que realizan diversas operaciones.

Un control RadioButton muestra una opción que se puede activar o desactivar, pero con

dependencia del estado de los otros controles existentes en el formulario (ver figura 23).

Generalmente, los controles RadioButton se utilizan para dar a escoger un grupo de

opciones, de las cuales el usuario sólo podrá seleccionar una. Estos controles se pueden

dibujar en el formulario o se pueden agrupar en un panel; aunque para esto en primer

lugar se deberá de dibujar el panel y después se deberán dibujar los RadioButton

deseados, así todos los RadioButton contenidos actuarán como un solo grupo, e

independientes de otros grupos distintos (ver figura 24).

Aunque éste control tiene una similitud con el CheckBox, su diferencia es importante, ya

que como se explicó al principio, al seleccionar una opción RadioButton, las otras

opciones quedaran desactivadas, y con el CheckBox se pueden seleccionar más de una

opción.

ListBox y ComboBox

Figura 25 Señalización dentro del cuadro de herramientas y elección de los controles ComboBox y ListBox; y

su uso dentro de la herramienta Conversor de unidades

Page 60: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 46 Aplicación de software a dispositivos móviles

Se trata de manera conjunta, estos dos controles, dado que tienen grandes similitudes.

Un control ListBox muestra una lista de elementos en los cuales el usuario puede

seleccionar uno o más. Si el número de elementos supera al número que puede

mostrarse, se agrega automáticamente una barra de desplazamiento al control ListBox.

Un control combo box combina las características de un control TextBox y un control

ListBox Los usuarios pueden introducir información en la parte del cuadro de texto y

seleccionar un elemento en la parte de cuadro de lista del control. En resumen, un

ComboBox es la combinación de un ListBox, que se comporta como un ListBox, y de un

TextBox, con comportamiento análogo a un TextBox sencillo, con la particularidad aquí

de que el texto se le puede introducir por teclado, o elegir uno de los que figuran en la

parte ListBox del Combo (ver figura 25).

Panel

Figura 26 Señalización dentro del cuadro de herramientas y elección del control Panel

Figura 27 Uso del Panel dentro de un formulario, en este ejemplo, se tomó el formulario de circuitos

Habilita la opción de agrupar colecciones de controles, es decir, es posible agrupar varios

controles dentro de un mismo panel lo que hace más fácil la organización de algunos

temas dentro de un solo formulario de Smart Device (ver figura 26 y 27).

Page 61: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 47

MainMenu

Figura 28 Señalización dentro del cuadro de herramientas y elección del control MainMenu

Figura 29 Control MainMenu dentro de una aplicación

Muestra un menú en tiempo de ejecución. Es posible ligar por medio de éste menú hacia

otros formularios (ver figura 28 y 29).

TabControl

Figura 30 Señalización dentro del cuadro de herramientas y elección del control TabControl

Figura 31 TabControl usado para separar los temas en un formulario

Muestra al usuario el contenido mediante una colección de fichas, que pueden contener

diversos controles (ver figuras 30 y 31).

Page 62: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 48 Aplicación de software a dispositivos móviles

PictureBox

Figura 32 Señalización dentro del cuadro de herramientas y elección del control PictureBox

Figura 33 Uso de PictureBox dentro de un formulario

Permite mostrar las imágenes dentro de un formulario (ver figuras 32 y 33).

ProgressBar

Figura 34 Señalización dentro del cuadro de herramientas y elección del control ProgressBar

Figura 35 Funcionamiento del ProgresBar en espera de ejecutar la tarea elegida

El control ProgressBar muestra una barra que marca el progreso de una operación. Es

posible determinar, por parte del programador, el tiempo de ejecución de una operación

(Ver figura 34).

Page 63: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 49

En los formularios cada uno de estos controles se utilizan para diversas funciones y son

llamados de diversas maneras y programados de acuerdo a la función que desempeñan

dentro de la aplicación (ver figura 35).

3.2.2 Desarrollo de herramientas de apoyo para las aplicaciones de ICE para

Pocket PC

A continuación se describen las distintas herramientas que puede utilizar el usuario al

abrir la aplicación de ICE para Pocket PC y tenga una idea de las herramientas que tiene

como apoyo a sus materias.

Herramienta Amplificadores Operacionales

La elaboración de esta herramienta realiza el cálculo de los elementos pasivos que

describen un amplificador operacional en sus configuraciones básicas. A partir de las

condiciones anteriores de creación de proyectos Smart Device en Visual Estudio se

especifican los pasos para esta aplicación con su correspondiente uso de herramientas.

Las herramientas se desarrollan por separado, cada una es un nuevo proyecto.

Seleccionar proyecto de Smart Device, ya que se va a realizar una aplicación para la

Pocket PC y se le asigna un nombre (en este caso Amplificadores).(ver el ejemplo de la

figura 36)

Seleccionar la Plataforma a utilizar en la Pocket (depende de la versión de Windows

Mobile instalada en la ella) y la versión de .NET Compact Framework (en este caso

versión 3.5, la más actual) (ver figura 37).

Page 64: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 50 Aplicación de software a dispositivos móviles

Figura 36 Creación del nuevo proyecto y las opciones importantes a tomar en cuenta para elegir que la

plataforma de desarrollo será para dispositivo móvil, o bien, Smart Device

Figura 37 Elección de la plataforma destino y versión del Compact Framework Versión 3.5, en éste caso la

versión más actual de Windows Mobile

Una vez creado el proyecto se abre un formulario nuevo, en el cual se muestra en la

parte inferior la herramienta MainMenu, el cual es un menú desplegable. En él se crean

distintas opciones de menú (MenuItem) en la pantalla del emulador. Esta herramienta

siempre está disponible al crear un nuevo formulario, es decir, aparece por default.

Page 65: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 51

Para etiquetar una opción del menú, éste se selecciona dando clic izquierdo

sobre el MenuItem, y se escribe el nombre deseado, en este caso se etiqueta

“Cerrar” (ver figura 38).

También se puede hacer uso de la ventana de propiedades que está al lado

derecho de la ventana donde se muestra el formulario, ahí aparecen diversas

propiedades en la propiedad Text, se le da el nombre “Cerrar” (ver figura 39).

Figura 38 Figura del Emulador, donde se muestra que el formulario incluye un MainMenu

Figura 39 Ventana de propiedades dentro de Visual Studio 2008

Para programar una acción al menuItem (Cerrar), se da doble clic sobre éste.

Page 66: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 52 Aplicación de software a dispositivos móviles

Se genera un código para el cual se agrega la instrucción this.Close(), tal como se

muestra en el siguiente ejemplo, ésta instrucción permite cerrar el formulario.

private void menuItem1_Click(object sender, EventArgs e)

{

this.Close();

}

Se procede a utilizar otras herramientas para complementar el formulario.

Nota: la elección de herramientas de diseño, depende de la creatividad del programador

y de las funciones específicas que requiera.

Para esta aplicación se usa la herramienta ControlTab y se generan dos fichas

de separación, una se llama Inversor y otra No Inversor, para los dos casos de

amplificadores que se elaboran.

Para agregar fichas se selecciona el ControlTab y en la ventana de Propiedades

TabPage Agregar, se agregan dos fichas.

En las propiedades de cada tabPage se introduce el texto que mostrará cada

ficha (ver el ejemplo de la figura 40).

Figura 40 Ventana que muestra las propiedades de edición al utilizar el control TabControl

Las siguientes herramientas o controles (labels, textbox, picturebox, button) se introducen

en cada ficha.

Page 67: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 53

Los Label‟s se usan para escribir la información en pantalla de los textbox que se

van a utilizar, y de alguna manera le dan información al usuario y le indican que

introducir en cada TextBox.

Los TextBox se utilizan para introducir los valores que se calcularán en el evento

de un botón que se llamará “Calcula” y para los valores que nos resultan de las

acciones realizadas.

Los nombres de los TextBox (propiedadesname) serán vi, vo, rf1, av, ri.

La herramienta PictureBox será para mostrar la imagen del circuito que se

calcula.

Para agregar la imagen desde la ventana de Propiedades se da clic en la

propiedad image y se selecciona la ubicación de la imagen que se desea mostrar

(ver figura 41).

Figura 41 Elección de la imagen a insertar en un control PictureBox

En esta ventana se selecciona la imagen y se cargará en la ubicación del

PictureBox como se muestra en la ventana del formulario (figura 42).

Page 68: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 54 Aplicación de software a dispositivos móviles

Figura 42 PictureBox dentro de una herramienta de apoyo de la aplicación de ICE

Una vez diseñada la interfaz de la herramienta se procede a programar el botón “Calcula”

haciendo doble clic sobre el botón para generar el evento y se introducen las siguientes

instrucciones, al programar este botón se le indicarán las operaciones que deberá realizar

para mostrar los resultados deseados.

private void button1_Click(object sender, EventArgs e)

{

double v1, v2, RF, a, b;

try //se usa para atrapar errores de

implementacion

{

v1 = double.Parse(vi.Text);

v2 = double.Parse(vo.Text);

RF = double.Parse(rf1.Text);

a = v2 / v1;

av.Text = a.ToString();

b = RF / a;

ri.Text = b.ToString();

}

// catch se utiliza para mostrar un mensaje de error en

pantalla

catch {

MessageBox.Show("Introduce valores

válidos");

}

}

Después de haber hecho esto en la ficha “Inversor”, se da clic en la siguiente ficha “No

inversor” y se realizan los mismos pasos pero ahora para el no inversor.

PictureBox

Page 69: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 55

La diferencia es, en el evento del botón, cambiará el código por lo siguiente:

private void calc_Click(object sender, EventArgs e)

{

double v1, v2, RF, a, b;

try

{

v1 = double.Parse(vi2.Text);

v2 = double.Parse(vo2.Text);

RF = double.Parse(rf2.Text);

a = (v1 * RF) / (v2 - v1);

ri2.Text = a.ToString();

b = (1 + RF) / a;

av2.Text = b.ToString();

}

catch

{

MessageBox.Show("Introduce valores

válidos");

}

}

Conversión de Complejos

Esta herramienta realiza la conversión de un número complejo en su forma polar a

cartesiana y viceversa.

Se crea un proyecto nuevo de Smart Device Visual Studio de nombre complex, cabe

mencionar que el programador puede asignar nombres diferentes a los proyectos

creados, y a continuacion se comienza a crear la interfaz de la pequeña aplicación.

Con ayuda de la herramienta ControlTab en el cual se generan dos fichas, las cuales, se

etiquetan como “Forma Cartesiana a Polar” y “Forma Polar a Cartesiana” tal como se

muestra en la figura 43, para hacer referencia al usuario del tipo de conversion que hace

cada seccion del programa.

Se hace uso de las herramientas label para cada uno de los textos que se muestran al

usuario en la aplicación, TextBox para la entrada de datos dados por el usuario, Button

para ejecutar la accion correspondiente al realizar la conversion y PictureBox para

establecer la imagen de fondo de la aplicación.

Page 70: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 56 Aplicación de software a dispositivos móviles

Figura 43 Interfaz de la herramienta de Conversión de complejos y el uso de etiquetas para nombrar a los

TextBox utilizados

Se etiquetan los textbox y se programan los eventos de cada botón.

En el primer botón llamado “Limpiar” se escribe el siguiente codigo para borrar el

contenido de los textbox.

private void button3_Click(object sender, EventArgs e)

{

mag2.Text = "";

ang2.Text = "";

real2.Text = "";

imag2.Text = "";

}

En el segundo botón llamado “convertir” se escribe el siguiente codigo para realizar las

operaciones de números complejos y se mostrarán en los textbox restantes.

private void button1_Click(object sender, EventArgs e)

{

try

{

a = double.Parse(Real.Text);

b = double.Parse(Imag.Text);

d = Math.Pow(a, 2) + Math.Pow(b, 2);

r = Math.Sqrt(d);

c = Math.Atan(b / a);

f = ((c * 180) / Math.PI);

Mag.Text = r.ToString();

Ang.Text = f.ToString();

}

Page 71: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 57

catch { MessageBox.Show("introduce un

numero imaginario valido a+bi"); }

}

Para la ficha “Forma Polar a Cartesiana” se aplica el mismo diseño y aplicación de

herramientas que en la ficha anterior.

En el botón convertir se utilizará ahora el código correspondiente a la conversión de un

número expresado en su forma polar a cartesiana.

private void button4_Click(object sender, EventArgs e)

{

try

{

a2 = double.Parse(mag2.Text);

b = double.Parse(ang2.Text);

c = ((b * Math.PI) / 180);

d = a2*Math.Cos(c);

r = a2*Math.Sin(c);

real2.Text = d.ToString();

imag2.Text = r.ToString();

}

catch { MessageBox.Show("introduce un

numero o angulo validos"); }

}

Operaciones básicas de matrices

Esta herramienta sirve para poder realizar operaciones de matrices. El usuario introduce

2 matrices (A y B) y en la tercera (C) se muestra el resultado de la operación que se le

aplicó a las matrices A y B.

Crear un nuevo proyecto.

Seleccionar herramientas a utilizar. Radiobutton, label, panel, picturebox, textbox, button.

Los radiobutton permiten seleccionar distintas operaciones a realizar.

El panel sirve para agrupar una serie de elementos o funciones.

El área del picturebox puede ser usada como área de dibujo y/o para mostrar un

resultado.

Diseñar interfaz (ver figura 44)

Establecer nombres de las herramientas con la propiedad Name.

Page 72: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 58 Aplicación de software a dispositivos móviles

Figura 44 Interfaz de la herramienta Matrices y señalización de los diferentes controles que utiliza

Una vez terminado el diseño de la interfaz y de etiquetar los objetos, se programan los

botones.

Antes de programar los botones se inicializan variables.

private double[,] a;

private double[,] b;

private double[,] c;

private double[,] d;

private int m, n, fi, co;

public matriz()

{

InitializeComponent();

}

Para el botón “Tamaño” se le agrega el còdigo que determina el tamaño de las matrices

a introducir.

private void tamaño_Click(object sender, EventArgs e)

{

try

{

m = Int32.Parse(cm.Text);

n = Int32.Parse(cn.Text);

a = new double[m, n];

Especificación del tamaño de la

matriz a insertar

Inserción de los elementos de

la matriz

Elección de la matriz a insertar

Espacio para mostrar las

matrices insertadas y el

resultado de las operaciones

realizadas

Elección de las operaciones a

realizar

Botón para leer los elementos

insertados

Page 73: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 59

b = new double[m, n];

c = new double[m, n];

d = new double[m, n];

}

catch { MessageBox.Show("losvalores deben

ser numericos o validos"); }

}

Para el botón “Leer” se debe agregar el siguiente código que permite leer los elementos

de la matriz en los textbox correspondientes.

private void button1_Click(object sender, EventArgs e)

{

if (matA.Checked)

{

fi = Int32.Parse(fila.Text);

co = Int32.Parse(col.Text);

a[fi, co] = Double.Parse(elemento.Text);

}

if (matB.Checked)

{

fi = Int32.Parse(fila.Text);

co = Int32.Parse(col.Text);

b[fi, co] = Double.Parse(elemento.Text);

}

}

En el botón “Operación” se deberán obtener todas las operaciones báscias de las

matrices introducidas en los radiobutton (tal como se muestra en el siguiente código).

private void

button3_Click(object sender,

EventArgs e)

{

try

{

if (suma.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = a[i, j] + b[i, j];

}

}

}

if (resta.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = a[i, j] - b[i, j];

}

}

}

if (producto.Checked)

{

int l = m;

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = 0;

for (int k = 0; k < l; k++)

{

c[i, j] += a[i, k] * b[k, j];

}

}

}

}

if

(transpuesta.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = a[j, i];

}

}

Page 74: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 60 Aplicación de software a dispositivos móviles

}

if

(transpuestaB.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = b[j, i];

}

}

}

if (suma1.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

d[i, j] = b[j, i];

}

}

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = a[i, j] + d[i, j];

}

}

}

if (suma2.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

d[i, j] = a[j, i];

}

}

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = a[i, j] + d[i, j];

}

}

}

if (resta1.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

d[i, j] = b[j, i];

}

}

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i,

j] = a[i, j] - d[i, j];

}

}

}

if

(resta2.Checked)

{

for (int i =

0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

d[i, j] = a[j, i];

}

}

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = a[i, j] - d[i, j];

}

}

}

if (multiplica1.Checked)

{

int l = m;

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

d[i, j] = b[j, i];

}

}

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = 0;

for (int k = 0; k < l; k++)

{

c[i, j] += a[i, k] * d[k, j];

}

}

}

}

if (multiplica2.Checked)

{

int l = m;

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

d[i, j] = a[j, i];

}

}

for (int i = 0; i < m; i++)

Page 75: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 61

{

for (int j = 0; j < n; j++)

{

c[i, j] = 0;

for (int k = 0; k < l; k++)

{

c[i, j] += d[i, k] * b[k, j];

}

}

}

}

if (opuesta1.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = a[i, j] * -1;

}

}

}

if

(opuesta2.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = b[i, j] * -1;

}

}

}

if (nula.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = a[i, j] * 0;

}

}

}

if (a2.Checked)

{

for (int i =

0; i < m; i++)

{

for (int

j = 0; j < n; j++)

{

c[i,

j] = a[i, j] * a[i, j];

}

}

}

if (b2.Checked)

{

for (int i = 0; i < m; i++)

{

for (int

j = 0; j < n; j++)

{

c[i,

j] = b[i, j] * b[i, j];

}

}

}

if (d1.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

if (i == j)

{

c[i, j] = a[i, j];

}

else

{

c[i, j] = 0;

}

}

}

}

if (d2.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

if (i == j)

{

c[i, j] = b[i, j];

}

else

{

c[i, j] = 0;

}

}

}

}

}

catch {

MessageBox.Show("elige una

operacion para aplicar el

resultado en C");

}

}

Page 76: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 62 Aplicación de software a dispositivos móviles

Posteriormente visualizar los resultados de las operaciones con el botón “Poner” y al mismo tiempo se visualiza la matriz resultante en el área del picturebox. Este botón se programa de la siguiente manera:

private void button2_Click(object sender, EventArgs e)

{

try

{

string tam = "";

if (matA.Checked)

{

fi = Int32.Parse(cm.Text);

co = Int32.Parse(cn.Text);

mat.Items.Add("Mat A");

for (int i = 0; i < fi; i++)

{

for (int j = 0; j < co; j++)

{

tam += a[i, j].ToString() + "";

}

mat.Items.Add(tam);

tam = "";

}

}

if (matB.Checked)

{

fi = Int32.Parse(cm.Text);

co = Int32.Parse(cn.Text);

mat.Items.Add("Mat B");

for (int i = 0; i < fi; i++)

{

for (int j = 0; j < co; j++)

{

tam += b[i, j].ToString() + "";

}

mat.Items.Add(tam);

tam = "";

}

}

if (matC.Checked)

{

mat.Items.Add("Mat C");

for (int i = 0; i < fi; i++)

{

for (int j = 0; j < co; j++)

{

tam += c[i, j].ToString() + "";

}

mat.Items.Add(tam);

tam = "";

}

}

}

catch { MessageBox.Show("selecciona alguna matriz para leer

los valores"); }

}

Por último generar la aplicación y comprobar el funcionamiento.

Page 77: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 63

Herramienta de código de colores y tabla de resistencias

Esta herramienta le permite al usuario saber el color perteneciente a la resistencia que

necesite, el usuario encontrará el código de color de cualquier resistencia en su valor

comercial.

En un proyecto nuevo de Smart Device Visual Studio de nombre “resistencias”, cabe

mencionar que el programador puede asignar nombres diferentes a los proyectos

creados, el nombre que coloque el programador será el nombre de la clase, y a

continuación se comienza a crear la interfaz de la pequeña aplicación.

Se hace uso de los controles Panel para guardar los controles, TextBox para visualizar el

valor de la resistencia, ComboBox y RadioButton para visualizar los valores comerciales

así como el valor de la tolerancia y el valor multiplicativo de cada resistencia a elegir por

el usuario; además se hará uso de los controles Label para que el usuario tenga

información de la aplicación y le oriente sobre su uso, aunque el texto y diseño queda a

criterio del programador, de cómo desee mostrar la interfaz de lo que desea mostrar.

Como se observa en la figura 45 se utilizan los labels, dos controles ComboBox para

resistencia y tolerancia; ocho RadioButton para que el usuario tenga opción de

seleccionar los multiplicativos de las resistencias, y un TextBox para visualizar el valor

comercial, además del control MenuMain que se encuentra en el formulario.

Figura 45 Interfaz de la herramienta Resistencias

Page 78: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 64 Aplicación de software a dispositivos móviles

Ahora se inserta un objeto donde se visualizará el código de color del valor de la

resistencia comercial por lo que se utilizará un PictureBox.

Y una vez agregado el PictureBox se arrastran dos botones al formulario que tienen como

eventos visualizar el valor en el Textbox y el código de colores; mientras que en el otro se

hace un vínculo hacia otro panel que tendrá en un PictureBox una tabla de resistencias.

Quedando como se muestra en la figura 46:

Figura 46 Inserción de PictureBox dentro de la herramienta Resistencias, lo cual ayuda a la mejor

comprensión del tema

Con haber creado esta interfaz, se introducen los valores de las resistencias y los valores

de las tolerancias dentro de los ComboBox.

Se selecciona el primer ComboBox que se ha nombrado como “valores” y en la

parte superior de este control se muestra una flechita; hacemos clic sobre ella y

se ven las opciones: Utilizar elementos enlazados a datos y Editar elementos (ver

figura 47).

Seleccionar Editar elementos y se escriben los valores comerciales sin su

multiplicativo (ver figura 48).

Page 79: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 65

Figura 47 Edición y configuración de elementos del control ComboBox

Figura 48 Inserción de los elementos del ComboBox

Ya introducidos los elementos, se da clic en Aceptar

Para el segundo ComboBox que se nombra como “tolerancia” se realizan los

pasos anteriores para insertar los elementos con los valores 1, 2, 5 y 10% y

Aceptar.

Una vez insertados los elementos y haber nombrado cada control, a usar, se

procede a hacer el contenido del PictureBox, es decir, el dibujo de la resistencia.

En el menú Propiedades se hace clic sobre el icono en forma de rayo (ver figura 49), que indica los eventos disponibles, y se configura el evento que indique que, al iniciar la aplicación muestre en pantalla de inicio el dibujo, sin necesidad de algún evento de invocación para generarlo en el área del PictureBox.

Page 80: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 66 Aplicación de software a dispositivos móviles

Figura 49 Ventana de propiedades para la configuración de los controles

Se busca el evento Paint y se da doble clic sobre este, ahí se introducirá el siguiente código que será el dibujo de la resistencia:

private void res_Paint(object sender, PaintEventArgs e)

{

Graphics gr = res.CreateGraphics();

Pen negro = new Pen(Color.Black);

Pen azul = new Pen(Color.CadetBlue);

negro.Width = 4.0F;

azul.Width = 3.0F;

gr.DrawRectangle(negro,new Rectangle(50,15,120,60));

gr.DrawLine(negro, 5, 50, 50, 50);

gr.DrawLine(negro, 170, 50, 210, 50);

gr.DrawRectangle(azul, new Rectangle(55, 18,20,53));

gr.DrawRectangle(azul, new Rectangle(85, 18, 20, 53));

gr.DrawRectangle(azul, new Rectangle(115, 18, 20, 53));

gr.DrawRectangle(azul, new Rectangle(145, 18, 20, 53));

}

A continuación se programan los eventos del primer botón llamado “visualizar”.

Se da doble clic sobre este botón y se definen las variables a usar así como se

define al PictureBox como objeto para que sea editable en cada evento del

botón.

private void visualiza_Click(object sender, EventArgs e)

{

double r;

Graphics gr = res.CreateGraphics();

}

Page 81: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 67

Ahora es necesario definir los colores que se desean visualizar en cada línea de color de

la resistencia; para lo que se codifica de la siguiente manera:

SolidBrush beige = new SolidBrush(Color.Beige);

SolidBrush negro1=new SolidBrush(Color.Black);

SolidBrush cafe = new SolidBrush(Color.Brown);

SolidBrush rojo = new SolidBrush(Color.Red);

SolidBrush naranja = new SolidBrush(Color.Orange);

SolidBrush amarillo = new SolidBrush(Color.Yellow);

SolidBrush verde = new SolidBrush(Color.Green);

SolidBrush azul1 = new SolidBrush(Color.Blue);

SolidBrush morado = new SolidBrush(Color.Purple);

SolidBrush gris = new SolidBrush(Color.Gray);

SolidBrush blanco = new SolidBrush(Color.White);

SolidBrush dorado = new SolidBrush(Color.Gold);

SolidBrush plata = new SolidBrush(Color.Silver);

Pen negro2 = new Pen(Color.Black);

Pen azul2 = new Pen(Color.CadetBlue);

negro2.Width = 4.0F;

azul2.Width = 3.0F;

Continuando con la creación de las resistencias se hace uso de los ya nombrados

ComboBox y los RadioButton para lo que se escribe el código que permite la

visualización de la resistencia seleccionada en el dibujo del PictureBox.

try

{

switch (valores.SelectedItem.ToString())

{

case "1":

if (rd1.Checked)

{

// 1 ohm

r = 1;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(negro1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

}

if (rd2.Checked)

{

// 10 ohm

r = 10;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(negro1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(negro1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd3.Checked)

{

Page 82: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 68 Aplicación de software a dispositivos móviles

// 100 ohm

r = 100;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(negro1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(cafe, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd4.Checked)

{

//1 kohm

r = 1000;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(negro1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(rojo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd5.Checked)

{

//10 kohm

r = 10000;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(negro1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(naranja, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd6.Checked)

{

//100 kohm

r = 100000;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(negro1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(amarillo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd7.Checked)

{

//1 Mohm

r = 1000000;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(negro1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(verde, 115, 18, 20, 53);

Page 83: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 69

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd8.Checked)

{

//10 Mohm

r = 10000000;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(negro1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(azul1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

break;

Este código es solo para el primer valor del ComboBox “valores”. Consulte el apéndice de

la herramienta Resistencias para ver la otra parte del código.

Después de crear los eventos del botón “Visualizar”, se crea otro panel en el cual se

introduce un PictureBox en el cual se ve una tabla de resistencias en caso de ser

necesaria.

Este panel irá por detrás del primer panel en donde se encuentra lo antes elaborado. Ahí

se da clic derecho sobre el panel Enviar al fondo (ver figura 50).

Figura 50 Organización de los paneles dentro de un formulario, envío hacia el frente o hacia atrás según

convenga, al momento de mostrar la información

Page 84: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 70 Aplicación de software a dispositivos móviles

El botón Cerrar tabla es sólo para cerrar el panel y volver al primer panel, aunque el

código en este botón es diferente porque no se pretende cerrar el formulario sino mandar

al frente el primer panel. Este código es:

private void cetabla_Click(object sender, EventArgs e) { t1.BringToFront(); }

Por último sólo falta programar el segundo botón del primer panel (t1) llamado “tabla” en

el sólo se da el evento que mande al frente el segundo panel (t2) con el siguiente código:

private void button2_Click(object sender, EventArgs e) { t2.BringToFront(); }

Diseño de una compuerta RTL

Esta herramienta le permite al usuario estudiante de ICE poder diseñar una compuerta

RTL que es aplicada dentro de la electrónica y que le da al usuario en sencillos pasos la

facilidad de saber que resistencias utilizar para el buen funcionamiento de esta

compuerta.

En nuevo proyecto de Smart Device Visual Studio de nombre compuerta_RTL. A

continuacion se hace uso de los controles Textbox, button y label.

Primero se hace configuración del MainMenu que sale de inicio abajo del formulario y se

le crea el evento cerrar.

Para la creación de la interfaz se necesita saber que valores serán pedidos al usuario

para lo que se tienen las variables Iihmax, Iilmax, hFE, F.O., F.S. (éstas son introducidas

por el usuario); cabe recalcar que el usuario debe tener conocimientos de electrónica

para entender estos términos que son esenciales para el diseño de esta compuerta.

Una vez definidos los valores que serán pedidos al usuario se añaden los textbox

convenientes para estos cálculos. Se arrastran de la barra de herramientas, cinco

controles TextBox asi como la inserción de labels para mostrar la información de

lo que se introducirá en estos TextBox (ver figura 51).

Page 85: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 71

También se introduce un botón, al cual se le nombra “Diseñar”, en el que se

hacen los cálculos que se muestran en otros TextBox.

Figura 51 Diseño de interfaz de la herramienta de diseño de compuerta RTL

La compuerta RTL necesita el cálculo de Rb, Rc, Rioh y Riol para lo cual se

necesitan otros textbox (ver figura 52) donde se arrojan dichos resultados de los

cálculos efectuados en el botón “Diseñar”.

Page 86: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 72 Aplicación de software a dispositivos móviles

Figura 52 Inserción de TextBox para mostrar los resultados una vez ejecutadas las operaciones al pulsar el

botón Diseñar

Una vez teniendo donde poner los resultados se hace el cálculo con los valores

pedidos al usuario.

Para esto se da doble clic sobre el botón “Diseñar” y se programa el siguiente

código:

private void diseñar_Click(object sender, EventArgs e)

{

double Iihmax, Iilmax, fo, fs, hfe, iohmax,

iolmax, Rioh, Riol, rc, rb, Irc, Ics, Ibts, Ibs, Irioh,

Iriol;

try

{

Iihmax = double.Parse(v1.Text);

Iilmax = double.Parse(v2.Text);

hfe = double.Parse(v3.Text);

fo = double.Parse(v4.Text);

fs = double.Parse(v5.Text);

iohmax = fo * Iihmax;

iolmax = fo * Iilmax;

//voh=4.4v

rc = (5 - 4.4) / iohmax;

Irc = (5 - .1) / rc;

Rioh = 4.4 / iohmax;

Ics = Irc - iolmax;

Ibts = Ics / hfe;

Page 87: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 73

Ibs = fs * Ibts;

rb = (3.4 - 0.7) / Ibs;

Irioh = 0.1 / Rioh;

Iriol = iolmax + Irioh;

Riol = Math.Abs((5 - .8) / Iriol);

v6.Text = rb.ToString();

v7.Text = Rioh.ToString();

v8.Text = rc.ToString();

v9.Text = Riol.ToString();

}

catch

{

MessageBox.Show("Valores no validos");

v1.Text = "";

v2.Text = "";

v3.Text = "";

v4.Text = "";

v5.Text = "";

}

}

Con esto se obtienen los valores necesarios para hace una compuerta RTL.

Ahora lo que se agregan los controles, botones; uno para ver el circuito y otro

para limpiar los valores de todos los TextBox (ver figura 53).

Figura 53 Inserción de los botones que muestran el circuito y otro que borra los valores insertados en los

TextBox

Primero se programa el botón “limpiar” con el código para borrar el contenido de

los TextBox.

Page 88: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 74 Aplicación de software a dispositivos móviles

private void limpiar_Click(object sender, EventArgs e)

{

v1.Text = "";

v2.Text = "";

v3.Text = "";

v4.Text = "";

v5.Text = "";

v6.Text = "";

v7.Text = "";

v8.Text = "";

v9.Text = "";

}

Y para el segundo botón, primero se debe hacer un panel en el que se tendrá la

figura del circuito y un botón para regresar a la vista anterior. Se Introduce la

imagen dentro del PictureBox y en el botón se escribe el codigo:

private void regresa_Click(object sender, EventArgs e)

{

p1.BringToFront();

}

Con este código se manda a llamar al panel principal que tiene los valores de la

compuerta. Antes de hacer esto cabe recordar que el panel que se muestra en la

imagen deberá mandarse al fondo con clic derecho sobre el PictureBox y clic en

enviar al fondo (ver figura 54).

Figura 54 Manejo de lo paneles para organizar la información mostrada dentro de la herramienta

Ahora en la vista del panel principal se escribe el código para mandar a llamar el

segundo panel en el botón “Ver Circuito” el cual será:

Page 89: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 75

private void visualiza_Click(object sender, EventArgs e) { p2.BringToFront(); }

Convertidor de unidades

Esta herramienta le permite al usuario hacer la conversión de un número a otro en base

al sistema numérico que elija.

En un proyecto nuevo de Smart Device, el cual se titula convertidor, a continuación se

crea la interfaz de usuario.

Se crea la interfaz utilizando los controles Button, Textbox, ComboBox y labels

estos contienen la información que se le muestra al usuario.

Se programa el MainMenu que automáticamente se genera al crear el formulario,

aparece al principio para cerrar el formulario.

Se introducen los controles en el formulario, la elección de éstos, depende de

cada programador, para este caso se colocó un ComboBox llamado “nunidades”

que será el que tendrá como elementos los nombres de las unidades de medida:

Longitud, Peso, Presión, Temperatura, Potencia.

Se agrega otro ComboBox al cual se le llama “Longitud” y que tiene como

elementos las unidades del ComboBox “nunidades”, otro textbox para visualizar

el valor convertido y un botón que se programa de manera que haga las

conversiones necesarias y muestre el resultado en el TextBox de conversión.

(ver figura 55).

Page 90: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 76 Aplicación de software a dispositivos móviles

Figura 55 Diseño de la herramienta conversor de unidades y la inserción de los controles ComboBox para

elección de las unidades a convertir

La interfaz queda ya terminada, se le coloca una decoración de un fondo

que se introduce mediante un PictureBox. Esto es opcional ya que cada

programador tiene su estilo y le puede dar la forma y colores que desee.

La vista de cómo queda se muestra en la figura 56.

Figura 56 Inserción del botón Convertir, dentro de la interfaz del formulario

Ya teniendo la interfaz terminada se procede a programar el botón; el

código que se plantea a continuación es solo una parte, el código

completo se encuentra dentro de los apéndices:

Page 91: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 77

private void conv_Click(object sender, EventArgs e)

{

try

{

if (longitud.SelectedIndex == 0)//km-m

{

a = double.Parse(valor.Text);

r = a * 1000;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 1)//km-cm

{

a = double.Parse(valor.Text);

r = a * 100000;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 2)//km-dm

{

a = double.Parse(valor.Text);

r = a * 10000;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 3)//km-mm

{

a = double.Parse(valor.Text);

r = a * 1000000;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 4)//km-pulg

{

a = double.Parse(valor.Text);

r = a * 39370.07874;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 5)//km-yarda

{

a = double.Parse(valor.Text);

r = a * 1093.613298;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 6)//m-km

{

a = double.Parse(valor.Text);

r = a * .001;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 7)//m-cm

{

a = double.Parse(valor.Text);

r = a * 100;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 8)//m-dm

{

a = double.Parse(valor.Text);

r = a * 10;

res.Text = r.ToString();

Page 92: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 78 Aplicación de software a dispositivos móviles

}

if (longitud.SelectedIndex == 9)//m-mm

{

a = double.Parse(valor.Text);

r = a * 1000;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 10)//m-pulg

{

a = double.Parse(valor.Text);

r = a * 39.370079;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 11)//m-yarda

{

a = double.Parse(valor.Text);

r = a * 1.093613;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 12)//cm-km

{

a = double.Parse(valor.Text);

r = a * .000001;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 13)//cm-m

{

a = double.Parse(valor.Text);

r = a * .01;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 14)//cm-dm

{

a = double.Parse(valor.Text);

r = a * .1;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 15)//cm-mm

{

a = double.Parse(valor.Text);

r = a * 10;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 16)//dm-km

{

a = double.Parse(valor.Text);

r = a * 0.0001;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 17)//dm-m

{

a = double.Parse(valor.Text);

r = a * 0.1;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 18)//dm-cm

{

a = double.Parse(valor.Text);

r = a * 10;

res.Text = r.ToString();

Page 93: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 79

}

if (longitud.SelectedIndex == 19)//dm-mm

{

a = double.Parse(valor.Text);

r = a * 100;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 20)//mm-km

{

a = double.Parse(valor.Text);

r = a * .0000001;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 21)//mm-m

{

a = double.Parse(valor.Text);

r = a * .001;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 22)//mm-cm

{

a = double.Parse(valor.Text);

r = a * .1;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 23)//mm-dm

{

a = double.Parse(valor.Text);

r = a * .01;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 24)//pulg-km

{

a = double.Parse(valor.Text);

r = a * .0000254;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 25)//pulg-m

{

a = double.Parse(valor.Text);

r = a * 0.0254;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 26)//pulg-cm

{

a = double.Parse(valor.Text);

r = a * 2.54;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 27)//pulg-dm

{

a = double.Parse(valor.Text);

r = a * 0.254;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 28)//pulg-mm

{

a = double.Parse(valor.Text);

r = a * 25.4;

res.Text = r.ToString();

Page 94: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 80 Aplicación de software a dispositivos móviles

}

Como se observa en el código solo se hace la conversión de las unidades

de longitud que tiene el ComboBox “nunidades”.

Ahora se utiliza otro ComboBox de la barra de herramientas y se le da

otro nombre en el que se ingresarán las unidades de otro elemento del

ComboBox “nunidades”; cabe mencionar que estos se deben poner

encima del segundo ComboBox ”Longitud” para que no se observen

desordenados. Esto se hace para cada elemento que tiene el primer

ComboBox.

En la figura 57 se observan los cinco ComboBox a utilizar, desordenados;

se deben poner uno encima del otro para tener mejor estética y evitar

confusión en el usuario. Y en la figura 57.1 se observa un solo ComboBox

aunque todos están encimados sin que se note.

Figura 57 ComboBox Desordenados Figura 57.1 ComboBox ordenados

Como cada ComboBox es nombrado diferente y con diferentes elementos el código solo

se anexa al botón.

Ahora bien para que la aplicación funcione bien y se muestre sólo el ComboBox con las

unidades del elemento seleccionado en el ComboBox “nunidades”:

Page 95: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 81

Primero se da clic derecho en el ComboBox que quedo por encima de los demás y se

manda hacia el fondo, se mostrará otro ComboBox y hacemos lo mismo, hasta llegar al

ComboBox “Longitud” que se hizo y ese se deja en frente.

Este ComboBox será el que tenga los elementos de las unidades de longitud.

Ahora para que se muestre el ComboBox con los elementos que le corresponden a cada

elemento del ComboBox “nunidades” se deberá poner el código siguiente dando doble

clic sobre el ComboBox “nunidades”.

private void nunidades_SelectedIndexChanged(object

sender, EventArgs e)

{

longitud.Visible = false;

peso.Visible = false;

presion.Visible = false;

temperatura.Visible = false;

potencia.Visible = false;

if (n_unidades.SelectedIndex == 0)

longitud.Visible = true;

if (n_unidades.SelectedIndex == 1)

peso.Visible = true;

if (n_unidades.SelectedIndex == 2)

presion.Visible = true;

if (n_unidades.SelectedIndex == 3)

temperatura.Visible = true;

if (n_unidades.SelectedIndex == 4)

potencia.Visible = true;

}

Con este código se pone cada Combobox que contiene las unidades en modo invisible y

solo se muestran cuando el usuario selecciona un elemento del ComboBox “nunidades”.

Ahora verá en la implementación como sólo se mostrará el ComboBox del elemento

seleccionado del primer ComboBox “nunidades”.

3.2.3 Diseño de la interfaz

Visual Studio 2008, permite la creación de ambientes gráficos de manera fácil y sencilla,

permitiendo el uso de herramientas propias de la aplicación, más adelante se explica

cómo estas herramientas son adaptadas al Pocket PC.

Page 96: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 82 Aplicación de software a dispositivos móviles

Se agregaron herramientas de diseño tales como Labels, main menu, progress bar, entre

otras que ayudan a tener un mejor entendimiento y facilidad en la navegación de los

temas.

Diseño general de la aplicación

En primera instancia se observa el diseño de la portada de la aplicación y el título (ver

figura 58). Se hace clic en entrar para hacer uso de los diferentes formularios.

Figura 58 Diseño principal de la interfaz de la aplicación de ICE

Se muestra el menú de materias (las cuales corresponden a materias básicas de tronco

común) (ver figura 59).

Figura 59 Interfaz y organización de los formularios realizados

Page 97: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 83

Se puede dar clic en cualquiera de las materias citadas, en el ejemplo de la figura 60, se

navegará sobre el formulario de circuitos digitales, a fin de conocer la interfaz grafica y los

menús con los que cuenta la aplicación. Se muestra la portada principal del formulario y

dos opciones, si se pulsa salir nos salimos del formulario y regresamos al menú principal

de materias. Si se pulsa entrar tenemos acceso a los temas desarrollados.

Figura 60 Interfaz del formulario de Circuitos digitales

Al entrar al formulario, el sistema es tan amigable que siempre guía al usuario sobre qué

hacer para ver los temas, tiene indicaciones especificadas en color azul.

Los temas son mostrados a manera de árbol y se debe de hacer clic sobre el tema

principal para tener acceso a la información (ver figura 61).

Page 98: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 84 Aplicación de software a dispositivos móviles

Figura 61 Inserción del control TreeView y organización de los temas pertenecientes a la materia de circuitos

digitales

Se muestra la información en diferente ventanas (se divide en paneles, cada uno de los

subtemas) (ver figura 62).

Figura 62 Organización y navegación en la información mostrada, referente a la materia

Cada tema tiene sencillos ejemplos, para el mejor entendimiento de los temas. Como en

éste caso (ver figura 63), se muestran ejemplos definidos de la representación de

Page 99: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 85

números en diferentes bases. Se pueden consultar las herramientas y se puede

encontrar una aplicación que hace conversiones a diferentes bases y unidades a partir de

los datos dados por el usuario.

Figura 63 Ejemplos de apoyo a los temas mostrados en los diferentes formularios, este ejemplo corresponde al

formulario de Circuitos digitales

Se pueden encontrar también en los formularios la explicación de diversos dispositivos

electrónicos. Por ejemplo, en el formulario se puede visualizar la explicación de las

compuertas lógicas y se puede tener acceso, a lo que se pudiera llamar una parte de la

hoja de especificación, en donde se puede ver la forma de conexión de los dispositivos,

tal como se muestra (ver figura 64).

Page 100: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 86 Aplicación de software a dispositivos móviles

Figura 64 Tablas de verdad y hojas de especificación de algunos dispositivos de circuitos digitales.

Se puede observar en la parte inferior de la pantalla dos botones: opciones y cerrar. Si se

pulsa cerrar se sale automáticamente de la aplicación; si se pulsa opciones, se tiene un

menú, cuyas opciones son:

Salir de la aplicación, se sale en automático de la aplicación y se regresa a la ventana

principal de la aplicación.

Ir al temario, regresa al temario principal del formulario (ver figura 65).

Figura 65 Demostración del apoyo de los Controles para salir o regresar a los temarios principales

Page 101: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 87

Regresando al menú principal de la aplicación, se cuenta con diversas herramientas

básicas de apoyo al estudiante de ingeniería en comunicaciones y electrónica, cuya

interfaz está desarrollada igual que las interfaces, de las cuales se habló anteriormente.

A continuación se muestra el diseño de algunas de éstas herramientas y la manera de

interactuar con las mismas, dentro de la aplicación.

Figura 66 interfaz y organización de la herramientas de apoyo para la aplicación de ICE

Las herramientas constan de una interfaz sencilla (ver figura 66), pero cada herramienta

tiene funciones diferentes, así bien, se tiene la herramienta Amplificadores (ver figura

67), la cual resuelve y diseña amplificadores inversores y no inversores; herramienta

calculadora, es una calculadora científica; matrices (ver figura 68), resuelve operaciones

con matrices, conversión de complejos, conversión de unidades, conversión de bases

(ver figura 69), diseño de compuerta RTL, Resistencias comerciales y diseño de redes

RC (Pasa Altas y Pasa Bajas).

Básicamente las herramientas cuentan con las funciones que realizan cada una,

contienen imágenes que ilustran el diseño de los circuitos que se están diseñando; esto

para complementar el conocimiento respecto a los temas y problemas planteados.

Las interfaces contienen, en lo que es su diseño, TextBox (cajas de texto), Labels

(etiquetas), PictureBox (Cajas con imágenes); la información se divide algunas veces en

paneles, que permiten navegar de manera sencilla por la herramienta. También cuenta

Page 102: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 88 Aplicación de software a dispositivos móviles

con botones que toman los datos insertados por el usuario, estos botones contienen

métodos que realizan las operaciones necesarias y adecuadas a cada aplicación. Estas

operaciones son basadas en las fórmulas estudiadas durante la carrera.

Anteriormente se habló del diseño de estas herramientas en la herramienta de

programación Visual Studio 2008 con aplicación a Smart Device.

Vista general de Herramienta Amplificadores

Figura 67 Interfaz final de la herramienta amplificadores y los controles utilizados para su diseño

Cajas de inserción de datos Botón que contiene el método

para realizar las operaciones

Cajas de texto, para mostrar

resultados Cajas de inserción de datos

Page 103: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 89

Vista general de Herramienta Matrices

Figura 68 Interfaz final de la herramienta Matrices y los controles utilizados para su diseño

Vista general de Herramienta conversión de bases

Figura 69 Interfaz final de la herramienta conversión de bases y los controles utilizados para su diseño

Espacio para mostrar las

matrices insertadas y el

resultado de las operaciones

realizadas

Elección de las operaciones a

realizar

Elección de la matriz a insertar

Especificación del tamaño de la

matriz a insertar

Inserción de los elementos de

la matriz

Botón para leer los elementos

insertados

Botón para realizar la operación

señalada

Caja para insertar los valores a convertir

Elección de una base a otra, a la cual se

desea convertir

Muestra el resultado de la

conversión

Page 104: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 90 Aplicación de software a dispositivos móviles

3.3 Programación y codificación

Como se sabe, el desarrollo de la aplicación se realiza dentro del marco de Visual Studio

2008, en un entorno de C# (en ingles C Sharp, en español se interpretaría C afilado o

experto), es un lenguaje de programación que permite el desarrollo de aplicaciones para

Internet, para móviles y aplicaciones de propósito general. Inicialmente se desarrolló para

programar en la plataforma .NET, pero dadas las características de esta y la

estandarización que se ha hecho de su estructura por parte de Microsoft ante las

principales entidades de estándares internacionales, se han desarrollado otras

plataformas que cumplen con dicha estructura, y por lo tanto C# puede ser utilizado como

lenguaje de programación en ellas.

La sintaxis de C# es muy parecida a la de C++ o Java, puesto que la intención de

Microsoft 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 comparables con los de Visual Basic.

Cada control en base a sus funciones propias, es posible programarlas para que cumplan

en tiempo y ejecución ciertos eventos.

A continuación se mostrarán ejemplos de programación y codificación de algunos

controles.

En la aplicación que convierte de una base a otra, el botón convertir, se programa de la

siguiente manera para que haga las diferentes conversiones.

private void button1_Click(object sender, EventArgs e)

{

long a, b,i;

string n = "";

string x = "";

if (sistemas.SelectedIndex == 0)//dec-bin

{

a = Int64.Parse(valor.Text);

b = 0;

for (i = 1; a > 0; i++)

{

Page 105: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 91

b = a % 2;

a = a / 2;

n = b + n;

}

res.Text = n;

}

Se puede observar que en el objeto:

private void button1_Click(object sender, EventArgs e)

El evento predeterminado del botón se estipula, al hacer clic, pero está previamente

establecido este evento, pues ya es una propiedad definida del control. Lo que se tiene

que estipular por parte del programador son las variables. Para esto debemos de

entender algunos conceptos.

Una variable puede ser definida dentro de una definición de clase, en cuyo caso se

correspondería con el tipo de miembro que hasta ahora hemos denominado campo.

También puede definirse como un variable local a un método, que es una variable

definida dentro del código del método a la que sólo puede accederse desde dentro de

dicho código. Otra posibilidad es definirla como parámetro de un método, que son

variables que almacenan los valores de llamada al método y que, al igual que las

variables locales, sólo pueden ser accedidas desde código ubicado dentro del método.

En la aplicación y en el código que se especifico al iniciar éste tema:

private void button1_Click(object sender, EventArgs e)

{

long a, b,i;

string n = "";

string x = "";

if (sistemas.SelectedIndex == 0)//dec-bin

{

a = Int64.Parse(valor.Text);

b = 0;

for (i = 1; a > 0; i++)

{

b = a % 2;

a = a / 2;

n = b + n;

}

res.Text = n;

}

Page 106: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 92 Aplicación de software a dispositivos móviles

3.3.1 Diagramas de clase

Un diagrama de clases es un tipo de diagrama estático que describe la estructura de un

sistema mostrando sus clases, atributos y las relaciones entre ellos. Los diagramas de

clases son utilizados durante el proceso de análisis y diseño de los sistemas, donde se

crea el diseño conceptual de la información que se manejará en el sistema, y los

componentes que se encargarán del funcionamiento y la relación entre uno y otro.

El diagrama de clases incluye mucha más información como la relación entre un objeto y

otro, la herencia de propiedades de otro objeto, conjuntos de operaciones/propiedades

que son implementadas para una interfaz.

El Diseñador de clases de Visual Studio utiliza un diagrama para mostrar los detalles de

los tipos, sus miembros constituyentes y las relaciones que éstos comparten. Al visualizar

estas entidades, en realidad se obtiene una vista del código. Esto significa que es posible

editar los tipos que son de lectura y escritura y, a continuación, ver los cambios en el

código fuente de la entidad. Análogamente, un diagrama de clase se mantiene

sincronizado con los cambios realizados en el código de las entidades.

En el diagrama 1 general de clases perteneciente a la aplicación de Formulario de Circuitos

digitales.

Page 107: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 93

Diagrama 1 Diagrama de clases del formulario de circuitos digitales

Page 108: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 94 Aplicación de software a dispositivos móviles

Se puede observar en cada uno de los diagramas las relaciones de cada una de las

clases y de los objetos que tiene cada una de éstas. El diagrama se compone de clases

base y clases derivadas, la base es la raíz y las clases derivadas son relaciones de otras.

No hay que omitir que cada clase tiene métodos y atributos y las relaciones con otras

clases conocidas entre ellas, sin mostrar los métodos mediante los cuales se invocan

entre ellas.

También tienen clases base similar entre ellas tales como Container control, Component,

Control, Scrollable y Object; ésta última admite todas las clases de la jerarquía de clases

de .NET Framework y proporciona servicios de bajo nivel a las clases derivadas. Se trata

de la clase base fundamental de todas las clases de .NET Framework; es la raíz de la

jerarquía de tipos.

Es importante resaltar que en el diagrama general de la aplicación no se muestran las

clases de los demás formularios, ni sus atributos ni propiedades; esto es porque están

contenidos como referencias a bibliotecas de clases.

Clase

Una clase define los atributos y los métodos de una serie de objetos. Todos los objetos

de esta clase (instancias de esa clase) tienen el mismo comportamiento y el mismo

conjunto de atributos (cada objetos tiene el suyo propio). En ocasiones se utiliza el

término “tipo” en lugar de clase, pero recuerde que no son lo mismo, y que el término tipo

tiene un significado más general (ver diagrama 2).

Las clases están representadas por rectángulos, con el nombre de la clase, y también

pueden mostrar atributos y operaciones de la clase en otros dos “compartimentos” dentro

del rectángulo.

Page 109: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 95

Diagrama 2 Forma y Contenido del campo clase Form2 y sus Métodos

Asociaciones de clases

Las clases se pueden relacionar (estar asociadas) con otras de diferentes maneras.

Generalización

La herencia es uno de los conceptos fundamentales de la programación orientada a

objetos, en la que una clase “recoge” todos los atributos y operaciones de la clase de la

que es heredera, y puede alterar/modificar algunos de ellos, así como añadir más

atributos y operaciones propias.

En el Diseñador de clases, puede ver la relación de herencia, si existe, entre un tipo base

y sus tipos derivados en el diagrama de clase. Las relaciones de herencia se pueden dar

entre dos clases, entre dos interfaces, o entre una clase y una interfaz.

Asociaciones

Una asociación representa una relación entre clases, y aporta la semántica común y la

estructura de muchos tipos de “conexiones” entre objetos.

Page 110: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 96 Aplicación de software a dispositivos móviles

Las asociaciones son los mecanismos que permite a los objetos comunicarse entre sí.

Describe la conexión entre diferentes clases (la conexión entre los objetos reales se

denomina conexión de objetos o enlace).

Las asociaciones pueden tener un papel que especifica el propósito de la asociación y

pueden ser unidireccionales o bidireccionales (indicando si los dos objetos participantes

en la relación pueden intercambiar mensajes entre sí, o es únicamente uno de ellos el

que recibe información del otro). Cada extremo de la asociación también tiene un valor de

multiplicidad, que indica cuántos objetos de ese lado de la asociación están relacionados

con un objeto del extremo contrario.

Las asociaciones se representan por medio de líneas que conectan las clases

participantes en la relación, y también pueden mostrar el papel y la multiplicidad de cada

una de ellas (ver diagrama 3).

En el Diseñador de clases, las líneas de asociación muestran la forma en que se

relacionan las clases en un diagrama. Una línea de asociación representa una clase que

es el tipo de una propiedad o un campo de otra clase del proyecto. Las líneas de

asociación se utilizan generalmente para ilustrar las relaciones más importantes entre las

clases del proyecto.

A pesar de que todos los campos y propiedades se pueden mostrar como asociaciones,

tiene más sentido mostrar sólo los miembros importantes como asociaciones,

dependiendo de lo que se desee resaltar en el diagrama. Se pueden mostrar los

miembros menos importantes como miembros normales u ocultarlos totalmente.

Page 111: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 97

Diagrama 3 Diagrama de clases “Asociaciones entre las clases”

3.4 Conversión de formularios a bibliotecas de clases.

. NET Framework se compone de bibliotecas de clases de nombres. Cada una contiene

los tipos de instrucciones que pueden utilizar en un programa: clases, estructuras,

enumeraciones, delegados e interfaces.

Al crear una aplicación Visual C # en Visual Studio con Compact Framework 3.5 para

Smart Device, se pueden hacer bibliotecas de clases, es decir, se puede crear un

proyecto base con controles y métodos que previamente puede convertirse a una

biblioteca de clases o archivo DLL con la finalidad de ocultar el código de la aplicación o

ahorrar el hacer referencia a recursos externos de programación o herramientas, para

este proyecto en particular una biblioteca de clases es usada para la conjunción de

Asociación

Asociación

Page 112: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 98 Aplicación de software a dispositivos móviles

proyectos en un solo menú, con las ventajas de ahorro de espacio en disco y ocultar

métodos de código y procesos de fabricación del mismo.

Al crear un proyecto en Visual Studio 2008, se crean bibliotecas de clase previamente

definidas a continuación se mencionan las más importantes. Si se desea conocer las

demás bibliotecas con las que cuenta Visual Studio al crear un proyecto, se pueden ver

los anexos cuyo título Referencia a las bibliotecas de clase de .NET Framework.

Pasos para convertir un proyecto a biblioteca de clases:

1. Visual Studio tiene una opción dentro del menú Herramientas, para generar

bibliotecas de clase, una vez abierta la ventana del proyecto actual, se deberá de ir a

las opciones dentro del nombre del proyecto con clic derecho, en la ventana de

explorador de soluciones(ver figura 70) y en el campo propiedades.

Figura 70 Ventana de explorador de soluciones

El campo propiedades nos brinda un panorama general de la aplicación y sus

contenidos, dentro de esta opción podemos modificar ciertas condiciones propias del

proyecto como son el tipo de recursos, rutas de acceso de referencia, el modo de

Page 113: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 99

depuración del proyecto, firmas de ensamblado para personalizar el proyecto, así

como las propiedades de los dispositivos a los cuales estará orientado el proyecto.

Para este caso únicamente se hará uso de la pestaña aplicación en donde

especificaremos el tipo de resultado (ver figura 71).

Figura 71 Elección de la opción Biblioteca de clases para convertir el proyecto a biblioteca

2. En la opción tipo de resultado se elige la opción biblioteca de clases para que se

genere el archivo correspondiente a una biblioteca de clases tipo DLL, cabe

mencionar que la opción aplicación a Windows solo genera, al momento de depurar

el proyecto, un archivo ejecutable cuyo contenido es ejecutable en cualquier

plataforma soportada por Compact Framework 3.5. Después de elegir esta opción

únicamente se tendrá que depurar el proyecto en la opción depurar (ver figura 72).

Page 114: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 100 Aplicación de software a dispositivos móviles

Figura 72 Se inicia el Debug para comenzar con la creación a biblioteca

Al depurar el proyecto el programa generalmente marca una excepción la cual indica que

no se puede iniciar directamente un tipo de resultado de Bibliteca de clase, lo cual es

correcto ya que el proyecto no cuenta con un recurso que ejeute directamente la

biblioteca de clases para este caso únicamente se acepta la excepción (ver figura 73).

Figura 73 Excepción que marca la imposibilidad de ejecutar el proyecto como biblioteca de clases.

3. Al aceptar la excepción anteriormente mencionada se genera un archivo con el

nombre del proyecto o de la clase principal del proyecto según el usuario haya

indicado previamente, este archivo es la biblioteca de clase con extensión DLL, ésta

se encuentra dentro de la carpeta donde está guardado el proyecto, dentro de la

subcarpeta bin\debug (ver figura 74), esta biblioteca de clase contiene de forma

compacta los métodos, recursos, propiedades e instrucciones de programación que

se realizaron en el proyecto.

Page 115: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Aplicación de software a dispositivos móviles Página 101

Figura 74 Ubicación de la biblioteca creada

4. Para ejecutar el contenido de esta biblioteca de clases se crea un proyecto nuevo y

se manda a llamar la biblioteca copiando el archivo en la carpeta debug del proyecto

de Visual Studio creado, posteriormente dentro de las referencias del proyecto se

agrega la biblioteca de clases y se manda a llamar con una línea de código dentro del

programa, estos pasos se indicaran con mayor detalle en el capítulo 4 que explica la

forma en que se implementa la aplicación.

Page 116: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo III Diseño y Desarrollo de la Aplicación

Página 102 Aplicación de software a dispositivos móviles

Page 117: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo IV Implementación y Pruebas

Aplicación de software a dispositivos móviles Página 103

CAPÍTULO IV

Implementación y Pruebas

4.1 Conexión con el dispositivo

Para tener conexión y sincronización con el dispositivo Pocket PC se requiere la

instalación en la PC del Software de sincronización de archivos Active Sync que

normalmente se encuentra en el disco de drivers de la Pocket PC o en la página oficial de

Microsoft.

ActiveSync de Microsoft, es el centro de control para el intercambio de datos entre el PC

y Windows Mobile / Pocket PC. Apoya la sincronización de Contactos, Calendario,

Correo electrónico, tareas y notas con MS Outlook.

ActiveSync también se ocupa de realizar algunas tareas como son:

Conversión de documentos de Pocket Excel, Pocket Word y Pocket Acceso

Sincronización de correo electrónico Outlook y carpetas entre la bandeja de

entrada

Sincronización de archivos de audio / vídeo

Intercambio de favoritos de Internet (más contenido de cache)

Cómo copiar archivos a una PC:

Ciertamente, la forma más sencilla de copiar archivos entre la PC y dispositivo Windows

Mobile, es hacer uso del software ActiveSync. Cuando el Windows Mobile está acoplado

con el escritorio, se encuentra que se puede utilizar la conexión para la copia de archivos

con tan solo arrastrar y soltar.

1. Conectar el dispositivo Windows Mobile con la PC mediante ActiveSync

2. Ir a Windows "Mi PC"

Page 118: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo IV Implementación y Pruebas

Página 104 Aplicación de software a dispositivos móviles

3. Se debe ver a un "dispositivo móvil" que figuran en el icono "Mi PC" – hacer

doble clic sobre este icono , y abrir los archivos y carpetas en el

dispositivo.

4. Se deja abierta esta carpeta y se abren mis documentos

5. Ahora se debe tener dos carpetas abiertas, y se puede arrastrar archivos entre

PC y dispositivos Windows Mobile como se requiera.

4.1.1 Emulador Smart Device de Visual Studio

En caso de no contar con un dispositivo conectado a la PC para realizar las pruebas

correspondientes, se puede trabajar con el emulador incluido en la plataforma de

desarrollo Visual Studio. Los emuladores son máquinas virtuales que corren en la PC

como si fuera el dispositivo mismo.

Existen diversos emuladores que dependen de la plataforma de desarrollo y el tipo de

Framework que se utiliza al programar (Windows CE 2002, Windows Mobile 2003,

Smartphone, etc.).

Cargar aplicación desde el emulador

Una vez que el proyecto o programa en Smart Device de se ha concluido y se desean ver

los resultados únicamente se depura el proyecto en la opción depurar de la ventana barra

de herramientas del programa Visual Studio. A continuación se pedirá, donde se desea

implementar la aplicación y se elige la opción emulador que simula un dispositivo móvil

con características similares a la realidad (ver figura 75).

Page 119: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo IV Implementación y Pruebas

Aplicación de software a dispositivos móviles Página 105

Figura 75 Implementación del formulario desde el emulador de Visual Studio

La opción Square Emulador únicamente emula los resultados del programa sin las

características de un dispositivo real.

Al ejecutar el emulador la aplicación se carga en una ventana que simula un dispositivo

móvil Pocket PC en donde se ejecuta la aplicación deseada y se pueden verificar si los

resultados obtenidos son los deseados (ver figura 76).

Figura 76 Ventana del emulador de Visual Studio

Page 120: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo IV Implementación y Pruebas

Página 106 Aplicación de software a dispositivos móviles

El emulador que utiliza la plataforma de desarrollo es el Device Emulator 3.0, cuyas

características principales se enumeran de la siguiente manera.

Viene con Visual Studio 2008.

o La plataforma de diseño de software Visual Studio contiene este

emulador que facilita la tarea de revisar el comportamiento de un

programa elaborado para Smart Device.

Actualiza las versiones anteriores.

o En caso de contar con un programa desarrollado en un Compact

Framework de versión anterior el emulador tiene la capacidad de

actualizar los recursos para que este sea ejecutable en esta nueva

versión.

4.2 Implementación

Anteriormente se trató la forma en que se emula un dispositivo y como es que se emula

una aplicación de Smart Device en el programa de desarrollo Visual Studio, en esta

parte del capítulo se explicará de manera breve y significativa la manera en que una

aplicación puede ser ejecutada desde el dispositivo móvil o Pocket PC, hay que tomar en

cuenta que en este proyecto para ahorrar espacio de memoria en el dispositivo físico fue

necesario convertir las aplicaciones que conforman el menú general de Herramientas de

ICE en bibliotecas de clase (.DLL) las cuales serán llamadas por otra aplicación

complementaria que se explicará en el siguiente tema, y la forma en que la aplicación

final es transportada al dispositivo físico Pocket PC.

4.2.1 Transferencia de la aplicación al dispositivo móvil

Como requisito indispensable para realizar la prueba física se deberá contar con una

Pocket PC y con el simulador de Pocket PC de Visual Studio para realizar la transferencia

de la aplicación

Page 121: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo IV Implementación y Pruebas

Aplicación de software a dispositivos móviles Página 107

.

De acuerdo a lo anterior cualquier dispositivo que sea clasificado como un PocketPC

debe:

Ejecutar el sistema operativo Microsoft Windows CE o Windows Mobile (versión

PocketPC)

Tener un conjunto de aplicaciones en ROM

Incluir una pantalla sensible al tacto

Incluir un dispositivo apuntador, llamado stylus o estilete

Incluir un conjunto de botones de hardware para activar aplicaciones

Estar basado en un procesador compatible con el StrongARM

Contar con una versión Compact Framework 3.5

Diseño del menú principal de herramientas y formularios

Antes de realizar la transferencia de la aplicación al dispositivo móvil, y tomando en

cuenta que las aplicaciones fueron convertidas en bibliotecas de clases (.DLL) como se

explicó en el capitulo anterior se deberá realizar un menú o aplicación que administre

estas bibliotecas y las ejecute como parte del programa principal. Para ello se muestra a

continuación el diseño de la aplicación menú.

Retomando las instrucciones de cómo crear una aplicación Smart Device en Visual

Studio se crea de igual forma el menú herramientas llamado en esta ocasión

“menu_gen” y cuyo diseño con ayuda de las herramientas y recursos usados y

anteriormente explicados se crea una interfaz como se observa en la figura 77.

Page 122: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo IV Implementación y Pruebas

Página 108 Aplicación de software a dispositivos móviles

Figura 77 Creación y diseño de la interfaz del conjunto de la herramientas de apoyo para el formulario de ICE

Una vez terminado el diseño del menú principal, se pasan todas y cada una de las

librerías de clases a la carpeta del proyecto llamada “debug” y se agregan las

referencias correspondientes a estas bibliotecas desde el “explorador de soluciones”

para agregar a estas librerías como recursos locales de la aplicación.

En la figura 78 se puede observar que además de las bibliotecas propias del sistema

también se encuentran las agregadas en la carpeta debug.

Page 123: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo IV Implementación y Pruebas

Aplicación de software a dispositivos móviles Página 109

Figura 78 Explorador de soluciones que muestra las bibliotecas creadas por el programador

Por último se mandan a llamar las librerías de clases para que éstas se ejecuten en el

programa, esto se hace con una línea de código bastante sencilla que se explica a

continuación.

Tomar en cuenta que las referencias están hechas y los botones dentro de la aplicación

requieren llamar a una aplicación para que esta se ejecute como parte del programa,

entonces realizando doble clic sobre el botón y en modo de programación de la

herramienta se introducen las siguientes líneas:

private void linkLabel6_Click(object sender, EventArgs e)

{

convertidor.cbase bas = new convertidor.cbase();

bas.Show();

}

En donde linkLabel6_Click pertenece al botón que mandará a llamar a la

aplicación de conversor de unidades, convertidor.cbase bas = new

convertidor.cbase(); pertenece al contructor que manda a llamar al evento o

subclase de la biblioteca de clases para ejecutar una acción con el seudónimo

Page 124: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo IV Implementación y Pruebas

Página 110 Aplicación de software a dispositivos móviles

convertidor, bas.Show(); que contiene el seudónimo de la instrucción y el evento a

realizar, el comando Show(); muestra el contenido de la biblioteca de clases.

4.3 Análisis de pruebas

Las pruebas se realizan directamente en el dispositivo Pocket PC, para corroborar que

las aplicaciones funcionen correctamente.

Se tiene que tomar en cuenta el tamaño de la aplicación implementada; ésta no deberá

de sobrepasar el límite de memoria permitido por la Pocket PC, de lo contario será un

primer problema al momento de transferir la aplicación al Pocket PC, y se deberá de

depurar información del mismo.

El dispositivo móvil Pocket PC deberá de tener instalado el compact framework 3.5, ya

que de no tenerlo instalado la aplicación no podrá ser visualizada. Conecte el dispositivo

a su PC. Si el dispositivo no está conectado, ActiveSync almacenará el archivo CAB y no

instalará el paquete hasta que lo conecte. Si no usa ActiveSync, ejecute los archivos CAB

del dispositivo correspondiente a archivos CAB específicos de dicho dispositivo que

encontrará en la carpeta de instalación. De no tener instalada ésta versión de software,

se puede descargar de forma gratuita desde la siguiente página (ver figura 79):

http://www.microsoft.com/Downloads/details.aspx?familyid=E3821449-3C6B-42F1-9FD9-

0041345B3385&displaylang=es

Page 125: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo IV Implementación y Pruebas

Aplicación de software a dispositivos móviles Página 111

Figura 79 Página en Microsoft para demostrar la posibilidad de bajar el compact framework

Se deberá de realizar la descarga. Como se indica a continuación.

1. Haga clic en el botón Descargar de esta página para iniciar la descarga o elija un

idioma diferente en la lista desplegable y haga clic en Cambiar. Para copiar la

descarga en el equipo para instalarla posteriormente, haga clic en Guardar o en

Guardar este programa en disco (ver figura 80).

Figura 80 Pantalla de descarga del compact Framework

Page 126: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo IV Implementación y Pruebas

Página 112 Aplicación de software a dispositivos móviles

2. Comenzará la descarga en la ubicación que se haya especificado:

Figura 81 Comienzo de la instalación del software Compact framework

3. Para iniciar la instalación inmediatamente, haga clic en Abrir o en Ejecutar este

programa desde Internet.

4. Si no se ejecuta desde internet, el programa se guardará en la ubicación que

anteriormente le indique el usuario. Para instalarlo se deberá de hacer doble clic

sobre el icono del ejecutable NetCFSetupv35:

5. Al ejecutar el instalador, aparecerá el asistente para la instalación, se deberá dar

clic en siguiente y seguir los pasos siguientes para la correcta instalación (ver

figuras de la 81 a la 85).

Page 127: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo IV Implementación y Pruebas

Aplicación de software a dispositivos móviles Página 113

Figura 82 Asistente de la instalación del compact Framework

Figura 83 Instalación personalizada del compact Framework 3.5.

Page 128: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo IV Implementación y Pruebas

Página 114 Aplicación de software a dispositivos móviles

Figura 84 Pantallas para la instalación del software compact framework

Figura 85 finalización del asistente de instalación de ,NET Compact Framevork

Page 129: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo IV Implementación y Pruebas

Aplicación de software a dispositivos móviles Página 115

Otra prueba será, verificar el debido funcionamiento de todas y cada una de las

aplicaciones, herramientas y menús implementados en la aplicación, para esto, se

debieron de haber realizado correctamente las bibliotecas de clases y se debieron de

haber referenciado debidamente en el proyecto, donde se realizó el menú general. Si al

analizar las pruebas se encuentra error al abrir alguna aplicación o herramienta se deberá

de estudiar cual es el error marcado, el más común es la referencia a un formulario que

no existe, para éste caso se deberá de volver a colocar la referencia del formulario que se

está mandando llamar. Si no fuera éste el inconveniente se deberá de borrar y volver a

cargar la aplicación del dispositivo, con las correcciones realizadas desde la plataforma

sobre la cual se desarrolló el proyecto.

4.3.1 Resultados en el dispositivo móvil y el emulador

Una vez creada la interfaz que verá el usuario en la Pocket PC se prosigue con la prueba

de la aplicación. Para iniciar la prueba se da clic en la flecha verde que aparece en el

menú de la parte superior de Visual Studio. Como se observa con este botón se inicia la

generación de la aplicación (ver figura 86).

Figura 86 Depuración y generación de la aplicación

Una vez iniciado el proceso de depuración se muestra una ventana como la que se

observa en la cual se tienen las opciones para probar la aplicación ya sea emulándola en

la computadora con el aspecto de la Pocket PC o cargándola directamente a la Pocket

PC la cual es la tercera opción.

Para este primer caso se prueba la aplicación con el emulador, para lo que se selecciona

la primera opción (ver figura 87).

Page 130: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo IV Implementación y Pruebas

Página 116 Aplicación de software a dispositivos móviles

Figura 87 Pantalla del emulador

Después el emulador se empieza a cargar para dar como resultado la interfaz de una

Pocket PC (ver figura 88).

Figura 88 Interfaz de la herramienta de la aplicación

Y como se observa se habrá cargado la interfaz de la aplicación que se hizo.

Ahora se prueba la aplicación mediante un ejemplo sencillo.

Page 131: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo IV Implementación y Pruebas

Aplicación de software a dispositivos móviles Página 117

En el siguiente ejemplo retomado de apuntes de la carrera de ICE en la materia de

Dispositivos Electrónicos se calcula primero la ganancia en base a un voltaje inicial, un

voltaje final y una resistencia Rf.

Estos fueron los resultados obtenidos experimentalmente. Ahora se introducen los

mismos datos a la aplicación y se da clic en el botón “Calcula”.

Como se observa obtenemos los mismos resultados que en la parte experimental (ver

figura 89).

Figura 89 Emulación de los datos y obtención de resultados, de acuerdo a lo programado en el botón.

Ahora se probarán los elementos de error para el código try-catch, haciendo referencia a

que la sentencia de control try-catch es una sentencia de control de errores, es decir ésta

secuencia de código captura algún error y permite manipularlo para que el programa no

se salga del proceso o se interunpa de manera abrupta.

De tal forma que si se llegaran a escribir valores no válidos en algún cuadro de texto y se

intenta ejecutar una acción el programa manda el mensaje de error y permite que el

usuario corrija este error de acuerdo a la instrucción o tipo de error que se marca.

Page 132: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo IV Implementación y Pruebas

Página 118 Aplicación de software a dispositivos móviles

4.4 Análisis de costos

Los costos del proyecto incluyen la adquisición de software y herramientas de hardware

para poder implementar la aplicación.

La mayor ventaja de Windows CE 5.0, es la calidad de producción de varios de sus

componentes. Quizás para el usuario de una Pocket PC esto no signifique nada, pero

para los OEMs que manufacturan los aparatos resulta un gran avance, pues el tiempo de

desarrollo es más breve y, sobre todo, más confiable; esto reducirá los tiempos de

producción y sus costos asociados.

Windows CE 5.0 incluye la funcionalidad del .NET Compact Framework Service Pack 2.

(Windows CE 5.0 es un software que ya viene incluido en la compra de la Pocket PC).

Para determinar el valor de la aplicación en el mercado, se necesita hacer una valoración

del software en base a criterios establecidos, estos criterios pueden ser:

-Número de entradas.

-Número de salidas.

-Número de peticiones.

Desde luego estos criterios, deben tomarse en cuenta para un proyecto en etapa de

experimentación, y en base a la evaluación de estos criterios se propondrá un valor de

acuerdo a la versión del software y evaluación del mismo.

El costo de la aplicación, en base a argumentos establecidos en la vida cotidiana se

maneja con objetos tangibles, los cuales son necesarios para la realización de la

aplicación; estos argumentos se anexan en una tabla, con los precios que actualmente se

manejan si se iniciara la creación de este software.

Page 133: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Capítulo IV Implementación y Pruebas

Aplicación de software a dispositivos móviles Página 119

Ing. de Desarrollo (Programador) $15,000 Al mes

Ing. de Diseño $10,000 Al mes

Licencia de Software (Visual Studio) $5,300

Equipo de Cómputo $7,000

HP iPAQ 214 Enterprise Handheld $4,500

Versión Compact Framework Gratis (Descargable desde la Página de Microsoft)

Tabla 1 Análisis de costos actuales.

Page 134: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 120 Aplicación de software a dispositivos móviles

Page 135: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 121

Conclusiones

Como se mencionó, el objetivo de esta aplicación fue desarrollar una herramienta de apoyo al

estudiante de ICE, por lo que fueron realizados formularios de apoyo a algunas materias de

tronco común, tales como: circuitos digitales, circuitos de CA y CD, comunicaciones analógicas,

comunicaciones digitales y procesamiento digital de señales; las cuales son de las materias que

se tenía más información, sin embargo, es necesario considerar que se puede complementar

con recursos de otras materias y/o carreras, con la única finalidad de enriquecer la aplicación.

Las pruebas fueron realizadas e implementadas de manera satisfactoria, de forma que se

probaron en el dispositivo móvil Pocket PC. Con esto, no se quiere decir, que la aplicación se

reduzca a los formularios informativos realizados en esta tesis, sino que es posible ampliar las

aplicaciones y herramientas contenidas, incluso crear nuevos formularios y nuevas aplicaciones

de apoyo, con ayuda de las herramientas de diseño de Visual Studio.

Esta tesis no pretende imponer una manera específica de diseñar y programar una aplicación, ya

sea para PC o dispositivo móvil, sino que trata de introducir y brindar, al programador o

diseñador de software básico, las herramientas y opciones de diseño para que el mismo cree y

programe aplicaciones como así lo desee.

Se deja abierta la invitación, para una mejora en la presentación de interfaces gráficas,

introducción de datos, solicitar la participación de alumnos y docentes, e incluso expertos en el

diseño y desarrollo de herramientas de software, así como en el aspecto pedagógico.

Probablemente, para un mayor enriquecimiento, sería posible contar con un departamento

especializado en herramientas de desarrollo de aprendizaje, para reforzar la aplicación y que se

verifique la adecuación y que cumpla con los estándares de aprendizaje necesarios para el

alumno y que sea una herramienta mucho más útil. Se podría llegar a afirmar que es de gran

utilidad entre el alumnado, dado que se realizaron encuestas entre los compañeros del mismo

semestre y de un semestre anterior al noveno, quienes comprobaron su funcionalidad.

También, no se descarta la idea de colocar en una página de internet la prueba de este software

mediante el archivo ejecutable de la aplicación, y de ésta manera obtener comentarios, con la

finalidad de tener una retroalimentación y contar con sugerencias de mejora del sistema.

Page 136: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 122 Aplicación de software a dispositivos móviles

Por último es importante mencionar y hablar sobre la utilidad de la herramienta de desarrollo de

la aplicación, ya que como se pudo observar, Visual Studio es un software bastante útil para el

desarrollo de aplicaciones, el cual brinda las facilidades necesarias, proporcionando

herramientas de diseño y creación de aplicaciones, no sólo para PCs sino también para

dispositivos móviles. Es por eso que se optó por usar este software para desarrollar la aplicación

en la Pocket PC, debido a la ventaja que ofrece, en cuanto a que cada proyecto cuenta con un

archivo ejecutable que es capaz de ejecutarse en cualquier equipo, con cualquiera que sea su

sistema operativo, sin necesidad de tener instalado el Visual Studio, con la única condición de

tener instalada la versión más actual del framework, la cual es posible bajar de internet, tal como

se mencionó en el capítulo IV tema 4.3, éste no genera ningún costo extra y su instalación es

fácil y muy sencilla.

Con la creación de bibliotecas de clases fue posible la protección de la aplicación, por lo que se

protege tanto al código de las aplicaciones o herramientas, además de tener una mayor

flexibilidad de conjuntar, todas las herramientas en un solo proyecto, tal como se hizo con la

creación del menú principal, en donde se insertaron todas las aplicaciones y formularios de las

materias antes descritas, y las herramientas de apoyo, tales como: amplificadores, diseño de

compuerta RTL, convertidor de unidades, convertidor de bases, resolución de matrices,

calculadora, cálculo de resistencias, Diseño de redes RC pasa bajas y pasa altas.

Page 137: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 123

Bibliografía

http://foro.todopocketpc.com/

http://msdn.microsoft.com/es-es/library/aa291596(VS.71).aspx

http://www.devjoker.com/contenidos/Tutorial-C/125/Introduccion-a-C.aspx

http://www.devjoker.com/asp/ver_contenidos.aspx?co_contenido=142

"http://es.wikipedia.org/wiki/Diagrama_de_clases"

http://docs.kde.org/kde3/es/kdesdk/umbrello/uml-elements.html

C# para desarrolladores de JAVA

Allen Jones

Adam Freeman

Editorial Mc Graw Hill (pags. 3 -20)

Corporations, M. (2009). MSDN. Recuperado el 06 de Enero de 2009, de

http://msdn.microsoft.com/es-es/default.aspx

Page 138: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 124 Aplicación de software a dispositivos móviles

Anexos

Herramientas útiles de .NET Framework

Herramienta Descripción

Enlazador de ensamblaje (Assembly Linker,

al .exe)

Genera metadatos para uno o más archivos

que se combinan en un ensamblaje.

Utilidad para la cache de ensamblajes de

Microsoft .NET (Microsoft .NET Global

Assembly Cache Utility, gacutil.exe)

Lista y manipula la cache global de

ensamblajes (global assembly cache, GAC) y

la caché de descarga de archivos.

Herramienta de configuración del .NET

Framework (.net Framework Configuration Tool, mscorcfg.msc)

Herramienta de interfaz gráfica de usuario

para la gestión y configuración del .NET Framework, utilizando la interfaz de gestión

de Windows (Windows Management

Interface, WMI).

Depurador para CLR de Microsoft (Microsoft

CLR Debugger dbgclr.exe)

Herramienta de depuración gráfica.

Entorno de depuración para pruebas del

entorno de ejecución del CLR de Microsoft

(Microsoft CLR Runtime Test DebuggerShell, cordbg.exe)

Herramienta de depuración de línea de

comandos.

Utilidad para nombres fuertes del Framework de Microsoft .NET (Microsoft .NET Framework

Strong Name Utility, sn.exe)

Ayuda en la creación de ensamblajes con nombres fuertes.

Herramienta de políticas de seguridad para

acceso al código (Code Access Security Policy

Tool, caspol.exe)

Gestor de políticas de seguridad para las

políticas de seguridad de máquina, usuario y

corporativa.

Generador de archivos de recursos

(Resources Files Generato, resgen.exe)

Crea archivos de recursos binarios para CLR

a partir de formatos existentes.

Desensamblador de IL para Microsoft .NET

(Microsoft .NET IL Dissambler, ildasm.exe)

Herramienta gráfica para desensamblar

archivos MSIL.

Page 139: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 125

Especificaciones técnicas de instalación y compatibilidad con el sistema

operativo del Pocket.

Requisitos del sistema

Sistemas operativos compatibles: Windows 2000 Service Pack 4; Windows CE

.NET; Windows Mobile 2003 SE software for Pocket PC; Windows Mobile 5.0;

Windows Mobile 6; Windows Vista; Windows XP

Sistemas operativos del dispositivo admitidos: Windows Mobile para Pocket PC

2003, Windows Mobile 5.0 para PocketPC y Smartphone, Windows CE .NET 5.0 y

superior.

.NET Compact Framework está disponible como componente del sistema operativo en todos los

dispositivos inteligentes de Microsoft, incluidos los dispositivos Pocket PC, Pocket PC Phone

Edition y Smartphone, así como otros dispositivos que se ejecutan bajo Windows CE.

Lista de compatibilidades

La tabla siguiente muestra las plataformas y los dispositivos admitidos por .NET Compact

Framework.

Versión de .NET Compact

Framework Dispositivo Plataforma

1.0 Pocket PC Pocket PC 2000

Pocket PC 2002

Windows Mobile 2003 para

Pocket PC

Windows Mobile 2003 para

Pocket PC SE

Windows Mobile 5,0 para

Pocket PC

1.0 Smartphone Windows Mobile 2003 para

Smartphone

Windows Mobile 5,0 para

Smartphone

1.0 Otros dispositivos para

Windows Embedded CE

Windows CE 4,1

Windows CE 4,2

Windows CE 5.0

Page 140: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 126 Aplicación de software a dispositivos móviles

2.0 Pocket PC Windows Mobile 2003 para

Pocket PC

Windows Mobile 2003 para

Pocket PC SE

Windows Mobile 5,0 para

Pocket PC

Windows Mobile 6 Professional

2.0 Smartphone Software Windows Mobile 5.0

para Smartphone

Windows Mobile 6 Standard

2.0 Otros dispositivos para

Windows Embedded CE

Windows CE 4.2

Windows CE 5.0

Windows Embedded CE 6.0

3.5 Pocket PC Windows Mobile 2003 para

Pocket PC

Windows Mobile 2003 para

Pocket PC SE

Software Windows Mobile 5.0

para Pocket PC

Windows Mobile 6 Professional

3.5 Smartphone Software Windows Mobile 5.0

para Smartphone

Windows Mobile 6 Standard

3.5 Otros dispositivos para

Windows Embedded CE

Windows Embedded CE 6.0

Nota:

Para Smartphone, .NET Compact Framework versión 2.0 requiere que se ejecute Windows

Mobile versión 5.0 en el dispositivo. Para obtener información acerca de cómo se instalan los

SDK de Windows Mobile 5.0 para Pocket PC y Smartphone en Visual Studio, vea Visual Studio

y .NET Compact Framework.

Page 141: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 127

Compatibilidad del Active Sync con diferentes sistemas operativos y

dispositivos

Operative System Use ActiveSync

version

Windows 9x, NT 4 3.8 [4]

Windows 2000, Windows XP (SP2 and earlier only), Windows

Server 2003 3.8/4.5

Windows Vista, Windows Server 2008 WMDC 6.1

Device's OS Use ActiveSync version

Windows CE 1 1.1 (Handheld PC Explorer)

Windows CE 2-5/Windows Mobile 2000-2003 3.8

Windows CE 3-6/Windows Mobile 2002-5.0 4.2

Windows CE 3-6/Windows Mobile 2002-6.1 4.5

Page 142: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 128 Aplicación de software a dispositivos móviles

Requerimientos de instalación Visual Studio 2008

Los requerimientos para instalar Visual Studio 2008 son:

Sistemas Operativos Soportados:

Windows Server 2003, Windows Server 2008, Windows Vista, Windows XP.

Requerimientos mínimos:

1.6 GHz CPU, 384 MB RAM, 1024×768 display, 5400 RPM hard disk.

Requerimientos Recomendados:

2.2 GHz o mayor CPU, 1024 MB en RAM, 1280×1024 en resolución de gráficos, 7200 RPM en

velocidad de disco Windows Vista: 2.4 GHz.

Page 143: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 129

Referencia de la biblioteca de clases de .NET Framework

La biblioteca de clases de .NET Framework es una biblioteca de clases, interfaces y tipos de

valor que se incluye en Microsoft .NET Framework. Esta biblioteca brinda acceso a la

funcionalidad del sistema y es la base sobre la que se crean las aplicaciones, los componentes y

los controles de .NET Framework.

Espacios de nombres

La biblioteca de clases de .NET Framework proporciona los siguientes espacios de nombres.

Microsoft.Aspnet.Snapin

Contiene las clases necesarias para que la aplicación de consola de administración de

ASP.NET interactúe con Microsoft Management Console (MMC).

Microsoft.Build.BuildEngine

Contiene las clases que representan el motor de MSBuild.

Microsoft.Build.Framework

Contiene clases que constituyen las tareas, los registradores y los eventos de MSBuild.

Microsoft.Build.Tasks

Contiene la implementación de todas las tareas que se suministran con MSBuild.

Microsoft.Build.Tasks.Deployment.Bootstrapper

Contiene clases utilizadas internamente por MSBuild.

Microsoft.Build.Tasks.Deployment.ManifestUtilities

Contiene clases utilizadas internamente por MSBuild.

Microsoft.Build.Utilities

Page 144: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 130 Aplicación de software a dispositivos móviles

Proporciona clases auxiliares que puede utilizar para crear sus propios registradores y

tareas de MSBuild.

Microsoft.CSharp

Contiene clases para compilar y generar código mediante el lenguaje C#.

Microsoft.JScript

Contiene clases que admiten la compilación y generación de código mediante el

lenguaje JScript.

Microsoft.SqlServer.Server

Contiene clases que son específicas de la integración del componente Common

Language Runtime (CLR) de Microsoft .NET Framework en Microsoft SQL Server y en el

entorno de ejecución de procesos del motor de bases de datos de SQL Server.

Microsoft.VisualBasic

Contiene clases que admiten la compilación y generación de código mediante el

lenguaje Visual Basic.

Microsoft.VisualBasic.ApplicationServices

Contiene tipos que admiten el modelo de aplicaciones de Visual Basic y proporcionan

acceso a la información de la aplicación.

Microsoft.VisualBasic.CompilerServices

Contiene sólo los tipos de uso interno que admiten el compilador de Visual Basic.

Microsoft.VisualBasic.Devices

Contiene los tipos que admiten los objetos My relacionados con los dispositivos de

Visual Basic.

Microsoft.VisualBasic.FileIO

Contiene los tipos que admiten el objeto del sistema de archivos My de Visual Basic.

Page 145: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 131

Microsoft.VisualBasic.Logging

Contiene los tipos que admiten los objetos de registro My de Visual Basic y proporciona

un agente de escucha de registro simple que dirige los datos de registro generados a un

archivo.

Microsoft.VisualBasic.MyServices

Contiene tipos que admiten My en Visual Basic.

Microsoft.VisualBasic.MyServices.Internal

Contiene los tipos de sólo uso interno que admiten My en Visual Basic.

Microsoft.VisualBasic.Vsa

Microsoft.VisualC

Microsoft.Vsa

Contiene interfaces que permiten integrar secuencias de comandos para los motores de

secuencias de comandos de .NET Framework en las aplicaciones, y compilar y ejecutar

código en tiempo de ejecución.

Microsoft.Vsa.Vb.CodeDOM

Microsoft.Win32

Proporciona dos tipos de clases: las que controlan los eventos desencadenados por el

sistema operativo y las que manipulan el Registro del sistema.

Microsoft.Win32.SafeHandles

Contiene clases que son derivaciones abstractas de las clases de identificador seguras y

que proporcionan funcionalidad común y admiten los identificadores de archivos y del

sistema operativo.

Microsoft.WindowsCE.Forms

Contiene clases para el desarrollo de aplicaciones de Windows Forms para Pocket PC y

Smartphone utilizando .NET Compact Framework.

Page 146: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 132 Aplicación de software a dispositivos móviles

Microsoft.WindowsMobile.DirectX

Contiene clases para el desarrollo de aplicaciones DirectX en dispositivos con .NET

Compact Framework. Requiere una versión futura de Windows Mobile que ejecute las

aplicaciones.

Microsoft.WindowsMobile.DirectX.Direct3D

Contiene clases para el desarrollo de las aplicaciones Direct3D en dispositivos con .NET

Compact Framework. Requiere una versión futura de Windows Mobile que ejecute las

aplicaciones.

Microsoft_VsaVb

System

Contiene clases fundamentales y clases base que definen los valores y tipos de datos de

referencia, eventos y controladores de eventos, interfaces, atributos y excepciones de

procesamiento comúnmente utilizados. Otras clases proporcionan servicios para

convertir tipos de datos, manipular parámetros de métodos, realizar cálculos

matemáticos, invocar programas remotos y locales, administrar el entorno de

aplicaciones y supervisar aplicaciones administradas y no administradas.

System.CodeDom

Contiene clases que se pueden utilizar para representar los elementos y la estructura de

un documento de código fuente. Estos elementos pueden usarse para modelar la

estructura de un documento de código fuente que se puede utilizar como código fuente

en un lenguaje compatible mediante la funcionalidad que proporciona el espacio de

nombres System.CodeDom.Compiler.

System.CodeDom.Compiler

Contiene tipos para administrar la generación y compilación de código fuente en los

lenguajes de programación compatibles. Los generadores de código pueden producir

código fuente en un lenguaje de programación específico basado en la estructura de los

modelos de código fuente CodeDOM (Code Document Object Model) que están

formados por elementos proporcionados por el espacio de nombres System.CodeDom.

Page 147: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 133

System.Collections

Contiene interfaces y clases que definen diversas colecciones de objetos, tales como

listas, colas, matrices de bits, tablas hash y diccionarios.

System.Collections.Generic

Contiene interfaces y clases que definen colecciones genéricas, que permitirán a los

usuarios crear colecciones con establecimiento inflexible de tipos que proporcionan

mejor seguridad y rendimiento de tipos que las colecciones con establecimiento inflexible

de tipos no genéricas.

System.Collections.ObjectModel

Contiene clases que se pueden utilizar como colecciones en el modelo de objetos de

una biblioteca reutilizable. Utilice estas clases cuando las propiedades o métodos

devuelven colecciones.

System.Collections.Specialized

Contiene colecciones especializadas y con establecimiento inflexible de tipos; por

ejemplo, un diccionario de listas vinculadas, un vector de bits o colecciones que sólo

contienen cadenas.

System.ComponentModel

Proporciona clases que se utilizan para implementar el comportamiento de los

componentes y controles en tiempo de diseño y en tiempo de ejecución. Este espacio de

nombres incluye las clases e interfaces necesarias para implementar atributos,

convertidores de tipos, enlaces a orígenes de datos y componentes de licencia.

System.ComponentModel.Design

Contiene clases que los desarrolladores pueden utilizar para generar un comportamiento

personalizado de los componentes en tiempo de diseño e interfaces de usuario para

configurar los componentes en tiempo de diseño. El entorno en tiempo de diseño

proporciona sistemas que permiten a los desarrolladores organizar los componentes y

configurar sus propiedades.

Page 148: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 134 Aplicación de software a dispositivos móviles

System.ComponentModel.Design.Data

Contiene clases para implementar el comportamiento en tiempo de diseño de los

componentes relacionados con datos.

System.ComponentModel.Design.Serialization

Proporciona tipos que admiten la personalización y el control de la serialización en

tiempo de diseño.

System.Configuration

Contiene los tipos que proporcionan el modelo de programación para controlar los datos

de configuración.

System.Configuration.Assemblies

Contiene clases que se utilizan para configurar un ensamblado.

System.Configuration.Install

Proporciona clases que permiten escribir instaladores personalizados para los

componentes propios. La clase Installer es la clase base para todos los instaladores

personalizados de .NET Framework.

System.Configuration.Provider

Contiene las clases base compartidas por aplicaciones de servidor y aplicaciones cliente

para admitir un modelo conectable y agregar o quitar funcionalidad con facilidad.

System.Data

Contiene clases que constituyen la mayoría de la arquitectura ADO.NET. La arquitectura

ADO.NET permite crear componentes que administran eficazmente los datos

procedentes de múltiples orígenes. En un escenario desconectado (como Internet),

ADO.NET proporciona las herramientas necesarias para solicitar, actualizar y reconciliar

los datos de sistemas de varios niveles. La arquitectura ADO.NET también se

Page 149: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 135

implementa en aplicaciones cliente, como Windows Forms, o en las páginas HTML

creadas por ASP.NET.

System.Data.Common

Contiene clases compartidas por los proveedores de datos de .NET Framework. Un

proveedor de datos de .NET Framework describe una colección de clases que se utiliza

para tener acceso a un origen de datos, como una base de datos, en el espacio

administrado.

System.Data.Design

Contiene clases que se pueden utilizar para generar un conjunto de datos con tipo

personalizado.

System.Data.Linq

Contiene clases para obtener acceso a datos relacionales como objetos. DataContext y

las clases relacionadas se pueden utilizar para leer, crear, actualizar y eliminar los

objetos asignados a una base de datos utilizando la asignación especificada como

atributos en el modelo de objetos o en un archivo XML externo independiente.

System.Data.Linq.Mapping

Proporciona acceso mediante programación a la información de asignación que se utiliza

en LINQ to SQL.

System.Data.Odbc

Contiene clases que encapsulan el proveedor de datos de .NET Framework para ODBC.

El proveedor de datos de .NET Framework para ODBC describe una colección de clases

que se utiliza para obtener acceso a un origen de datos ODBC en el espacio

administrado.

System.Data.OleDb

Contiene clases que encapsulan el proveedor de datos de .NET Framework para OLE

DB. El proveedor de datos de .NET Framework para OLE DB describe una colección de

clases que se utiliza para obtener acceso a un origen de datos OLE DB en el espacio

administrado.

Page 150: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 136 Aplicación de software a dispositivos móviles

System.Data.OracleClient

Contiene clases que encapsulan el proveedor de datos de .NET Framework para Oracle.

El proveedor de datos de .NET Framework para Oracle describe una colección de clases

que se utiliza para obtener acceso a un origen de datos de Oracle en el espacio

administrado.

System.Data.Sql

Contiene clases que admiten funcionalidad específica de SQL Server. Las extensiones

API de esta clase se agregan al Proveedor de datos de .NET Framework para SQL

Server (System.Data.SqlClient).

System.Data.SqlClient

Contiene clases que encapsulan el Proveedor de datos de .NET Framework para SQL

Server. El proveedor de datos de .NET Framework para SQL Server describe una

colección de clases que se utiliza para obtener acceso a una base de datos de SQL

Server en el espacio administrado.

System.Data.SqlServerCE

Describe una colección de clases que se puede utilizar para obtener acceso a una base

de datos de SQL Server CE de dispositivos basados en Windows CE en el entorno

administrado. Mediante este espacio de nombres se pueden crear bases de datos de

SQL Server CE en un dispositivo así como establecer conexiones a bases de datos de

SQL Server que se encuentran en un dispositivo o un servidor remoto.

System.Data.SqlTypes

Contiene clases para los tipos de datos nativos de SQL Server. Estas clases ofrecen una

alternativa más rápida a otros tipos de datos. El uso de estas clases en este espacio de

nombres ayuda a evitar errores de conversión de tipos causados en situaciones en las

que podría producirse una pérdida de precisión. Dado que otros tipos de datos se

convierten en segundo plano a SqlTypes y viceversa, la creación y el uso explícitos de

objetos en este espacio de nombres conllevan también un código más rápido.

System.Diagnostics

Page 151: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 137

Proporciona clases que permiten interactuar con procesos del sistema, registros de

eventos y contadores de rendimiento. Este espacio de nombres también proporciona

clases que permiten depurar la aplicación y realizar un seguimiento de la ejecución del

código. Para obtener más información, vea las clases Trace y Debug.

System.Diagnostics.CodeAnalysis

Contiene clases para la interacción con herramientas de análisis de código. Las

herramientas de análisis de código se utilizan para comprobar si el código se ajusta a las

convenciones de codificación, como son las reglas de nomenclatura o las de seguridad.

System.Diagnostics.Design

Contiene clases que se pueden utilizar para ampliar la compatibilidad en tiempo de

diseño de la supervisión y la instrumentación de las aplicaciones.

System.Diagnostics.SymbolStore

Proporciona clases que permiten leer y escribir información de símbolos de depuración,

como una línea de código fuente de las asignaciones del lenguaje intermedio de

Microsoft (MSIL). Los compiladores para .NET Framework pueden almacenar la

información de símbolos de depuración en los archivos de base de datos del

programador (PDB). Los depuradores y las herramientas del analizador de código

pueden leer la información de símbolos de depuración en tiempo de ejecución.

System.DirectoryServices

Proporciona fácil acceso a Active Directory desde código administrado. El espacio de

nombres contiene dos clases de componentes, DirectoryEntry y DirectorySearcher, que

utilizan la tecnología de interfaces de servicios de Active Directory (Active Directory

Services Interfaces, ADSI). ADSI es el conjunto de interfaces que Microsoft proporciona

como una herramienta flexible que permite trabajar con un gran número de proveedores

de red. ADSI permite al administrador localizar y administrar con relativa facilidad los

recursos de una red, independientemente del tamaño de esta última.

System.DirectoryServices.ActiveDirectory

Page 152: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 138 Aplicación de software a dispositivos móviles

Proporciona un modelo de objetos de abstracción de alto nivel que genera tareas de

servicio de directorio de Microsoft® Active Directory®. Los conceptos de servicio de

directorio de Active Directory® como bosque, dominio, sitio, subred, partición y esquema

forman parte del modelo de objetos.

System.DirectoryServices.Protocols

Proporciona los métodos definidos en los estándares LDAP (Protocolo ligero de acceso

a directorios) versión 3 (V3) y DSML (Directory Services Markup Language) versión 2

(V2).

System.Drawing

Proporciona acceso a la funcionalidad básica de gráficos de GDI+. En los espacios de

nombres System.Drawing.Drawing2D, System.Drawing.Imaging y System.Drawing.Text

se proporciona funcionalidad más avanzada.

System.Drawing.Design

Contiene clases que amplían la lógica y el dibujo de las interfaces de usuario (UI) en

tiempo de diseño. Se puede ampliar aún más esta funcionalidad en tiempo de diseño

para crear elementos de cuadro de herramientas personalizados, editores de valores

específicos de tipos que pueden editar y representar gráficamente valores de los tipos

admitidos, o convertidores de tipos que pueden realizar conversiones de valores entre

determinados tipos. Este espacio de nombres proporciona el marco de trabajo básico

para desarrollar extensiones a la interfaz de usuario en tiempo de diseño.

System.Drawing.Drawing2D

Proporciona funcionalidad bidimensional y de gráficos vectoriales avanzada. Este

espacio de nombres incluye los pinceles de degradado, la clase Matrix (que se utiliza

para definir transformaciones geométricas) y la clase GraphicsPath.

System.Drawing.Imaging

Proporciona funcionalidad avanzada de procesamiento de imágenes de GDI+. Las

funciones básicas de gráficos las proporciona el espacio de nombres System.Drawing.

System.Drawing.Printing

Page 153: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 139

Proporciona servicios relacionados con la impresión. Normalmente, se crea una nueva

instancia de la clase PrintDocument, se establecen las propiedades que describen lo que

se va a imprimir y se llama al método Print para imprimir el documento.

System.Drawing.Text

Proporciona funcionalidad tipográfica avanzada de GDI+. Las funciones básicas de

gráficos las proporciona el espacio de nombres System.Drawing. Las clases incluidas en

este espacio de nombres permiten a los usuarios crear y utilizar colecciones de fuentes.

System.EnterpriseServices

Proporciona una infraestructura importante para aplicaciones empresariales. COM+

proporciona una arquitectura de servicios para los modelos de programación de

componentes implementados en un entorno empresarial. Este espacio de nombres

proporciona objetos de .NET Framework con acceso a servicios COM+, por lo que los

objetos de .NET Framework son más prácticos para las aplicaciones empresariales.

System.EnterpriseServices.CompensatingResourceManager

Proporciona clases que permiten utilizar un Administrador de compensación de recursos

(CRM) en código administrado. Un CRM es un servicio proporcionado por COM+ que

permite incluir objetos no transaccionales en las transacciones del Coordinador de

transacciones distribuidas de Microsoft (DTC). Aunque los CRM no ofrecen las

funcionalidades de un administrador de recursos completo, proporcionan la atomicidad

transaccional (comportamiento todo o nada) y la durabilidad por medio del registro de

recuperación.

System.EnterpriseServices.Internal

Proporciona compatibilidad de infraestructura para los servicios COM+. Las clases e

interfaces incluidas en este espacio de nombres están diseñadas específicamente para

admitir llamadas en System.EnterpriseServices de las clases COM+ no administradas.

System.Globalization

Contiene clases que definen datos relativos a la referencia cultural, tales como idioma,

país o región, calendario, formatos de fecha, moneda y números, así como el criterio de

Page 154: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 140 Aplicación de software a dispositivos móviles

ordenación para cadenas. Estas clases resultan útiles para escribir aplicaciones

globalizadas (de uso internacional).

System.IO

Contiene tipos que permiten la lectura y escritura sincrónicas y asincrónicas en archivos

y secuencias de datos.

System.IO.Compression

Contiene clases que proporcionan compresión y descompresión básicas para las

secuencias.

System.IO.IsolatedStorage

Contiene tipos que permiten crear y utilizar almacenes aislados. Estos almacenes

permiten leer y escribir datos a los que los fragmentos de código de menos confianza no

pueden tener acceso y permiten evitar la exposición de información confidencial que se

pueda guardar en cualquier otro lugar del sistema de archivos. Los datos se almacenan

en compartimientos aislados por el usuario actual y por el ensamblado en el que existe

el código.

System.IO.Ports

Contiene clases que controlan los puertos serie, proporcionando un marco de trabajo

para E/S sincrónica y controlada por eventos, acceso para fijar e interrumpir los estados,

acceso a las propiedades del controlador serie y enumeraciones para especificar las

características de los puertos.

System.Linq

Proporciona clases e interfaces que admiten consultas que utilizan Language-Integrated

Query (LINQ).

System.Linq.Expressions

Contiene las clases, interfaces y enumeraciones que permiten representar expresiones

de código del nivel de lenguaje como objetos en forma de árboles de expresión.

System.Management

Page 155: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 141

Proporciona acceso a un variado conjunto de datos y eventos de administración relativos

al sistema, dispositivos y aplicaciones instrumentados para Windows Management

Infrastructure (WMI).

System.Management.Instrumentation

Proporciona las clases necesarias para instrumentar aplicaciones de administración y

exponer sus datos y eventos de administración a posibles consumidores a través de

WMI. De este modo, los consumidores como Microsoft Application Center o Microsoft

Operations Manager podrán administrar fácilmente la aplicación, que se podrá

supervisar y configurar mediante secuencias de comandos de administrador u otras

aplicaciones, tanto administradas como no administradas.

System.Messaging

Proporciona clases que permiten conectar con colas de mensajes de la red,

supervisarlas, administrarlas y enviar, recibir o leer mensajes.

System.Messaging.Design

Contiene clases que se pueden utilizar para ampliar la compatibilidad en tiempo de

diseño de las clases System.Messaging.

System.Net

Proporciona una interfaz de programación sencilla para muchos de los protocolos que se

utilizan en las redes actuales. Las clases WebRequest y WebResponse forman la base

de lo que se denomina protocolos conectables, una implementación de servicios de red

que permite desarrollar aplicaciones que utilizan recursos de Internet sin preocuparse de

los detalles específicos de cada uno de los protocolos.

System.Net.Cache

Define los tipos y las enumeraciones utilizadas para definir las directivas de la caché

para los recursos obtenidos utilizando las clases WebRequest y HttpWebRequest.

System.Net.Configuration

Page 156: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 142 Aplicación de software a dispositivos móviles

Contiene clases que utilizan las aplicaciones para obtener acceso mediante

programación y actualizar las opciones de configuración para los espacios de nombres

System.Net.

System.Net.Mail

Contiene clases utilizadas para enviar correo electrónico a un servidor SMTP (Protocolo

simple de transferencia de correo) para su entrega.

System.Net.Mime

Contiene tipos utilizados para representar los encabezados MIME (Multipurpose Internet

Mail Exchange). Estos tipos se utilizan con los tipos del espacio de nombres

System.Net.Mail para especificar los encabezados Content-Type, Content-Disposition y

Content-transfer-Encoding al enviar un correo electrónico mediante la clase SmtpClient.

System.Net.NetworkInformation

Proporciona acceso a los datos de tráfico de la red, información de direcciones de red y

notificación de cambios de dirección para el equipo local. El espacio de nombres

también contiene las clases que implementan la utilidad Ping. Puede utilizar Ping y las

clases relacionadas para comprobar si se puede conectar con un equipo a través de la

red.

System.Net.Sockets

Proporciona una implementación administrada de la interfaz de Windows Sockets

(Winsock) para desarrolladores que necesitan controlar el acceso a la red.

System.Reflection

Contiene clases e interfaces que proporcionan una vista administrada de los tipos

cargados, métodos y campos, con la capacidad de crear e invocar dinámicamente los

tipos.

System.Reflection.Emit

Contiene clases que permiten a un compilador o una herramienta emitir metadatos así

como lenguaje intermedio de Microsoft (MSIL) y, opcionalmente, generar un archivo PE

Page 157: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 143

en el disco. Los principales clientes de estas clases son los motores de secuencias de

comandos y los compiladores.

System.Resources

Proporciona clases e interfaces que permiten a los desarrolladores crear, almacenar y

administrar varios recursos específicos de la referencia cultural utilizados en una

aplicación.

System.Resources.Tools

Contiene la clase StronglyTypedResourceBuilder, que proporciona compatibilidad para

recursos con establecimiento inflexible de tipos. A partir de .NET Framework versión 2.0,

esta característica en tiempo de compilación encapsula el acceso a los recursos creando

clases que contienen un conjunto de propiedades de sólo lectura (get) estáticas, lo que

facilita el consumo de recursos.

System.Runtime

Contiene tipos avanzados que admiten diversos espacios de nombres tales como

System, los espacios de nombres Runtime y los espacios de nombres Security.

System.Runtime.ConstrainedExecution

Define un conjunto de tipos que enumeran y definen un contrato para la confiabilidad

entre el autor de algún código y los desarrolladores que toman una dependencia de ese

código.

System.Runtime.Hosting

Contiene tipos avanzados que se utilizan en la activación de aplicaciones dentro de los

dominios de aplicación.

System.Runtime.CompilerServices

Proporciona funcionalidad a los programadores de compiladores que utilicen código

administrado para especificar atributos en los metadatos que afectan al comportamiento

de Common Language Runtime en tiempo de ejecución. Las clases en este espacio de

nombres son sólo para los programadores de compiladores.

Page 158: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 144 Aplicación de software a dispositivos móviles

System.Runtime.InteropServices

Proporciona una amplia variedad de miembros compatibles con la interoperabilidad

COM y los servicios de invocación de plataforma. Si no conoce estos servicios.

System.Runtime.InteropServices.ComTypes

Contiene métodos que son definiciones de funciones COM para código administrado.

Estas funciones reemplazan a los métodos UCOM*, ahora obsoletos, en el espacio de

nombres System.Runtime.InteropServices.

System.Runtime.InteropServices.CustomMarshalers

Es compatible con la infraestructura de .NET y no está diseñado para que se utilice

directamente desde el código.

System.Runtime.InteropServices.Expando

Contiene la interfaz IExpando, que permite modificar un objeto agregando o quitando sus

miembros.

System.Runtime.Remoting

Proporciona clases e interfaces que permiten a los desarrolladores crear y configurar

aplicaciones distribuidas.

System.Runtime.Remoting.Activation

Proporciona clases y objetos que admiten la activación de objetos remotos en el servidor

o el cliente.

System.Runtime.Remoting.Channels

Contiene clases que admiten y controlan canales y receptores de canales, que se

utilizan como medio de transporte cuando un cliente llama a un método de un objeto

remoto.

System.Runtime.Remoting.Channels.Http

Page 159: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 145

Contiene canales que utilizan el protocolo HTTP para llevar mensajes y objetos a

ubicaciones remotas o viceversa. De forma predeterminada, los canales HTTP codifican

las llamadas a objetos y métodos en formato SOAP para la transmisión, pero se pueden

especificar otros receptores de formateadores de codificación y descodificación en las

propiedades de configuración de un canal.

System.Runtime.Remoting.Channels.Ipc

Define un canal de comunicación para la interacción remota que utiliza el sistema de

comunicaciones entre procesos (IPC) del sistema operativo Windows. Dado que no

utiliza la comunicación por red, el canal IPC es mucho más rápido que los canales HTTP

y TCP, pero sólo se puede utilizar para la comunicación entre los dominios de aplicación

del mismo equipo físico.

System.Runtime.Remoting.Channels.Tcp

Contiene canales que utilizan el protocolo TCP para llevar mensajes y objetos a

ubicaciones remotas o viceversa. De forma predeterminada, los canales TCP codifican

las llamadas a objetos y métodos en formato binario para la transmisión, pero se pueden

especificar otros receptores de formateadores de codificación y descodificación en las

propiedades de configuración de un canal.

System.Runtime.Remoting.Contexts

Contiene objetos que definen los contextos en los que residen todos los objetos. Un

contexto es una serie ordenada de propiedades que define un entorno para los objetos

que contiene. Los contextos se crean durante el proceso de activación de los objetos

configurados para requerir determinados servicios automáticos, como la sincronización,

las transacciones, la activación just-in-time (JIT), la seguridad, etc. En un contexto

pueden residir varios objetos.

System.Runtime.Remoting.Lifetime

Contiene clases que administran la duración de los objetos remotos. Tradicionalmente,

la recolección distribuida de elementos no utilizados recurre a los recuentos de

referencias y comandos ping para controlar la duración de los objetos. Esto funciona

bien cuando hay pocos clientes por servicio, pero no se ajusta adecuadamente cuando

hay miles de clientes por cada servicio. El servicio de duración remoto asocia una

concesión a cada servicio y, cuando ésta vence, elimina el servicio. El servicio de

Page 160: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 146 Aplicación de software a dispositivos móviles

duración puede desempeñar la función de un colector distribuido de elementos no

utilizados tradicional y se adapta bien al aumentar el número de clientes por servidor.

System.Runtime.Remoting.Messaging

Contiene clases que se utilizan para crear mensajes y procesarlos de forma remota. La

infraestructura de interacción remota utiliza mensajes para comunicarse con objetos

remotos. Los mensajes se utilizan para transmitir llamadas a métodos remotos, activar

objetos remotos y comunicar información. Un objeto de mensaje lleva una serie de

propiedades con nombre, entre las que se incluyen identificadores de acción,

información de envío y parámetros.

System.Runtime.Remoting.Metadata

Contiene clases y atributos que se pueden utilizar para personalizar la generación y el

procesamiento de SOAP para objetos y campos. Las clases en este espacio de nombres

se pueden utilizar para indicar el encabezado SOAPAction, el tipo de resultado, el

nombre de elemento XML y el identificador URI del espacio de nombres XML del

método.

System.Runtime.Remoting.Metadata.W3cXsd2001

Contiene la definición de esquema XML (XSD) establecida por el Consorcio World Wide

Web (W3C) en 2001. La especificación de W3C titulada "XML Schema Part2: Data

types" identifica el formato y el comportamiento de varios tipos de datos. Este espacio de

nombres contiene clases contenedoras para los tipos de datos que se ajustan a la

especificación de W3C. Todos los tipos de fecha y hora se ajustan a la especificación de

estándares ISO.

System.Runtime.Remoting.MetadataServices

Contiene las clases utilizadas por la herramienta de línea de comandos Soapsuds.exe y

el código de usuario para convertir metadatos a esquemas XML, o viceversa, para la

infraestructura de interacción remota.

System.Runtime.Remoting.Proxies

Page 161: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 147

Contiene clases que controlan y proporcionan funcionalidad a los servidores proxy. Un

servidor proxy es un objeto local que constituye una imagen de un objeto remoto. Los

servidores proxy permiten a los clientes tener acceso a objetos más allá de los límites

remotos.

System.Runtime.Remoting.Services

Contiene clases de servicios que proporcionan funcionalidad a .NET Framework.

System.Runtime.Serialization

Contiene clases que se pueden utilizar para serializar y deserializar objetos. La

serialización es el proceso de convertir un objeto o un gráfico de objetos en una

secuencia lineal de bytes para su almacenamiento o transmisión a otra ubicación. La

deserialización es el proceso de volver a generar los objetos a partir de la información

almacenada.

System.Runtime.Serialization.Formatters

Proporciona enumeraciones, interfaces y clases comunes que utilizan los formateadores

de serialización.

System.Runtime.Serialization.Formatters.Binary

Contiene la clase BinaryFormatter, que se puede utilizar para serializar y deserializar los

objetos en formato binario.

System.Runtime.Serialization.Formatters.Soap

Contiene la clase SoapFormatter, que se puede utilizar para serializar y deserializar los

objetos en formato SOAP.

System.Security

Proporciona la estructura subyacente del sistema de seguridad de .NET Framework,

incluidas clases base relativa a permisos.

Page 162: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 148 Aplicación de software a dispositivos móviles

System.Security.AccessControl

System.Security.Cryptography

Proporciona servicios criptográficos, incluidas la codificación y descodificación seguras

de datos, así como muchas otras operaciones, como los cálculos hash, la generación de

números aleatorios y la autenticación de mensajes.

System.Security.Cryptography.Pkcs

Proporciona elementos de programación para Estándares de criptografía de clave

pública (PKCS, Public Key Cryptography Standards), incluidos los métodos para firmar

datos, intercambio de claves, solicitud de certificados, cifrado y descifrado de claves

públicas, así como otras funciones de seguridad.

System.Security.Cryptography.X509Certificates

Contiene la implementación de Common Language Runtime del certificado Authenticode

X.509 v.3. Este certificado se firma con una clave privada que identifica de forma única y

segura al propietario del certificado.

System.Security.Cryptography.Xml

Contiene clases que admiten la creación y validación de firmas digitales XML. Las clases

en este espacio de nombres implementan la recomendación del Consorcio World Wide

Web, "XML-Signature Syntax and Processing", descrita en:

http://www.w3.org/TR/xmldsig-core/.

System.Security.Permissions

Define clases que controlan el acceso a operaciones y recursos a partir de una directiva.

System.Security.Policy

Contiene grupos de código, condiciones de pertenencia y evidencia. Estos tres tipos de

clase se utilizan para crear las reglas que aplica el sistema de directivas de seguridad de

.NET Framework. Las clases de evidencia son la entrada de la directiva de seguridad y

las condiciones de pertenencia son los modificadores; juntas, crean instrucciones de

directiva y determinan el conjunto de permisos concedido. Los niveles de directivas y los

grupos de código constituyen la estructura de la jerarquía de directivas. Los grupos de

Page 163: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 149

código son la encapsulación de una regla y se organizan jerárquicamente en un nivel de

directiva.

System.Security.Principal

Define un objeto principal que representa el contexto de seguridad en el cual se ejecuta

código.

System.ServiceProcess

Proporciona clases que permiten implementar, instalar y controlar las aplicaciones de

servicios para Windows. Los servicios son ejecutables de ejecución prolongada que no

utilizan ninguna interfaz de usuario. La implementación de un servicio implica la herencia

de la clase ServiceBase y la definición de un comportamiento específico que se debe

procesar al pasar comandos de inicio, detención, pausa y continuación, así como el

comportamiento personalizado y las acciones que se deben adoptar cuando se cierra el

sistema.

System.Text

Contiene clases que representan codificaciones de caracteres ASCII, Unicode, UTF-7 y

UTF-8, clases base abstractas para realizar conversiones entre bloques de caracteres y

bloques de bytes, así como una clase auxiliar que manipula objetos String y les aplica

formato sin crear instancias intermedias de String.

System.Text.RegularExpressions

Contiene clases que proporcionan acceso al motor de expresiones regulares de .NET

Framework. El espacio de nombres proporciona funcionalidad de expresiones regulares

que se puede utilizar desde cualquier plataforma o lenguaje que se ejecute con Microsoft

.NET Framework.

System.Threading

Proporciona clases e interfaces que habilitan la programación multiproceso. Además de

clases para la sincronización de actividades de subprocesos y el acceso a datos (Mutex,

Monitor, Interlocked, AutoResetEvent, etc), este espacio de nombres incluye una clase

ThreadPool que permite utilizar un grupo de subprocesos suministrados por el sistema y

Page 164: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 150 Aplicación de software a dispositivos móviles

una clase Timer que ejecuta métodos de devolución de llamada en subprocesos del

grupo de subprocesos.

System.Timers

Proporciona el componente Timer, que permite provocar un evento en un intervalo

especificado.

System.Transactions

Contiene clases que permiten al código participar en transacciones. Las clases admiten

transacciones con varios participantes distribuidos, varias notificaciones de fase e

inscripciones duraderas.

System.Transactions.Configuration

Contiene clases que describen las opciones de configuración utilizadas por las clases

System.Transactions.

System.Web

Proporciona clases e interfaces que permiten la comunicación entre explorador y

servidor. Este espacio de nombres incluye la clase HttpRequest, que proporciona

información abundante sobre la solicitud HTTP actual, la clase HttpResponse, que

administra la salida HTTP al cliente, y el objeto HttpServerUtility, que proporciona acceso

a las utilidades y los procesos del servidor. System.Web también incluye clases para la

manipulación de las cookies, la transferencia de archivos, la información sobre las

excepciones y el control de la caché de resultados.

System.Web.Caching

Proporciona clases para almacenar en caché los datos que se utilizan con frecuencia en

el servidor. Incluye la clase Cache, un diccionario que permite almacenar objetos de

datos arbitrarios, como tablas hash y conjuntos de datos. Proporciona asimismo la

funcionalidad de caducidad para dichos objetos así como métodos que permiten agregar

y quitar los objetos. Se pueden agregar también los objetos con dependencia de otros

archivos o entradas de la caché, además de realizar devoluciones de llamada para

notificar a la aplicación cuando se quita un objeto de la memoria caché.

System.Web.Compilation

Page 165: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 151

Contiene clases que permiten generar y compilar los tipos de archivo personalizados

dentro del entorno de generación ASP.NET.

System.Web.Configuration

Contiene clases que se utilizan para configurar ASP.NET.

System.Web.Handlers

Contiene clases del controlador HTTP que procesan las solicitudes HTTP a un servidor

Web.

System.Web.Hosting

Proporciona la funcionalidad necesaria para alojar aplicaciones ASP.NET de

aplicaciones administradas fuera de los servicios de Microsoft Internet Information

Services (IIS).

System.Web.Mail

Las clases de este espacio de nombres están obsoletas; utilice en su lugar las clases

incluidas en el espacio de nombres System.Net.Mail. Contiene clases que permiten crear

y enviar mensajes mediante el componente de mensajería CDOSYS. El mensaje de

correo se entrega a través del servicio de correo SMTP integrado en Microsoft Windows

2000 o a través de un servidor SMTP arbitrario. Las clases en este espacio de nombres

se pueden utilizar desde ASP.NET o cualquier aplicación administrada.

System.Web.Management

Contiene clases e interfaces que permiten administrar y supervisar el estado de las

aplicaciones Web.

System.Web.Mobile

Contiene las principales funciones, incluidos la autenticación y el control de errores,

necesarias para generar las aplicaciones Web ASP.NET Mobile.

System.Web.Profile

Contiene clases que se utilizan para implementar el perfil de usuario de ASP.NET en

aplicaciones de servidor Web.

Page 166: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 152 Aplicación de software a dispositivos móviles

System.Web.RegularExpressions

Proporciona las expresiones regulares que se utilizan para analizar los archivos de

ASP.NET. Todos los miembros del espacio de nombres

System.Web.RegularExpressions son descendientes de la clase Regex.

System.Web.Security

Contiene clases que se utilizan para implementar la seguridad de ASP.NET en

aplicaciones de servidor Web.

System.Web.Services

Se compone de las clases que permiten crear servicios Web XML mediante clientes de

servicios Web XML y ASP.NET. Los servicios Web XML son aplicaciones que permiten

intercambiar mensajes en un entorno de correspondencia imprecisa mediante protocolos

estándar como HTTP, XML, XSD, SOAP y WSDL. Los servicios Web XML permiten

generar aplicaciones modulares ubicadas dentro y fuera de empresas de entornos

heterogéneos, por lo que pueden interoperar con una amplia variedad de

implementaciones, plataformas y dispositivos. Los mensajes XML basados en SOAP de

estas aplicaciones pueden tener partes debidamente definidas (estructuradas y con

establecimiento de tipos) o pueden tener partes definidas de manera imprecisa

(mediante XML arbitrario). La capacidad de los mensajes de evolucionar con el tiempo

sin romper el protocolo es fundamental para la flexibilidad y la solidez de los servicios

Web XML como componente básico para el futuro del Web.

System.Web.Services.Configuration

Consta de las clases que configuran la forma en que se ejecutan los servicios Web XML

creados con ASP.NET.

System.Web.Services.Description

Consta de las clases que permiten describir públicamente un servicio Web XML

mediante el Lenguaje de descripción de servicios Web (WSDL). Cada clase en este

espacio de nombres se corresponde con un elemento específico de la especificación

WSDL, y la jerarquía de clases se corresponde con la estructura XML de un documento

WSDL válido.

Page 167: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 153

System.Web.Services.Discovery

Consta de las clases que permiten a los clientes de servicios Web XML encontrar los

servicios Web XML disponibles en un servidor Web mediante un proceso denominado

Descubrimiento de servicios Web XML.

System.Web.Services.Protocols

Consta de las clases que definen los protocolos utilizados para transmitir datos a través

de la red durante la comunicación entre los clientes del servicio Web XML y los servicios

Web XML creados con ASP.NET.

System.Web.SessionState

Proporciona las clases e interfaces que habilitan el almacenamiento de los datos

específicos de un cliente individual en una aplicación Web del servidor. Los datos

relativos al estado de la sesión se utilizan para ofrecer al cliente la apariencia de una

conexión permanente con la aplicación. La información de estado se puede almacenar

en la memoria del proceso local o, en el caso de las configuraciones de baterías de

servidores Web, fuera de proceso mediante el servicio de estado de ASP.NET o una

base de datos de SQL Server.

System.Web.UI

Proporciona las clases e interfaces que permiten crear los controles y páginas que

aparecerán en las aplicaciones Web como interfaz de usuario de una página Web. Este

espacio de nombres incluye la clase Control, que proporciona a todos los controles, ya

sean controles HTML, controles Web o controles de usuario, un conjunto común de

funcionalidades. También incluye el control Page, que se genera automáticamente

siempre que se realiza una solicitud de una página en la aplicación Web. También se

proporcionan clases que ofrecen la funcionalidad de enlace de datos a los controles de

servidor de formularios Web Forms, la capacidad de guardar el estado de la vista de un

control o una página determinada, así como la funcionalidad de análisis para los

controles programables y literales.

System.Web.UI.Adapters

Page 168: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 154 Aplicación de software a dispositivos móviles

Contiene las clases base para los adaptadores de control y los adaptadores de página,

que permiten reemplazar estados del ciclo de vida de las páginas y los controles para

modificar su marcado o comportamiento predeterminado para los nuevos estándares de

marcado o para exploradores concretos.

System.Web.UI.Design

Contiene clases que se pueden utilizar para ampliar la compatibilidad en tiempo de

diseño de los controles de servidor Web y de formularios Web Forms.

System.Web.UI.Design.MobileControls

Obsoleta. Contiene clases que proporcionan la compatibilidad en tiempo de diseño para

las clases del espacio de nombres System.Web.UI.MobileControls. Las clases de este

espacio de nombres están obsoletas; utilice las clases de

System.Web.UI.Design.WebControls en su lugar.

System.Web.UI.Design.MobileControls.Converters

Contiene clases que proporcionan la compatibilidad en tiempo de diseño para los

convertidores de tipos de datos en controles móviles.

System.Web.UI.Design.WebControls

Contiene clases que se pueden utilizar para ampliar la compatibilidad en tiempo de

diseño de los controles de servidor Web.

System.Web.UI.Design.WebControls.WebParts

Contiene clases que proporcionan la compatibilidad en tiempo de diseño para los

controles derivados de las clases del espacio de nombres

System.Web.UI.WebControls.WebParts.

System.Web.UI.HtmlControls

Se compone de una colección de clases que permiten crear controles de servidor HTML

en una página de formularios Web Forms. Los controles de servidor HTML se ejecutan

en el servidor y se asignan directamente a las etiquetas HTML estándar compatibles con

Page 169: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 155

la mayoría de los exploradores. Esto permite controlar mediante programación los

elementos HTML de una página de formularios Web Forms.

System.Web.UI.MobileControls

Obsoleta. Contiene un conjunto de controles de servidor ASP.NET que pueden procesar

de manera inteligente la aplicación para diferentes dispositivos móviles. Las clases de

este espacio de nombres están obsoletas; utilice los controles de

System.Web.UI.WebControls en su lugar.

System.Web.UI.MobileControls.Adapters

Contiene clases que permiten reemplazar las fases del ciclo de vida de un control móvil

para modificar su marcado o comportamiento HTML, CHTML o WML predeterminado

para los nuevos estándares de marcado o para exploradores y dispositivos móviles

concretos.

System.Web.UI.MobileControls.Adapters.XhtmlAdapters

Contiene clases que permiten reemplazar las fases del ciclo de vida de un control móvil

para modificar su marcado o comportamiento XHTML predeterminado para los nuevos

estándares de marcado o para exploradores y dispositivos móviles concretos.

System.Web.UI.WebControls

Contiene clases que permiten crear controles de servidor Web en una página Web. Los

controles de servidor Web se ejecutan en el servidor e incluyen controles de formulario

como botones y cuadros de texto. También incluyen controles para fines especiales

como un calendario. Dado que los controles de servidor Web se ejecutan en el servidor,

se pueden controlar estos elementos mediante programación. Los controles de servidor

Web son más abstractos que los controles de servidor HTML. Su modelo de objetos no

refleja necesariamente la sintaxis HTML.

System.Web.UI.WebControls.Adapters

Contiene clases que permiten reemplazar las fases del ciclo de vida de un control Web

para modificar el marcado o el comportamiento predeterminado de un control para los

nuevos estándares de marcado o para exploradores concretos.

System.Web.UI.WebControls.WebParts

Page 170: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 156 Aplicación de software a dispositivos móviles

Contiene un conjunto integrado de clases e interfaces para crear páginas Web cuyo

aspecto y comportamiento podrán modificar (personalizar) los usuarios finales. La

configuración definida por el usuario para cada página se guarda para las sesiones

futuras del explorador.

System.Web.Util

Contiene clases que permiten a los métodos de devolución de llamada ejecutarse bajo el

ámbito de una transacción y el envío del trabajo a subprocesos separados.

System.Windows.Forms

Contiene clases para crear aplicaciones basadas en Windows y que aprovechan

plenamente las características avanzadas de interfaz de usuario disponibles en este

sistema operativo.

System.Windows.Forms.ComponentModel.Com2Interop

Contiene clases auxiliares que Visual Studio utiliza para mostrar páginas de propiedades

mientras se está en el modo diseño.

System.Windows.Forms.Design

Contiene clases que son compatibles con la configuración y el comportamiento en

tiempo de diseño de los componentes de Windows Forms. Estas clases se componen

de: clases de diseñador que proporcionan compatibilidad con los componentes de

Windows Forms, un conjunto de servicios en tiempo de diseño, clases UITypeEditor para

configurar determinados tipos de propiedades, así como clases para importar controles

ActiveX.

System.Windows.Forms.Design.Behavior

Contiene clases que permiten crear comportamiento personalizado de la interfaz de

usuario para los componentes en tiempo de diseño.

System.Windows.Forms.Layout

Contiene clases que admiten los comportamientos del diseño tanto en tiempo de diseño

como en tiempo de ejecución.

Page 171: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 157

System.Windows.Forms.PropertyGridInternal

Proporciona la compatibilidad interna para el control PropertyGrid. Las clases de este

espacio de nombres admiten la infraestructura de .NET Framework y no están diseñadas

para ser utilizadas directamente en el código.

System.Xml

Proporciona compatibilidad basada en estándares para procesar XML.

System.Xml.Schema

Contiene las clases XML que proporcionan compatibilidad basada en estándares para

los esquemas XSD.

System.Xml.Serialization

Contiene clases que se utilizan para serializar objetos en documentos o secuencias de

formato XML.

System.Xml.XPath

Contiene el analizador y el motor de evaluación de XPath. Es compatible con la

recomendación de W3C titulada "XML Path Language (XPath) Version 1.0"

(www.w3.org/TR/xpath).

System.Xml.Xsl

Proporciona compatibilidad con las transformaciones XSLT (Extensible Stylesheet

Transformation). Es compatible con la recomendación de W3C titulada "XSL

Transformations (XSLT) Version 1.0" (www.w3.org/TR/xslt).

System.Xml.Xsl.Runtime

Proporciona compatibilidad interna para las clases del espacio de nombres

System.Xml.Xsl. Las clases de este espacio de nombres admiten la infraestructura de

.NET Framework y no están diseñadas para ser utilizadas directamente en el código.

Page 172: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 158 Aplicación de software a dispositivos móviles

Apéndice “Códigos de las herramientas de apoyo de la aplicación de ICE”

CALCULADORA

using System;

using System.Linq;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace calculadora

{

public partial class calculador : Form

{

private enum Entrada

{

NINGUNA,

DIGITO,

OPERADOR,

CE,

MEMMAS

}

private Entrada ultimaEntrada;

private bool comaDecimal;

private char operador;

private byte numOperandos;

private double operando1;

private double operando2;

private double memoria;

private double carry;

public calculador()

{

InitializeComponent();

ultimaEntrada = Entrada.NINGUNA;

comaDecimal = false;

operador = '\0';

numOperandos = 0;

operando1 = 0;

operando2 = 0;

memoria = 0;

}

private void btDigito_Click(object sender, EventArgs e)

{

Button objButton = (Button)sender;

if (ultimaEntrada != Entrada.DIGITO)

{

if (objButton.Text == "0")

{

return;

}

etPantalla.Text = "";

ultimaEntrada = Entrada.DIGITO;

comaDecimal = false;

}

etPantalla.Text += objButton.Text;

}

private void btComaDec_Click(object sender, EventArgs e)

Page 173: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 159

{

if (ultimaEntrada != Entrada.DIGITO)

{

etPantalla.Text = "0.";

ultimaEntrada = Entrada.DIGITO;

}

else if (comaDecimal == false)

etPantalla.Text = etPantalla.Text + ".";

comaDecimal = true;

}

private void btOperacion_Click(object sender, EventArgs e)

{

// Obtener el id del botón que generó el evento

Button objButton = (Button)sender;

// Obtener el texto del botón pulsado

string textoBoton = objButton.Text;

if ((numOperandos == 0) && (textoBoton[0] == '-'))

ultimaEntrada = Entrada.DIGITO;

if (ultimaEntrada == Entrada.DIGITO)

numOperandos += 1;

if (numOperandos == 1)

operando1 = double.Parse(etPantalla.Text);

else if (numOperandos == 2)

{

operando2 = double.Parse(etPantalla.Text);

switch (operador)

{

case '+':

operando1 += operando2;

break;

case '-':

operando1 -= operando2;

break;

case 'x':

operando1 *= operando2;

break;

case '/':

operando1 /= operando2;

break;

case '=':

operando1 = operando2;

break;

}

// Visualizar el resultado

amlResultado.Text = operando1.ToString();

numOperandos = 1;

}

operador = textoBoton[0]; // carácter de la posición 0

ultimaEntrada = Entrada.OPERADOR;

}

private void btTantoPorCiento_Click(object sender, EventArgs

e)

{

double resultado;

if (ultimaEntrada == Entrada.DIGITO)

{

resultado = operando1 * double.Parse(etPantalla.Text)

/ 100;

// Visualizar el resultado

amlResultado.Text = resultado.ToString();

Page 174: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 160 Aplicación de software a dispositivos móviles

// Simular que se ha hecho clic en "="

// btIgual.PerformClick();

btIgual.Capture = true;

// Enfocar la tecla %

btTantoPorCiento.Focus();

}

}

private void btIniciar_Click(object sender, EventArgs e)

{

etPantalla.Text = "0,";

ultimaEntrada = Entrada.NINGUNA;

comaDecimal = false;

operador = '\0';

numOperandos = 0;

operando1 = 0;

operando2 = 0;

}

private void btBorrarEntrada_Click(object sender, EventArgs e)

{

etPantalla.Text = "0.";

ultimaEntrada = Entrada.CE;

comaDecimal = false;

}

private void btCambiarSigno_Click(object sender, EventArgs e)

{

// Cambiar el signo del dato mostrado en la pantalla

double resultado;

resultado = -double.Parse(etPantalla.Text);

etPantalla.Text = resultado.ToString();

}

private void btRaizCuadrada_Click(object sender, EventArgs e)

{

double resultado;

resultado = Math.Sqrt(double.Parse(etPantalla.Text));

amlResultado.Text = resultado.ToString();

}

private void button15_Click(object sender, EventArgs e)

{

// Exponenciación

double resultado;

resultado = Math.Exp(double.Parse(etPantalla.Text));

amlResultado.Text = resultado.ToString();

}

private void button13_Click(object sender, EventArgs e)

{

// Logaritmo

double resultado;

resultado = Math.Log10(double.Parse(etPantalla.Text));

amlResultado.Text = resultado.ToString();

}

private void button14_Click(object sender, EventArgs e)

{

// Logaritmo neperiano

double resultado;

resultado = Math.Log(double.Parse(etPantalla.Text));

amlResultado.Text = resultado.ToString();

}

Page 175: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 161

private void button22_Click(object sender, EventArgs e)

{

// x al cuadrado

double resultado;

resultado = Math.Pow(double.Parse(etPantalla.Text), 2.0);

amlResultado.Text = resultado.ToString();

}

private void button19_Click(object sender, EventArgs e)

{

// x^y pendiente

double resultado;

if (numOperandos == 1)

operando1 = double.Parse(etPantalla.Text);

else if (numOperandos == 2)

{

operando2 = double.Parse(etPantalla.Text);

switch (operador)

{

case '^':

operando1 = Math.Pow(operando1, operando2);

break;

case '=':

operando1 = operando2;

break;

}

// Visualizar el resultado

}

numOperandos = 1;

amlResultado.Text = operando1.ToString();

}

private void button20_Click(object sender, EventArgs e)

{

// x al inverso

double resultado;

resultado = 1.0 / Math.Pow(double.Parse(etPantalla.Text),

2.0);

amlResultado.Text = resultado.ToString();

}

private void button18_Click(object sender, EventArgs e)

{

// Seno

double resultado;

resultado = Math.Sin(double.Parse(etPantalla.Text));

amlResultado.Text = resultado.ToString();

}

private void button16_Click(object sender, EventArgs e)

{

// Coseno

double resultado;

resultado = Math.Cos(double.Parse(etPantalla.Text));

amlResultado.Text = resultado.ToString();

}

private void button17_Click(object sender, EventArgs e)

{

// Tangente

double resultado;

resultado = Math.Tan(double.Parse(etPantalla.Text));

amlResultado.Text = resultado.ToString();

Page 176: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 162 Aplicación de software a dispositivos móviles

}

}

Conversor de números complejos a polares

using System;

using System.Linq;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace complex

{

public partial class Rectpolar : Form

{

// variables de tipo publico utilizadas en el programa

double d, a, b, r, c, f,a2;

public Rectpolar()

{

InitializeComponent();

}

private void menuItem3_Click_1(object sender, EventArgs e)

{

//sentencia del boton del menu opciones para salir de la

aplicacion completa

Application.Exit();

}

private void button3_Click(object sender, EventArgs e)

//boton salir

{

//introduce cadenas vacias para limpiar el texto existente

mag2.Text = "";

ang2.Text = "";

real2.Text = "";

imag2.Text = "";

}

private void button4_Click(object sender, EventArgs e)

//Boton convertir en la ficha forma polar a cartesiana

{

try

{ //se aplica el algoritmo correspondiente`para la

conversion

a2 = double.Parse(mag2.Text);

b = double.Parse(ang2.Text);

c = ((b * Math.PI) / 180);

d = a2*Math.Cos(c);

r = a2*Math.Sin(c);

/*r = Math.Sqrt(d);

c = Math.Atan(b / a);

f = ((c * 180) / Math.PI);*/

real2.Text = d.ToString();

imag2.Text = r.ToString();

}

catch { MessageBox.Show("introduce un numero o angulo

validos"); }

}

private void button1_Click(object sender, EventArgs e)

//Boton convertir en la ficha forma cartesiana a polar

Page 177: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 163

{

try

{ //se aplica el algoritmo correspondiente para la

conversion

a = double.Parse(Real.Text);

b = double.Parse(Imag.Text);

d = Math.Pow(a, 2) + Math.Pow(b, 2);

r = Math.Sqrt(d);

c = Math.Atan(b / a);

f = ((c * 180) / Math.PI);

Mag.Text = r.ToString();

Ang.Text = f.ToString();

}

catch { MessageBox.Show("introduce un numero imaginario

valido a+bi"); }

}

private void button2_Click_1(object sender, EventArgs e)

//boton limpiar

{

//introduce cadenas vacias para limpiar el texto

existente

Mag.Text = "";

Ang.Text = "";

Real.Text = "";

Imag.Text = "";

}

}

}

Compuertas RTL

using System;

using System.Linq;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace compuerta_RTL

{

public partial class comprtl : Form

{

public comprtl()

{

InitializeComponent();

}

private void menuItem2_Click(object sender, EventArgs e)

//opcion menu salir de la aplicacion

{

// instruccion para salir de la aplicacion completa

Application.Exit();

}

private void diseñar_Click(object sender, EventArgs e) //

boton diseñar

{

double Iihmax,Iilmax,fo,fs,hfe,iohmax, iolmax,

Rioh,Riol,rc,rb,Irc,Ics,Ibts,Ibs,Irioh,Iriol;

Page 178: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 164 Aplicación de software a dispositivos móviles

//asignacion de variables locales

Iihmax= double.Parse(v1.Text);// pasa los valores de una

caja de texto de a un valor de tipo doble en una variable local

Iilmax = double.Parse(v2.Text);

hfe = double.Parse(v3.Text);

fo = double.Parse(v4.Text);

fs = double.Parse(v5.Text);

iohmax = fo * Iihmax; //algoritmo segun las formulas de

diseño de compuertas RTL

iolmax = fo * Iilmax;

//voh=4.4v

rc = (5 - 4.4) / iohmax;

v8.Text = rc.ToString();

Irc = (5 - .1) / rc;

Rioh = 4.4 / iohmax;

v7.Text = Rioh.ToString();

Ics = Irc - iolmax;

Ibts = Ics / hfe;

Ibs = fs * Ibts;

rb = (3.4 - 0.7)/Ibs;

v6.Text = rb.ToString();

Irioh = 0.1 / Rioh;

Iriol = iolmax + Irioh;

Riol = Math.Abs((5 - .8)/Iriol); // llamada a la libreria

. math que contiene los controles de operaciones matematicas

v9.Text = Riol.ToString();

}

private void limpiar_Click(object sender, EventArgs e) //boton

limpiar

{

// limpia todos los valores escritos en las cajas de texto

o Text Box

v1.Text = "";

v2.Text = "";

v3.Text = "";

v4.Text = "";

v5.Text = "";

v6.Text = "";

v7.Text = "";

v8.Text = "";

v9.Text = "";

}

}

}

Conversor de unidades. using System;

using System.Linq;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace convertidor

{

public partial class Form1 : Form

{

private double a;

private double r;

Page 179: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 165

public Form1()

{

InitializeComponent();

}

private void longitud_SelectedIndexChanged(object sender,

EventArgs e) //programacion de la herramienta combo box

{//algoritmos de conversion de unidades de medida

if (longitud.SelectedIndex == 0)//km-m

{

a = double.Parse(valor.Text);

r = a * 1000;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 1)//km-cm

{

a = double.Parse(valor.Text);

r = a * 100000;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 2)//km-dm

{

a = double.Parse(valor.Text);

r = a * 10000;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 3)//km-mm

{

a = double.Parse(valor.Text);

r = a * 1000000;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 4)//km-pulg

{

a = double.Parse(valor.Text);

r = a * 39370.07874;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 5)//km-yarda

{

a = double.Parse(valor.Text);

r = a * 1093.613298;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 6)//m-km

{

a = double.Parse(valor.Text);

r = a * .001;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 7)//m-cm

{

a = double.Parse(valor.Text);

r = a * 100;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 8)//m-dm

{

a = double.Parse(valor.Text);

r = a * 10;

Page 180: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 166 Aplicación de software a dispositivos móviles

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 9)//m-mm

{

a = double.Parse(valor.Text);

r = a * 1000;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 10)//m-pulg

{

a = double.Parse(valor.Text);

r = a * 39.370079;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 11)//m-yarda

{

a = double.Parse(valor.Text);

r = a * 1.093613;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 12)//cm-km

{

a = double.Parse(valor.Text);

r = a * .000001;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 13)//cm-m

{

a = double.Parse(valor.Text);

r = a * .01;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 14)//cm-dm

{

a = double.Parse(valor.Text);

r = a * .1;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 15)//cm-mm

{

a = double.Parse(valor.Text);

r = a * 10;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 16)//dm-km

{

a = double.Parse(valor.Text);

r = a * 0.0001;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 17)//dm-m

{

a = double.Parse(valor.Text);

r = a * 0.1;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 18)//dm-cm

{

a = double.Parse(valor.Text);

r = a * 10;

res.Text = r.ToString();

}

Page 181: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 167

if (longitud.SelectedIndex == 19)//dm-mm

{

a = double.Parse(valor.Text);

r = a * 100;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 20)//mm-km

{

a = double.Parse(valor.Text);

r = a * .0000001;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 21)//mm-m

{

a = double.Parse(valor.Text);

r = a * .001;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 22)//mm-cm

{

a = double.Parse(valor.Text);

r = a * .1;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 23)//mm-dm

{

a = double.Parse(valor.Text);

r = a * .01;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 24)//pulg-km

{

a = double.Parse(valor.Text);

r = a * .0000254;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 25)//pulg-m

{

a = double.Parse(valor.Text);

r = a * 0.0254;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 26)//pulg-cm

{

a = double.Parse(valor.Text);

r = a * 2.54;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 27)//pulg-dm

{

a = double.Parse(valor.Text);

r = a * 0.254;

res.Text = r.ToString();

}

if (longitud.SelectedIndex == 28)//pulg-mm

{

a = double.Parse(valor.Text);

r = a * 25.4;

res.Text = r.ToString();

}

}

Page 182: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 168 Aplicación de software a dispositivos móviles

private void comboBox2_SelectedIndexChanged(object sender,

EventArgs e) //programacion del menu desplegable

{// el algoritmo asigna valores enteros a cada opcion para que

el usuario vea en pantalla el tipo de conversion seleccionado

longitud.Visible = false;

peso.Visible = false;

presion.Visible = false;

temperatura.Visible = false;

potencia.Visible = false;

if (comboBox2.SelectedIndex == 0)

longitud.Visible = true;

if (comboBox2.SelectedIndex == 1)

peso.Visible = true;

if (comboBox2.SelectedIndex == 2)

presion.Visible = true;

if (comboBox2.SelectedIndex == 3)

temperatura.Visible = true;

if (comboBox2.SelectedIndex == 4)

potencia.Visible = true;

}

private void peso_SelectedIndexChanged(object sender,

EventArgs e) //programacion del menu desplegable para seleccionar las

unidades de peso

{//conversion de unidades de peso

if (peso.SelectedIndex == 0)//ton/kg

{

a = double.Parse(valor.Text);

r = a * 1000;

res.Text = r.ToString();

}

if (peso.SelectedIndex == 1)//ton/g

{

a = double.Parse(valor.Text);

r = a * 1000000;

res.Text = r.ToString();

} if (peso.SelectedIndex == 2)//ton/mg

{

a = double.Parse(valor.Text);

r = a * 1000000000;

res.Text = r.ToString();

}

if (peso.SelectedIndex == 3)//kg/ton

{

a = double.Parse(valor.Text);

r = a * 0.01;

res.Text = r.ToString();

}

if (peso.SelectedIndex == 4)//kg/g

{

a = double.Parse(valor.Text);

r = a * 1000;

res.Text = r.ToString();

}

if (peso.SelectedIndex == 5)//kg/mg

{

a = double.Parse(valor.Text);

r = a * 1000000;

res.Text = r.ToString();

}

if (peso.SelectedIndex == 6)//g/ton

{

Page 183: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 169

a = double.Parse(valor.Text);

r = a * 0.000001;

res.Text = r.ToString();

}

if (peso.SelectedIndex == 7)//g/kg

{

a = double.Parse(valor.Text);

r = a * 0.001;

res.Text = r.ToString();

}

if (peso.SelectedIndex == 8)//g/mg

{

a = double.Parse(valor.Text);

r = a * 1000;

res.Text = r.ToString();

}

if (peso.SelectedIndex == 9)//mg/ton

{

a = double.Parse(valor.Text);

r = a * 0.000000001;

res.Text = r.ToString();

}

if (peso.SelectedIndex == 10)//mg/kg

{

a = double.Parse(valor.Text);

r = a * 0.000001;

res.Text = r.ToString();

}

if (peso.SelectedIndex == 11)//mg/g

{

a = double.Parse(valor.Text);

r = a * 0.001;

res.Text = r.ToString();

}

}

private void presion_SelectedIndexChanged(object sender,

EventArgs e) //opcion del menu para unidades de presion

{//algoritmos para la conversion de unidades de presion

if (presion.SelectedIndex == 0)//atm-pascal

{

a = double.Parse(valor.Text);

r = a * 101325;

res.Text = r.ToString();

}

if (presion.SelectedIndex == 1)//atm-bar

{

a = double.Parse(valor.Text);

r = a * 1.01325;

res.Text = r.ToString();

}

if (presion.SelectedIndex == 2)//atm-mbar

{

a = double.Parse(valor.Text);

r = a * 1013.25;

res.Text = r.ToString();

}

if (presion.SelectedIndex == 3)//atm-mmHg

{

a = double.Parse(valor.Text);

r = a * 760;

res.Text = r.ToString();

Page 184: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 170 Aplicación de software a dispositivos móviles

} if (presion.SelectedIndex == 4)//pascal-atm

{

a = double.Parse(valor.Text);

r = a * 0.00001;

res.Text = r.ToString();

} if (presion.SelectedIndex == 5)//pascal-bar

{

a = double.Parse(valor.Text);

r = a * 0.00001;

res.Text = r.ToString();

} if (presion.SelectedIndex == 6)//pascal-mbar

{

a = double.Parse(valor.Text);

r = a * 0.01;

res.Text = r.ToString();

} if (presion.SelectedIndex == 7)//pascal-mmHg

{

a = double.Parse(valor.Text);

r = a * 0.0075;

res.Text = r.ToString();

}

}

private void temperatura_SelectedIndexChanged(object sender,

EventArgs e) //opciones del menu desplegable para unidades de

temperatura

{// algoritmo correspondiente al cambio de unidades de

temperatura

if (temperatura.SelectedIndex == 0)//c-f

{

a = double.Parse(valor.Text);

r = ((9 * a) / 5) + 32;

res.Text = r.ToString();

}

if (temperatura.SelectedIndex == 1)//c-k

{

a = double.Parse(valor.Text);

r = a + 273.15;

res.Text = r.ToString();

}

if (temperatura.SelectedIndex == 2)//k-c

{

a = double.Parse(valor.Text);

r = a + 273.15;

res.Text = r.ToString();

}

if (temperatura.SelectedIndex == 3)//k-f

{

a = double.Parse(valor.Text);

r = ((9 * a) / 5) - 459.67;

res.Text = r.ToString();

}

if (temperatura.SelectedIndex == 4)//f-c

{

a = double.Parse(valor.Text);

r = ((a - 32) * 5 )/ 9;

res.Text = r.ToString();

}

if (temperatura.SelectedIndex == 5)//f-k

{

a = double.Parse(valor.Text);

r = ((a+459.67)*5)/9;

Page 185: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 171

res.Text = r.ToString();

}

}

private void potencia_SelectedIndexChanged(object sender,

EventArgs e) //opcion del menu desplegable para aplicar cambios de

unidades de energia

{//algoritmos para cambios de unidades de energia

if (potencia.SelectedIndex == 0)//watt/HP

{

a = double.Parse(valor.Text);

r = a*0.001341;

res.Text = r.ToString();

}

if (potencia.SelectedIndex == 1)//watt/BTU

{

a = double.Parse(valor.Text);

r = a * 3.414;

res.Text = r.ToString();

}

if (potencia.SelectedIndex == 2)//watt/(cal/s)

{

a = double.Parse(valor.Text);

r = a *0.239;

res.Text = r.ToString();

}

if (potencia.SelectedIndex == 3)//HP/watt

{

a = double.Parse(valor.Text);

r = a * 745.7 ;

res.Text = r.ToString();

}

if (potencia.SelectedIndex == 4)//HP/BTU

{

a = double.Parse(valor.Text);

r = a * 2546;

res.Text = r.ToString();

}

if (potencia.SelectedIndex == 5)//HP/(cal/s)

{

a = double.Parse(valor.Text);

r = a * 178.2;

res.Text = r.ToString();

}

if (potencia.SelectedIndex == 6)//BTU/watt

{

a = double.Parse(valor.Text);

r = a * 0.293;

res.Text = r.ToString();

}

if (potencia.SelectedIndex == 7)//BTU/HP

{

a = double.Parse(valor.Text);

r = a * 0.0003930;

res.Text = r.ToString();

}

if (potencia.SelectedIndex == 8)//BTU/(cal/s)

{

a = double.Parse(valor.Text);

r = a * .07;

res.Text = r.ToString();

}

Page 186: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 172 Aplicación de software a dispositivos móviles

}

private void menuItem2_Click(object sender, EventArgs e)

//cierra la aplicacion actual

{

Close();

}

private void menuItem1_Click(object sender, EventArgs e)

//redirecciona al Form2 que contiene sistemas de numeracion

{

Form2 f2 = new Form2();

f2.Show();

}

Conversor de unidades Form2

using System;

using System.Linq;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace convertidor

{

public partial class Form2 : Form //programacion para el Form2

perteneciente al mismo proyecto "convertidor"

{

public Form2()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e) //boton

convertir convierte las unidades dependiendo del valor seleccionado

{

long a, b,i;

string n = "";

string x = "";

if (sistemas.SelectedIndex == 0)//dec-bin

{

a = Int64.Parse(valor.Text);

b = 0;

for (i = 1; a > 0; i++)

{

b = a % 2;

a = a / 2;

n = b + n;

}

res.Text = n;

}

if (sistemas.SelectedIndex == 1)//dec-octal

{

a = Int64.Parse(valor.Text);

b=0;

for (i = 1; a > 0; i++)

Page 187: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 173

{

b = a % 8;

a = a / 8;

n = b + n;

}

res.Text = n;

}

if (sistemas.SelectedIndex == 2)//dec-hex

{

a = Int64.Parse(valor.Text);

b = 0;

for (i = 1; a > 0; i++)

{

b = a % 16;

a = a / 16;

if (b > 9)

{

switch (b)

{

case 10:

x = "A";

n = x + n;

break;

case 11:

x = "B";

n = x + n;

break;

case 12:

x = "C";

n = x + n;

break;

case 13:

x = "D";

n = x + n;

break;

case 14:

x = "E";

n = x + n;

break;

case 15:

x = "F";

n = x + n;

break;

}

}

else

{

n = b + n;

}

}

res.Text = n;

}

if (sistemas.SelectedIndex == 3)//bin-dec

{

string c;

c = Convert.ToString(valor.Text);

int d,j;

int dec = 0;

for (d = c.Length-1,j=0; d >=0; d--)

{

Page 188: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 174 Aplicación de software a dispositivos móviles

dec += Convert.ToInt32(c.Substring(d, 1)) *

Convert.ToInt32(Math.Pow(2, j));

j++;

}

res.Text = dec.ToString(); ;

}

if (sistemas.SelectedIndex == 4)//bin-oct

{

string c;

c = Convert.ToString(valor.Text);

int d, j;

int dec = 0;

for (d = c.Length - 1, j = 0; d >= 0; d--)

{

dec += Convert.ToInt32(c.Substring(d, 1)) *

Convert.ToInt32(Math.Pow(2, j));

j++;

}

b = 0;

for (i = 1; dec > 0; i++)

{

b = dec % 8;

dec = dec / 8;

n = b + n;

}

res.Text = n.ToString(); ;

}

if (sistemas.SelectedIndex == 5)//bin-hex

{

string c;

c = Convert.ToString(valor.Text);

int d, j;

int dec = 0;

for (d = c.Length - 1, j = 0; d >= 0; d--)

{

dec += Convert.ToInt32(c.Substring(d, 1)) *

Convert.ToInt32(Math.Pow(2, j));

j++;

}

b = 0;

for (i = 1; dec > 0; i++)

{

b = dec % 16;

dec = dec / 16;

if (b > 9)

{

switch (b)

{

case 10:

x = "A";

n = x + n;

break;

case 11:

x = "B";

n = x + n;

break;

case 12:

Page 189: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 175

x = "C";

n = x + n;

break;

case 13:

x = "D";

n = x + n;

break;

case 14:

x = "E";

n = x + n;

break;

case 15:

x = "F";

n = x + n;

break;

}

}

else

{

n = b + n;

}

}

res.Text = n.ToString(); ;

}

if (sistemas.SelectedIndex == 6)//oct-dec

{

string c;

c = Convert.ToString(valor.Text);

int d, j;

int dec = 0;

for (d = c.Length - 1, j = 0; d >= 0; d--)

{

dec += Convert.ToInt32(c.Substring(d, 1)) *

Convert.ToInt32(Math.Pow(8, j));

j++;

}

res.Text = dec.ToString(); ;

}

if (sistemas.SelectedIndex == 7)//oct-bin

{

string c;

c = Convert.ToString(valor.Text);

int d, j;

int dec = 0;

for (d = c.Length - 1, j = 0; d >= 0; d--)

{

dec += Convert.ToInt32(c.Substring(d, 1)) *

Convert.ToInt32(Math.Pow(8, j));

j++;

}

b = 0;

for (i = 1; dec > 0; i++)

{

b = dec % 2;

dec = dec / 2;

n = b + n;

}

Page 190: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 176 Aplicación de software a dispositivos móviles

res.Text = n.ToString(); ;

}

if (sistemas.SelectedIndex == 8)//oct-hex

{

string c;

c = Convert.ToString(valor.Text);

int d, j;

int dec = 0;

for (d = c.Length - 1, j = 0; d >= 0; d--)

{

dec += Convert.ToInt32(c.Substring(d, 1)) *

Convert.ToInt32(Math.Pow(8, j));

j++;

}

b = 0;

for (i = 1; dec > 0; i++)

{

b = dec % 16;

dec = dec / 16;

if (b > 9)

{

switch (b)

{

case 10:

x = "A";

n = x + n;

break;

case 11:

x = "B";

n = x + n;

break;

case 12:

x = "C";

n = x + n;

break;

case 13:

x = "D";

n = x + n;

break;

case 14:

x = "E";

n = x + n;

break;

case 15:

x = "F";

n = x + n;

break;

}

}

else

{

n = b + n;

}

}

res.Text = n.ToString(); ;

}

if (sistemas.SelectedIndex == 9)//hex-dec

{

Page 191: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 177

string c;

c = Convert.ToString(valor.Text);

int d, j;

int dec = 0;

for (d = c.Length - 1, j = 0; d >= 0; d--)

{

dec += Convert.ToInt32(c.Substring(d, 1)) *

Convert.ToInt32(Math.Pow(16, j));

j++;

}

res.Text = dec.ToString();

}

}

private void menuItem2_Click(object sender, EventArgs e)

//cierra la aplicacion completa

{

Application.Exit();

}

}

}

OPERACIONES CON MATRICES

using System;

using System.Linq;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace Matrixx

{

public partial class matriz : Form

{

private double[,] a;

private double[,] b;

private double[,] c;

private double[,] d;

private int m, n, fi, co;

public matriz()

{

InitializeComponent();

}

private void button2_Click(object sender, EventArgs e) //boton

poner

//lee los valores introducidos en cada campo de la matriz

{

string tam = "";

if (matA.Checked) //algoritmo para leer los datos en la

matriz A y guardarlos en el arreglo correspondiente

{

fi = Int32.Parse(cm.Text);

co = Int32.Parse(cn.Text);

mat.Items.Add("Mat A");

for (int i = 0; i < fi; i++)

{

for (int j = 0; j < co; j++)

Page 192: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 178 Aplicación de software a dispositivos móviles

{

tam += a[i, j].ToString() + "";

}

mat.Items.Add(tam);

tam = "";

}

}

if (matB.Checked) //algoritmo para leer los datos en la

matriz B y guardarlos en el arreglo correspondiente

{

fi = Int32.Parse(cm.Text);

co = Int32.Parse(cn.Text);

mat.Items.Add("Mat B");

for (int i = 0; i < fi; i++)

{

for (int j = 0; j < co; j++)

{

tam += b[i, j].ToString() + "";

}

mat.Items.Add(tam);

tam = "";

}

}

if (matC.Checked) //algoritmo para leer los datos en la

matriz C y guardarlos en el arreglo correspondiente

{

mat.Items.Add("Mat C");

for (int i = 0; i < fi; i++)

{

for (int j = 0; j < co; j++)

{

tam += c[i, j].ToString() + "";

}

mat.Items.Add(tam);

tam = "";

}

}

}

private void tamaño_Click(object sender, EventArgs e) //lee el

tamaño de la matriz y pasa los valores a variables globales

{

m = Int32.Parse(cm.Text);

n = Int32.Parse(cn.Text);

a = new double[m, n];

b = new double[m, n];

c = new double[m, n];

d = new double[m, n];

}

private void button1_Click(object sender, EventArgs e) //boton

leer

{

// lee los numeros almacenados en las matrices A y B

if (matA.Checked)

{

fi = Int32.Parse(fila.Text);

co = Int32.Parse(col.Text);

a[fi, co] = Double.Parse(elemento.Text);

}

if (matB.Checked)

{

fi = Int32.Parse(fila.Text);

Page 193: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 179

co = Int32.Parse(col.Text);

b[fi, co] = Double.Parse(elemento.Text);

}

}

private void button3_Click(object sender, EventArgs e) //boton

calcula

{

//algoritmos correspondientes a las operaciones de las

matrices

if (suma.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = a[i, j] + b[i, j];

}

}

}

if (resta.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = a[i, j] - b[i, j];

}

}

}

if (producto.Checked)

{

int l = m;

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = 0;

for (int k = 0; k < l; k++)

{

c[i, j] += a[i, k] * b[k, j];

}

}

}

}

if (transpuesta.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = a[j, i];

}

}

}

if (transpuestaB.Checked)

{

for (int i = 0; i < m; i++)

{

Page 194: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 180 Aplicación de software a dispositivos móviles

for (int j = 0; j < n; j++)

{

c[i, j] = b[j, i];

}

}

}

if (suma1.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

d[i, j] = b[j, i];

}

}

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = a[i, j] + d[i, j];

}

}

}

if (suma2.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

d[i, j] = a[j, i];

}

}

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = a[i, j] + d[i, j];

}

}

}

if (resta1.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

d[i, j] = b[j, i];

}

}

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = a[i, j] - d[i, j];

}

}

}

if (resta2.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

Page 195: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 181

{

d[i, j] = a[j, i];

}

}

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = a[i, j] - d[i, j];

}

}

}

if (multiplica1.Checked)

{

int l = m;

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

d[i, j] = b[j, i];

}

}

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = 0;

for (int k = 0; k < l; k++)

{

c[i, j] += a[i, k] * d[k, j];

}

}

}

}

if (multiplica2.Checked)

{

int l = m;

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

d[i, j] = a[j, i];

}

}

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = 0;

for (int k = 0; k < l; k++)

{

c[i, j] += d[i, k] * b[k, j];

}

}

}

}

if (opuesta1.Checked)

Page 196: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 182 Aplicación de software a dispositivos móviles

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = a[i, j] * -1;

}

}

}

if (opuesta2.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = b[i, j] * -1;

}

}

}

if (nula.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = a[i, j] * 0;

}

}

}

if (a2.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = a[i, j] * a[i, j];

}

}

}

if (b2.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

c[i, j] = b[i, j] * b[i, j];

}

}

}

if (d1.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

if (i == j)

{

c[i, j] = a[i, j];

}

else

{

c[i, j] = 0;

Page 197: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 183

}

}

}

}

if (d2.Checked)

{

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

{

if (i == j)

{

c[i, j] = b[i, j];

}

else

{

c[i, j] = 0;

}

}

}

} // los resultados calculados son puestos como resultados

en la matriz C

}

private void menuItem3_Click(object sender, EventArgs e) //

opcion del menu salir de la aplicacion

{

Application.Exit();

}

private void menuItem1_Click(object sender, EventArgs e)

//opcion para cerrar el formulario actual Forn 2

{

Close();

}

}

}

Redes RC Pasa altas y Pasa bajas using System;

using System.Linq;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace PasaAB

{

public partial class Pasaalta : Form

{

double a, rc, a1, res, aten, capa, requiv, r1, r2, atenr;

public Pasaalta()

{

InitializeComponent();

}

private void calc_Click(object sender, EventArgs e) //boton

calcula

{

Page 198: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 184 Aplicación de software a dispositivos móviles

//calcula los elementos de el circuito RC

rc = double.Parse(FC1.Text);

a = 1 / (2 * 3.1416 * rc);

RC1.Text = a.ToString();

// float.MaxValue = .2F;

}

private void button3_Click(object sender, EventArgs e) //elige

el valor comercial de un capacitor

{

if (micro.SelectedIndex == 0) //elige valores de un

microcapacitor en microfaradios

{

a1 = (0.10 * 0.000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 1)

{

a1 = (0.12 * 0.000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 2)

{

a1 = (0.15 * 0.000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 3)

{

a1 = (0.18 * 0.000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 4)

{

a1 = (0.22 * 0.000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 5)

{

a1 = (0.27 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 6)

{

a1 = (0.33 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 7)

{

a1 = (0.39 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 8)

{

a1 = (0.47 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 9)

{

a1 = (0.56 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 10)

{

a1 = (0.68 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 11)

{

a1 = (0.82 * 0.000001);

Page 199: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 185

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 12)

{

a1 = (1.0 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 13)

{

a1 = (1.2 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 14)

{

a1 = (1.5 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 15)

{

a1 = (1.8 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 16)

{

a1 = (2.2 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 17)

{

a1 = (2.7 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 18)

{

a1 = (3.3 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 19)

{

a1 = (3.9 * 0.000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 20)

{

a1 = (4.7 * 0.000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 21)

{

a1 = (5.6 * 0.000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 22)

{

a1 = (6.8 * 0.000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 23)

{

a1 = (8.2 * 0.000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 24)

{

a1 = (10 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 25)

{

a1 = (12 * 0.000001);

ccap.Text = a1.ToString();

Page 200: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 186 Aplicación de software a dispositivos móviles

} if (micro.SelectedIndex == 26)

{

a1 = (15 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 27)

{

a1 = (18 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 28)

{

a1 = (22 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 29)

{

a1 = (27 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 30)

{

a1 = (33 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 31)

{

a1 = (39 * 0.000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 32)

{

a1 = (47 * 0.000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 33)

{

a1 = (56 * 0.000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 34)

{

a1 = (68 * 0.000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 35)

{

a1 = (82 * 0.000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 36)

{

a1 = (100 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 37)

{

a1 = (120 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 38)

{

a1 = (150 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 39)

{

a1 = (180 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 40)

Page 201: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 187

{

a1 = (220 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 41)

{

a1 = (270 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 42)

{

a1 = (330 * 0.000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 43)

{

a1 = (390 * 0.000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 44)

{

a1 = (470 * 0.000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 45)

{

a1 = (560 * 0.000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 46)

{

a1 = (680 * 0.000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 47)

{

a1 = (820 * 0.000001);

ccap.Text = a1.ToString();

}

}

private void button1_Click(object sender, EventArgs e) //boton

nf //elige valores de un microcapacitor en nano faradios

{

if (micro.SelectedIndex == 0)

{

a1 = (0.10 * 0.000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 1)

{

a1 = (0.12 * 0.000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 2)

{

a1 = (0.15 * 0.000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 3)

{

a1 = (0.18 * 0.000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 4)

Page 202: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 188 Aplicación de software a dispositivos móviles

{

a1 = (0.22 * 0.000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 5)

{

a1 = (0.27 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 6)

{

a1 = (0.33 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 7)

{

a1 = (0.39 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 8)

{

a1 = (0.47 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 9)

{

a1 = (0.56 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 10)

{

a1 = (0.68 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 11)

{

a1 = (0.82 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 12)

{

a1 = (1.0 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 13)

{

a1 = (1.2 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 14)

{

a1 = (1.5 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 15)

{

a1 = (1.8 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 16)

{

a1 = (2.2 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 17)

{

a1 = (2.7 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 18)

{

a1 = (3.3 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 19)

{

Page 203: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 189

a1 = (3.9 * 0.000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 20)

{

a1 = (4.7 * 0.000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 21)

{

a1 = (5.6 * 0.000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 22)

{

a1 = (6.8 * 0.000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 23)

{

a1 = (8.2 * 0.000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 24)

{

a1 = (10 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 25)

{

a1 = (12 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 26)

{

a1 = (15 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 27)

{

a1 = (18 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 28)

{

a1 = (22 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 29)

{

a1 = (27 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 30)

{

a1 = (33 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 31)

{

a1 = (39 * 0.000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 32)

{

a1 = (47 * 0.000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 33)

Page 204: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 190 Aplicación de software a dispositivos móviles

{

a1 = (56 * 0.000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 34)

{

a1 = (68 * 0.000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 35)

{

a1 = (82 * 0.000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 36)

{

a1 = (100 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 37)

{

a1 = (120 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 38)

{

a1 = (150 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 39)

{

a1 = (180 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 40)

{

a1 = (220 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 41)

{

a1 = (270 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 42)

{

a1 = (330 * 0.000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 43)

{

a1 = (390 * 0.000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 44)

{

a1 = (470 * 0.000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 45)

{

a1 = (560 * 0.000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 46)

{

a1 = (680 * 0.000000001);

ccap.Text = a1.ToString();

}

Page 205: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 191

if (micro.SelectedIndex == 47)

{

a1 = (820 * 0.000000001);

ccap.Text = a1.ToString();

}

}

private void button2_Click(object sender, EventArgs e) //boton

pf //elige valores de un microcapacitor en pico faradios

{

if (micro.SelectedIndex == 0)

{

a1 = (0.10 * 0.000000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 1)

{

a1 = (0.12 * 0.000000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 2)

{

a1 = (0.15 * 0.000000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 3)

{

a1 = (0.18 * 0.000000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 4)

{

a1 = (0.22 * 0.000000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 5)

{

a1 = (0.27 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 6)

{

a1 = (0.33 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 7)

{

a1 = (0.39 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 8)

{

a1 = (0.47 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 9)

{

a1 = (0.56 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 10)

{

a1 = (0.68 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 11)

{

a1 = (0.82 * 0.000000000001);

Page 206: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 192 Aplicación de software a dispositivos móviles

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 12)

{

a1 = (1.0 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 13)

{

a1 = (1.2 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 14)

{

a1 = (1.5 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 15)

{

a1 = (1.8 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 16)

{

a1 = (2.2 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 17)

{

a1 = (2.7 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 18)

{

a1 = (3.3 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 19)

{

a1 = (3.9 * 0.000000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 20)

{

a1 = (4.7 * 0.000000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 21)

{

a1 = (5.6 * 0.000000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 22)

{

a1 = (6.8 * 0.000000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 23)

{

a1 = (8.2 * 0.000000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 24)

{

a1 = (10 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 25)

{

a1 = (12 * 0.000000000001);

ccap.Text = a1.ToString();

Page 207: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 193

} if (micro.SelectedIndex == 26)

{

a1 = (15 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 27)

{

a1 = (18 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 28)

{

a1 = (22 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 29)

{

a1 = (27 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 30)

{

a1 = (33 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 31)

{

a1 = (39 * 0.000000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 32)

{

a1 = (47 * 0.000000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 33)

{

a1 = (56 * 0.000000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 34)

{

a1 = (68 * 0.000000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 35)

{

a1 = (82 * 0.000000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 36)

{

a1 = (100 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 37)

{

a1 = (120 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 38)

{

a1 = (150 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 39)

{

a1 = (180 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 40)

Page 208: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 194 Aplicación de software a dispositivos móviles

{

a1 = (220 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 41)

{

a1 = (270 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 42)

{

a1 = (330 * 0.000000000001);

ccap.Text = a1.ToString();

} if (micro.SelectedIndex == 43)

{

a1 = (390 * 0.000000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 44)

{

a1 = (470 * 0.000000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 45)

{

a1 = (560 * 0.000000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 46)

{

a1 = (680 * 0.000000000001);

ccap.Text = a1.ToString();

}

if (micro.SelectedIndex == 47)

{

a1 = (820 * 0.000000000001);

ccap.Text = a1.ToString();

}

}

private void button4_Click(object sender, EventArgs e) //boton

calcula la resisrencia del circuito

{

res = a / a1;

resis.Text = res.ToString();

}

private void button8_Click(object sender, EventArgs e) //boton

calcula, calcula todos los valores de una red pasabajas

{

rc = double.Parse(TBfq.Text);

aten = double.Parse(TBdB.Text);

capa = double.Parse(cap.Text);

requiv = 1 / (2 * 3.1416 * rc* capa);

aten = Math.Pow(10, aten / 20);

atenr = (1 - aten) / aten;

r2 = (requiv * atenr) / (atenr + 1);

r1 = r2 * atenr;

ATL.Text = aten.ToString();

TBrequiv.Text = requiv.ToString();

TBr1.Text = r1.ToString();

TBr2.Text = r2.ToString();

//RC1.Text = a.ToString();

}

Page 209: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 195

private void button10_Click(object sender, EventArgs e)

//boton calcula, calcula todos los valores de una red pasa altas

{

rc = double.Parse(TBfq2.Text);

aten = double.Parse(TBatenfij2.Text);

capa = double.Parse(TBcap2.Text);

requiv = 1 / (2 * 3.1416 * rc * capa);

aten = Math.Pow(10, aten / 20);

atenr = (1 - aten) / aten;

r2 = requiv / (atenr + 1);

r1 = r2 * atenr;

TBatlin2.Text = aten.ToString();

TBreqv2.Text = requiv.ToString();

TBr12.Text = r1.ToString();

TBr22.Text = r2.ToString();

}

private void button5_Click(object sender, EventArgs e) //boton

ver red pasabajas

{ //muestra el diseño de la red pasabajas en un picture box

panel1.Visible = true;

panel2.Visible = false;

}

private void button6_Click(object sender, EventArgs e)//boton

pasa altas

{//muestra el diseño de la red pasaaltas en un picture box

panel2.Visible = true;

panel1.Visible = false;

}

// los demas botones obedecen a instrucciones similares

private void button12_Click(object sender, EventArgs e)

{

panel2.Visible = false;

}

private void button11_Click(object sender, EventArgs e)

{

panel1.Visible = false;

}

private void button7_Click(object sender, EventArgs e)

{

panel3.Visible = true;

}

private void button13_Click(object sender, EventArgs e)

{

panel3.Visible = false;

}

private void button9_Click(object sender, EventArgs e)

{

panel4.Visible = true;

}

private void button15_Click(object sender, EventArgs e)

{

panel4.Visible = false;

}

Page 210: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 196 Aplicación de software a dispositivos móviles

private void menuItem1_Click(object sender, EventArgs e)

{

Close();

}

private void menuItem3_Click(object sender, EventArgs e)

{

Application.Exit();

}

}

}

Menú general

Presentación using System;

using System.Linq;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace menu_gen

{

public partial class presentacion : Form

{

public presentacion()

{

InitializeComponent();

}

private void menuItem1_Click(object sender, EventArgs e)

{

menmat men = new menmat();

men.Show();

}

private void menuItem2_Click(object sender, EventArgs e)

{

Application.Exit();

}

}

}

Menú Herramientas using System;

using System.Linq;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace menu_gen

{

public partial class herramientas : Form

{

public herramientas()

{

InitializeComponent();

}

private void menuItem1_Click(object sender, EventArgs e)

{

Page 211: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 197

menmat mens = new menmat();

mens.Show();

}

private void linkLabel1_Click(object sender, EventArgs e)

{

Amplificadores.opam am = new Amplificadores.opam();

am.Show();

}

private void linkLabel2_Click(object sender, EventArgs e)

{

calculadora.calculador ca = new calculadora.calculador();

ca.Show();

}

private void linkLabel3_Click(object sender, EventArgs e)

{

Matrixx.matriz mat = new Matrixx.matriz();

mat.Show();

}

private void linkLabel4_Click(object sender, EventArgs e)

{

complex.Rectpolar com = new complex.Rectpolar();

com.Show();

}

private void linkLabel5_Click(object sender, EventArgs e)

{

convertidor.cunid cun = new convertidor.cunid();

cun.Show();

}

private void linkLabel6_Click(object sender, EventArgs e)

{

convertidor.cbase bas = new convertidor.cbase();

bas.Show();

}

private void linkLabel7_Click(object sender, EventArgs e)

{

compuerta_RTL.comprtl rtl = new compuerta_RTL.comprtl();

rtl.Show();

}

private void linkLabel8_Click(object sender, EventArgs e)

{

resistencias.resistencias resi = new

resistencias.resistencias();

resi.Show();

}

private void linkLabel9_Click(object sender, EventArgs e)

{

PasaAB.Pasaalta pas = new PasaAB.Pasaalta();

pas.Show();

}

}

}

Menú materias using System;

using System.Linq;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

Page 212: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 198 Aplicación de software a dispositivos móviles

using System.Windows.Forms;

namespace menu_gen

{

public partial class menmat : Form

{

public menmat()

{

InitializeComponent();

}

private void menuItem1_Click(object sender, EventArgs e)

{

herramientas her = new herramientas();

her.Show();

}

private void menuItem2_Click(object sender, EventArgs e)

{

Application.Exit();

}

private void button1_Click(object sender, EventArgs e)

{

circacd.cacd ca = new circacd.cacd();

ca.Show();

}

private void cir_digital_Click(object sender, EventArgs e)

{

circdigi.digitales dig = new circdigi.digitales();

dig.Show();

}

private void comunicacion_Click(object sender, EventArgs e)

{

comunicaciones.comu1 c1 = new comunicaciones.comu1();

c1.Show();

}

}

}

Cálculo de Resistencias Comerciales

using System;

using System.Linq;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace resistencias

{

public partial class resistencias : Form

{

public resistencias()

{

InitializeComponent();

}

Page 213: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 199

private void button2_Click(object sender, EventArgs e)

{

t2.BringToFront();

}

private void menuItem2_Click(object sender, EventArgs e)

{

this.Close();

}

private void res_Paint(object sender, PaintEventArgs e)

{

//int xi, xf, y1, yf;

//xi = 10; xf = 210; y1 = 10; yf = 80;

Graphics gr = res.CreateGraphics();

Pen negro = new Pen(Color.Black);

Pen azul = new Pen(Color.CadetBlue);

negro.Width = 4.0F;

azul.Width = 3.0F;

//negro.DashStyle =

System.Drawing.Drawing2D.DashStyle.Solid;

gr.DrawRectangle(negro,new Rectangle(50,15,120,60));

gr.DrawLine(negro, 5, 50, 50, 50);

gr.DrawLine(negro, 170, 50, 210, 50);

gr.DrawRectangle(azul, new Rectangle(55, 18,20,53));

gr.DrawRectangle(azul, new Rectangle(85, 18, 20, 53));

gr.DrawRectangle(azul, new Rectangle(115, 18, 20, 53));

gr.DrawRectangle(azul, new Rectangle(145, 18, 20, 53));

}

private void menuItem1_Click(object sender, EventArgs e)

{

t1.BringToFront();

}

private void menuItem5_Click(object sender, EventArgs e)

{

Application.Exit();

}

private void visualiza_Click(object sender, EventArgs e)

{

double r;

Graphics gr = res.CreateGraphics();

SolidBrush beige = new SolidBrush(Color.Beige);

SolidBrush negro1=new SolidBrush(Color.Black);

SolidBrush cafe = new SolidBrush(Color.Brown);

SolidBrush rojo = new SolidBrush(Color.Red);

SolidBrush naranja = new SolidBrush(Color.Orange);

SolidBrush amarillo = new SolidBrush(Color.Yellow);

SolidBrush verde = new SolidBrush(Color.Green);

SolidBrush azul1 = new SolidBrush(Color.Blue);

SolidBrush morado = new SolidBrush(Color.Purple);

SolidBrush gris = new SolidBrush(Color.Gray);

SolidBrush blanco = new SolidBrush(Color.White);

SolidBrush dorado = new SolidBrush(Color.Gold);

SolidBrush plata = new SolidBrush(Color.Silver);

Pen negro2 = new Pen(Color.Black);

Pen azul2 = new Pen(Color.CadetBlue);

negro2.Width = 4.0F;

azul2.Width = 3.0F;

try

{

switch (valores.SelectedItem.ToString())

{

case "1":

if (rd1.Checked)

Page 214: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 200 Aplicación de software a dispositivos móviles

{

// 1 ohm

r = 1;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(negro1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

}

if (rd2.Checked)

{

// 10 ohm

r = 10;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(negro1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(negro1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd3.Checked)

{

// 100 ohm

r = 100;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(negro1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(cafe, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd4.Checked)

{

//1 kohm

r = 1000;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(negro1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(rojo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd5.Checked)

{

//10 kohm

r = 10000;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(negro1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(naranja, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd6.Checked)

{

//100 kohm

r = 100000;

Resultado.Text = r.ToString();

Page 215: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 201

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(negro1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(amarillo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd7.Checked)

{

//1 Mohm

r = 1000000;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(negro1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(verde, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd8.Checked)

{

//10 Mohm

r = 10000000;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(negro1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(azul1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

break;

case "1.2":

if (rd1.Checked)

{

//1.2 ohm

r = 1.2;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(beige, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd2.Checked)

{

// 12 ohm

r = 12;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(negro1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd3.Checked)

{

// 120 ohm

r = 120;

Resultado.Text = r.ToString();

Page 216: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 202 Aplicación de software a dispositivos móviles

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(cafe, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd4.Checked)

{

//1.2 kohm

r = 1200;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(rojo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd5.Checked)

{

//12 kohm

r = 12000;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(naranja, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd6.Checked)

{

//120 kohm

r = 120000;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(amarillo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd7.Checked)

{

//1.2 Mohm

r = 1200000;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(verde, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd8.Checked)

{

//12 Mohm

r = 12000000;

Resultado.Text = r.ToString();

Page 217: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 203

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(azul1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

break;

case "1.5":

if (rd1.Checked)

{

//1.5 ohm

r = 1.5;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(verde, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(beige, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd2.Checked)

{

// 15 ohm

r = 15;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(verde, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(negro1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd3.Checked)

{

// 150 ohm

r = 150;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(verde, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(cafe, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd4.Checked)

{

//1.5 kohm

r = 1500;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(verde, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(rojo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd5.Checked)

{

//15 kohm

r = 15000;

Resultado.Text = r.ToString();

Page 218: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 204 Aplicación de software a dispositivos móviles

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(verde, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(naranja, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd6.Checked)

{

//150 kohm

r = 150000;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(verde, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(amarillo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd7.Checked)

{

//1.5 Mohm

r = 1500000;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(verde, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(verde, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd8.Checked)

{

//15 Mohm

r = 15000000;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(verde, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(azul1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

break;

case "1.8":

if (rd1.Checked)

{

//1.8 ohm

r = 1.8;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(gris, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(beige, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd2.Checked)

{

// 18 ohm

Page 219: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 205

r = 18;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(gris, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(negro1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd3.Checked)

{

// 180 ohm

r = 180;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(gris, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(cafe, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd4.Checked)

{

//1.8 kohm

r = 1800;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(gris, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(rojo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd5.Checked)

{

//18 kohm

r = 18000;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(gris, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(naranja, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd6.Checked)

{

//180 kohm

r = 180000;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(gris, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(amarillo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd7.Checked)

{

//1.8 Mohm

r = 1800000;

Resultado.Text = r.ToString();

Page 220: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 206 Aplicación de software a dispositivos móviles

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(gris, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(verde, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd8.Checked)

{

//18 Mohm

r = 18000000;

Resultado.Text = r.ToString();

gr.FillRectangle(cafe, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(gris, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(azul1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

break;

case "2.2":

if (rd1.Checked)

{

//2.2 ohm

r = 2.2;

Resultado.Text = r.ToString();

gr.FillRectangle(rojo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(beige, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd2.Checked)

{

// 22 ohm

r = 22;

Resultado.Text = r.ToString();

gr.FillRectangle(rojo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(negro1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd3.Checked)

{

// 220 ohm

r = 220;

Resultado.Text = r.ToString();

gr.FillRectangle(rojo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(cafe, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd4.Checked)

{

//2.2 kohm

r = 2200;

Page 221: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 207

Resultado.Text = r.ToString();

gr.FillRectangle(rojo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(rojo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd5.Checked)

{

//22 kohm

r = 22000;

Resultado.Text = r.ToString();

gr.FillRectangle(rojo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(naranja, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd6.Checked)

{

//220 kohm

r = 220000;

Resultado.Text = r.ToString();

gr.FillRectangle(rojo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(amarillo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd7.Checked)

{

//2.2 Mohm

r = 2200000;

Resultado.Text = r.ToString();

gr.FillRectangle(rojo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(verde, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd8.Checked)

{

//22 Mohm

r = 22000000;

Resultado.Text = r.ToString();

gr.FillRectangle(rojo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(azul1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

break;

case "2.7":

if (rd1.Checked)

{

//2.7 ohm

r = 2.7;

Page 222: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 208 Aplicación de software a dispositivos móviles

Resultado.Text = r.ToString();

gr.FillRectangle(rojo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(morado, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(beige, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd2.Checked)

{

// 27 ohm

r = 27;

Resultado.Text = r.ToString();

gr.FillRectangle(rojo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(morado, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(negro1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd3.Checked)

{

// 270 ohm

r = 270;

Resultado.Text = r.ToString();

gr.FillRectangle(rojo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(morado, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(cafe, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd4.Checked)

{

//2.7 kohm

r = 2700;

Resultado.Text = r.ToString();

gr.FillRectangle(rojo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(morado, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(rojo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd5.Checked)

{

//27 kohm

r = 27000;

Resultado.Text = r.ToString();

gr.FillRectangle(rojo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(morado, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(naranja, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd6.Checked)

{

//270 kohm

r = 270000;

Resultado.Text = r.ToString();

gr.FillRectangle(rojo, new Rectangle(55, 18, 20, 53));

Page 223: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 209

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(morado, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(amarillo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd7.Checked)

{

//2.7 Mohm

r = 2700000;

Resultado.Text = r.ToString();

gr.FillRectangle(rojo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(morado, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(verde, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd8.Checked)

{

//27 Mohm

r = 27000000;

Resultado.Text = r.ToString();

gr.FillRectangle(rojo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(morado, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(azul1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

break;

case "3.3":

if (rd1.Checked)

{

//3.3 ohm

r = 3.3;

Resultado.Text = r.ToString();

gr.FillRectangle(naranja, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(naranja, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(beige, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd2.Checked)

{

// 33 ohm

r = 33;

Resultado.Text = r.ToString();

gr.FillRectangle(naranja, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(naranja, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(negro1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd3.Checked)

{

// 330 ohm

r = 330;

Resultado.Text = r.ToString();

gr.FillRectangle(naranja, new Rectangle(55, 18, 20, 53));

Page 224: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 210 Aplicación de software a dispositivos móviles

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(naranja, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(cafe, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd4.Checked)

{

//3.3 kohm

r = 3300;

Resultado.Text = r.ToString();

gr.FillRectangle(naranja, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(naranja, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(rojo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd5.Checked)

{

//33 kohm

r = 33000;

Resultado.Text = r.ToString();

gr.FillRectangle(naranja, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(naranja, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(naranja, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd6.Checked)

{

//330 kohm

r = 330000;

Resultado.Text = r.ToString();

gr.FillRectangle(naranja, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(naranja, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(amarillo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd7.Checked)

{

//3.3 Mohm

r = 3300000;

Resultado.Text = r.ToString();

gr.FillRectangle(naranja, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(naranja, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(verde, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd8.Checked)

{

//33 Mohm

r = 33000000;

Resultado.Text = r.ToString();

gr.FillRectangle(naranja, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(naranja, 85, 18, 20, 53);

Page 225: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 211

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(azul1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

break;

case "3.9":

if (rd1.Checked)

{

//3.9 ohm

r = 3.9;

Resultado.Text = r.ToString();

gr.FillRectangle(naranja, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(blanco, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(beige, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd2.Checked)

{

// 39 ohm

r = 39;

Resultado.Text = r.ToString();

gr.FillRectangle(naranja, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(blanco, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(negro1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd3.Checked)

{

// 390 ohm

r = 390;

Resultado.Text = r.ToString();

gr.FillRectangle(naranja, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(blanco, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(cafe, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd4.Checked)

{

//3.9 kohm

r = 3900;

Resultado.Text = r.ToString();

gr.FillRectangle(naranja, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(blanco, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(rojo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd5.Checked)

{

//39 kohm

r = 39000;

Resultado.Text = r.ToString();

gr.FillRectangle(naranja, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(blanco, 85, 18, 20, 53);

Page 226: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 212 Aplicación de software a dispositivos móviles

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(naranja, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd6.Checked)

{

//390 kohm

r = 390000;

Resultado.Text = r.ToString();

gr.FillRectangle(naranja, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(blanco, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(amarillo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd7.Checked)

{

//3.9 Mohm

r = 3900000;

Resultado.Text = r.ToString();

gr.FillRectangle(naranja, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(blanco, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(verde, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd8.Checked)

{

//39 Mohm

r = 39000000;

Resultado.Text = r.ToString();

gr.FillRectangle(naranja, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(blanco, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(azul1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

break;

case "4.7":

if (rd1.Checked)

{

r = 4.7;

Resultado.Text = r.ToString();

gr.FillRectangle(amarillo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(morado, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(beige, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd2.Checked)

{

r = 47;

Resultado.Text = r.ToString();

gr.FillRectangle(amarillo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(morado, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

Page 227: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 213

gr.FillRectangle(negro1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd3.Checked)

{

r = 470;

Resultado.Text = r.ToString();

gr.FillRectangle(amarillo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(morado, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(cafe, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd4.Checked)

{

r = 4700;

Resultado.Text = r.ToString();

gr.FillRectangle(amarillo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(morado, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(rojo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd5.Checked)

{

r = 47000;

Resultado.Text = r.ToString();

gr.FillRectangle(amarillo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(morado, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(naranja, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd6.Checked)

{

r = 470000;

Resultado.Text = r.ToString();

gr.FillRectangle(amarillo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(morado, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(amarillo, 115, 18, 20, 53);

gr.DrawRecangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd7.Checked)

{

r = 4700000;

Resultado.Text = r.ToString();

gr.FillRectangle(amarillo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(morado, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(verde, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd8.Checked)

{

r = 47000000;

Resultado.Text = r.ToString();

Page 228: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 214 Aplicación de software a dispositivos móviles

gr.FillRectangle(amarillo, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(morado, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(azul1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

break;

case "5.6":

if (rd1.Checked)

{

r = 5.6;

Resultado.Text = r.ToString();

gr.FillRectangle(verde, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(azul1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(beige, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd2.Checked)

{

r = 56;

Resultado.Text = r.ToString();

gr.FillRectangle(verde, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(azul1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(negro1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd3.Checked)

{

r = 560;

Resultado.Text = r.ToString();

gr.FillRectangle(verde, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(azul1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(cafe, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd4.Checked)

{

r = 5600;

Resultado.Text = r.ToString();

gr.FillRectangle(verde, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(azul1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(rojo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd5.Checked)

{

r = 56000;

Resultado.Text = r.ToString();

gr.FillRectangle(verde, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(azul1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

Page 229: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 215

gr.FillRectangle(naranja, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd6.Checked)

{

r = 560000;

Resultado.Text = r.ToString();

gr.FillRectangle(verde, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(azul1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(amarillo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd7.Checked)

{

r = 5600000;

Resultado.Text = r.ToString();

gr.FillRectangle(verde, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(azul1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(verde, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd8.Checked)

{

r = 56000000;

Resultado.Text = r.ToString();

gr.FillRectangle(verde, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(azul1, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(azul1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

break;

case "6.8":

if (rd1.Checked)

{

r = 6.8;

Resultado.Text = r.ToString();

gr.FillRectangle(azul1, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(gris, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(beige, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd2.Checked)

{

r = 68;

Resultado.Text = r.ToString();

gr.FillRectangle(azul1, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(gris, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(negro1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

Page 230: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 216 Aplicación de software a dispositivos móviles

if (rd3.Checked)

{

r = 680;

Resultado.Text = r.ToString();

gr.FillRectangle(azul1, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(gris, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(cafe, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd4.Checked)

{

r = 6800;

Resultado.Text = r.ToString();

gr.FillRectangle(azul1, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(gris, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(rojo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd5.Checked)

{

r = 68000;

Resultado.Text = r.ToString();

gr.FillRectangle(azul1, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(gris, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(naranja, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd6.Checked)

{

r = 680000;

Resultado.Text = r.ToString();

gr.FillRectangle(azul1, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(gris, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(amarillo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd7.Checked)

{

r = 6800000;

Resultado.Text = r.ToString();

gr.FillRectangle(azul1, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(gris, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(verde, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd8.Checked)

{

r = 68000000;

Page 231: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 217

Resultado.Text = r.ToString();

gr.FillRectangle(azul1, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(gris, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(azul1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

break;

case "8.2":

if (rd1.Checked)

{

r = 8.2;

Resultado.Text = r.ToString();

gr.FillRectangle(gris, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(beige, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd2.Checked)

{

r = 82;

Resultado.Text = r.ToString();

gr.FillRectangle(gris, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(negro1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd3.Checked)

{

r = 820;

Resultado.Text = r.ToString();

gr.FillRectangle(gris, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(cafe, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd4.Checked)

{

r = 8200;

Resultado.Text = r.ToString();

gr.FillRectangle(gris, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(rojo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

Page 232: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 218 Aplicación de software a dispositivos móviles

if (rd5.Checked)

{

r = 82000;

Resultado.Text = r.ToString();

gr.FillRectangle(gris, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(naranja, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd6.Checked)

{

r = 820000;

Resultado.Text = r.ToString();

gr.FillRectangle(gris, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(amarillo, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd7.Checked)

{

r = 8200000;

Resultado.Text = r.ToString();

gr.FillRectangle(gris, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(verde, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

if (rd8.Checked)

{

r = 82000000;

Resultado.Text = r.ToString();

gr.FillRectangle(gris, new Rectangle(55, 18, 20, 53));

gr.DrawRectangle(azul2, new Rectangle(55, 18, 20, 53));

gr.FillRectangle(rojo, 85, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(85, 18, 20, 53));

gr.FillRectangle(azul1, 115, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(115, 18, 20, 53));

}

break;

}

if (tolerancia.Text == "1%")

{

gr.FillRectangle(cafe, 145, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(145, 18, 20, 53));

}

if (tolerancia.Text == "2%")

{

gr.FillRectangle(rojo, 145, 18, 20, 53);

Page 233: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 219

gr.DrawRectangle(azul2, new Rectangle(145, 18, 20, 53));

}

if (tolerancia.Text == "5%")

{

gr.FillRectangle(dorado, 145, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(145, 18, 20, 53));

}

if (tolerancia.Text == "10%")

{

gr.FillRectangle(plata, 145, 18, 20, 53);

gr.DrawRectangle(azul2, new Rectangle(145, 18, 20, 53));

}

}

catch

{

MessageBox.Show("Falta algun valor");

}

}

private void cetabla_Click(object sender, EventArgs e)

{

t1.BringToFront();

}

}

}

Page 234: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 220 Aplicación de software a dispositivos móviles

Page 235: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 221

Referencias

Índice de Diagramas

DIAGRAMA 1 DIAGRAMA DE CLASES DEL FORMULARIO DE CIRCUITOS DIGITALES ......................................................... 93

DIAGRAMA 2 FORMA Y CONTENIDO DEL CAMPO CLASE FORM2 Y SUS METODOS ....................................................... 95

DIAGRAMA 3 DIAGRAMA DE CLASES “ASOCIACIONES ENTRE LAS CLASES” ................................................................. 97

Índice de figuras

FIGURA 1 FIGURAA QUE MUESTRA LA UBICACIÓN Y LA RELACIÓN DE LAS APLICACIONES CON EL USUARIO FINAL. ................... 1

FIGURA 2 ESQUEMA DE RED QUE MUESTRA LA CONEXIÓN CON UN AMPLIO NÚMERO DE PERSONAS................................. 17

FIGURA 3 COMPARACIÓN DE LAS PLATAFORMAS SOPORTADAS POR EL .NET COMPACT FRAMEWORK 3.5 POR EDUARDO

ORTEGA DE MOVILIDAD EN MICROSOFT .................................................................................................. 25

FIGURA 4 VISTA DE SISTEMA WINDOWS MOBILE 6.0 EN SMARTPHONE ..................................................................... 28

FIGURA 5 FOTOGRAFÍA DE UN SMARTPHONE, MARCA NOKIA. EN EL SE MUESTRA LA INTERFAZ EN SU PANTALLA ................ 29

FIGURA 6 MUESTRA DE UN POCKET PC, IPACMARCA HP..................................................................................... 30

FIGURA 7 INTERFAZ DE WINDOWS MOBILE DEVICE CENTER .................................................................................. 31

FIGURA 8 INTERFAZ DEL LA APLICACIÓN CHESS MOBILE POR MICROSOFT CORPORATIVO .............................................. 31

FIGURA 9 PANTALLA DE LA APLICACIÓN DIVX ................................................................................................... 32

FIGURA 10 METODOLOGÍA ORIENTA A OBJETOS PARA EL DISEÑO Y DESARROLLO DE UNA APLICACIÓN. ............................. 36

FIGURA 11 PANTALLA PARA DEMOSTRAR LA RUTA DE UBICACIÓN DEL SOFTWARE MICROSOFT VISUAL STUDIO 2008 DESPUÉS

DE HABERSE INSTALADO ....................................................................................................................... 38

FIGURA 12 SEÑALIZACIÓN DEL MENÚ PARA CREAR NUEVO PROYECTO ...................................................................... 39

FIGURA 13 VENTANA DE CREACIÓN DEL NUEVO PROYECTO. ................................................................................... 39

FIGURA 14 AGREGAR NUEVO PROYECTO Y SEÑALIZACIÓN DE APLICACIÓN A DISPOSITIVO. PARA ESPECIFICAR QUE EL PROYECTO

SERÁ PARA UN DISPOSITIVO MÓVIL. ........................................................................................................ 40

FIGURA 15 SEÑALIZACIÓN DEL CUADRO DE HERRAMIENTAS Y DE LA VENTANA DE PROPIEDADES, DENTRO DE LA INTERFAZ

GRÁFICA DEL VISUAL STUDIO 2008 ........................................................................................................ 41

FIGURA 16 VENTANA DEL EXPLORADOR DE SOLUCIONES, TOMADA DE LA INTERFAZ DE VISUAL STUDIO 2008 .................... 42

FIGURA 17 SEÑALIZACIÓN DENTRO DEL CUADRO DE HERRAMIENTAS Y ELECCIÓN DEL CONTROL ...................................... 43

FIGURA 18 EJEMPLO TOMADO DE LA APLICACIÓN OPERACIONES CON MATRICES PARA QUE SE PUEDA OBSERVAR EL USO DEL

CONTROL ......................................................................................................................................... 43

FIGURA 19 SEÑALIZACIÓN DENTRO DEL CUADRO DE HERRAMIENTAS Y ELECCIÓN DEL CONTROL LABEL.............................. 43

FIGURA 20 EJEMPLO DE UN CONTROL LABEL DENTRO DE UN FORMULARIO, EN ESTE CASO LA ETIQUETA CORRESPONDE A LA

HERRAMIENTA DE AMPLIFICADORES ........................................................................................................ 43

FIGURA 21 SEÑALIZACIÓN DENTRO DEL CUADRO DE HERRAMIENTAS Y ELECCIÓN DEL CONTROL BUTTON .......................... 44

FIGURA 22 EJEMPLO DEL BOTÓN DENTRO DE UN FORMULARIO. ............................................................................. 44

FIGURA 23 SEÑALIZACIÓN DENTRO DEL CUADRO DE HERRAMIENTAS Y ELECCIÓN DEL CONTROL RADIOBUTTON .................. 44

FIGURA 24 EJEMPLO DE USO DE RADIOBUTTON DENTRO DE LA HERRAMIENTA MATRICES ............................................. 44

Page 236: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 222 Aplicación de software a dispositivos móviles

FIGURA 25 SEÑALIZACIÓN DENTRO DEL CUADRO DE HERRAMIENTAS Y ELECCIÓN DE LOS CONTROLES COMBOBOX Y LISTBOX; Y

SU USO DENTRO DE LA HERRAMIENTA CONVERSOR DE UNIDADES ................................................................... 45

FIGURA 26 SEÑALIZACIÓN DENTRO DEL CUADRO DE HERRAMIENTAS Y ELECCIÓN DEL CONTROL PANEL ............................. 46

FIGURA 27 USO DEL PANEL DENTRO DE UN FORMULARIO, EN ESTE EJEMPLO, SE TOMÓ EL FORMULARIO DE CIRCUITOS ........ 46

FIGURA 28 SEÑALIZACIÓN DENTRO DEL CUADRO DE HERRAMIENTAS Y ELECCIÓN DEL CONTROL MAINMENU ..................... 47

FIGURA 29 CONTROL MAINMENU DENTRO DE UNA APLICACIÓN ............................................................................ 47

FIGURA 30 SEÑALIZACIÓN DENTRO DEL CUADRO DE HERRAMIENTAS Y ELECCIÓN DEL CONTROL TABCONTROL ................... 47

FIGURA 31 TABCONTROL USADO PARA SEPARAR LOS TEMAS EN UN FORMULARIO....................................................... 47

FIGURA 32 SEÑALIZACIÓN DENTRO DEL CUADRO DE HERRAMIENTAS Y ELECCIÓN DEL CONTROL PICTUREBOX ..................... 48

FIGURA 33 USO DE PICTUREBOX DENTRO DE UN FORMULARIO .............................................................................. 48

FIGURA 34 SEÑALIZACIÓN DENTRO DEL CUADRO DE HERRAMIENTAS Y ELECCIÓN DEL CONTROL PROGRESSBAR .................. 48

FIGURA 35 FUNCIONAMIENTO DEL PROGRESBAR EN ESPERA DE EJECUTAR LA TAREA ELEGIDA ........................................ 48

FIGURA 36 CREACIÓN DEL NUEVO PROYECTO Y LAS OPCIONES IMPORTANTES A TOMAR EN CUENTA PARA ELEGIR QUE LA

PLATAFORMA DE DESARROLLO SERÁ PARA DISPOSITIVO MÓVIL, O BIEN, SMART DEVICE ....................................... 50

FIGURA 37 ELECCIÓN DE LA PLATAFORMA DESTINO Y VERSIÓN DEL COMPACT FRAMEWORK VERSIÓN 3.5, EN ÉSTE CASO LA

VERSIÓN MÁS ACTUAL DE WINDOWS MOBILE ........................................................................................... 50

FIGURA 38 FIGURA DEL EMULADOR, DONDE SE MUESTRA QUE EL FORMULARIO INCLUYE UN MAINMENU ........................ 51

FIGURA 39 VENTANA DE PROPIEDADES DENTRO DE VISUAL STUDIO 2008 ................................................................ 51

FIGURA 40 VENTANA QUE MUESTRA LAS PROPIEDADES DE EDICIÓN AL UTILIZAR EL CONTROL TABCONTROL ...................... 52

FIGURA 41 ELECCIÓN DE LA IMAGEN A INSERTAR EN UN CONTROL PICTUREBOX ......................................................... 53

FIGURA 42 PICTUREBOX DENTRO DE UNA HERRAMIENTA DE APOYO DE LA APLICACIÓN DE ICE ...................................... 54

FIGURA 43 INTERFAZ DE LA HERRAMIENTA DE CONVERSIÓN DE COMPLEJOS Y EL USO DE ETIQUETAS PARA NOMBRAR A LOS

TEXTBOX UTILIZADOS .......................................................................................................................... 56

FIGURA 44 INTERFAZ DE LA HERRAMIENTA MATRICES Y SEÑALIZACIÓN DE LOS DIFERENTES CONTROLES QUE UTILIZA ........... 58

FIGURA 45 INTERFAZ DE LA HERRAMIENTA RESISTENCIAS ...................................................................................... 63

FIGURA 46 INSERCIÓN DE PICTUREBOX DENTRO DE LA HERRAMIENTA RESISTENCIAS, LO CUAL AYUDA A LA MEJOR

COMPRENSIÓN DEL TEMA ..................................................................................................................... 64

FIGURA 47 EDICIÓN Y CONFIGURACIÓN DE ELEMENTOS DEL CONTROL COMBOBOX ..................................................... 65

FIGURA 48 INSERCIÓN DE LOS ELEMENTOS DEL COMBOBOX .................................................................................. 65

FIGURA 49 VENTANA DE PROPIEDADES PARA LA CONFIGURACIÓN DE LOS CONTROLES.................................................. 66

FIGURA 50 ORGANIZACIÓN DE LOS PANELES DENTRO DE UN FORMULARIO, ENVÍO HACIA EL FRENTE O HACIA ATRÁS SEGÚN

CONVENGA, AL MOMENTO DE MOSTRAR LA INFORMACIÓN........................................................................... 69

FIGURA 51 DISEÑO DE INTERFAZ DE LA HERRAMIENTA DE DISEÑO DE COMPUERTA RTL ................................................ 71

FIGURA 52 INSERCIÓN DE TEXTBOX PARA MOSTRAR LOS RESULTADOS UNA VEZ EJECUTADAS LAS OPERACIONES AL PULSAR EL

BOTÓN DISEÑAR ................................................................................................................................ 72

FIGURA 53 INSERCIÓN DE LOS BOTONES QUE MUESTRAN EL CIRCUITO Y OTRO QUE BORRA LOS VALORES INSERTADOS EN LOS

TEXTBOX ......................................................................................................................................... 73

FIGURA 54 MANEJO DE LO PANELES PARA ORGANIZAR LA INFORMACIÓN MOSTRADA DENTRO DE LA HERRAMIENTA ............ 74

Page 237: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 223

FIGURA 55 DISEÑO DE LA HERRAMIENTA CONVERSOR DE UNIDADES Y LA INSERCIÓN DE LOS CONTROLES COMBOBOX PARA

ELECCIÓN DE LAS UNIDADES A CONVERTIR ................................................................................................ 76

FIGURA 56 INSERCIÓN DEL BOTÓN CONVERTIR, DENTRO DE LA INTERFAZ DEL FORMULARIO .......................................... 76

FIGURA 57 COMBOBOX DESORDENADOS FIGURA 57.1 COMBOBOX ORDENADOS ....................................... 80

FIGURA 58 DISEÑO PRINCIPAL DE LA INTERFAZ DE LA APLICACIÓN DE ICE.................................................................. 82

FIGURA 59 INTERFAZ Y ORGANIZACIÓN DE LOS FORMULARIOS REALIZADOS ............................................................... 82

FIGURA 60 INTERFAZ DEL FORMULARIO DE CIRCUITOS DIGITALES ............................................................................ 83

FIGURA 61 INSERCIÓN DEL CONTROL TREEVIEW Y ORGANIZACIÓN DE LOS TEMAS PERTENECIENTES A LA MATERIA DE CIRCUITOS

DIGITALES ......................................................................................................................................... 84

FIGURA 62 ORGANIZACIÓN Y NAVEGACIÓN EN LA INFORMACIÓN MOSTRADA, REFERENTE A LA MATERIA ......................... 84

FIGURA 63 EJEMPLOS DE APOYO A LOS TEMAS MOSTRADOS EN LOS DIFERENTES FORMULARIOS, ESTE EJEMPLO CORRESPONDE

AL FORMULARIO DE CIRCUITOS DIGITALES ................................................................................................ 85

FIGURA 64 TABLAS DE VERDAD Y HOJAS DE ESPECIFICACIÓN DE ALGUNOS DISPOSITIVOS DE CIRCUITOS DIGITALES ............... 86

FIGURA 65 DEMOSTRACIÓN DEL APOYO DE LOS CONTROLES PARA SALIR O REGRESAR A LOS TEMARIOS PRINCIPALES ........... 86

FIGURA 66 INTERFAZ Y ORGANIZACIÓN DE LA HERRAMIENTAS DE APOYO PARA LA APLICACIÓN DE ICE ............................. 87

FIGURA 67 INTERFAZ FINAL DE LA HERRAMIENTA AMPLIFICADORES Y LOS CONTROLES UTILIZADOS PARA SU DISEÑO ............ 88

FIGURA 68 INTERFAZ FINAL DE LA HERRAMIENTA MATRICES Y LOS CONTROLES UTILIZADOS PARA SU DISEÑO ..................... 89

FIGURA 69 INTERFAZ FINAL DE LA HERRAMIENTA CONVERSIÓN DE BASES Y LOS CONTROLES UTILIZADOS PARA SU DISEÑO ..... 89

FIGURA 70 VENTANA DE EXPLORADOR DE SOLUCIONES ........................................................................................ 98

FIGURA 71 ELECCIÓN DE LA OPCIÓN BIBLIOTECA DE CLASES PARA CONVERTIR EL PROYECTO A BIBLIOTECA ........................ 99

FIGURA 72 SE INICIA EL DEBUG PARA COMENZAR CON LA CREACIÓN A BIBLIOTECA .................................................... 100

FIGURA 73 EXCEPCIÓN QUE MARCA LA IMPOSIBILIDAD DE EJECUTAR EL PROYECTO COMO BIBLIOTECA DE CLASES. ............. 100

FIGURA 74 UBICACIÓN DE LA BIBLIOTECA CREADA ............................................................................................. 101

FIGURA 75 IMPLEMENTACIÓN DEL FORMULARIO DESDE EL EMULADOR DE VISUAL STUDIO .......................................... 105

FIGURA 76 VENTANA DEL EMULADOR DE VISUAL STUDIO ................................................................................... 105

FIGURA 77 CREACIÓN Y DISEÑO DE LA INTERFAZ DEL CONJUNTO DE LA HERRAMIENTAS DE APOYO ................................ 108

FIGURA 78 EXPLORADOR DE SOLUCIONES QUE MUESTRA LAS BIBLIOTECAS CREADAS POR EL PROGRAMADOR ................... 109

FIGURA 79 PÁGINA EN MICROSOFT PARA DEMOSTRAR LA POSIBILIDAD DE BAJAR EL COMPACT FRAMEWORK ................... 111

FIGURA 80 PANTALLA DE DESCARGA DEL COMPACT FRAMEWORK ......................................................................... 111

FIGURA 81 COMIENZO DE LA INSTALACIÓN DEL SOFTWARE COMPACT FRAMEWORK .................................................. 112

FIGURA 82 ASISTENTE DE LA INSTALACIÓN DEL COMPACT FRAMEWORK ................................................................. 113

FIGURA 83 INSTALACIÓN PERSONALIZADA DEL COMPACT FRAMEWORK 3.5. ........................................................... 113

FIGURA 84 PANTALLAS PARA LA INSTALACIÓN DEL SOFTWARE COMPACT FRAMEWORK .............................................. 114

FIGURA 85 FINALIZACIÓN DEL ASISTENTE DE INSTALACIÓN DE ,NET COMPACT FRAMEVORK ........................................ 114

FIGURA 86 DEPURACIÓN Y GENERACIÓN DE LA APLICACIÓN ................................................................................. 115

FIGURA 87 PANTALLA DEL EMULADOR ........................................................................................................... 116

FIGURA 88 INTERFAZ DE LA HERRAMIENTA DE LA APLICACIÓN.............................................................................. 116

FIGURA 89 EMULACIÓN DE LOS DATOS Y OBTENCIÓN DE RESULTADOS, DE ACUERDO A LO PROGRAMADO EN EL BOTÓN. .... 117

Page 238: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 224 Aplicación de software a dispositivos móviles

Índice de Tablas

TABLA 1 ANÁLISIS DE COSTOS ACTUALES. ........................................................................................................ 119

Page 239: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 225

Glosario

Algoritmo

Un algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de

seguirse para resolver un problema. Un programa normalmente implementa (traduce a un

lenguaje de programación concreto) un algoritmo. Nótese que es la secuencia de instrucciones

en sí (la ejecución) la que debe ser finita, no el número de pasos realizados.

API

Una API (del inglés Application Programming Interface - Interfaz de Programación de

Aplicaciones) es el conjunto de funciones y procedimientos (o métodos si se refiere a

programación orientada a objetos) que ofrece cierta biblioteca para ser utilizado por otro software

como una capa de abstracción.

CDMA

La multiplexación por división de código, acceso múltiple por división de código o CDMA (del

inglés Code Division Multiple Access) es un término genérico para varios métodos de

multiplexación o control de acceso al medio basados en la tecnología de espectro expandido.

La traducción del inglés spread spectrum se hace con distintos adjetivos según las fuentes;

pueden emplearse indistintamente espectro ensanchado, expandido, difuso o disperso para

referirse en todos los casos al mismo concepto.

Habitualmente se emplea en comunicaciones inalámbricas (por radiofrecuencia), aunque

también puede usarse en sistemas de fibra óptica o de cable.

Código nativo

Es un seudónimo del lenguaje máquina, que es el lenguaje creado por código fuente compilado y

que puede ser interpretado por la máquina.

Controles

Page 240: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 226 Aplicación de software a dispositivos móviles

Son los objetos que conforman la interfaz grafica de un programa; a través de ellos, un usuario

interactúa con la aplicación. Sus características pueden cambiarse por medio de la ventana

propiedades

Eventos

Un evento es una acción como hacer clic, doble clic, presionar una tecla, mover el puntero del

mouse, etc. Que el usuario debe realizar para que un objeto ejecute una acción determinada

cada control responde a diferentes eventos, algunos de ellos tienen características comunes. Los

eventos pueden Visualizarse en la ventana de código.

Framework

Conjunto de APIS y herramientas destinadas a la construcción de un determinado tipo de

aplicaciones de manera generalista.

GPRS

General Packet Radio Service (GPRS) o servicio general de paquetes vía radio es una extensión

del Sistema Global para Comunicaciones Móviles (Global System for Mobile Communications o

GSM) para la transmisión de datos no conmutada (o por paquetes). Existe un servicio similar

para los teléfonos móviles que del sistema IS-136. Permite velocidades de transferencia de 56 a

114 kbps.

GSM

El Sistema Global para las Comunicaciones Móviles (GSM, proviene de "Groupe Spécial

Mobile") es un sistema estándar, completamente definido, para la comunicación mediante

teléfonos móviles que incorporan tecnología digital. Por ser digital cualquier cliente de GSM

puede conectarse a través de su teléfono con su ordenador y puede hacer, enviar y recibir

mensajes por e-mail, faxes, navegar por Internet, acceso seguro a la red informática de una

compañía (LAN/Intranet), así como utilizar otras funciones digitales de transmisión de datos,

incluyendo el Servicio de Mensajes Cortos (SMS) o mensajes de texto.

Page 241: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 227

Métodos

Son procedimientos definidos para realizar operaciones específicas sobre los objetos (Controles

o Formularios)

Módulo

Un proyecto Visual Studio no sólo está compuesto de Formularios, sino también de lo que se

denominan módulos. Un módulo es un fichero Visual Studio donde escribimos parte del código

de nuestro programa.

Kernel

Es el núcleo de todo sistema operativo, que contiene la parte central del funcionamiento y

arranque del sistema.

Objetos

Un objeto es una entidad que tiene asociado un conjunto de métodos, eventos y propiedades.

Hay muchas clases de objetos, y por tanto, puede llegar a haber tantos métodos, eventos y

propiedades distintas como objetos diferentes. Ejemplo: Una caja de texto (TextBox) en la cual

podemos escribir cualquier línea, es un objeto.

Propiedades

Son los datos que hacen referencia a un objeto o formulario. Ejemplo: Color de fondo del

formulario, Fuente de texto de un TextBox.

SDK

Conjunto de programas que usa un programador para crear una aplicación. Consta de un editor,

un constructor gráfico, un compilador y un enlazador.

WIFI

Es un sistema de envío de datos sobre redes computacionales que utiliza ondas de radio en

lugar de cables. WIFI no es una abreviatura de Wireless Fidelity, simplemente es un nombre

comercial.

Page 242: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 228 Aplicación de software a dispositivos móviles

WML

El Wireless Markup Language es un lenguaje cuyo origen es el XML (eXtensible Markup

Language). Este lenguaje se utiliza para construir las páginas que aparecen en las pantallas de

los teléfonos móviles y los asistentes personales digitales (PDA) dotados de tecnología WAP. Es

una versión reducida del lenguaje HTML que facilita la conexión a Internet de dichos dispositivos

y que además permite la visualización de páginas web en dispositivos inalámbricos que incluyan

la tecnología WAP. La visualización de la página dependerá del dispositivo que se use y de la

forma en que este interprete el código, ya que varían entre sí. WML es un metalenguaje, lo que

implica que además de usar etiquetas predefinidas se pueden crear componentes propios y tiene

ciertas similitudes con otro lenguaje de etiquetas bastante conocido, el HTML (Hypertext Markup

Language), utilizado para la creación de páginas web convencionales.

Page 243: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Aplicación de software a dispositivos móviles Página 229

Índice Alfabético

.NET, vi, vii, 16, 17, 24, 34

.NET Framework, 24, 25, 26, 27, 34, 37,

94, 98, 124, 129, 130, 131, 134, 135,

136, 137, 139, 143, 147, 148, 149,

157

Active Sync, x, 103, 127

Algoritmo, 225

API, 28, 225

CLR, 16, 25, 26, 27, 124, 130

CTS, 26

dispositivos móviles, vi, viii, ix, 1, 2, 11,

12, 18, 24, 25, 28, 32, 35, 155

Framework, vi, 16, 17, 24, 25, 32, 37, 40,

49, 50, 94, 97, 99, 104, 106, 107,

111, 113, 118, 124, 125, 126, 129,

131, 132, 135, 136, 139, 149, 226

Java, viii, 11, 24, 27, 90

Linux, 7, 9, 10, 11, 18

MSIL, 26, 124, 137, 142

Palm OS, 7, 8, 9, 10, 11

PDA, 1, 2, 7, 9, 11, 18, 20, 30, 31, 32,

228

Pocket PC, I, vi, viii, ix, x, 2, 6, 7, 18,

19, 20, 23, 28, 29, 30, 40, 49, 81,

103, 105, 106, 110, 115, 116, 118,

121, 122, 125, 126, 131

Smartphone, vii, 3, 18, 20, 28, 29, 104,

125, 126, 131

telefonía celular, 1, 3, 4, 5

Visual Studio, vi, vii, 27, 32, 33, 34, 49,

81

Windows CE, viii, ix, 7, 18, 107, 118,

125, 126, 127, 136

Windows Mobile, vi, vii, 7, 8, 9, 10, 13,

16, 18, 21, 24, 28, 29, 30, 31, 40, 49,

50, 103, 104, 107, 125, 126, 127, 132

Page 244: T E S I S - DSpace Hometesis.ipn.mx/jspui/bitstream/123456789/6781/1/DISENOIMPLEMENT.pdf · 1.2.1 Sistemas Operativos para móviles ... En el caso de teléfonos celulares, se tienen

Página 230 Aplicación de software a dispositivos móviles