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

Veure el llistat del codi del programa, m7p5.

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


Quadres de diàleg. Gestió d'un quadre de diàleg modal

En aquesta pràctica no aportarem res didàctic de nou, però aprendrem com gestionar i què és un quadre modal. Ho aprofitarem per fer un quadre de crèdits.

Un quadre de crèdits és on l'autor/a o autors diu/en qui és/són, acostuma a sortir a l'inici del programa i s'hi acostuma a accedir a través d'un menú que s'anomena Parlant de... en anglès "About...".





Fase de disseny de la interfície d’usuari

Aquest projecte el desareu a C:\VBCurs\VBActivi\m7\p5 amb el nom m7p5.

Partirem del resultat de la pràctica anterior.
  • Creeu el directori.
  • Copieu-hi els fitxers de la pràctica anterior m7p4.vbp i m7p4.frm
  • Crideu Visual Basic fent doble clic a m7p4.vbp.
  • Guardeu el fitxer, save as..., amb el nom m7p5.frm i guardeu el projecte amb l'altre nom m7p5.vbp.
  • Un cop fet això podeu borrar els fitxers m7p4.vbp, i m7p4.frm.

Crearem un nou form que el desareu amb el nom m7p5b.frm:




(Nombre): Form2; Caption: Parlant de...; BackColor: &H00C0C0C0&; BorderStyle: 1 - Fixed Single i hi posarem unes quantes etiquetes Labels. Les seves propietats són les següents:


Bàsicament només s'ha canviat:
    -Alignment

    -BackColor

    -Caption

    -(Nombre) el que surt per defecte. No té massa importància ja que no té efectes en temps d'execució.
També hi posarem un PictureBox que l'única cosa que caldrà dir-li és el bitmap, totipm.bmp que es troba en el directori c:\VBCurs\VBHtml\vibam7\m7p5.

Finalment hi posarem un botó, CommandButton amb les següents propietats:


Només cal canviar el seu Caption: D'&acord i recordar el seu (Nombre): cmdDAcord perquè aquest si que fa quelcom quan sigui clicat.


També hi afegirem al formulari principal (form1) el menú &Ajuda amb dos submenús: &Ajuda, &Parlant de...



Menu Ajuda

 

(Nombre)

mnuAjuda0

   

Caption

&Ajuda

 

Sub menú Ajuda

(Nombre)

mnuAjuda

   

Caption

&Ajuda

 

Sub menú Separator

(Nombre)

mnuRes2

   

Caption

-

 

Sub menú Parlant de...

(Nombre)

mnuAboutBox

   

Caption

&Parlant de...



El primer menú serà de cara a implementar un sistema d'ajuda del programa. Crear una ajuda per un programa requeriria un altre curs i no ho implementarem aquí. El que hi posarem és un quadre de missatge explicant, opció no disponible.


Fase de programació de respostes a events

Variables d'àmbit a tot el formulari

No hi ha cap canvi respecte la pràctica anterior.


Procediments d'àmbit a tot el formulari

L'únic que canvia és:
    Sub Form_Load ()
      iniciar
      Form2.Show (1)
    End Sub

Tema: Show Subtema: Show Method

Aquest Method fa que aparegui el nou quadre de diàleg form a l'iniciar-se el programa, com que el paràmetre és 1 fa que el seu comportament sigui modal que significa que aquest quadre agafa el control del programa i no podrem tornar al quadre anterior, en aquest cas, la finestra principal del programa, fins que es tanqui aquest quadre. Nosaltres o farem clicant en el botó D'acord.

Si el paràmetre és 0, el quadre és modeless (sense mode) que significa que conviuen els diferents quadres, per exemple l'entorn de treball de Visual Basic és un conjunt de finestres sense mode, però quan anem a la finestra Menu Design... apareix un quadre de diàleg modal, que és on construim el menú. En aquest cas no podem fer servir Visual Basic fins que s'hagi tancat aquest quadre.


Mètodes associats als events que controlen les accions sobre els menús

Només hi posem aquí els que afecten als nous.
    Sub mnuAboutBox_Click ()
      Form2.Show (1)
    End Sub
    
    Sub mnuAjuda_Click ()
      MsgBox "No Disponible"
    End Sub

El menú AboutBox que és el que mostra el quadre de crèdits en qualsevol moment que el cliquem durant l'execució del programa.

El menú Ajuda que fa aparèixer un quadre de missatge que ens informa que No està disponible aquesta opció.


Mètodes associats al botó cmdDAcord del Form2, quadre de diàleg de crèdits

Si cliquem el botó D'acord apareixerà el mètode que hem d'editar i el seu codi és:
    Sub cmdDAcord_Click ()
      Unload Form2
    End Sub

L'únic que fa és tancar el quadre.

Tema: Unload Subtema: Unload Statement



Apèndix: Introducció al treball amb DLL

Les DLL (Dynamic Link Library) són llibreries de funcions i procediments externs creats amb llenguatges de programació de més baix nivell tipus C o Pascal (l'última versió de Visual Basic ja pot realitzar DLL) que poden ser fetes servir per altres programes. De fet es pot dir que el mateix Windows és un conjunt de DLL.

Aquí no volem construir una DLL, sinó fer-les servir. Per ser utilitzades per un programa, en el nostre cas, un fet en Visual Basic, cal conèixer el nom de la funció, la DLL on es troba, els paràmetres que cal transmetre i el valor que retorna en el cas que sigui una funció. I això declarar-ho a nivell de l'àmbit general del formulari.

Per exemple vegem com es pot utilitzar la funció WinExec, que serveix per executar un programa i que es troba en la kernel32.dll. cal passar-li dos paràmetres, el nom del programa que volen executar, en el nostre cas la llibreta perquè visualitzi el fitxer optica.txt i un número que indica la forma com s'obrirà la finestra del programa, en el nostre cas val 1, que vol dir normal.

Anem a veure el codi:

Si en el lloc on escrivin les Variables d'àmbit a tot el formulari hi afegim el codi següent:
    Private Declare Sub WinExec Lib "kernel32.dll" (ByVal CmdLine As String, ByVal CmdShow As Integer)

I canvieu el codi de l'event clik del menú Ajuda pel següent:
    Sub mnuAjuda_Click ()
      WinExec "notepad optica.txt", 1
    End Sub

I heu prèviament copiat en el directori de treball de la pràctica, C:\VBCurs\VBActivi\m7\p5, el fitxer optica.txt, que trobareu c:\VBCurs\VBHtml\vibam7\m7p5, quan cliqueu en el menú ajuda apareixerà un fitxer text que explica exemples, exercicis i possibilitats didàctiques del programa i altre tipus d'informació.

Per veure aquest comportament executeu el programa m7p5b.exe que es troba en el directori C:\VBCurs\VBActivi\m7\p5 i en ell cliqueu en el menú ajuda. No cliquem directament perquè no trobaria el fitxer optica.txt ja que no estem en el directori adequat.