La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación en Visual Basic

Presentaciones similares


Presentación del tema: "Programación en Visual Basic"— Transcripción de la presentación:

1 Programación en Visual Basic
Lección #5: Procedimientos y Aplicaciones con Múltiples Formularios Por Antonio F. Huertas

2 Contenido Tipos de procedimientos Subrutinas Funciones
Enunciado Exit Sub Regiones de código Múltiples formularios Módulos para variables y procedimientos globales

3 Tipos de procedimientos
Como en la mayoría de los lenguajes de programación, Visual Basic .NET provee para dos tipos de procedimientos (rutinas): Subrutinas (Sub procedures) – aquellos procedimientos que no devuelven valores directamente sino a través de parámetros por referencia. Funciones (Function procedures) – aquellos procedimientos que devuelven un valor directamente.

4 Subrutinas El siguiente es el formato para declarar una subrutina:
Private Sub NombreSubrutina([parámetros]) [Declaración constantes/variables locales] Enunciado(s) End Sub Para invocar (o llamar) a la subrutina se escribe (la palabra Call es opcional): [Call] NombreSubrutina([argumentos]) Nota: La llamada es un enunciado por si mismo (stand-alone statement).

5 Subrutinas (cont.) Los parámetros aparecen en la declaración de una subrutina y se clasifican como parámetros por valor (ByVal) o parámetros por referencia (ByRef). Ejemplo: Private Sub CalcAverage(ByVal n1 As Integer, _ ByVal n2 As Integer, _ ByVal n3 As Integer, _ ByRef avg As Single) Dim sum As Integer = 0 sum = n1 + n2 + n3 avg = sum / 3 End Sub Aquí n1, n2 y n3 son parámetros por valor y avg es parámetro por referencia.

6 Subrutinas (cont.) Los argumentos aparecen en la llamada a la subrutina. La llamada a esta subrutina se puede escribir de las siguientes dos maneras: CalcAverage(first, second, third, _ average) Call CalcAverage(first, second, _ third, average) Aquí first, second, third y average son los argumentos. La correspondencia entre argumentos y parámetros se establece por el orden en que aparecen.

7 Subrutinas (cont.) Un parámetro por valor se utiliza para indicar valores que la subrutina recibe del subprograma que la invoca. Un parámetro por valor contiene una copia del argumento correspondiente. Un parámetro por referencia se utiliza para indicar valores que la subrutina devuelve al subprograma que la invoca. Un parámetro por referencia contiene la dirección del argumento correspondiente de forma tal que el parámetro y el argumento se refieran a la misma dirección de memoria.

8 Funciones El siguiente es el formato para declarar una función:
Private Function NombreFn([parámetros]) As tipoDatos [Declaración constantes/variables locales] Enunciado(s) Return valor End Function Para invocar (o llamar) a la función se escribe: NombreFn([argumentos]) Nota: La llamada se coloca dentro de un enunciado que use el valor devuelto.

9 Funciones (cont.) TODOS los parámetros en una función deben ser parámetros por valor: Private Function DetGreatest(ByVal n1 As Integer, _ ByVal n2 As Integer, _ ByVal n3 As Integer) As Integer Dim grt As Integer If n1 > n2 Then grt = n1 Else grt = n2 End If If n3 > grt Then grt = n3 Return grt End Function

10 Funciones (cont.) Dos ejemplos de llamadas:
greatest = DetGreatest(first, second, third) MsgBox("The greatest is " & greatest) MsgBox("The greatest is " & _ DetGreatest(first, second, third)) NOTA: Recuerde que TODA función puede reescribirse como subrutina si se le añade un parámetro por referencia y se cambia la llamada.

11 Enunciado Exit Sub El enunciado Exit Sub es utilizado para terminar la ejecución de una subrutina antes de llegar a End Sub. Es utilizado comúnmente la subrutina encuentra un error que le impide continuar sui ejecución.

12 Enunciado Exit Sub (cont.)
Private Sub btnCalcSum_Click(…) Handles btnCalcSum.Click Dim first, second, sum As Integer If txtFirst.Text = "" Then MsgBox("Please enter first number.", vbInformation) txtFirst.Focus() Exit Sub End If If txtSecond.Text = "" Then MsgBox("Please enter second number.", vbInformation) txtSecond.Focus()   first = Val(txtFirst.Text) second = Val(txtSecond.Text) sum = first + second txtSum.Text("The sum is " & sum) End Sub

13 Regiones de código Una región es un área del código que se puede mostrar (expandir) o esconder (colapsar). Las regiones son útiles para agrupar declaraciones y/o procedimientos relacionados. Formato: #Region " nombreRegión " código #End Region

