66
“Herramientas Visuales de Programación” Pág. 1 07/04/2013 Luis Mengual (C)

Luis Mengual (C)€œHerramientas Visuales de Programación” El proyecto a crear puede tener distinta naturaleza. En primer lugar el entorno de programación Visual Studio 2010 permite

  • Upload
    doliem

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

“Herramientas Visuales de Programación”

Pág. 1 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Para la compilación y ejecución del código que se realizará a lo largo dep y j g q geste curso vamos a utilizar el entorno de programación de la HerramientaVisual Studio 2010.

El entorno de programación en C/C++ Visual Studio de Microsoftproporciona una serie de elementos que ayudan enormemente al desarrollode aplicaciones en C++ para Windows, desde la creación automática delesqueleto básico de la aplicación, hasta la inclusión de nuevas clases,q p , ,atributos, métodos y gestores de mensajes.

Pág. 2 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Los entornos Visuales de programación nos permiten fácilmente crear, abriro editar un proyecto. Un proyecto es un conjunto de ficheros de códigofuente y/o cabeceras que forman parte de la aplicación.

Para la creación de un proyecto basta pulsar el botón “Nuevo/Proyecto”.

Pág. 3 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

El proyecto a crear puede tener distinta naturaleza. En primer lugar elentorno de programación Visual Studio 2010 permite la implementación decódigo fuente en distintos lenguajes; C++,Visual Basic, C#, J#, etc…. .. A suvez dentro de cada lenguaje podemos elegir distintas opciones de proyectoque tiene que ver con las librerías a incluir o con la plataforma hardwaresobre la que se va a implementar el código fuente ..

Así por ejemplo dentro del leguaje C++ podríamos construir un proyecto queincluyera las librerías MFC (Microsoft Foundation Classes), crear unproyecto para que funcione en una PDA (Personal Digital Assistant) oteléfono móvil (Smart Devices) o un simple proyecto que funcione en modoconsola. Esta va a ser nuestra opción.

Para ello seleccionamos lenguaje C++ “win32” , “Aplicación de Consolawin32”…

En el entorno Microsoft Visual Studio los proyectos se integran ensoluciones. Es decir, una solución puede tener uno o varios proyectos.

El menú también nos pide el nombre que queremos dar a nuestra solución.En nuestro caso será “Solucion_1”. Dentro de la solución debemos elegir elnombre del proyecto. En nuestro caso “Proyecto_1”.

Pág. 4 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

El asistente de proyectos de aplicaciones W32 nos guiará en la creación delproyecto….

Pág. 5 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Entre las opciones del asistente de aplicaciones de Win32 elegimos unproyecto vacio….

Pág. 6 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Ya tenemos creado el esqueleto del proyecto.

Pág. 7 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

En la figura observamos las carpetas creadas. Nótese que tenemos unfichero con extensión “.sln”. Este fichero es el identificador de la solución.Basta pincharlo dos veces para poder abrir la solución completa.

Dentro de la carpeta “Proyecto_1” tenemos asimismo un fichero conextensión “*.vcxproj” (Proyecto1.vcxproj) . Este fichero identifica al proyecto.Pinchando dos veces sobre este fichero podemos abrir el proyecto encuestióncuestión.

Pág. 8 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Volvemos al entorno de Visual Studio para añadir un nuevo elemento queserá el fichero (o los ficheros) con nuestro código fuente. Para elloinvocamos las opciones “Agregar/Nuevo Elemento”.

Pág. 9 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Para incorporar al proyecto un fichero que va a contener nuestro códigofuente elegimos la extensión *.cpp” (código/archivo c++).

Pág. 10 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Ya tenemos el fichero incorporado. El siguiente paso es introducir el código,compilar y ejecutar …..

Pág. 11 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Vamos a escribir el siguiente código fuente. Sería nuestro primer proyectocreado con Visual Studio.

Pág. 12 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Vamos a compilar este proyecto pulsando en “Generar Solución” ….

Pág. 13 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

….Si todo ha ido bien y no se han producido errores obtendremos elresultado que se refleja en la figura ….

Pág. 14 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Si observamos ahora el árbol de directorios de la solución/proyectoobservamos que han aparecido dos nuevas subcarpetas de “Debug”. Lasubcarpeta “Debug” dentro de la subcarpeta “Proyecto_1” contiene distintosficheros generados durante el proceso de compilación. La subcarpeta“Debug” del nivel superior dentro de la carpeta “Solución_1” contiene elfichero ejecutable.

No obstante si intentáramos ejecutar el fichero “Proyecto1.exe” la ventanade consola se nos cerraría y no podríamos comprobar si nuestro ejecutablede co so a se os ce a a y o pod a os co p oba s ues o ejecu ab efunciona. Este aspecto lo solucionaremos más adelante.

Pág. 15 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

