Práctica 1. Introducción a.net, aplicaciones básicas, namespaces, paquetes y código intermedio.

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Práctica 1. Introducción a.net, aplicaciones básicas, namespaces, paquetes y código intermedio."

Transcripción

1 Práctica 1. Introducción a.net, aplicaciones básicas, namespaces, paquetes y código intermedio. El objetivo de esta práctica es programar una aplicación sencilla para familiarizarnos con el entorno de programación de.net. Durante el desarrollo de las prácticas se van realizar prácticas para dispositivos limitados (PDA). Conociendo el Entorno de Desarrollo Comenzamos por crear un nuevo proyecto con Visual Studio 2005 o 2008: Una vez pulsemos, aparecerá en la pantalla los posibles proyectos. El número y tipo de proyectos dependerá de los SDKs instalados en el sistema: Vamos a crear un proyecto Visual C#, para dispositivo limitado (Smart Device), usando el SDK de Windows Mobile 5.0 o 6.0 dependiendo del que tengamos instalado. La plantilla del proyecto es Empty Project. Le damos un nombre, por ejemplo MiAplicacion o como uno desee. Seleccionamos la ubicación que más nos convenga.

2 Todos los proyectos que hagamos, se incorporan a una solución, daremos el nombre MiSolución o el que nos apetezca a la solución. Ten en cuenta que la solución es un conjunto de proyectos y el nombre debería representar algo común a todos los proyectos incluidos en él. Al crear el proyecto, podemos ver en el explorador de soluciones (Si no aparece, menú View[Ver]>Explorador de soluciones) que el proyecto está vacío completamente. Como podemos ver, la solución no contiene ningún fichero de código. Para introducir un nuevo fichero de código, que será el programa principal, sobre el proyecto MiAplicación, haremos click con el botón derecho y pulsaremos sobre añadir añadir elemento nuevo. Al hacer esto, aparecen varias posibilidades, entre las que se encuentra Archivo de código. Hay otras plantillas, como la de clase o interfaz, que generan parte del código, la estructura etc

3 Llamaremos a este fichero programa.cs. En él vamos a escribir el código de la primera aplicación para Windows Mobile. El fichero está vacío, dado que no se ha utilizado ninguna plantilla de clase o de interfaz. El programa principal Vamos a escribir el programa principal. Para ello se pueden utilizar las siguientes clausulas: public static int Main(), public static void Main(), public static void Main(string[] args) public static int Main(string[] args) Vamos a probar el siguiente código, que calcula el factorial de un número entero de 64 bits. public class MiAplicacion public static Int64 factorial(int64 num) if ((num == 1) (num == 0)) return 1; return num * factorial(num - 1); public static void Main(string[] args) MiAplicacion.factorial(2); factorial(6); Copiad este código en el fichero programa.cs. Para compilar, podeis hacer click con el botón derecho en el proyecto y pulsar en

4 generar o build. Si hacéis esto mismo con la solución, compilará todos los proyectos contenidos en la solución. En la ventana de resultados (si no se ve la pestaña, pulsad en el menú Ver Resultados) podréis ver si la compilación ha sido correcta o no. Si vamos a la carpeta donde hemos guardado el proyecto, en la ruta MiSolucion\MiAplicacion\Bin\Debug podemos ver dos ficheros, MiAplicación.exe y MiAplicación.pdb. Estos ficheros tienen información de depuración, pueden ser un poco más lentos que los programas sin información de depuración. Si cambiáramos la configuración a Release (sin debug) crearía un fichero más eficiente, pero en el caso que nos ocupa, vamos a aprender, así que dejamos el sistema en modo debug. Depurar el programa A continuación veremos cómo se depura un programa con Visual Studio. Para depurar, podemos poner puntos de interrupción pulsando en la parte gris del editor de texto, justo en la línea en la que queremos insertar el breakpoint o bien mediante el menú debug. Si lo que queremos es ejecutar paso a paso pulsamos F10 o para meternos dentro de las funciones F11 (menú debug StepOver, StepInto). Para probarlo usaremos un emulador. En Visual Studio hay un desplegable que permite ver los emuladores instalados. En ese menú desplegable seleccionaremos el emulador que queramos ejecutar (es posible que al depurar nos pregunte de nuevo por el emulador a utilizar). Pulsaremos ahora F10 y comenzará la ejecución. Al comenzar la depuración el entorno de desarrollo cambia y nos muestra nuevas ventanas:

5 Línea donde se encuentra la ejecución Pila de llamadas Ventana de Automático: Variables en uso en cada momento Variables locales: Variables el método en comandos

6 Si pulsamos F10, ejecutará la primera instrucción MiAplicacion.factorial(2); y continuará por la siguiente. Si en la siguiente en lugar de pulsar F10, pulsamos F11, se introducirá en el método factorial, si posteriormente, en el método factorial volvéis a pulsar F11 en la llamada recursiva, volverá a llevaros a factorial. Comprobadlo, echadle un vistazo a la pila de llamadas y podréis ver el efecto de la recursividad en la pila de llamadas: Observad también como varía en valor de las variables mediante las ventanas de Automático y Variables Locales. Estas ventanas permiten cambiar el valor de las variables que se están utilizando. Las tripas del programa, MSIL (MS Intermediate Language) Para ver el código intermedio, generado por el compilador de C#, tendremos que usar una herramienta llamada ildasm.exe que es un desensamblador de MSIL. Como es posible que sea difícil de localizar dentro de la maraña de directorios de Windows y como probablemente no esté en el PATH, una buena forma de usar las utilizades asociadas a Visual Studio es mediante la consola Visual Studio Command Prompt. Cuando aparezca esta consola, ejecuta ildasm.exe y aparecerá una utilidad gráfica. Buscamos el fichero binario MiAplicación.exe y lo analizamos con el desensamblador de lenguaje intermedio. Como se pude ver, no existe el método factorial, pero si nos fijamos en el main, podremos comprobar que, como medida de eficiencia, el compilador lo ha incluido en el interior de main.

7 Más adelante veremos cómo varía el código intermedio con programas más complejos. Acceso a ficheros para depurar Ahora que sabemos cómo depurar un programa, ver el contenido del código intermedio etc, vamos a continuar. Las plataformas Windows Mobile no disponen de consola (se puede instalar usando algunas utilidades GNU) por lo que no es posible hacer depuración sobre consola, pero si en fichero de texto, que además es muy útil. Para hacer esto vamos a crear un ensamblado o librería de log. En primer lugar vamos a dar un espacio de nombres a nuestra aplicación. Hasta el momento, no hemos necesitado que nuestra aplicación tuviera un nombre único, que la diferenciara de las demás a efectos de reutilizar código, pero ahora va a ser necesario; por esta razón, cambiamos el código de la práctica por el siguiente: using System; namespace ComputacionRed.MiAplicacion public class MiAplicacion public static void Main(string[] args) MiAplicacion ma = new MiAplicacion(); /* de momento no hace nada */

8 Acto seguido miramos las propiedades de la aplicación y cambiamos el nombre del ensamblado en la configuración: Una vez hecho esto vamos a crear un nuevo proyecto. Sobre MiSolución, botón derecho Añadir nuevo proyecto. Tipo Class Library. El nombre que le daremos será UtilidadLog. Cambiamos el namespace de la aplicación tal y como aparece bajo estas líneas. using System; using System.Collections.Generic; using System.Text; namespace Utilidades.UtilidadLog public class Log Actualice la información en las propiedades, de forma que el nombre del ensamblado y el espacio de nombres predeterminado sean Utilidades.UtilidadLog Observa que el nombre de la clase es independiente del nombre del fichero, no ocurre igual en java. A continuación daremos funcionalidad a la clase de Log, de forma que podamos escribir información a un fichero que permita depurar el programa. Para ello, es necesario declarar en