14 Múltiples formularios
La mayoría de las aplicaciones tienen múltiples formularios (ventanas). En una aplicación de múltiples formularios siempre habrá un formulario activo (aquella ventana con la cual el usuario puede interactuar). Cuando un usuario pasa de un formulario a otro, el evento Activated ocurre.

15 Múltiples formularios (cont.)
En Visual Basic .NET cada formulario es declarado como una clase. Para poder mostrar un formulario hay que declarar e instanciar un objeto que represente el formulario: Dim objFormSecond As frmSecond = New frmSecond() Luego de crear el objeto, se muestra el formulario invocando el método ShowDialog() o Show(): objFormSecond.ShowDialog() objFormSecond.Show()

16 Múltiples formularios (cont.)
El método ShowDialog() muestra un formulario como modal form. Método preferido. Esto significa que el formulario que llamó esperará hasta que el formulario llamado sea cerrado para continuar la ejecución. El método Show() muestra un formulario como modless form. Esto significa que el formulario que llamó continuará su ejecución paralelamente con el formulario llamado. El usuario puede pasar de un formulario al otro.

17 Múltiples formularios (cont.)
Ejemplo: Se tiene un formulario llamado frmFirst y se desea mostrar el formulario frmSecond cuando se presiona un botón. Private Sub btnShowSecond_Click(…) Handles _ btnShowSecond.Click Dim objFormSecond As frmSecond = New frmSecond() objFormSecond.ShowDialog() ' Show form and wait MsgBox("I am the first form.") End Sub

18 Múltiples formularios (cont.)
Cuando se termina de trabajar con el formulario, se puede hacer una de las siguientes: Invocar el método Hide() para esconder el formulario sin sacarlo de memoria. Invocar el método Close() para sacar el formulario de memoria. Esto equivale a presionar el botón de Close (x) en el formulario. Si se saca un formulario de memoria hay que volver a instanciar el objeto que representa el formulario.

19 Múltiples formularios (cont.)
Ejemplo: Se desea volver a formulario frmFirst desde formulario frmSecond. Private Sub btnReturn_Click(…) Handles _ btnReturn.Click Me.Hide() End Sub Fíjese que dentro del código del formulario llamado frmSecond, cualquier instrucción que se refiera a sí mismo utiliza el nombre Me.

20 Múltiples formularios (cont.)
Un formulario puede referirse a los controles, procedimientos y a las variables definidas en otro formulario llamado usando el formato: nombreObjeto.NombreControl.NombrePropiedad nombreObjeto.NombreProc([argumentos]) nombreObjeto.NombreVariable NOTA: Los procedimientos y las variables en el formulario llamado debe haber sido declaradas como Friend para poder ser reconocida por el formulario que llama. Los controles son automáticamente declarados como Friend por el Windows Form Designer.

21 Múltiples formularios (cont.)
Ejemplo: Se desea asignar el valor del textbox txtExample en el formulario frmSecond a la variable example en formulario frmFirst. Private Sub btnShowSecond_Click(…) Handles _ btnShowSecond.Click Dim objFormSecond As frmSecond = New frmSecond() Dim example As String objFormSecond.ShowDialog() ' Show form and wait example = objFormSecond.txtExample.Text End Sub

22 Múltiples formularios (cont.)
Cuando cree un proyecto con múltiples formularios, no olvide lo siguiente: Para añadir un nuevo formulario, se selecciona Project – Add Windows Form... Asignarle un nombre descriptivo al archivo con el código fuente de cada formulario. Asignarle un nombre descriptivo a cada formulario utilizando la propiedad Name. Para seleccionar el formulario que primero se muestra, se selecciona Project – Properties – Startup object

23 Módulos para variables y procedimientos globales
En ocasiones es conveniente compartir una variable, una constante simbólica o un procedimiento entre varios formularios de un proyecto. Esto es, declararlos globalmente. Para lograr ésto lo más conveniente es utilizar el modificador Public en la declaración de los mismos y colocar estas declaraciones en un módulo. Module Module1 Public username As String ' Global variable End Module

24 Módulos para variables y procedimientos globales (cont.)
En un módulo pueden aparecer dos cosas: Declaraciones globales Una subrutina pública llamada Main que se ejecutaría al inicio del programa. En esta subrutina se pueden inicializar variables globales y utilizar instrucciones que determinen el orden en que los formularios se muestran. Para añadir un nuevo módulo, se selecciona Project – Add Component... – Module


Descargar ppt "Programación en Visual Basic"

Presentaciones similares


Anuncios Google