Sie sind auf Seite 1von 9

Aplicaciones de Consola con Visual Studio Net

Aplicaciones de consola

Una aplicacin de consola es aquella que se ejecuta dentro de una ventana de lnea de comandos. Este
tipo de ventana recibe diferentes denominaciones: Smbolo del sistema, Sesin MS-DOS, Ventana de
lnea de comandos, etc., por lo que a lo largo de esta obra nos referiremos a ella de forma genrica
como consola.

Las aplicaciones de consola son muy tiles cuando necesitamos realizar pruebas que no impliquen el
uso del modo grfico del sistema operativo: formularios, controles, imgenes, etc., ya que consumen
menos recursos y su ejecucin es ms veloz.

En nuestro caso particular, debido a que los prximos temas versarn sobre aspectos del lenguaje, y en
ellos no necesitaremos obligatoriamente el uso de formularios, utilizaremos aplicaciones de consola
para los ejemplos.

Creacin de un proyecto de tipo aplicacin de consola


Para crear una aplicacin de consola bsica, despus de iniciar el IDE de VS.NET, y seleccionar el
men para crear un nuevo proyecto, elegiremos Aplicacin de consola en el panel derecho de la
ventana Nuevo proyecto. El resto de opciones de esta ventana se configuran igual que para una
aplicacin con formularios Windows. Ver Figura 160.
Aplicaciones de Consola con Visual Studio Net

Programacin con Visual Basic .NET Grupo EIDOS

Figura 160. Creacin de un proyecto de tipo consola.

Despus de pulsar Aceptar se crear el proyecto que contendr un fichero de cdigo con el nombre
MODULE1.VB, en cuyo interior encontraremos un mdulo de cdigo conteniendo un procedimiento
Main( ) vaco, por el que comenzar la ejecucin del programa. Ver Cdigo fuente 37.

Module Module1

Sub Main()

End Sub

End Module

Cdigo fuente 37

La clase Console
Esta clase se encuentra dentro del espacio de nombres System, y nos proporciona a travs de sus
mtodos, acceso a la consola para mostrar u obtener informacin del usuario.

Debido a que los miembros de esta clase se encuentran compartidos (shared), no es necesario crear una
instancia previa de la misma en una variable, pudiendo ejecutar directamente sus mtodos sobre el
objeto Console. Todo ello se explicar en los siguientes apartados.

182
Aplicaciones de Consola con Visual Studio Net

Grupo EIDOS 11. Aplicaciones de consola

Escritura de informacin
Para mostrar texto utilizaremos el mtodo WriteLine( ) del objeto Console. Este mtodo escribe en la
lnea actual de la consola el valor que le pasemos como parmetro, aadiendo automticamente las
marcas de retorno de carro y nueva lnea, por lo que la siguiente escritura se realizar en una nueva
lnea. Ver Cdigo fuente 38.

Sub Main()
Console.WriteLine("Hola mundo desde la consola")
Console.WriteLine("Esta es otra lnea nueva")
End Sub

Cdigo fuente 38

El cdigo fuente anterior tiene no obstante un inconveniente: cuando el lector lo ejecute observar que
se muestra la consola con las lneas de texto, pero inmediatamente vuelve a cerrarse, no dejando
apenas tiempo para ver su contenido. Esto es debido a que no utilizamos ninguna instruccin que
establezca una parada en la ejecucin, que nos permita observar el resultado de lo que hemos escrito
en la consola.

Para remediar este problema, utilizaremos el mtodo ReadLine( ), que realiza una lectura de los
caracteres que vayamos introduciendo en la lnea actual de la consola, e impedir continuar la
ejecucin hasta que no pulsemos [INTRO]. Ver Cdigo fuente 39 y el resultado en la Figura 161.

Sub Main()
Console.WriteLine("Hola mundo desde la consola")
Console.WriteLine("Esta es otra lnea nueva")

Console.ReadLine()
End Sub

Cdigo fuente 39

Figura 161. Escritura en la consola con parada de ejecucin.

