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

Veure el llistat del codi del programa, m2p4.

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


Un programa que mou figures

En aquest programa una figura es mou de diferents maneres per la pantalla. En principi està aturada. Cada vegada que premeu el ratolí a sobre d'ella el tipus de moviment varia segons la seqüència següent: Aturat, Vertical, Horitzontal, Diagonal i després torna a començar la seqüència. El formulari final és semblant al següent:


Els objectes que intervenen són:

  • El formulari.

  • Una caixa de dibuix que conté una forma (cercle vermell) que es pugui moure.

  • Un control Timer que serà el responsable de moure la figura.

Cal que tingueu present:

-Una eina Forma (Shape) no respon a events. Heu posat la forma (cercle vermell) en una caixa de dibuix per tal que pugui rebre l'event Click.

-Una eina Imatge (Image) pot incloure imatges fetes amb programes de dibuix però no pot incloure altres objectes de dibuix dins d'ella.

-Una eina Caixa de dibuix (Picture Box) pot incloure dibuixos i d'altres eines.

Degut a aquests fets, en aquesta activitat hi intervindrà un objecte del tipus caixa de dibuix que contindrà un altre objecte del tipus Forma.


Fase de disseny de la interfície d’usuari

Creeu un directori nou: C:\VBCurs\VBActivi\m2\p4 i un nou projecte, en aquest directori, que anomenareu m2p4. En ell, desareu tots els fitxers d'aquesta activitat.

Les propietats dels objectes que hi intervenen seran:

Objecte

Propietat

Valor

Formulari

(Nombre)

frmMoviment

 

Caption

Moviment

Timer

(Nombre)

tmrRellotge

 

Interval

10

Caixa de dibuix

(Nombre)

picCercle

 

Border Style

0-None

Forma

(Nombre)

shpCercle

 

BackColor

&H000000FF& (Vermell)

 

BackStyle

Opaque

 

BorderStyle

0 - Transparent

 

Shape

Cercle



Recordeu que la Forma l'heu de posar dins la Caixa de dibuix

La propietat Shape és la que serveix per escollir quina és la figura associada al control. En aquest cas es tracta d'un cercle.

Tema: Shape Subtema: Shape Control

Tema: Picture Box Subtema: Picture Box Control


Fase de programació de respostes a events

En primer lloc definiu les següents constants i variables en l'apartat de variables globals a nivell de formulari:

Declaracions generals:

    Const MovCercleAturat = 0 Const MovCercleVertical = 1 Const MovCercleHoritzontal = 2 Const MovCercleDiagonal = 3 Dim EstatCercle As Integer

La variable EstatCercle s'inicialitza en carregar-se el formulari:

Procediments associats a l'event Load

Aquest event es produeix en el moment en què es carrega el formulari. En aquest cas, el procediment inicialitza el valor de la variable EstatCercle.

    Sub Form_Load () EstatCercle = MovCercleAturat End Sub

Tema: Load Subtema: Load Event

Procediments associats a l'event Click

Cada vegada que es fa clic a sobre del cercle s'incrementa en 1 EstatCercle. Per tal de tornar a zero quan EstatCercle val 3, s'utilitza l'operador mod.

    Sub picCercle_Click () EstatCercle = (EstatCercle + 1) Mod 4 End Sub

L'expressió EstatCercle=(EstatCercle+1) mod 4 incrementa el valor de la variable i quan té el valor 3, aleshores torna a tenir el valor 0.

Tema: Mod Subtema: Mod Operator

Procediments associats a l'event Timer

Aquest mètode (tmrRellotge_Timer) és el responsable del moviment del cercle:

Recordeu que no cal que escriviu aquest codi. Llegiu-lo, per tal de saber per a què serveix i com ho fa. A continuació, el podeu copiar a la carpeta i enganxar-lo en la finestra d'edició de Visual Basic.

    Sub tmrRellotge_Timer () Dim X, Y As Integer Select Case EstatCercle Case MovCercleAturat X = picCercle.Left Y = picCercle.Top Case MovCercleHoritzontal X = (picCercle.Left + 50) Mod frmMoviment.Width Y = picCercle.Top Case MovCercleVertical X = picCercle.Left Y = (picCercle.Top + 50) Mod frmMoviment.Height Case MovCercleDiagonal X = (picCercle.Left + 50) Mod frmMoviment.Width Y = (picCercle.Top + 50) Mod frmMoviment.Height End Select picCercle.Move X, Y End Sub

Tema: Select Case Subtema: Select Case Statement

Deseu el projecte amb el nom m2p4.


Exercicis

Per enviar al professor tutor. (Directori C:\VBCurs\VBExerci\m2\p4 )

E1. Afegiu una altra figura a la pràctica que també es mogui amb el mateix sistema.

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



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



E2. Creeu un programa que simuli un rètol movible. Hi haurà una etiqueta (label) que presentarà la frase "Exemple de missatge en moviment".
La finestra principal del programa en mode edició ha de quedar més o menys així:



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



E3. Creeu un programa que simuli un rètol que faci un scroll horitzontal. Hi haurà una etiqueta (label) que presentarà la frase "Exemple de missatge que fa un scroll horitzontal.". Per fer l'scroll caldrà que treieu la primera lletra del missatge i l'afegiu al final. Utilitzeu la funció Mid$.

Tema: Mid$ Subtema: Mid, Mid$ Functions

Aquesta funció el que fa és donar un troç d'un string mid$("pepitu",2,3) donaria l'string "epi".


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



La finestra principal del programa en mode execució en algun moment s'ha de veure així:



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