Está en la página 1de 5

Procedimiento Main en Visual Basic

Todas las aplicaciones de Visual Basic deben contener un procedimiento


denominado Main. Este procedimiento sirve como punto de partida y control
general de la aplicacin..NET Framework llama al procedimiento Main cuando
ha cargado la aplicacin y est listo para pasarle el control. A menos que vaya
a crear una aplicacin de Windows Forms, debe escribir el
procedimiento Main para las aplicaciones que se ejecutan por s solas.
Main contiene el cdigo que se ejecuta primero. En Main, se puede especificar
qu formulario se cargar primero al iniciar el programa, se puede saber si se
est ejecutando una copia de la aplicacin en el sistema, establecer un
conjunto de variables para la aplicacin o abrir una base de datos que la
aplicacin requiera.
Requisitos para el procedimiento Main
Un archivo que se ejecuta por s solo (normalmente con la extensin .exe) debe
contener un procedimiento Main. Una biblioteca (por ejemplo con la extensin
.dll) no se ejecuta por s sola y no requiere un procedimiento Main. Los
requisitos para los diferentes tipos de proyectos que se pueden crear son los
siguientes:
Aplicaciones de consola que se ejecutan por s solas; se debe
proporcionar al menos un procedimiento Main. .
Aplicaciones de formularios Windows Forms que se ejecutan por s
solas. Sin embargo, el compilador de Visual Basic genera
automticamente un procedimientoMain en este tipo de aplicacin y no
es necesario escribir uno.
Las bibliotecas de clases no requieren un procedimiento Main. Entre
ellas se incluyen las bibliotecas de controles de Windows y las
bibliotecas de controles Web. Las aplicaciones Web se implementan
como bibliotecas de clases.
Declarar el procedimiento Main
Hay cuatro formas de declarar el procedimiento Main. Puede tomar o no
argumentos y puede devolver o no un valor.
Nota
Si se declara Main en una clase, hay que utilizar la palabra clave Shared. En un mdulo, Main no necesita
ser Shared.

La manera ms simple es declarar un procedimiento Sub que no toma


los argumentos ni devuelve un valor.
Module mainModule
Sub Main()
MsgBox("The Main procedure is starting the application.")
' Insert call to appropriate starting place in your code.
MsgBox("The application is terminating.")
End Sub
End Module
Main tambin puede devolver un valor Integer, que el sistema operativo
utiliza como cdigo de salida del programa. Otros programas pueden

comprobar este cdigo examinando el valor de ERRORLEVEL de


Windows. Para
devolver
un
cdigo
de
salida,
se
debe
declarar Main como un procedimiento Function, no como un
procedimiento Sub.
Module mainModule
Function Main() As Integer
MsgBox("The Main procedure is starting the application.")
Dim returnValue As Integer = 0
' Insert call to appropriate starting place in your code.
' On return, assign appropriate value to returnValue.
' 0 usually means successful completion.
MsgBox("The application is terminating with error level " &
CStr(returnValue) & ".")
Return returnValue
End Function
End Module
Main tambin puede tomar como argumento una matriz de
tipo String. Cada cadena de la matriz contiene uno de los argumentos
de lnea de comandos que se utiliza para invocar el programa. Puede
tomar acciones distintas en funcin de sus valores.
Module mainModule
Function Main(ByVal cmdArgs() As String) As Integer
MsgBox("The Main procedure is starting the application.")
Dim returnValue As Integer = 0
' See if there are any arguments.
If cmdArgs.Length > 0 Then
For argNum As Integer = 0 To UBound(cmdArgs, 1)
' Insert code to examine cmdArgs(argNum) and take
' appropriate action based on its value.
Next argNum
End If
' Insert call to appropriate starting place in your code.
' On return, assign appropriate value to returnValue.
' 0 usually means successful completion.
MsgBox("The application is terminating with error level " &
CStr(returnValue) & ".")
Return returnValue
End Function
End Module
Se puede declarar Main para examinar los argumentos de lnea de
comandos pero no devolver un cdigo de salida, de la manera siguiente.
Module mainModule
Sub Main(ByVal cmdArgs() As String)
MsgBox("The Main procedure is starting the application.")
Dim returnValue As Integer = 0
' See if there are any arguments.
If cmdArgs.Length > 0 Then
For argNum As Integer = 0 To UBound(cmdArgs, 1)
' Insert code to examine cmdArgs(argNum) and take
' appropriate action based on its value.

Next argNum
End If
' Insert call to appropriate starting place in your code.
MsgBox("The application is terminating.")
End Sub
End Module

Al igual que las variables, una constante es un elemento del lenguaje que
guarda un valor, pero que en este caso y como su propio nombre indica, dicho
valor ser permanente a lo largo de la ejecucin del programa, no pudiendo ser
modificado.
Para declarar una constante, debemos utilizar la palabra clave Const, debiendo
al mismo tiempo establecer el tipo de dato y asignarle valor. Ver Cdigo fuente
68.
Module Module1
Sub Main()
Const Color As String = "Azul"
Const Valor As Double = 120.48
End Sub
End Module
La tipificacin de una constante se rige, al igual que las variables, por la
configuracin que tengamos establecida para la instruccin Option Strict.
Si intentamos asignar un valor a una constante despus de su asignacin
inicial, el IDE nos subrayar
la lnea con un aviso de error de escritura, y se producir igualmente un error si
intentamos ejecutar el
programa. Ver Figura 171

La ventaja del uso de constantes reside en que podemos tener un valor


asociado a una constante, a lo
largo de nuestro cdigo para efectuar diversas operaciones.

Module Module1
Sub main()
Console.Write("El Valor")
Console.Write("de Pi")
Console.Write("es")
Console.Write(Math.PI)
Console.ReadLine()
End Sub
End Module

Module Module1
Sub main()
Console.WriteLine("El Valor")
Console.WriteLine("de Pi")
Console.WriteLine("es")
Console.WriteLine(Math.PI)
Console.ReadLine()
End Sub
End Module

For Each line As String In lines


Console.WriteLine(line)
Next

También podría gustarte