Los valores a mostrar con WriteLine( ) pueden ser de distintos tipos de datos, pudiendo insertar
tambin lneas en blanco, como vemos en el Cdigo fuente 40.

Sub Main()
' ejemplos con WriteLine()

183
Aplicaciones de Consola con Visual Studio Net

Programacin con Visual Basic .NET Grupo EIDOS

' escritura de cadenas de caracteres


Console.WriteLine("Esta es la primera lnea")
Console.WriteLine("Ahora ponemos una lnea vaca")

Console.WriteLine() ' lnea vaca

' escritura de nmeros


Console.WriteLine("A continuacin escribimos un nmero")
Console.WriteLine(5891)

Console.WriteLine("Operaciones con nmeros")


Console.WriteLine(500 + 150)

Console.WriteLine() ' otra lnea vacia

' escritura de valores lgicos


Console.WriteLine("Resultado de la expresin lgica: 5 > 2")
Console.WriteLine(5 > 2)

' parada y espera respuesta del


usuario Console.ReadLine()
End Sub

Cdigo fuente 40

La Figura 162 muestra la consola con el resultado de la ejecucin del anterior fuente.

Figura 162. Escritura de valores en la consola con WriteLine( ).

Write( ) es otro mtodo que nos permite tambin escribir valores en la consola. Su uso es igual que
WriteLine( ), aunque debemos tener en cuenta que Write( ) no separa los valores a mostrar. Veamos
un ejemplo en el Cdigo fuente 41.

Sub Main()
Console.Write("Hola")
Console.Write("A")
Console.Write("Todos")
Console.Write(3456)
End Sub

Cdigo fuente 41

184
Aplicaciones de Consola con Visual Studio Net

Grupo EIDOS 11. Aplicaciones de consola

La ejecucin del anterior cdigo mostrara en la consola los valores as: HolaATodos3456.

Para evitar que el texto en la consola salga junto, podemos incluir espacios al comienzo y/o al final en
las cadenas de caracteres que pasemos como parmetro a Write( ), o bien utilizar este mtodo pasando
una cadena vaca. Ver Cdigo fuente 42.

Sub Main()
' ejemplos con Write()

Console.Write("Hola ")
Console.Write("A")
Console.Write(" Todos")
Console.Write(" ")
Console.Write(3456)

Console.ReadLine()
End Sub

Cdigo fuente 42

Escritura de mltiples valores en la misma lnea


Al utilizar WriteLine( ) o Write( ) ocurrir con frecuencia que en el texto a mostrar debamos incluir
valores que se encuentran en variables o expresiones, por lo que tendremos que realizar una
combinacin de la cadena de texto principal con los dems elementos para obtener la cadena final que
mostraremos al usuario. Esto lo podemos hacer empleando dos tcnicas:

Concatenacin.

Concatenando a la cadena principal las variables que contienen los valores a mostrar. Ver Cdigo
fuente 43.

' concatenar mltiples valores

' declarar variables


Dim Nombre As String
Dim Numero As Integer

' asignar valor a las


variables Nombre = "Luis"
Numero = 15

Console.WriteLine("He visto a " & Nombre & " transportando " & Numero & " cajas")
Console.ReadLine()

Cdigo fuente 43

La Figura 163 muestra el resultado.

185
Aplicaciones de Consola con Visual Studio Net

Programacin con Visual Basic .NET Grupo EIDOS

Figura 163. Concatenar valores a mostrar en la consola.

Parmetros sustituibles.

Pasando como primer parmetro la cadena a mostrar, y aadiendo tantos parmetros adicionales como
valores debamos mostrar en la cadena principal. En la cadena principal indicaremos el lugar en donde
visualizaremos los parmetros poniendo su nmero entre los smbolos de llave { }. El Cdigo fuente
44 muestra la misma situacin del ejemplo anterior pero utilizando esta tcnica. El resultado final en la
consola es el mismo que el del ejemplo anterior.

' combinacin de mliples valores

' declarar variables


Dim Nombre As String
Dim Numero As Integer

' asignar valor a las


variables Nombre = "Luis"
Numero = 15

' el primer parmetro contiene la cadena a mostrar,


