|
|
Executar el programa m2p1.exe per conèixer el seu comportament. Veure el llistat del codi del programa, m2p1. Executar Visual Basic per editar el projecte (acabat): m2p1.vbp. Taules d'operacions aritmètiques: suma i multiplicacióEn aquesta activitat heu de fer un programa en què, introduït un número i escollit el tipus d'operació matemàtica, es visualitzi la taula de sumar o multiplicar corresponent. Per exemple, si el número escollit és el 2, les taules seran:Apareixen dos objectes nous: dos botons d'opció que utilitzareu per escollir el tipus de taula (suma o multiplicació). En el codi de programa entren en joc les instruccions de selecció (if) i d'iteració (for). El formulari d'aquesta activitat serà semblant al següent: Fase de disseny de la interfície d’usuariCreeu un directori nou: C:\VBCurs\VBActivi\m2\p1 i un nou projecte, en aquest directori, que anomenareu m2p1. En ell, desareu tots els fitxers d'aquesta activitat.Establiu les propietats dels objectes que hi apareixen en el formulari principal. Tingueu present algunes d'aquestes propietats: Al costat de cada objecte de la taula següent hi ha un número entre parèntesis que correspon a l'objecte etiquetat amb el mateix número en vermell de la figura anterior.
Per que els botons d'opció funcionin correctament cal que primer coloqueu el frame i després hi coloqueu els botons d'opció a dins. Aquestes definicions impliquen: Pel que fa a objectes, apareixen dos de nous: l'objecte botó d'opció i l'objecte frame. Tema: Option Button Subtema: Option Button Control Tema: Frame Subtema: Frame Control L'objecte Botó d'opció té com a finalitat establir un valor per a la propietat Valor, d'entre dos possibles, de manera que en funció d'aquest valor se seleccioni el codi de programa a executar. Així, el botó d'opció Sumar estarà seleccionat per defecte: la propietat Value té el valor True. Anàlogament, l'altre opció Multiplicar té el valor False perquè no està seleccionat inicialment. Per tant, en clicar el botó de comandament Calcular, es realitzarà per defecte, la suma. Tema: Value Subtema: Value Property Fixeu-vos també, en què el número que introduïu és una dada del tipus text, de manera semblant a com va passar a l'activitat 3. Caldrà que el codi de programa contempli aquest fet mitjançant les funcions o procediments, incorporats en Visual Basic, que serveixen per fer les transformacions entre tipus de dades escaients. Finalment, la propietat Multiline associada a una caixa de text permet la visualització del text en diferents línies. Fase de programació de respostes a eventsPodeu comprovar que el títol d'aquest apartat ha canviat respecte a d'altres activitats. El motiu és que en aquesta activitat heu de crear el codi associat als events i als objectes i, a més, un procediment anomenat EmplenarTaula() que no està lligat a cap event però que serà utilitzat en altres procediments d'event. Aquest procediment està definit en l'àmbit del formulari principal i és l'encarregat d'emplenar la caixa de text txtTaula a partir del valor que hi ha a l'altra caixa de text: txtNúmeroTaula. El codi l'heu d'incorporar a la finestra "de codi" mostrada a continuació:Per escriure aquest procediment poseu-vos en la finestra d'edició de codi i sota de option explicit (o en qualsevol lloc de la finestra d'edició sempre i quan no sigui a l'interior d'un altre mètode o procediment) escriviu:
Pot semblar que aquest codi : Taula = Taula + Str$(NúmeroTaula) + " + " + Str$(i) + " = " Taula = Taula + Str$(NúmeroTaula + i) + Chr$(13) + Chr$(10)és una mica extrany pel fet de repetir Taula = Taula + ..., es fa així perquè la línia no sigui tan llarga. Punts a tenir en compte en aquest fragment de codi són: A la variable numèrica NúmeroTaula se li assigna el número que està en format text a la caixa de text txtNúmeroTaula fent servir la funció Val:
Tema: Val Subtema: Val Function L'operació que es visualitza serà la suma o la multiplicació en funció del bloc selectiu:
Segons això, per seleccionar les instruccions que s'han d'executar en funció d'una condició, heu de fer servir la instrucció If... Tema: If..Then..Else Subtema: If..Then..Else Statement Per fer la taula de la suma o de la multiplicació, ja que heu de repetir 10 vegades una sèrie d'instruccions, heu d'utilitzar la instrucció de repetició For....Next. Aquesta instrucció s'utilitza quan el nombre d'instruccions és fix i depenent d'una variable comptador. En el codi anterior aquesta variable és i. En aquest programa, les instruccions que estan dins de la iteració For..Next (10 vegades) assignen a la variable Taula els valors que es visualitzaran (suma o multiplicació) i en línies diferents. El canvi de línia s'efectua gràcies a la inclusió dels caràcters Chr$(13) + Chr$(10): RETORN i CANVI DE LÍNIA. Tema: For..Next Subtema: For..Next Statement Tema: Chr Subtema: Ch, Chr$ Functions Les dues línies que comencen per "Taula=" són les causants de que a la caixa Taula aparegui el resultat de forma semblant a: Finalment, es modifica el text de la caixa de text: txtTaula.Text = Taula Procediments associats a l'event Click Botó Calcular
Botó Fi
Procediments associats a l'event KeyDown Aquest event es produeix quan es prem una tecla. Observeu que el procediment d'event té dos paràmetres, KeyCode i Shift, que agafen els seus valors en funció de les tecles premudes. El paràmetre KeyCode és el número corresponent a la tecla premuda i el paràmetre Shift indica quin és l'estat de les tecles Alt, Shift i Ctrl. Caixa de text Taula
Tema: KeyDown Subtema: KeyDown, KeyUp Events En aquest procediment, cada vegada que es prem una o diverses tecles, els dos paràmetres tenen els valors numèrics en codi ANSI corresponents a les tecles premudes. Només en el cas que la tecla premuda sigui la tecla de RETORN, s'emplenarà la taula. Tema: ANSI Subtema: ANSI Character Set ExercicisPer enviar al professor tutor. (Directori C:\VBCurs\VBExerci\m2\p1 )E1. Feu un programa que presenti la taula de multiplicar d'un número escollit, mitjançant 9 botons d'opció. La finestra principal del programa ha de quedar més o menys així: Cal enviar els següents fitxers:
Fitxer formulari m2p1e1.frm Fitxer executable m2p1e1.exe Pista: el procediment EmplenarTaula feu que porti arguments.
Tema: Sub Subtema: Sub Statement Un procediment pot portar paràmetres. Això vol dir que podeu cridar al procediment amb algun valor variable. Quan crideu aquest procediment haureu de fer-ho així: EmplenarTaula(2) o EmplenarTaula(7) o qualsevol altre número perquè aquest procediment calculi les diferents taules de multiplicar. Dins del procediment aquest valor l'utilitzareu fent servir la variable NúmeroTaula. |