9 el código mediante using qué parte de la Base Class Library se utilizará. En concreto usaremos System.IO. Para escribir en un fichero usaremos la clase TextWriter, cuya documentación puede encontrarse en es/library/system.io.textwriter(vs.80).aspx. La función de log se utilizará en adelante para probar el correcto funcionamiento del programa y debido a que las aplicaciones gráficas que veremos más adelante son multihilo (si pulsas un botón y la ejecución tarda, puede que al pulsar otro botón se genere otro hilo de ejecución) y a que el fichero sobre el que vamos a escribir es un recurso compartido: hay que usar un Mutex. El paquete que tiene la implementación de TextWriter es System.IO y el que contiene la implementación de Mutex es System.Threading. A continuación se muestra como utilizar ambos en el programa de la clase Log. Esta clase muestra cómo usar un mutex y como escribir en un fichero de texto. using System; using System.IO; using System.Collections.Generic; using System.Text; using System.Threading; namespace Utilidades.UtilidadLog public class Log /* TextWriter */ TextWriter tw = null; Mutex filemutex; int indent = 0; public Log(string filename) tw = new StreamWriter(fileName,true); filemutex = new Mutex(); ~Log() tw.flush(); tw.close(); public void Trace(String msg) filemutex.waitone(); for (int i = 0; i < indent; i++) tw.write("\t"); tw.write(msg); tw.flush(); filemutex.releasemutex();

10 public void BeginTrace(String fname) indent++; Trace(DateTime.Now.Hour +":"+ DateTime.Now.Minute + ":: Entrando en " + fname + "\n"); public void EndTrace(String fname) indent--; Trace(DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":: Entrando en " + fname + "\n"); public void Trace(String fname, String msg) Trace(DateTime.Now.Hour + ":" + DateTime.Now.Minute + "::" + fname + "::" + msg + "\n"); Los atributos de la clase Log son una referencia a la clase Textwriter, que permite escribir al fichero; un semáforo Mutex, que controlará el acceso al recurso compartido (fichero) ; y una variable de tipo entero que almacena la indentación a añadir a cada línea. El constructor de la clase crea una instancia de la clase Textwriter proporcionándole el nombre del fichero a utilizar. Si compruebas la documentación del constructor de StreamWriter podrás ver qué implica el segundo parámetro (true). A continuación podemos ver una función cuanto menos extraña para aquellos sin experiencia en C++. Es la función ~Log() que se conoce como destructor. En C++ esa función se utiliza para liberar memoria una vez concluye la ejecución de la clase y el objeto se destruye. E n los lenguajes como Java o cualquiera de los presentes en.net, no es necesario liberar memoria, eso lo hace el recolector de basura; en cambio, se permite el uso de esta función para realizar una serie de tareas antes de destruir el objeto (como en este caso, hacer flush y cerrar el fichero). Aunque no es necesario, en ocasiones es útil. El siguiente método, es Trace. Este método escribe una traza de log en el fichero. Primero comprueba el semáforo y si es necesario espera un tiempo dado hasta que deje de ser usado. En ese momento tabula el texto, escribe el mensaje, hace flush y por último libera el semáforo para que otros métodos puedan usar el fichero. El resto de los métodos no requieren explicación.

11 Utilizando la clase Log desde otro programa Para poder utilizar la clase Log desde MiAplicación, hacemos click con el botón derecho sobre la carpeta References contenida en el proyecto aplicación y luego sobre Add Reference. Vamos a la pestaña Proyectos y ahí encontraremos UtildadLog. La seleccionamos y pulsamos aceptar. A partir de ese momento podremos utilizar la clase Log, contenida en el espacio de nombres Utilidades.UtilidadLog. A continuación probaremos la clase Log, pero antes vamos a facilitar la tarea modificando las propiedades del emulador. Para ello, en el menú File del emulador, seleccionamos configure cuando aparece el cuadro de diálogo en la caja de texto Shared Folder navegamos hasta la ruta donde se encuentre la aplicación compilada, es decir, carpetadelproyecto\bin\debug. A partir de ese momento si abrimos el explorador de ficheros en la PDA emulada y navegamos, veremos que existe un directorio llamado Storage Card que simula una tarjeta SD introducida en el slot. Si consultamos los ficheros contenidos en ella, veremos cómo aparecen los contenidos en el directorio seleccionado. Ahora vamos a modificar el programa para probar la clase de Log. Utilice el siguiente código:

12 using System; using Utilidades.UtilidadLog; namespace ComputacionRed.MiAplicacion public class MiAplicacion Log log; public MiAplicacion() log = new Log("\\Storage Card\\milog.txt"); public void mifuncion2() log.begintrace("mifuncion2"); log.trace("mifuncion2", "Un mensaje de mifuncion2"); log.endtrace("mifuncion2"); public void mifuncion() log.begintrace("mifuncion"); log.trace("mifuncion2", "Un mensaje de mifuncion1"); mifuncion2(); log.endtrace("mifuncion"); public static void Main(string[] args) MiAplicacion ma = new MiAplicacion(); ma.mifuncion(); Como se puede apreciar, el fichero seleccionado para guardar los resultados del log se encuentra en la carpeta de la aplicación dentro del PC (no de la PDA). Lo siguiente que haremos, será probar la aplicación. Para ver el fichero con comodidad (puede verse directamente en la PDA emulada, pero debido a que el tamaño de la pantalla no es muy grande, es preferible hacerlo en el PC) lo abrimos con visual studio. A partir de este momento no hace falta cerrarlo y volverlo a abrir para ver los cambios, si el fichero cambia, Visual Studio lo notificará. El resultado de la ejecución debe ser algo similar a esto:

13 2:34:: Entrando en mifuncion 2:36:: Entrando en mifuncion 2:36::mifuncion2::Un mensaje de mifuncion1 2:36:: Entrando en mifuncion2 2:36::mifuncion2::Un mensaje de mifuncion2 2:36:: Entrando en mifuncion2 2:36:: Entrando en mifuncion Observe que una llamada a una función dentro de otra función aumenta la indentación. Práctica 2. Introducción a.net, programación gráfica. El objetivo de esta práctica es programar una aplicación sencilla para familiarizarnos con el entorno visual de programación de.net con Formularios de Windows. Conociendo el Entorno de Desarrollo Comenzamos por crear un nuevo proyecto con Visual Studio 2005 o 2008: Una vez pulsemos, aparecerá en la pantalla los posibles proyectos. El número y tipo de proyectos dependerá de los SDKs instalados en el sistema: Vamos a crear un proyecto Visual C#, para dispositivo limitado (Smart Device), usando el SDK de Windows Mobile 5.0 o 6.0 dependiendo del que tengamos instalado. La plantilla del proyecto es Device Application. Le damos un nombre, por ejemplo miapp. Seleccionamos la ubicación que más nos convenga. Todos los proyectos que hagamos, se incorporan a una solución, utilizaremos la

14 solución que ya teníamos creada. Una vez creado, aparecerá el interfaz de usuario. En el que podemos ver una imagen de lo que será el programa. Además existen menús útiles para el desarrollo como son (Están identificados en la imagen): El explorador de soluciones Vista de clases Propiedades Toolbox Resultados Lista de errores Si no ves alguno de las pestañas marcadas con círculos sobre las imágenes, puedes usar el menú View (ver) y pulsar sobre cada una de las que necesitas. Luego puedes arrastrarlas por la pantalla para colocarlas donde te resulten más cómodas de usar.

15 Aplicación Hello world Se trata de la aplicación que todo el mundo ha hecho alguna vez para comenzar a aprender un lenguaje. La aplicación tiene el efecto positivo de mostrar al usuario que algo funciona, a partir de ahí lo que imagines Un vistazo al código Antes de comenzar con la aplicación vamos a echar un vistazo al código generado por Visual Studio y que nos permitirá programar la aplicación. Vamos a ver el programa principal, la clase que permite la ejecución del formulario o ventana sobre la que colocaremos controles como botones o cajas de texto. Para ver el código pulse sobre program.cs como indica la figura: Al hacer esto, pulsar sobre Ver Código o hacer doble click sobre Program.cs, aparece el código en la pantalla principal. El código que se verá será este (o muy parecido): using System; using System.Collections.Generic; using System.Windows.Forms; namespace miapp static class Program /// <summary> /// The main entry point for the application. /// </summary> [MTAThread] static void Main() Application.Run(new Form1()); Este código es un programa principal como el que hemos visto en la anterior práctica, la única diferencia es que ahora existe un atributo llamado MTAThread que se usa en las aplicaciones de Formularios para conocer el lugar en el que comienza el programa. Consulta el código de la clase Form1.cs, comprobarás que es una clase que hereda de Form (la que gestiona los formularios en Windows). A continuación vamos a añadir funcionalidad a la aplicación. Para comenzar, debes poder usar el ToolBox o caja de herramientas. En ella encontrarás componentes gráficos para añadir a tu aplicación.