' el resto de parmetros son las variables que se visualizarn
' en alguna posicin de la cadena del primer parmetro,
' el contenido de la variable Nombre se situar en el lugar
' indicado por {0}, la variable Numero en la posicin de {1} y
' as sucesivamente
Console.WriteLine("He visto a {0} transportando {1} cajas", Nombre, Numero)
Console.ReadLine()

Cdigo fuente 44

Como habr comprobado el lector, los parmetros sustituibles comienzan a numerarse por cero, no
estando obligados a mostrarlos en el mismo orden en el que los hemos situado en la llamada al
mtodo. El Cdigo fuente 45 muestra dos ejemplos de sustitucin de parmetros, uno de ellos con el
mismo orden en el que se han situado en WriteLine( ), y otro con un orden distinto.

' declaracin de variables


Dim Lugar As String
Dim Numero As Integer
Dim Vehiculo As String

' asignacin de valor a


variables Vehiculo = "tren"
Lugar = "Alicante"
Numero = 300

' visualizacin de resultados en consola


Console.WriteLine("El {0} con destino {1} viaja a mas de {2} kms. por
hora", Vehiculo, Lugar, Numero)

186
Aplicaciones de Consola con Visual Studio Net

Grupo EIDOS 11. Aplicaciones de consola

Console.WriteLine()

Console.WriteLine("El {2} con destino {0} viaja a mas de {1} kms. por hora",
Vehiculo, Lugar, Numero)
Console.ReadLine()

Cdigo fuente 45

Al ejecutar este fuente, la consola mostrar el aspecto de la Figura 164.

Figura 164. Diversas salidas a la consola con parmetros sustituibles.

Lectura de informacin
Para obtener el texto escrito por el usuario en la lnea actual de la consola y hasta la pulsacin de
[INTRO] podemos utilizar el mtodo ReadLine( ) del objeto Console.

El Cdigo fuente 46 muestra como volcamos a una variable el contenido de la lnea escrita por el
usuario y posteriormente exponemos su contenido, tambin a travs de la consola.

' declaramos una variable para volcar el contenido


' de una lnea de la consola
Dim LineaTexto As String

Console.WriteLine("Introducir un texto")
LineaTexto = Console.ReadLine() ' el texto se pasa a la variable

' ahora mostramos lo que hemos


escrito Console.WriteLine()
Console.WriteLine("El usuario ha escrito la siguiente lnea:")
Console.WriteLine(LineaTexto)

' aqu evitamos cerrar la consola,


' as podemos ver mejor el resultado
Console.ReadLine()

Cdigo fuente 46

Read( ) es otro mtodo del objeto Console que permite tambin la lectura del dispositivo de entrada de
la consola, pero en este caso devuelve el cdigo de una sola tecla pulsada por el usuario. Para ilustrar
el uso de este mtodo tenemos el ejemplo del Cdigo fuente 47, en el que despus de pulsar varias
teclas, nos introducimos en un bucle que va extrayendo cada uno de sus cdigos, que volvemos a
transformar en el carcter correspondiente a la tecla pulsada.

187
Aplicaciones de Consola con Visual Studio Net

Programacin con Visual Basic .NET Grupo EIDOS

' ejemplo con Read() Dim


CodTecla As Integer Dim
NombreTecla As Char

Console.WriteLine("Pulsar varias teclas")


Console.WriteLine()

While True
' tomar los cdigos de las teclas uno a
uno CodTecla = Console.Read()

' si se ha pulsado intro, salir


If CodTecla = 13 Then
Exit While
End If

Console.WriteLine("Cdigo de tecla pulsada: {0}", CodTecla)

' convertir el cdigo al caracter de la


tecla NombreTecla = Chr(CodTecla)

Console.WriteLine("Tecla pulsada: {0}", NombreTecla)


End While

Console.ReadLine()
Console.WriteLine("Ejemplo terminado, pulse intro")
Console.ReadLine()

Cdigo fuente 47
Aplicaciones de Consola con Visual Studio Net

Das könnte Ihnen auch gefallen