• Miércoles 24 de Abril de 2024, 04:41

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Meta

Páginas: 1 [2] 3 4
26
C# / Faltan opciones del 2010 frente al 2008 Express
« en: Sábado 5 de Diciembre de 2009, 12:49 »
Faltan opciones del 2010 frente al 2008 Express

¿Cómo andan?

La verdad que probando la beta 2 del Visual C# 2010 Express veo que le han quitado cosas en el menú ver (view), por ejemplos "Ver-->Orden de tabulación" y otras cosas que usaba mucho en la versión 2008 Express.

¿Lo han capado o sólo porque es una beta 2? Espero que lo incluyan en la versión final, estas cosas las uso mucho.


En Visual 2010 han quitado muchas cosas. No encuentro orden de tabular ni esquemas de documentos. Espero que si alguein sabe si al final lo pondrán, en caso contrario menuda decepción, van de adelanta hacia atrás.









Si saben algo me avisan que ahora estoy decepcionado y preocupado si no lo mejoran.

Saludos.

27
C# / Varios modos de poner contraseñas
« en: Lunes 16 de Noviembre de 2009, 18:24 »
Hola:

Ahora aprovecho usar el Visual C# Express 2010 beta 2 para hacer pruebas de todo tipo, entre ellas aprender.

Se trata de introducir en el formulario Form1, un button1 y un textbox1. En el lograr que al introducir la contraseña correcta muestra un mensaje contraseña CORRECTA o INCORRECTA.

Por ahora solo he hecho esto y funciona:

Código
Citar
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace Contraseña01
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "1234")
            {
                MessageBox.Show("Contraseña CORRECTA", "Aviso:");
            }
            else
            {
                MessageBox.Show("Contraseña INCORRECTA", "Aviso:");
            }
        }
    }
}



Está claro si uno se para a pensar que la contraseña guardada no está guardada realmente, sino dentro del programa ya compilado (que hay métodos para descompilar y todo). Lo ideal es crear una forma que se pueda guardar la contraseña en algún lado (por ahora sin encriptar) para recuperarla y compararla.

Se que hay varios tipos de formas de guardar, de .txt, xml y demás. Me gustaría saber cual es la mejor forma. Más adelante ya nos meteremos formas de encriptarla.



Sólo necesito ayuda de cómo hacer y cuál es el método recomendable para guardar la contraseña y que la pueda cambiar.

Saludo.

28
MySQL / Los Triggers
« en: Jueves 9 de Julio de 2009, 13:10 »
Hola:

Estoy aprendiendo los trigger, la verdad me cuesta manejarlo.

He creado una base de datos llamado prueba01. Y dos tablas llamada dispositivos y datos.

Sospecho que tengo mal diseñado la tabla datos para que el trigger se pueda cumplir y necesito ayuda.

dispositivos


datos


