clase 1: introducción - ivan...

58
Iván Bernal, Ph.D. [email protected] http http :// :// wwwfie.epn.edu.ec wwwfie.epn.edu.ec/ ibernal ibernal Escuela Politécnica Nacional Escuela Politécnica Nacional Quito – Ecuador Copyright @2002, I. Bernal Programación con Herramientas Visuales Programación con Herramientas Visuales Clase 1: Introducción Lunes, 2 de Diciembre de 2002

Upload: hoangduong

Post on 21-Jan-2019

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, [email protected]

httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito – Ecuador

Copyright @2002, I. Bernal

Programación con Herramientas VisualesProgramación con Herramientas Visuales

Clase 1: IntroducciónLunes, 2 de Diciembre de 2002

Page 2: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

22

Agenda

• Aspectos administrativos– Visión del curso

• Deberes, exámenes, proyectos, etc.• Laboratorio.

• Introducción a la Programación bajo Windows.

Page 3: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

33

Aspectos administrativos (1)

• Página web del curso:http://wwwfie.epn.edu.ec/ibernal

• Horario de clases:– Lunes 09-11h– Viernes 15-17h

• Aula: Laboratorio de Redes

Page 4: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

44

Aspectos administrativos (2)

• Horas de consulta: – Miércoles 10-12h– Jueves 11-13h

• Oficina:– E-207 ó Lab. Comunicación Digital.

• Fecha de evaluaciones (acumulativas)– Prueba 1: Lunes, 6 de Enero de 2003– Prueba 2: Lunes, 3 de Febrero de 2003– Prueba 3: Lunes, 3 de Marzo de 2003– Prueba 4: Viernes, 4 de Abril de 2003

Page 5: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

55

Aspectos administrativos (3)

• Evaluación:– Teoría (60%)

• Pruebas (20% cada una, total 40%)• Pruebas sorpresa (20%)

– Laboratorio(40%)• Deberes

– Habrán preguntas de los deberes en pruebas y exámenes.

• Trabajos• Pruebas de Material de lectura enviado.

Page 6: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

66

Aspectos administrativos (4)

• Código de Honor:1. No prestarán ó recibirán ayuda durante

pruebas y exámenes; No prestarán ó recibirán ayuda no autorizada en tareas asignadas, preparación de informes, u otro tipo de tareas utilizadas por el profesor como parte de la evaluación.

2. Contribuirán y tomarán un papel activo en buscar que otros y ellos mismos mantengan el espíritu y significado del Código de Honor.

Page 7: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

77

Aspectos administrativos (5)• Primera tarea

1. Leer el artículo respecto a William LeMessurier .• Entregar entre 10 y 15 líneas escritas a mano.• La idea principal del artículo y cómo interpretaría esa idea

principal, a la actividad que usted realiza “estudiar”. • No pido resumen del artículo, no quiero que me

mencionen los personajes del artículo, ni su historia.

2. Leer las indicaciones generales de mi página web.• Sobre el Código de Honor.• Sobre administración del tiempo.• Sobre el formato de entrega de deberes.

Page 8: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

88

Programa de la Materia (1)

1. Introducción a objetos.2. Creando y usando objetos (Proceso de

compilación).3. Revision de lo que hay de C en C++. C vs. C++. 4. Clases.5. Encapsulamiento de la implantación.6. Constructores y destructores.7. Redefiniendo funciones y argumentos con valor

predeterminado.

Page 9: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

99

Programa de la Materia (2)

8. Constantes, funciones Inline.9. Referencias y punteros - Constructor por

copia (copy constructor).10. Redefinición de operadores.11. Creación dinámica de objetos.12. Herencia simple y múltiple. 13. Polimorfismo y funciones virtuales.14. Introducción a Templates. Librería estándar.

Page 10: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

1010

Bibliografía (1)• D. Kruglinski, S. Wingo, G. Shepherd,

Programming Microsoft Visual C++, Fifth Edition,Microsoft Press, 1998.

Ø Disponible en la página web de la clase.

• D. Kruglinski, Inside Visual C++. Microsoft Press, Redmond, Washington, 4ta Edición, 1997.

• D. Kruglinski, Programación Avanzada con Visual C++. Microsoft Press, Traducción de McGrawHillde la 3ra Edición de 1995.

Ø Disponible en Español.

Page 11: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

1111

Bibliografía (2)• I. Horton, Beginning Visual C++ 6.0. WROX

Press Ltd, 1998.Ø Disponible en la página web de la clase.

• H. Schildt, Windows Programming: Annotated Archives. McGraw Hill, Berkeley, California, 1999.

• M. Blaszczak, The Revolutionary Guide to MFC 4 Programming with Visual C++. WROX Press Ltd, Canadá, 1996.

Page 12: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

1212

Bibliografía (3)• E. Kain, The MFC Answer Book. Addison Wesley,

USA, 1998.

• J. Prosise, Programming Windows with MFC .

Microsoft Press, 2da. Edición.1999.Ø Disponible en la página web de la clase.

• A. Jones and J. Ohlund, Network Programming for Microsoft Windows. Microsoft Press, Redmond, Washington, 1999.

• URLs:http://www.fintech.ru/Library/prog/SEUsingVC6/index.htm

Page 13: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

1313

Objetivos (1)• Dar un fundamento sólido de como utilizar una

herramienta de tipo visual para el desarrollo de aplicaciones en un ambiente basado en ventanas.

• Se utilizará el ambiente de ventanas de Microsoft Windows.

– Desarrollar un conocimiento sólido de programación bajo Windows.

– El curso se centra principalmente en la utilización de MFC(Microsoft Foundation Classes).

– Se introducirán otras tecnologías como COM y programación utilizando directamente el API Win32.

• Requisitos:– Un conocimiento teórico-práctico del lenguaje C++.

Page 14: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

1414

Laboratorio

• Hay 19 estudiantes registrados.– Formar grupos de 2 personas.

• Objetivos:– Reforzar los conceptos presentados en la teoría.– Reforzar los conocimientos de programación.

Page 15: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

1515

Recomendaciones (1)

1. Preguntar en clase.2. Preguntar fuera de clase.3. Leer el material luego de cada clase.

– Preguntar en clase.– Preguntar fuera de clase.

4. Leer material adicional.5. No dejar acumular las dudas y preguntas

indefinidamente.6. No estudiar solo unos pocos días antes de las

pruebas.7. Hacer de forma individual deberes.

Page 16: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

1616

Recomendaciones (2)

Preguntar

Page 17: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

1717

Introducción

• Se introduce el modelo de programación de Windows (Win32 en particular).

• Se explica como los componentes de Visual C++ colaboran para ayudar a escribir aplicaciones para Windows.

Page 18: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

1818

Procesamiento de Mensajes (1)

Page 19: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

1919

Procesamiento de Mensajes (2)

• Cuando se escriben programas para MS-DOS (similar a los escritos para al consola en POO), el requerimiento fundamental fue el proveer la función main.– Una vez que se invoca mainmain, se puede utilizar

cualquier estructura de programación.– El programa termina cuando mainmain retorna.– Si se requiere ingresar datos desde teclado, o en

general cualquier otro servicio del Sistema Operativo, se invoca una función determinada.• getchar

Page 20: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

2020

Procesamiento de Mensajes (3)

• Bajo el SO. Windows se invoca la función WinMainWinMain.

• Toda aplicación debe tener WinMainWinMain, que cumple varias tareas específicas. – Tarea mas importante: crear la ventana

principal de la aplicación.– La ventana principal debe procesar los

mensajes que Windows (el SO) le envía.

Page 21: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

2121

Procesamiento de Mensajes (4)

• Los programas para ambientes como MS-DOS usan un modelo de programación en el que los programas ejecutan de arriba hacia abajo, de forma ordenada.– El camino tomado puede variar en diferentes

ejecuciones, dependiendo de los datos de entrada y las condiciones bajo las cuales se ejecuta.

– En resumen, se puede predecir cual es el camino que tomará.

Page 22: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

2222

Procesamiento de Mensajes (5)• En un programa bajo MS-DOS es el

programa, no el SO, el que determina que se llama y cuando.– Un programa llama al SO. para ingresar datos del

usuario.

• Un programa bajo Windows procesa datos del usuario, respondiendo a mensajes enviados desde el SO.

• La mayoría de mensajes en Windows están definidos y se aplican a todas las aplicaciones.

Page 23: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

2323