16 Para añadir nuevos controles gráficos, simplemente arrástralos desde el toolbox directamente a la pantalla.

17 Añade varios elementos:

18 Un textbox Un botón con el nombre hola Otro con el nombre mundo Cada uno de los controles que se colocan en la pantalla tiene una serie de propiedades. Una es el nombre dentro del programa Name otra es la información que aparece en pantalla Caption. Al hacer dobre click sobre un botón, Visual Studio creará un método. Este método puede usarse para cambiar las propiedades de los controles. Añada también unas etiquetas Label de modo que el interfaz de usuario quede de la siguiente manera: Tu turno: Da un nombre adecuado al namespace

19 Coloca entradas de Log para ver qué ocurre con la aplicación. Pon una al comienzo de cada clase y método, de forma que veas el flujo de la ejecución. Para ello, tendrás que importar la clase de Log (añadir referencia ) Tendrás que pasar la instancia de Log de una clase a otra para que todos escriban sobre el mismo fichero. Para ello, añade un atributo Log a la clase Form1. public partial class Form1 : Form Log log; public Form1() InitializeComponent(); log = new Log("\\Storage Card\\fichero.txt"); Añade funcionalidad a los métodos de los botones Hola y Mundo de forma que al pulsar el primero aparezca la palabra Hola en el cuadro de texto. Para modificar el texto utiliza la propiedad Text de del cuadro de texto.

20 Práctica 3. Introducción a sockets en.net Ahora que conoces el API de sockets de otros sistemas operativos y lenguajes como Java, vamos a aprender cómo usar sockets desde.net con el lenguaje C#. En esta práctica, usaremos el Framework de.net en lugar del Compact Framework, en cualquier caso, el contenido de estas prácticas es trasladable a pocket pc directamente. Estructura de clases Para utilizar sockets es necesario importar las librerías de la class library System.Net y System.Net.Sockets. Para ello, creamos un proyecto de tipo aplicación visual con el SDK correspondiente y le damos el nombre de VistaCliente.cs al fichero de código con el formulario. El otro fichero será program.cs. Introducimos el siguiente código en los ficheros:

21 /* Programa.cs */ using System; using System.Text; using System.Collections.Generic; using System.Windows.Forms; using System.Net; using System.Net.Sockets; using System.Diagnostics; namespace ComputacionRed.Sockets.Cliente static class Program /// <summary> /// The main entry point for the application. /// </summary> [MTAThread] static void Main() /* VistaCliente.cs [Formulario-Ver código]*/ using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace ComputacionRed.Sockets.Cliente public partial class VistaCliente : Form public VistaCliente() InitializeComponent();

22 La clase VistaCliente, es una clase que hereda de Form, por tanto se utiliza para proporcionar una GUI al usuario. Por otro lado, tendremos una clase controlador ClienteConnection que crearemos dentro del fichero programa.cs: /* Programa.cs */ using System; using System.Text; using System.Collections.Generic; using System.Windows.Forms; using System.Net; using System.Net.Sockets; using System.Diagnostics; namespace ComputacionRed.Sockets.Cliente static class Program /// <summary> /// The main entry point for the application. /// </summary> [MTAThread] static void Main() public class ClienteConnection IPAddress dirservidor; Int32 serverport = 0; IPEndPoint endpointservidor; Socket socket; Form vv = null; writelog log = null; public ClienteConnection(Form vv) this.vv = vv; /* destructor */ ~ClienteConnection() try if (socket!= null) if (socket.connected) socket.disconnect(false); catch (Exception ex) /* lo hemos intentado... */

23 En la clase ClienteConnection tendremos los siguientes atributos: IPAddress dirservidor : Estructura de dirección IP para conectar con el servidor o us/library/system.net.ipaddress.aspx IPEndPoint endpointservidor: Contiene tanto la dirección IP como el puerto local etc necesarios para conectar con el servidor o us/library/system.net.ipendpoint.aspx Int32 serverport: puerto del servidor Socket socket: estructura donde alojar el estado del socket o us/library/system.net.sockets.socket.aspx o API de sockets de Berkeley Form vv : Para poder controlar la visualización writelog log: Lo veremos más adelante, es un callback (delegado en.net) Localice el constructor de la clase ClienteConnection. Qué parámetro recibe? Qué hace el destructor de la clase ClienteConnection? En la clase VistaCliente usaremos el siguiente código para el constructor y los métodos de inicialización: public delegate void writelog(string msg); public partial class VistaCliente : Form ClienteConnection cc = null; byte[] sendbytes; byte[] receivebytes = new byte[2048]; public VistaCliente() InitializeComponent(); public void setcontroller(clienteconnection cc) this.cc = cc; La clase VistaCliente tiene los siguientes atributos: ClienteConnection cc = enlace con el controlador byte[] sendbytes: buffer de datos a enviar al servidor byte[] receivebytes: buffer de datos con la respuesta del servidor. Si echamos un vistazo al código anterior, veremos una declaración similar a un tipo: public delegate void writelog(string msg);

24 Consiste en un puntero a función, es decir, existe un tipo de función llamada writelog, que recibe una String y la imprime para que el usuario tenga información a modo de log. Interfaz gráfico A continuación vamos a diseñar el siguiente interfaz gráfico: servernametextbox textcheckboxuserinput button1 IPTextbox serverport senddatatextb oxuserinput conectbutton sendbutton ConnectionState updatebinary Button testconnectionbutton binarysenddata responsetext responsebinary logtextbox Como puedes comprobar, hay varios controles (cajas de texto, botones, checkbox ) y algunos de ellos están introducidos dentro de un contenedor. Esto es opcional, en cualquier caso, el control que engloba a los demás (como por ejemplo Connection que engloba 3 cajas de texto, tres botones y un label) puedes localizarlo en el toolbox como GroupBox. Para que el código que se proporciona en los siguientes apartados funcione correctamente, debes asegurarte de que los diferentes controles tienen la propiedad Name (dentro del apartado Design) que se indica en las cajas de texto apuntadas por las diferentes flechas.

25 Función de log A continuación vamos a resolver el problema del log. En la clase VistaCliente creamos la función writelog como se muestra a continuación: public void setcontroller(clienteconnection cc) this.cc = cc; public void writelog(string msg) logtextbox.appendtext(msg); Dicha función escribe añade texto en la caja de texto logtextbox cuando se la invoca. Si prestamos atención, veremos que dicho método tiene los mismos tipos definidos en la declaración del apartado anterior public delegate void writelog(string msg) por lo que puede usarse como delegado. En la clase ClienteConnection, inmediatamente después del destructor, creamos los métodos: /* set log */ public void setlogfn(writelog fn) this.log = fn; /* write log */ public void trace(string msg) StackTrace st = new StackTrace(false); string caller = st.getframe(1).getmethod().name; log(caller + " : " + msg + "\r\n"); /* presenta la vista */ public Form getvista() return vv; El método setlogfn recibe un puntero a una función de tipo writelog y la guarda en el atributo log. En método trace recibe una string, contruye un pila de llamadas y accede a la anterior para conocer desde que función ha sido llamada la función de log para así incluirlo en el texto de la línea de log. Finalmente, escribe la línea y le añade al final un retorno de carro y vuelve al comienzo de la línea ( \r\n es equivalente al \n de C/C++). La función getvista devuelve una instancia de la clase Form, así tanto el controlador como la vista, permanecen unidos. Compruebe como ambas clases VistaCliente y ClienteConnection están enlazadas