…Vamos ahora a compilar el proyecto y a la vez generar el ejecutable…

Para ello pulsamos en la opción “Depurar/iniciar sin depurar”…

Pág. 16 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

El menú nos pregunta si queremos generar la solución (compilación) …

Pág. 17 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Si la compilación no ha tenido errores se ejecuta el programa …. Desde elentorno de compilación la ventana de consola no se cierra y podemos ver lacorrecta ejecución del programa.

Pág. 18 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Pág. 19 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Vamos a crear ahora un nuevo proyecto en la Solucion_1. Lo vamos a llamarProyecto_2.

Pág. 20 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Nótese que elegimos “Agregar a Solución”……

Pág. 21 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Seguimos el mismo proceso que en el caso del proyecto_1.

Pág. 22 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Elegimos como antes un proyecto vacio ….

Pág. 23 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Ya hemos creado el esqueleto del segundo proyecto dentro de nuestrasolución. El “Proyecto_2” de momento no contiene ningún fichero fuente.

Según se observa en la figura el “Proyecto_1” de la nuestra soluciónaparece resaltado en “negrita”. Esto significa que es el “proyecto de inicio”de nuestra solución.

A continuación lo que vamos a hacer es convertir en proyecto de inicio al“Proyecto_2”.

Pág. 24 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Seleccionamos el “Proyecto_2” y con el botón derecho del ratón pulsamos laopción “Establecer como Proyecto de Inicio”…

Pág. 25 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Ahora ya tenemos activado el “Proyecto_2” como proyecto de inicio. Senota que es el proyecto de inicio por estar resaltado en negrita el nombredel proyecto.

Pág. 26 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Ahora añadimos un fichero de código fuente que llamaremos“proyecto_2.cpp”.

Pág. 27 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Elegimos en el menú la opción “coóigo/archivo c++).

Pág. 28 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Después de crear el Proyecto_2 dentro de la solución tenemos una nuevacarpeta dentro del árbol de directorios de la solución. Dentro de la carpetaProyecto_2 debería aparecer el fichero “Proyecto_2.cpp” inicialmente vacio.

Pág. 29 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Vamos a incorporar al Proyecto_2 el siguiente código fuente. EsÚesencialmente el mismo del Proyecto_1. Únicamente añadimos una parada

al final del programa para evitar que se cierre la ventana de consola.

Pág. 30 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Pulsamos la opción de “Depurar/Iniciar sin Depurar” para compilar yejecutar el proyecto …..

Pág. 31 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Ahora observamos la parada introducida en el código antes de queacabe…

Pág. 32 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

En la subcarpeta “debug” de primer nivel dentro de “Solución_1” tenemoslos ejecutables de todos los proyectos de la solución.

Pág. 33 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Ahora con el punto de parada establecido por código podemos ejecutar elprograma pinchando dos veces sobre el ejecutable….

Si hiciéramos lo mismo sobre el fichero “proyecto_1.exe” no veríamos nadaya que el programa no tiene ningún punto de parada.

Pág. 34 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Pág. 35 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Vamos a crear un tercer proyecto sencillo dentro de la solución ….

Pág. 36 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Seguimos los pasos vistos anteriormente ..

Pág. 37 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Creamos el proyecto vacio ….

Pág. 38 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Situándonos sobre el “Proyecto_3” y con el botón derecho desplegamos unmenú en el que seleccionamos este proyecto como proyecto de inicio de lasolución.

Pág. 39 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Una vez más situándonos sobre el menú de archivos de código fuente,seleccionamos “Agregar Nuevo Elemento”.

Pág. 40 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Pág. 41 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Vamos a incorporar el código fuente de la figura en nuestro proyecto …

Pág. 42 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

En la figura se observa el resultado de la ejecución del proyecto.

Pág. 43 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Podemos ir directamente a la carpeta donde está el ejecutable y probarlo …

Nótese lo que hace el programa: recoge de línea de comandos losparámetros asociados al nombre del programa y los imprime…

Pág. 44 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Pág. 45 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Las herramientas Visuales nos proporcionan la capacidad de depuración deprogramas facilitando la tarea del programador en la búsqueda de posibleserrores de compilación.

Vamos a describir como utilizar esta facilidad de la herramienta Visual Studio2010 a través de un ejemplo de código fuente sencillo en el cual noscreamos una estructura “InfoFich” y a través de un bucle “while” escribimosen sus camposen sus campos.

Pág. 46 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Nos creamos un proyecto vacio como hemos hecho en los ejemplosanteriores y a continuación introducimos el código fuente.

Para poder depurar el programa nos tenemos que asegurar que laconfiguración del proyecto es “Debug”. Para ello con el raton pinchamos en“Proyecto/Propiedades”

Pág. 47 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

En la figura tenemos el proyecto creado introduciendo el código fuenteanterior.

