Beruflich Dokumente
Kultur Dokumente
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.
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
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
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
Cdigo fuente 40
La Figura 162 muestra la consola con el resultado de la ejecucin del anterior fuente.
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
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
Concatenacin.
Concatenando a la cadena principal las variables que contienen los valores a mostrar. Ver Cdigo
fuente 43.
Console.WriteLine("He visto a " & Nombre & " transportando " & Numero & " cajas")
Console.ReadLine()
Cdigo fuente 43
185
Aplicaciones de Consola con Visual Studio Net
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.
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.
186
Aplicaciones de Consola con Visual Studio Net
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
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.
Console.WriteLine("Introducir un texto")
LineaTexto = Console.ReadLine() ' el texto se pasa a la variable
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
While True
' tomar los cdigos de las teclas uno a
uno CodTecla = Console.Read()
Console.ReadLine()
Console.WriteLine("Ejemplo terminado, pulse intro")
Console.ReadLine()
Cdigo fuente 47
Aplicaciones de Consola con Visual Studio Net