Home
Programación en Ambiente Windows Utilizando las Bibliotecas
Contents
1. gramas se centra alrededor de even tos generados por el usuario como clicks del rat n o presi n de teclas Tradicionalmente losprogramas dic tan la secuencia que el usuario debe seguir para lograr los prop sitos del programa sin embargo en Windows y en otras interfaces gr ficas de usua rio como Apple Macintosh u OS 2 Presentation M anager los programas le permiten al usuario decidir los pa sos requeridos para completar una tarea ver figura 1 Windows es un sistema operativo multitarea en el que los programas no son interrumpidos para ejecutar otros sino que ellos mismos se interrumpen para permitir que otros programas se puedan ejecutar El distribuidor de tareas de Windows se integra por un sistema de transmisi n de mensajes y es gracias a los mensajes que los programas pueden recibir informa ci n proveniente de los usuarios y de las funciones de la interface de usua rio Para el programador un mensaje es la notificaci n de la ocurrencia de un evento que puede necesitar de alguna acci n espec fica 1996 Programaci n en Ambiente Windows Utilizando las Bibliotecas ObjectWindows de Borland COMIENZO TOMA EL SIGUIENTE EVENTO Manejo de los Recursos de Windows Algunos de los recursos de Windo ws que pueden utilizar sus aplicacio nesson e Contextos de dispositivo e Pinceles Plumas e Fuentes o tipos e Cajas de di logo e Iconos Windows maneja una interface muy complej
2. Programaci n en Ambiente Windows Utilizando las Bibliotecas ObjectWindows de Borland Programaci n en Ambiente Windows Utilizando las Bibliotecas ObjectWindows de J os Anibal Arias Aguilar Alumno de la Maestr a del CINTEC IPN Osvaldo Espinosa Sosa Alumno de la Maestr a del CINTEC IPN s evidente que el uso del am biente Windows se ha conver tido en un est ndar para el usuario de computadoras per sonales Es por esto que se hace cada vez m s necesario aprender a pro gramar aplicaciones que funcionen bajo este ambiente Existen dos tipos de programaci n para Windows pro gramaci n est ndar y programaci n en base a objetos Cuando se progra ma en base a objetos la mejor alter nativa consiste en utilizar las bibliote cas OWL ObjectWindows Library que proporciona el compilador de Borland En el presente art culo se pretende mostrar el mecanismo b si co de una aplicaci n de este tipo implementando el popular juego Te tris La Programaci n Orientada a Objetos POO La POO es una nueva forma de enfocar el trabajo de la programa ci n Toma las mejores ideas de la programaci n estructurada y las com bina con nuevos conceptos que alien tan una visi n diferente de la tarea de la programaci n La POO permite descomponer un problema en subgru pos de partes relacionadas As se pueden traducir estos subgrupos en unidades autocontenidas llamadas ob jetos 40 Borland C es
3. a La interacci n entre las aplicaciones del usuario y Windows se efect a mediante un grupo de m s de 500 llamadas a funci n que en con junto se denomina API A pplication Program Interface interface de pro gramas de aplicaci n Al plantear el uso del lenguaje C se producen pro gramas Windows legibles de dif cil mantenimiento y depuraci n Hay otras reas que ofrecen dificultades especiales a los dise adores de apli caciones como son el uso de la me moria las bibliotecas de enlace din VIII 1 17 TRANSMITE INFORMACI N DEL EVENTO Figura 1 Programa manejado por eventos mico DLL programas de interface con m ltiples documentos MDI as como fuentes e impresoras Borland vino en ayuda del progra mador Windows C mediante un nuevo marco de aplicaciones denomi nado Biblioteca ObjectWindows OWL OWL ser a a una aplicaci n Windows lo que TurboVision esa una aplicaci n DOS Con ayuda de la OWL se facilita considerablemente el proceso de escribir los programas Windows y se evita que aparezcan diversos detalles de bajo nivel en el c digo de aplicaciones Anatom a de una Aplicaci n OWL Es necesario que todo programa escrito con ayuda de OWL soporte al menos dos clases de objetos un obje to de aplicaci n y un objeto de venta na La aplicaci n es un marco de trabajo complejo encargado de admi nistrar todos los objetos del progra ma entre otros men s ventanas des
4. arecer y permitir seguir jugando en caso de llenar el rea al tope el juego finaliza Es por esto que en la clase TetrisWindow se incluyen funciones para las siguientes activida des dibujar la figura actual dibujar el ambiente de juego establecer la pun tuaci n desplazar la figura actual comprobar el momento en que una pieza ya no pude descender posicio namiento de la pieza y detecci n de l nea completa principalmente El jue go basa su operaci n en simular en pantalla lo que ocurre en una matriz m x n en donde una localidad vac a contiene un cero y una llena contiene un valor de uno lo que facilita el hecho de revisi n del estado del jue go y permite realizar el proceso de detecci n de l mites y topes para los desplazamientos de las figuras El proceso de dibujar una nueva figura consiste en copiar una imagen polibits que se ha representado en forma de una matriz y que se selecciona alea toriamente en base a la funci n rand del lenguaje C El n mero de figuras es f cilmente ampliado con m nimas modificaciones al listado del progra ma Para simular el movimiento de una figura en el ambiente gr fico utiliza mos las funciones getimage y putima ge En ambiente Windows se utiliza la funci n BitBlt para lograr lo mismo que las dos anteriores para mostrar su uso en el programa despu s del uso de BitBltseponecomo comenta rio la forma en que se utilizar a geti mage y putimage ilustrando la sim
5. cendientes y cajas de di logo La parte medular de toda aplicaci n OWL polibits essu programa principal El siguiente listado es el programa principal de la aplicaci n descrita en este art culo include lt owl h gt int OwlMain int char TetrisApp App return App Run TetrisApp la principal clase de aplicaci n que tiene a su cargo el control de todas las ventanas las cajas de di logo y otros objetos de la aplica ci n Todo programa OWL debe cons truirse con base en una clase de apli caci n derivada de la clase TApplica tion que es utilizada por todas las aplicaciones Windows para iniciali zar crear la ventana principal y pedir al sistema que le env e mensajes El programa de aplicaci n interact a con el proceso de inicializaci n a tra v s de la funci n TetrisApp InitMainWindow que a su vez crea la instancia de una ventana de usuario asignada din mi camente Con la ayuda de TWindow el programa soporta las caracter sticas b sicas de ventana registro despla zamiento y modificaciones de tama o Los procedimientos de ventana son funciones contenidas en los obje tos de la ventana de base T etrisW in dow T ales procedimientos son utiliza dos como respuesta a los mensajes de Windows El manejo de las cajas de di logo es un procedimiento que consta de dos pasos primero se usa el progra ma Resource Workshop para crear la ventana de di logo y todos sus controles desp
6. ili tud El uso de esta funci n solo requie re entender lo que se denomina un contexto en la programaci n para ambiente Windows podemos decir simplemente que es el medio en el cual y para el cual se realiza un proceso en este caso tenemos losdos principales que son la memoria de trabajo y el despliegue Por ltimo mencionaremos que la compilaci n del programa se realiza tomando en cuenta al menos tres archivos el archivo fuente con exten si n CPP el archivo de recursos con extensi n RC y un archivo de defini ciones con extensi n DEF los cuales se engloban en el archivo de proyecto con extensi n IDE La figura 2 muestra el aspecto visual del programa Conclusiones Uno de los aspectos m s impor tantes que debe tener en cuenta el programador al utilizar programa ci n orientada a objetos usando OWL es que se requieren mayores recursos de c mputo para compilar los pro gramas que con la programaci n tra dicional esto debido a que se busca 1996 Programaci n en Ambiente Windows Utilizando las Bibliotecas ObjectWindows de Borland gt Tetris Control Opciones Ayuda Olor 717 0 puntos 300 record ACERCA DE Tetris para Windows Alumnos Anibal y Osvaldo Profesores Samuel y Eduardo Concepto y dise o original A Pajitnov y Y Gerasimov informaci n en muchas bibliotecas y el trabajo de c mputo es intenso aunque al p
7. rogramador le resulte m s f cil escribir programas bajo este esquema ya que con pocas l neas de c digo fuente es posible crear venta nas vistosas Un hecho indiscutible es el siguien te el programa ejecutable producido por compilar usando O WL es bastan te m s grande en tama o que el que provee la programaci n tradicional VIII 1 17 CAPS NUM OVR Figura 2 Aspecto visual del programa es f cil deducir que se incluyen com ponentes muchas veces redundantes de c digo no optimizado Es respon sabilidad del programador elegir la ruta m s conveniente para crear sus aplicaciones teniendo como base el panorama anterior Finalmente el c digo correspon diente de este ejemplo se encuentra disponible en el CINTEC para cual quier persona que lo requiera polibits 1 2 31 Bibliograf a Nabajyoti Barkakati C Pro grammer s guide with Bor land C 4 0 EditorialSAMS Herbert Schildt Turbo C Manual del usuario Editorial McGraw Hill Borland Object WindowsL i brary Reference Editorial Borland 43
8. so tanto en la clase TetrisWindow como en la tabla de respuestas la raz n de hacerlo obe dece a que el juego debe tener la misma velocidad aparente al ejecutar el programa en computadoras con diferente frecuencia de operaci n del microprocesador Cuando sehace esto en ambiente DOS simplemente se usan funciones de retardo en un bucle de procesamiento En windows esto no es posible porque al generarse un bucle se interrumpe la b squeda de los mensajes propios del ambiente 42 Windows y si el bucle es infinito se pierde totalmente el control del siste ma hasta que se destruye el bucle y se finaliza la funci n que se estaba pro cesado Es por lo anterior que el proceso de mover las piezas en forma descendente se hace a trav s de una funci n que se llama constantemente a intervalos definidos de tiempo Para lograr el prop sito se define una funci n EvT mer que es la encargada de controlar la velocidad de procesa miento del juego y que tiene acceso directo al temporizador Tambi n se ha definido en las clases una funci n EvKeydown que detecta el mensaje generado por la opresi n de una tecla y que permitir detectar la funci n que el usuario desea que se realice en el momento a saber permitir rotar desplazar a la izquierda o derecha una figura o bien suspender moment neamente el jue go El juego Tetris se basa en ordenar figuras que van descendiendo en un rea determinada y completar l neas para desap
9. u s se escribe una cla se derivada de TDialog para manejar los comandos de di logo y los contro les 41 Programaci n en Ambiente Windows Utilizando las Bibliotecas ObjectWindows de Borland Descripci n de la forma en que la Aplicaci n O pera Bajo Windows Como ya se mencion anterior mente la apariencia de la ventana est determinada por las funciones miembro de la clase derivada de la clase Tapplication y el manejo e interpretaci n de los recursos y el procesamiento de las funciones que entregan el resultado de la aplicaci n en s est n determinadas por las fun ciones miembro de la clase derivada de la clase Twindow o cualquiera de la opciones disponibles En esta secci n del art culo se describir la forma de utilizar a la clase derivada de TWindow para implementar un juego el ya conocido Tetris Comenzaremos por mencio nar que las funciones propias del juego se incluyen como funciones publicas de TetrisWindow clase de rivada de TWindow esta clase con tiene adem s funciones para el pro cesamiento de eventos como lo son el temporizador de Windows el presio nar una tecla el utilizar opciones de los men s etc y que a su vez est relacionada con una tabla de defini ci n de respuestas que ligar los co mandos con las definiciones de fun ci n del archivo de recursos Cabe mencionar que este tipo de aplicaci n debe hacer uso del tempo rizador de windows por lo que est declarado su u
10. una versi n expandida de C Mantiene su eficiencia flexibilidad y filosof a a adiendo al mismo tiempo soporte para la POO objetos poli morfismo y herencia Objetos Una clase es una enti dad l gica que contiene datos y un c digo que manipula esos datos Dentro de una clase parte de ese c digo o datos pueden ser exclusi vos de la clase e inaccesibles fuera de ella a esto se le denomina en capsulaci n dedatos Losobjetosse obtienen a partir de la definici n de una variable del tipo clase y esto se conoce como instanciaci n de clases Polimorfismo El polimorfismo describe la capacidad del c digo para comportarse de diferentes maneras dependiendo de los tipos de datos que se est n tratando Herencia Laherenciaesel pro ceso por el cual una clase puede adquirir las propiedades de otra Esto es importante porque soporta el concepto de clasificaci n Si se considera la mayor a del conoci miento se hace manejable por me dio de clasificaciones jer rquicas Windows Para el usuario corriente Micro softWindowses una extensi n gr fica del sistema operativo MS DOS Win polibits dows extiende al DOS de diversas maneras puede soportar m ltiples programas concurrentes maneja gr ficas de alto nivel y proporciona una interface est ndar de comunicaci n con los programas Los programas que corren bajo esta plataforma son manejados por eventos es decir la estructura y operaci n de estos pro
Download Pdf Manuals
Related Search
Related Contents
MaxxAir BF24TFORGPRO Use and Care Manual p17689d-fra - Great Plains Manufacturing アイスツール 取扱説明書 kapitel 4 - installationsanweisungen CasaTherm® S1800 Gold Libretto uso e manutenzione Manual de Utilização Aplicação do Cartão de Cidadão User Manual - CEO Knowledge Center Samsung FE-R300SX Manuel de l'utilisateur Copyright © All rights reserved.
Failed to retrieve file