[Materiales] Charla “Windows 10 IoT Core y Raspberry Pi”

Aquí dejo los materiales que use en la charla de “Windows 10 IoT y Raspberry Pi” en el Club .NET de Albacete (presentación, ejemplos utilizados en la charla y algunos enlaces de interés).

Continuar leyendo “[Materiales] Charla “Windows 10 IoT Core y Raspberry Pi””

Agregar un disco duro virtual VHD al menú de arranque

Una opción que existe para arrancar un sistema operativo Windows desde un disco duro virtual es añadiendo un disco vhd / vhdx existente (creado en una máquina virtual de Hyper-V, por ejemplo) al menú de arranque.

Continuar leyendo “Agregar un disco duro virtual VHD al menú de arranque”

Instalando Windows en un disco duro virtual (VHD)

Una alternativa a particionar, puede ser la instalación de Windows en un disco duro virtual.

Desde la llegada de Windows 7*, el bootloader incorporado es capaz de arrancar un sistema Windows desde un disco VHD.

Un VHD (disco duro virtual) es un formato de archivo que representa una unidad de disco duro virtual (HDD). Puede contener lo que se encuentra en un disco duro físico, como las particiones de disco y un sistema de archivos, lo que a su vez puede contener archivos y carpetas. Normalmente se utiliza como el disco duro de una máquina virtual.

Continuar leyendo “Instalando Windows en un disco duro virtual (VHD)”

Registro en DreamSpark

DreamSpark es un programa de Microsoft que respalda la educación técnica proporcionando acceso al software de Microsoft para fines de aprendizaje, enseñanza e investigación.

Si eres un estudiante, solo tienes que crear una cuenta, comprobar tu estado de estudiante y descargar software a través de este sitio web, sin coste alguno.

DreamSpark-2_bL_t

Continuar leyendo “Registro en DreamSpark”

Realizando algunas tareas básicas de WP7 desde nuestra APP

En algunos programas, siempre surge la necesidad de que al pulsar un botón se realice una llamada de teléfono, se envíe un email a una dirección predeterminada o a elegir por nosotros, se realice una búsqueda…

Con Windows Phone 7 esto es muy sencillo. Algunas de las tareas que podemos realizar son:

  • Camera Capture Task
  • Email Address Chooser Task
  • Compose an email Task
  • MarketPlace Search Task
  • MarketPlace Hub Task
  • MediaPlayer Launcher
  • Phone Call Task
  • Phone Number Chooser Task
  • Photo Chooser Task
  • Search Task
  • SMS Compose Task
  • WebBrowser Task

Todas ellas pertenecientes al namespace: Microsoft.Phone.Tasks

Yo para este ejemplo voy a usar PhoneCallTask, EmailComposeTask, SmsComposeTask, SearchTask y MarketplaceSearchTask. Para ello, he creado un proyecto de Windows Phone 7 con 5 botones y a cada uno le he asignado su correspondiente evento:

private void btLlamada_Click(object sender, RoutedEventArgs e)

{

    PhoneCallTask task = new PhoneCallTask();

    task.PhoneNumber = "123456789";

    task.DisplayName = "Ejemplo";

    task.Show();

}

private void btEmail_Click(object sender, RoutedEventArgs e)

{

    EmailComposeTask task = new EmailComposeTask();

    task.To = "ejemplo@miguelangelcv.es";

    task.Subject = "Esto es un ejemplo";

    task.Body = "Cuerpo del mensaje ... ";

    task.Show();

}

private void btSMS_Click(object sender, RoutedEventArgs e)

{

    SmsComposeTask task = new SmsComposeTask();

    task.To = "123456789";

    task.Body = "Hola! :)";

    task.Show();

}

private void btBuscar_Click(object sender, RoutedEventArgs e)

{

    SearchTask task = new SearchTask();

    task.SearchQuery = "Albacete";

    task.Show();

}

private void btMarketPlace_Click(object sender, RoutedEventArgs e)

{

    MarketplaceSearchTask task = new MarketplaceSearchTask();

    task.ContentType = MarketplaceContentType.Applications;

    task.SearchTerms = "Bye Bye Brain";

    task.Show();

}

Si queréis ver como utilizar otras “task”, aquí os dejo el enlace a un post en el que utilizan muchas de ellas:

Task System in Windows Phone 7

Windows Forms: Creando nuestra primera aplicación

Para empezar a trabajar, necesitamos tener instalado Visual C# Express 2010. Esta versión es totalmente gratuita y podéis encontrarla aquí. La instalación es muy sencilla pero una vez que se ha instalado debemos registrarlo, ya que si no lo hacemos, a los 30 días dejará de funcionar.

Para registrarlo es muy sencillo, abrimos Visual C# Express y hacemos clic en el menú “Help” y después a “Register Product”. A continuación nos saldra una ventana como la siguiente



