Cursos subvencionados para trabajadores
Realiza el curso gratis a través de tu empresa.
Cursos SubvencionadosYa sabemos que con nuestro Visual Basic .NET podemos realizar muchos proyectos diferentes. Uno de ellos que ya vimos en el capítulo anterior es la aplicación de consola:

Las aplicaciones de consola son aquella que se ejecutan en una ventana de comandos, como si fuera una aplicación de Ms-DOS:

Nos será muy útiles cuando necesitemos realizar pruebas en las que no necesitemos formularios ya que se ejecutarán mucho mas rápido. También pueden ser útiles para crear programas de consola completos que realicen una serie de acciones: leer ficheros de texto y procesarlos, ...
A lo largo del curso las veremos en varias ocasiones por lo sencillo que es empezar a trabaja con ellas y nos permitirá ver mas claramente ciertas partes de código.
Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de Visual Basic .NET y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
Como hemos visto en la anterior pantalla, crearemos un nuevo proyecto y le decimos que sea "Aplicación de consola". Veamos el código que nos muestra una vez que está preparado el IDE:

No tendremos la complejidad de los otros programas, simplemente ver que en el explorador de soluciones que el proyecto se compone de un fichero Module1.vb:

Y que dentro del código tenemos el módulo dentro de las instrucciones "Module y End Module". Las instrucciones del procedimiento principal, donde va a comenzar nuestro programa, aparecen por defecto en Sub Main () ... En Sub. Si añadimos mas módulos podemos indicarle cual es el principal o punto de entrada al programa con la pantalla de las propiedades del programa consola1. Para acceder a estas propiedades puedes pulsar con el botón derecho del ratón en el título de la aplicación en el explorador de soluciones o hacer doble clic en "My project" del explorador de soluciones:

Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de Visual Basic .NET y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
Como ya sabrás a estas alturas del curso todo en VB.NET son clases así que esta no podía ser menos. Esta clase se encuentra dentro del espacio de nombre System.
Recuerda que System designa al espacio de nombres principal o raíz, a partir del cual, descienden todos los espacios de nombre y clases de la plataforma. Otros espacios de nombre que veremos a lo largo del curso serán: System.IO para los ficheros, System.Drawing para dibujos y System.Windows.Forms para las aplicaciones Windows.
Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de Visual Basic .NET y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
Para escribir textos en pantalla utilizaremos el método WriteLine() del conocido objeto Console. Este método escribe en la línea actual el valor que le pasemos por parámetro añadiendo al final un "intro" o final de línea lo que provocará que el cursor pase a la siguiente línea.
Como primera aplicación escribiremos:

Ejecuta la aplicación y verás que funciona correctamente... ¿la has visto? Igual no te ha dado tiempo porque se habrá mostrado una pantalla negra con este contenido y se habrá cerrado inmediatamente. Pues si, el IDE la ha ejecutado y luego al vuelto otra vez al IDE. Vamos a mejorarla poniendo algo parecido a una pausa al fina. Podemos poner debajo de las dos instrucciones "Console.ReadLine()", esta instrucción lee datos por teclado así que esperará hasta que pulsemos Intro, de esta forma se nos quedará visible en pantalla:

Una variante de WriteLine es Write cuya única diferencia es que no avanza la línea al ejecutarse. Veamos ahora un sencillo programa donde se escribe textos de distintos tipos incluyendo una línea en blanco como separadora:
Que nos producirá el resultado:

Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de Visual Basic .NET y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
Si queremos concatenar varios textos en una línea los podemos concatenar con el símbolo "&", tanto para variables como para textos. Por ejemplo:
'Tenemos dos variables Nombre="Pepe" Numero=27Console.WriteLine ("Hola me llamo: " & nombre & " y tengo " & numero & " años.") console.Readline
Así que irá concatenando la cadena con "Hola me llamo:" con nombre que es una variable, así que el resultado final será:

