Programando con wxDev-C++

Transcripción

Programando con wxDev-C++
Programando
con
wxDev-C++
Covering using wxDev-C++ for
Programming and Debugging
Basic C and C++ Programming
Using wxWidgets with wxDevC++
Answers Frequently Asked
Questions
Source Code Available Online
By Sof.T
y
Jaime Gutierrez
Copyright (C) 2006 Sof.T
This book and associated source code is free published material; you can redistribute it
and/or modify it under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your option) any later
version.
This book and associated source code is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this
book; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
02139, USA.
Version No: 0.2.0
Release Date: 18 Octubre 2007
Newest version available from
http://sourceforge.net/project/showfiles.php?group_id=173102
Programando con wxDev-C++
“It’s got some quirks but then again don’t we all”
NinjaNL
Contents
La inevitable Introducción
•
•
•
•
Introducción
Historia del wxDev-C++
¿Para quién es este libro?
Agradecimientos
Part 1 – C / C++ Programming with wxDev-C++
•
•
Capítulo 1 – Descarga, Instalación y Actualización de wxDev-C++
o Introducción
o Downloading wxDev-C++
o Instalando wxDev-C++
o Actualizar wxDev-C++
o Añadiendo Packages Extras
Capítulo 2 – Compilando tu primer programa
o Introducción
o Abriendo un proyecto existente
o Creando tu propio proyecto
This Page Intentionally Left Blank
(Just to irritate you when you print it out)
The Boring Bit
La inevitable Introducción.
( la inevitable traducción de la introducción )
La primera pregunta que cualquier niño haría es ¿ Por qué ? Y ésta es una buena pregunta (
Excepto cuando es la tercera vez que la hace ). El sol resplandece, hay miles fuera, entonces por
qué estoy encerrado escribiendo este libro.
La razón principal es que mucha gente ha preguntado en el wxForum si existe algún libro sobre
wxDev-C++. Hasta ahora se han escrito unos pocos tutoriales y por aquí o acullá varios han
murmurado acerca de libros. Esto responde la pregunta de por qué yo estoy escribiendo éste libro.
Pero no por qué yo estoy escribiendo este libro.
Para mi wxDev-C++ es algo muy especial. Todo se remonta a Julio de 1999 ( queue the
flashback and misty camera lenses). Usualmente yo revisaba ( compraba ) revistas de
computación, una gran ruma de ellas, pero ésta era una especial. Sobre la portada estaba
Championship Manager 3, pero siendo yo un tipo geek no me interesaba en ésto. Más bien la
tomé por un pequeño recuadro en la esquina que decía “Bloodshed DevC++, Free C and C++
environment”. Un Mundo grandioso y nuevo se habría para mi, el mundo de C y C++ hasta
entonces yo sólo había programado en Basic y Visual Basic. También me introdujo en el
asombroso mundo del Open Source Software.
Figure 0.1 – Dev-C++ circa 1999
Yo fuí de prisa desde el trabajo a casa e instalé este programa, era muy básico y más bien feo,
pero no me afectó. Abrí uno de los ejemplos, presioné compilar y fuí saludado con el mensaje
“this program could not be compiled”, entonces el IDE (Integrated Development Environment) se
cayó. Nuevamente levanté DevC++ y abrí otro ejemplo, esta vez se compiló. Fué una ventana
básica con un botón en ella, para mi fué un milagro. Yo pensé, que generoso Colin Laplace, hacer
este programa “free” y darlo a conocer. En los años que siguieron continué usando DevC++ y
observé su crecimiento desde un programa feo e inestable a un IDE con reminiscencias de
Microsoft Visual Studio que satisfascía muchas de mis necesidades. Yo no estoy solo, hoy
DevC++ es aún la aplicación de desarrollo más bajada en el sitio SourceForge.
Figure 0.2 – DevC++ in a more recent guise
No obstante, también he usado otros IDE esta vez de Borland uno llamado C++ Builder. Yo
valoro
la facilidad para crear GUIs en segundos. Puedo ver su aspecto antes de estar compilados y
modificar rápidamente cosas que podrían requerir varias líneas de código para crear y cambiar.
Estuve ..I was torn between.. entre DevC++ y C++ Builder hasta que me uní al proyecto llamado
“SkinDoc” en SourceForge en 2005.
Este proyecto fue encabezado por el programador conocido como Nuklear Zelph y desarrollado
usando una aplicación que ( which had slipped past me called ) se deslizaba de mi pasado,
wxDev-C++. Básicamente, era un diseñador gráfico construído sobre DevC++. Lo bajé y
encontré las respuestas a todos mis deseos en cuanto a programación.
Bueno, casi todos, wxDev-C++ es resultado de un gran trabajo; muchos programadores expertos
han invertido su tiempo creándolo y continúan mejorándolo. Pero también es una obra en curso,
por lo tanto tiene algunas aristas inconclusas. Respecto de otros IDEs es similar y a la vez
diferente, tanto que algunas partes pueden ser difíciles para un usuario recién llegado. Dudé hasta
que descrubí el tutorial disponible en el sitio de wxDev-C++ y posteriormente el foro wxForum.
También, wxDev-C++ sufre de un gran inconveniente. La paradoja de que DevC++ fue escrito en
Delphi Pascal. wxDev-C++ continua con esta tradición y por lo tanto el programa desarrollado en
el diseñador no siempre hace juego con el programa compilado. Es una muestra de aplicación tipo
WYSINAWYG (What You See Is Not Always What You Get), algo de esto mejorará con el
tiempo, pero dudo que pueda alcanzar a ser perfecto.
Este libro está escrito con mi experiencia, la de otros usuarios de los foros y estoy esperanzado
que les sea de utilidad. Algo de esto sin duda estará atrasado tan pronto como wxDev-C++
continue mejorando, pero este libro los reflejará en la medida que crescan juntos.
Sof.T
Historia del wxDev-C++
En 1983 Richard Stallman hace público el proyecto GNU. Este proyecto aspiraba a proporcionar
un sistema operativo ‘free’ con herramientas semejantes a UNIX. Como parte de este proyecto
Richard Stallman creó el compilador GCC ampliamente conocido.
En 1992 Julian Smart comienza un proyecto llamado wxWindows, que en 2004 pasó a
denominarse wxWidgets debido a la presión de Microsoft. Este proyecto fue concebido para
obtener una librería GUI multiplataforma y Open Source, que, además, usara los widgets
originales de cada sistema.
En 1995 Steve Chamberlain comienza el proyecto Cygwin después nota que GCC contiene un
gran número de atributos que hacen posible su conversión a Windows. Se unen al proyecto otros
programadores y ayudan al crecimiento del Cygwin package.
Originalmente una derivación de Cygwin, aparece MinGW (Minimalist GNU for Windows). Este
provee las herramientas y las cabeceras Windows para desarrollar la plataforma en Win32.
Alrededor de 1999 Colin Laplace libera la primera versión de Dev-C++. Usa el compilador
MinGW, que provee un IDE minimalista. Otros desarrolladores se unieron y juntos ayudaron a
expandir Dev-C++ en un IDE que rememora a Microsoft’s Visual Studio.
Corría el 2003 y Guru Kathiresan crea en Delphi un diseñador gráfico que funciona aislado.
Aunque es funcionalmente limitado es posible crear aplicaciones básicas.
En 2004 Guru Kathiresan incorpora el diseñador dentro de Dev-C++. La aplicación resultante fue
renombrada a wxDev-C++ y se convierte en una herramienta RAD similar a Delphi o Visual
Basic. Muchos otros desarrolladores se han unido desde entonces y continúan mejorándolo.
Para quién es este libro ?
En rigor para que este libro sirva necesitará dirigirse a lectores de un amplio rango. Desde
aquellos que nunca han programado en C++ a aquellos que saben pero que nunca han usado
wxWidgets, y aquellos que están tranquilos con ambos pero buscan una píldora de información
adicional.
Este amplio rango de lectores posibles ha influido en la forma de este libro, expertos no querrán
esforzarse en un barniz sobre programación en C/C++, y los principiantes no querrán crear GUIs
que no hagan nada, porque ellos no pueden hacer código que se ejecute. Como resultado de esto
el libro está dividido para permitir al lector ir directamente a la sección de su interés.
Sección uno
Esta sección trata sobre la instalación de wxDev-C++, crear código en C and C++, y la parte
DevC++ de wxDev-C++.
Sección dos
Esta sección describe como crear GUI usando wxDev-C++. Se interna en wxWidgets y como
trabajan juntos.
Sección tres
La sección final cubre tópicos avanzados, para usuarios que quieran ir más allá que usar los
controles estándar.
Cada sección termina con una selección de FAQs.
Agradecimientos
Thanks to Peter James for volunteering to carry out the role of proof-reader. His edits and
additions are greatly appreciated and have helped to considerably raise the quality of this book.
Malcolm Nealon has also added some valuable improvements, as well as correcting at least one
major mistake.
Thanks also to the developers of wxDev-C++, especially Joel Low and Tony Reina for the time
they have taken to respond to my questions.
A special thank you to Jaime Gutierrez for working on a Spanish translation.
Part 1
C / C++ Programming with
wxDev-C++
Capítulo 1 – Descarga, Instalación y Actualización de wxDev-C++
Introducción
Este capítulo está orientado para todos los usuarios. Deliberadamente he extendido las
explicaciones para quienes nunca o raramente instalan o desintalan aplicaciones. Los usuarios
avanzados podrían irritarse por la cantidad de imágenes y precisión de las instrucciones. Si este es
tu caso entonces puedes saltarte esta sección o quizás dar una mirada ligera para informarte de las
novedades.
Un asunto que muchos han preguntado es si wxDev-C++ está disponible en plataformas distintas
a Windows. La respuesta corta es NO. Sin embargo la buena noticia es que cualquier código que
hagas con wxDev-C++ puede ser compilado en otras plataformas. Para más información verifica
las FAQ al final de esta parte o visita http://wxdsgn.sourceforge.net/faq.php
Downloading wxDev-C++
El proyecto wxDev-C++ está hospedado en SourceForge y este es el lugar para bajar la última
versión oficial ( Hay otras versiones, pero nos referiremos a la última). Por ahora asegúrate de
estar conectado a Internet y abre tu navegador. Conéctate al sitio oficial de wxDev-C++, la URL
siguiente http://wxdsgn.sourceforge.net.
Figure 1.1 – The Official wxDev-C++ website [Accessed 1/11/2006 at 7:55A.M.]
Sobre la barra de navegación de la izquierda verás el vínculo Downloads. Actualmente hay dos
vínculos diferentes uno a wxDev-C++ y otro a wxDev-C++ para VC. La primera versión usa sólo
el compilador open source Mingw la otra versión puede usar también el compilador Microsoft.
Pronto estas versiones serán unidas.
Seleccione la opción wxDev-C++ 6.10.
Figura 1.2 – Seleccionando una versión de wxDev-C++
Presione sobre el vínculo etiquetado ‘wxDev-C++ 6.10’ entrarás en la página download page de
SourceForge. Esta página contiene una lista de sitios espejo desde los cuales puedes bajar el
archivo de instalación, Setup.
Figura 1.3 – SourceForge download page for wxDev-C++
Ahora escoge un sitio espejo que esté cerca tuyo. Para mí éste es Kent, U.K. A la derecha del
nombre del sitio espejo, está un vínculo en color azul etiquetado “Download”. Presiona este
vínculo para acceder a la página de descarga del sitio.
La página se recargará desde este espejo y la descarga partirá automáticamente.
NOTA:
En Internet Explorer Windows XP Service pack 2, la descarga puede ser bloqueada,
en cuyo caso es necesario presionar sobre el encabezado y seleccionar ‘Allow
download from this site’ ( Permitir la descarga desde este sitio ).
La siguiente cosa que debes ver es el cuadro de diálogo de descarga. Esto diferirá de un
navegador a otro, pero todos deberán contener las mismas funciones básicas descargar el archivo
o ejecutarlo. Si tu escoges la opción [Run], el archivo Setup.exe se descargará y ejecutará
automáticamente. Si tu escoges [Save] el archivo Setup.exe será salvado en tu computador para
que lo ejecutes cuando desees.
Presiona cualquiera de los botones, [Run] o [Save].
Figure 1.4 – Internet Explorer’s file download option box
Figure 1.5 – Firefox’s file download option box
En mi caso escojo [Save] ya que prefiero guardar los archivos Setup a mano por si necesito
desintalar o reinstalar en un computador distinto.
Figure 1.6 – Choosing a location to save the setup files in.
Cualquiera hayas elegido [Run] o [Save] la descarga debe comenzar. Dependiendo de tu
conección a internet será el tiempo que demore, puede ser para un café o un simple bostezo.
Como se muestra a continuación esta descarga fue de aproximadamente 47.5Mb en Noviembre
del 2006)
Figure 1.7 – The setup file downloading
Instalando wxDev-C++
Cuando el archivo haya sido descargado, si has elegido [Run] el programa de instalación partirá
automáticamente, sino necesitarás encontrar el archivo guardado y ejecutarlo con un doble click
sobre su nombre. O con el botón derecho del mouse elegir ‘Open’.
Figure 1.8 – Running the setup program
A continuación verás un cuadro advirtiendo que no debes instalar este programa sobre una
instalación existente. Esta es una advertencia importante, mucha gente lo confirma.
No atender a estas instrucciones puede terminar en una instalación fallida que se puede ver bien
pero te puede dar muchos dolores de cabeza (no muy distinto a una chicha de manzana). Mira
más adelante la sección Updating wxDev-C++ para más detalles.
Figure 1.9 – The initial warning message from wxDev-C++ setup
El próximo cuadro pide seleccionar el lenguaje a usar durante la instalación. Personalmente
prefiero el lenguaje por defecto, inglés ya que tengo problemas para comprender cualquier otro. (
N.del T:Debe ser por la libertad que nos tomamos los traductores ;-)
Selecciona tu lenguaje y presiona [OK].
Figure 1.10 – Choose a language option dialog
La próxima opción marca un cambio respecto de las versiones previas de wxDev-C++. Esta
versión ofrece soporte para más que un tipo de compilador, permite elegir el compilador que
quieres usar.
Marca los compiladores que deseas usar, luego presiona [Next>]
Figure 1.11 – Choosing which compilers you wish to use
Aunque wxDev-C++ es libre, para usar éste debes aceptar las cláusulas de la licencia. La licencia
es la GNU GPL (General Public Licence) Versión 2. Esta puede ser leída completamente o
saltársela, para continuar presione [I Agree].
Figure 1.12 – The license agreement dialog
El próximo cuadro ofrece la posibilidad de escoger los componentes que deseas instalar, prefiero
mantener las opciones por defecto, pero es conveniente recorrer la lista de componentes para
tener una idea de que es lo que incluye la “distribución”. El combo box llamado ‘Select the type
of install’ entrega tres opciones de instalación full, minimal y custom. Use la instalación mínima
si el espacio de disco es prioritario en tu computador. Podrás notar que las dos primeras
alternativas están en gris porque son requeridas para instalar algo que funcione. Si usas otro IDE
(not that you would) y sólo deseas probar wxDev-C++, entonces sería conveniente desmarcar la
opción de asociar tipos de archivos a
wxDev-C++. De igual forma, si no haces cambios en esta ventana, ésta es tu última posibilidad de
elegir que compilador soportarás y cargar las librerías para ello.
Hace tu selección y presiona [Next >] para continuar.
Figure 1.13 – The component choice dialog
El cuadro siguiente da la opción de elegir donde quieres que wxDev-C++ aparezca en el menú de
Inicio, nuevamente es una elección personal, Yo agrupo los programas de tipo similar y modifico
esta opción a ‘Programming\wxDevCpp’. Toma tu opción y presiona [Next >] para continuar.
Figure 1.14 – Start menu location option dialog
El cuadro “Install Location” da la posibilidad de ubicar la carpeta de instalación de wxDev-C++.
Hay una por defecto, la que usualmente adopto. Anteriormente la carpeta usada era “C:\Dev-Cpp”
debido a que DevCpp no podía manejar espacios en el Path del archivo a compilar. Sin embargo,
esto ya no es el caso gracias al duro trabajo de los desarrolladores de wxDev-C++. En
consecuencia el valor por defecto es ahora “C:\Program Files\Dev-Cpp”. Esta es una de las
muchas mejoras en esta versión.
Respira hondo y presiona [Install].
Figure 1.15 – Choose an install location dialog
Mientras el siguiente cuadro se llena con los nombres de todos los archivos que están instalándose
podrás tomar otra pequeño descanso.
Figure 1.16 – File Installation dialog
A mitad de camino de la instalación, aparecerá el siguiente cuadro. Si quieres colocar wxDevC++ en el menú de Inicio de todos los usuarios en tu computador entonces presiona [Yes], sino
presiona [No]. Yo selecciono [No] ya que los otros usuarios de mi computador no quieren mis
enredos en su entorno.
Presiona cualquiera [Yes] o [No] para continuar.
Figure 1.17 – Install for all users dialog
Correrán más archivos. Pronto wxDev-C++ terminará la instalación de todos los archivos
necesarios.
Ahora click [Next] para continuar.
Figure 1.18 – File Installation dialog upon completion
Esto continua con los cuadros de Completing Setup. Desmarca el check box etiquetado ‘RunwxDev-C++’ si no quieres que wxDev-C++ se ejecute cuando salgas del wizard. Igualmente
desmarca ‘Read Sof.T’s wxDev-C++ Programming Manual’ si no quieres leer este libro. De
preferencia marca ‘Run wx-Dev-C++’ al salir y continua con las siguientes instrucciones.Si no
haces esto, la próxima vez que ejecutes wxDev-C++ necesitarás completar los siguientes pasos.
Presiona [Close] para salir y aplaude fuertemente.
Figure 1.19 – The completion of the setup dialog
Cuando wxDev-C++ parte por primera vez serás saludado con una advertencia de la versión beta.
Esta no estará en versiones posteriores. Leela o no como desees.
Presione [OK] para continuar.
Es conveniente recordar que los bugs se pueden enviar si encuentras alguno. Este atributo permite
la mejora continua de los programas Open Source y entrega algo mejor que hacer que maldecir a
los programadores cuando se cae la aplicación. Otro punto relevante es la actualización, que es
cubierto en detalle en un capítulo posterior, en la sección ‘Updating wxDev-C++’.
Figure 1.20 – The beta dialog
Te enfrentas ahora con varias opciones para ajustar tu versión de wxDev-C++. Es el mismo
comienzo de la versión estándar de DevC++. Aquí puedes elegir tu lenguaje preferido. Como
mencioné antes yo escojo English. También puedes elegir entre 3 diferentes temas de iconos, (
prefiero New Look) y escoger si soportar o no el tema de XP.
Haz tu selección personal y click [Next] para continuar.
Figure 1.21 – Configuration Dialog
Después tienes la opción de habilitar “code completion”. Elige “Yes, I want to use this
feature”. El diseñador gráfico en wxDev-C++ descansa sobre el atributo de “code completion”
para crear automáticamente eventos para ti. A pesar que “code completion” puede convertirse en
un estorbo, también puede ser una gran fuente de información, y ayudar a evitar errores
tipográficos.
Click on [Next] to continue.
Figure 1.21 – Enable code completion dialog
La segunda parte del atributo “code completion” pregunta si quieres crear un cache de éste.
Básicamente éste busca a través de todos los archivos .h en tus directorios “include” y construye
una lista de funciones, etc. Posteriormente cuando programes “code completion” usa este cache
para ayudarte, inducirte a completar el código.
Selecciona la opción ‘Yes, create the cache now’.
Click [Next] to continue.
En este punto, a menos que tengas un computador muy rápido, anda a hervir agua y prepara un
café. ( N. del T. : Nuestro amigo inglés dejó el té por el café ).
Figure 1.22 – Code completion cache creation dialog (try saying that fast)
Bebe tu café y continúa esperando. Esto termina con el tiempo te doy mi palabra.
Figure 1.23 – Yep still waiting, nearly finished that coffee though
Hurra, hemos llegado al cuadro final. Lee o no según desees y presiona [OK] para completar el
proceso de instalación.
Figure 1.24 – Phew the final dialog
Después de una corta pausa el IDE aparecerá, seguido por el tip del día.
Actualizar wxDev-C++
Actualizar wxDev-C++ es un procedimiento medianamente simple siempre y cuando recuerdes la
advertencia que aparece durante la instalación y que dice ‘Please do not install this version of
wxDevC++ over an existing installation’. Para conocedores de windows esto será un procedimiento
simple, pero, por si las moscas no estás seguro, aquí está como proceder. Como siempre presiona
el botón [Start-Inicio] sobre la barra de Windows. Desde el menú emergente selecciona ‘Panel de
Control’.
Figure 1.25 – Getting to the Control Panel (Windows 9x)
El Panel de Control aparecerá con varias opciones.
Necesitas seleccionar Agregar/Remover Programas.
Figure 1.26 – Selecting Add/Remove Programs
Aparecerá el cuadro de Add/Remove. Dependiendo de cuantos programas tengas
instalados en tu computador, tomará unos pocos segundos en llenar la lista. Cuando termine
recorre la lista hasta que encuentres wx-devcpp. Selecciona esta opción; cuando esté destacada el
botón Add/Remove será activado.
Click el botón [Add/Remove] para continuar.
Figure 1.27 – The Add/Remove Dialog
El próximo cuadro muestra la ubicación de wxDev-C++ y deberás presionar ‘Uninstall’ para
continuar.
Figure 1.28 – Uninstall dialog
Se despliega una lista con los archivos desinstalados.
Figure 1.29 – wxDev-C++ being uninstalled.
Finalmente los siguientes cuadros emergerán. Si has gastado mucho tiempo en configurar el IDE
con tus preferencias, desearás mantener los archivos de configuración.
Click el botón [No] para mantener tus archivos de configuración
o
Click el botón [Yes] para borralos y volver al valor por defecto.
Figure 1.30 – Remove configuration files dialog
Finalmente, el último cuadro. Ya que personalmente guardo mis proyectos en C:\DEV-CPP, dejo
este directorio. Es seguro dejar este directorio para instalar tu nueva versión. O borrarlo, como
sea, la decisión es tuya.
Figure 1.31 – The final dialog
Para instalar la última versión desde el sitio en Sourceforge siga las instrucciones de la sección
previa ‘Getting wxDev-C++’.
Usuarios Avanzados
Para usuarios avanzados existe la opción de probar las versiones de frontera de wxDev-C++ en
sus compilados alfa. Estos compilados muestran atributos que pueden formar parte de futuras
versiones de wxDev-C++. Hay dos sitios donde están estas pruebas, los de Tony Reina y Joel
Low. Ambos son accesibles desde la página principal de wxDev-C++ en “Alpha builds” en la
barra de navegación lateral.
Figure 1.32 – Link to alpha build of the wxDev-C++ IDE
Abajo esta la portada del sitio de Tony. Tony generalmente tiene disponible varias versiones de
wxDev-C++.
Figure 1.33 – Tony’s wxDev-C++ page
Presiona sobre la conexión a wx-devcpp Testers (alpha versions). Este te llevará a la siguiente
página. Desearás grabar el devcpp.palette para que este agregue lo último en controles a la paleta
de widget en el IDE. Las fechas adjuntas a los archivos te indican cuales son los últimos. Presiona
alguno que te interese, sálvalo en el lugar donde instalaste wxDev-C++ ( Este es “C:\Program
Files\Dev-Cpp” si aceptaste la ubicación por defecto).
Figure 1.34 – Tony’s list of wxDev-C++ versions
Cuando se haya terminado la descarga abre la carpeta C:\Dev-Cpp ( o el lugar de instalación ) y
renombra devcpp.exe a algo como devcpp.exe.backup. Así quedará disponible para revertir el
cambio si la versión nueva queda muy inestable. Ahora busca el archivo que bajaste y renómbralo
a devcpp.exe. Ahora puedes ejecutar wxDev-C++ normalmente. La página de Joel en cambio
tiene vínculos a versiones alfa solo en binario o “installer packages”. El también enumera varios
vínculos a librerías re-compiladas de wxWidgets. En la Web hay disponibles también
actualizaciones. Lee la próxima sección para más detalles.
Figure 1.35 – Joels’s list of wxDev-C++ versions and packages.
La última versión CVS puede ser localizada en http://home.wanadoo.nl/m.nealon/devcppcvs.exe .
El que te da otra opción a probar.
Añadiendo Packages Extras
En algún momento durante el desarrollo de DevC++ alguien decide que sería bueno que los
usuarios pudieran añadir las librerías usadas por ellos y actualizar el IDE. La primera versión de
este mecanismo de actualización fue denominado VUpdate. Sin embargo, éste fue desechado con
el tiempo y DevC++ derivó a un nuevo sistema llamado Web Update. Este permite al usuario
descargar nuevas versiones de DevC++ cuando sean lanzadas y descargar también DevPaks.
DevPaks son paquetes de archivos que contienen una gran variedad de cosas desde archivos de
ayuda hasta bibliotecas adicionales. wxDev-C++ está basado en DevC++ debido a esto se usa el
mismo Web Update, pero como consecuencia se tendrá que atender a algunos obstáculos que
discutiremos posteriormente.
En primer lugar permítanme mostrar como añadir más bibliotecas a nuestra instalación de
wxDev-C++. Si wxDev-C++ no está corriendo, iníciala.
Desde el menú “Tools” selecciona “Check for Updates/Packages…”
Figure 1.36 – Check for updates from the tool menu
Este activará la aplicación Web Update. Asegúrate de estar conectado a Internet antes de
proceder. En el borde superior del cuadro de diálogo está una listbox etiquetada “Select DevPak
server”. Presiona sobre la flecha lateral para desplegar los servidores disponibles ( Actualmente
hay tres, solo uno dedicado a wxDev-C++).
Selecciona “Dev-C++ primary devpak server”.
Figure 1.37 – Selecting a DevPak server
Después que hayas seleccionado el servidor:
Presiona el botón [Check for updates]. Tras una corta pausa la parte principal del cuadro de
diálogo deberá llenarse con una lista de actualizaciones que puedes descargar.
La lista indica de izquierda a derecha el nombre de la actualización, el número de versión y, si ya
tienes instalado el archivo, el número de versión del archivo instalado. Esto evita que descargues
e instales versiones atrasadas. A continuación sigue el tamaño del archivo lo que es oportuno
conocer para conexiones de velocidad baja. Finalmente la fecha de creación del archivo te da un
punto de referencia sobre si el archivo está al día o no.
Marca en la caja al lado del nombre del archivo para seleccionarlo y posteriormente descargarlo.
Figure 1.38 – Selecting libraries to download.
Toma nota de la advertencia que sigue a continuación.... En este punto todos los archivos con
una marca verde a su lado serán descargados.
Activa la descarga presionando [Download Selected].
ADVERTENCIA:
Recuerda que este sistema se usa para actualizar tanto DevC++ como
wxDev-C++. La imagen siguiente muestra una versión nueva de DevC++
que podría ser descargada. No la descargues o perderás la parte de diseño
gráfico de DevC++. Pueden aparecer problemas cuando se descargan
versiones Alfa de wxDev-C++. Versiones Alfa pueden ser menos estables
que tu versión actual o eliminar algunos atributos. Igualmente no
descargues bibliotecas de nombre wxWindows, este es el antiguo nombre
dado a wxWidgets y te causará un dolor de cabeza. Finalmente se
precavido cuando descargues versiones de bibliotecas de wxWidgets
compiladas con opciones diferentes o deficientes, podrían dañar una
instalación saludable. Es seguro descargar desde el servidor wxDev-C++.
Figure 1.39 – Careful not to download updates of DevC++
Cuando hayas terminado de descargar los archivos ellos serán instalados automáticamente como
en el caso de WebUpdate Mirrors, o aparecerá el siguiente cuadro informativo.
Figure 1.40 – Installing updates dialog
Presionando “OK” se inicia la instalación de otra aplicación llamada PackMan. No esta no es una
pequeña pelota amarilla con un gran apetito, este es el manejador Devpak. Aquí puedes elegir
instalar o cancelar. Lo más frecuente es que quieras instalarlo.
Figure 1.41 – Installing the new package.
Tienes ahora instalado tu nuevo paquete. Encontrarás que pudo haber añadido nuevos templates a
tu menu New > Proyect, nuevos archivos de ayuda o incluso nuevas bibliotecas para jugar ( o
trabajar ).
Manutención ( en españa ) Mantención ( en latinoámerica ) de los Package
Pero, ¿ Qué hacer si deseas remover un paquete que hayas bajado ? O para comprobar que
paquetes hay disponibles. Todo es posible dentro de PackMan.
Para hacer esto selecciona “Package manager” desde el menú “Tools”.
Figure 1.42 – Checking your packages
En cuanto PackMan comience listará todos los paquetes disponibles. Cuando tu selecciones
alguno, el panel de la izquierda se modificará mostrándote el nombre del paquete, el número de
versión, una breve descripción y un sitio Web de referencia. Si presionas sobre el tab contiguo a
“General” llamado “Files”, se listarán todos los archivos que contiene el paquete.
Figure 1.43 – Controlling your packages
También es posible instalar y remover paquetes desde aquí.
El procedimiento anterior no es la única forma de instalar nuevos devpacks, se pueden descargar
desde varios sitios Web. Para tener una idea de la variedad disponible, escribe “devpack” en tu
buscador favorito de internet. Uno de los sitios encontrados será Devpaks.org. Tu puedes recordar
este nombre de la lista de sitios de actualizacion Web Update. Devpaks.org es no de los sitios más
grandes para encontrar devpaks.
Figure 1.44 – The home page for Devpaks.org
Los paquetes se listan bajo varias categorías. Es muy factible descargar devpaks desde aquí. Una
vez descargado puedes ejecutar el archivo o navegar hasta él y hacer esto con un doble click. Si
wxDev-C++ ha sido bien configurado partirá automáticamente la instalación asistida que tu has
visto anteriormente.
Existen otros pequeños sitios para devpacks de wxDev-C++. Tal como uno mencionado en el
foro y que se muestra abajo. Este sitio puede ser ubicado aquí http://mirror.cdhk.de/wx/
Figure 1.45 – Announcement of a new wxDev-C++ devpak site
Otros devpaks como los de NinjaNL están disponibles en:
http://home.wanadoo.nl/m.nealon/wxWidgets-2.6.2.DevPak
http://home.wanadoo.nl/m.nealon/wxWidgets-2.6.2contrib.DevPak
http://home.wanadoo.nl/m.nealon/wxWidgets-2.6.2contrib.DevPak
Usuarios avanzados ( Advanced Users )
Usuarios avanzados pueden estar interesados en conocer donde se guardan los devpacks que son
instalados por PackMan. La respuesta es en el direcorio de instalación de wxDev-C++ en una
carpeta llamada packages. Por qué es interesante?
Yo uso tres instalaciones diferentes de wxDev-C++, una en mi home computer, una en mi laptop
y otra en una máquina virtual vmware de Windows la que uso para pruebas. En vez de descargar
e instalar repetidamente los packages, yo instalo un package una vez en mi computador principal
y entonces los cargo en las otras máquinas copiando los archivos .devpak y luego uso la opción
[Install] en Packman.
Figure 1.46 – Local versions of the installed DevPaks
Chapter 2 – Compiling your first program
Introducción
Tan pronto tengas tu nuevo IDE instalado y actualizado como quieras. ¿ Qué hacer con
esto? Este capítulo tratará de como abrir proyectos existentes y como crear y guardar tus
propios proyectos.
En lugar de ahogarte con screenshots este capítulo parte usando ciertas convenciones
descritas a continuación.
Menús
Cuando veas en el texto una linea como
File|New|Project
significa ir al menú File en la barra de menú en el extremo superior del IDE. Seleccionar
“File” presionando sobre él, moverse hacia abajo a la opción “New” y seleccionar
“Project” desde el menu emergente. Esto se muestra aquí.
Figure 2.1 – Demonstration of File|New|Project
Keyboard Shortcuts
Cuando veas instrucciones como presionar <Ctrl><F9>, esto significa mantener
presionada la tecla “Ctrl” y mientras se mantiene así presionar la tecla “F9”. Hay tres
tipos de teclas combinables “Ctrl”, “Shift” y “Alt”. Ambas “Ctrl” y “Alt” se encuentran
en la parte baja del teclado. “Shift” se encuentra en los lados izquierdo y derecho del
teclado. Las teclas que comienzan con ‘F’ se encuentran en el borde superior del teclado
y son conocidas como teclas de Funciones. Para más información acerca de keyboard
shortcuts ve el Apéndice 1.
Onscreen Buttons
Cuando veas instrucciones como presionar [Close], esto significa ubicar en la pantalla el
botón con el texto “Close” señalarlo con el puntero del mouse y presionar el botón
izquierdo de éste. Esto se muestra en la captura de pantalla siguiente.
Abriendo un proyecto existente
DevC++, y en consecuencia wxDev-C++, llegan con varios proyectos de ejemplo para
compilar y ejecutar ayudándote a aprender. Partiremos abriendo y compilando uno de
estos proyectos.
Dando por hecho que wxDev-C++ está ejecutándose. Si la ventana con el tip del día está
desplegada, ciérrala presionando [Close]. Ahora anda a :
File|Open Project or File
Esto abrirá el diálogo “Open File”. Dependiendo de donde hayas abierto el último
archivo el diálogo mostrará ese directorio. Este diálogo se despliega diferente en otras
plataformas no te preocupes si el estilo difiere del mío.
Figure 2.2 – The Open File dialog
El ejemplo que usaremos está guardado en la carpeta \Dev-Cpp\Examples, necesitas
navegar a ella usando la lista en el borde superior ( la que tiene la etiqueta “Look In” ) o
usando el ícono “Up One Level” ( subir un nivel ) . (Si tu has instalado wxDev-C++ en la
ubicación por defecto entonces la ruta completa es “C:\Program Files\DevCpp\Examples”). Deberás ver la siguiente lista.
Figure 2.3 – The examples supplied with DevC++/wxDev-C++
Abre la carpeta “Jackpot” y examina su contenido. Tu verás la siguiente lista de archivos.
El que nosotros queremos abrir se llama ‘Jackpot.dev’. Como quieras:
ábrelo con doble click o
selecciónalo con el botón derecho y presiona [Open].
Figure 2.4 – The selecting a .dev project file
El archivo .dev contiene los setting del proyecto. Este incluye cosas como los nombres de
los archivos usados en el proyecto, opciones del compilador, números de versión, etc.
Después aprenderás como modificar los settings incluídos en este archivo.
Ahora que has abierto el archivo .dev retornarás al IDE. El árbol de control en el costado
izquierdo mostrará todos los archivos incluídos en este proyecto, siempre que el panel
“Project” esté encima. Para este proyecto hay un sólo archivo llamado “main.cpp”.
Click sobre 'main.cpp' para abrirlo en el IDE.
Figure 2.5 – The list of files included in this project
El archivo será abierto en el IDE. Lo que observas ahora es el “Código fuente”. Notarás
las diferentes líneas y partes de ellas en distintos colores. Esto se llama “Syntax
Highlighting” y permite que con una mirada distingas fácilmente las partes del código
fuente. El colorido usado por el resaltador de sintaxis puede ser configurado de acuerdo
con tus preferencias, no te preocupes si tus colores son diferentes del mío.
Observa la imagen siguiente, verás en la parte superior tres líneas de color verde. Las
líneas comienzan con “#” y son conocidas como líneas de “Preprocessor”. Trataremos el
“Preprocessor” en detalle más adelante.
A continuación verás que ciertas palabras se muestran en bold. Estas son “Reserved
Keywords” ( Palabras reservadas ) . Reserved Keywords son palabras que forman parte
del lenguaje de programación y no las puedes usar con otro propósito. Notarás también
que ellas están todas en minúsculas. C y C++ son lenguajes que distinguen entre
mayúsculas y minúsculas, por ejemplo “Save” y “sAve” son diferentes.
Partes de líneas comienzan y terminan con ‘ ” ’ se conocen como ‘String constants’ (
texto vernáculo ) y son coloreadas rojo. Las constantes numéricas son mostradas en
morado. ( N.del T.: Este es el nombre que aprendí en Kindergarten )
Finalmente las líneas que comienzan con ‘//’ ,o que comienzan con ‘/*’ y finalizan con
‘*/’ se colorean azul. Estas líneas son comentarios. Comentarios son aquí para ayudar a
comprender el código fuente a tí y a otros lectores humanos ( o humanoides ). El
compilador no toma en cuenta los comentarios, así úsalos para aquello que creas
necesario. Cuando retomes un trozo de código espinudo dentro de un año, unos
comentarios bien ubicados determinarán cuanto tiempo demorarás en comprender el
código.
Figure 2.6 – Syntax highlighted source code.
No queremos ocupar el tiempo tratando que ahora comprendas que significa todo esto,
porque es tiempo de compilar tu primer programa. Compilar significa traspasar el código
leible ( Yo prometo que estarás capacitado para esto después ) a un programa llamado
“compiler”. El compilador entonces lo traduce en código binario, comprensible para el
computador. Una vez que el programa ha terminado la compilación, respondiendo que no
ha encontrado errores en él ( Ver Debugging con wxDev-C++), puedes echarlo a correr.
Hay varias formas de compilar un programa la más rápida es presionar <Ctrl><F9> ( Ver
la introducción para más detalles). Alternativamente puedes usar el menú
Execute|Compile o presionar el botón compilar de la barra de herramientas.
Figure 2.7 – The compile button
A continuación aparecerá el cuadro de diálogo.Dependiendo del tamaño de tu proyecto
esta parte tomará un tiempo, pero para este programa sólo tomará un segundo. Cuando el
compilador haya terminado el botón [Cancel] cambiará a [Close].
Presiona sobre el botón [Close].
Figure 2.8 – Compiling.
Estas de vuelta en el IDE, ¿ Qué ocurrió ? ¿ Dónde está tu nuevo programa ? No os
preocupeis, hemos sólo construído el programa, ahora necesitamos ejecutarlo. Esto puede
hacerse desde dentro del IDE. Una vez más tienes varias opciones:
Presionar el atajo del teclado <Ctrl><F10> ( reduce la tendinitis ).
O seleccionar 'Run' desde el menú Execute|Run.
O usar el botón [Run] desde la barra de herramientas.
Figure 2.9 – Running the program
Hey presto, tu programa nuevo está arriba y corriendo. Juega con él por un momento. El
objetivo del juego es acertar al número que el computador ha elegido entre 0 y 30.
Cuando te hayas aburrido presiona una tecla y a continuación <Enter> para salir del
programa.
Figure 2.10 – The jackpot game
Hasta acá está todo bien, pero, ¿ no podría ser esto más amigable compilar y ejecutar el
programa todo en uno ? Bueno no seas tan flojo ☺. Pero en caso de que tú lo seas y todos
los buenos programadores son flojos ( realmente es justo ahorrar tiempo cuando las tareas
son repetitivas), puedes compilar y ejecutar tu programa usando uno de los siguientes
métodos:
Presionar <F9>.
Usar Execute|Compile & Run desde el menú principal.
Presionar el botón Compile & Run en la barra de herramientas.
Figure 2.11 – Compiling and running in one step
Felicitaciones has aprendido no sólo a abrir proyectos, también a compilarlos y
ejecutarlos en un paso doblando tu productividad. (For the male audience, who said ‘Men
can’t do two things at once?’).
Creando tu propio proyecto
Si has terminado de jugar Jackpot y estás listo para continuar. Este capítulo se llamó
Compilando Tu Primer Programa. Tu has compilado un programa, pero no es tuyo, nos
ha permitido actuar y hacer esto.
Hay dos formas de crear un nuevo proyecto:
Desde el menú seleccionar File|New|Project.
O desde el toolbar, seleccionar el botón ‘New Project’.
Figure 2.12 – The new project toolbar button
Ambos métodos llevan al cuadro de diálogo New Project. Dependerá de que packages
hayas instalado en tu sistema la apariencia que éste tome. Tú puedes tener más o menos
tabs y más o menos opciones en cada tab.
Figure 2.13 – The new project dialog.
Entre las opciones visibles en este tab estará ‘Console Application’. Si tienes muchas
opciones aquí, puedes necesitar desplazar la ventana hasta encontrarla.
Clickéa sobre el ícono 'Console Application'.
La ventana etiquetada “Description:” cambiará para darte una descripción básica de este
tipo de proyecto. En este caso dirá “A console application (MSDOS window)”. La otra
opción mostrada es el nombre del proyecto.
Escribe “MyHelloWorld” en el campo “name”.
Deja las otras opciones como están y presiona [OK].
Figure 2.14 – How the New Project dialog should look
Si tú ya tienes abierto un proyecto aparecerá un mensaje preguntando si tu quieres
realmente cerrar ese proyecto y comenzar uno nuevo. Seleccione “Yes”. Si tienes
archivos modificados y no guardados serás conminado a guardarlos.
A continuación serás enfrentado con el diálogo que te preguntará donde guardar los
archivos del proyecto. Personalmente yo navego hasta c:\Dev-Cpp y aquí creo una
carpeta nueva llamada Projects (si aún no existe ) mediante un click sobre el boton
[Create New Folder].
Figure 2.15 – Creating a new folder
Se creará una carpeta nueva y podrás editar el nombre.
Cambia el nombre de la carpeta a “Projects”, esta carpeta será nuestro principal
almacen para todos nuestros proyectos.
Ingrese a la carpeta “Projects” con un doble click sobre el nombre de ésta.
Crea otra carpeta, esta vez llamada “MyHelloWorld”. ( Por seguridad no dejes
ningún espacio en el nombre ya que Dev-C++ supuestamente tiene problemas con
ellos en los nombres.)
Figure 2.16
El nombre de archivo es completado nuevamente con el nombre que elejiste para el
proyecto, en este caso “MyHelloWorld.dev” entonces presiona “Save”.
El proyecto será guardado y el IDE desplegará un código fuente básico como el que
sigue:
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
system("PAUSE");
return EXIT_SUCCESS;
}
Nuevamente no entraremos en detalles acerca de que significa todo esto, lo que
trataremos en los próximos 2 capítulos. En cambio alteraremos el código fuente como
sigue, asegúrate de cambiar las constantes string ( texto en rojo ) a tus propios textos.
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
//Change the text Your name goes here to your name
cout << "Hello my name is: " << "Your name goes here" << endl;
//You can change the text between the quotes to describe yourself by day
cout << "Mild mannered reporter by day" << endl;
//You can change the lines between the quotes to describe your super self
cout << "Caped crusader by night" << endl;
//This line pauses the program, try putting // in front of it to see what
//happens
system("PAUSE");
//This line says that the program has terminated normally, ie not crashed
return EXIT_SUCCESS;
}
Presiona <F9> para compilar y ejecutar tu primer programa.
Un diálogo emergente te consultará para guardar el código fuente. Comprueba que el
directorio mostrado en el borde superior próximo a la etiqueta “Save in:” es nuestro
directorio de proyecto, en este caso, “MyHelloWorld”. wxDev-C++ titulará
automáticamente el código fuente como “main.cpp”. La extensión “.cpp” comunica al
compilador y nosotros que éste es un archivo de código fuente C++, no C o cualesquier
otro lenguaje. Puedes cambiar el nombre pero no la estensión, si deseas, pero dejaré este
como está y presionaré el botón [Save]. Inmediatamente el compilador partirá y un
segundo más tarde se ejecutará el programa. Si haces los cambios sugeridos estos se
desplegarán en la pantalla.
Figure 2.17 – Output from MyHelloWorld program.
Felicítate, has escrito y compilado exitosamente tu primer programa. Bienvenido a la
categoría de programador en C++. Pero para llegar a ser más avezado studia los próximos
dos capítulos.

Documentos relacionados