You are on page 1of 144

Lenguaje de Programacin II

Est gua de estudios esta dirigida a los estudiantes del cuarto ciclo de Ingeniera Electrnica y el quinto ciclo de Ingeniera Mecnica, el mismo que se desarrollar en 17 semanas segn se expresa en el Silabo correspondiente

!on esta gua se pretende contribuir en sembrar una semilla del conocimiento para cosec"ar la inteligencia de la esperan#a

$ni%ersidad &acional 'San (uis )on#aga* de Ica +acultad de Ingeniera Mecnica y El,ctrica Escuela de Ingeniera Electrnica

IVEE

Manual Tutorial
CLASE 1
TEORIA DE OBJETOS

1. Que es la Progra a!i"n Orienta#a a O$%etos &


(a -.. es una nue%a /iloso/a de programacin que se basa en la utili#acin de ob0etos El ob0eti%o de la -.. no es sino la meta de cualquier modelo de programacin estructurada con%encional1 2imponer2 una serie de normas de desarrollo que aseguren y /aciliten la mantenibilidad y reusabilidad del cdigo (os mecanismos bsicos de la -.. son1 ob0etos, mensa0es, m,todos y clases O$%etos $n ob0eto es una entidad que tiene unos atributos particulares 3datos4 y unas /ormas de operar sobre ellos 3los m,todos o /unciones miembro4 Es decir, un ob0eto incluye, por una parte una serie de operaciones que de/inen su comportamiento, y una serie de %ariables manipuladas por esas /unciones que de/inen su estado -or e0emplo, una %entana 5indo6s contendr operaciones como 2maximi#ar2 y %ariables como 2anc"o2 y 2alto2 de la %entana Mensa%es En !77, un mensa0e se corresponde con el nombre de uno de los m,todos de un ob0eto !uando se pasa un mensa0e a un ob0eto, este responde e0ecutando el cdigo de la /uncin asociada M'to#o $n m,todo 3/uncin miembro4 se implementa dentro de un ob0eto y determina como tiene que actuar el ob0eto cuando se produce el mensa0e asociado En !77 un m,todo se corresponde con la de/inicin de la /uncin miembro del ob0eto (a estructura ms interna de un ob0eto est oculta, de tal manera que la nica conexin con el exterior son los mensa0es Clases $na clase es la de/inicin de un tipo de ob0etos 8e esta manera, una clase 2Empleado2 representara todos los empleados de una empresa, mientras que un ob0eto de esa clase 3tambi,n denominado instancia4 representara a uno de esos empleados en particular (as principales caractersticas de la -.. son1 abstraccin, encapsulamiento, "erencia y polimor/ismo1 A$stra!!i"n Es el mecanismo de dise9o en la -.. &os permite extraer de un con0unto de entidades datos y comportamientos comunes para almacenarlos en clases En!a(sula iento Mediante esta t,cnica conseguiremos que cada clase sea una ca0a negra, de tal manera que los ob0etos de esa clase

Lenguaje de Programacin II

se puedan manipular como unidades bsicas (os detalles de la implementacin se encuentran dentro de la clase, mientras que desde el exterior, un ob0eto ser simplemente una entidad que responde a una serie de mensa0es pblicos 3tambi,n denominados inter/a# de la clase4 )eren!ia Es el mecanismo que nos permite crear clases deri%adas 3especiali#acin4 a partir de clases bases 3generali#acin4 Es decir, podramos tener la clase 2Empleado2 3clase base4 y la clase 2:endedor2 deri%ando de la anterior $na librera de clases 3como la M+!4 no es ms que un con0unto de de/iniciones de clases interconectadas por mltiples relaciones de "erencia Poli or*is o Esta caracterstica nos permite disponer de mltiples implementaciones de un mismo m,todo de clase, dependiendo de la clase en la que se realice Es decir, podemos acceder a una %ariedad de m,todos distintos 3con el mismo nombre4 mediante el mismo mecanismo de acceso En !77 el polimor/ismo se consigue mediante la de/inicin de clases deri%adas, /unciones %irtuales y el uso de punteros a ob0etos

.tros dos conceptos muy importantes en la -.. son relati%os a la creacin y destruccin de ob0etos En lengua0es estructurados con%encionales, cuando se de/ine una %ariable se le reser%a espacio en memoria y, si no se iniciali#a expresamente, se "ace por de/ecto 3por e0emplo, en ! una %ariable global siempre se iniciali#a a ;, pero una automtica no, por lo que si no se iniciali#a expresamente su contenido inicial ser basura4< por otra parte, cuando se destruye una %ariable 3por que se abandona el mbito de su de/inicin = scope =4 se libera la memoria que estaba ocupando Si a"ora "acemos el paralelismo obligado entre %ariables y ob0etos para los lengua0es -.. nos daremos cuenta de que deben existir procedimientos especiales de construccin y destruccin de ob0etos En concreto, cada clase tiene dos /unciones miembro especiales denominadas constructor y destructor

Constru!tor => +uncin miembro que es automticamente in%ocada cada %e# que se de/ine un ob0eto, su ob0eti%o es la iniciali#acin del mismo ?oma el mismo nombre que la clase, puede recibir parmetros y podemos tener %arios constructores de/inidos Destru!tor => +uncin miembro in%ocada automticamente cada %e# que se destruye un ob0eto Su ob0eti%o es reali#ar operaciones como liberacin de memoria, cerrar /ic"eros abiertos, etc ?oma el mismo nombre de la clase comen#ado primero por el carcter 2@2, no toma parmetros y no admite la sobrecarga 3slo puede existir uno en cada clase4

En muc"os casos, para las clases ms sencillas, podemos encontrar clases que no tienen constructor o destructor, ninguno de los dos En !77, siempre existen

constructores y destructores iniciali#acinAliberacin estndar

por

de/ecto

que

reali#an

una

+.

El

o#elo #e (rogra a!i"n ,in#o-s

El modelo de programacin propuesto por 5indo6s es totalmente di/erente al modelo de e0ecucin secuencial de 8.S Bl ser 5indo6s un entorno multitarea los programas tienen que estar preparados para compartir los recursos de la computadora 3procesador, memoria, teclado, ratn C4 Esto supone que 5indo6s "a de disponer de m,todos que permitan suspender tareas para acti%ar otras en /uncin de las circunstancias del momento 3por e0emplo, por accin del usuario4 -ero por parte de las aplicaciones, este "ec"o supone que "an de cooperar en la comparticin de esos recursos (as aplicaciones 5indo6s se limitan a 2esperar2 mensa0es procedentes del sistema, procesarlos y %ol%er al estado de espera Este modelo de programacin se conoce como 2orientado al e%ento2 Mensa%e Es una noti/icacin a la aplicacin de que "a ocurrido algo de inter,s y que por lo tanto debe de reali#arse alguna accin espec/ica El origen del mensa0e puede ser el usuario 3"aciendo clicD con el ratn dentro e una %entana4, la propia aplicacin 3mandndose un mensa0e a si misma4 o 5indo6s 3pidiendo, por e0emplo, que se repinte la %entana tras ocultarse otra que tu%iese delante4 8ado que la unidad mnima de e0ecucin en 5indo6s es una %entana, los mensa0es %an realmente dirigidos a ellas Ventana . (ro!e#i iento #e /entana En 5indo6s, una aplicacin se representa /sicamente por su %entana principal 3aunque despu,s pueda desplegar di%ersas %entanas "i0as4 !ada una de esas %entanas dispone de una serie de propiedades y un cdigo asociado 3lo que concuerda con el principio de la -.., en el concepto de ob0eto4 Bl cdigo asociado a cada %entana se le denomina procedimiento de %entana Es una /uncin que recibe los mensa0es, los procesa y de%uel%e el control a 5indo6s para quedar en espera .tra de las caractersticas espec/icas de 5indo6s /rente a 8.S es el uso de recursos por parte de las aplicaciones, como son iconos, mens, mapas de bits, cursores, plantillas de dilogos, etc (as aplicaciones 5indo6s disponen por tanto de recursos 3gr/icos generalmente4 propios almacenados en lo que se llama el /ic"ero de recursos4 El proceso de construccin de programas en 5indo6s incorpora una /ase adicional al compilado y enla#ado de los mdulos ob0eto y las libreras Eay un proceso /inal de compilacin y de enla#ado 3bind4 del /ic"ero de recursos

0.

Posi$ili#a#es #e (rogra a!i"n

!uando se crea un nue%o proyecto 3desde la opcin '&ue%o* del men '+ic"ero* aparece un dilogo que nos permite especi/icar que se cree un nue%o 6orDspace4, lo primero que solicita el sistema es determinar el tipo de ob0eti%o que se persigue con este proyecto 8estacar las siguientes posibilidades1 Bplicacin 3 EFE4 basada en la M+! 3M+! Bpp5i#ard4

Lenguaje de Programacin II

(ibrera de enlace dinmico 3 8((4 basada en la M+! 3M+! Bpp5i#ard4 Bplicacin 3 EFE4 estndar para 5indo6s 3basada en el S8G4 (ibrera de enlace dinmico 3 8((4 3basada en el S8G4 Bplicacin 3 EFE4 modelo 8.S 3!onsole application4 (ibrera esttica 3 (IH4

!omo ya "emos destacado anteriormente, el ob0eti%o del presente curso es el mane0o de la librera M+!, por lo que nos centraremos bsicamente en el primer punto 3la construccin de una 8(( con M+! es totalmente similar4

EL 1E2ERADOR DE APLICACIO2ES.
Ia sabemos que :isual !77, apoyado en la potencia de la M+!, es capa# de con%ertirse en un generador de aplicaciones -ara ello dispone de dos "erramientas integradas complementarias1 A((,i3ar#, que es el generador de aplicaciones propiamente dic"o !on ,l podremos generar esqueletos de programas para 5indo6s basados en la M+! Class,i3ar#, "erramienta de mantenimiento de los programas generados con la anterior -ermite a9adir o eliminar clases, modi/icar los comportamientos de las mismas, etc -ero el cdigo generado mediante este m,todo presenta una comple0idad a9adida a la natural de cualquier programa< 0unto con el cdigo !A!77 y el de la M+! aparecen lneas 3generalmente entre comentarios4 que son totalmente necesarias para el /uncionamiento de las dos "erramientas anteriores, modi/icar cualquiera de esas lneas de cdigo dar muc"os problemas a la "ora de utili#ar !lass5i#ard para modi/icarlo 8e todas maneras, este 'de/ecto* es bastante popular entre los usuarios de cualquier generador de cdigo, para cualquier lengua0e El /ormato general de los proyectos generados con estas "erramientas suele tener las siguientes caractersticas1 !ada clase de nuestro programa dispondr de dos /ic"eros1 $n /ic"ero de cabecera 3extensiones " o "pp4 y un /ic"ero de implementacin 3 cpp4 El /ic"ero de cabecera contiene la de/inicin de la clase 3de/iniciones de sus miembros datos y /unciones = los mensa0es =4, mientras que el /ic"ero /uente contiene la implementacin de esas /unciones miembro 3los m,todos de la clase4 $n /ic"ero de recursos 3extensin opcional rc4, aunque ,ste es

Mdulos ob0etos 3 ob04 y libreras estticas 3 lib4 necesarias para crear nuestro programa

Re*eren!ia #e la ,e$ Site "ttp1AA0ungla dit upm esA@0srAoopAc77A "ttp1AA0ungla dit upm esA@0srAoopAc77Asld;;1 "tm

Lenguaje de Programacin II

$ni%ersidad &acional 'San (uis )on#aga* de Ica +acultad de Ingeniera Mecnica y El,ctrica Escuela de Ingeniera Electrnica

IVEE

CLASE +

VE2TA2A DE DIALO1O Q4E I21RESA 2OMBRE DEL 4S4ARIO 5 CLAVE 8esarrollar una aplicacin que permita crear una %entana basada en dilogo, donde se tenga que ingresar un nombre de usuario y su cla%e El siguiente e0ercicio tendr el nombre Bpp;J KK+ileA&e6AM+! Bpp5i#ard3exe4A-royect &ameLBpp;JA (ocation L 81MI:EEMBpp;JA.D>>

KKStep1L8ialog HasedA&ext>> KKStepNLO8 controlsABcti%eF controlsA&ext>> KKStepOLM+! StandardAIes -leaceABs a s"ared 8((A&ext>> KKStepPL+inis"A.D>> Seleccione los controles creados por el asistente y eliminelos $bique los controles indicados1 N etiquetas N ca0as de texto 1 !ontrol picture

Modi/ique la posicin de los controles "asta que su aplicacin tenga la apariencia que se muestra en la %entana siguiente1

Control I88QB--;JQ8IB(.) I8!QS?B?I! I8!QH$??.&1 I8!QE8I?1

Pro(ie#a#es I8 I8 I8 I8

Valor Seguridad del sistema Static Hutton1 Edit

!omo Importar una Imagen -ara poder insertar el icono llamado 'SEC4R67.i!o*, se proceder de la siguiente manera1 Eacer cliD derec"o sobre la carpeta Icon !lic en Import

$bicar la carpeta BMP en la siguiente ruta !1M:!R;, seleccionar el icono indicado y dar clic en Import El paso siguiente cosiste en cambiar las propiedades de los controles indicados para esto seleccione el control !lic derec"o sobre el men contextual, eli0a la opcin Pro(erties tal como se muestra a continuacin

Lenguaje de Programacin II

Control I88QB--;JQ8IB(.) I8!QS?B?I! I8!QS?B?I!314 I8!QE8I?1 I8!QE8I?N I8!QH$??.&1 I8!QH$??.&N I8!QS?B?I! 3picture4

Pro(ie#a#es !aption !aption !aption I8 I8 -ass6ord I8 !aption I8 !aption I8 ?ype Image

Valor Seguridad del sistema $suario !la%e I8!Q$S$BSI. I8!Q!(B:E true I8!QB!E-?BS TBceptar I8!Q!B&!E(BS T!ancelar I8!QS?B?I! Icon I8IQI!.&1

$na %e# terminada la /ase de dise9o, e0ecute la aplicacin, obtendr la siguiente %entana

!omo agregar cdigo a la aplicacin1 Eacer clic derec"o sobre el botn Bceptar y del men contextual seleccione !lass5i#ard

8e la %entana M+! !lass5i#ard Seleccione la pesta9a Member :ariable, seleccione el ob0eto I8!Q$S$BSI., seguidamente "aga clic en el botn Bdd %ariable, reali#ar los cambios obser%ados en la siguiente %entana

8e la %entana M+! !lass5i#ard seleccione la presta9a Message Maps, asegrese que est, seleccionado el .b0ect I8!QB!E-?BS, a continuacin seleccione del cuadro de lista Messages, el mensa0e denominado H&Q!(I!GE8 luego d, un clic en el botn Bdd +unctionC

10

Lenguaje de Programacin II

Se presenta la siguiente %entana

8ar un clic en el botn .D, a continuacin "acer clic en el botn Edit !lde (uego escriba la siguiente codi/icacin1 :oid !Bpp;J8lg11Inaceptar34 U $pdate8ata3?S$E4 < Set5indo6?ext3*$suario1 * 7 mQ$suario4<4 V +inalmente e0ecute la aplicacin, al escribir en la ca0a de texto de usuario y dar clic en Bceptar obser%ar que la barra de ttulo cambia y a"ora muestra un mensa0e que indique el $suario y el nombre ingresado

11

12

Lenguaje de Programacin II

$ni%ersidad &acional 'San (uis )on#aga* de Ica +acultad de Ingeniera Mecnica y El,ctrica Escuela de Ingeniera Electrnica

IVEE

CLASE 0

VE2TA2A DE DIALO1O Q4E I21RESA 2OMBRE DEL 4S4ARIO 5 CLAVE ACTIVA2DO 5 DESACTIVA2DO EL BOTO2 DE COMA2DO ACEPTAR 8esarrollar este e0ercicio con las mismas caractersticas del e0ercicio que se reali# anteriormente Esta %e# se "abilitar el botn de comando aceptar al ingresar texto en ambas ca0as de texto El siguiente e0ercicio tendr el nombre Bpp;R KK+ileA&e6AM+! Bpp5i#ard3exe4A-royect &ameLBpp;JA (ocation L 81MI:EEMBpp;RA.D>>

KKStep1L8ialog HasedA&ext>> KKStepNLO8 controlsABcti%eF controlsA&ext>> KKStepOLM+! StandardAIes -leaceABs a s"ared 8((A&ext>> KKStepPL+inis"A.D>> Seleccione los controles creados por el asistente y elimnelos $bique los controles indicados, como el que se indica en el gr/ico1 N etiquetas N ca0as de texto 1 !ontrol picture

13

&o ol%idar de importar el cono llamado SE!$S;W I!. O$%eto : 8ilogo Etiqueta1 EtiquetaN !0a ?exto !0a ?exto H !omand1 Control I88QB--;RQ8IB(.) I8!QS?B?I! I8!QS?B?I!314 I8!QE8I?1 I8!QE8I?N I8!QH$??.&1 Pro(ie#a#es !aption !aption !aption I8 I8 -ass6ord I8 !aption 8e/ault button 8isabled I8 !aption I8 ?ype Image Valor Seguridad del sistema $suario !la%e I8!Q$S$BSI. I8!Q!(B:E true I8!QB!E-?BS TBceptar !"ecD !"ecD I8!Q!B&!E(BS T!ancelar I8!QS?B?I! Icon I8IQI!.&1

H !omandN )r/ico

I8!QH$??.&N I8!QS?B?I! 3picture4

Co o I (ortar una I agen -ara poder insertar el icono llamado ' SEC4RL.i!o*, se proceder de la siguiente manera1 Eacer cliD derec"o sobre la carpeta Icon !lic en Import

14

Lenguaje de Programacin II

$bicar la el icono 'SE!$S( I!.*, buscarlo con el explorador e indicarle la ruta correspondiente, seleccionar el icono indicado y dar clic en Import Para i (ortar el I!ono8 El paso siguiente consiste en cambiar las propiedades de los controles del ob0eto gr/ico indicado, para esto seleccione el control con el !lic derec"o sobre el men contextual, eli0a la opcin Pro(erties tal como se muestra a continuacin

$na %e# terminada la /ase de dise9o, e0ecute la aplicacin, obtendr la siguiente %entana

!on el clic derec"o sobre la ca0a de texto $suario y del men contextual seleccione !lass5i#ard 3ctrl 754

15

8e la %entana M+! !lass5i#ard seleccione la pesta9a Members :ariables, asegrese que este seleccionado el .b0ect I8!Q$S$BSI. clic en el botn A## /aria$le.. asignarle el nombre mQ$suario de tipo !String de la misma /orma "ace lo mismo para el ob0ect I8!Q!(B:E el nombre de la %ariable mQ!la%e y el ob0ect I8!QB!-?BS el nombre de la %ariable miembro mQBceptar 8e tipo !ontrol !Hutton, /inalmente clic en el notn O9

$na %e# de/inida la :ariable miembro "acer clic sobre la ca0a de texto de usuario 3IDC:4S4ARIO4, se presentar la siguiente pantalla clic en el botn O9

16

Lenguaje de Programacin II

B"ora escriba la siguiente codi/icacin /oi# !Bpp;R8lg11.n!"ange$suario34 U AA ?.8.1 I/ t"is is a SI!EE8I? control, t"e control 6ill not AA send t"is noti/ication unless you o%erride t"e AA!8ialog11.nInit8ialog34 AA /unction and call !Sic"Edit!trl34 SetE%entMasD34 AA 6it" t"e E&MQ!EB&)E /lag .Sed into t"e masD AA ?.8.1 Bdd your control noti/ication "andler code "ere $pdate8ata3?S$E4< i/ 3mQ$suario IsEmpty34 XX mQ!la%e IsEmpty344 mQBceptar Enable5indo63/alse4< else mQBceptar Enable5indo63true4< V !omo en el caso anterior a"ora "acemos doble clic sobre la ca0a de texto !la%e 3I8!Q!(B:E4 y Escribir la siguiente codi/icacin /oi# !Bpp;R8lg11.n!"ange!la%e34 U AA ?.8.1 I/ t"is is a SI!EE8I? control, t"e control 6ill not AA send t"is noti/ication unless you o%erride t"e AA!8ialog11.nInit8ialog34 AA /unction and call !Sic"Edit!trl34 SetE%entMasD34 AA 6it" t"e E&MQ!EB&)E /lag .Sed into t"e masD AA ?.8.1 Bdd your control noti/ication "andler code "ere $pdate8ata3?S$E4< i/ 3mQ$suario IsEmpty34 XX mQ!la%e IsEmpty344 mQBceptar Enable5indo63/alse4< else mQBceptar Enable5indo63true4< V Bl e0ecutar la aplicacin obtendr la siguiente imagen

17

Bl ingresar el nombre del usuario y la cla%e respecti%a, obser%ar como se "abilita el botn Bceptar1 Bl e0ecutar la aplicacin se obser%a de la siguiente manera1 34

TAREA8 ;14 !ombinar la apliacin ;J y ;R para e/ectos demostrati%os

( ): Vea.Visual C++. Carrasco Muoz oel !". #$% &'(. 115

18

Lenguaje de Programacin II

$ni%ersidad &acional 'San (uis )on#aga* de Ica +acultad de Ingeniera Mecnica y El,ctrica Escuela de Ingeniera Electrnica

CLASE 6; 4SO DE VARIABLES . <42CIO2ES DE MEMORIA


8esarrollar una aplicacin basada en dilogo utili#ando el M+! Bpp5i#ard que pida el ingreso de cuatro notas y que calcule el promedio de las O notas ms altas 8eber guardar la aplicacin con el nombre de Bpp;7 KK+ileA&e6AM+! Bpp5i#ard3exe4A-royect &ameLBpp;7A (ocation L !1MI:EEMBpp;7A.D>>

SeguidamenteC KKStep1L8ialog HasedA&ext>> KKStepNLO8 controlsABcti%eF controlsA&ext>> KKStepOLM+! StandardAIes -leaceABs a s"ared 8((A&ext>> KKStepPL+inis"A.D>> Seleccione los controles creados por el asistente y eliminelos $bique los controles indicados1 J etiquetas J ca0as de texto O Hotones de comandos

19

Control I88QB--;7Q8IB(.) I8!QS?B?I! I8!QS?B?I! I8!QS?B?I! I8!QS?B?I! I8!QS?B?I! I8!QE8I?1 I8!QE8I?N I8!QE8I?O I8!QE8I?P I8!QE8I?J I8!QH$??.&1 I8!QH$??.&N I8!QH$??.&O 3N4 3O4 3P4 3J4

Pro(ie#a#es !aption !aption !aption !aption !aption !aption I8 &umber I8 &umber I8 &umber I8 &umber I8 Sead=only I8 !aption I8 !aption I8 !aption

Valor Sistema de &otas &ota 1 &ota N &ota O &ota P -romedio I8!Q&.?B1 ?rue I8!Q&.?BN ?rue I8!Q&.?BO ?rue I8!Q&.?BP ?rue I8!Q-S.ME8I. ?rue I8!Q!B(!$(BS T!alcular I8!Q&$E:. T&ue%o I8!QSB(IS TSalir

2ota1 (as propiedades &umber y Sead=only de las ca0as de texto se encuentran en la /ic"a Styles de la %entana de propiedades Modi/icar la posicin de los controles "asta que su aplicacin tenga la apariencia que se muestra en la %entana siguiente1

(uego asigne una %ariable del tipo double a cada una de las ca0as de texto 3&ota 1, &ota N, &ota O, &ota P y -romedio4 tal como se muestra en la siguiente pantalla del !lass 5i#ard1 KKctrl 75 A I8!Q&.?B1 A Bdd :ariable>>

20

Lenguaje de Programacin II

!uando agregue cada una de las %ariables, debe indicarle que %alores mnimo y mximo se pueden mostrar en dic"as ca0as de texto, en nuestro caso la nota mnima es ; y la mxima es N; -ara esto simplemente digite los %alores situndose en cada uno de los I8s de las ca0as de texto tal como se muestra en el siguiente gr/ico1

21

Control IDs I8!Q&.?B1 I8!Q&.?BN I8!Q&.?BO I8!Q&.?BP

Valor M=ni o ; ; ; ;

Valor M>?i o N; N; N; N;

B"ora "ay que agregar una /uncin pblica en el programa para que de%uel%a el promedio de las tres notas mayores, para "acer esto siga los siguientes pasos1 1 En la pesta9a !lass:ie6 de la %entana de Entorno de traba0o, "aga clic derec"o en la clase !Bpp;78lg y eli0a la opcin Bdd Member +untion1

22

Lenguaje de Programacin II

(uego le mostrar la siguiente %entana en la que deber indicar el tipo de dato de la /uncin y su declaracin Escriba el nombre de la +uncin que ser promedio del tipo double y como parmetros las P notas de tipo double Esto deber escribir en la declaracin de la /uncin1 (ro e#io@#ou$le n1A #ou$le n+A #ou$le n0A #ou$le n;B

B continuacin el editor de cdigo le mostrar la nue%a /uncin creada de la siguiente manera1

En la %entana de 5orDspace usted %er la /uncin agregada 0unto con los dems elementos1

23

B"ora procedemos a escribir la codi/icacin para nuestra /uncin Esta deber retornar el promedio de las tres mayores notas1 double !Bpp;78lg11promedio3double n1, double nN, double nO, => double nP4 U double min < minLn1 < i/ 3nNKmin4 min L nN< i/ 3nOKmin4 min L nO< i/ 3nPKmin4 min L nP< return 33n1 7 nN 7 nO 7 nP4 Y min4 A O< V

Escriba el cdigo para el botn !alcular de manera que tome las cuatro notas ingresadas y que escriba el promedio llamado a la /uncin creada -rimero "aga doble clic al botn en tiempo de dise9o para crear la nue%a /uncin miembro con el nombre de .n-romedio34<

B"ora digite las siguientes lneas1 :oid !Bpp;78lg11.n!alcular34 U $pdate8ata3true4< mQ-romedio L promedio3mQ&ota1, mQ&otaN, mQ&otaO, mQ&otaP4< $pdate8ata3/alse4< V

24

Lenguaje de Programacin II

(uego escribimos el cdigo para que al presionar el botn &ue%o, las ca0as de texto %uel%an a un %alor de ; para esto primero "aga un doble clic para crear la nue%a /uncin miembro con el nombre de On 2ue/o1

C y escriba la codi/icacin siguiente1 %oid !Bpp;78lg11.n&ue%o34 U mQ&ota1 L mQ&otaN L mQ&otaO L mQ&otaP L mQ-romedio L ;< $pdate8ata3/alse4< V +inalmente cree la /uncin miembro que se e0ecutar la "acer clic en el botn Salir Eaga doble clic al botn para que se cree automticamente la /uncin OnSalir@B.

Escribir la lnea de cdigo1 :oid !Bpp;78lg11.nSalir34 U t"is=>8estroy5indo634< V Bl e0ecutar /inalmente la aplicacin se obser%ar la siguiente %entana 1 3 4

( ) : !arrasco Mu9o# Zoel !reacin de -rogramas con :isual !77 Ed $&I N;;N -g 1NP

25

$ni%ersidad &acional 'San (uis )on#aga* de Ica +acultad de Ingeniera Mecnica y El,ctrica Escuela de Ingeniera Electrnica

IVEE
OPERACIO2ES BASICASA 4SO DEL COMA2DO RATIO B4TTOM
!rear una %entana basada en dilogo utili#ando el M+! Bpp5i#ard en la que se pida el ingreso de N nmeros y se pueda seleccionar una de las cuatro operaciones bsicas 3Suma, Sesta Multiplicacin y 8i%isin4 utili#ando radio butons 8eber almacenar la aplicacin con el nombre de A((67. KK+ileA&e6AM+! Bpp5i#ard3exe4A-royect &ameLBpp;WA (ocation L !1MI:EEMBpp;WA.D>>

CLASE 6C

Seguidamente KKStep1L8ialog HasedA&ext>> KKStepNLO8 controlsABcti%eF controlsA&ext>> KKStepOLM+! StandardAIes -leaceABs a s"ared 8((A&ext>> KKStepPL+inis"A.D>> Seleccione los controles creados por el asistente y eliminelos $bique los controles indicados1 P etiquetas O ca0as de texto

26

Lenguaje de Programacin II

P botones de opcin 1 ca0a de grupo 1 Hotn de comando Pro(ie#a#es !aption !aption !aption !aption !aption !aption I8 &umber I8 &umber I8 Sead=only &umber I8 )roup !aption I8 !aption I8 !aption I8 !aption I8 !aption 8e/ault button Valor .peraciones Hsicas .peraciones Hsicas &meroQ;1 &meroQ;N Sesultado '* I8!Q&$MES.1 ?rue I8!Q&$MES.N ?rue I8!QSES$(?B8. ?rue ?rue I8!QS$MB ?rue TSuma I8!QSES?B TSesta I8!QM$(?I-(I!B!I.& TMultiplica I8!Q8I:ISI.& T8i%isin I8!Q!B(!$(BS T!alcular ?rue

Control I88QB--;WQ8IB(.) I8!QS?B?I! I8!QS?B?I! 3N4 I8!QS?B?I! 3O4 I8!QS?B?I! 3P4 I8!QS?B?I! 3/rame4 I8!QE8I?1 I8!QE8I?N I8!QE8I?O

I8!QSB8I.1

I8!QSB8I.N I8!QSB8I.O I8!QSB8I.P I8!QH$??.&1

2ota1 (as propiedades &umber, de/aul button y Sead=only de las ca0as de texto se encuentran en la /ic"a Styles de la %entana de propiedades Modi/ique la %entana en tiempo de dise9o, la apariencia de la %entana deber ser similar a esta1

27

B"ora %amos "a proceder a crear %ariables miembros para las ca0as de texto de la siguiente manera, in%oque al !lass 5i#ard y en la /ic"a Me $er Varia$les1 KK!trl 75 A I8!Q&$MES.1 A Bdd :ariable>> Control IDs I8!Q&$MES.1 I8!Q&$MES.N I8!QSES$(?B8. I8!QS$MB Ti(o double double double int 2o $re Varia$le mQ&umero1 mQ&umeroN mQSesultado mQ.peracion

B"ora si procedemos a escribir el cdigo para que nuestra aplicacin /uncione ?odo cdigo ir en el botn !alcular !ree la /uncin miembro para el botn llamada .n!alcular34 dando doble clic al botn de comando en el dilogo,

28

Lenguaje de Programacin II

B"ora digite la siguiente codi/icacin1 :oid !BppoW8lg11.n!alcular34 U AABctuali#amos los datos de las %ariables $pdate8ata 3true4< AAElegimos la operacin de acuerdo a lo que el usuario AA"aya seleccionado desde los radio buttons s6itc" 3mQ.peracion4 U case ;1 mQSesultado L mQ&umero1 7 mQ&umeroN< breaD< case 11 mQSesultado L mQ&umero1 = mQ&umeroN< breaD< case N1 mQSesultado L mQ&umero1 [ mQ&umeroN< breaD< case O1 i/ 3mQ&umeroN \L;4 mQSesultado L mQ&umero1 A mQ&umeroN< else U MessageHox3'8i%isin por => !ero*, 'Error*, MHQ.G X MHQI!.&S?.-4< mQ&umero1 L mQ&umeroN L mQSesultado L ;< V breaD< V $pdate8ata3/alse4< V B"ora para "acer que la operacin predeterminada sea Suma, escribiremos unas lneas de cdigo en la /uncin OnInitDialog de la clase CA((s67Dlg1

29

8espu,s de ubicarse en la /uncin "aga doble clic y modi/ique el contenido predeterminado a lo siguiente1 H..( !Bpp;W8lg11.nInit8ialog34 U !8ialog11.nInit8ialog341 AASet t"e icon /or t"is dialog ?"e /rame6orD does t"is AAautomatically AA 6"en t"e application]s main 6indo6 is not a dialog SetIcon3mQ"Icon, ?S$E4< AA Set big icon SetIcon3mQ"Icon, +B(SE4< AA Set small icon AA En%iamos el /oco a la primera operacin 3Suma4 mQ.peracion L ;< $pdate8ata3/alse4< return /alse< V

-resione las ?eclas ctrl 7 +J para e0ecutar la aplicacin y %er una %entana similar a esta1

30

Lenguaje de Programacin II

?BSEB1 14 N4 Bgregar un radio buttom que calcule la potencia donde el nmero 1 es la Hase y nmero ;N es el exponente Bgregar dos ca0as de edicin 3E8I?H.F4 y otro radio buttom que calcule el /actorial del nmero ;1 y el nmero ;N

31

$ni%ersidad &acional 'San (uis )on#aga* de Ica +acultad de Ingeniera Mecnica y El,ctrica Escuela de Ingeniera Electrnica

BOLETA DE PA1O 4SO DEL COMA2DO C)EC9 . SALIDA DE TEETO COMO VARIABLE -rctica1 Simulacin de una Holeta de -ago de un ?raba0ador
!rear una :entana basada en dilogo utili#ando el M+! Bpp5i#ard que simule una boleta de pago en la que se pida que se ingrese el nombre del traba0ador, sus "oras traba0adas, "oras extras, categora 3Maestro, ./icial -en4 y descuentos 3B+- y EsSalud4 B"ora asigne el nombre de la aplicacin B--1; y presione el botn .G, tal como se muestra a continuacin

CLASE 6D

El pago por "ora segn categora es el siguiente1 Maestro 1 SA W ;; ./icial 1 SA R ;; -en 1 SA J ;; (os descuentos sern como sigue1 B+1 El 1;^ del sueldo bruto EsSalud 1 El O^ del sueldo bruto

32

Lenguaje de Programacin II

El pago por "oras extras ser el P;^ ms del pago por "ora normal El sueldo bruto ser las "oras normales multiplicado por el pago por "oras ms el pago por "oras extras correspondientes El sueldo neto ser el sueldo bruto menos los descuentos )enerar los controles indicados1 J etiquetas O ca0as de texto N ca0as de grupo O botones de opcin N casillas de %eri/icacin 1 botn de comando Pro(ie#a#es !aption !aption !aption !aption !aption I8 !aption Horder !aption !aption I8 I8 I8 I8 !aption )roup I8 !aption I8 !aption I8 !aption I8 !aption I8 !aption 8e/ault button Valor Holeta de -ago &ombre del ?raba0ador Eoras &ormales Eoras Extras Sesultados I8!QSES$(?B8.S '* ?rue !ategoras 8escuentos I8!QE.SBSEF?SBS I8!QE.SBS&.SMB(ES I8!Q&.MHSES I8!QMBES?S. &Maestro ?rue I8!Q.+I!IB( &./icial I8!Q-E.& T-en I8!QB+&B+I8!QESSB($8 &EsSalud I8!Q!B(!$(BS &!alcular ?rue

Control I88QB--1;Q8IB(.) I8!QS?B?I! I8!QS?B?I! 314 I8!QS?B?I! 3N4 I8!QS?B?I! 3O4 I8!QS?B?I! 3P4 I8!QS?B?I! 3/rame14 I8!QS?B?I! 3/rameN4 I8!QE8I?1 I8!QE8I?N I8!QE8I?O I8!QSB8I.1 I8!QSB8I.N I8!QSB8I.O I8!Q!EE!G1 I8!Q!EE!GN I8!QH$??.&1

(a %entana en tiempo de dise9o deber ser similar a esta1

33

B"ora procederemos a crear las %ariables miembros para los controles creados de la siguiente manera1 Control I8!QB+I8!QESSB($8 I8!QE.SBSEF?SBS I8!QE.SBS&.SMB(ES I8!QMBES?S. I8!Q&.MHSES I8!QSES$(?B8.S Categor=a :alue :alue :alue :alue :alue :alue :alue Ti(o H..( H..( int int int !String !String 2o $re Varia$le mQB+m=EsSalud mQEorasExtras mQEoras&ormales mQ!ategora mQ&ombres mQSesultados

34

Lenguaje de Programacin II

(os %alores mnimos y mximos para las %ariables mQEoras&ormales sern de ; y PW respecti%amente

mQEorasExtras

B"ora agregue la /uncin miembro .n!alcular34 para el botn de comando !alcular 3I8!Q!B(!$(BS41

En la /uncin creada agregue las siguientes lneas de cdigo para los clculos1 :oid !app1;8lg11.n!alcular34 U $pdate8ata3true4< double pagoEora L ; ;;, extra L ; ;; s6itc" 3mQ!ategoria4 U case ;1 pagoEora L W< breaD< case 11 pagoEora L R< breaD< case N1 pagoEora L J< V extra L 3pagoEora [ 1 P4 [ mQEorasExtras< double descuento1 L ; ;;, descuentoN L ; ;;< c"ar cad_1J`< mQSesultados L 'Holeta de pago del traba0ador1 * 7 mQ&ombres 7 'Mn*< itoa3mQEoras&ormales,cad,1;4< mQSesultados L mQSesultados 7 'Eoras ?raba0adas1 * 7 cad 7 'Mn*< itoa3mQEorasExtras,cad,1;4< mQSesultados L mQSesultados 7 'Eoras Extras1 * 7 cad 7 'Mn*< double sueldoHruto L ; ;;< sueldoHruto L 3mQEoras&ormales [ pagoEora4 7 extra< gc%t3sueldoHruto, R, cad4< mQSesultados L mQSesultados 7 'Sueldo Hruto 1 * 7 cad 7 'Mn*< double descuentoB+- L ; ;;, descuentoEsSalud L ; ;;< i/ 3mQB+-4 ) m_EsSalud) { m_Resultados = m_Resultados + Descuentos !n"# i$ %m_&'P) { descuento&'P = ()* + sueldo,ruto#

35

gc-t%descuento&'P. /. cad)# m_Resultados = m_Resultados + &'P "+ cad + !n"# 0 i$ %m_EsSalud) { descuentoEsSalud = ()(1 + sueldo,ruto# gc-t%descuentoEsSalud. /. cad)# m_Resultados = m_Resultados + EsSalud "+ cad + !n"# 0 0 double sueldo&eto L ; ;;< sueldo&eto L sueldo&eto Y 3descuentoB+- 7 descuentoEsSalud4< gc-t%sueldo2eto. /. cad)# m_Resultados = m_Resultados + Sueldo 2eto "+ cad + !n"# $pdate8ata3/alse4< V B"ora para "acer que la categora predeterminada sea Maestro, modi/ique la /uncin OnInitDialog@B de la clase CA((16Dlg de la siguiente manera1 H..( !Bpp1;8lg11.nInit8ialog34 U !8ialog11.nInit8ialog341 AA 6"en t"e apllication]s main 6indo6s is not dialog AA como la aplicaciones no son %entanas de dialogos SetIcon3mQ"Icon,?S$E4< AA Set big icon SetIcon3mQ"Icon,+B(SE4< AA Set small icon )et8lgItem3I8!Q&.MHSES4=>Set+ocus34< mQ!ategoria L ;< $pdate8ata3/alse4< return /alse< V -resione las teclas !?S( 7 +J para e0ecutar la aplicacin y %er una %entana similar a esta1

36

Lenguaje de Programacin II

?BSEB1 14 Bgregar dos comandos c"ecD para descuentos por I): 31a^4 y de !asa !omercial 31;^4, respecti%amente

Se/erecia1 Zoel !arrasco Mu9o# :IS$B( !77 -gs 1O7=1PO

37

$ni%ersidad &acional 'San (uis )on#aga* de Ica +acultad de Ingeniera Mecnica y El,ctrica Escuela de Ingeniera Electrnica

CLASE 6F

Cal!ulo #el (ro e#io #e notas


!rear un dilogo en la que se pueda ingresar tres notas y calcule el promedio de las N notas mayores, utili#ando el control Spin para el ingreso de las notas Blmacene la aplicacin con el nombre de A((1; KK+ileA&e6AM+! Bpp5i#ard3exe4A-royect &ameLBpp1PA (ocation L 81MI:EEMBpp1PA.D>>

4so #el !ontrol S(in

Seguidamente KKStep1L8ialog HasedA&ext>> KKStepNLO8 controlsABcti%eF controlsA&ext>> KKStepOLM+! StandardAIes -leaceABs a s"ared 8((A&ext>> KKStepPL+inis"A.D>> Seleccione los controles creados por el asistente y elimnelos

38

Lenguaje de Programacin II

$bicar los controles indicados1 P Etiquetas P !a0as de ?exto P !ontroles Spin 1 Hotn de comando !uadro de propiedades de los ob0etos1 Control I88QB--1PQ8IB(.) I8!QS?B?I! I8!QS?B?I! 314 I8!QS?B?I! 3N4 I8!QS?B?I! 3O4 I8!QE8I?1 I8!QE8I?N I8!QE8I?O I8!QE8I?O Pro(ie#a#es !aption !aption !aption !aption !aption I8 &umber I8 &umber I8 &umber I8 &umber Sead=.nly I8 Buto buddy Set buddy integer Blignment I8 Buto buddy Set buddy integer Blignment I8 Buto buddy Set buddy integer Blignment I8 !aption Valor $sando el !ontrol Spin Ingrese &ota 1 Ingrese &ota N Ingrese &ota O -romedio I8!Q&.?B1 ?rue I8!Q&.?BN true I8!Q&.?BO true I8!Q-S.ME8I. true true I8!QS-I&Q&.?B1 true true Sig"t I8!QS-I&Q&.?BN true true Sig"t I8!QS-I&Q&.?BO true true Sig"t I8!Q!B(!$(BS T!alcular

I8!QS-I&1

I8!QS-I&N

I8!QS-I&O

I8!QH$??.&1

2ota1

Es importante a9adir primero la ca0a de texto, seguidamente a9adir el control Spin respecti%o al control, caso contrario no %a "a incrementar decrementar el control Spin

39

(uego la %entana en tiempo de dise9o deber ser similar a esta pantalla1

B"ora procederemos a crear las %ariables miembros para los controles creados 3ca0as de texto4 de la siguiente manera1 Control I8!Q&.?B1 I8!Q&.?BN I8!Q&.?BO I8!Q-S.ME8I. Categor=a :alue :alue :alue :alue Ti(o double double double double 2o $re Varia$le mQnota1 mQnotaN mQnotaO mQ-romedio

El rango de %alidacin para las %ariables debe de ser de ; a N;1 Control I8!QS-I&Q&.?B1 I8!Q S-I&Q&.?BN I8!Q S-I&Q&.?BO Categor=a !ontrol !ontrol !ontrol Ti(o !SpinHutton!trl !SpinHutton!trl !SpinHutton!trl 2o $re Varia$le mQSpin&ota1 mQSpin&otaN mQSpin&otaO

:ariables miembro de la M+! !lass5i#ard1

40

Lenguaje de Programacin II

Modi/icar a"ora el e%ento OnInitDialog@B de la calse CA((1;Dlg de la siguiente manera1 H..( !Bpp1P8lg11.nInit8ialog34 U !8ialog11.nInit8ialog34< AA Set t"e icon /or t"is dialog ?"e /rame6orD does t"is AA automatically AA 6"en t"e apllication]s main 6indo6s is nor a dialog SetIcon3mQ"Icon, ?S$E4< AA Set big icon SetIcon3mQ"Icon, +B(SE4< AA Set small icon AA Indicamos el rango de nmeros y asignamos a cada control AA Spin el recurso de cada Edit Hox mQSpin&ota1 mQSpin&ota1 mQSpin&otaN mQSpin&otaN mQSpin&otaO mQSpin&otaO SetSange3;,N;4< Set-os3I8!Q&.?B14< SetSange3;,N;4< Set-os3I8!Q&.?BN4< SetSange3;,N;4< Set-os3I8!Q&.?BO4<

AA Iniciali#amos las %ariables a !ero mQ&ota1 L mQ&otaN L mQ&otaO L ;< $pdate8ata3+B(SE4< return ?S$E< AA return ?S$E unless you set t"e /ocus to a control V Bgregue el e%ento clic al botn I8!Q!B(!$(BS e inserte la siguiente codi/icacin 3Eacer doble clic en el botn !alcular41

41

%oid !Bpp1P8lg11.n!alcular34 U $pdate8ata3?S$E4< double min< min L mQ&ota1< i/ 3mQ&otaNK min4 min L mQ&otaN< i/ 3mQ&otaOK min4 min L mQ&otaO< mQ-romedio L 33mQ&ota1 7 mQ&otaN 7 mQ&otaO4 = min4 A N< $pdate8ata3+B(SE4< V

-resione las teclas !?S( 7 +J para e0ecutar la aplicacin y %er una %entana similar a esta1

Propiedades del Control Spin

42

Lenguaje de Programacin II Automticamente selecciona la ventana previa como ventana buddy al botn del Spin Hace que el Spin Control incremente y decremente el contenido de la venta buddy como los cambios de la posicin actual Uno de Unattached, e!t o "i#ht, controla la locali$acin del botn Spin%

Auto buddy Set buddy Integer Alignment

Funciones del Control Spin


SerRange() SetPos() Se llama esta !uncin para asi#nar los l&mites m&nimo y m'imo para un control Spin Button% Asi#na la posicin actual para el control

TAREA8 ;14 Eacer la misma aplicacin incluyendo J notas y promediar las O notas ms altas Se/erencia1 Zoel !arrasco Mu9o# :IS$B( !77 -gs 171=17J

43

$ni%ersidad &acional 'San (uis )on#aga* de Ica +acultad de Ingeniera Mecnica y El,ctrica Escuela de Ingeniera Electrnica

CLASE 67

Di$u%os $>si!os @<or asB


!rear un dilogo que nos permita dibu0ar /ormas bsicas como lneas, crculos y rectngulos, se utili#ar el mouse como medio de dibu0o Blmacenar la aplicacin con el nombre de A((<or as KK+ileA&e6AM+! Bpp5i#ard3exe4A-royect &ameLBpp+ormasA (ocation L 81MI:EEMBpp+ormasA.D>>

Seguidamente KKStep1L8ialog HasedA&ext>> KKStepNL 8esacti%ar los controles 3BboutAO8 controlsABcti%eF controls4A&ext>> KKStepOLM+! StandardAIes -leaceABs a s"ared 8((A&ext>> KKStepPL+inis"A.D>> Seleccione los controles creados por el asistente y elimnelos

44

Lenguaje de Programacin II

$bicar los controles indicados1 P Hotn de comando

!uadro de propiedades de los ob0etos1 Control I88QB--+.SMBSQ8IB(.) I8!QH$??.&1 I8!QH$??.&N I8!QH$??.&O Pro(ie#a#es !aption I8 !aption I8 !aption I8 !aption Valor +ormas I8!Q(I&EB T(inea I8!QSE!?B&)$(. TSectangulo I8!QE(I-SE TElipse

(o que sigue a continuacin es diagramar la inter/a# que nos ayudar a dibu0ar nuestras /ormas para eso "acemos lo siguiente1 Horramos el botn Bceptar, de0amos el botn !ancelar debe quedar el 3I8!B&!E(4, pero cambiamos el !aption por 'TSalir* Seleccionamos el botn Hutton y dibu0amos tres de esos controles y un control )roup Hox y agrupamos estos tres controles como se muestra la /igura1

!omo no %amos "a necesitar el cdigo que se muestra en la /uncin .n-aint34 as que la borraremos pero solo el contenido de tal manera que nos quede cmo sigue1

45

%oid !Bpp+ormas8lg11.n-aint34 U V -ero como dibu0amos, para esto crearemos nuestra propia /uncin de dibu0o que se llamar #i$u%a@int ?1A int .1A int ?+A int .+B de tipo /oi#A las %ariables que tienen como parmetros nos ser%ir para dar las coordenadas de dibu0o de la /orma que eli0amos, entonces copiamos la siguiente codi/icacin1

%oid !Bpp+ormas8lg11dibu0a3int x1, int xN, int y1, int yN4 U !-aint8! dib3t"is4< !Sect rec< )et!lientSect3Trec4< s6itc"3clase4 U case 11 dib Mo%e?o3x1,y14< dib (ine?o3xN,yN4< breaD< case N1 dib Sectangle3x1,y1,xN,yN4< breaD< case O1 dib Ellipse3x1,y1,xN,yN4< breaD< V V -odemos obser%ar que en el cdigo existe una %ariable llamada !lase la cual nos indicar que tipo de /orma se dibu0ar, entonces debemos declararla esta %ariable y lo "aremos presionando el botn derec"o del mouse sobre !B--+.SMBS8lg y escogiendo la opcin A## Me $er Varia$leA esta %ariable ser de tipo int. (o que sigue ser declarar las %ariables que nos ser%irn para almacenar los puntos seleccionados por el mouse al "acer clic sobre el rea del dibu0o, ,stas

46

Lenguaje de Programacin II

%ariables se llaman punto1 y puntoN y sern de tipo !-oint, la declaracin de estas %ariables es de manera similar a las %ariables anteriores B"ora debemos indicarle que debemos usar el mouse a nuestra con%eniencia, para eso "acemos un clic sobre el botn derec"o del mouse sobre CAPP<ORMASDlg y elegimos la opcin A## ,in#o-s Message )an#lerA en el listado &e6 5indo6s messageAe%ents , seleccionamos ,M:LB4TTO2DO, y presionamos el botn A## an# E#it, a"ora nos queda agregar la siguiente codi/icacin %oid !Bpp+ormas8lg11.n(Hutton8o6n3$I&? n+lags, !-oint point4 U AA ?.8.1 Bdd your message "andler code "ere andAor call de/ault i/ 3contLL;4 In%alidate3/alse4< cont77< i/ 3contLL14 punto1Lpoint< else U i/ 3contLLN4 U puntoNLpoint< dibu0a3punto1 x, punto1 y, puntoN x, puntoN y4< contL;< V V !8ialog11.n(Hutton8o6n3n+lags, point4< V

47

8e manera similar a las otras %ariables debemos declarar la %ariable !ount de tipo int, una %e# "ec"o esto debemos de iniciali#arla para eso "acemos doble clic sobre el constructor y a9adimos el cdigo que se indica a continuacin1

48

Lenguaje de Programacin II

!Bpp+ormas8lg11!Bpp+ormas8lg3!5nd[ p-arent A[L&$(([A4 1 !8ialog3!Bpp+ormas8lg11I88, p-arent4 U AAUUB+FQ8B?BQI&I?3!Bpp+ormas8lg4 AA &.?E1 t"e !lass5i#ard 6ill add member initiali#ation "ere AAVVB+FQ8B?BQI&I? AA &ote t"at (oadIcon does not require a subsequent 8estroyIcon in 5inON mQ"Icon L B/x)etBpp34=>(oadIcon3I8SQMBI&+SBME4< AAIniciali#acin de la %ariable cont contL;< V Esta %ariable nos indica si "acemos el primer clicD con el mouse 3contL14, almacenamos este puno en punto1, pero si es el segundo punto 3contLN4, se almacena este punto en punto N y luego dibu0a la /orma indicada, es all donde usamos las %ariables que tiene la /uncin dibu0a34, la cual recibe cuatro parmetros B"ora "acemos soble clic sobre el botn I8!Q(inea esto crear una /uncin .n(inea, de manera similar "acemos con los siguientes botones, para introducir la siguiente codi/icacin1

%oid !Bpp+ormas8lg11.n(inea34 U AA ?.8.1 Bdd your control noti/ication "andler code "ere claseL1< contL;< V %oid !Bpp+ormas8lg11.nSectangulo34 U AA ?.8.1 Bdd your control noti/ication "andler code "ere claseLN< contL;< V

49

%oid !Bpp+ormas8lg11.nEllipse34 U AA ?.8.1 Bdd your control noti/ication "andler code "ere claseLO< contL;< V

(uego al e0ecutar esta aplicacin obtendremos un apantalla como nos muestra la /igura siguiente +unciona primero seleccionando la /orma que se quiere dibu0ar y luego se marca los puntos en que queremos que se dibu0e esta /orma 3Hastar dos puntos coordenados para gra/icar4

Se/erencia1 Bburto !orrea Eed 'Bplique programacin en %isual !77 -gs R=, R=J

50

Lenguaje de Programacin II

$ni%ersidad &acional 'San (uis )on#aga* de Ica +acultad de Ingeniera Mecnica y El,ctrica Escuela de Ingeniera Electrnica

CLASE 6G Pro!esar gr>*i!as usan#o las !lases CPenA CBrusH

Di$u%os #e *or as gr>*i!as en un

enI

!reacin de un proyecto para la creacin gr/icas de lneas curdas, sector circular, elipse a partir de las clases !-en, !Hrus" , !-anit 8! de la clase !8! Iniciar con un proyecto nue%o

Paso 61

KK+ileA&e6AM+! Bpp5i#ard3exe4A-royect &ameL)ra/icasA (ocation L 81MI:EEMBpp)ra/icasA.D>>

Paso 2 (n la ventana de dilo#o del #enerador Class)i$ard, KKStep1L 8ocument SingleA&ext>>

51

(os steps siguientes indicarlos por de/ecto1 KKStepNL &oneA&ext>> 3?ipo de aplicacin que se desea crear4 KKStepOL &oneABcti%eF !ontorlsA&ext>> 3&o usar el soporte .(E4

52

Lenguaje de Programacin II

KKStepPL 8ocDing ?oolbarAInicial StatusHarA-rinting and -rint -re%ie6 A O8 !ontrols A &ormalA&ext >> 3(as caractersticas de la aplicacin4 KKStepJL M+! Standard A Ies pleaceABs s"ared 8(( A &ext >> 3Estilo de proyecto, generacin de comentarios y el uso de librera M+!4 KKStepRL +inis"A.D >> 3Muestra el listado con las caractersticas que el asistente est por "acer4 Paso3 En la %entana 6orDsapace la solapa Vie- el 6i#ard "a generado los cdigos siguientes1

)ra/icos " L Es el arc"i%o cabecera principal de la aplicacin )r/icos )ra/icos cpp L Brc"i%o de cdigo /uente de la aplicacin )r/icos 8e/ine el comportamiento de las clases StdB/x " L !ontiene los incluyes Standard )ra/icos pc"1 !abecera precompilada StdB/x ob0 1 ?ipo de in/ormacin pre=compilada StdB/x cpp LBc"i%os include del sistema Standard

53

)ra/icos rc L Este arc"i%o contiene los recursos que esta aplicacin utili#a1 iconos, bitmaps, 8ialog, Menu, etc Main+rm " y Main+rm cpp1 !ontiene la decaracin y de/inicin de la clase !main+rame )ra/icos8oc ", )ra/icos8oc cpp1 !ontiene la declaracin y de/inicin de la clase !)ra/icos8oc )ra/icos:ie6 ", )ra/icos:ie6 cpp1 !ontiene la declaracin y de/inicin de la clase !gra/icos:ie6 Sesource "1 Brc"i%o de cabecera que contiene los identi/icadores 3I84 de los recursos Paso4 Seleccionar de la %entana 5orDspace y en la pesta9a !lass:ie6 la /uncin OnDra-@CDCJ(DCB contenido en la clase Cgra*i!osVie-. %oid !)ra/icos:ie611.n8ra63!8![ p8!4 U !)ra/icos8oc[ p8oc L )et8ocument34< BSSES?Q:B(I83p8oc4< AA Bgregar la siguiente sentencia p8!dc=>?ext.ut31;;,N;;,*?exto gr/ico en el punto 1;;,N;;*4 V (uego %isuali#aremos al compilar 3!?S(7+J4

Paso ! Para gra"icar l#neas

54

Lenguaje de Programacin II

Seleccionar la pesta9a !lass:ie6 en la %entana 5orDspace y elegir la /uncin OnDra-@CDCJ (DCB que se encuentra en la clase C1ra*i!osVie-. (uego adicionar el cdigo a la /uncin /oi# C1ra*i!osVie-88OnDra-@CDCJ (DCB

AA 8ibu0a una lnea en diagonal p8!=>(ine?o31;;,1;;4< p8!=> ?ext.ut3R;,N;, 'K=(nea en 8iagonal* 4<

Bl presionar !S?(7+J se e0ecutar la aplicacin como se muestra1

AA 8ibu0a una elilpse p8!=>Ellipse3N;;,1;,O;;,7;4< p8!=> ?ext.ut3O1;,N;, 'K=Elipse* 4<

AA 8ibu0a una !uerda p8!=>!"ord31;,1;;,1;;,N;;,N;,1NJ,1N;,17J4< p8!=> ?ext.ut37;,1O;, 'K=!uerda* 4<

AA 8ibu0a un sector circular p8!=>-ie3N;;,1;;,O;;,N;;,N;;,1J;,NJ;,1;;4< p8!=> ?ext.ut3O;;,1O;, 'K=Sector* 4<

AA 8ibu0a un rectngulo p8!=>Sectangle31;,NJ;,1;;,O;;4< p8!=> ?ext.ut311;,NW;, 'K=Sectngulo* 4<

Paso $! %so de la clase CPen Se introduce la codi/icacin para modi/icar la /orma de los dibu0os creados anteriormente1 1 N Editar la /uncin On#raBdicionar el cdigo a la /uncin '%oid !)ra/icos:ie611.n8ra63!8![p8!4* antes del cdigo que dibu0a las /iguras

55

AA Modi/ica la /orma de los dibu0os !-en [nQpincelLne6 !-en< nQpincel =>!reate-en3-SQS.(I8,R,S)H3NJJ,;,;44< AAIniciali#acin p8!=> Select.b0ect3nQpincel4< Paso &! %so de la clase C'rus( Se introduce la codi/icacin para modi/icar el interior de los dibu0os creados anteriormente1 1 N Editar la /uncin On#raBdicionar el cdigo a la /uncin '/oi# C1ra*i!osVie-88OnDra-@CDCJ(DCB * antes del cdigo que dibu0a las /iguras

AA Modi/ica el interior de los dibu0os !Hrus" [nQbroc"aLne6 !Hrus"< AA!rea un ob0eto nQbroc"a =>!reateEatc"Hrus" 3ESQ!S.SS,S)H3NJJ,;,;44< AAIniciali#acin p8!=> Select.b0ect3nQbroc"a4< +I&B(ME&?E1

Se/erencia1 8aniel Sa/ael +rancia ':isual !77 R ; -gs N;7=NO;

56

Lenguaje de Programacin II

$ni%ersidad &acional 'San (uis )on#aga* de Ica +acultad de Ingeniera Mecnica y El,ctrica Escuela de Ingeniera Electrnica

CLASE 16 Pro!esar una gr>*i!as trigono 'tri!as en un

<un!iones

enI

!reacin de un proyecto para gra/icar /unciones trigonom,tricas e0emplo la /uncin coseno, guardarlo con el nombre de Bpp?rigo en su rea de traba0o 81MI:EEM Iniciar con un proyecto nue%o

Paso 61

KK+ileA&e6AM+! Bpp5i#ard3exe4A-royect &ameLBpp?rigoA (ocation L 81MI:EEMBpp?rigoA.D>>

Paso 2 (n la ventana de dilo#o del #enerador Class)i$ard, KKStep1L 8ocument SingleA&ext>>

57

(os steps siguientes indicarlos por de/ecto1 KKStepNL &oneA&ext>> 3?ipo de aplicacin que se desea crear4 KKStepOL &oneABcti%eF !ontorlsA&ext>> 3&o usar el soporte .(E4

58

Lenguaje de Programacin II

KKStepPL 8ocDing ?oolbarAInicial StatusHarA-rinting and -rint -re%ie6 A O8 !ontrols A &ormalA&ext >> 3(as caractersticas de la aplicacin4 KKStepJL M+! Standard A Ies pleaceABs s"ared 8(( A &ext >> 3Estilo de proyecto, generacin de comentarios y el uso de librera M+!4 KKStepRL +inis"A.D >> 3Muestra el listado con las caractersticas que el asistente est por "acer4 Paso3 En la %entana 6orDsapace la solapa Vie- el 6i#ard "a generado los cdigos siguientes1

!reada la aplicacin "ay que ubicamos a la /uncin .n8ra634 de la !lase !Bpp?rigo:ie6, una %e# ubicada "acer doble clic sobre ella para editar su cdigo %oid !Bpp?rigo:ie611.n8ra63!8![ p8!4 U !Bpp?rigo8oc[ p8oc L )et8ocument34< BSSES?Q:B(I83p8oc4< AA Bgregar la siguiente sentencia

59

double y< int i< AA -ermite reali#ar tareas gr/icas sobre el rea cliente de una AA determinada %entana !!lient8! dc 3t"is4< dc Mo%e?o31;;,J;4< dc (ine?o31;;,OJ;4< dc Mo%e?o31;;,N;;4< dc (ine?o3J;;,N;;4< dc Mo%e?o31;;,N;;4< dc ?ext.ut3P;;,1;;, '+uncin !oseno*,1P4< /or 3iL;< iKP;;<i774 U y L 1N; [ cos3O 1P1J [ i [ 3OR; ;AP;;4A1W; ;4< dc (ine?o31;;7i,N;; ;=y4< V

V (uego %isuali#aremos al compilar 3!?S(7+J4

60

Lenguaje de Programacin II

2ota8 &o ol%idar incluir el arc"i%o de cabecera mat" " en el /ic"ero CA((TrigoVie-.!(( para poder utili#ar la /uncin coseno 3cos4, para esto debe incluirse el arc"i%o de cabecera de la siguiente manera1 Kin!lu#e L atH.HM

?BSEBS1 14 Eacer los cambios de /unciones probar las R /unciones combinando ngulos dobles Eacer la presentacin de cada uno de los cambios N4 Seali#ar la sumatoria y la di/erencia de dos /unciones, combinar las /unciones y los ngulos Se/erencia Hibliogr/ica Zoel !arrasco Mu9o# ':isual !77 -gs NPW

61

$ni%ersidad &acional 'San (uis )on#aga* de Ica +acultad de Ingeniera Mecnica y El,ctrica Escuela de Ingeniera Electrnica

1esti"n #e #i>logos Clase CDialog


(a clase !8ialog es una clase base que permite %isuali#ar %entanas de dilogo (a de/inicin de la clase !8ialog se encuentra en el /ic"ero a/x6in " Eay dos tipos de %entanas de dilogo1 !on modo modal y sin modo Modal1 Exique que el usuario cierre la %entana para poder pasar a otra %entana *o Modal1 Bl contrario del anterior se puede %isuali#ar la %entana dilogo anterior y retornar a la tarea anterior sin cancelar cerrar la %entana de dilogo (a clase !8ialog es deri%ada de !5nd, que proporciona las /unciones bsicas de esta %entana especiali#ada El constructor de la clase !8ialog11!8ialog, requiere de dos parmetros1 El nombre de la plantilla de dilogo que utili#ar 3la que se "a dise9ado en los recursos4 y una re/erencia de la %entana padre del dilogo 3pide que se %isualice la %entana4 (a /uncin CDialog88DoMo#al, aplicada sobre un ob0eto construido pre%iamente permite %isuali#arlo en modo modal &o de%uel%e el control a la /uncin mientras no se cierre la %entana de dilogo (a /uncin CDialog88En#Dialog, +inali#a en dilogo modal, recibe un par9ametro que se corresponder con el %alor que de%uel%a DoMo#al (a /uncin CDialog88Create, aplicada sobre un ob0eto construido pre%iamente, permite crear dilogos no modales Estos dilogos no se /inali#an con End8ialog, sino se utili#a la /uncin Standard "ererdada de !5nd Destro.,in#o +uncin !8ialog11.nInit8ialog, utili#ada para iniciali#ar +unciones CDialog88OnON A CDialog88OnCan!el permiten relali#ar operaciones de con/irmacin o cancelacin del ob0eti%o de dilogo 2ota1 !8ialog es una clase abstracta, por lo que no se puede usar directamente 3no se pueden crear ob0etos !8ialog4 Se debe deri%ar sus propias clases desde !8ialog para crear sus propios dilogos

CLASE 11

62

Lenguaje de Programacin II

PROCESAR 42A APLICACIO2 COM42ICACIO2 DE VE2TA2AS Manual Tutorial


!reacin de una aplicacin de comunicacin de %entanas mltiples las cuales permitan calcular distintas reas de /iguras geom,tricas con el nombre de Ventanas Multi(les, en su rea de traba0o 81MI:EEM Iniciar con un proyecto nue%o 1 = +ilieA&e6AM+! Bpp5i#ard3exe4A-ro0ect name1 :entanas MultiplesA (ocation1 81MI:EEM:entanas Multiples A .G

N = En el Step 1 o/ P Bcti%ar 8ialog Hased A &ext

63

N=

En el Step N o/ P Bbout boxAO8 controlABcti%eF !ontrolsA-lease enter a title tour you dialog1 3Ingrese el ttulo41 'Ingresar a una %entana de dilogo desde otra %entana de dilogo*

64

Lenguaje de Programacin II

O = 8el Step O y P de0ar por de/ecto !lic en +inis"< y luego .G P = En la %entana de dilogo principal borrar el ob0eto lnea de texto 8ebe /igurar as1

!omen#aremos "a desarrollar la siguiente aplicacin Paso 2 a4 Sobre la %entana de dilogo principal "acer clic el botn derec"o del mouse y elegir propiedades

65

b4

B"ora agregaremos un nue%o dialogo para esto, en la %entana 5orDspaces, debe estar acti%a la solapa Sesource :ie6< Eaga clic con el botn derec"o del mouse sobre la carpeta 8ialogo y seleccione Insert 8ialog del men contextual 8el siguiente modo

c4

Bparecer una nue%a %entana de dilogo con los botones .G, !ancelar y por de/ecto I8 L I88Q8IB(.)1 ser rempla#ado por I88Q!$B8SB8.

66

Lenguaje de Programacin II

d4

!uando uno agrega un dialogo slo se incorpora un recurso 3arc"i%o de recurso4, que sera el aspecto %isual, pero para nada esta an %inculado con la aplicacin, pues necesita de una clase la cual traer consigo las /unciones miembro y los datos miembro -or eso cada %e# que inserte un cuadro de dialogo cree la clase del mismo, b!mo se "ace estoc< ubicarse en la %entana de dilogo1 que se "a insertado y simplemente presione !trl 75 y aparecer automticamente antes de entrar a !lass5i#ard la siguiente %entana1

Se detect que I88Q8IB(.)1 I88Q!$B8SB8. Es un nue%o recurso y que probablemente necesitaremos una nue%a clase para el mismo, entonces nos o/rece crear una nue%a o seleccionar una existente< elegiremos !reate a ne6 class y pulsamos O9 Bparecer una %entana pidiendo que ingresemos un nombre para la clase, all ingresaremos !8ialog1 !!uadrado, 3por con%encin todas las clases comien#an con la letra !41

67

Butomticamente en el campo +ile &ame aparecer BreaQ!uadrado cpp 3aqu se encontrara la de/inicin de la clase4 y la lista Hase !lass %eri/ique que se encuentra seleccionada !dialog -resione .G, pasara a !lass 5i#ard, presione nue%amente .G para cerrar el asistente

Ia tenemos entonces un nue%o cuadro de dialogo y una clase para el mismo, ob%iamente esto no "ace que nuestra nue%a %entana sea til en nuestro programa, a"ora deberemos escribir el cdigo necesario para poder mostrarla regresemos a la %entana principal, pues el cdigo que llamara a la nue%a %entana de dilogo se acti%ar al presionar el botn I8!QB!E-?BS, sin antes pre%iamente seleccionar el rea de la /igura a calcular -ero el dilogo donde est este botn reconocer la clase del nue%o dilogo si agregamos en el arc"i%o de implementacin del dilogo principal el arc"i%o de cabecera del nue%o dilogo que /u, generado por !lass 5i#ard, el cual tiene el mismo nombre que el de implementacin pero con extensin " 3en nuestra aplicacin ser BreaQ!uadrado "4 &o se ol%ide de agregar la lnea dinclude 2BreaQ!uadrado "2 en comunicacin de Ventanas Multi(lesDlg.!((

68

Lenguaje de Programacin II

8e la misma manera insertaremos las %entanas de dialogo para el area del triangulo, rectngulo , circulo ,procediendo con los pasos anteriores ya %istos anteriormente $bique los controles indicados1 1 1 P 1 etiqueta ca0a de grupo botones de opcin botn de comando Propiedades !aption !aption !aption I8 )roup !aption I8 !aption I8 !aption I8 !aption I8 !aption 8e/aultbutton )alor Ingresar a una %entana de dilogo desde otra %entana de dilogo BSEBS 8E +I)$SBS -(B&BS '* I8!Q!$B8SB8. ?rue !uadrado I8!Q?SIB&)$(. ?riangulo I8!QSE!?B&)$(. Sectangulo I8!Q!IS!$(. !irculo I8!QB!E-?BS TBceptar ?rue

Control I88Q:E&?B&BSM$(?I-(ESQ 8IB(.) I8!QS?B?I! I8!QS?B?I!3/rame4 I8!QSB8I.1 I8!QSB8I.N I8!QSB8I.O I8!QSB8I.P I8!QH$??.&

69

Modi/ique la %entana de dise9o, la apariencia de la %entana deber ser similar a esta

Paso 3 a4 B"ora procederemos a crear las %ariables miembro, in%ocando a !lasas 5i#ard y en la /ic"a Member :ariables1

70

Lenguaje de Programacin II

b4 8el mismo modo procedemos a crear una %entana de dilogo para el tringulo, rectngulo y el cculo c4 B"ora procederemos a digitar el cdigo para llamar a las %entanas de dilogo de las reas 3cuadrado, triangulo, rectangulo y circulo4 -ara esto "aga doble clic en el botn Bceptar 3generar automticamente el e%ento .nBceptar, "aga clic en .G4 y escriba1

%oid !:entanasMultiples8lg11.nBceptar34 U $pdate8ata3true4< s6itc"3mQ!uadrado4 U

71

case ;1 U int r< !BreaQ!uadrado dlgBreaQ!uadrado 3t"is4< rLdlgBreaQ!uadrado 8oModal34< V<breaD< case 11Uint r<!BreaQ?riangulo dlgBreaQ?riangulo 3t"is4< rLdlgBreaQ?riangulo 8oModal34<V<breaD< case N1Uint r<!BreaQSectangulo dlgBreaQSectangulo3t"is4< rLdlgBreaQSectangulo 8oModal34<V<breaD< case O1Uint r<!BreaQ!irculo dlgBreaQ!irculo 3t"is4< rLdlgBreaQ!irculo 8oModal34<V<breaD< V $pdate8ata3/alse4< V

2OTA8 En !BreaQ!uadrado dlgBreaQ!uadrado 3t"is4< se crea un ob0eto deri%ado de la clase!BreaQ!uadrado especi/icadondo !lase %ariable3t"is4, t"is es un puntero que "ace re/erencia al ob0eto actual, osea, el dialogo principal I en rLdlgBreaQ!uadrado 8oModal34 a tra%es de 8oModal34, del ob0eto reciben creado, se llama al dilogo, y es ms, se le pasa en este punto el control del programa, de manera tal que cuando se cierre el nue%o cuadro de dialogo el /lu0o del programa continuar despu,s de esta lnea Paso *4! Crear la +entana de di,logo Area del Cuadrado Seguidamente "acemos clicD en la carpeta 8ialog de la pesta9a Sesourse :ie6, y seleccionar I88Q!$B8SB8. $bique los controles indicados1 N etiqueta N ca0as de texto N botones de comando

72

Lenguaje de Programacin II

!ontrol I88Q!$B8SB8. I8!QS?B?I!314 I8!QS?B?I!3O4 I8!QE8I? 1 I8!QE8I? N I8!QH$??.&314 I8!QH$??.&3N4

-ropiedades !aption !aption !aption I8 &umber I8 &umber Sead=only I8 !aption 8e/aultQbutton I8 !aption

:alor Brea del !uadrado (ado 1 Sesultado 1 I8!Q(B8. ?rue I8!QBSEB ?rue ?rue I8!Q!B(!$(BS T!alcular ?rue I8!Q&$E:. T&ue%o

$na %e# seleccionado esto modi/ique la %entana en tiempo de dise9o, la cual debe quedar de la siguiente manera1

B"ora procederemos a crear las %ariables miembro para las ca0as de texto de la siguiente manera, in%oque a !lass 5i#ard 3!trl754 en la /ic"a de Member :ariables la %entana de dilogo Brea del !uadrado1

73

B"ora procederemos a escribir el cdigo para nuestra aplicacin ?odo el cdigo ir en el botn !alcular !rear la /uncin miembro para el botn llamada .n!alcular34 dando doble clicD al botn de comando en el dialogo

B"ora digite las siguientes lneas de cdigo1 %oid !BreaQ!uadrado11.n!alcular34 U $pdate8ata3true4< mQBreaLmQ(ado[mQ(ado< $pdate8ata3/alse4< V B"ora escribiremos cdigo para que al presionar el botn &ue%o, las ca0as de texto %uel%an a un %alor ; de iniciali#acin, para esto primero "aga

74

Lenguaje de Programacin II

doble clicD para crear la nue%a /uncin miembro con el nombre de .n&ue%o1

y escriba el siguiente cdigo1 %oid !BreaQ!uadrado11.n&ue%o34 U mQBreaLmQ(adoL;< $pdate8ata3/alse4< V donde mQBrea es el resultado Paso * ! Crear la +entana de di,logo Area del tri,ngulo Seguidamente "acer clicD en la carpeta 8ialog de la pesta9a Sesourse :ie6, y seleccionar I88Q?SIB&)$(. $bique los controles indicados1 O etiqueta O ca0as de texto N botones de comando -ropiedades !aption !aption !aption !aption I8 &umber I8 &umber :alor Brea del ?ringulo Hase1 Bltura1 Sespuesta 1 I8!QHBSE ?rue I8!QB(?$SB ?rue

!ontrol I88Q?SIB&)$(. I8!QS?B?I!314 I8!QS?B?I!3N4 I8!QS?B?I!3O4 I8!QE8I? 1 I8!QE8I? N

75

I8!QE8I? O I8!QH$??.&314 I8!QH$??.&3N4

I8 &umber Sead=only I8 !aption 8e/aultQbutton I8 !aption

I8!QSES-$ES?B ?rue ?rue I8!Q!B(!$(BS T!alcular ?rue I8!Q&$E:. T&ue%o

$na %e# seleccionado esto modi/ique la %entana en tiempo de dise9o, la cual debe quedar de la siguiente manera1

B"ora procederemos a crear las %ariables miembro para las ca0as de texto de la siguiente manera, in%oque a !lass 5i#ard 3!trl754 en la /ic"a de Member :ariables1

76

Lenguaje de Programacin II

B"ora procederemos a escribir el cdigo para nuestra aplicacin ?odo el cdigo ir en el botn !alcular !rear la /uncin miembro para el botn llamada .n!alcular34 dando doble clicD al botn de comando en el dialogo

B"ora digite las siguientes lneas de cdigo1 %oid !BreaQ?riangulo11.n!alcular34 U $pdate8ata3true4< mQSespuestaL3mQBltura[mQHase4AN< $pdate8ata3/alse4< V B"ora escribiremos cdigo para que al presionar el botn &ue%o, las ca0as de texto %uel%an a un %alor ; de iniciali#acin, para esto primero "aga doble clicD para crear la nue%a /uncin miembro con el nombre de .n&ue%o1

77

y escriba el siguiente cdigo1 %oid !BreaQ?riangulo11.n&ue%o34 U mQSespuestaLmQBlturaLmQHaseL;< $pdate8ata3/alse4< V Paso *$! Crear la +entana de di,logo Area del rectangulo 8e la misma manera "acer clicD en la carpeta 8ialog de la pesta9a Sesourse :ie6 ,y seleccionar I88Q8IB(.)N 3I88QSE!?B&)$(.4 $bique los controles indicados1 O etiquetas O ca0as de texto N botones de comando !ontrol I88QSE!?B&)$(. I8!QS?B?I!314 I8!QS?B?I!3N4 I8!QS?B?I!3O4 I8!QE8I? 1 I8!QE8I? N I8!QE8I? O I8!QH$??.&314 -ropiedades !aption !aption !aption !aption I8 &umber I8 &umber I8 &umber Sead=only I8 !aption :alor Brea del Sectangulo (ado Mayor1 (ado Menor 1 Sesultado 1 I8!Q(B8.MBI.S ?rue I8!Q(B8.ME&.S ?rue I8!QSES$(?B8. ?rue ?rue I8!Q!B(!$(BS T!alcular

78

Lenguaje de Programacin II

I8!QH$??.&3N4

8e/ault button I8 !aption

?rue I8!Q&$E:. T&ue%o

$na %e# seleccionado esto modi/ique la %entana en tiempo de dise9o, la cual debe quedar de la siguiente manera1

B"ora procederemos a crear las %ariables miembro para las ca0as de texto de la siguiente manera, in%oque a !lass 5i#ard en la /ic"a de Member :ariables1

79

B"ora procederemos a escribir el cdigo para nuestra aplicacin ?odo el cdigo ir en el botn !alcular !rear la /uncin miembro para el botn llamada .n!alcular34 dando doble clicD al botn de comando en el dialogo

%oid !BreaQSectangulo11.n!alcular34 U $pdate8ata3true4< mQSesultadoLmQ(adoMayor[mQ(adoMenor< $pdate8ata3/alse4< V B"ora escribiremos cdigo para que al presionar el botn &ue%o, las ca0as de texto %uel%an a un %alor ;, para esto primero "aga doble clicD para crear la nue%a /uncin miembro con el nombre de .n&ue%o341

B"ora digite las siguientes lneas de cdigo1 %oid !BreaQSectangulo11.n&ue%o34 U mQSesultadoLmQ(adoMayorLmQ(adoMenorL;< $pdate8ata 3/alse4< V

80

Lenguaje de Programacin II

Paso *&! Crear la +entana de di,logo Area del C#rculo Eacer clicD en la carpeta 8ialog de la pesta9a Sesourse :ie6 ,y seleccionar I88Q8IB(.)N 3I88Q!IS!$(.4 $bique los controles indicados1 N etiquetas O ca0as de texto N botones de comando Control I88Q!IS!$(. I8!QS?B?I!314 I8!QS?B?I!3N4 I8!QE8I? 1 I8!QE8I? N I8!QH$??.&314 I8!QH$??.&3N4 Propiedades !aption !aption !aption I8 &umber I8 &umber Sead=only I8 !aption 8e/ault button I8 !aption +alor Brea del !irculo Sadio1 Sesultado 1 I8!QSB8I. ?rue I8!QBSEB ?rue ?rue I8!Q!B(!$(BS T!alcular ?rue I8!Q&$E:. T&ue%o

$na %e# seleccionado esto modi/ique la %entana en tiempo de dise9o, la cual debe quedar de la siguiente manera1

81

B"ora procederemos a crear las %ariables miembro para las ca0as de texto de la siguiente manera, in%oque a !lass 5i#ard en la /ic"a de Member :ariables1

B"ora procederemos a escribir el cdigo para nuestra aplicacin ?odo el cdigo ir en el botn !alcular !rear la /uncin miembro para el botn llamada .n!alcular34 dando doble clicD al botn de comando en el dialogo

%oid !BreaQ!irculo11.n!alcular34 U $pdate8ata3true4< mQSesultadoLO 1P1J[mQSadio[mQSadio< $pdate8ata3/alse4< V

82

Lenguaje de Programacin II

%oid !BreaQSectangulo11.n!alcular34 U $pdate8ata3true4< mQSesultadoLO 1P1JaN[ mQSadio[ mQSadio< $pdate8ata3/alse4< V B"ora escribiremos cdigo para que al presionar el botn &ue%o, las ca0as de texto %uel%an a un %alor ;, para esto primero "aga doble clicD para crear la nue%a /uncin miembro con el nombre de .n&ue%o341

B"ora digite las siguientes lneas de cdigo1 %oid !BreaQ!irculo11.n&ue%o34 U mQSesultadoLmQSadioL;< $pdate8ata 3/alse4< V

83

$na %e# culminado los pasos anteriores correctamente se e0ecutar el programa, obteniendo una %entana como esta1

Seguidamente "aciendo clicD en Bceptar se obtiene la siguiente %entana1

84

Lenguaje de Programacin II

en la cual se puede reali#ar el clculo del rea del cuadrado, as mismo al seleccionar cada uno de los dems botones de opcin obtendremos las siguientes %entanas 3una a la %e#41

85

?area1 14

$tili#ando esta aplicacin calcular el %olumen de J /iguras geom,tricas

Se/erencia Hibliogr/ica 8aniel Sa/ael +rancia ':isual !77 R ; -gs 17;=1a;

86

Lenguaje de Programacin II

$ni%ersidad &acional 'San (uis )on#aga* de Ica +acultad de Ingeniera Mecnica y El,ctrica Escuela de Ingeniera Electrnica

CLASE 1+

Manual Tutorial #e ME24

Se ana 1+

!reacin de un men principal utili#ando una aplicacin S8I, Blmacenar la aplicacin con el nombre MISDI Existe dos /ormas de categoras de aplicaciones 8ocumentosA:ista estos son el S8I y el M8I KK+ileA&e6AM+! Bpp5i#ard3exe4A-royect &ameLMIS8IA (ocation L 81MI:EEMBpp+ormasA.D>>

Seguidamente KKStep1L 8ocument SingleA&ext>> KKStepNL &oneA&ext>> KKStepOL &oneABcti%eF !ontorlsA&ext>> KKStepPL 8ocDing ?oolbarAInicial StatusHarA-rinting and -rint -re%ie6 A O8 !ontrolsAA&ormalA&ext >> KKStepJL M+! StandardAAIes pleaceABs s"ared 8((A&ext >> KKStepRL +inis"A.D >>

87

88

Lenguaje de Programacin II

El ob0eti%o de esta aplicacin es de %isuali#ar un men de barra y .pciones de men !olgante, solo usaremos las opciones euitar y -oner B9adimos las %ariables que necesitaremos, la primera de ellas se debe "acer manualmente, "acer un clic con el botn derec"o del mouse y escoger la opcin A## Me $er Varia$le del men, aqu declaramos la %ariable !anti#a# de tipo int y adems ser protegida 3-rotectec4

89

B"ora que ya se tiene la %ariable nos queda crear la /uncin miembro sobre la clase CMISDIDo!, se escoge la opcin A## Me $er <un!tion, creamos la /uncin O$tenerVaria$le@B de tipo int y adems marcaremos la opcin Pu$li!

90

Lenguaje de Programacin II

(a /uncin .btener :ariable debe tener la siguiente codi/icacin1 int !MIS8I8oc11.btener:ariable34 U return cantidad< V

B"ora utili#aremos el !lass5i#ard, presionando !trl 75, para obtener el cuadro de dilogo M+! !lass5i#ard, seleccionamos la solapa pesta9a Messages Ma(s, en el cuadro combinado Class 2a e buscamos y seleccionamos CMISDIDo! y lo mismo en la lista O$%e!t IDs, en el cuadro de lista Messages seleccionamos DeleteContents y luego pulsamos el botn A## <un!tion, /inalmente pulsamos el botn Edit !odeA.D

91

(a /uncin DeleteContents debe de tener la siguiente codi/icacin1 %oid !MIS8I8oc118elete!ontents34 U AA ?.8.1 Bdd your speciali#ed code "ere andAor call t"e base class cantidadL1< !8ocument118elete!ontents34< V (a /uncin 8elete!ontents tiene la /uncin de eliminar el contenido del documento que se est utili#ando -ara gra/icar la /igura del men lo "aremos mediante la /uncin OnDra-@CDCJ(DC4, esta /uncin se encuentra en la solapa !lass:ie6 en la opcin CMISDIVie-, esta /uncin se encarga del procesamiento de impresin y de la %ista pre%ia, entonces modi/icaremos esta /uncin para nuestra con%eniencia, "aremos doble clic para su respecti%a codi/icacin1 %oid !MIS8I:ie611.n8ra63!8![ p8!4 U !MIS8I8oc[ p8oc L )et8ocument34< BSSES?Q:B(I83p8oc4< AA ?.8.1 add dra6 code /or nati%e data "ere !Hrus"[ p.ldHrus"Lp8!=>)et!urrentHrus"34< AA!reamos una lnea de color Ver#u3!o !Hrus" brus< brus !reateSolidHrus"3S)H31;;,1;;,;44,

92

Lenguaje de Programacin II

p8!=>Select.b0ect3Tbrus4< /or 3int iL;<iKp8oc=>.btener:ariable34<i774 U int xLO;;=O;[i< p8!=>Sectangle3N;,x=J,NJ;,x=J;4< V p8!=>Select.b0ect3p.ldHrus"4< V Hien, a"ora mane0aremos las opciones del men, en la solapa Sesource:ie6 seleccionamos I8SQMBI&+SBME, "aciendo doble clic sobre este, la cual se encuentra dentro de la carpeta men

Se puede %isuali#ar el men generado por Bpp5i#ard el mismo que tiene opciones como Brc"i%o, Editar, :er, Byuda< al "acer clic sobre el men Brc"i%o se tiene las opciones de &ue%o, Bbrir, )uardar, )uardar como, Imprimir, -resentacin preliminar, !on/igurar impresora y Salir Entonces es sobre estos ob0etos 3E0em )uardar4 que "aremos doble clicD que nos mostrar las propiedades siguientes1

93

-ara adicionar un submen en la opcin :er y ubicamos en la barra en blanco las propiedades1

En el I8 escribimos I8!Qponer, en el !aption '$n rectngulo ms* y en el -rompt escribimos In!re entar, de manera anloga a9adimos una opcin ms al sub men, esta %e# el I8 deber ser I8!Qsacar, el !aption '$n Sectngulo menos*, por -rompt tendr 'Dis inuir*

94

Lenguaje de Programacin II

B"ora debemos darle las rdenes a estas opciones del men, para ello debemos abrir !lass5i#ard presionando ctrl 75, seleccionamos la solapa Message Map, debemos escoger CMISDIDo! en !lass &ame all debemos ubicar y seleccionar IDC:(oner en el cuadro de lista .b0ects I8s, luego escogemos COMMA2D en Messages y presionar el botn Bdd +unction, /inalmente presionamos el botn .D en el cuadro de dilogo Bdd Member +unction, como podemos %er se "a generado una /uncin llamada On(oner

95

<in #e la (ri era (arte8 )asta aPu= /an Ha o$tener el siguiente resulta#o8

Segunda parte1 !odi/icacin de las opciones de cada men 8espu,s de ingresar con Edit !ode Ingresar la codi/icacin siguiente1 %oid !MIS8I8oc11.nponer34 U AA ?.8.1 Bdd your command "andler code "ere AA Se incrementa cada %e# que se a9ade un rectngulo cantidad77< AABctuali#a la %ista $pdateBll:ie6s3&$((4< V Igualmente seguimos el mismo procedimiento que el anterior seleccionamos el IDC:sa!ar que nos dar como resultado una /uncin llamada Onsa!ar, seguidamente presionamos el botn Edit !ode donde se ingresar el siguiente cdigo1 %oid !MIS8I8oc11.nsacar34 U AA ?.8.1 Bdd your command "andler code "ere AA Se incrementa cada %e# que se a9ade un rectngulo i/ 3cantidad>;4 cantidad==< AA Bctuali#a la %ista $pdateBll:ie6s3&$((4< V

96

Lenguaje de Programacin II

Tareas8 14

:ariar las posiciones de impresin del bloque de modo %ertical y el incremento "acia la derec"a

Se/erencia1 Bburto !orrea Eed 'Bplique programacin en %isual !77 -gs 7=1, =7

97

$ni%ersidad &acional 'San (uis )on#aga* de Ica +acultad de Ingeniera Mecnica y El,ctrica Escuela de Ingeniera Electrnica

CLASE 10 BASES DE DATOS Se ana 10

Manual Tutorial

Existen motores de bases de datos especiali#ados como son :isual Hasic, :isual +ox -ro, .racle -o6er Huilder que permiten gran %ersatilidad y :isual !77 no es la excepcin -rimeramente %amos "a generar una base de datos con Bccess llamada Mi Hase mbd, ser con esta base con la que traba0aremos, su estructura es muy sencilla, como se muestra +igura &ro ;141 Bbrir Bccsess, crear una base en blanco, crear una tabla en %ista de dise9o, ecribir los nombres de los campos como se indica en la gr/ica1 Id 3(a%e principal tipo Butonum,rico4, &ombre, Butor, )enero, 8isquera, +ecQpublic sern del tipo ?exto respecti%amente, el cual nos muestra la estructura de la tabla llamada DATOS M4SICALES1

<igura 2ro. 61

4SAMOS ODBC
-ara utili#ar .8H!, primero se debe de crear especi/ica el tipo de /uente de datos con la crearemos lle%ar el nombre de Bu!NetOStu**, simplemente "ace re/erencia a la base de "acemos esta operacin una /uente de datos 8&S, este cual se traba0ar1 el 8&S que el 8&S no es una base de datos, datos< entonces %eamos como

8entro de su -c seleccione el Icono Mi P! del escritorio de 5indo6s y seleccionamos el panel de control

98

Lenguaje de Programacin II

Ia en el panel de control escogemos la opcin <uente #e #atos ODBC 3ON bits4, esta accin nos mostrar una pantalla como se muestra en la +igura &ro ;N que sigue, el mismo que corresponde al Bdministrador de orgenes de datos .8H! Si el sistema operati%o esta en 5indo6s F- ingrese a Eerramientas administrati%as, .rgenes de datos .8H!

<igura 2ro. 6+ Seleccionamos la sola(a D2S #e usuario y pulsamos el botn AgregarA esto nos mostrar el cuadro de dilogo !rear nue%o origen de datos, aqu seleccionaremos Mi!roso*t A!!ess Dri/er @J. #$B este es el controlador para el cual queremos instalar un origen de datos -ulsamos el Hotn +inali#ar para continuar con el traba0o

99

<igura 2ro. 60

(uego aparecer el cuadro de dilogo Instalacin .8H! para Microso/t Bccess, en el campo nombre origen de datos ingresamos Bu!NetOStu**, en el campo 8escripcin se puede colocar lo que ms le guste, se de0a a su eleccin

100

Lenguaje de Programacin II

<igura 2ro. 6; En la ca0a de )rupo Hase de datos pulsaremos el botn Sele!!ionar, para agregar la base de datos con la cual %amos "a traba0ar $na %e# que aparece la ca0a de dilogo Seleccionar base de datos, se debe de buscar en el disco duro la ruta del arc"i%o Mi Base. #$ generado por Bccess1 (a ruta ser1 81MI:EEMMi Hase mdb

<igura 2ro. 6C -ulsaremos Bceptar en todos los cuadros de dilogos que se pueda tener "asta que desapare#can todos +inalmente el dri%er Bu!NetOStu** es el que conecta entre la base de datos de Bccsess y la aplicacin :isual !77< como sigue1

101

<igura 2ro. 6D

CREACIO2 DE LA APLICACIO2
KK+ileA&e6AM+! Bpp5i#ard3exe4A-royect &ameLHBSE1A (ocation L 81MI:EEMHBSE1A.D>> Seguidamente KKStep1L 8ocument SingleA&ext>> KKStepNL 8atabase :ie6 5it"out +ile Support A8ata SourceA&ext>> !rearemos una aplicacin llamada HBSES1, ,ste ser del tipo S8I, opcin que marcaremos en el paso uno, debe tener un soporte Do!Vie-A en el paso dos debemos seleccionar la opcin Data$ase Vie- ,itHout <ile Su((ort, como se muestra1

102

Lenguaje de Programacin II

<igura 2ro. 6F En el Step 3N Y R4, se pulsa el botn 8ata Source, obse%aremos que aparece el cuadro de dilogo 8atabase .ptions, aqu eligiremos .8H!, con la que traba0aremos, en su lista desplegable seleccionaremos HucDet.Stu//

<igura 2ro. 67 En la ca0a de grupo Secordset ?ype marcamos la opcin 8ynaset, /inalmente pulsaremos el botn ON

103

<igura 2ro. 16 .bser%aremos que el Bpp5i#ard 3Step N de R4 nos mostrar la Hase de 8atos 3Select 8atabase ?ables4, entonces "emos seleccionamos la tabla 8B?.S M$SI!B(ES, en el Step N de R, pulsamos &ext (os pasos siguientes presionamos por de/ecto &ext, querr decir que estamos aceptando los %alores por de/ecto &tese que en el Step R la clase utili#ada es !Secord:ie6

<igura 2ro. 11

104

Lenguaje de Programacin II

Bl pulsar +inis" la Bpp5i#ard "a generado la aplicacin para bases de datos, nuestra primera inter/ace ya est terminada, nos queda implementar los controles necesarios para mane0ar y %isuali#ar la base de datos

1E2ERA2DO EL E2TOR2O DE LA IMPLEME2TACIO2


(a implementacin del cuadro de dilogo para el mane0o de la base de datos se "ar siguiendo los siguientes pasos1 $biquemos el /ormulario I88QHBSES1Q+.SM, el cual esta dentro de la carpeta 8ialog en el panel Sesource:ie6 Eacemos doble clicD sobre este para que se %isualice el cuadro de dilogo, el cual debe estar %aco, si existiera algn tipo de elemento comentario lo borraremos Seleccionemos el control Static ?ext y coloquemos seis de estos controles uno ba0o el otro Segn la +igura &ro 1N Estos controles deben tener el !aption que muestra la +igura &ro 1N, los cuales son en orden1 I8, &.MHSE, B$?.S, )E&ES., 8ISe$ESB, +E!E-$H(I! Bgregamos seis controles Edit Hox y nue%amente los colocamos segn la +igura &ro 1N, deben tener los siguientes nombres1 I8!QI8, I8!Q&.MHSE, I8!QB$?.S, I8!Q)E&ES., I8!Q8ISe$ESB I8!Q+E!EB Bdems debemos borrar los respecti%os !aption de todos los controles Edit Hox, segn la +igura &ro 1N

<igura 2ro. 1+

105

(a inte/ace gr/ica ya est lista a"ora solo nos queda enla#ar las %ariables de los controles, y eso ser todo el traba0o por a"ora, entonces abrimos !lass5i#ard para continuar la labor Bl abrir el !lass5i#ard 3!trl 754, asegurese que en !lass &ame est, seleccionado !HBSES1:ie6 Seleccionamos la solapa Member :ariable -ara a9adir miembros necesarias 8el listado !ontrol I8s, seleccionamos I8!QI8 y luego pulsamos el botn Bdd :ariableC , apareciendo la pantalla Bdd Member :ariable &otemos que en Bdd :ariable &ame podemos escoger el nombre de un listado, como se muestra en la +igura &ro 1O, de este listado elegimos la .pcin mQpset=>mQId, y luego pulsamos el botn .D 8e manera anloga debemos "acerlo con el resto de controles, como se puede notar en la +igura &ro 1O, existe una %ariable asociada opr cada control Estas %ariables "an sido creadas 0untamente con el proyecto con !lass5i#ard Bsegrese de darle un mximo de caracteres a cada control para una mayor consistencia de los datos

<igura 2ro 10 Si compilamos nuestra aplicacin podemos acceder /cilmente a los datos que existen en la base de datos, notaremos adems que existe /orma de na%egar dentro de la base de datos ya que se cuenta con una barra de despla#amiento de registros as como tambi,n lo podemos "acer desde el men principal en la opcin Segistro

106

Lenguaje de Programacin II

<igura 2ro. 1; RES4LTADO <I2AL

?area1 14 N4 Seali#ar una aplicacin que muestre el %alor en o"mios segn la codi/icacin de colores para las resistencias utili#adas en electrnica Seali#ar una base de datos con los datos personales en la cual uno de los campos est, relacionado con la imagen de cada uno de los registros

Se/erencia1 Bburto !orrea Eed 'Bplique programacin en %isual !77 -gs 1=11,7 =11

107

PRO5ECTOS DE <I2 DE C4RSO EJEC4TADOS


APLICACIO2ES DE VE2TA2AS M4LTIPLES !rearemos una aplicacin basada en dilogos que calcule el %alor nominal de una resistencia de P bandas y que adems calcule los colores para un determinado %alor de resistencia Bbra el :isual !77 R ; y cree una nue%a aplicacin M+!

!oloque el nombre correspondiente y de .G En la %entana siguiente seleccione1 8ialog based y d, clic a +inis"

108

Lenguaje de Programacin II

-ara buenos e/ectos de nuestra aplicacin tenemos que agregar algunos recursos 8ir0ase al 5orDSpace en la %ista de recursos y "aga clic derec"o sobre cualquier elemento

109

Eaga clic en Insert y le aparecera un cuadro de dialogo pidiendo que seleccionemos que tipo de recurso deseamos agregar Seleccionamos Hitmap y le damos Import

En el cuadro de dialogo elegimos todas las imgenes presentes en la carpeta Imgenes que se ad0unta1

!ierre cada uno de los bitmap que se muestran en la pantalla, a continuacin asigne un I8 a cada elemento nue%o segn su nombre de arc"i%o de la siguiente manera1

110

Lenguaje de Programacin II

I8HQSESIS?.S al bitmap resistor bmp< lo mismo para todos y cada uno de los elementos

-aso seguido agregue un nue%o recurso, pero esta %e# se trata de un men Bl igual como lo "i#o para las imgenes, a"ora agregue un men y d,le la apariencia siguiente1

I8Q-S.)SBMBQSB(IS I8Q!B(!$(BSQ:B(.S&.MI&B( I8Q!B(!$(BSQ!.8I).8E!.(.SES B"ora solo queda enla#ar el men al dialogo En las propiedades del dialogo, en el combo men, seleccione I8SQME&$11

111

8emos instrucciones para el Item Salir del men -rograma1 -resione !ontrol 7 5 y seleccione Bdd +unction como se muestra1

I luego "aga cliD Edit !ode Escriba1 %oid !SusbelQsosa8lg11.n-rogramaSalir34 U t"is=>8estroy5indo634< V Secuerde bien como agrego un controlador de e%ento puesto que mas adelante no detallaremos los pasos

112

Lenguaje de Programacin II

Bgreguemos los dilogos necesarios para nuestra aplicacin Eaga clic derec"o sobre cualquier elemento de la %entana de recursos y seleccione Insert 8ialog1

Bparecer un nue%o dialogo B"ora presione !ontrol 7 5 y obser%e que el !lass5i#ard detecto el nue%o dialogo Se nos pide una nue%a clase1

-resione .G

113

Ingrese los %alores mostrados Introdu#ca un nue%o dialogo y en la nue%a clase ingrese !!olores1

:aya a la %ista de arc"i%os y seleccione1

114

Lenguaje de Programacin II

En la parte superior del arc"i%o declare1 AA SusbelQsosa8lg cpp 1 implementation /ile dinclude 2stda/x "2 dinclude 2SusbelQsosa "2 dinclude 2SusbelQsosa8lg "2 -include .)alor/ominal0(. -include .Colores0(. Bl Item )alor nominal del men Calcular agregue el siguiente cdigo como se explico anteriormente1 %oid !:alor&ominal11.n!alcular:alornominal34 U !:alor&ominal dlg:alor&ominal3t"is4< dlg:alor&ominal 8oModal34< V Igualmente para el Item !odigo de colores1 %oid !SusbelQsosa8lg11.n!alcular!odigodecolores34 U !!olores dlg!olores3t"is4< dlg!olores 8oModal34< V Este cdigo que acabamos de escribir reali#a el llamado de los dilogos segn corresponda B"ora traba0aremos por separado cada uno de los dilogos agregados1

115

Pri er Dialogo8
Bgregue los siguientes controles y d,les la apariencia indicada1 J !ombo Hox 1W -ictures 1 Hutton N Edit Hox N )roup Hox R Static

116

Lenguaje de Programacin II

117

Control I8!QS?B?I!a I8!QS?B?I!b I8!QS?B?I!c I8!QS?B?I!d I8!QS?B?I!e I8!QS?B?I!/ I8!QS?B?I!1 I8!QS?B?I!N I8!QH$??.&1

Propiedad !aption !aption !aption !aption !aption !aption !aption !aption !aption I8 I8

)alor -rimer digito 1 Segundo digito 1 Multiplicador 1 ?olerancia 1 :alor 1 ?olerancia 1 Seleccione los parmetros 1 Sesultados 1 !alcular I8!Q!B(!$(BS I8!QS; HitMap I8HQ&E)S. I8!QS1 HitMap I8HQMBSS.& I8!QSN HitMap I8HQS.Z. I8!QSO HitMap I8HQ&BSB&ZB I8!QSP HitMap I8HQBMBSI((. I8!QSJ HitMap I8HQ:ES8E I8!QSR HitMap I8HQBf$( I8!QS7 HitMap

I8!QS?B?I!g

?ype Image I8

I8!QS?B?I!"

?ype Image I8

I8!QS?B?I!i

?ype Image I8

I8!QS?B?I!0

?ype Image I8

I8!QS?B?I!D

?ype Image I8

I8!QS?B?I!l

?ype Image

I8!QS?B?I!m

I8 ?ype

118

Image I8!QS?B?I!n I8 ?ype

Lenguaje de Programacin II

Bdems los -icture con I8 del I8!QS; a I8!QS: deben estas en :isible L /alse B"ora declare el siguiente cuadro de %ariables1 I1 I8!Q!.MH.1 I8!Q!.MH.N I8!Q!.MH.O I8!Q!.MH.P I8!Q!.MH.J I8!QE8I?1 I8!QE8I?1 I8!QS; I8!QS1 I8!QSN I8!QSO I8!QSP I8!QSJ I8!QSR I8!QS7 I8!QSW I8!QSa I8!QS8 I8!QSI8!QS: I8!Q-SI I8!QSE) I8!QM$( I8!Q?.( 2ype !!omboHox !!omboHox !!omboHox !!omboHox !!omboHox 8ouble !string !Static !Static !Static !Static !Static !Static !Static !Static !Static !Static !Static !Static !Static !Static !Static !Static !Static 3iembro combo1 comboN combom combot comboescala %alor tolerancia S; S1 SN SO SP SJ SR S7 SW Sa S8 SS: -rimer Segn Multi tolera

B"ora en ,l presionamos !ontrol 7 5 y en el !lass5i#ard en la pesta9a MessageMaps ubicamos el siguiente elemento1 5MQI&I?8IB(.)

119

Eacemos clic en Bdd+unction y luego en Edit !ode Bgregamos el siguiente cdigo1 H..( !:alor&ominal11.nInit8ialog34 U !8ialog11.nInit8ialog34< AA ?.8.1 Bdd extra initiali#ation "ere combo1 combo1 combo1 combo1 combo1 combo1 combo1 combo1 combo1 combo1 comboN comboN comboN comboN comboN BddString32&egro24< BddString32Marron24< BddString32So0o24< BddString32&aran0a24< BddString32Bmarillo24< BddString32:erde24< BddString32B#ul24< BddString32:ioleta24< BddString32)ris24< BddString32Hlanco24< BddString32&egro24< BddString32Marron24< BddString32So0o24< BddString32&aran0a24< BddString32Bmarillo24<

120

Lenguaje de Programacin II

comboN comboN comboN comboN comboN combom combom combom combom combom combom combom combom combom combom combom combom

BddString32:erde24< BddString32B#ul24< BddString32:ioleta24< BddString32)ris24< BddString32Hlanco24< BddString32&egro24< BddString32Marron24< BddString32So0o24< BddString32&aran0a24< BddString32Bmarillo24< BddString32:erde24< BddString32B#ul24< BddString32:ioleta24< BddString32)ris24< BddString32Hlanco24< BddString328orado24< BddString32-lateado24<

combot BddString328orado24< combot BddString32-lateado24< combot BddString32&inguna24< comboescala BddString32o"m24< comboescala BddString32G o"m24< comboescala BddString32M o"m24< combo1 Set!urSel3;4< comboN Set!urSel3;4< combom Set!urSel3;4< combot Set!urSel3;4< comboescala Set!urSel3;4< primer SetHitmap3S; )etHitmap344< segun SetHitmap3S; )etHitmap344< multi SetHitmap3S; )etHitmap344< tolera SetHitmap3S8 )etHitmap344< return ?S$E< AA return ?S$E unless you set t"e /ocus to a control AA EF!E-?I.&1 .!F -roperty -ages s"ould return +B(SE V

AHora en el $ot"n Cal!ular8


%oid !:alor&ominal11.n!alcular34 U $pdate8ata3true4< s6itc"3combot )et!urSel344 U

121

case ;1 tolerancia L 2J^2<breaD< case 11 tolerancia L 21;^2<breaD< case N1 tolerancia L 2N;^2<breaD< V< s6itc"3combo1 )et!urSel344 U case ;1 %alorL;<breaD< case 11 %alorL1;<breaD< case N1 %alorLN;<breaD< case O1 %alorLO;<breaD< case P1 %alorLP;<breaD< case J1 %alorLJ;<breaD< case R1 %alorLR;<breaD< case 71 %alorL7;<breaD< case W1 %alorLW;<breaD< case a1 %alorLa;<breaD< V< s6itc"3comboN )et!urSel344 U case ;1 %alorL%alor 7 ;<breaD< case 11 %alorL%alor 7 1<breaD< case N1 %alorL%alor 7 N<breaD< case O1 %alorL%alor 7 O<breaD< case P1 %alorL%alor 7 P<breaD< case J1 %alorL%alor 7 J<breaD< case R1 %alorL%alor 7 R<breaD< case 71 %alorL%alor 7 7<breaD< case W1 %alorL%alor 7 W<breaD< case a1 %alorL%alor 7 a<breaD< V< s6itc"3combom )et!urSel344 U case ;1 %alorL%alor[1<breaD< case 11 %alorL%alor[1;<breaD< case N1 %alorL%alor[1;;<breaD< case O1 %alorL%alor[1;;;<breaD< case P1 %alorL%alor[1;;;;<breaD< case J1 %alorL%alor[1;;;;;<breaD< case R1 %alorL%alor[1;;;;;;<breaD< case 71 %alorL%alor[1;;;;;;;<breaD< case W1 %alorL%alor[1;;;;;;;;<breaD< case a1 %alorL%alor[1;;;;;;;;;<breaD< case 1;1%alorL%alor[; 1<breaD< case 111%alorL%alor[; ;1<breaD< V< s6itc"3comboescala )et!urSel344 U

122

Lenguaje de Programacin II

case 11 %alor L %alorA1;;;<breaD< case N1 %alor L %alorA1;;;;;;<breaD< V< $pdate8ata3/alse4< V B"ora con ayuda del !lass5i#ard agregue el mensa0e !H&QSE(!EB&)E de cada uno de los combos Edite el codigo de cada uno de los combos de la siguiente manera1

Co $o 18
%oid !:alor&ominal11.nSelc"ange!ombo134 U AA ?.8.1 Bdd your control noti/ication "andler code "ere $pdate8ata3true4< s6itc"3combo1 )et!urSel344 U case ;1 primer SetHitmap3S; )etHitmap344<breaD< case 11 primer SetHitmap3S1 )etHitmap344<breaD< case N1 primer SetHitmap3SN )etHitmap344<breaD< case O1 primer SetHitmap3SO )etHitmap344<breaD< case P1 primer SetHitmap3SP )etHitmap344<breaD< case J1 primer SetHitmap3SJ )etHitmap344<breaD< case R1 primer SetHitmap3SR )etHitmap344<breaD< case 71 primer SetHitmap3S7 )etHitmap344<breaD< case W1 primer SetHitmap3SW )etHitmap344<breaD< case a1 primer SetHitmap3Sa )etHitmap344<breaD< V< $pdate8ata3/alse4< V

Co $o +8
%oid !:alor&ominal11.nSelc"ange!omboN34 U AA ?.8.1 Bdd your control noti/ication "andler code "ere $pdate8ata3true4< s6itc"3comboN )et!urSel344 U case ;1 segun SetHitmap3S; )etHitmap344<breaD< case 11 segun SetHitmap3S1 )etHitmap344<breaD< case N1 segun SetHitmap3SN )etHitmap344<breaD< case O1 segun SetHitmap3SO )etHitmap344<breaD< case P1 segun SetHitmap3SP )etHitmap344<breaD< case J1 segun SetHitmap3SJ )etHitmap344<breaD< case R1 segun SetHitmap3SR )etHitmap344<breaD< case 71 segun SetHitmap3S7 )etHitmap344<breaD<

123

case W1 segun SetHitmap3SW )etHitmap344<breaD< case a1 segun SetHitmap3Sa )etHitmap344<breaD< V< $pdate8ata3/alse4< V

Co $o

%oid !:alor&ominal11.nSelc"ange!omboO34 U AA ?.8.1 Bdd your control noti/ication "andler code "ere $pdate8ata3true4< s6itc"3combom )et!urSel344 U case ;1 multi SetHitmap3S; )etHitmap344<breaD< case 11 multi SetHitmap3S1 )etHitmap344<breaD< case N1 multi SetHitmap3SN )etHitmap344<breaD< case O1 multi SetHitmap3SO )etHitmap344<breaD< case P1 multi SetHitmap3SP )etHitmap344<breaD< case J1 multi SetHitmap3SJ )etHitmap344<breaD< case R1 multi SetHitmap3SR )etHitmap344<breaD< case 71 multi SetHitmap3S7 )etHitmap344<breaD< case W1 multi SetHitmap3SW )etHitmap344<breaD< case a1 multi SetHitmap3Sa )etHitmap344<breaD< case 1;1 multi SetHitmap3S8 )etHitmap344<breaD< case 111 multi SetHitmap3S- )etHitmap344<breaD< V< $pdate8ata3/alse4< V

Co $o t8
%oid !:alor&ominal11.nSelc"ange!omboJ34 U AA ?.8.1 Bdd your control noti/ication "andler code "ere $pdate8ata3true4< s6itc"3combot )et!urSel344 U case ;1 tolera SetHitmap3S8 )etHitmap344<breaD< case 11 tolera SetHitmap3S- )etHitmap344<breaD< case N1 tolera SetHitmap3S: )etHitmap344<breaD< V< $pdate8ata3/alse4< V

124

Lenguaje de Programacin II

Segun#o Di>logo8
Bgregue los siguientes controles y d,les la apariencia indicada1 N !ombo Hox 1W -ictures 1 Hutton N Edit Hox N )roup Hox 1O Static

125

Control I8!QS?B?I!a I8!QS?B?I!b I8!QS?B?I!c I8!QS?B?I!d I8!QS?B?I!e I8!QS?B?I!/ I8!QS?B?I!g I8!QS?B?I!" I8!QS?B?I!i

Propiedad !aption !aption !aption !aption !aption !aption !aption !aption !aption

)alor &egro Marrn So0o &aran0a Bmarillo :erde B#ul :ioleta )ris

I8!QS?B?I!0 I8!QS?B?I!D I8!QS?B?I!l I8!QS?B?I!1 I8!QS?B?I!N

!aption !aption !aption !aption !aption

Hlanco 8orado ?olerancia Ingrese un %alor 1 !digo de colores 1

I8!QH$??.&1

!aption I8 I8

!alcular I8!Q!B(!$(BS I8!QS; HitMap I8HQ&E)S. I8!QS1 HitMap I8HQMBSS.&

I8!QS?B?I!m

?ype Image I8

I8!QS?B?I!n

?ype Image

126

Lenguaje de Programacin II

I8 I8!QS?B?I!o ?ype Image I8 I8!QS?B?I!p ?ype Image I8 I8!QS?B?I!q ?ype Image I8 I8!QS?B?I!r ?ype Image I8 I8!QS?B?I!s ?ype Image I8 I8!QS?B?I!t ?ype Image

I8!QSN HitMap I8HQS.Z. I8!QSO HitMap I8HQ&BSB&ZB I8!QSP HitMap I8HQBMBSI((. I8!QSJ HitMap I8HQ:ES8E I8!QSR HitMap I8HQBf$( I8!QS7 HitMap I8HQ:I.(E?B

127

I8 I8!QS?B?I!u ?ype Image I8 I8!QS?B?I!% ?ype Image I8 I8!QS?B?I!6 ?ype Image I8 I8!QS?B?I!x ?ype Image I8 I8!QS?B?I!y ?ype Image I8 I8!QS?B?I!# ?ype Image I8 I8!QS?B?I!#1 ?ype Image

I8!QSW HitMap I8HQ)SIS I8!QSa HitMap I8HQH(B&!. I8!QS8 HitMap I8HQ8.SB8. I8!QSHitMap I8HQ-(B?EB8. I8!QS: HitMap I8HQ:B!I. I8!QS; HitMap I8HQ&egro I8!QIM) HitMap I8HQSESIS?.S

128

Lenguaje de Programacin II

I8 I8!QS?B?I!#N ?ype Image I8 I8!QS?B?I!#N ?ype Image I8 I8!QS?B?I!#P ?ype Image I8 I8!QS?B?I!#J ?ype Image

I8!Q-SI HitMap I8HQ&E)S. I8!QSE) HitMap I8HQ&E)S. I8!QM$( HitMap I8HQ&E)S. I8!Q?.( HitMap I8HQ:B!I.

I8!Q!.MH.1, I8!Q!.MH.N

?ype Sort

8rop (ist +alse

Bdems los -icture con I8 del I8!QS; a I8!QS: deben estas en :isible L true Bgregue el siguiente cuadro de %ariables1 I1 I8!Q!.MH.1 I8!Q!.MH.N I8!QE8I?1 I8!QS; I8!QS1 I8!QSN I8!QSO 2ype !!omboHox !!omboHox 8ouble !Static !Static !Static !Static 3iembro !omboescala combotolerancia %alornominal S; S1 SN SO

129

I8!QSP I8!QSJ I8!QSR I8!QS7 I8!QSW I8!QSa I8!QS8 I8!QSI8!QS: I8!Q-SI I8!QSE) I8!QM$( I8!Q?.(

!Static !Static !Static !Static !Static !Static !Static !Static !Static !Static !Static !Static !Static

SP SJ SR S7 SW Sa S8 SS: -rimer Segn Multi tolera

Bdems de ellas agregue las siguientes %ariables "aciendo clic derec"o sobre la clase !!olores y Bdd member :ariable1 Int pri< int seg< int M< double %alor

AHora solo Pue#a la !o#i*i!a!i"n8


Bgregue el mensa0e 5MQI&I?8IB(.) como se describio en la parte anterior Escriba en el .nInit8ialog1 H..( !!olores11.nInit8ialog34 U !8ialog11.nInit8ialog34< AA ?.8.1 Bdd extra initiali#ation "ere comboescala BddString32o"m24< comboescala BddString32G o"m24< comboescala BddString32M o"m24< combotolerancia BddString32J^24< combotolerancia BddString321;^24< combotolerancia BddString32N;^24< comboescala Set!urSel3;4< combotolerancia Set!urSel3;4<

130

Lenguaje de Programacin II

%alornominal L 1< primer SetHitmap3S; )etHitmap344< segun SetHitmap3S; )etHitmap344< multi SetHitmap3S; )etHitmap344< tolera SetHitmap3S8 )etHitmap344< return ?S$E< AA return ?S$E unless you set t"e /ocus to a control AA EF!E-?I.&1 .!F -roperty -ages s"ould return +B(SE V

En el botn !alcular escriba1


%oid !!olores11.n!alcular34 U AA ?.8.1 Bdd your control noti/ication "andler code "ere $pdate8ata3true4< %alor L %alornominal< s6itc"3combotolerancia )et!urSel344 U case ;1 tolera SetHitmap3S8 )etHitmap344<breaD< case 11 tolera SetHitmap3S- )etHitmap344<breaD< case N1 tolera SetHitmap3S: )etHitmap344<breaD< V< s6itc"3comboescala )et!urSel344 U case 11%alor L %alor [ 1;;;<breaD< case N1%alor L %alor [ 1;;;;;;<breaD< V< i/3%alor>; TT %alorK14 U %alorLint3%alor[1;4< pri L int3%alor4< seg L ;< M L 11< V i/3%alor>L1 TT %alorK1; 4 U double aux< auxL%alor[1;< pri L int3auxA1;4< seg L int3aux4^1;< M L 1;< V i/3%alor>L1; TT %alorK1;;4 U

131

pri L int3%alorA1;4< seg L int3%alor4^1;< M L ;< V i/3%alor>aa TT %alorK1;;;4 U double aux< aux L %alor< M L 1< auxLauxApo631;,M4< pri L int3auxA1;4< seg L int3aux4^1;< V i/3%alor>aaa4 U double aux< aux L %alor< ML3int3log1;3aux44714=N< auxLauxApo631;,M4< pri L int3auxA1;4< seg L int3aux4^1;< V s6itc"3pri4 U case case case case case case case case case case V< s6itc"3seg4 U case case case case case case case case case case

;1 primer 11 primer N1 primer O1 primer P1 primer J1 primer R1 primer 71 primer W1 primer a1 primer

SetHitmap3S; SetHitmap3S1 SetHitmap3SN SetHitmap3SO SetHitmap3SP SetHitmap3SJ SetHitmap3SR SetHitmap3S7 SetHitmap3SW SetHitmap3Sa

)etHitmap344<breaD< )etHitmap344<breaD< )etHitmap344<breaD< )etHitmap344<breaD< )etHitmap344<breaD< )etHitmap344<breaD< )etHitmap344<breaD< )etHitmap344<breaD< )etHitmap344<breaD< )etHitmap344<breaD<

;1 segun 11 segun N1 segun O1 segun P1 segun J1 segun R1 segun 71 segun W1 segun a1 segun

SetHitmap3S; SetHitmap3S1 SetHitmap3SN SetHitmap3SO SetHitmap3SP SetHitmap3SJ SetHitmap3SR SetHitmap3S7 SetHitmap3SW SetHitmap3Sa

)etHitmap344<breaD< )etHitmap344<breaD< )etHitmap344<breaD< )etHitmap344<breaD< )etHitmap344<breaD< )etHitmap344<breaD< )etHitmap344<breaD< )etHitmap344<breaD< )etHitmap344<breaD< )etHitmap344<breaD<

132

Lenguaje de Programacin II

V< s6itc"3M4 U case case case case case case case case case case case case V< $pdate8ata3/alse4< V En el arc"i%o colores cpp no se ol%ide de declarar el arc"i%o de cabecera 'mat" cpp* dinclude 2stda/x "2 dinclude 2SusbelQsosa "2 dinclude 2!olores "2 -include .mat(0(. di/de/ Q8EH$) dde/ine ne6 8EH$)Q&E5 dunde/ ?EISQ+I(E static c"ar ?EISQ+I(E_` L QQ+I(EQQ< dendi/ +inalmente podemos iniciar nuestro programa ;1 multi SetHitmap3S; )etHitmap344<breaD< 11 multi SetHitmap3S1 )etHitmap344<breaD< N1 multi SetHitmap3SN )etHitmap344<breaD< O1 multi SetHitmap3SO )etHitmap344<breaD< P1 multi SetHitmap3SP )etHitmap344<breaD< J1 multi SetHitmap3SJ )etHitmap344<breaD< R1 multi SetHitmap3SR )etHitmap344<breaD< 71 multi SetHitmap3S7 )etHitmap344<breaD< W1 multi SetHitmap3SW )etHitmap344<breaD< a1 multi SetHitmap3Sa )etHitmap344<breaD< 1;1 multi SetHitmap3S8 )etHitmap344<breaD< 111 multi SetHitmap3S- )etHitmap344<breaD<

<uente8 Tra$a%o #e <in #e Curso8 Alu no Rus$el Sosa

133

ANEXOS

134

Lenguaje de Programacin II

$ni%ersidad &acional 'San (uis )on#aga* de Ica +acultad de Ingeniera Mecnica y El,ctrica Escuela de Ingeniera Electrnica

IVEE

A2EEO 1
LE214AJE DE PRO1RAMACIO2 II

SILABO

I. DATOS 1E2ERALES 8 1 1 +acultad 1 N Escuela Bcad,mico -ro/esional 1 O 8epartamento Bcad,mico 1 1 1 1 1 1 P J R 7 W a Semestre Bcad,mico !digo !iclo !r,ditos Eoras Semanales -re=Sequisitos 1 +acultad de Ingeniera Mecnica y El,ctrica 1 Ingeniera de Electrnica 1 !iencias de la In%estigacin de la Ingeniera 1 +667 Q I 1 ;ZO;P+ 1 !uarto 3I:EE=1, I:EE=N4 1 ;O 1 ;P 3?eora1 ;1< (aboratorio1 ;O4 1 ;ZO;OE (engua0e de -rogramacin I 1ZO;NP Blgoritmos y Estructuras de 8atos 1 Ingg 5ilder Enrique Somn Muni%e -ro/esor Bsociado 8 E Ingeniero Mecnico Electricista Ingg Za%ier Ec"egaray So0o -ro/esor Bsociado 8 E Ingeniero Mecnico Electricista Ingg Zos, !"a%e# Espino#a -ro/esor Buxiliar 8 E Ingeniero Mecnico Electricista

1 1; -ro/esor Sesponsable

1 11 Eorario E.SBSI. 8E( 8I!?B8. 8E !(BSES 8E( !$SS. (E&)$BZE 8E -S.)SBMB!I.& II

DEL 17 DE SETIEMBRE AL +F DE E2ERO DEL +66D

135

)ORA

($&ES

MBS?ES 71O; Y 1;1O; I:E=1 B 3(aboratorio4 3[[4 1;1O; Y 11O; I:E=1 H 3(aboratorio4 3[[4

)ORARIO MIES!.(ES Z$E:ES 71O; Y 1;1O; I:E=N B 3(aboratorio4 3[[4 1;1O; Y 11O; I:E=N H 3(aboratorio4 3[[4

:IES&ES

SBHB8.

3[4 1 !lases en aulas 3[[4 1 !lases en el laboratorio 'H* -or )rupos BAH

3;1 "rs4 3;O "rs4

II. S4MILLA 8 (a presente asignatura proporcionar a los estudiantes de Ingeniera Electrnica los conocimientos aptitudes y destre#as necesarias para el mane0o de aplicaciones cient/icas basadas en programacin estructurada y la programacin orientada a ob0etos utili#ando para ello la aplicacin de Microso/t :isual !77 Bs como el conocimiento sobre de/inicin de datos, tipos, conceptos de /unciones, libreras, bsquedas, ordenamiento, -ilas, !olas, Brboles Blgoritmos recursi%os, listas ligadas, !adena de !aracteres, con0unto de caracteres, con0unto de gra/os Segistros< +iloso/a de programacin basada en la utili#acin de ob0etos, desarrollo de aplicaciones 3programas4 de modo !onsole Bplication, 5inON Bplication, $so de !lases, .b0etos, M,todos, uso de controles, !lases Hsicas para la inter/a# de usuario, uso de aplicaciones utili#ando M+! Microso/t +oundation !lases %entanas de dialogo, uso de libreras cabeceras resources, libreras estticas OBJETIVOS8 Bl /inali#ar esta asignatura el alumno ser capa# de1 a4 .HZE?I:.S )E&ESB(ES1 1 !onocer los conceptos de la programacin estructurada, y programacin orientada a ob0etos, conociendo las di/erencias entre las metodologas utili#adas en el desarrollo de sub= programas aplicadas en el curso de (engua0e de -rogramacin II !apacitar a los alumnos en el uso de "erramientas y aplicaciones usando el lengua0e de programacin de programacin en el entrono de Microso/t :isual !77, que se aplicarn en el laboratorio de computo

136

Lenguaje de Programacin II

b4 .HZE?I:.S ES-E!I+I!.S1 1 Moti%ar al estudiante en la utili#acin de las aplicaciones de los lengua0es de alto ni%el de programacin en modo estructurado y la programacin orientada a ob0etos Bl /inali#ar el ciclo el estudiante deber estar en la capacidad de poder manipular la codi/icacin utili#ada en el lengua0e de programacin y aplicati%os en /orma prctica en el desarrollo de sus dems asignaturas en su /ormacin pro/esional Impartir al alumno el desarrollo de clases netamente prcticas con materiales %isuales prcticos que se podrn comprobar y practicar en computadoras /uera de "ora de clases El estudiante podr alcan#ar con ,xito los "bitos de desarrollar los di%ersos problemas que se presentan en los cursos de pre= grado estructurndolos en una aplicacin prctica que le ayudar a resol%er di/erentes problemas que se presenten en dic"os cursos, el mismo que se encontrar preparado para en/rentar los lengua0es de programacin orientados a ob0etos en la carrera de Ingeniera Electrnica

O P

IV. CRO2O1RAMA 8

SEMA2A ;1

<EC)A Del 17 al +0 #e Set. Del +C al 06 #e Set.

CO2TE2IDO Introduccin, ?eora de .b0etos, conceptos de la terminologa usada en -rogramacin por .b0etos (a clase !8ialog, miembros de la clase !8ialog, Bplicacin, 8ialogo Bplicacin, :isuali#acin de datos, +uncin 5inExec34 MACRO 06RD6 !lase !edit, Miembros de la !lase, !lase !string, Miembros de la clase !string, +uncin $pdate8ata Bplicacin !uadro de ?exto Importar Imagen !ontroles button, Insertar %ariables miembro, propiedades de control button

;N

;O

Del 6+ al 6F O!t.

;P ;J

Del 6G al 1; #e O!t. Del 1D al +1 #e O!t.

!ontroles Sadio Hutton, !"ecD Hox, $so de identi/icadores String para salida +unciones de con%ersin itoa34, gc%t34 ?ratamiento de controles de dilogo Joel C. 1;0

137

Pri era Pr>!ti!a Cali*i!a#a +unciones y propiedades del control !ombobox, e%ento !H&QSE(!EB&)E, BddStrihng34, Set!urSel34, )et!ount34 y 8eleteString !omando de control num,rico Spin /unciones de control SetSange34 Set-os34 Joel C. 1FC +ormas Hsicas, uso de la /uncin .n-aint34, punteros !-oint34, 5MQ(H$??.&8.5& Simulacin de -aint de 5indo6 PRIMER EESME2 PARCIAL !lases !8! 3!ontexto de dispositi%os4, Miembros de la !lase !8!, !lase !-en, !Hrus", !paint8!, !!lient8! Sistema de coordenadas Ma!ro +6D !reacin de Bplicacin simple para dibu0ar $tili#ando /uncin S"o6+onts3p8!4 Joel C. +00 +uncin S"o6-ens3p8!4 Joel C. +07 +uncin S"o6Hrus"ers3p8!4 Joel C. +;0 !reacin de una aplicacin que permita dibu0ar la /uncin seno +uncin .n8ra63!8![ p8!4 de la clase !Bpp:ie6 Segun#a Pr>!ti!a Cali*i!a#a )estin de 8ilogos, %entanas de dilogo modal y no modal !onstruccin de una aplicacin de Hsica +unciones !8ialog11!reate, !5indo611S"o65indo6, Bplicaciones M8I Ma!ro 1DC. Joel C. 070 !reacin de men, !lase men, Men personali#ado, )estin de mensa0es de comandos de men +unciones !reateMenu34, !reate-opupMenu34, (oadMenu Men contextuales Joel C. 066A 0;D Hases de datos !lases .8H!, !8atabase, !Secordset, !Secord:ie6, !(ongHinary, !8HExecption y !+ielExc"ange .b0etos Bcti%eF para acceso de datos Modelo de ob0eto .8., 8B. y S8. Ma!ro 0GD !reacin de -royecto de /in de curso, Bplicacin Integral a Soluciones electrnicas 3)rupales4 Ter!era Pr>!ti!a Cali*i!a#a EESME2 <I2AL S4STIT4TORIOS

;R

Del +0 al +7 #e O!t.

;7

Del 01 #e O!t. al 6; #e 2o/. Del 6+ al 6D 2o/. Del 67 al 10 2o/. Del 1C al +6 2o/. Del ++ al +F 2o/.

;W ;a

1;

11

1N

Del +G 2o/ al 6; Di!

1O

Del 6D al 11 Di!.

1P

Del 10 al 17 Di!. Del +6 al +0 Di!. Del 60 al 67 Ene. Del 16 al 1C Ene.

1J 1R 17

138

Lenguaje de Programacin II

1W

Del 17 al +0 Ene.

APLATADOS

V. METODOLO1IA -ara el cumplimiento de los ob0eti%os se utili#ar las siguientes metodologas y t,cnicas1 ?eora -ractica 1 1 M,todo Inducti%o Y 8educti%o Explicati%a y expositi%a Y 8ialogada !on sustentaciones de traba0os de in%estigacin en aula

(a presente asignatura consta de 1 ?eora (aboratorio 1 1 ;1 Eoras ;O Eoras

Teor=a1 Se desarrolla los conceptos de algoritmos, las estructuras de datos y sintaxis de programacin del :isual !77 -resentaciones de diapositi%as que resumen los temas a tratar La$oratorio 8 Se reali#a aplicando los conceptos %ertidos en las clases tericas aplicndolos, de inmediato y a modo de prctica dirigida que los alumnos deben alcan#ar como ob0eti%os encomendados< el material de estudio lo tienen distribuidos en cada una de las computadoras a tra%,s de la red y le internet desde el ser%idor central, igualmente los alumnos deben reali#ar traba0os prcticos y de in%estigacin para cada clase VI. MATERIAL DE E2SEUA2TA 8 -ara el desarrollo de la asignatura se cuenta con de traba0o4, copias, manuales tutoriales preestablecidos, libros prcticos de especialidad mismas, cuadernos de apuntes, pi#arra, mota, exposiciones, tiles de escritorio VII. SISTEMA DE EVAL4ACIO2 8 7 1 8e las notas1 7 1 1 El nmero mnimo de prcticas de laboratorio en la asignatura es ;O en el laboratorio del centro de cmputo 7 1 N (as sustentaciones del traba0o de /in de curso /ormar la cuarta prctica de laboratorio, puede ser grupal no ms de tres alumnos por grupo libros 3textos principales en !8s , programas para la aplicacin de las plumones, ob0etos para

139

7 1 O (a e%aluacin permanente es el resultado de1 o E%aluacin de asistencia, puntualidad o E%aluacin de pasos escritos u orales o ?raba0os de in%estigacin y sustentacin de los mismos o E%aluacin de inter%enciones en clases o E%aluacin de participacin de acti%idades :eri/icando con ello si el alumno alcan# destre#a que constituye la meta de cada clase 7 1 P El promedio de los exmenes parciales, prcticas cali/icadas, prcticas de laboratorio y e%aluaciones permanentes no se redondean Solo se redondea el promedio /inal, considerndose como 1 punto a /a%or del alumno la /raccin mayor o igual a ; J 7 N !ondiciones de Bprobacin1 7 N 1 El alumno debe obtener 11 o ms puntos como promedio /inal durante el semestre acad,mico (a cali/icacin aprobatoria ser 11 y menos de 11 si no logra alcan#ar los ob0eti%os establecidos 7 N N El tipo de e%aluacin para este curso es el ?I-. '8*
3N [ -romQ-rcticas4 7 3O[-arciales4 7 3E%aluacin -ermanente4 -S.ME8I. +I&B( L ======================================================================================= R

7 N O Se tomar asistencia en todas las clases programadas 7 N P El O;^ de inasistencias del total de clases programadas en el curso in"abilita al alumno para todos sus e/ectos VIII. CO2TE2IDO DEL C4RSO 5 DESARROLLO DEL SILABO POR SEMA2AS8 C4RSO LE214AJE DE PRO1RAMACIO2 II 1R4POS 8 VSSQ1 . VSSR+ @+66DRIIB SEMA2A 1 @Del 17 al +0 #e SetB 1 1 Introduccin 1 N ?eora de .b0etos 1 O !onceptos de la terminologa usada en -rogramacin por .b0etos SEMA2A + @Del +C al 06 #e SetB N 1 (a clase !8ialog N N Miembros de la clase !8ialog N O 8ialogo Bplicacin

140

Lenguaje de Programacin II

N P :isuali#acin de datos N J +uncin 5inExec34 SEMA2A 0 @Del 6+ al 6F O!t.B O O O O 1 N O P !lase !edit, Miembros de la !lase !lase !string, Miembros de la clase !string +uncin $pdate8ata Bplicacin !uadro de ?exto

SEMA2A ; @Del 6G al 1; #e O!tB P 1 Importar Imagen P N !ontroles button P O Insertar %ariables miembro P P propiedades de control button SEMA2A C @Del 1D al +1 #e O!t.B J J J J 1 N O P !ontroles Sadio Hutton, !"ecD Hox $so de identi/icadores String para salida +unciones de con%ersin itoa34, gc%t34 ?ratamiento de controles de dilogo

PRIMERA PRSCTICA CALI<ICADA SEMA2A D @Del +0 al +7 #e O!t.B R 1 +unciones y propiedades del control !ombobox R N E%ento !H&QSE(!EB&)E, BddStrihng34, Set!urSel34, )et!ount34 y 8eleteString R O !omando de control num,rico Spin /unciones de control SetSange34 Set-os34 SEMA2A F @Del 01 #e O!t. al 6; #e 2o/.B 71 7N 7O +ormas Hsicas $so de la /uncin .n-aint34, punteros !-oint34, 5MQ(H$??.&8.5& Simulacin de -aint de 5indo6

SEMA2A 7 @Del 6+ al 6D 2o/B EEAME2 PARCIAL SEMA2A G @Del 67 al 10 2o/.B a 1 !lases !8! 3!ontexto de dispositi%os4, a N Miembros de la !lase !8!, !lase !-en, !Hrus", !paint8!, !!lient8! a O Sistema de coordenadas SEMA2A 16 @Del 1C al +6 2o/.B

141

1; 1 !reacin de Bplicacin simple para dibu0ar 1; N $tili#ando /uncin S"o6+onts3p8!4 1; O +uncin S"o6Hrus"ers3p8!4 SEMA2A 11 @Del ++ al +F 2o/B SE142DA PRSCTICA CALI<ICADA 11 1 !reacin de una aplicacin que permita dibu0ar la /uncin seno 11 N +uncin .n8ra63!8![ p8!4 de la clase !Bpp:ie6 SEMA2A 1+ @Del +G 2o/ al 6; Di!B 1N 1N 1N 1N 1N 1 N O P J )estin de 8ilogos %entanas de dilogo modal y no modal !onstruccin de una aplicacin de Hsica +unciones !8ialog11!reate, !5indo611S"o65indo6 Bplicaciones M8I

SEMA2A 10 @Del 6D al 11 Di!.B 1O 1O 1O 1O 1O 1 N O P J !reacin de men !lase men Men personali#ado )estin de mensa0es de comandos de men +unciones !reateMenu34, !reate-opupMenu34, (oadMenu

SEMA2A 1; @Del 10 al 17 Di!.B 1P 1 Hases de datos 1P N !lases .8H!, !8atabase, !Secordset, !Secord:ie6, !(ongHinary, !8HExecption y !+ielExc"ange 1P O .b0etos Bcti%eF para acceso de datos 1P P Modelo de ob0eto .8., 8B. y S8. SEMA2A 1C @Del +6 al +0 Di!.B 1J 1 !reacin de -royecto de /in de curso 1J N Bplicacin Integral a Soluciones electrnicas 3)rupales4 Ter!era Pr>!ti!a Cali*i!a#a SEMA2A 1D @Del 60 al 67 Ene.B EEAME2 <I2AL SEMA2A 1F @Del 16 al 1C Ene.B

142

Lenguaje de Programacin II

EEAME2 S4STIT4TORIOS SEMA2A 17 @Del 17 al +0 Ene.B EEAME2 APLATADOS DESARROLLO DEL SILABO POR SEMA2AS8 El desarrollo de las clases tericas se lle%ar a cabo en las aulas de la +acultad de Ingeniera Mecnica y El,ctrica, mientras que las clases prcticas se dictarn en el laboratorio del centro de cmputo de la +acultad El docente encargado desarrollar la parte terica y prctica

IE. BIBLIOBRA<IA BASICA. 1. 2. 3. 4. 5. 6. 7. Z.IB&ES (uis 1 ?urbo !77, Mc )ra6 Eill, 1aaN !EHB((.S ZB:IES1 !urso de -rogramacin !77 .rientada a .b0etos Editorial Sama Bbril Y 1aa1 ((B!!$B Za%ier, :BSe$Ef Zulio1 -rogramacin con .b0etos en Horland -ascal Ed San Marcos, N;;; Z :BSe$Ef -BSB)$((B )ua de -rogramacin en !A!77 Ed $ni%ersitaria San Martn de -orras 1aaW Z !BSSBS!. M$i.f1 !reacin de -rogramas con :isual !77, Ed $ni%ersidad &acional de Ingeniera 1ra Edicin &o% N;;N 8B&E( SB+BE( +SB&!IB< :isual !77 R ; Editorial Macro 1ra Edicin (ima Y -er B !.SSEB, E H(BI8ES, -B&?I).S. SI(:B -rogramacin en :isual !77 R ; $ni%ersidad &acional 'San Marcos*, Editorial Hyte N;;1

,EB SITE 8 "ttp1AA666 "ttp1AA666 ldinto 10. "ttp1AA666 11. "ttp1AA666 12. "ttp1AA666 8. 9. programamersers"ea%en comA monogra/ias comAtraba0osJA%isualcursoA%isualcursoAs"tm monogra/ias comAtraba0osJA%isualcursoA%isualcursoA modelo edu mxAuni%A%irtec"AprogracAcpreproc "tm modelo edu mxAuni%A%irtec"AprogracAcplusO "tm

Ica, ;J de Setiembre N;;R

143

$ni%ersidad &acional 'San (uis )on#aga* de Ica +acultad de Ingeniera Mecnica y El,ctrica Escuela de Ingeniera Electrnica

IVEE +66D II

RECOME2DACIO2ES PARA LA PRESE2TACIO2 DE 42 TRABAJO DE I2VESTI1ACIO2. Curso8 Lengua%e #e Progra a!i"n II R +66D II ;1 En la cartula debe indicar adems el nombre del tema "a in%estigar, el nmero de traba0o, /ec"a de entrega, integrante3s4

A2EEO +

;N 8ebe iniciar con una presentacin que es el resumen del traba0o que se esta presentando con palabras propias ;O Se debe de "acer un ndice enumerado de los ttulos y sub ttulos 3-ara locali#ar los temas directamente4

;P En el resumen se debe citar la /uente de in/ormacin cada %e# que se realice un cambio de contenido, con el /in de ampliar los conceptos para aquel que quisiera seguir in%estigando Autor, t&tulo, edicin, !echa y p#ina% ,-e los te'tos revisados. ;J Hibliogra/a1 Es el resumen de todas las re/erencias bibliogr/icas que se encuentran a pie de pgina ;R Se/erencias de la 5eb Site1 !uando se re/erencie a las -ginas 5eb, se debe indicar la ruta directa, la pgina %isitada y la /ec"a 3Esto por el constante cambio4 El )losario de t,rminos1 Se encuentra despu,s de la bibliogra/a y son las de/iniciones de t,rminos nue%os palabras nue%as utili#ados en el presente traba0o "ecomendacin para la edicin1 $n traba0o debe ser resumido y no copiado estrictamente, debe contener el mnimo de "o0as necesarias

;7

;W

;a (a presentacin de aplicati%os en guas de estudio1 Se debe considerar la siguiente estructura a4 8e/inicin de los temas a tratar 3Marco ?erico4 b4 Bplicaciones o E0emplos que muestre paso a paso el desarrollo de la aplicacin c4 -resentar en un manual 3)ua prctica4 El Pro*esor #el Curso

144

You might also like