Ahora nos queda ver cómo podemos poner parámetros sustituibles.
Hemos visto como con WriteLine podemos indicar, entre otras cosas, una cadena que se mostrará en la ventana de consola, dentro de esa cadena podemos usar unos indicadores o marcadores en los que se mostrarán los parámetros indicados en esos dos métodos de la clase Console.
Los marcadores se indican con un número encerrado entre llaves, los números indicarán el número u orden del parámetro que siga a la cadena en el que está ese marcador. El primer parámetro estará representado por el cero y así sucesivamente.
Por ejemplo, para mostrar los valores de dos parámetros usaremos algo como esto:
Console.WriteLine("{0} {1}", i, j)
En este ejemplo, el {0} se sustituirá por el valor de la variable i, y el {1} por el valor de la variable j.
Que es mucho mas cómodo que ir concatenando cadenas de caracteres y variables... fíjate en la diferencia:
Console.WriteLine ("Hola me llamo: " & nombre & " y tengo " & numero & " años.")
Console.WriteLine ("Hola me llamo: {0} y tengo {1} años.", nombre, numero)
El segundo caso dice que se van a escribir dos variables en la posiciones de {0} y {1}. Y esas variables están a continuación en "nombre, numero" Cuando se indican marcadores, estos deben coincidir con el número de parámetros, es decir, si usamos el marcador {3}, debería existir ese parámetro, en caso de que haya menos de 4 parámetros (de 0 a 3), se producirá una excepción (un error).
| Nota Los parámetros pueden ser numéricos, de cadena, e incluso objetos basados en una clase. En todos los casos se usará la "versión" de tipo cadena de esos parámetros, de esto sabrás un poco más cuando toquemos el tema de las clases... sólo te lo comento para que no te extrañe ver algo "raro" si haces tus propias pruebas |
Con uno de estos marcadores, además de indicar el número de parámetro que se usará, podemos indicar la forma en que se mostrará: cuantos caracteres se mostrarán y si se formatearán a la derecha o la izquierda; también se pueden indicar otros valores de formato.
La forma de usar los marcadores o las especificaciones de formato será la siguiente:
{ N [, M ][: Formato ]}
Veamos algunos ejemplos para aclarar todo esto:
Console.WriteLine("---------- ----------")
Console.WriteLine("{0,10} {1,-10} {2}", 10, 15, 23)
'
Console.WriteLine("---------- ----------")
Console.WriteLine("{0,10:#,###.00} {1,10}", 10.476, 15.355)
El resultado de este ejemplo sería este:

En el primer caso, el primer número se muestra con 10 posiciones, justificado a la derecha, el segundo se justifica a la izquierda.
En el segundo caso, el número 10.476 se justifica también con 10 posiciones a la derecha, pero el número se muestra con un formato numérico en el que sólo se muestran dos decimales, por eso se ha redondeado el resultado, sin embargo en el segundo valor se muestran todos los decimales, ya que no se ha especificado ningún formato especial.
Estas especificaciones de formato son aplicable a números, pero también lo es a cadenas de caracteres y fechas. Veamos algunos ejemplos más:
Console.WriteLine("Hoy es: {0:G}", DateTime.Now)
Console.WriteLine("Hoy es: {0:dd/MM/yy}", DateTime.Now)
Console.WriteLine("Hoy es: {0:ddd, dd/MMM/yyyy}", DateTime.Now)
El resultado de estas líneas será el siguiente (al menos usando la configuración regional que tengo en mi equipo, y de las funciones no te preocupes ya las veremos mas adelante...):

Como puedes comprobar, en esta ocasión no se indica cuantos caracteres se usan para mostrar los datos, (ya que sólo se indica el parámetro y el formato a usar), pero en el caso de que se especifiquen, si la cantidad de caracteres a mostrar es mayor que los indicados, no se truncará la salida, es decir, no se quitarán los caracteres que sobren. Esto lo podemos ver en el siguiente ejemplo:
Dim s As String = "Esta es una cadena larga de más de 20 caracteres"
Dim s1 As String = "Cadena más corta"
'
Console.WriteLine("--------------------")
Console.WriteLine("{0,20}", s)
Console.WriteLine("{0,20}", s1)
Console.WriteLine("--------------------")
La salida de este código es la siguiente:

Tal como podemos comprobar, la primera cadena excede los 20 caracteres (los indicados con las rayas), por tanto se muestra todo el contenido, sin embargo la segunda cadena mostrada si se posiciona correctamente con espacios a la izquierda hasta completar los 20 especificados.
En formato se pueden usar muchos caracteres diferentes según el tipo de datos a "formatear", la lista sería bastante larga y de momento nos vale con lo que hemos visto aquí.
Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de Visual Basic .NET y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
Para leer valores por teclado utilizaremos como hemos visto antes el método ReadLine. Si queremos asignar el valor leído a una variable lo indicaremos en la asignación a la variable:
'Declaro una variable de tipo cadena de caracteres dim cadena as stringcadena=Console.Readline()
Mas adelante haremos algún ejemplo de aplicación de consola...
Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de Visual Basic .NET y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
Copyright 2008© ADRInfor S.L. Logroño | Tel: 941250116 Fax: 941236805 | Email | Politica de Privacidad