Procesamiento de Mensajes (6)

• Windows utiliza un modelo de programación determinado por eventos (event driven).

• Las aplicaciones responden a eventos, procesando los mensajes enviados por el sistema operativo.

• Una vez que WinMainWinMain crea la ventana principal, entra en una lazo de mensajes (message loop).

– Recupera o lee mensajes.– Los despacha para que sean procesados en los

procedimientos de las ventanas.

Page 24: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

2424

Procesamiento de Mensajes (7)

• Los mensajes esperan en una cola de mensajes hasta que son retirados de allí.

• El lazo de lectura de mensajes termina cuando se encuentra el mensaje WM_QUIT, lo que indica que es tiempo que la aplicación termine.

–– WinMainWinMain retorna y la aplicación termina.

• In C el procedimiento (window procedure) que atiende a los mensajes se implementa con una sentencia switchswitch con casescases para cada mensaje a recibirse.

Page 25: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

2525

Procesamiento de Mensajes (8)

• El código que procesa un mensaje en particular se conoce como manipulador de mensaje (message handlermessage handler).

• Los mensajes que una aplicación no procesa (no desea modificar el comportamiento básico), se transfieren a una función del API Win32.–– DefWindowProc, DefWindowProc, provee respuestas predeterminadas

para mensajes no procesados.

Page 26: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

2626

Procesamiento de Mensajes (9)

Page 27: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

2727

Procesamiento de Mensajes (10)• WM_CREATE

– Se envía cuando una ventana se está creando.

• WM_LBUTTONDOWN– Se envía cuando el usuario presiona el botón izquierdo del

mouse.

• WM_CHAR– Se envía cuando el usuario presiona una tecla.

• WM_CLOSE– Se envía cuando el usuario cierra una ventana.

• WM_COMMAND– Se envían a la ventana apropiada en respuesta a una

selección del usuario en los menúes, y otras acciones.

Page 28: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

2828

Procesamiento de Mensajes (11)

Page 29: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

2929

Procesamiento de Mensajes (12)

• El prototipo de las funciones en el que se identifica el mensaje y los argumentos es:

Función (mensajeID, param1, param2);– Los parámetros son valores de 32 bits.– Los parámetros indican las coordenadas del

mouse o identifica la tecla presionada.

• Es posible definir mensajes de usuario, acomodados a sus necesidades.

Page 30: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

3030

Procesamiento de Mensajes (13)

• Luego se verá cómo llegan estos mensajes a una aplicación y cómo responder a ellos de acuerdos a las necesidades particulares.– MFC, la infraestrucutra que se estudiará en

este curso, se encarga de muchas detalles para facilitar la tarea del programador.

– MFC esconde los detalles de la función WinMain y el detalle de cómo manejar los mensajes.

Page 31: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

3131

GDI de Windows (1)

• Interfaz para el Dispositivo de Gráficos (Graphics Device Interface).

• Bajo MS-DOS, muchos programas escribían directamente a la memoria de vídeo y al puerto de la impresora.– El programador debía escribir drivers para las

distintas tarjetas de vídeo y para cada impresora.

Page 32: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

3232

GDI de Windows (2)• Bajo Windows se tiene una capa de abstracción

llamada GDI.• Windows es quien se encarga de de los drivers de

vídeo y para la impresora y no el programador.– En lugar de acceder al hardware, se invocan funciones del

GDI que manipulan una estructura de datos llamada device context.

– Windows se encarga de asociar este device context con un dispositivo físico, para emitir las instruccionx ces de entrada/salida.

– El usar el GDI es casi tan rápido como acceso directo al vídeo.– GDI permite el compartir entre varias aplicaciones la pantalla.

Page 33: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

3333

Programación basada en recursos (1)

• Cuando se requiere información constante para una aplicación, una opción es hacer que se lea desde un archivo.

• En Windows, durante el desarrollo de la aplicación, se almacena en una archivo de recursos que es luego compilado y enlazado para generar el ejecutable.

Page 34: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

3434

Programación basada en recursos (2)• En un archivo de recursos se puede tener

bitmaps, íconos, definiciones de los menúes, la organización de ventanas de diálogo y cadenas de carateres (texto).

• Para editar recursos se tienen editores del tipo wysiwyg (what you see is what you get)

Page 35: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

3535

