Una aplicación de consola no utiliza los objetos de la VCL, y el aspecto de una aplicación de este tipo es el generado por los compiladores "tradicionales", ejecutándose sobre una consola MS-DOS. En cualquier caso, C++ Builder permite la creación de este tipo de aplicaciones. Veamos cómo.
Una aplicación de consola se crea usando el asistente Console Wizard. Seleccionar File | New | Console Wizard y en el asistente, indicar que se va a crear una aplicación de consola (Console).
El editor de código aparece de la siguiente manera:
Observar que el editor de código no presenta las líneas necesarias para la inclusión de las definiciones de objetos de la VCL y la función principal es la conocida main(), al contrario que ocurre en las aplicaciones "visuales", donde ésta se llama WinMain(). Escribir el siguiente código:
#pragma hdrstop #include <condefs.h> #include <iostream.h> #include <conio.h> //----------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { for (int i=0; i<5; i++) cout << "Valor de i = " << i << endl; getch(); return 0; } //-----------------------------------------------------------
Finalmente, guardar el proyecto y ejecutar el programa. Seleccionar File | Save Project As y guardar Project1.bpr como Console.bpr. Ahora podemos construir el ejecutable y probarlo: seleccionar Project | Build Console y a continuación, Run | Run. El resultado de la ejecución será el siguiente:
Pueden construirse aplicaciones visuales (hacen uso de la VCL) sin necesidad de usar el diseñador de formularios.
En este ejemplo escribiremos un programa que lanza una ventana de mensaje con un saludo.
El primer paso es crear una aplicación de la manera usual: Seleccionar File | New Application. Como la aplicación no tendrá un formulario y por defecto se asocia uno a la aplicación debemos borrarlo. Activar el formulario y a continuación seleccionar Project | Remove from project. Unit1.cpp tiene asociado el formulario principal Form1. Confirmar el borrado y de esta forma se eliminan tanto Unit1.cpp como Unit1.h del proyecto vigente. Para escribir el código del programa, seleccionar Project | View Source y escribir el siguiente código:
//----------------------------------------------------------- #include <vcl.h> //----------------------------------------------------------- WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { ShowMessage ("Hola"); return 0; } //-----------------------------------------------------------
Finalmente, guardar el proyecto y ejecutar el programa. Seleccionar File | Save Project As y guardar Project1.bpr como Saludo.bpr. Ahora podemos construir el ejecutable y probarlo: seleccionar Project | Build Saludo y a continuación, Run | Run. El resultado de la ejecución será el siguiente:
Este programa presenta los valores guardados en un vector en una ventana de mensajes (recordar el ejemplo anterior), presentando cada valor individualmente.
Como antes, en primer lugar se crea una aplicación: Seleccionar File | New Application. Activar el formulario para eliminarlo del proyecto: seleccionar Project | Remove from project. Finalmente, para escribir el código del programa, seleccionar Project | View Source y escribir el siguiente código:
//----------------------------------------------------------- #include <vcl.h> //----------------------------------------------------------- WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { for (int i=0 ;i<5 ;i++){ ShowMessage ("Valor de i = " + AnsiString(i)); } return 0; } //-----------------------------------------------------------
Guardar el proyecto (File | Save Project As) llamándolo Ciclo.bpr, construir el ejecutable (Project | Build Ciclo) y ejecutarlo Run | Run). El resultado de la ejecución, en cada iteración, será el siguiente. Para pasar a la siguiente iteración hay que pulsar el botón OK, de forma que en cada iteración aparece una sóla ventana.
Primera iteración | Segunda iteración | . . . . . . | Quinta iteración | |
. . . . . . |
En este ejemplo se crea un vector dinámico de 5 enteros y se muestra su contenido en una única ventana.
Se procede como en los dos casos anteriores, y llamaremos al proyecto Vector.bpr. El código que escribiremos es el siguiente:
//----------------------------------------------------------- #include <vcl.h> //----------------------------------------------------------- WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { int *vector; AnsiString cadena = ""; vector = new int[5]; for (int i=0; i<5; i++) { vector[i] = i*2; cadena = cadena + "vector[" + AnsiString (i) + "] = " + AnsiString (vector[i]) + "\n"; } ShowMessage (cadena); delete []vector; return 0; } //-----------------------------------------------------------
La ejecución de este programa produce el siguiente resultado: