• Domingo 22 de Diciembre de 2024, 13:29

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.


Mensajes - Meta

Páginas: 1 2 [3] 4 5 6
51
MySQL / Re: Los Triggers
« en: Miércoles 15 de Julio de 2009, 21:52 »
Ya me ha salido.
Código: SQL
  1.  
  2. -- phpMyAdmin SQL Dump
  3. -- version 3.2.0.1
  4. -- http://www.phpmyadmin.net
  5. --
  6. -- Servidor: localhost
  7. -- Tiempo de generación: 15-07-2009 a las 20:52:13
  8. -- Versión del servidor: 5.1.36
  9. -- Versión de PHP: 5.2.10
  10.  
  11. SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
  12.  
  13. --
  14. -- Base de datos: `pic_remoto`
  15. --
  16. CREATE DATABASE `pic_remoto` DEFAULT CHARACTER SET latin1 COLLATE latin1_spanish_ci;
  17. USE `pic_remoto`;
  18.  
  19. -- --------------------------------------------------------
  20.  
  21. --
  22. -- Estructura de tabla para la tabla `dispositivos`
  23. --
  24.  
  25. CREATE TABLE IF NOT EXISTS `dispositivos` (
  26.   `ID` INT(11) NOT NULL AUTO_INCREMENT,
  27.   `nombre` VARCHAR(6) COLLATE latin1_spanish_ci NOT NULL,
  28.   `estado` tinyint(2) NOT NULL,
  29.   `descripcion` VARCHAR(20) COLLATE latin1_spanish_ci NOT NULL,
  30.   PRIMARY KEY (`ID`)
  31. ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci AUTO_INCREMENT=5 ;
  32.  
  33. --
  34. -- (Evento) desencadenante `dispositivos`
  35. --
  36. DROP TRIGGER IF EXISTS `pic_remoto`.`logestado`;
  37. DELIMITER //
  38. CREATE TRIGGER `pic_remoto`.`logestado` AFTER UPDATE ON `pic_remoto`.`dispositivos`
  39.  FOR EACH ROW BEGIN
  40.  
  41.                                    DECLARE Rele1 INT;
  42.                                    DECLARE Rele2 INT;
  43.                                    DECLARE Rele3 INT;
  44.                                    DECLARE Rele4 INT;
  45.  
  46.                                    SET Rele1 = (SELECT estado
  47.                                    FROM dispositivos
  48.                                    WHERE nombre LIKE 'RELE 1');
  49.  
  50.                                    SET Rele2 = (SELECT estado
  51.                                    FROM dispositivos
  52.                                    WHERE nombre LIKE 'RELE 2');
  53.  
  54.                                    SET Rele3 = (SELECT estado
  55.                                    FROM dispositivos
  56.                                    WHERE nombre LIKE 'RELE 3');
  57.  
  58.                                    SET Rele4 = (SELECT estado
  59.                                    FROM dispositivos
  60.                                    WHERE nombre LIKE 'RELE 4');
  61.  
  62.                                    INSERT INTO log(RELE_1, RELE_2, RELE_3, RELE_4, USUARIO, FECHA_HORA)
  63.                                    VALUES (Rele1, Rele2, Rele3, Rele4, USER(), NOW());
  64.                              END
  65. //
  66. DELIMITER ;
  67.  
  68. --
  69. -- Volcar la base de datos para la tabla `dispositivos`
  70. --
  71.  
  72. INSERT INTO `dispositivos` (`ID`, `nombre`, `estado`, `descripcion`) VALUES
  73. (1, 'RELÉ 1', 0, 'descripcion1'),
  74. (2, 'RELÉ 2', 0, 'descripcion2'),
  75. (3, 'RELÉ 3', 0, 'descripcion3'),
  76. (4, 'RELÉ 4', 0, 'descripcion4');
  77.  
  78. -- --------------------------------------------------------
  79.  
  80. --
  81. -- Estructura de tabla para la tabla `log`
  82. --
  83.  
  84. CREATE TABLE IF NOT EXISTS `log` (
  85.   `ID` INT(11) NOT NULL AUTO_INCREMENT,
  86.   `RELE_1` tinyint(1) NOT NULL,
  87.   `RELE_2` tinyint(1) NOT NULL,
  88.   `RELE_3` tinyint(1) NOT NULL,
  89.   `RELE_4` tinyint(1) NOT NULL,
  90.   `USUARIO` VARCHAR(40) COLLATE latin1_spanish_ci NOT NULL,
  91.   `FECHA_HORA` datetime NOT NULL,
  92.   PRIMARY KEY (`ID`)
  93. ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci AUTO_INCREMENT=9 ;
  94.  
  95. --
  96. -- Volcar la base de datos para la tabla `log`
  97. --
  98.  
  99.  
  100.  

Gracias.

52
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.

53
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.

54
PHP / Re: Leer y escribir datos boleanos con PHP y MySQL
« en: Lunes 15 de Junio de 2009, 07:27 »
Gracias por la ayuda.

Hice en Visual C# esta interfaz para que lea la base de datos que me la lee. Con estos datos recibido de MySQL ya puedo controlar el puerto serie y un PIC don ya puedo encender otores, ventiladores, luces, la temperatura de casa, alarmas, etc...



[youtube:32j9ay22]http://www.youtube.com/watch?v=8koidQrv4Kg[/youtube:32j9ay22]

Claro que el control se hace desde PHP, Visual C# lo lee y controla los RELÉ por puerto serie.

Voy a investigar.

55
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.

56
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.

57
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.

58

59
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.

60
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.

61
Microcontroladores / Re: Manual IC-Prog en PDF
« en: Jueves 12 de Febrero de 2009, 23:04 »

62
Microcontroladores / Re: Manual IC-Prog en PDF
« en: Jueves 12 de Febrero de 2009, 22:27 »
Hola:

Aún no me he metido en el campo de RF para PIC.

Saludo.

63
C# / Re: Configuración serialPort en C#
« en: Sábado 17 de Enero de 2009, 07:57 »
Es conectar dos PC con ello y enviar mensajes de texto tipo chat. Ese es el objetivo.

64
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.

65
VB .NET / Re: Pasar de VC# a VB
« en: Lunes 22 de Diciembre de 2008, 23:06 »
Lo se, me olvidé de actualizar el tema aquí.

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.

EDITO:
He intentado hacer el código de C# a VB en esta web http://www.developerfusion.com/tools/co ... arp-to-vb/
Código: Text
  1.  
  2. El código en Form1.vb puse:
  3. Imports System
  4. Imports System.Collections.Generic
  5. Imports System.ComponentModel
  6. Imports System.Data
  7. Imports System.Drawing
  8. Imports System.Linq
  9. Imports System.Text
  10. Imports System.Windows.Forms
  11. Imports System.IO.Ports
  12.  
  13. Namespace PicRS232
  14.     Partial Public Class Form1_Principal
  15.         Inherits Form
  16.         ' Utilizaremos un string como buffer de recepcion
  17.         Private Recibidos As String
  18.         Public Sub New()
  19.             InitializeComponent()
  20.             ' Abrir puerto mientra se ejecute la aplicación
  21.             If Not serialPort1.IsOpen Then
  22.                 Try
  23.                     serialPort1.Open()
  24.                 Catch ex As System.Exception
  25.                     MessageBox.Show(ex.ToString())
  26.                 End Try
  27.             End If
  28.             ' Ejecutar la funcion Recepcion por disparo del Evento 'DataReived'
  29.             AddHandler serialPort1.DataReceived, AddressOf Recepcion
  30.         End Sub
  31.         ' Al recibir los datos
  32.         Private Sub Recepcion(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs)
  33.             ' Acumular los carácteres recibidos a nuestro 'buffer' (string)
  34.             Recibidos += serialPort1.ReadExisting()
  35.             ' Invocar o llamar al proceso de tramas
  36.             Me.Invoke(New EventHandler(Actualizar))
  37.         End Sub
  38.         ' Procesar los datos recibidos en el buffer y extraer tramas completas
  39.         Private Sub Actualizar(ByVal s As Object, ByVal e As EventArgs)
  40.             ' Asignar el valor de la trama al textBox
  41.             textBox_visualizar_mensaje.Text = Recibidos
  42.         End Sub
  43.         Private Sub button_t_Click(ByVal sender As Object, ByVal e As EventArgs)
  44.             Dim mBuffer As Byte() = New Byte(0) {}
  45.             mBuffer(0) = &H74
  46.             'ASCII letra "t".
  47.             serialPort1.Write(mBuffer, 0, mBuffer.Length)
  48.         End Sub
  49.  
  50.         Private Sub button_b_Click(ByVal sender As Object, ByVal e As EventArgs)
  51.             Dim miBuffer As Byte() = New Byte(0) {}
  52.             miBuffer(0) = &H62
  53.             'ASCII letra "b".
  54.             serialPort1.Write(miBuffer, 0, miBuffer.Length)
  55.         End Sub
  56.  
  57.         Private Sub button_a_Click(ByVal sender As Object, ByVal e As EventArgs)
  58.             Dim mBuffer As Byte() = New Byte(0) {}
  59.             mBuffer(0) = &H61
  60.             'ASCII letra "a".
  61.             serialPort1.Write(mBuffer, 0, mBuffer.Length)
  62.         End Sub
  63.  
  64.         Private Sub button_l_Click(ByVal sender As Object, ByVal e As EventArgs)
  65.             Dim mBuffer As Byte() = New Byte(0) {}
  66.             mBuffer(0) = &H6C
  67.             'ASCII letra "l".
  68.             serialPort1.Write(mBuffer, 0, mBuffer.Length)
  69.         End Sub
  70.  
  71.         Private Sub button_Espacio_Click(ByVal sender As Object, ByVal e As EventArgs)
  72.             Dim mBuffer As Byte() = New Byte(0) {}
  73.             mBuffer(0) = &H20
  74.             'ASCII letra "Espacio".
  75.             serialPort1.Write(mBuffer, 0, mBuffer.Length)
  76.         End Sub
  77.  
  78.         Private Sub timer1_Tick(ByVal sender As Object, ByVal e As EventArgs)
  79.             statusStrip1.Items(0).Text = DateTime.Now.ToLongTimeString()
  80.         End Sub
  81.     End Class
  82. End Namespace
  83.  




Ahora en Form1.Designer.vb puse:
Código: Text
  1.  
  2. Namespace PicRS232
  3.     Partial Class Form1_Principal
  4.         ''' <summary>
  5.         ''' Variable del diseñador requerida.
  6.         ''' </summary>
  7.         Private components As System.ComponentModel.IContainer = Nothing
  8.  
  9.         ''' <summary>
  10.         ''' Limpiar los recursos que se estén utilizando.
  11.         ''' </summary>
  12.         ''' <param name="disposing">true si los recursos administrados se deben eliminar; false en caso contrario, false.</param>
  13.         Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
  14.             If disposing AndAlso (components IsNot Nothing) Then
  15.                 components.Dispose()
  16.             End If
  17.             MyBase.Dispose(disposing)
  18.         End Sub
  19.  
  20. #Region "Código generado por el Diseñador de Windows Forms"
  21.  
  22.         ''' <summary>
  23.         ''' Método necesario para admitir el Diseñador. No se puede modificar
  24.         ''' el contenido del método con el editor de código.
  25.         ''' </summary>
  26.         Private Sub InitializeComponent()
  27.             Me.components = New System.ComponentModel.Container()
  28.             Me.button_t = New System.Windows.Forms.Button()
  29.             Me.button_b = New System.Windows.Forms.Button()
  30.             Me.button_a = New System.Windows.Forms.Button()
  31.             Me.button_l = New System.Windows.Forms.Button()
  32.             Me.button_Espacio = New System.Windows.Forms.Button()
  33.             Me.serialPort1 = New System.IO.Ports.SerialPort(Me.components)
  34.             Me.statusStrip1 = New System.Windows.Forms.StatusStrip()
  35.             Me.textBox_visualizar_mensaje = New System.Windows.Forms.TextBox()
  36.             Me.label_mensaje_pic = New System.Windows.Forms.Label()
  37.             Me.timer1 = New System.Windows.Forms.Timer(Me.components)
  38.             Me.toolStripStatusLabel1 = New System.Windows.Forms.ToolStripStatusLabel()
  39.             Me.statusStrip1.SuspendLayout()
  40.             Me.SuspendLayout()
  41.             '
  42.             ' button_t
  43.             '
  44.             Me.button_t.Location = New System.Drawing.Point(109, 38)
  45.             Me.button_t.Name = "button_t"
  46.             Me.button_t.Size = New System.Drawing.Size(75, 23)
  47.             Me.button_t.TabIndex = 0
  48.             Me.button_t.Text = "t"
  49.             Me.button_t.UseVisualStyleBackColor = True
  50.             AddHandler Me.button_t.Click, AddressOf Me.button_t_Click
  51.             '
  52.             ' button_b
  53.             '
  54.             Me.button_b.Location = New System.Drawing.Point(109, 67)
  55.             Me.button_b.Name = "button_b"
  56.             Me.button_b.Size = New System.Drawing.Size(75, 23)
  57.             Me.button_b.TabIndex = 1
  58.             Me.button_b.Text = "b"
  59.             Me.button_b.UseVisualStyleBackColor = True
  60.             AddHandler Me.button_b.Click, AddressOf Me.button_b_Click
  61.             '
  62.             ' button_a
  63.             '
  64.             Me.button_a.Location = New System.Drawing.Point(28, 67)
  65.             Me.button_a.Name = "button_a"
  66.             Me.button_a.Size = New System.Drawing.Size(75, 23)
  67.             Me.button_a.TabIndex = 2
  68.             Me.button_a.Text = "a"
  69.             Me.button_a.UseVisualStyleBackColor = True
  70.             AddHandler Me.button_a.Click, AddressOf Me.button_a_Click
  71.             '
  72.             ' button_l
  73.             '
  74.             Me.button_l.Location = New System.Drawing.Point(190, 67)
  75.             Me.button_l.Name = "button_l"
  76.             Me.button_l.Size = New System.Drawing.Size(75, 23)
  77.             Me.button_l.TabIndex = 3
  78.             Me.button_l.Text = "l"
  79.             Me.button_l.UseVisualStyleBackColor = True
  80.             AddHandler Me.button_l.Click, AddressOf Me.button_l_Click
  81.             '
  82.             ' button_Espacio
  83.             '
  84.             Me.button_Espacio.BackColor = System.Drawing.Color.FromArgb(CInt(CByte((255))), CInt(CByte((128))), CInt(CByte((0))))
  85.             Me.button_Espacio.Location = New System.Drawing.Point(190, 96)
  86.             Me.button_Espacio.Name = "button_Espacio"
  87.             Me.button_Espacio.Size = New System.Drawing.Size(75, 23)
  88.             Me.button_Espacio.TabIndex = 4
  89.             Me.button_Espacio.Text = "Espacio"
  90.             Me.button_Espacio.UseVisualStyleBackColor = False
  91.             AddHandler Me.button_Espacio.Click, AddressOf Me.button_Espacio_Click
  92.             '
  93.             ' serialPort1
  94.             '
  95.             Me.serialPort1.StopBits = System.IO.Ports.StopBits.Two
  96.             '
  97.             ' statusStrip1
  98.             '
  99.             Me.statusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.toolStripStatusLabel1})
  100.             Me.statusStrip1.Location = New System.Drawing.Point(0, 244)
  101.             Me.statusStrip1.Name = "statusStrip1"
  102.             Me.statusStrip1.Size = New System.Drawing.Size(292, 22)
  103.             Me.statusStrip1.TabIndex = 7
  104.             Me.statusStrip1.Text = "statusStrip1"
  105.             '
  106.             ' textBox_visualizar_mensaje
  107.             '
  108.             Me.textBox_visualizar_mensaje.Anchor = DirectCast(((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) Or System.Windows.Forms.AnchorStyles.Left) Or System.Windows.Forms.AnchorStyles.Right)), System.Windows.Forms.AnchorStyles)
  109.             Me.textBox_visualizar_mensaje.Location = New System.Drawing.Point(0, 162)
  110.             Me.textBox_visualizar_mensaje.Multiline = True
  111.             Me.textBox_visualizar_mensaje.Name = "textBox_visualizar_mensaje"
  112.             Me.textBox_visualizar_mensaje.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
  113.             Me.textBox_visualizar_mensaje.Size = New System.Drawing.Size(292, 82)
  114.             Me.textBox_visualizar_mensaje.TabIndex = 6
  115.             '
  116.             ' label_mensaje_pic
  117.             '
  118.             Me.label_mensaje_pic.AutoSize = True
  119.             Me.label_mensaje_pic.Location = New System.Drawing.Point(25, 146)
  120.             Me.label_mensaje_pic.Name = "label_mensaje_pic"
  121.             Me.label_mensaje_pic.Size = New System.Drawing.Size(110, 13)
  122.             Me.label_mensaje_pic.TabIndex = 5
  123.             Me.label_mensaje_pic.Text = "Mensaje desde el PIC"
  124.             '
  125.             ' timer1
  126.             '
  127.             Me.timer1.Enabled = True
  128.             Me.timer1.Interval = 1000
  129.             AddHandler Me.timer1.Tick, AddressOf Me.timer1_Tick
  130.             '
  131.             ' toolStripStatusLabel1
  132.             '
  133.             Me.toolStripStatusLabel1.Name = "toolStripStatusLabel1"
  134.             Me.toolStripStatusLabel1.Size = New System.Drawing.Size(53, 17)
  135.             Me.toolStripStatusLabel1.Text = "hh:mmTongue Tieds"
  136.             '
  137.             ' Form1_Principal
  138.             '
  139.             Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0F, 13.0F)
  140.             Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
  141.             Me.ClientSize = New System.Drawing.Size(292, 266)
  142.             Me.Controls.Add(Me.label_mensaje_pic)
  143.             Me.Controls.Add(Me.textBox_visualizar_mensaje)
  144.             Me.Controls.Add(Me.statusStrip1)
  145.             Me.Controls.Add(Me.button_Espacio)
  146.             Me.Controls.Add(Me.button_l)
  147.             Me.Controls.Add(Me.button_a)
  148.             Me.Controls.Add(Me.button_b)
  149.             Me.Controls.Add(Me.button_t)
  150.             Me.Name = "Form1_Principal"
  151.             Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
  152.             Me.Text = "PicRS232"
  153.             Me.statusStrip1.ResumeLayout(False)
  154.             Me.statusStrip1.PerformLayout()
  155.             Me.ResumeLayout(False)
  156.             Me.PerformLayout()
  157.  
  158.         End Sub
  159.  
  160. #End Region
  161.  
  162.         Private button_t As System.Windows.Forms.Button
  163.         Private button_b As System.Windows.Forms.Button
  164.         Private button_a As System.Windows.Forms.Button
  165.         Private button_l As System.Windows.Forms.Button
  166.         Private button_Espacio As System.Windows.Forms.Button
  167.         Private serialPort1 As System.IO.Ports.SerialPort
  168.         Private statusStrip1 As System.Windows.Forms.StatusStrip
  169.         Private textBox_visualizar_mensaje As System.Windows.Forms.TextBox
  170.         Private label_mensaje_pic As System.Windows.Forms.Label
  171.         Private timer1 As System.Windows.Forms.Timer
  172.         Private toolStripStatusLabel1 As System.Windows.Forms.ToolStripStatusLabel
  173.     End Class
  174.  
  175.  
  176. End Namespace
  177.  

Al ejecutar me sale error:
Error    1    El delegado 'System.EventHandler' requiere una expresión 'AddressOf' o una expresión lambda como único argumento de su constructor.    C:Documents and SettingsHunterMis documentosVisual Studio 2008Projectsprueba1prueba1Form1.vb    34    40    prueba1

Otro error.
Error    2    'Form1' no es un miembro de 'prueba1'.    C:Documents and SettingsHunterMis documentosVisual Studio 2008Projectsprueba1prueba1My ProjectApplication.Designer.vb    35    27    prueba1

Código: Text
  1. '------------------------------------------------------------------------------
  2. ' <auto-generated>
  3. '     This code was generated by a tool.
  4. '     Runtime Version:2.0.50727.3053
  5. '
  6. '     Changes to this file may cause incorrect behavior and will be lost if
  7. '     the code is regenerated.
  8. ' </auto-generated>
  9. '------------------------------------------------------------------------------
  10.  
  11. Option Strict On
  12. Option Explicit On
  13.  
  14.  
  15. Namespace My
  16.    
  17.     'NOTE: This file is auto-generated; do not modify it directly.  To make changes,
  18.     ' or if you encounter build errors in this file, go to the Project Designer
  19.     ' (go to Project Properties or double-click the My Project node in
  20.     ' Solution Explorer), and make changes on the Application tab.
  21.     '
  22.     Partial Friend Class MyApplication
  23.        
  24.         <Global.System.Diagnostics.DebuggerStepThroughAttribute()>  _
  25.         Public Sub New()
  26.             MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
  27.             Me.IsSingleInstance = false
  28.             Me.EnableVisualStyles = true
  29.             Me.SaveMySettingsOnExit = true
  30.             Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
  31.         End Sub
  32.        
  33.         <Global.System.Diagnostics.DebuggerStepThroughAttribute()>  _
  34.         Protected Overrides Sub OnCreateMainForm()
  35.             Me.MainForm = Global.PicRS232.Form1
  36.         End Sub
  37.     End Class
  38. End Namespace
  39.  

Necesito ayuda.

66
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.

67
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.

68
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.

69
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.

70
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.

71
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.

72
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.

73
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.

74
C# / Re: El icono notifyIcon
« en: Domingo 9 de Noviembre de 2008, 03:05 »
Hola:

Ya me funciona, muchas gracias.

Código: Text
  1.  
  2. private int uno = 0;
  3.         private void Form1_SizeChanged(object sender, EventArgs e)
  4.         {
  5.            
  6.             if (WindowState == FormWindowState.Minimized)
  7.             {
  8.                
  9.                 notifyIcon1.Visible = true;
  10.                 //Justo aquí abajo cada vez que minimizo aparece este mensaje.
  11.                 //¿Hay una manera que sólo se muestre la priemra vez?
  12.                
  13.                 if (uno == 0)
  14.                 {
  15.                     notifyIcon1.ShowBalloonTip(3000, "Prueba", "Puede acceder a la aplicación desde este icono", ToolTipIcon.Info);
  16.                     uno = 1;
  17.                 }
  18.                 Hide();
  19.             }
  20.             else
  21.             {
  22.                 Show();
  23.             }
  24.         }
  25.  
  26.         private void notifyIcon1_DoubleClick(object sender, EventArgs e)
  27.         {
  28.             if (WindowState == FormWindowState.Minimized)
  29.             {
  30.                 Show();
  31.                 WindowState = FormWindowState.Normal;
  32.             }
  33.             // ¿Eto para qué es? No noto ningún cambio.
  34.             Activate();
  35.             Focus();
  36.         }
  37.  
  38.  

Saludos.

75
C# / Re: El icono notifyIcon
« en: Sábado 8 de Noviembre de 2008, 15:53 »
Hola:

No me sale bien. Lo puse así.

Código: Text
  1.  private void Form1_SizeChanged(object sender, EventArgs e)
  2.         {
  3.            
  4.             if (WindowState == FormWindowState.Minimized)
  5.             {
  6.                 notifyIcon1.Visible = true;
  7.                 //Justo aquí abajo cada vez que minimizo aparece este mensaje.
  8.                 //¿Hay una manera que sólo se muestre la priemra vez?
  9.                 int uno = 0;
  10.                 if (uno == 0)
  11.                 {
  12.                     notifyIcon1.ShowBalloonTip(3000, "Prueba", "Puede acceder a la aplicación desde este icono", ToolTipIcon.Info);
  13.                     uno = 1;
  14.                 }
  15.                 Hide();
  16.             }
  17.             else
  18.             {
  19.                 Show();
  20.             }
  21.         }
  22.  

Saludos.

Páginas: 1 2 [3] 4 5 6