Administración de Memoria

• La administración de memoria en Windows es “cada vez mas fácil”, con cada nueva versión.

• En la actualidad se reserva memoria necesaria y es Windows quien se encarga de estas tareas.

• Se revisarán técnicas de administración usadas en Win32 como memoria virtual y archivos mapeados en memoria.

Page 36: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

3636

Librerías enlazadas dinámicamente (1)

• Dll (dynamic link libraries)• Enlazado dinámico quiere decir que

librerías construidas de forma especial, pueden ser cargadas/descargadas y enlazadas durante la ejecución de un programa.

• De esta forma múltiples aplicaciones pueden compartir dlls, ahorrando memoria y espacio en el disco.

Page 37: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

3737

Librerías enlazadas dinámicamente (2)

• Las dlls incrementan la modularidad de los programas porque se puede compilar y probar las dlls por separado.

• Las dlls se diseñaron para usarse con C y para C++ se ha tenido que hacer algunos arreglos.– MFC provee el conjunto de clases de esta infraestructura en

varias dlls.– MFC puede ser enlazada en forma estática ó dinámica a

una aplicación.

Page 38: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

3838

El API Win32• Los primeros programadores para Windows

usaban C para acceder a los servicios del Win16.• En la actualidad para escribir aplicaciones de 32

bits se usa la API Win32.– Mas de 1200 funciones en Win32.– Los parámetros de las funciones de Win32 son de 32

bits.

• MFC esconde muchas de las llamadas a Win32, y las presenta a sus usuarios como llamadas usando C++..

– El programador si usará directamente el API Win32 en sus aplicaciones.

Page 39: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

3939

Componentes de Visual C++ (1)

• Visual C++ permite el desarrollo de aplicaciones para Windows usando:– C para acceder directamente el API Win32.– ATL (Active Template Library) para el desarrollo de Controles

ActiveX.– MFC: infraestructura para el desarrollo de Aplicaciones.

• Microsoft Foundation Class.• Contenida en librerías.• Se usará clases de C++ de MFC.• Se usarán herramientas de Visual C++ como la ayuda

para generar aplicaciones (AppWizard), y la ayuda para generar clases (Class Wizard).

Page 40: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

4040

Componentes de Visual C++ (2)

• Resumen del proceso de construcción para aplicaciones con Visual C++.

Page 41: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

4141

Microsoft Developer Studio (1)

• Developer Studio es un ambiente integrado de desarrollo (IDE) que es compartido por varios productos.– IDE: Integrated Development Environment.

Page 42: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

4242

Microsoft Developer Studio (2)

Page 43: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

4343

Microsoft Developer Studio (3)

• Proyecto:– Conjunto interrelacionado de archivos fuente

que se compilan y enlazan para generar un ejecutable ó dll.

– Los archivos fuente por lo general se almacenan en un directorio separado.