Los códigos de creación de la tabla dispisitivos es:
Código: Text
  1.  
  2. --
  3. -- Base de datos: `prueba01`
  4. --
  5.  
  6. -- --------------------------------------------------------
  7.  
  8. --
  9. -- Estructura de tabla para la tabla `dispositivos`
  10. --
  11.  
  12. CREATE TABLE IF NOT EXISTS `dispositivos` (
  13.   `ID` int(11) NOT NULL,
  14.   `nombre` varchar(30) NOT NULL,
  15.   `estado` tinyint(3) unsigned NOT NULL DEFAULT '0',
  16.   `descripcion` varchar(200) NOT NULL,
  17.   PRIMARY KEY (`ID`),
  18.   FULLTEXT KEY `nombre` (`nombre`)
  19. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
  20.  
  21. --
  22. -- Volcar la base de datos para la tabla `dispositivos`
  23. --
  24.  
  25. INSERT INTO `dispositivos` (`ID`, `nombre`, `estado`, `descripcion`) VALUES
  26. (1, 'RELE 1', 0, 'Motor 1'),
  27. (2, 'RELE 2', 0, 'Motor 2'),
  28. (3, 'RELE 3', 0, 'Alarma'),
  29. (4, 'RELE 4', 0, 'WebCam');
  30.  
  31.  
  32.  

Tabla datos es:
Código: Text
  1.  
  2. --
  3. -- Base de datos: `prueba01`
  4. --
  5.  
  6. -- --------------------------------------------------------
  7.  
  8. --
  9. -- Estructura de tabla para la tabla `datos`
  10. --
  11.  
  12. CREATE TABLE IF NOT EXISTS `datos` (
  13.   `ID` int(11) NOT NULL AUTO_INCREMENT,
  14.   `RELE_1` tinyint(4) NOT NULL,
  15.   `RELE_2` tinyint(4) NOT NULL,
  16.   `RELE_3` tinyint(4) NOT NULL,
  17.   `RELE_4` tinyint(4) NOT NULL,
  18.   `FECHA_HORA` datetime NOT NULL,
  19.   PRIMARY KEY (`ID`)
  20. ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci AUTO_INCREMENT=13 ;
  21.  
  22. --
  23. -- Volcar la base de datos para la tabla `datos`
  24. --
  25.  
  26. INSERT INTO `datos` (`ID`, `RELE_1`, `RELE_2`, `RELE_3`, `RELE_4`, `FECHA_HORA`) VALUES
  27. (1, 0, 0, 0, 0, '2009-07-09 11:17:34'),
  28. (2, 1, 0, 0, 0, '2009-07-09 11:17:35'),
  29. (3, 0, 0, 0, 0, '2009-07-09 11:17:36'),
  30. (4, 1, 0, 0, 0, '2009-07-09 11:17:36'),
  31. (5, 0, 0, 0, 0, '2009-07-09 11:17:37'),
  32. (6, 1, 0, 0, 0, '2009-07-09 11:17:37'),
  33. (7, 1, 1, 0, 0, '2009-07-09 11:17:37'),
  34. (8, 1, 1, 1, 0, '2009-07-09 11:17:38'),
  35. (9, 1, 1, 1, 1, '2009-07-09 11:17:38'),
  36. (10, 1, 1, 1, 0, '2009-07-09 11:17:39'),
  37. (11, 1, 1, 0, 0, '2009-07-09 11:17:39'),
  38. (12, 1, 0, 0, 0, '2009-07-09 11:17:39');
  39.  
  40.  
  41.  


Sigo sospechando que hay que hacer diseñar mejor la tabla datos para que el trigger funcione. ¿En qué consiste estas tablas?

Consiste en que la tabla dispositivos se altera cualquier dato en el campo estado, se la tabla datos como auditoría o minotore o logs.

Si modifico a uno el ID=1 del campo estado a 1 que antes estaba a 0.

Se cambia a 1 como muestra en la siguiente imagen.


Desde ahí tiene que activarse el supuesto triggers que no se como se hace. El resultado es que el campo RELE_1 se activa a 1 como ocurrió en la tabla dispositivos.



Siguiendo con el ejemplo. Vamos a modificar el ID=3 del campo estado de la tabla dispositivos a 1. Quedaría como muestra abajo.



Ya que el supuesto trigger ha detectado un cambio en cualquier campo de RELE_1 al RELE_4, pues actualiza una nueva ID en la tabla datos que ahora se llama ID=2 y queda como muestra en la imagen siguiente.



Así seguirá la tabla datos creciendo mientras el trigger detecte cualquier modificación de la tabla dispositivos en el campo estado.

Espero haber explicado bien el tema. Que consiste en hacer un triggers ser capaz de lo que pido porque no se hacerlo. Cualquier duda que no entienda me avisa para explicarlo lo mejor posible para que lo entiendan.

Un cordial saludo.

29
PHP / Presento manual Servidor Web con Apache, PHP, MySQL
« en: Jueves 18 de Junio de 2009, 10:57 »
Hola:

Presento manual de cómo montar un servidor Web casero para hacer pruebas bajo Apache, PHP, MySQL, foro phpBB, Web prefabricada Joomla, Blog Wordpress, SMTP para enviar e-mail, comunicación Base de datos con Visual C#, etc. Puedes descargarlo en PDF.

DESCARGAR

Más manuales en:
http://electronica-pic.blogspot.com


Un cordial saludo.

30
PHP / Leer y escribir datos boleanos con PHP y MySQL
« en: Domingo 14 de Junio de 2009, 07:41 »
Hola:

Instalé MySQL 5.1.34 de Windows y creé una base de datos y su tabla con phpMyAdmin.



Código: Text
  1. CREATE TABLE `tabla01` (
  2.   `RELE_1` tinyint(1) DEFAULT NULL,
  3.   `RELE_2` tinyint(1) DEFAULT NULL,
  4.   `RELE_3` tinyint(1) DEFAULT NULL,
  5.   `RELE_4` tinyint(1) DEFAULT NULL
  6. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  7.  

Una vez creado la tabla de arriba, quiero diseñar una página web sólo básica para comprobar su funcionamiento bajo PHP 5.

Consiste en la página principal llamado inde.php que te aparezca insertar Nombre y contraseña, una vez introducido accede a MySQL mientras llega otra página llamada nombre01.php si ha tenido éxito, si ha dado error en la conexión o otro motivo que vaya a otra página llamada error.php diciendo que se ha producido un error.

Una vez dentro satisfactoriamente, la página nombre01.php debe haber algo que se le parezca a esto:


Ya que está leyendo por cada segundo la página para actualizar y ver que hay en la base de datos.

En la misma página, más abajo, poner 4 bonotes que sus nombres son RELE_1_ON, RELE_2_ON hasta el 4. Otros 4 botones algo más abajo igual pero en OFF.

Un ejemplo hecho que hice en Word pero debe ser en php claro. :)


Ya con la imagen ayuda más que las palabras, desde que pulse cualquier botón de control, acceda a la base de datos que está en otro lugar de Internet, con esto modifica la base de datos al mismo tiempo lo lee para que muestre los datos actuales. Me imagino que debe refrezcarse la web por cada 5 segundos para que se vea actualizado o con un botón.

Espero que se entienda lo que quiero expresar, en resusmen, saber el código php5 para aprender hacer esto.

Un cordial saludo.

31
Aplicaciones Web Pre-Fabricadas / instalar blog wordpress
« en: Martes 9 de Junio de 2009, 08:49 »
Hola:

Me gustaría saber todo sobre instalar el blog wordpress, saber su web oficial que me imagino que será en inglés y si hay alguna en espanish como ocurre con Joomla.

Hice un manual sobre montar un servidor casero con Apache, PHP, MySQL, etc bajo Windows, (En el futuro será con Linux).

DESCARGAR PDF.

Espero que me den información posible de lo que pido para incluirlo.

Un cordial saludo.

32
C# / Cliente -Servidor.
« en: Domingo 22 de Marzo de 2009, 09:13 »
Hola:

Tengo hecho algo de Cliente-Servidor muy básico. Me gustaría saber que si el PC1 se conecta al PC2, envía al PC1 un mensaje que advierta si su conexión ha sido un éxito y que se mantenga en línea como el messenger. Cuando PC1 cierra la conexión mediante un buttón o botón, el PC2 muestra un mensaje indicando su conexión.

NOTA: Los botones de Control,por ahora no hablamos de ellos y aún no es funcional.

DESCARGAR


PC1-Cliente:
Código: Text
  1.  
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Windows.Forms;
  10. using System.IO;
  11. using System.Net;
  12. using System.Net.Sockets;
  13.  
  14. namespace PC1_Cliente
  15. {
  16.     public partial class Form_principal : Form
  17.     {
  18.         public Form_principal()
  19.         {
  20.             InitializeComponent();
  21.         }
  22.  
  23.         private void button_Conectar_Click(object sender, EventArgs e)
  24.         {
  25.             UdpClient udpClient = new UdpClient();
  26.             udpClient.Connect(textBox1.Text, 8888);
  27.             Byte[] sendBytes = Encoding.ASCII.GetBytes(textBox2.Text);
  28.             udpClient.Send(sendBytes, sendBytes.Length);
  29.         }
  30.     }
  31. }
  32.  
  33.  

PC2-Servidor:
Código: Text
  1.  
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Windows.Forms;
  10. using System.IO;
  11. using System.IO.Ports;
  12. using System.Net;
  13. using System.Net.Sockets;
  14. using System.Threading;
  15.  
  16. namespace PC2_Servidor
  17. {
  18.     public partial class Form1 : Form
  19.     {
  20.         public Form1()
  21.         {
  22.             InitializeComponent();
  23.             if (!serialPort1.IsOpen)
  24.             {
  25.                 try
  26.                 {
  27.                     serialPort1.Open();
  28.                 }
  29.                 catch (System.Exception ex)
  30.                 {
  31.                     MessageBox.Show(ex.ToString());
  32.                 }
  33.             }
  34.         }
  35.         public void serverThread()
  36.         {
  37.         UdpClient udpClient = new UdpClient(8888);
  38.         while(true)
  39.         {
  40.         IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
  41.         Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint);
  42.         string returnData = Encoding.ASCII.GetString(receiveBytes);
  43.         lbConnections.Items.Add(RemoteIpEndPoint.Address.ToString() + ":" + returnData.ToString() );
  44.         }
  45.         }
  46.         private void Form1_Load(object sender, EventArgs e)
  47.         {
  48.             Thread thdUDPServer = new Thread(new
  49.             ThreadStart(serverThread));
  50.             thdUDPServer.Start();
  51.         }
  52.     }
  53. }
  54.  
  55.  

Un cordial saludo.

33
VB .NET / Manual Puerto serie con PIC16F84A bajo VC++ y VB
« en: Miércoles 11 de Marzo de 2009, 17:24 »
Manual Puerto serie con PIC16F84A bajo Visual C++ y Visual Basic

Presento este manual en PDF para el manejo del puerto serie mediante el microcontrolador PIC16F84A bajo Visual C++ y Visual Basic.

http://www.abcdatos.com/tutoriales/tutorial/v12.html

Un cordial saludo.

34
ASP .NET / Visual Web Developer
« en: Domingo 8 de Marzo de 2009, 15:02 »
Hola:

He hecho manuales en PDF sobre el puerto serie sobre Visual C#, Visual C++ y Visual Basic con el serialPort.

Me gustaría saber si en el Visual Web Developer tiene el componente serialPort para poder manejar el puerto serie mediante vía web ya que puedo usar el C# para programarlo.

Descarga Visual Web Developer Español

Un cordial saludo.

35
C# / Iniciar un Loader
« en: Martes 23 de Diciembre de 2008, 04:25 »
Hola:

En Visual C# quiero hacer un pequeño Loader que se carga en el inicio de Windows. Es un formulario Form1 normal y corriente con sólo 4 botones. Este Loader (Cargador) lo que hace es al ser ejecutado, verse una ventana con 4 botones. Debe ser capaz de iniciarse el Loader desde que arranque Windows. Se que hay que poner los parámetros desde el editor de registro regedit.

Mi PC-->HKEY_CURRENT_USER-->Software-->Microsoft-->Wondows-->CurrentVersion-->Run

Me gustaría que al ejecutar el Loader.exe por primera vez, haya una opción que grabe las entradas en el regedit necesarias del Windows para que a la próxima vez que inicie windows se carge el Loader.exe.

Por ahora necesito eso, según vamos avansando y logre este objetivo, seguimos con más cosas. Para que entiendan lo que me refiero, pongo este vídeo. EL Loader.exe sólo se ve en el principio del vídeo.
http://es.youtube.com/watch?v=tcpFkmXqojE
[youtube]http://es.youtube.com/watch?v=tcpFkmXqojE[/youtube]

Un cordial saludo.

36
Hardware / Actualizar la BIOS
« en: Lunes 22 de Diciembre de 2008, 11:59 »
Hola:

Tengo un Pentium IV 2600MHz, 768 MB de RAM. Me gustaría actualizar la BIOS cosa que nunca ha sido actualizada desde que salió. Me da pánico actualizarla y que ya no me funcione más. Hay web por ahí que te explica todo ya muy viejas y como que no es igual.

Me gustaría una ayudita. La información que le puedo dar es esta en fotos.











Quiero sacar toda información para saber la BIOS correcta y no cometer ningún error y saber si hay versión nueva de BIOS. El motivo que quiero actualizar es que tenga el arranque por USB para poner un pendriver. Quizás me venga ya incluido en  la nueva BIOS y si no, da igual, al menos actualizarla.

Un cordial saludo.

37
VB .NET / Pasar de VC# a VB
« en: Lunes 22 de Diciembre de 2008, 05:36 »
Hola:

Hace tiempo hice un manual sobre Visual C# con PIC 16F84A, de tanta demanda estoy con ganas de pasarlo a Visual Basic 2008 Express. No se nada de este lenguaje y me gustaría colaboración de convertir el código que ya tengo hecho de VC# a VB .net.

El manual es este de abajo, pero quiero hacerlo en un PDF a parte.
http://electronicapic.iespana.es/manual/picrs232.pdf

Puedes descargar el código fuente completo de Visual C# para que lo vean y si pueden pasarlo a Visual Basic 2008.
http://www.pic16f84a.org/index.php?opti ... &Itemid=59
Contraseña: D.P.E.

El que quiera colaborar y aparecer su e-mail, web o demás información para ponerlo al final del manual. Me envías el archivo ya con el código fuente completo en Visual Basic 2008 Express y sus comentarios explicado en las líneas de código al e-mail metacontaARROBAgmail.com

Un cordial saludo.

38
VB .NET / Pasar de VB6 a C# y/o VB .net
« en: Martes 9 de Diciembre de 2008, 22:17 »
Hola:

Quiero cambiar el código de VB6 a C# y/o VB .net en esta web pero me da error porque solo acepta VB .net
http://www.developerfusion.com/tools/co ... arp-to-vb/

El código que deseo cambiar de VB6 a C# es este de aquí abajo.

Código: Text
  1. Private Sub conectar_Click()
  2. 'comprueva que el puerto este cerrado para poder abrirlo
  3. If MSComm1.PortOpen = False Then
  4. 'determina el puerto que hemos seleccionado.
  5. If COM_sel.ListIndex = 0 Then
  6. MSComm1.CommPort = 1
  7. End If
  8. If COM_sel.ListIndex = 1 Then
  9. MSComm1.CommPort = 2
  10. End If
  11. If COM_sel.ListIndex = 2 Then
  12. MSComm1.CommPort = 3
  13. End If
  14. If COM_sel.ListIndex = 3 Then
  15. MSComm1.CommPort = 4
  16. End If
  17. If COM_sel.ListIndex = 4 Then
  18. MSComm1.CommPort = 5
  19. End If
  20. If COM_sel.ListIndex = 5 Then
  21. MSComm1.CommPort = 6
  22. End If
  23. If COM_sel.ListIndex = 6 Then
  24. MSComm1.CommPort = 7
  25. End If
  26. If COM_sel.ListIndex = 7 Then
  27. MSComm1.CommPort = 8
  28. End If
  29. If COM_sel.ListIndex = 8 Then
  30. MSComm1.CommPort = 9
  31. End If
  32. If COM_sel.ListIndex = 9 Then
  33. MSComm1.CommPort = 10
  34. End If
  35. If COM_sel.ListIndex = 10 Then
  36. MSComm1.CommPort = 11
  37. End If
  38. End If
  39.  
  40. MSComm1.OutBufferSize = 1 'tamaño del dato a transmitir.
  41. MSComm1.InBufferSize = 23
  42. MSComm1.InputMode = comInputModeText 'los datos se recuperan en modo texto.
  43. MSComm1.InputLen = 23 ' BUFFER DE ENTRADA SE PUEDE DEJAR AL MAXIMO.
  44. MSComm1.PortOpen = True
  45. MSComm1.RThreshold = 23 'son 23 caracteres.
  46. End Sub
  47.  
  48. Private Sub Form_Load()
  49. COM_sel.AddItem "COM1"
  50. COM_sel.AddItem "COM2"
  51. COM_sel.AddItem "COM3"
  52. COM_sel.AddItem "COM4"
  53. COM_sel.AddItem "COM5"
  54. COM_sel.AddItem "COM6"
  55. COM_sel.AddItem "COM7"
  56. COM_sel.AddItem "COM8"
  57. COM_sel.AddItem "COM9"
  58. COM_sel.AddItem "COM10"
  59. COM_sel.AddItem "COM11"
  60. COM_Sel.ListIndex = 0
  61. End Sub
  62.  
  63. Private Sub MSComm1_OnComm()
  64. Dim InBuff As String
  65. Select Case MSComm1.CommEvent
  66. Case comEvReceive
  67. InBuff = MSComm1.Input
  68. Debug.Print InBuff
  69. Texto.Text = ""
  70. Texto.Text = Left$(InBuff, 23) ' se recorta los caracteres basura
  71. MSComm1.PortOpen = False 'cierra el puerto y vacia el buffer
  72. End Select
  73. End Sub
  74.  
  75.  

Saludo.

39
C# / Pasar código de Visual a MonoDevelop
« en: Martes 9 de Diciembre de 2008, 00:35 »
Hola:

Hice un manual para del puerto serie controlado con Visual C# .net Express 2008. Al menos hay códigos que deseo pasarlo a Linux con MonoDevelop GTK# (C#).

El manual es este:
Ver manual

El código fuente al que deseo pasar a Linux es este (de la página 162 del manual):
Descargar FUENTE 1

Contraseña = D.P.E.

Si no pueden descargarlo, me avisan.

Necesito colaboradores para ampliar el manual. Por otra parte estoy pasándolo con Visual Basic y Visual C++ 2008.

Ver vídeo:
http://www.youtube.com/watch?v=niWAbQ-HVnY

Quiero que los usuarios de Windows, también entren a Linux y vean sus mismas posibilidades.

Un cordial saludo.

EDITO:

El código de Visual C# es este y quiero pasarlo a GTK# de MonoDevelop.
Código: Text
  1.  
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Windows.Forms;
  10. using System.IO.Ports;
  11.  
  12. namespace PicRS232
  13. {
  14.     public partial class Form1_Principal : Form
  15.     {
  16.         public Form1_Principal()
  17.         {
  18.             InitializeComponent();
  19.             // Abrir puerto mientra se ejecute la aplicación
  20.             if (!serialPort1.IsOpen)
  21.             {
  22.                 try
  23.                 {
  24.                     serialPort1.Open();
  25.                 }
  26.                 catch (System.Exception ex)
  27.                 {
  28.                     MessageBox.Show(ex.ToString());
  29.                 }
  30.             }
  31.         }
  32.  
  33.         private void button_t_Click(object sender, EventArgs e)
  34.         {
  35.             byte[] mBuffer = new byte[1];
  36.             mBuffer[0] = 0x74; //ASCII letra "t".
  37.             serialPort1.Write(mBuffer, 0, mBuffer.Length);
  38.         }
  39.  
  40.         private void button_b_Click(object sender, EventArgs e)
  41.         {
  42.             byte[] miBuffer = new byte[1];
  43.             miBuffer[0] = 0x62; //ASCII letra "b".
  44.             serialPort1.Write(miBuffer, 0, miBuffer.Length);
  45.         }
  46.  
  47.         private void button_a_Click(object sender, EventArgs e)
  48.         {
  49.             byte[] mBuffer = new byte[1];
  50.             mBuffer[0] = 0x61; //ASCII letra "a".
  51.             serialPort1.Write(mBuffer, 0, mBuffer.Length);
  52.         }
  53.  
  54.         private void button_l_Click(object sender, EventArgs e)
  55.         {
  56.             byte[] mBuffer = new byte[1];
  57.             mBuffer[0] = 0x6C; //ASCII letra "l".
  58.             serialPort1.Write(mBuffer, 0, mBuffer.Length);
  59.         }
  60.  
  61.         private void button_Espacio_Click(object sender, EventArgs e)
  62.         {
  63.             byte[] mBuffer = new byte[1];
  64.             mBuffer[0] = 0x20; //ASCII letra "Espacio".
  65.             serialPort1.Write(mBuffer, 0, mBuffer.Length);
  66.         }
  67.     }
  68. }
  69.  
  70.  

Dejo claro que el Visual C# uso un componente llamado serialPort1 en el que MonoDevelop no incluye. Ese es el problema que tengo. En Visual C# su configuración del componente serialPort1 está en la página 143 de este MANUAL.

Saludo.

40
C# / Configuración serialPort en C#
« en: Domingo 7 de Diciembre de 2008, 05:31 »
Hola:

Estoy trabajando con MonoDevelop en openSUSE 11.0 y me gustaría saber si esto está bien configurado así, ya que me da error.

Código: Text
  1. serialPort1 = new SerialPort("/dev/ttyS0",9600, Parity.None, 8, StopBits.Two);
  2.  

Un cordial saludo.

41
C# / Técnicas de protección de tu aplicación
« en: Sábado 6 de Diciembre de 2008, 14:38 »
Hola:

En clase el profesor, hoy nos explicó que cuando hacía programas en sus tiempos libres para empresas sobre base de datos, etc. Al proncipio le pagaba algo de dinero, con el tiempo le pagaba el resto.

¿Qué pasó con esa empresa bebidas refrescantes?

Que pasaron 8 meses y no pagaba hasta que el programa dejó de funcionar, se abrió otra ventana y soltaba un mensaje que llamara el administrador.

La empresa llamó al creador del programa por el teléfono y él respondió que no ha pagado el resto. La emrpesa responde que no tiene dinero y en estos momentos hay pérdidas porque el programa no funciona.

El profesor responde que tiene que pagar, va hacia allí y lo activa.

¿Qué técnica usó?

Que el programa principal tiene un contador de fecha hasta 8 meses con el reloj del sistema. Se detiene el programa y ejecuta un .exe en que sale un mensaje de aviso que no funciona hasta que pague y llame el adm. Ese .exe lo tiene oculto.

¿Qué técnicas usarías?

La mia sería algo parecido pero llamado con otra extención, por ejemplo, aviso.dll. En realidad es un exe pero lo llamo así para que no lo descubran. Cuando se ejecute la acción del fin de tiempo, busca esa dll y cambia de extensión y lo mmalo aviso.exe, luego lo ejecuta y aparece ese mensaje de aviso.


Saludo.

42
C# / Manual Puerto serie RS232 Con PIC16F84A controlado por Visua
« en: Jueves 4 de Diciembre de 2008, 23:39 »
Hola:

En primer lugar pido perdón si esto no va  aquí.

Presento Manual Puerto serie RS232 Con PIC16F84A controlado por Visual C# en el que podrás aprender a controlar un PIC mediante una Interfaz en el PC bajo Visual C# .net.

Aún así, por falta de tiempo no he acabado la parte de MonoDevelop en Linux cosa que haré en el futuro ya en el 2009. Que sepan que también continuaré solo las primeras 200 páginas con Visual Basic .net (depende de la demanda lo haré también con Visual Basic 6) y Visual C++ otras 200.

Por ahora no he encontrado un lugar donde poder descargarlo directamente en PDF.

Ver Manual

Si estás registrado, hay una opción para bajarlo en PDF.

Ver vídeo:
[youtube:1vt6a4u6]http://www.youtube.com/watch?v=niWAbQ-HVnY[/youtube:1vt6a4u6]

Espero cualquier opinión, duda, preguntas sobre errores que puedan encontrar y mejoras del manual.

Un cordial saludo.

43
C# / Inicio del logo
« en: Sábado 22 de Noviembre de 2008, 19:48 »
Hola de nuevo.

He logrado algo. Creé un nuevo Form y lo llamé Logo.cs, cambié en Program.cs lo marcado en rojo abajo para que me arranque primero este logo.


Código: Text
  1.  
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Windows.Forms;
  6.  
  7. namespace ControlPic
  8. {
  9.     static class Program
  10.     {
  11.         /// <summary>
  12.         /// Punto de entrada principal para la aplicación.
  13.         /// </summary>
  14.         [STAThread]
  15.         static void Main()
  16.         {
  17.             Application.EnableVisualStyles();
  18.             Application.SetCompatibleTextRenderingDefault(false);
  19.             Application.Run(new Logo());
  20.         }
  21.     }
  22. }
  23.  

Dentro del logo.cs, puse un timer. y en él puse este nuevo código para ejecutar el programa principal que se llama Form1.cs. En lo marcado en azul parece ignorarlo. He logrado que aparezca el Logo 1 segundo o 1000 silisegundo y por fin aparece la segunda ventana principal del programa, pero hay un problema, que siempre se pone a aparecer la misma ventana en cada segundo, cuando debería sólo aparecer una sóla vez y al mismo tiempo desaparecer la ventana del logo que tampoco se como se hace.

Código: Text
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9.  
  10. namespace ControlPic
  11. {
  12.     public partial class Logo : Form
  13.     {
  14.         public Logo()
  15.         {
  16.             InitializeComponent();
  17.         }
  18.  
  19.         private void timer_inicio_Tick(object sender, EventArgs e)
  20.         {
  21.             timer_inicio.Enabled = true;
  22.             Form f = new Form1();
  23.             f.ShowDialog();
  24.             timer_inicio.Enabled = false;
  25.         }
  26.     }
  27. }
  28.  
  29.  

Saludo.

44
C# / El icono notifyIcon
« en: Sábado 8 de Noviembre de 2008, 10:49 »
Hola:



        private void Form1_Load(object sender, EventArgs e)
        {
            notifyIcon1.Visible = true;
            ShowInTaskbar = false;
        }

        private void Form1_SizeChanged(object sender, EventArgs e)
        {
            if (WindowState == FormWindowState.Minimized)
            {
                notifyIcon1.Visible = true;
               //Justo aquí abajo cada vez que minimizo aparece este mensaje.
                //¿Hay una manera que sólo se muestre la priemra vez?

                notifyIcon1.ShowBalloonTip(3000, "Prueba", "Puede acceder a la aplicación desde este icono", ToolTipIcon.Info);
                Hide();
            }
            else
            {
                Show();
            }
        }

        private void notifyIcon1_DoubleClick(object sender, EventArgs e)
        {
            if (WindowState == FormWindowState.Minimized)
            {
                Show();
                WindowState = FormWindowState.Normal;
            }
            // ¿Esto para qué es? No noto ningún cambio.
            Activate();
            Focus();



Saludos.

45
C# / Recibir datos del puerto serie en bytes.
« en: Lunes 27 de Octubre de 2008, 22:03 »
Hola:

En este enlace del mismo foro http://forums.microsoft.com/MSDN-ES/Sho ... &SiteID=11
Puedo enviar datos de un byte al puerto serie de esta manera:

Este código dentro de un Button

byte[] miBuffer = new byte[1];

            miBuffer[0] = 0x74; // Letra "t" del ASCII.

            this.serialPort1.Write(miBuffer, 0, miBuffer.Length);


Me gustaría recibir un byte, pero no se como se hace.
Por ejemplo:
Tengo 8 Button o botones en el formulario o Form1 para enviar datos de un bytes como muestra el código de ahí arriba. Otros 8 Button de sólo lectura, es decir, que sólo detecta activado o desactivado, 1 ó 0, True o False. Si recibe un bytes para un button, que lo reconozca.

Creo que con un if else me basta.

Un cordial saludo.

EDIT:
Tal vez no me expresé bien.

¿Cómo se recibe un byte al puerto serie serialPort1?

Por ejemplo:
Un 0x61 en haxadecimal en ASCII es la letra a. Desde que reciba el 0x61 al puerto serie del ordenador o PC que el botón que se muestra en la imagen de abajo, se lea un 1 o un 0. En este caso un 1.

0x61 = 1 // button1.Text = "1";
0x60 = 0 //button1.Text = "0";




Si recibe un 0x61 se ejecuta la instrucción // button1.Text = "1";
Si recibe un 0x60 se ejecuta l aotra instrucción // button1.Text = "0";

Esto solo es para saber el estado.

46
C# / Botón prefedinido
« en: Lunes 27 de Octubre de 2008, 14:35 »
Hola:

Tengo varios botones en el Form1 y da la casualidad de que el primero al pulsar Enter es el que se ejecuta y se ve señalado. ¿Hay un método de que al ejecutar la aplicación se señale el botón que yo quiera al pulsar Enter?

Saludo.

47
C# / Hacer un cuadro de infomación en C#
« en: Lunes 27 de Octubre de 2008, 14:31 »
Hola:

Quiero hacer un cuadro de información que tiene todos los programas normalmente llamado "Acerca de...". Por ejemplo en el navegador Mozilla Firefox. Al pulsar Acerca de... y luego el botón Créditos, se ve una lista de colaboradores que sube hacia arriba. ¿Cómo se hace ese efecto?

Saludo.

48
Microcontroladores / Manual IC-Prog en PDF
« en: Lunes 20 de Octubre de 2008, 05:30 »
Hola:

Presento un manual del programador de PIC IC-Prog más usado y popular. Pueden dejar cualquier comentario si ven algún fallo, alguna sugerencia para mejorarlo, etc.

Descarga

Más manuales aquí.

Un cordial saludos.

49
Microcontroladores / Variedad de programadores de PIC y EEPROM.
« en: Jueves 16 de Octubre de 2008, 13:25 »
Hola:

Me gustaría entre todos nosotros, encontrar los grabadores de microcontroladores PIC de cualquier tipo, incluido los antiguos del MS-DOS. Tengo la idea de hacer manuales cada uno de ellos. Los programadores más usados son el famoso ic-prog y el más moderno winpic800, en el cual, sólo he hecho un manual de todos los programadores que hay que es el winpic800 donde lo puedes descargar en PDF pinchando aquí y verás la calidad como hago esos manueles y lo que pienso hacer.

Actualmente estoy haciendo el manual del ic-prog ya que muchos me han pedido que lo hiciera en el cual ya les daré aviso con un tema nuevo cuando lo acabe.

Recuerdo que los programas da igual que sean del MS-DOS que venían en diskette antiguo, al menos que se pueda programar el PIC-16C54, 16F84, 16F84A...

Según vaya encontrando enlaces los poenen aquí mientras estoy haciendo el manual del ic-prog con todo detalle

Un cordial saludos.

50
Microcontroladores / Adaptar un pic a otro pic
« en: Miércoles 15 de Octubre de 2008, 23:20 »
Hola:

Tengo en mente pasar el código de abajo de un PIC a otro PIC diferente para aprender bien las adaptaciones. Me gustaría aquellas personas que saben adaptar muy bien el código mostrado abajo en ensamblador (ASM) a otro PIC. Al menos los que están en azúl me interesa verlo aquí adaptado.

Citar
Por ejemplo:
16F84A a 16F628A
16F84A a 16F88
16F84A a 16F876A
16F84A a 16F886
16F84A a 16F877A
16F84A a 16F887
16F84A a 18F1220
16F84A a 18F2550
16F84A a 18F4550

El código a adaptar:
Código: Text
  1. ;************************************** Ensam_03.asm ************************************
  2. ;
  3. ; Por el Puerto B se obtiene el dato de las cinco líneas del Puerto A al que está conectado
  4. ; un array de interruptores. Por ejemplo, si por el Puerto A se introduce "---11001", por
  5. ; el Puerto B aparecerá "xxx11001" (el valor de las tres líneas superiores no importa).
  6. ;
  7. ; ZONA DE DATOS **********************************************************************
  8.  
  9.     __CONFIG   _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC    ; Configuración para el
  10.                                                             ; grabador.
  11.     LIST    P=16F84A            ; Procesador.
  12.     INCLUDE <P16F84A.INC>       ; Definición de los operandos utilizados.
  13.  
  14. ; ZONA DE CÓDIGOS ********************************************************************
  15.  
  16.     ORG     0                   ; El programa comienza en la dirección 0 de memoria de
  17. Inicio                          ; programa.
  18.     bsf     STATUS,RP0          ; Pone a 1 el bit 5 del STATUS. Acceso al Banco 1.
  19.     clrf    TRISB               ; Las líneas del Puerto B se configuran como salidas.
  20.     movlw   b'11111111'
  21.     movwf   TRISA               ; Las líneas del Puerto A se configuran como entradas.
  22.     bcf     STATUS,RP0          ; Pone a 0 el bit 5 de STATUS. Acceso al Banco 0.
  23. Principal
  24.     movf    PORTA,W             ; Lee el Puerto A.
  25.     movwf   PORTB               ; El contenido de W se visualiza por el Puerto B.
  26.     goto    Principal           ; Crea un bucle cerrado.
  27.  
  28.     END                         ; Fin del programa.
  29.  
  30.  

Espero que no sea complicado, sobre todo adaptarlo del 16F al 18F en ASM.

Un cordial saludo.

Páginas: 1 [2] 3 4