Aquí debemos hacer clic en “Obtain a registration key online” y rellenar un formulario. Una vez rellenado dicho formulario, recibiremos en nuestro correo electrónico la clave de registro que hay que introducir en esta ventana.

Una vez hecho todo esto, ya tendremos Visual C# Express 2010 listo para trabajar.

Ahora que está todo listo, vamos a crear el proyecto en el que desarrollaremos nuestra primera aplicación. Para ello, hacemos clic en el menú “File” y en “New Proyect”.  En la ventana que nos aparecerá a continuación, debemos elegir “Windows Forms Application” e introducir el nombre de dicho proyecto en la parte inferior (yo lo llamaré “HolaMundo”).

Ya con el proyecto creado nos encontraremos con una nueva pantalla en la que distinguimos tres zonas. En la zona central, nos aparecerá una ventana donde agregaremos los componentes y escribiremos el código de nuestra aplicación. En la parte izquierda nos encontraremos con la caja de herramientas que contiene todos los controles que podemos usar. Y por último, en la parte derecha nos encontraremos con el explorador de archivos en la parte superior y la ventana de propiedades en la parte inferior. Si alguno de estas cajas no os aparece, debéis ir al menú “View” -> “Other Windows” y comprobar que tenéis seleccionadas “Properties Window”, “Solution Explorer” y “Toolbox”

Una vez terminado la pequeña introducción a Visual C# Express 2010, vamos a crear nuestra primera aplicación. Va a ser algo sencillo: Un botón que muestre una nueva ventana con un mensaje. Para ello en caja de herramientas buscamos el control “Button” (Botón) al formulario que tenemos en la parte central y una vez situado, le hacemos doble clic. Ahora nos llevara al editor en el cual nos habrá aparecido un nuevo método llamado “button1_Click”, que sera llamado cuando hagamos clic en el boton. Por último añadimos:

MessageBox.Show(“Hola Mundo!”);

Con esto lo que hacemos es que cada vez que hagamos clic sobre el botón, nos saldrá una nueva ventana con el texto “Hola Mundo!”

Así es como os debe quedar el código:


También podéis cambiar el texto del botón haciendo clic sobre el botón y buscando la propiedad “Text” en la ventana de propiedades que esta situada abajo a la izquierda. Lo mismo si queréis cambiar el nombre a la ventana, seleccionáis la ventana en el editor y buscáis la propiedad “Text”. Ahí podéis poner “Mi primera aplicación” en vez de “Form1″

Espero que para los que estáis empezando os sirva de ayuda 🙂

Código fuente

Webcasts de Interés (Septiembre 2010)

Aquí os dejo algunos WebCast para este mes de Septiembre. Si surge algún otro, estad atentos ya que actualizare el Post 😉

Algoritmos de ordenación

Repasando algunos apuntes que tenía, me he encontrado con algunas cosas que no estaría mal recordar. Una de ellas son los algoritmos de ordenación.

En este post voy a explicar 3 algoritmos: ordenación por el método de la burbuja, ordenación por el método de inserción y ordenación por el método quicksort.

  • Método de la burbuja (Bubble sort)

El método de la burbuja consiste en comparar el primer elemento con el segundo, el segundo con el tercero, … , hasta que en una de las comparaciones ocurra que el primer elemento a comparar es mayor que el siguiente. En tal caso, se intercambian los valores y se sigue con la comparación. Al llegar a la última comparación, se vuelve a empezar.  Este proceso se repite hasta que no se produzca ningún intercambio, o en el peor de los casos, hasta “n –1” vueltas (siendo n el número de elementos a comparar).

Ejemplo:

burbujaCódigo:

Archivo MetodoBurbuja.cs

  • Método de inserción (Insertion sort)

Este método consiste en insertar un elemento en la posición correspondiente con respecto a otros dos previamente ya ordenados.

Ejemplo: insertion Código:

Archivo MetodoInsercion.cs

  • Método Quicksort

El algoritmo basado en el método quicksort es el más eficiente de todos. Consiste en elegir un elemento al que llamaremos “pivot”, sobre el cual se van ordenando el resto de los elementos. Si es menor a la izquierda y si es mayor a la derecha. Una vez terminado el primer ciclo, se envían las listas izquierda y derecha de elementos situadas entre “pivot”. Este proceso se repite hasta que las listas enviadas sean de 1 solo elemento.

Ejemplo:

Código:

Archivo MetodoQuicksort.cs

   1:              for (int i = 1; i <= vector.Length; i++)
   2:              {
   3:                  cambio = false;
   4:                  for (int j = 0; j < vector.Length - i; j++)
   5:                  {
   6:                      if (vector[j] >= vector[j + 1])
   7:                      {
   8:                          temp = vector[j + 1];
   9:                          vector[j + 1] = vector[j];
  10:                          vector[j] = temp;
  11:                          cambio = true;
  12:                      }
  13:                  }
  14:                  if (cambio == false) break;
  15:              }