– El proyecto depende de muchos otros archivos y librerías, aparte de los archivos fuente generados por el usuario.• Archivos incluidos (#include).• Archivos de librerías.

Page 44: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

4444

Microsoft Developer Studio (4)• MakeFile

– Almacena opciones para el compilador y enlazador (linker).

– Expresa todas las interrelaciones entre los archivos fuente.

– Se debe indicar a Visual Studio que se desea generar el makefile.

• Programa make– Lee el makefile y luego invoca el compilador,

ensamblador, compilador de recursos, y enlazador para producir el ejecutable ó dll.

Page 45: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

4545

Microsoft Developer Studio (5)

• Project File (DSP)– Sirve para el mismo propósito que un makefile.

• Workspace file (DSW)– Es un archivo que contiene información para

cada proyecto que pertenece al espacio de trabajo.

– Es posible tener varios proyectos en un mismo espacio de trabajo.

– Para trabajar en un espacio de trabajo existente se abre el archivo DSW.

Page 46: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

4646

Microsoft Developer Studio (6)

Archivos intermedios generados por Developer Studio

Page 47: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

4747

Editores de Recursos (1)

• Un recurso se selecciona para edición una vez que se escoge la Vista de recursos(ResourceView)

• Para cada tipo de recurso existe un editor correspondiente.

• Se tiene editores wysiwygpara menúes y para ventanas de diálogo.

• En la imagen se presenta la edición de un cursor.

• El compilador de recursos lee el archivo RC (resourcescript).

Page 48: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

4848

Compilador C/C++• El compilador de Visual C++ puede procesar

código fuente tanto en C como en C++.• La selección se realiza basados en la extensión

de los archivos:– “.c” indica código en C.– “.cpp” ó “cxx” indica código en C++.

• El compilador cumple con el estándar ANSI y tiene algunas extensiones de Microsoft.

• Se tiene templates (STL), excepciones y soporte para la identificación de tipos durante la ejecución (RTTI) .

– Algunas características no están integradas directamente en MFC, pero están a disposición de ser requeridas.

Page 49: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

4949

El enlazador (linker)

• Lee archivos .OBJOBJ (compilador) y .RESRES(compilador de recursos) y accesa los archivos .LIBLIB para el código de MFC, el código de Windows y el soporte en tiempo de ejecución.

• Los archivos .h de MFC contienen las directivas adecuadas para incluir los archivos .LIB necesarios, lo que facilita la tarea del programador.

Page 50: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

5050

El depurador ó debugger (1)• El depurador ayuda a encontrar errores lógicos.• Por ejemplo, se tiene amplio soporte para la

manipulación de:– Puntos de parada.– Ejecución paso a paso.– Se puede observar el valor de variables.– Se puede observar el contenido de lo apuntado por un

puntero.– Se puede acceder a miembros de un objeto de una clase

bajo observación y de las clases bases.

• Se debe compilar la versión para depuración para generar la información necesaria.

Page 51: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

5151

El depurador ó debugger (2)

Page 52: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

5252

AppWizard

• Es un generador de código que crea un esqueleto para una aplicación para Windows.– El código generado se compila y se tiene una

aplicación que puede ejecutarse y trabaja.

• AppWizard pregunta por características, nombre de clases, nombre de archivos para en base a ello generar el código.

Page 53: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

5353

ClassWizard

• Permite la definición de nuevas clases.• Permite agregar datos miembro y

funciones miembro de una clase.– Las funciones pueden ser virtuales.– Se pueden incluir funciones para responder a un

mensaje específico recibido por la aplicación.

• Escribe los prototipos de las funciones, los cuerpos de las funciones de ser el caso.

• Escribe lo necesario para poder escribir los manejadores de mensajes.

Page 54: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

5454

Source Browser (1)• Permite examinar en donde se ha declarado una

función o dato (incluso clases) y explorar todos los lugares en donde están siendo usados.

• Permite gráficamente conocer información sobre:– Una función y otras funciones a las que llama o quienes la

invocan.– Para una clase se puede conocer las clases ya sean base o

derivadas.– En que archivo está un función, dato o clase.

• Se debe generar esta información y toma más tiempo la compilación.

Page 55: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

5555

Source Browser (2)

Page 56: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

5656

ClassView

• Presenta todas las clases del proyecto e información de cada una en forma de árbol (datos, funciones)

• Se puede hacer doble click con el mouse y ver el código fuente.

Page 57: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

5757

Editor de código fuente

• Soporta coloración de sintaxis dinámica.• Soporta “autocomplete”

– Se escribe el inicio de una sentencia y el ambiente provee una serie de posibles opciones para completarla.

– Útil sino se recuerda los miembros de una clase.– Útil sino se recuerda el nombre y los parámetros de una

función del API Win32.

Page 58: Clase 1: Introducción - Ivan Bernalclusterfie.epn.edu.ec/.../PHVisuales/CLASES_PDF/Clase_PHV1_UNA.pdf · Ø Disponible en la página web de la clase. ... – DefWindowProc, provee

Iván Bernal, Iván Bernal, Ph.DPh.D..httphttp://://wwwfie.epn.edu.ecwwwfie.epn.edu.ec//ibernalibernal

Dic. 02 Dic. 02 –– Abril 03Abril 03PHVPHV

Escuela Politécnica NacionalEscuela Politécnica NacionalQuito Quito -- EcuadorEcuador

5858

Ayuda en línea

• Basado en HTML y trabaja de forma similar al browser para el web.

• La ayuda se accesa de acuerdo a las siguientes opciones:– Por libro.– Por tópico.– Por palabra (búsqueda).– Utilizando F1 sobre la palabra acerca de la cual se

requiere información.