Mi segundo Robot


Esta hecho con el sistema de piezas de Makebloc. Lo fácil fue construirlo, lo difícil programarlo.
Esta basado en la placa Arduino Leonardo. Existe también con placa Arduino Uno.









Agenda - 0.1





using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.IO;
namespace Agenda
{
  public partial class MainForm : Form
  {
        // Definimos la estructura persona

    private struct persona
    {
      public string nombre;
      public string teléfono;
    }
        // Definimos la matriz unidimensional agenda 
        // Se finalizara cuando se complete la matriz o se pulse Crtl+Z

    private static int nElementos = 100;
    private persona[] agenda = new persona[nElementos];
    private int i = 0;

    public MainForm()
    {
      
      InitializeComponent();
      
    }
    
    void AñadirClick(object sender, EventArgs e)
    {
      if (i == nElementos) return;
      if (Nombre.Text.Length == 0 ||
          Tfno.Text.Length == 0)
      {
        MessageBox.Show("Datos no correctos");
        return;
      }
      // Añadir el nombre y el teléfono a la matriz

      agenda[i].nombre = Nombre.Text;
      agenda[i].teléfono = Tfno.Text;

      // Añadir el nombre a la lista

      listaNombres.Items.Add(Nombre.Text);
      i++; // índice del siguiente elemento vacío
    }
    
    void OrdenGuardarClick(object sender, EventArgs e)
    {
      BinaryWriter bw = null; // flujo para escribir
      try
      {
        // Crear un flujo de la clase BinaryWriter para
        // escribir en un fichero.
        // Si el fichero existe se destruye.
        bw = new BinaryWriter(new FileStream("agenda.dat",
                                             FileMode.Create, FileAccess.Write));
        i = 0; // índice de para la matriz agenda
        while (agenda[i].nombre != null)
        {
          // Almacenar un nombre y un teléfono
          // (un registro) en el fichero
          bw.Write(agenda[i].nombre);
          bw.Write(agenda[i].teléfono);
          i++;
        }
      }
      finally
      {
        // Cerrar el flujo
        if (! (bw == null)) bw.Close();
      }
    }