Antes de iniciar el proceso de depuración hay que situar los llamados“puntos de interrupción”. Esto se hace pinchando una vez con el ratón en labarra vertical indicada por la flecha. En este momento aparecerá un circulode color rojo indicando el punto de interrupción elegido.

Si ahora nos colocamos con el ratón encima del circulo rojo y pinchamos conel botón derecho podemos eliminar o deshabilitar el punto de interrupciónel botón derecho podemos eliminar o deshabilitar el punto de interrupción….

Pág. 48 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Una vez elegido los Puntos de Interrupción podemos depurar el programa.Para ello, elegimos la opción “Depurar/Iniciar Depuracion”.

Pág. 49 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Una vez que entramos en el “modo depuración” disponemos del menú queaparece en pantalla para ir ejecutando paso a paso nuestro programa. Paraello podemos elegir las teclas F10/F11.

Podemos parar la depuración con la opción “Detener Depuración”

Pág. 50 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

En modo depuración podemos acceder a los contenidos de las variables oestructura de forma sencilla permitiendo la localización rápida depotenciales errores del código.

Pág. 51 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Pág. 52 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Si tenemos un código fuente con una cantidad considerable de líneas decódigo podemos perder mucho tiempo buscando las líneas de código denuestro interés. Un facilidad de gran utilidad en Visual Studio es laposibilidad de marcar una línea. Esto se hace con la a combinación deteclas Ctrl+F2.

Una vez marcada una línea podemos ir cientos de líneas más lejos con el“scroll” y una vez allí simplemente pulsando la tecla F2 podemos retornar ala línea marcada anteriormente.a ea a cada a e o e e

Podemos marcar varias líneas e ir saltado por el código desde una líneamarcada a otra línea marcada saltándonos el resto del código.

Pág. 53 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Pág. 54 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

En la figura se indica como invocar la ayuda de la Herramienta VisualStudio 2010. para ello pulsamos el botón “ Ayuda/Buscar “..

Pág. 55 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

La ayuda es esencial a la hora de programar bien sea para encontrar unafunción, los parámetros de una función o para encontrar código fuente quese ajuste a nuestras necesidades.

La ayuda de Visual Studio 2010 nos lleva al enlace:

http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=ES-p q y q y ppES&k=k(MSDNSTART)&rd=true

En este enlace podemos realizar nuestra consulta

En la figura proponemos a los alumnos introduzcan en el motor de búsquedala frase “Windows Sockets 2”la frase Windows Sockets 2 .

Pág. 56 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Marcamos la opción de incluir los resultados en Ingles y seleccionamos elprimer enlace:

Windows Sockets 2 (Windows)

Windows Sockets 2 (Winsock) enables programmers to create advancedInternet, intranet, and other network-capable applications to transmit, , p ppapplication data ...

http://msdn.microsoft.com/en-us/library/ms740673(v=vs.85).aspx

Pág. 57 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Ahora podemos disponer de todas las funciones y parámetros necesarios dela programación con la interfaz Windows Sockets en cualquier plataformaWindows y extrapolable a la interfaz Sockets de Berkeley en plataformasUnix.

Pág. 58 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Esta ayuda Windows Sockets 2 nos será de gran utilidad para la siguienteUnidad Docente en la que aprenderemos a construir software decomunicaciones.

Pág. 59 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Pinchando el enlace “Winsock Reference” llegamos a la siguiente página …

Pág. 60 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Si desde esta página pinchamos el enlace “Winsock Functions” pasamos ala siguiente página………

Pág. 61 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

En esta página finalmente encontramos la descripción de la funciones delinterfaz de programación de “Windows Sockets”.

Esta ayuda nos permite conocer los parámetros de esta funciones, valoresde retorno, códigos de error y ejemplos de uso.

Pág. 62 07/04/2013 Luis Mengual (C)

“Herramientas Visuales de Programación”

Pág. 63 07/04/2013 Luis Mengual (C)63

“Herramientas Visuales de Programación”

Partimos de un proyecto win32 vacio de consola creado como ya hemoshecho.

Seleccionamos el nombre del proyecto según se indica en la figura. Acontinuación con el botón derecho del ratón elegimos propiedades ….

Pág. 64 07/04/2013 Luis Mengual (C)64

“Herramientas Visuales de Programación”

Dentro de las propiedades del proyecto elegimos la opción“Vinculador/Entrada” ….

Pág. 65 07/04/2013 Luis Mengual (C)65

“Herramientas Visuales de Programación”

En la opción “Dependencias Adicionales” escribimos “ws2_32.lib” comoindica la figura ….y pinchamos el botón “Aceptar”

Ahora falta Incluir en el código fuente :

#include <winsock2.h>

De esta forma ya podemos construir aplicaciones con las funciones delAPI de “Windows sockets”

Pág. 66 07/04/2013 Luis Mengual (C)66