26 Sustituye el código del main por el siguiente: static class Program /// <summary> /// The main entry point for the application. /// </summary> [MTAThread] static void Main() ClienteConnection cc = new ClienteConnection(new VistaCliente()); ((VistaCliente)cc.getVista()).setController(cc); cc.setlogfn(((vistacliente)cc.getvista()).writelog); Application.Run(cc.getVista()); Qué hace el código? Comprobando la conectividad En este apartado vamos a comprobar la conectividad de la red antes de usarla. Para ello, el usuario dispone de un botón con el mensaje Test connection que cambiará el label ConnectionState indicando ok o error dependiendo del problema. En primer lugar vamos a diseñar dicha función. Para dar un error detallado sería necesario interrogar al API de NDIS de Windows (controla los dispositivos de red) de forma que se pudiera averiguar si existe conectividad o no, pero lo vamos a hacer desde el nivel más alto, desde sockets. Lo primero que haremos será definir un tipo enumerado con los posibles errores o estados: public enum connstate ok = 0, dnsproblem = 1, socketproblem = 2, dnsandsocketproblem = 3, networkerrororunreachable = 4 Los posibles estados son: 1. No hay error 2. Existe un problema con el DNS (lo cual no significa que no haya conexión) 3. Problema con la librería de sockets, con independencia del DNS no se puede abrir una conexión. 4. Hay problemas con el DNS y con los sockets 5. Es posible crear un socket pero probablemente la conexión sólo es local o un firewall bloquea el tráfico

