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

Veure el llistat del codi del programa, m1p4.

Executar Visual Basic per editar el projecte (acabat): m1p4.vbp. Cliqueu si no funciona correctament


Cronòmetre

En aquesta activitat es mostra una finestra que marca el temps transcorregut entre dos instants donats de temps i marcats per l'usuari. L'usuari disposa de dos botons: un per indicar el moment de començament del període de temps i un altre per marcar la finalització d'aquest període de temps.

Per altra banda, hi ha tres controls per mostrar els temps, inicial i final, escollits per l'usuari i la seva diferència: el temps transcorregut:



Fase de disseny de la interfície d’usuari

Els botons de comandament d'Inici i Aturada estaran actius (enabled) de forma alternativa i els controls de text solament presenten informació a l'usuari.

Tema: Enabled Subtema: Enabled Property

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

Les propietats dels objectes són:

Objecte

Propietat

Valor

Formulari principal

Caption

Cronòmetre

 

Backcolor

Verd (escolliu-lo)

Botó Inici

Caption

Iniciar cronòmetre

 

(Nombre)

cmdInici

 

Enabled

True

Botó Aturada

Caption

Aturar cronòmetre

 

(Nombre)

cmdAturada

 

Enabled

False

Etiqueta Inici

Caption

Hora d'inici

 

Alignment

1 (equival a justificar a la dreta)

Etiqueta Aturada

Caption

Hora d'aturada

 

Alignment

1

Etiqueta Temps

Caption

Temps transcorregut

 

Alignment

1

Text 1

(Nombre)

txtInici

 

Text

""

 

Enabled

False

Text 2

(Nombre)

txtAturada

 

Text

""

 

Enabled

False

Text 3

(Nombre)

txtTranscorregut

 

Text

""

 

Enabled

False



Tema: Alignment Subtema: Alignment Property


Fase de programació de respostes a events

Els botons d'Inici i d'Aturada del rellotge han d'engegar i aturar el cronòmetre. Per això caldrà que definiu l'event Click per a cada un dels botons i, a més, les variables que puguin llegir els procediments cmdInici_Click i cmdAturada_Click.

Recordeu que per obrir la finestra de codi associada al formulari heu de clicar dues vegades a qualsevol lloc dins d'ell. Escolliu a la subfinestra Object l'opció General i escriviu la línia següent a sota de la instrucció Option Explicit que apareix per defecte.

    Dim HoraInici As Variant

La línia anterior l'heu de posar en la caixa general del formulari. D'aquesta manera tots els procediments d'aquest formulari tindran accés a aquesta variable (No és variable global de tot el programa, ja que un altre formulari no és capaç de veure-la).

Tema: Variables: declaring Subtema: qualsevol

Tema: Variant Subtema: Variant Data Type

Nota: recordeu, com ja s'ha esmentat en una activitat anterior, que aquestes variables tenen validesa en tots els procediments i funcions definits en aquest formulari. Com a regla general: una variable té validesa en l'àmbit en què s'ha definit (un procediment o funció, un formulari, un mòdul, etc). Només té àmbit global quan es declara, en un mòdul, com a global.

Tema: Variables Subtema: Entering declarations in code

Procediments associats a l'event Click

Per al dos botons:

Botó d'Inici

    Sub cmdInici_Click () HoraInici = Now txtInici = Format(HoraInici, "hh:mm:ss") txtAturada.Text = "" txtTranscorregut = "" cmdAturada.Enabled = True cmdInici.Enabled = False End Sub

Botó d'Aturada

    Sub cmdAturada_Click () Dim HoraAturada As Variant Dim TempsTranscorregut As Variant HoraAturada = Now TempsTranscorregut = HoraAturada - HoraInici txtAturada.Text = Format(HoraAturada,"hh:mm:ss") txtTranscorregut.Text = Format(TempsTranscorregut,"hh:mm:ss") cmdAturada.Enabled = False cmdInici.Enabled = True End Sub

En aquests dos procediments podeu observar:

  • Cada procediment, associat a un dels dos botons, activa el botó alternatiu commutant el valor de la propietat Enabled (de False a True).


  • S'utilitzen dues funcions ja incorporades en el Visual Basic (funcions estàndard) que retornen algun valor: la funció Format4 i la funció Now()5.


Tema: Now() Subtema: Now Function

Tema: Format() Subtema: Format Function


4 La funció Format retorna una dada amb el format de presentació escollit. Per exemple hh:mm:ss

5 La funció Now() retorna el valor de la data del sistema.


Exercicis

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

E1. Modifiqueu el formulari anterior de manera que es visualitzi el temps transcorregut en segons. Utilitzeu les funcions Hour, Minute i Second.

Tema: Hour, Minute i Second Subtema: Hour, Minute i Second Functions

Tema: Str Subtema: Str Function

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




Per no haver de començar de nou tot el projecte:
  • Copieu els fitxers del directori C:\VBCurs\VBHtml\vibam1\m1p4, m1p4.vbp i m1p4.frm en el directori on feu l'exercici: C:\VBCurs\VBExerci\m1\p4.

  • Cliqueu damunt el fitxer m1p4.vbp perquè es carregui Visual Basic amb aquest projecte.

  • Deseu el fitxer m1p4.frm amb el nom m1p4e1.frm (Guardar archivo como...).

  • Deseu el projecte m1p4.vbp amb el nom m1p4e1.vbp (Guardar proyecto como...).

  • Després podeu esborrar el fitxers , m1p4.vbp i m1p4.frm del directori on feu l'exercici: C:\VBCurs\VBExerci\m1\p4.

  • A continuació podeu fer les modificacions necessàries.

  • Al final no vos oblideu de desar els fitxers. Si no ho feu quan marxeu de Visual Basic aquest vos informa de que hi ha modificacions. Recomanació, compte !! quan deseu.

  • En aquest mòdul hem explicat com fer un projecte a partir d'un altre: copiant, canviant noms, modificant i desant. No ho tornarem a explicar, aconsellem fer-ho quan se us demani fer un projecte (exercici) semblant a una pràctica o un exercici que hagiu fet.

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



E2. Creeu un formulari on aparegui l'hora actual i mostri, en tant per cent, la part de dia transcorreguda. Un dia té 86400 segons.
La finestra principal del programa ha de quedar més o menys així:





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