PROGRAMACIÓ D'APLICACIONS EDUCATIVES AMB VISUAL BASICMÒDUL 3ENRERA
PRÀCTICA 1 2 3 4 5
 
Executar el programa m3p3.exe per conèixer el seu comportament.

Veure el llistat del codi del programa, m3p3.

Executar Visual Basic per editar el projecte (acabat): m3p3.vbp.


Escollir un color. Vectors d'objectes



Aquesta activitat mostra un grup de quatre opcions (colors a escollir). L'usuari escull una de les tres opcions i el programa presenta una caixa de text amb el color escollit. El formulari que heu de crear és semblant al següent i en ell hi ha un objecte del tipus Frame que conté tres botons d'opció. Així mateix, hi ha tres caixes que canvien el seu color de fons en funció del botó activat.

Tema: Frame Subtema: Frame Control

En aquesta activitat apareix un concepte nou: el vector d'objectes (Control array).

Un control array o vector d'objectes és un conjunt d'objectes de les mateixes característiques i que responen als mateixos events, mètodes i procediments. Cada objecte es diferencia dels altres per un número índex que és el que provoca que el codi que s'executa varia en funció d'aquest número índex. En la fase de programació d'aquesta activitat s'explica això més acuradament.

El directori que heu de crear per tal d'emmagatzemar el projecte següent és: C:\VBCurs\VBActivi\m3\p3. Quan deseu el projecte li donareu el nom m3p3.


Fase de disseny de la interfície d’usuari

Afegiu al formulari un objecte del tipus Frame amb les propietats indicades més avall. Aquest objecte provocarà que només es pugui activar un sol botó dels continguts en aquest Frame.

Objecte

Propietat

Valor

Frame1 (Grup d'opcions)

Caption

COLORS

 

(Nombre)

frmColor



Creeu el vector d'objectes botó d'opció:

· Afegiu un botó d'opció al formulari, fora de l'objecte Frame anterior. A continuació arrossegueu-lo dins l'objecte Frame i doneu-li les propietats:
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.

Objecte

Propietat

Valor

Botó d'opció OptColor

Caption

Verd

 

(Nombre)

OptColor

 

Index

0



· Premeu les tecles CTRL+INS i, tot seguit, la combinació MAJÚSCULES+INS. Aquest procés equival a copiar l'objecte creat a la carpeta i a enganxar la còpia en el formulari i arrossegueu-la novament al frame, prèviament seleccionat.

· Repetiu el procés per als altres dos botons.

· Finalment, establiu les propietats indicades a continuació:

Objecte

Propietat

Valor

Botó d'opció OptColor(1)

Caption

Vermell

Botó d'opció OptColor(2)

Caption

Blau



Tema: Control Arrays Subtema: Creating a control array

Observeu els valors que té la propietat Índex de cada un dels botons creats que és la que identifica cada un dels tres botons d'opció que tenen el mateix nom i que es diferencien només pel valor de l'índex anterior. Aquesta propietat és la que s'usarà més tard en la fase de programació.

Creeu un botó de comandament per esborrar els colors:

Objecte

Propietat

Valor

Botó com. Esborrar colors

Caption

Esborrar els colors

 

(Nombre)

cmdEsborrar



Creeu ara el vector d'objectes caixa de text:

· Afegiu una caixa de text al formulari que mostrarà el color verd. Les seves propietats seran:

Objecte

Propietat

Valor

Caixa de text txtText(0)

Text

 

(Nombre)

txtText



Per crear el vector d'objectes del tipus caixa de text que serveix per mostrar el color escollit realitzareu un procés diferent a l'anterior:

· Premeu les tecles CTRL+INS i, tot seguit, la combinació MAJÚSCULES+INS.

· Respongueu al missatge que us avisa de la creació d'un Control Array (Vector d'objectes) i col·loqueu el control a sota de l'anterior caixa de text.

· Repetiu el procés per a l'altra caixa de text.

Finalment, establiu les propietats indicades tot seguit a cada un dels elements dels vectors d'objectes creats.

Objecte

Propietat

Valor

Caixa de text txtText(1)

Text

Caixa de text txtText(2)

Text



En acabar aquesta fase de creació dels objectes cada element del vector d'objectes respondrà als mateixos events seguint les mateixes instruccions però amb un paràmetre diferent: el número índex, que identifica l'element tractat del vector d'objectes esmentat. Observeu l'índex de cada element.


Fase de programació de respostes a events

Mètodes associats a l'event Click

Per al vector de botons d'opció:
    Sub OptColor_Click (Index As Integer) Dim j as integer 'Selecciona la caixa de text a la qual ha de canviar el color de fons Select Case Index Case 0 txtText(Index).BackColor = RGB(0, 255, 0) Case 1 txtText(Index).BackColor = RGB(255, 0, 0) Case 2 txtText(Index).BackColor = RGB(0, 0, 255) End Select For j = 0 To 2 If j < > INDEX Then txtText(j).BackColor = RGB(255, 255, 255) Next End Sub
Aquest procediment és comú per a cada element del vector d'objectes txtText(). El codi és el mateix i les instruccions s'executaran en funció de l'índex de l'element escollit. La sentència Select Case és l'encarregada de seleccionar el bloc d'instruccions corresponent per tal de mostrar el color escollit.

Per al botó de comandament Esborrar els colors:
    Sub cmdEsborrar_Click Dim i As Integer 'Posa en blanc les caixes de text, canviant l'índex i el color de fons For i = 0 To 2 txtText(i).BackColor = RGB(255, 255, 255) Next End Sub

Exercicis

Per enviar al professor tutor. (Directori C:\VBCurs\VBExerci\m3\p3 )

E1. Modificar el programa anterior de manera que aparegui al costat del color escollit un missatge semblant a: Aquest és el color verd.

La finestra principal del programa ha de quedar més o menys així:





Cal enviar els següents fitxers:
    Fitxer projecte m3p3e1.vbp
    Fitxer formulari m3p3e1.frm
    Fitxer executable m3p3e1.exe



E2. Creeu un vector d'objectes del tipus caixa de text amb quatre elements i feu que cada element, de manera cíclica, canviï el color de fons simulant una ruleta de colors. Per fer el canvi automàtic de colors podeu fer servir l'eina timer.

La finestra principal del programa ha de quedar més o menys així:





Cal enviar els següents fitxers:
    Fitxer projecte m3p3e2.vbp
    Fitxer formulari m3p3e2.frm
    Fitxer executable m3p3e2.exe



E3. Feu un formulari com el mostrat. Hi ha uns botons que han d'incrementar i minvar el valor de les etiquetes que hi ha a la seva esquerra. Cada fila ha d'ésser un element d'un vector d'objectes. Per fer-ho creeu una etiqueta i 2 botons, seleccioneu els tres objectes, copieu-los a la carpeta i enganxeu-los i digueu sí els tres cops que se us demani si voleu crear el vector d'objectes.

La finestra principal del programa ha de quedar més o menys així:






Cal enviar els següents fitxers:
    Fitxer projecte m3p3e3.vbp
    Fitxer formulari m3p3e3.frm
    Fitxer executable m3p3e3.exe