27 A continuación, vamos a plantear la estrategia del test: 1. Tratamos de resolver el nombre a. Si falla dnsproblem y continuamos 2. Tenemos o no DNS, pero puede que sólo local a. Tratamos de conectar a una IP y si hay éxito continuamos b. Tratamos de conectar a una IP y si no hay éxito salimos con error socketproblem o dnsandsocketproblem. 3. Tratamos de descargar una página web a. Si hay éxito: ok b. Si falla: networkerrororunreachable Por lo tanto, el código del método para probar la conectividad es el siguiente (inclúyelo como métodos de la clase ClienteConnection: private connstate geterror(connstate current, connstate promoteto) trace("fetch error"); if (current == connstate.ok) return promoteto; if (current == connstate.dnsproblem) if (promoteto == connstate.socketproblem) return connstate.dnsandsocketproblem; else return promoteto; return promoteto; public String gettestconnectionresultstring() return testsocketconnection().tostring(); private connstate testsocketconnection() trace("testing client connection"); connstate res = connstate.ok; String testhttp = "GET /index.html HTTP/1.0\n\n"; String httpdoc = null; int recvlength = 0; Byte[] SendBytes = Encoding.ASCII.GetBytes(testHttp); Byte[] RecvBytes = new Byte[1024]; IPAddress testip = null; IPEndPoint testendpoint = null; Socket testsocket = null; try testip = Dns.GetHostEntry(" testendpoint = new IPEndPoint(testIP, 80);

28 catch (Exception ex) trace("dns seems to be unavailable"); res = geterror(res, connstate.dnsproblem); try testip = Dns.GetHostEntry(" ").AddressList[0]; testendpoint = new IPEndPoint(testIP, 80); testsocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); catch (Exception ex) trace("something wrong with sockets"); return geterror(res, connstate.socketproblem); try testsocket.connect(testendpoint); testsocket.send(sendbytes, SendBytes.Length, SocketFlags.None); recvlength = testsocket.receive(recvbytes, RecvBytes.Length, SocketFlags.None); catch (Exception ex) trace("error connecting"); return geterror(res, connstate.networkerrororunreachable); httpdoc = Encoding.ASCII.GetString(RecvBytes, 0, recvlength); //Codificamos la respuesta trace("finished"); return res; Acabas de ver tu primer programa con sockets en.net: Cuál es el proceso para abrir una conexión con otro equipo? Qué NameSpaces se utilizan? Qué clases? Notas diferencias con otros APIs? Ahora incorpora la funcionalidad al botón de prueba (doble click y Visual Studio generará el método, el código es el siguiente: private void testconnectionbutton_click(object sender, System.EventArgs e) ConnectionState.Text = cc.gettestconnectionresultstring();

29 Interactuando con un servidor, preparando los datos Antes de comenzar a enviar datos al servidor, es necesario prepararlos. El cliente que estamos diseñando permite introducir datos de dos formas: 1. En modo texto: cualquier letra introducida se codifica con ASCII y se envía salvo el código \n que se traduce a retorno de carro. Esto es interesante por si se quiere usar HTTP directamente o para probar un servidor que estamos programando a. Para ello, el usuario introduciría GET /index.html HTTP/1.0\n\n directamente en el cuadro de texto senddatatextboxuserinput, haría click en la casilla textcheckboxuserinput (mirar la figura del GUI) y luego en updatebinarybutton 2. Modo hexadecimal: Se introduce la información en hexadecimal. Si se quiere introducir un buffer de datos 2FC487, se teclea 2F C4 87 y no se marca la casilla de modo texto. En cualquier caso, siempre es necesario pulsar el botón Update Binary antes de enviar algo al servidor. Por lo tanto, necesitamos un método que prepare los datos del usuario para su envío al servidor. El método se invoca cuando se pulsa el botón updatebinarybutton. Por tanto, para programarlo, haga doble click sobre dicho botón. Analiza el siguiente código y úsalo: private void updatebinarybutton_click(object sender, System.EventArgs e) sendbytes = null; binarysenddata.text = ""; String senddatatext = ""; int posicion = -1; if (textcheckboxuserinput.checked && senddatatextboxuserinput.text.length!= 0) if (senddatatextboxuserinput.text.indexof("\\n")!= -1) /* hay retorno(s) de carro (http/telnet) */ String[] subs = senddatatextboxuserinput.text.split(new String[] "\\n", StringSplitOptions.None); for (int i = 0; i < subs.length; i++) if (subs[i].equals("")) senddatatext += "\n"; else senddatatext += subs[i]; else senddatatext = senddatatextboxuserinput.text; sendbytes = Encoding.ASCII.GetBytes(sendDataText); else if (senddatatextboxuserinput.text.length >= 2) string delimiter = " ";

Uso de Visual C++ Pre-Practica No. 3

Uso de Visual C++ Pre-Practica No. 3 Pre-Practica No. 3 Uso de Visual C++ Microsoft Visual C++ 2010 es una versión de Visual Studio específica para el lenguaje de programación C++. Es un entorno de desarrollo muy completo y profesional. Por

Más detalles

Notas para la instalación de un lector de tarjetas inteligentes.

Notas para la instalación de un lector de tarjetas inteligentes. Notas para la instalación de un lector de tarjetas inteligentes. Índice 0. Obtención de todo lo necesario para la instalación. 3 1. Comprobación del estado del servicio Tarjeta inteligente. 4 2. Instalación

Más detalles

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta Configuración de una red con Windows Aunque existen múltiples sistemas operativos, el más utilizado en todo el mundo sigue siendo Windows de Microsoft. Por este motivo, vamos a aprender los pasos para

Más detalles

Aplicaciones Windows con Microsoft Visual Studio 2010...

Aplicaciones Windows con Microsoft Visual Studio 2010... Aplicaciones Windows con Microsoft Visual Studio 2010... Insertar un Link o Vínculo en una Aplicación Windows El presente es un pequeño manual/tutorial que nos indica los pasos que debemos seguir para

Más detalles

Creando una webquests

Creando una webquests Creando una webquests 1. LO PRIMERO EL PROGRAMA Para crear paginas web necesitamos el software apropiado. Hay muchas formas y programas para hacerlo, pero por su facilidad de uso y por ser software libre

Más detalles

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L.

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L. Manual de Usuario Programa diseñado y creado por Contenido 1. Acceso al programa... 3 2. Opciones del programa... 3 3. Inicio... 4 4. Empresa... 4 4.2. Impuestos... 5 4.3. Series de facturación... 5 4.4.

Más detalles

Manual de NetBeans y XAMPP

Manual de NetBeans y XAMPP Three Headed Monkey Manual de NetBeans y XAMPP Versión 1.0 Guillermo Montoro Delgado Raúl Nadal Burgos Juan María Ruiz Tinas Lunes, 22 de marzo de 2010 Contenido NetBeans... 2 Qué es NetBeans?... 2 Instalación

Más detalles

http://www.oracle.com/technetwork/es/java/javase/downloads/index.html

http://www.oracle.com/technetwork/es/java/javase/downloads/index.html Introducción En esta primera parte del taller iremos viendo paso a paso como poner a punto todo tu entorno de trabajo para poder empezar cuanto antes a desarrollar tu primera aplicación Android para luego

Más detalles

Uso de varias pantallas y pantalla Splash

Uso de varias pantallas y pantalla Splash Uso de varias pantallas y pantalla Splash Índice 1. USO DE VARIAS PANTALLAS... 3 2. CREACIÓN DE PANTALLA DE INICIO O DE SPLASH... 10 2 1. Uso de varias pantallas Vamos a explicar como se crean aplicaciones

Más detalles

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS Servicio DNS - 1 - Servicio DNS...- 3 - Definición... - 3 - Instalación... - 5 - Configuración del Servidor DNS...- 10 - - 2 - Servicio DNS Definición

Más detalles

Página Personal. Cómo guardar mi página personal con FileZilla

Página Personal. Cómo guardar mi página personal con FileZilla Página Personal Cómo guardar mi página personal con FileZilla Este manual de servicio es propiedad de Telefónica de España SAU, queda terminante prohibida la manipulación total o parcial de su contenido

Más detalles

Herramientas Visuales de Programación

Herramientas Visuales de Programación Pág. 1 07/04/2013 Para la compilación y ejecución del código que se realizará a lo largo de este curso vamos a utilizar el entorno de programación de la Herramienta Visual Studio 2010. El entorno de programación

Más detalles

1 Itinerario. 2 Descripción y funcionalidades principales. Google Docs. 1.1 Qué vamos a hacer? 1.2 Qué pasos vamos a seguir?

1 Itinerario. 2 Descripción y funcionalidades principales. Google Docs. 1.1 Qué vamos a hacer? 1.2 Qué pasos vamos a seguir? Google Docs 1 Itinerario 1.1 Qué vamos a hacer? En este tutorial aprendemos a manejar la herramienta Google Docs, de esta forma nos introduciremos en el llamado cloud computing, que podemos traducir como,

Más detalles

Person IP CRM Manual MOBILE

Person IP CRM Manual MOBILE Manual MOBILE División Informática BuscPerson Telecomunicaciones : Manual MOBILE 0.- Introducción 3 0.1 Configuración de los terminales 3 0.2 Acceso de Usuarios 3 1.- Funcionalidades CRM 5 1.1 Agenda del

Más detalles

Plantillas Office. Manual de usuario Versión 1.1

Plantillas Office. Manual de usuario Versión 1.1 Manual de usuario Para comprender y seguir este manual es necesario: Disponer del fichero lasolucion50.exe Asegurarse de trabajar con la versión 5.0.0.7 o superior. Para comprobar que versión esta utilizando

Más detalles

En términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas.

En términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas. 1 de 18 Inicio Qué es un foro En términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas. En el campus virtual, el foro es una herramienta

Más detalles

Acronis License Server. Guía del usuario

Acronis License Server. Guía del usuario Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE

Más detalles

Presentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos:

Presentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos: UNIDAD 8 Presentaciones Reunión. (ITE. Banco de imágenes) as presentaciones son documentos formados por una sucesión de páginas, llamadas diapositivas, que transmiten información estructurada de manera

Más detalles

Tutorial de Introducción a la Informática Tema 0 Windows. Windows. 1. Objetivos

Tutorial de Introducción a la Informática Tema 0 Windows. Windows. 1. Objetivos 1. Objetivos Este tema de introducción es el primero que debe seguir un alumno para asegurar que conoce los principios básicos de informática, como el manejo elemental del ratón y el teclado para gestionar

Más detalles

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa...2. 1.1 Configuración Internet Explorer para ActiveX...

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa...2. 1.1 Configuración Internet Explorer para ActiveX... INDICE 1 Configuración previa...2 1.1 Configuración Internet Explorer para ActiveX...2 1.2 Problemas comunes en sistema operativo Windows...8 1.2.1 Usuarios con sistema operativo Windows XP con el Service

Más detalles

GUÍA DE USUARIO: GOOGLE DRIVE

GUÍA DE USUARIO: GOOGLE DRIVE GUÍA DE USUARIO: GOOGLE DRIVE Google Drive es una herramienta telemática de la web 2.0 que permite el trabajo virtual de forma colaborativa. En Google Drive podemos encontrar una barra de navegación en

Más detalles

TUTORIAL APLICACIONES EVOLUTION CON ACTIVEX EVOLINK

TUTORIAL APLICACIONES EVOLUTION CON ACTIVEX EVOLINK TUTORIAL APLICACIONES EVOLUTION CON ACTIVEX EVOLINK 1 Introducción... 2 2 Requisitos previos... 2 3 Desarrollo de una aplicación call center.net con ActiveX evolink... 2 3.1 Crear un proyecto inicial...

Más detalles

WINDOWS 2008 5: TERMINAL SERVER

WINDOWS 2008 5: TERMINAL SERVER WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.

Más detalles

5.2.- Configuración de un Servidor DHCP en Windows 2003 Server

5.2.- Configuración de un Servidor DHCP en Windows 2003 Server 5.2.- Configuración de un Servidor DHCP en Windows 2003 Server En este apartado vamos a configurar el servidor DHCP de "Windows 2003 Server", instalado en el apartado anterior. Lo primero que hemos de

Más detalles

Instalación del Admin CFDI

Instalación del Admin CFDI Instalación del Admin CFDI Importante!!!Antes de comenzar verifique los requerimientos de equipo esto podrá verlo en la guía 517 en nuestro portal www.control2000.com.mx en el apartado de soporte, ahí

Más detalles

Escritorio remoto y VPN. Cómo conectarse desde Windows 7

Escritorio remoto y VPN. Cómo conectarse desde Windows 7 Escritorio remoto y VPN. Cómo conectarse desde Windows 7 Hay ocasiones en las que es necesario conectarnos a un equipo informático situado a mucha distancia de donde nos encontramos para realizar sobre

Más detalles

COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER

COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER 2011 2012 COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER WWW.FAUBELL.COM vicente@faubell.com Hasta ahora hemos visto una pequeña introducción a la creación de las páginas web. No te preocupes por

Más detalles

C.F.G.S. DESARROLLO DE APLICACIONES INFORMÁTICAS. MÓDULO: Diseño y realización de servicios de presentación en entornos gráficos.

C.F.G.S. DESARROLLO DE APLICACIONES INFORMÁTICAS. MÓDULO: Diseño y realización de servicios de presentación en entornos gráficos. C.F.G.S. DESARROLLO DE APLICACIONES INFORMÁTICAS MÓDULO: Diseño y realización de servicios de presentación en entornos gráficos Unidad 1 Introducción Visual Basic.NET El objetivo de la unidad es conocer

Más detalles

Taller: Introducción a Windows Communication Foundation

Taller: Introducción a Windows Communication Foundation Taller: Introducción a Windows Communication Foundation Autor: Carlos Milán Figueredo Nivel: 100 (Principiante) Pre-requisitos: Visual Studio 2008 Email: cmilanf@dotnetclubs.com Web: http://www.dotnetclubs.com

Más detalles

Tutorial DC++ Usarlo es muy sencillo y configurarlo también, aunque tiene algunos trucos importentes.

Tutorial DC++ Usarlo es muy sencillo y configurarlo también, aunque tiene algunos trucos importentes. Tutorial DC++ Para compartir, lo mejor es usar el DC++, que es un programa de intercambio P2P (como el emule) pero optimizado para usarlo en redes locales. Usarlo es muy sencillo y configurarlo también,

Más detalles

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10 CONCEPTOS BASICOS Febrero 2003 Página - 1/10 EL ESCRITORIO DE WINDOWS Se conoce como escritorio la zona habitual de trabajo con windows, cuando iniciamos windows entramos directamente dentro del escritorio,

Más detalles

Manual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2

Manual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2 Manual de software Dynamic Cloud 10/2014 MS-Dynamic_Cloud v1.2 ÍNDICE GENERAL 1. INTRODUCCIÓN... 2 1.1 Configuración mínima del PC... 2 2. INSTALAR DYNAMIC CLOUD... 3 2.1 Ejecutar Dynamic Cloud por primera

Más detalles

Guía de acceso a Meff por Terminal Server

Guía de acceso a Meff por Terminal Server Guía de acceso a Meff por Terminal Server Fecha:15 Marzo 2011 Versión: 1.02 Historia de Revisiones Versión Fecha Descripción 1.00 03/07/2009 Primera versión 1.01 13/08/2009 Incorporación dominio 1.02 15/03/2011

Más detalles

Guía nuevo panel de clientes Hostalia

Guía nuevo panel de clientes Hostalia Guía nuevo panel de clientes Hostalia Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com 1. Estructura del panel de administración El panel de control presenta un diseño

Más detalles

La pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición.

La pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición. Microsoft Word Microsoft Word es actualmente (2009) el procesador de textos líder en el mundo gracias a sus 500 millones de usuarios y sus 25 años de edad. Pero hoy en día, otras soluciones basadas en

Más detalles

MINI MANUAL PARA CREAR FORMULARIOS CON PHP Marzo 2007

MINI MANUAL PARA CREAR FORMULARIOS CON PHP Marzo 2007 MINI MANUAL PARA CREAR FORMULARIOS CON PHP Marzo 2007 Servicio de Informática y Comunicaciones Para poder diseñar un formulario y que éste nos envíe los resultados a nuestro correo electrónico, necesitamos

Más detalles

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento Qué es AT-Encrypt nos permitirá dotar de contraseña a cualquier documento o carpeta. Este documento o carpeta sólo será legible por aquel que conozca la contraseña El funcionamiento del cifrado (o encriptación)

Más detalles

GUÍA DE OUTLOOK. Febrero 2010

GUÍA DE OUTLOOK. Febrero 2010 GUÍA DE OUTLOOK 2007 Febrero 2010 CONFIGURACIÓN: Lo primero que debe hacer antes de abrir Outlook es crear un perfil, al que configurara una cuenta de correo. Para ello vaya a su menú de inicio de Windows

Más detalles

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto INFORMÁTICA INFORMÁTICA 1 Sesión No. 4 Nombre: Procesador de Texto Contextualización La semana anterior revisamos los comandos que ofrece Word para el formato del texto, la configuración de la página,

Más detalles

GUÍA DE USUARIO DEL CORREO

GUÍA DE USUARIO DEL CORREO REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN DIRECCIÓN GENERAL DE LA OFICINA DE ADMINISTRACIÓN Y SERVICIOS DIVISIÓN DE SOPORTE TÉCNICO Y FORMACIÓN AL USUARIO GUÍA DE

Más detalles

CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa vjsosa@tamps.cinvestav.mx

CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa vjsosa@tamps.cinvestav.mx CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa vjsosa@tamps.cinvestav.mx En este documento explicaré brevemente cómo construir un servicio web con Java Axis2 y cómo invocarlo desde un cliente

Más detalles

Ejercicios - Persistencia en Android: ficheros y SQLite

Ejercicios - Persistencia en Android: ficheros y SQLite Ejercicios - Persistencia en Android: ficheros y SQLite Índice 1 Uso de ficheros (0.5 puntos)...2 2 Persistencia con ficheros (0.5 puntos)...3 3 Base de datos: SQLiteOpenHelper (0.5 puntos)... 3 4 Base

Más detalles

Explotación de Sistemas Informáticos IES Murgi 2006-2007 PRÁCTICA 9: SERVICIO WEB Y FTP DE INTERNET INFORMATION SERVICE

Explotación de Sistemas Informáticos IES Murgi 2006-2007 PRÁCTICA 9: SERVICIO WEB Y FTP DE INTERNET INFORMATION SERVICE PRÁCTICA 9: SERVICIO WEB Y FTP DE INTERNET INFORMATION SERVICE Índice 1. Instalación...2 2. Administrar los sitios Web... 4 3. Crear un nuevo sitio Web... 4 4. Creación de directorios virtuales... 5 5.

Más detalles

PUESTA EN MARCHA PROGRAMA GESTION DE OPTICAS. Junio - 2004

PUESTA EN MARCHA PROGRAMA GESTION DE OPTICAS. Junio - 2004 PUESTA EN MARCHA PROGRAMA GESTION DE OPTICAS Junio - 2004 pmqsoft Servicios Informáticos, S.L. www.pmqsoft.com soporte@pmqsoft.com Entendiendo que la instalación ha finalizado y que todo ha salido correctamente.

Más detalles

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 5: Report Builder

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 5: Report Builder Ministerio de Educación Base de datos en la Enseñanza. Open Office Módulo 5: Report Builder Instituto de Tecnologías Educativas 2011 Informes con Oracle Report Builder En su configuración original, OpenOffice

Más detalles

Mi correo con OUTLOOK

Mi correo con OUTLOOK Mi correo con OUTLOOK En este manual vamos a ver los pasos necesarios para configurar nuestra cuenta de correo. En primer lugar, ejecutaremos nuestro cliente outlook. Si es la primera vez que ejecutamos

Más detalles

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS Escritorio remoto - 1 - Escritorio Remoto...- 3 - Definición de Escritorio Remoto... - 3 - Habilitar Escritorio Remoto... - 4 - Instalación del

Más detalles

TPV Táctil. Configuración y Uso. Rev. 1.2 21/01/09

TPV Táctil. Configuración y Uso. Rev. 1.2 21/01/09 Configuración y Uso Rev. 1.2 21/01/09 Rev. 2.0 20100616 1.- Ruta de Acceso a Imágenes. 2.- Estructuración de los Artículos. 3.- Creación de Grupos de Familias. 4.- Creación de Familias de Ventas. 5.- Creación

Más detalles

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS. GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS. 1 Direcciones o Ubicaciones, Carpetas y Archivos Botones de navegación. El botón Atrás permite volver a carpetas que hemos examinado anteriormente. El botón Arriba

Más detalles

COMO CREAR UNA PÁGINA WEB 3-VÍNCULOS. IMÁGENES. FORMULARIOS.

COMO CREAR UNA PÁGINA WEB 3-VÍNCULOS. IMÁGENES. FORMULARIOS. 2011 2012 COMO CREAR UNA PÁGINA WEB 3-VÍNCULOS. IMÁGENES. FORMULARIOS. WWW.FAUBELL.COM vicente@faubell.com VÍNCULOS: Antes de proseguir hemos de repasar el concepto vínculo ya que vamos a utilizarlo mucho

Más detalles

Para descargar la versión más reciente de Skype accedemos al sitio web de Skype y luego hacemos clic en Descargar Skype para escritorio de Windows.

Para descargar la versión más reciente de Skype accedemos al sitio web de Skype y luego hacemos clic en Descargar Skype para escritorio de Windows. Skype Skype: este servicio nos permite comunicarnos en forma sincrónica con nuestros contactos mediante mensajes instantáneos (chat) y realizando video llamadas. Skype Microsoft cuenta con un sistema de

Más detalles

Enviar archivos mediante FTP

Enviar archivos mediante FTP Enviar archivos mediante FTP Sin lugar a dudas, la forma más rápida de enviarnos los archivos para imprimir es utilizando un Cliente FTP. FTP, acrónimo de File Transfer Protocol, es un protocolo de transferencia

Más detalles

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario 14 CORREO SEGURO. Hay aplicaciones de correo que permiten enviar y recibir correos cifrados y firmados digitalmente utilizando criptografía. Estas operaciones garantizan el intercambio seguro de información,

Más detalles

Práctica 3ProgramacionRS232: Programación básica de la RS232

Práctica 3ProgramacionRS232: Programación básica de la RS232 Práctica 3ProgramacionRS232: Programación básica de la RS232 1 Objetivos El objetivo de esta práctica es la iniciación del alumno en la programación de las comunicaciones en un entorno de desarrollo basado

Más detalles

Guía para publicar su equipo en Internet.

Guía para publicar su equipo en Internet. Antes de comenzar Guía para publicar su equipo en Internet. Para configurar su equipo y poder publicar sus cámaras en Internet, primeramente es necesario haber abierto los puertos de video y web, que por

Más detalles

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...

Más detalles

Carlos Castro Grande 1

Carlos Castro Grande 1 QUÉ ES VISUAL BASIC.NET? GUIA DE LABORATORIO I TALLER DE DESARROLLO I VB.NET 2012 Es un lenguaje de programación de alto nivel orientado a objetos y eventos que soporta encapsulación, herencia y polimorfismo.

Más detalles

SMS Gestión. manual de uso

SMS Gestión. manual de uso SMS Gestión manual de uso índice qué es SMS Gestión 2 acceso al servicio 3 01 acceso con la clave de servicios de Orange 4 02 acceso personalizado 6 02.1 cómo personalizar su acceso a la aplicación 7 02.2

Más detalles

Redes Locales: El protocolo TCP/IP

Redes Locales: El protocolo TCP/IP Redes Locales: El protocolo TCP/IP Los protocolos de red son las reglas que siguen los equipos conectados a la red para poder comunicarse entre sí, y hablar así el mismo idioma. El grupo de protocolos

Más detalles

Manual de usuario de Parda Programa de Almacenamiento y Recuperación de Datos Automático

Manual de usuario de Parda Programa de Almacenamiento y Recuperación de Datos Automático Programa de Almacenamiento y Recuperación de Datos Automático CONSEJERÍA DE EDUCACIÓN Dirección General de Participación e Innovación Educativa Centro de Gestión Avanzado de Centros TIC Fecha: 20/04/10

Más detalles

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. IIC1102 Introducción a la Programación

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. IIC1102 Introducción a la Programación Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación IIC1102 Introducción a la Programación Tutorial eclipse TM Introducción al uso de eclipse TM Contents

Más detalles

Guía Rápida de Inicio

Guía Rápida de Inicio Guía Rápida de Inicio 1. Acerca de esta Guía Esta guía le ayudará a instalar y dar los primeros pasos con BitDefender Security for SharePoint. Para disponer de instrucciones detalladas, por favor, diríjase

Más detalles

PREPARANDO EL ENTORNO DE DESARROLLO PARA PROGRAMAR EN PHP. DESCARGAR E INSTALAR NOTEPAD++ (CU00808B)

PREPARANDO EL ENTORNO DE DESARROLLO PARA PROGRAMAR EN PHP. DESCARGAR E INSTALAR NOTEPAD++ (CU00808B) APRENDERAPROGRAMAR.COM PREPARANDO EL ENTORNO DE DESARROLLO PARA PROGRAMAR EN PHP. DESCARGAR E INSTALAR NOTEPAD++ (CU00808B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde cero

Más detalles

Capítulo 9. Archivos de sintaxis

Capítulo 9. Archivos de sintaxis Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta

Más detalles

Introducción al lenguaje Java

Introducción al lenguaje Java Tipo de entrega: Fecha límite: Lugar: Introducción al lenguaje Java por grupos de prácticas sesión de laboratorio Atenea Objetivos de la práctica: Escribir aplicaciones simples en Java Utilizar el entorno

Más detalles

Guía de instalación del servidor

Guía de instalación del servidor Guía de instalación del servidor Autores: Versión: 1.0 Jesús Manuel Rodríguez Sánchez Miguel Ángel Lorente López Fecha: 22/01/2009 Tabla de contenido Manual de Instalación del Servidor 4 Paso 1) Instalar

Más detalles

GVisualPDA Módulo de Almacén

GVisualPDA Módulo de Almacén GVisualPDA Módulo de Almacén GVisualPDA es una aplicación para Windows Mobile 5/6 que amplía más aún las posibilidades de integración del software de gestión GVisualRec permitiendo estar conectados en

Más detalles

Redirección de puertos

Redirección de puertos 1 Redirección de Puertos Redirección de puertos 2 Redirección de Puertos Índice 1. Introducción 3 2. Requisitos necesarios para redireccionar puertos en el router 6 3. Redireccionamiento de puertos 9 4.

Más detalles

TEMA 4: EMPEZANDO A NAVEGAR ESCUELA UNIVERSITARIA DE INFORMÁTICA. Raúl Martín Martín

TEMA 4: EMPEZANDO A NAVEGAR ESCUELA UNIVERSITARIA DE INFORMÁTICA. Raúl Martín Martín TEMA 4: EMPEZANDO A ESCUELA UNIVERSITARIA DE INFORMÁTICA NAVEGAR Raúl Martín Martín SERVICIOS DE INTERNET SERVICIOS DE INTERNET Las posibilidades que ofrece Internet se denominan servicios. Hoy en día,

Más detalles

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX En este manual se presenta el proceso de configuración de una Maquina Virtual en VirtualBox, que será utilizada para instalar un Servidor

Más detalles

UAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid

UAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid MANUAL DE EMPRESA Modo de entrar en ÍCARO Para comenzar a subir una oferta de empleo, el acceso es a través del siguiente enlace: http://icaro.uam.es A continuación, aparecerá la página de inicio de la

Más detalles

Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP

Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP Práctica 9 GESTIÓN Y UTILIZACIÓN DE REDES LOCALES Curso 2001/2002 TCP/IP: protocolo TCP Introducción Como se ha comentado en la práctica anterior, el protocolo UDP es muy sencillo de implementar, pero

Más detalles

Administración de portales Joomla (II) antonio.duran.terres@gmail.com

Administración de portales Joomla (II) antonio.duran.terres@gmail.com Administración de portales Joomla (II) antonio.duran.terres@gmail.com Módulos Con la instalación base de Joomla vienen varios módulos Algunos ya los vimos, como encuestas o Quien está en línea? Hay otros

Más detalles

Guía de instalación de la carpeta Datos de IslaWin

Guía de instalación de la carpeta Datos de IslaWin Guía de instalación de la carpeta Datos de IslaWin Para IslaWin Gestión CS, Classic o Pyme a partir de la revisión 7.00 (Revisión: 10/11/2011) Contenido Introducción... 3 Acerca de este documento... 3

Más detalles

Práctica: Creación de un programa C# sencillo

Práctica: Creación de un programa C# sencillo Introducción a C# 1 Práctica: Creación de un programa C# sencillo Objetivos Al final de esta práctica, usted será capaz de: Crear un programa C#. Compilar y ejecutar un programa C#. Usar el Visual Studio

Más detalles

Manual de usuario de Windows Live Writer

Manual de usuario de Windows Live Writer Manual de usuario de Windows Live Writer Índice 0.- Introducción. 3 1.- Descarga e Instalación. 4 2.- Conexión a un blog. 7 3.- Interfaz de Windows Live Writer. 12 4.- Creación de un Post. 13 5.- Creación

Más detalles

Internet aula abierta

Internet aula abierta MINISTERIO DE EDUCACIÓN Y CIENCIA SECRETARÍA GENERAL DE EDUCACIÓN Y FORMACIÓN PROFESIONAL DIRECCIÓN GENERAL DE EDUCACIÓN, FORMACIÓN PROFESIONAL E INNOVACIÓN EDUCATIVA CENTRO NACIONAL DE INFORMACIÓN Y COMUNICACIÓN

Más detalles

INSTALACIÓN DE MEDPRO

INSTALACIÓN DE MEDPRO 1 Estimado Cliente: Uno de los objetivos que nos hemos marcado con nuestra nueva plataforma de gestión, es que un cliente pueda instalar MedPro y realizar su puesta en marcha de forma autónoma. Siga paso

Más detalles

Unidad Didáctica 12. La publicación

Unidad Didáctica 12. La publicación Unidad Didáctica 12 La publicación Contenido 1. Desarrollar y explotar 2. Definición del Sitio 3. Alojar nuestra primera página Web 4. Configurar la conexión FTP U.D. 12 La publicación 1. Desarrollar y

Más detalles

SUBDIRECCIÓN GENERAL DE NUEVAS TECNOLOGÍAS DE JUSTICIA MANUAL DE USUARIO DE LA NUEVA APLICACIÓN DE CORREO ELECTRÓNICO

SUBDIRECCIÓN GENERAL DE NUEVAS TECNOLOGÍAS DE JUSTICIA MANUAL DE USUARIO DE LA NUEVA APLICACIÓN DE CORREO ELECTRÓNICO MANUAL DE USUARIO DE LA NUEVA APLICACIÓN DE CORREO ELECTRÓNICO Control de Cambios Descripción Autor Fecha Creación del Documento Jesús Iglesias Mirad 25/06/09 0. Índice 0. Índice... 1 1. Introducción...

Más detalles

HOW TO SOBRE REMOTE ACCESS VPN MODE EN LINUX

HOW TO SOBRE REMOTE ACCESS VPN MODE EN LINUX HOW TO SOBRE REMOTE ACCESS VPN MODE EN LINUX 1- En este how to realizaremos una conexión remota mediante vpn; lo que haremos es comprobar primero que las maquinas que vamos a conectar, se puedan ver y

Más detalles

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario Apéndice 5 Manual de usuario de ColeXión ColeXión 1.0 Manual de usuario Índice 1. Qué es ColeXión?... 2 2. Requerimientos del sistema... 3 3. Instalación de ColeXión... 3 4. Creación de un nuevo esquema...

Más detalles

STRATO LivePages Inicio rápido

STRATO LivePages Inicio rápido STRATO LivePages Inicio rápido LivePages es la práctica herramienta de creación de páginas web de STRATO. En pocos pasos podrá crear su propia página web y publicarla en Internet sin necesidad de conocimientos

Más detalles

Crear la base de datos antes de la instalación de Wordpress.

Crear la base de datos antes de la instalación de Wordpress. Introducción En este tutorial básico sobre instalar Wordpress en tu propio hosting mediante un panel de control cpanel y aprenderás como personalizar las bases de datos MySQL que utiliza Wordpress. Para

Más detalles

Edición de Ofertas Excel Manual de Usuario

Edición de Ofertas Excel Manual de Usuario Edición de Ofertas Excel Manual de Usuario Alfonso XI, 6 28014 Madrid F(+34) 91 524 03 96 www.omie.es Ref. MU_OfertasExcel.docx Versión 4.0 Fecha: 2012-11-26 ÍNDICE 1 INTRODUCCIÓN 3 2 CONSIDERACIONES DE

Más detalles

Proyecto de Facturación con Filemaker Pro 12

Proyecto de Facturación con Filemaker Pro 12 Proyecto de Facturación con Filemaker Pro 12 Autor: Pere Manel Verdugo Zamora Web: http://www.peremanelv.com/pere3/sitio_web_2/bienvenida.html E- Mail: pereverdugo@gmail.com Autor: Pere Manel Verdugo Zamora

Más detalles

Race Manager by Master Timing Guía del usuario GUIA RACE MANAGER. Eventronic, SL

Race Manager by Master Timing Guía del usuario GUIA RACE MANAGER. Eventronic, SL GUIA RACE MANAGER Eventronic, SL DESCRIPCIÓN DEL PROGRAMA El Race Manager es un programa que se creó para facilitar el trabajo de la dirección de carrera de un evento durante y después de una carrera.

Más detalles

Dominios. Cómo guardar los datos de configuración de mi dominio y el contenido de los servicios asociados

Dominios. Cómo guardar los datos de configuración de mi dominio y el contenido de los servicios asociados Dominios Cómo guardar los datos de configuración de mi dominio y el contenido de los servicios asociados Este manual de servicio es propiedad de Telefónica de España SAU, queda terminante prohibida la

Más detalles

Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian

Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian Guía de Instalación Página 1 Índice ESCUDO MOVISTAR.... 3 1. INSTALACIÓN DEL SERVICIO ESCUDO MOVISTAR... 3 1.1. VERSIONES SOPORTADAS... 3

Más detalles

1. El entorno de desarrollo Eclipse

1. El entorno de desarrollo Eclipse Índice 1. El entorno de desarrollo Eclipse 1 1.1. Qué es Eclipse?........................................................ 1 1.2. Trabajando con Eclipse....................................................

Más detalles

Importa los datos de tu empresa a ClassicGes 6

Importa los datos de tu empresa a ClassicGes 6 Importa los datos de tu empresa a ClassicGes 6 Y trabaja con el programa desde el primer momento El proceso de importación es una operación ágil y transparente para el usuario, que te permite disfrutar

Más detalles

Existen dos formas básicas de publicar una página web, a través de un cliente FTP (Ej. NicoFTP) o a través de FrontPage.

Existen dos formas básicas de publicar una página web, a través de un cliente FTP (Ej. NicoFTP) o a través de FrontPage. Manual básico de su pack de Alojamiento Web 1. Publicar una página web. Publicación web desde FrontPage. Publicación web con un Cliente FTP. (Ej. NicoFTP) 2. Cuentas de correo. Crear una nueva cuenta de

Más detalles

Capítulo 3 Usando GUIDE. 3.1 Acerca de GUIDE

Capítulo 3 Usando GUIDE. 3.1 Acerca de GUIDE Capítulo 3 Usando GUIDE 3.1 Acerca de GUIDE Las interfaces gráficas de usuario (GUI - Graphical User Interface en inglés), es la forma en que el usuario interactúa con el programa o el sistema operativo

Más detalles

MANUAL BÁSICO PARA CLIENTES

MANUAL BÁSICO PARA CLIENTES 2011 MANUAL BÁSICO PARA CLIENTES DEPARTAMENTO TÉCNICO COMENERSOL WIRELESS ÍNDICE Paso 0: Qué hacer cuando internet no funciona....3 Paso 1: Comprobar que la antena está bien conectada..4 Paso 2: Comprobar

Más detalles

MANUAL PARA GESTIÓN DE INCIDENCIAS INFORMÁTICAS

MANUAL PARA GESTIÓN DE INCIDENCIAS INFORMÁTICAS MANUAL PARA GESTIÓN DE INCIDENCIAS INFORMÁTICAS En este manual aprenderemos a introducir un Ticket de Soporte (Incidencia Informática) y ver todo el proceso hasta que se resuelve. Para poder escribir Tickets

Más detalles

Este programa se encuentra en el paquete Microsoft Explorer 5.0 y se instala al mismo tiempo que el navegador Microsoft Explorer.

Este programa se encuentra en el paquete Microsoft Explorer 5.0 y se instala al mismo tiempo que el navegador Microsoft Explorer. Outlook Express Este programa se encuentra en el paquete Microsoft Explorer 5.0 y se instala al mismo tiempo que el navegador Microsoft Explorer. Configuración de cuentas de correo 1. Arrancar el programa

Más detalles

Combinar correspondencia (I)

Combinar correspondencia (I) Combinar correspondencia (I) Mediante la opción Combinar correspondencia Word2007 nos permite incluir en un documento, datos almacenados en otro sitio. De esta forma podremos obtener copias de un mismo

Más detalles

Copias de Seguridad con SQL Server 2005. Realizar una copia de seguridad de Bases de Datos

Copias de Seguridad con SQL Server 2005. Realizar una copia de seguridad de Bases de Datos Propósito Copias de Seguridad con SQL Server 2005 Con Management Studio del SQL 2005 es posible crear copias de seguridad de las bases de Datos definidas en el servidor de SQL Server. Dicha copia de seguridad

Más detalles