Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programando Con WxDev-C
Programando Con WxDev-C
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
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.
Contents
La inevitable Introduccin
Introduccin
Historia del wxDev-C++
Para quin es este libro?
Agradecimientos
La primera pregunta que cualquier nio hara 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 razn principal es que mucha gente ha preguntado en el wxForum si existe algn 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
computacin, 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. Ms bien la
tom por un pequeo recuadro en la esquina que deca Bloodshed DevC++, Free C and C++
environment. Un Mundo grandioso y nuevo se habra para mi, el mundo de C y C++ hasta
entonces yo slo haba programado en Basic y Visual Basic. Tambin me introdujo en el
asombroso mundo del Open Source Software.
Yo fu de prisa desde el trabajo a casa e instal este programa, era muy bsico y ms 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
bsica con un botn en ella, para mi fu un milagro. Yo pens, que generoso Colin Laplace, hacer
este programa free y darlo a conocer. En los aos 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 satisfasca muchas de mis necesidades. Yo no estoy solo, hoy
DevC++ es an la aplicacin de desarrollo ms bajada en el sitio SourceForge.
No obstante, tambin 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 rpidamente cosas que podran requerir varias lneas de cdigo 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 aplicacin que ( which had slipped past me called ) se deslizaba de mi pasado,
wxDev-C++. Bsicamente, era un diseador grfico construdo sobre DevC++. Lo baj y
encontr las respuestas a todos mis deseos en cuanto a programacin.
Bueno, casi todos, wxDev-C++ es resultado de un gran trabajo; muchos programadores expertos
han invertido su tiempo crendolo y continan mejorndolo. Pero tambin 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 difciles para un usuario recin llegado. Dud hasta
que descrub el tutorial disponible en el sitio de wxDev-C++ y posteriormente el foro wxForum.
Tambin, wxDev-C++ sufre de un gran inconveniente. La paradoja de que DevC++ fue escrito en
Delphi Pascal. wxDev-C++ continua con esta tradicin y por lo tanto el programa desarrollado en
el diseador no siempre hace juego con el programa compilado. Es una muestra de aplicacin 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
Este amplio rango de lectores posibles ha influido en la forma de este libro, expertos no querrn
esforzarse en un barniz sobre programacin en C/C++, y los principiantes no querrn crear GUIs
que no hagan nada, porque ellos no pueden hacer cdigo que se ejecute. Como resultado de esto
el libro est dividido para permitir al lector ir directamente a la seccin de su inters.
Seccin uno
Esta seccin trata sobre la instalacin de wxDev-C++, crear cdigo en C and C++, y la parte
DevC++ de wxDev-C++.
Seccin dos
Esta seccin describe como crear GUI usando wxDev-C++. Se interna en wxWidgets y como
trabajan juntos.
Seccin tres
La seccin final cubre tpicos avanzados, para usuarios que quieran ir ms all que usar los
controles estndar.
Cada seccin termina con una seleccin 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
Downloading wxDev-C++
El proyecto wxDev-C++ est hospedado en SourceForge y este es el lugar para bajar la ltima
versin oficial ( Hay otras versiones, pero nos referiremos a la ltima). Por ahora asegrate de
estar conectado a Internet y abre tu navegador. Conctate al sitio oficial de wxDev-C++, la URL
siguiente http://wxdsgn.sourceforge.net.
Sobre la barra de navegacin de la izquierda vers el vnculo Downloads. Actualmente hay dos
vnculos diferentes uno a wxDev-C++ y otro a wxDev-C++ para VC. La primera versin usa slo
el compilador open source Mingw la otra versin puede usar tambin el compilador Microsoft.
Pronto estas versiones sern unidas.
Seleccione la opcin wxDev-C++ 6.10.
Presione sobre el vnculo etiquetado wxDev-C++ 6.10 entrars en la pgina download page de
SourceForge. Esta pgina contiene una lista de sitios espejo desde los cuales puedes bajar el
archivo de instalacin, Setup.
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 vnculo en color azul etiquetado Download. Presiona este
vnculo para acceder a la pgina de descarga del sitio.
La pgina se recargar desde este espejo y la descarga partir automticamente.
NOTA:
La siguiente cosa que debes ver es el cuadro de dilogo de descarga. Esto diferir de un
navegador a otro, pero todos debern contener las mismas funciones bsicas descargar el archivo
o ejecutarlo. Si tu escoges la opcin [Run], el archivo Setup.exe se descargar y ejecutar
automticamente. 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].
En mi caso escojo [Save] ya que prefiero guardar los archivos Setup a mano por si necesito
desintalar o reinstalar en un computador distinto.
A continuacin vers un cuadro advirtiendo que no debes instalar este programa sobre una
instalacin existente. Esta es una advertencia importante, mucha gente lo confirma.
No atender a estas instrucciones puede terminar en una instalacin fallida que se puede ver bien
pero te puede dar muchos dolores de cabeza (no muy distinto a una chicha de manzana). Mira
ms adelante la seccin Updating wxDev-C++ para ms detalles.
La prxima opcin marca un cambio respecto de las versiones previas de wxDev-C++. Esta
versin ofrece soporte para ms que un tipo de compilador, permite elegir el compilador que
quieres usar.
Marca los compiladores que deseas usar, luego presiona [Next>]
Aunque wxDev-C++ es libre, para usar ste debes aceptar las clusulas de la licencia. La licencia
es la GNU GPL (General Public Licence) Versin 2. Esta puede ser leda completamente o
saltrsela, para continuar presione [I Agree].
El prximo 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 distribucin. El combo box llamado Select the type
of install entrega tres opciones de instalacin full, minimal y custom. Use la instalacin mnima
si el espacio de disco es prioritario en tu computador. Podrs notar que las dos primeras
alternativas estn en gris porque son requeridas para instalar algo que funcione. Si usas otro IDE
(not that you would) y slo deseas probar wxDev-C++, entonces sera conveniente desmarcar la
opcin 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 soportars y cargar las libreras para ello.
Hace tu seleccin y presiona [Next >] para continuar.
El cuadro siguiente da la opcin de elegir donde quieres que wxDev-C++ aparezca en el men de
Inicio, nuevamente es una eleccin personal, Yo agrupo los programas de tipo similar y modifico
esta opcin a Programming\wxDevCpp. Toma tu opcin y presiona [Next >] para continuar.
Mientras el siguiente cuadro se llena con los nombres de todos los archivos que estn instalndose
podrs tomar otra pequeo descanso.
A mitad de camino de la instalacin, 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.
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.Ts 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 prxima vez que ejecutes wxDev-C++ necesitars completar los siguientes pasos.
Presiona [Close] para salir y aplaude fuertemente.
Te enfrentas ahora con varias opciones para ajustar tu versin de wxDev-C++. Es el mismo
comienzo de la versin estndar de DevC++. Aqu puedes elegir tu lenguaje preferido. Como
mencion antes yo escojo English. Tambin puedes elegir entre 3 diferentes temas de iconos, (
prefiero New Look) y escoger si soportar o no el tema de XP.
Haz tu seleccin personal y click [Next] para continuar.
Despus tienes la opcin de habilitar code completion. Elige Yes, I want to use this
feature. El diseador grfico en wxDev-C++ descansa sobre el atributo de code completion
para crear automticamente eventos para ti. A pesar que code completion puede convertirse en
un estorbo, tambin puede ser una gran fuente de informacin, y ayudar a evitar errores
tipogrficos.
Click on [Next] to continue.
La segunda parte del atributo code completion pregunta si quieres crear un cache de ste.
Bsicamente ste busca a travs 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 cdigo.
Selecciona la opcin Yes, create the cache now.
Click [Next] to continue.
En este punto, a menos que tengas un computador muy rpido, anda a hervir agua y prepara un
caf. ( N. del T. : Nuestro amigo ingls dej el t por el caf ).
Figure 1.22 Code completion cache creation dialog (try saying that fast)
Bebe tu caf y contina 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 segn desees y presiona [OK] para completar el
proceso de instalacin.
Actualizar wxDev-C++
Actualizar wxDev-C++ es un procedimiento medianamente simple siempre y cuando recuerdes la
advertencia que aparece durante la instalacin 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 ests seguro, aqu est como proceder. Como siempre presiona
el botn [Start-Inicio] sobre la barra de Windows. Desde el men emergente selecciona Panel de
Control.
Finalmente los siguientes cuadros emergern. Si has gastado mucho tiempo en configurar el IDE
con tus preferencias, desears mantener los archivos de configuracin.
Click el botn [No] para mantener tus archivos de configuracin
o
Click el botn [Yes] para borralos y volver al valor por defecto.
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 versin. O borrarlo, como
sea, la decisin es tuya.
Recuerda que este sistema se usa para actualizar tanto DevC++ como
wxDev-C++. La imagen siguiente muestra una versin nueva de DevC++
que podra ser descargada. No la descargues o perders la parte de diseo
grfico de DevC++. Pueden aparecer problemas cuando se descargan
versiones Alfa de wxDev-C++. Versiones Alfa pueden ser menos estables
que tu versin 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, podran daar una
instalacin saludable. Es seguro descargar desde el servidor wxDev-C++.
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 instalacin 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 mquina 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 mquinas copiando los archivos .devpak y luego uso la opcin
[Install] en Packman.
Mens
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 opcin New y seleccionar
Project desde el menu emergente. Esto se muestra aqu.
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 ms informacin acerca de keyboard
shortcuts ve el Apndice 1.
Onscreen Buttons
Cuando veas instrucciones como presionar [Close], esto significa ubicar en la pantalla el
botn con el texto Close sealarlo con el puntero del mouse y presionar el botn
izquierdo de ste. Esto se muestra en la captura de pantalla siguiente.
Ahora que has abierto el archivo .dev retornars al IDE. El rbol de control en el costado
izquierdo mostrar todos los archivos includos en este proyecto, siempre que el panel
Project est encima. Para este proyecto hay un slo archivo llamado main.cpp.
Click sobre 'main.cpp' para abrirlo en el IDE.
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 cdigo fuente bsico como el que
sigue:
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
system("PAUSE");
return EXIT_SUCCESS;
}