Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Temas - Meta

#226
Hola:

Al programar con VB 6 bajo Winwdows 7 de 64 bits, he hecho esto.


Quiero seleccionar el puerto serie que me detecta automáticamente el comboBox. Algo no tengo bien qu em e da error y al pulsar depurar me indica este error.

Código (vb,11) [Seleccionar]
Private Sub Command_Led_8_OFF_Click()
MSComm1.Output = "Led_8_OFF"
End Sub

Private Sub Command_Led_8_ON_Click()
MSComm1.Output = "Led_8_ON"
End Sub

Private Sub Form_Load()
    Form1.ComboBoxCOM.Clear
       MSComm1.CommPort = ComboBoxCOM
MSComm1.PortOpen = True   ' Habilitar el puerto serie.
Timer1.Interval = 1       ' Correr el timer a 1 mls.
    Set WMIObjectSet = GetObject("winmgmts:\\.\root\CIMV2").ExecQuery("SELECT * FROM Win32_PnPEntity") 'Win32_SerialPort")
    For Each wmiobject In WMIObjectSet
        If InStr(wmiobject.Name, "COM") Then   '
          Form1.ComboBoxCOM.AddItem wmiobject.Name
        End If
         Next
    Set WMIObjectSet = Nothing
End Sub


El error dice:
No coincide los tipos.
#227
Hola:

He encontrado 6 cmd.exe en Windows 7 de 64 bits.



Ver zoom.

Lo ejecuto como administrador.



Ejecuto comando como indica abajo.



Me sale este mensaje.



Contento y emocionado, intento agregar el componente.



Le doy aplicar o aceptar y me aparece este mensaje.



Me pregunto. ¿Qué es lo que falla realmente?

Saludos.
#228
Hola:

He hecho esto con el puerto serie pero me da error al pulsar CONECTAR.


Código (vb) [Seleccionar]
Private Sub cmdcon_Click()
   If cmdcon.Caption = "CONECTAR" Then
       puerto.CommPort = Val(cmbsel.ListIndex + 1)
       puerto.PortOpen = True
       cmdenviar.Visible = True
       Timer1.Enabled = True
       cmdcon.Caption = "DESCONECTAR"
Else
   If cmdcon.Caption = "DESCONECTAR" Then
       Timer1.Enabled = False
       cmdenviar.Visible = False
       puerto.PortOpen = False
       cmdcon.Caption = "CONECTAR"
   End If
End If
End Sub

Private Sub cmdenviar_Click()
textout = txtenviar.Text
puerto.Output = textout
End Sub

Private Sub Timer1_Timer()
textin = puerto.Input
If textin <> "" Then
puerto.Output = textout
End Sub



Uso Windows 7 de 64 bits. He seguido este vídeo.

El error que me aparece es este.



Mi idea principal es enviar tramas de bytes o texto y también recibirlas por el puerto serie.

¿Alguna idea?
#229
Programación Visual Basic / Conseguir VB 6
7 Marzo 2015, 02:39 AM
Hola:

Tengo un tutorial que no he acabado aún sobre Java y Visual Studio en general, en esta ocasión centrado en VB 6.



Vídeo.
https://www.youtube.com/watch?v=g7XPhDL6auA

Quiero conseguir la versión de VB 6 para poder empezar.

Cualquier información para lograrlo en bienvenido.

El que quiera ver el tutorial en pdf sobre Visual Studio con C#, C++, VB .net esta lo tengo terminado. Si lo quieres lo puedo enviar por correo. Ocupa más de 15 MB, tiene muchas fotos. El manual completo lo entregaré.

Saludos.
#230
Hola:

Uso Windows 7 de 64 bits con Java de 32 para que me funcione el famoso RXTX.



He hecho una aplicación sencilla que se puede encender un Led y apagarlo con NetBeans 8 como puedes ver en la imagen de arriba.

1) Cuando el Form o formulario o ventana está abierta o ejecuto Java, me aparece arriba a la izquierda. ¿Cómo se pone en el centro cuando ejecutes a apliación?

2) Ahora quiero hacer un cuadro de texto para que muestre los textos que te entran en el puerto serie.

¿Alguna idea?

Su código para encender y apagar un Led es este.
Código (java) [Seleccionar]

import gnu.io.CommPortIdentifier;
import gnu.io.SerialPort;
import java.io.OutputStream;
import java.util.Enumeration;
import javax.swing.JOptionPane;

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author Meta
*/
public class JAVADUINO_Frame extends javax.swing.JFrame {

   /**
    * Creates new form JAVADUINO_Frame
    */
   
   private static final String L8on = "Led_8_ON";
   private static final String L8off = "Led_8_OFF";
   
   // Variables de conexión.
   private OutputStream output = null;
   SerialPort serialPort;
   private final String PUERTO = "COM4";
   
   private static final int TIMEOUT = 2000; // 2 segundos.
   
   private static final int DATA_RATE = 115200; // Baudios.
   
   public JAVADUINO_Frame() {
       initComponents();
       inicializarConexion();
   }
   
   public void inicializarConexion(){
       CommPortIdentifier puertoID = null;
       Enumeration puertoEnum = CommPortIdentifier.getPortIdentifiers();
       
       while (puertoEnum.hasMoreElements()){
           CommPortIdentifier actualPuertoID = (CommPortIdentifier) puertoEnum.nextElement();
           if (PUERTO.equals(actualPuertoID.getName())){
               puertoID = actualPuertoID;
               break;
           }
       }
       
       if (puertoID == null){
           mostrarError("No se puede conectar al puerto");
           System.exit(ERROR);
       }
       
       try{
           serialPort = (SerialPort) puertoID.open(this.getClass().getName(), TIMEOUT);
           // Parámatros puerto serie.
           
           serialPort.setSerialPortParams(DATA_RATE, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_NONE);
           
           output = serialPort.getOutputStream();
       } catch (Exception e){
           mostrarError(e.getMessage());
           System.exit(ERROR);
       }
   }
   
   private void enviarDatos(String datos){
       try{
           output.write(datos.getBytes());
       } catch (Exception e){
           mostrarError("ERROR");
           System.exit(ERROR);
       }
   }
   
   public void mostrarError(String mensaje){
       JOptionPane.showMessageDialog(this, mensaje, "ERROR", JOptionPane.ERROR_MESSAGE);    
   }
   /**
    * This method is called from within the constructor to initialize the form.
    * WARNING: Do NOT modify this code. The content of this method is always
    * regenerated by the Form Editor.
    */
   @SuppressWarnings("unchecked")
   // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
   private void initComponents() {

       jButton1 = new javax.swing.JButton();
       jButton2 = new javax.swing.JButton();
       jLabel1 = new javax.swing.JLabel();
       jScrollPane1 = new javax.swing.JScrollPane();
       jTextArea1 = new javax.swing.JTextArea();

       setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
       setTitle("JAVA y más Java");

       jButton1.setText("ON");
       jButton1.addActionListener(new java.awt.event.ActionListener() {
           public void actionPerformed(java.awt.event.ActionEvent evt) {
               jButton1ActionPerformed(evt);
           }
       });

       jButton2.setText("OFF");
       jButton2.addActionListener(new java.awt.event.ActionListener() {
           public void actionPerformed(java.awt.event.ActionEvent evt) {
               jButton2ActionPerformed(evt);
           }
       });

       jLabel1.setText("Mensaje desde el puerto serie:");

       jTextArea1.setColumns(20);
       jTextArea1.setRows(5);
       jScrollPane1.setViewportView(jTextArea1);

       javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
       getContentPane().setLayout(layout);
       layout.setHorizontalGroup(
           layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
           .addGroup(layout.createSequentialGroup()
               .addContainerGap()
               .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                   .addGroup(layout.createSequentialGroup()
                       .addComponent(jButton1)
                       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                       .addComponent(jButton2))
                   .addGroup(layout.createSequentialGroup()
                       .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                       .addGap(0, 0, Short.MAX_VALUE)))
               .addContainerGap())
           .addGroup(layout.createSequentialGroup()
               .addComponent(jLabel1)
               .addGap(0, 0, Short.MAX_VALUE))
       );
       layout.setVerticalGroup(
           layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
           .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
               .addGap(26, 26, 26)
               .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                   .addComponent(jButton1)
                   .addComponent(jButton2))
               .addGap(31, 31, 31)
               .addComponent(jLabel1)
               .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
               .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
               .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
       );

       pack();
   }// </editor-fold>                        

   private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
       // TODO add your handling code here:
       enviarDatos(L8on);
   }                                        

   private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                        
       // TODO add your handling code here:
       enviarDatos(L8off);
   }                                        

   /**
    * @param args the command line arguments
    */
   public static void main(String args[]) {
       /* Set the Nimbus look and feel */
       //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
       /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
        * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
        */
       try {
           for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
               if ("Nimbus".equals(info.getName())) {
                   javax.swing.UIManager.setLookAndFeel(info.getClassName());
                   break;
               }
           }
       } catch (ClassNotFoundException ex) {
           java.util.logging.Logger.getLogger(JAVADUINO_Frame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
       } catch (InstantiationException ex) {
           java.util.logging.Logger.getLogger(JAVADUINO_Frame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
       } catch (IllegalAccessException ex) {
           java.util.logging.Logger.getLogger(JAVADUINO_Frame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
       } catch (javax.swing.UnsupportedLookAndFeelException ex) {
           java.util.logging.Logger.getLogger(JAVADUINO_Frame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
       }
       //</editor-fold>

       /* Create and display the form */
       java.awt.EventQueue.invokeLater(new Runnable() {
           public void run() {
               new JAVADUINO_Frame().setVisible(true);
           }
       });
   }

   // Variables declaration - do not modify                    
   private javax.swing.JButton jButton1;
   private javax.swing.JButton jButton2;
   private javax.swing.JLabel jLabel1;
   private javax.swing.JScrollPane jScrollPane1;
   private javax.swing.JTextArea jTextArea1;
   // End of variables declaration                  
}


Saludos.
#231
Hola:

Tengo un código medio hecho en el cual no se el motivo de los fallos. Se trata de encender y apagar un Led con Netbeans 8 en mi caso y Arduino.

Código (java) [Seleccionar]

import gnu.io.CommPortIdentifier;
import gnu.io.SerialPort;
import java.io.OutputStream;
import java.util.Enumeration;
import javax.swing.JOptionPane;

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author Meta
*/
public class JAVADUINO_JFrame extends javax.swing.JFrame {

   /**
    * Creates new form JAVADUINO_JFrame
    */
   
   private static final String L8ON = "Led_8_ON";
   private static final String L8OFF = "Led_8_OFF";
   
   // Variables de conexión.
   private final OutputStream output = null;
   SerialPort serialPort;
   private final String PUERTO = "COM4";
   
   private static final int TIMEOUT = 2000;
   
   private static final int DATA_RATE = 115200;
   
   public JAVADUINO_JFrame() {
       initComponents();
       inicializarConexion();
   }

   public final void inicializarConexion(){
       CommPortIdentifier puertoID = null;
       Enumeration puertoEnum = CommPortIdentifier.getPortIdentifiers();
       
       while(puertoEnum.hasMoreElements()){
           CommPortIdentifier actualPuertoID = (CommPortIdentifier) puertoEnum.nextElement();
           if (PUERTO.equals(actualPuertoID.getName())){
               puertoID = actualPuertoID;
               break;
           }
       }
   }
   
   if (puertoID == null){
   mostrarError("No se puede conectar al puerto.");
   System.exit(ERROR);
}
   
   try{
       serialPort = (SerialPort) puertoID.open(this.getClass().getName(), TIMEOUT);
       // Parámetros puerto serie.
       serialPort.setSerialPortParams(DATA_RATE, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_NONE);
       output = serialPort.getOutputStream();
}
   catch (Exception e){
   mostrarError(e.getMessage());
   System.exit(ERROR);
}

   private void enviarDatos(String datos){
       try{
           output.write(datos.getBytes());
       }
       catch(Exception e){
           mostrarError("ERROR");
           System.exit(ERROR);
       }
   }
   
   public void mostrarError(String mensaje){
       JOptionPane.showMessageDialog(this, mensaje, "ERROR", JOptionPane.ERROR_MESSAGE);
       
   }
   /**
    * This method is called from within the constructor to initialize the form.
    * WARNING: Do NOT modify this code. The content of this method is always
    * regenerated by the Form Editor.
    */
   @SuppressWarnings("unchecked")
   // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
   private void initComponents() {

       jButton1 = new javax.swing.JButton();
       jButton2 = new javax.swing.JButton();

       setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

       jButton1.setText("ON");

       jButton2.setText("OFF");

       javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
       getContentPane().setLayout(layout);
       layout.setHorizontalGroup(
           layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
           .addGroup(layout.createSequentialGroup()
               .addGap(21, 21, 21)
               .addComponent(jButton1)
               .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 101, Short.MAX_VALUE)
               .addComponent(jButton2)
               .addGap(45, 45, 45))
       );
       layout.setVerticalGroup(
           layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
           .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
               .addContainerGap(250, Short.MAX_VALUE)
               .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                   .addComponent(jButton1)
                   .addComponent(jButton2))
               .addGap(27, 27, 27))
       );

       pack();
   }// </editor-fold>                        

   /**
    * @param args the command line arguments
    */
   public static void main(String args[]) {
       /* Set the Nimbus look and feel */
       //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
       /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
        * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
        */
       try {
           for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
               if ("Nimbus".equals(info.getName())) {
                   javax.swing.UIManager.setLookAndFeel(info.getClassName());
                   break;
               }
           }
       } catch (ClassNotFoundException ex) {
           java.util.logging.Logger.getLogger(JAVADUINO_JFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
       } catch (InstantiationException ex) {
           java.util.logging.Logger.getLogger(JAVADUINO_JFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
       } catch (IllegalAccessException ex) {
           java.util.logging.Logger.getLogger(JAVADUINO_JFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
       } catch (javax.swing.UnsupportedLookAndFeelException ex) {
           java.util.logging.Logger.getLogger(JAVADUINO_JFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
       }
       //</editor-fold>

       /* Create and display the form */
       java.awt.EventQueue.invokeLater(new Runnable() {
           public void run() {
               new JAVADUINO_JFrame().setVisible(true);
           }
       });
   }

   // Variables declaration - do not modify                    
   private javax.swing.JButton jButton1;
   private javax.swing.JButton jButton2;
   // End of variables declaration                  

   private void mostrarError(String no_se_puede_conectar_al_puerto) {
       throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
   }
}


Todavía no he programado los botones, hay que acabar con los fallos primero. Los mensajes que me dan son estos.
Citarrun:
java.lang.ClassFormatError: Duplicate field name&signature in class file JAVADUINO_JFrame
   at java.lang.ClassLoader.defineClass1(Native Method)
   at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
   at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
   at java.net.URLClassLoader.defineClass(URLClassLoader.java:455)
   at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
   at java.net.URLClassLoader$1.run(URLClassLoader.java:367)
   at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
   at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
Exception in thread "main" Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)

He segudio los tutoriales hasta el minuto 37':30" de este vídeo.
https://www.youtube.com/watch?v=4Hr_LZ62SdY

¿Alguna idea?

Saludos.
#232
Java / Cargar librería en NetBeans 8
28 Febrero 2015, 03:47 AM
Hola a todos y a todas:

Descargué Netbeans 8.01 en español y JDK. Lo tengo instalado. Fui a la web
http://rxtx.qbang.org/wiki/index.php/Download

Y justo este enlace me descargué el rachivo en binario.

Estoy con Arduino y quiero desde Java encender y apagar un Led, que se puede hacer. El codigo de Arduino UNO r3 es este.


char caracter;
String comando;

void setup() {
 pinMode(8, OUTPUT); // Pin 8 la configuramos como salida.
 pinMode(13, OUTPUT);
 digitalWrite(8, HIGH); // Mantener relés del pin 8 apagado.
 digitalWrite(13, HIGH); // Mantener relés del pin 13 apagado.
 Serial.begin(115200); // Baudios a 115200.
}

void loop()
{
 /* Se lee carácter por carácter por el puerto serie, mientras, se va
 concatenando uno tras otro en una cadena. */
 while (Serial.available() > 0)
 {
   caracter = Serial.read();
   comando.concat(caracter);
   delay(10); // Este retardo muy corto es para no saturar el puerto
   // serie y que la concatenación se haga de forma ordenada.
 }

 if (comando.equals("Led_8_ON") == true) // Si la cadena o comando "Led_8_ON" es verdadero.
 {
   digitalWrite(8, !HIGH); // El Led 8 se enciende.
   Serial.println("Led 8 encendido."); // Envía mensaje por puerto serie.
 }

 if (comando.equals("Led_8_OFF") == true) // Si el comando "Led_8_OFF" es verdadero.
 {
   digitalWrite(8, !LOW); // Se apaga el Led 8.
   Serial.println("Led 8 apagado."); // Envía mensaje por puerto serie.
 }

 if (comando.equals("Led_13_ON") == true)
 {
   digitalWrite(13, !HIGH);
   Serial.println("Led 13 encendido.");
 }

 if (comando.equals("Led_13_OFF") == true)
 {
   digitalWrite(13, !LOW);
   Serial.println("Led 13 apagado.");
 }

 // Limpiamos la cadena para volver a recibir el siguiente comando.
 comando = "";
}


Lo que hace es recibir comandos por el puerto serie. Por ahora solo quiero saber como se prepara esa librería RXTX en el NMetBeans 8.xx, no para la 7.x.

Es de 64 bits el que tengo instalado bajo Windows 7.


Paso 1.
http://www.subeimagenes.com/img/fsdafasdfsad-1239041.png

Paso 2.
http://www.subeimagenes.com/img/fsdafasdfsad-1239044.png

Paso 3.
http://www.subeimagenes.com/img/fsdafasdfsad-1239046.png

Hasta aquí he lelgado y solo me falta cargar la librería RxTx que on se hacerlo y necesito ayuda. He estado viendo por internet con netbeans 7.x y parece ser que no es igual que l a8.

[youtube=640,360]https://www.youtube.com/watch?v=g7XPhDL6auA[/youtube]

Saludos.
#233
Hola:

Tengo este código con WPF C# 2013. Puedo enviar datos pero no recibirlos y se muestre en RichTextBox.
Código (vb) [Seleccionar]


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

using System.IO.Ports; // No olvidar.
using System.Threading;

namespace WpfApplication1
{
    /// <summary>
    /// Lógica de interacción para MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        // Utilizaremos un string como buffer de recepción.
        string Recibidos;

        SerialPort serialPort1 = new SerialPort();

        public MainWindow()
        {
            InitializeComponent();

            serialPort1.BaudRate = 115200;
            serialPort1.PortName = "COM4";
            serialPort1.Parity = Parity.None;
            serialPort1.DataBits = 8;
            serialPort1.StopBits = StopBits.Two;

            // Abrir puerto mientras se ejecute la aplicación.
            if (!serialPort1.IsOpen)
            {
                try
                {
                    serialPort1.Open();
                }
                catch (System.Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }

            }

            // Ejecutar la función REcepción por disparo del Evento ¡DataReived'.
            //serialPort1.DataReceived += new SerialDataReceivedEventHandler(Recepcion);
        }

        private void Recepcion(object sender, SerialDataReceivedEventHandler e)
        {
            // Acumular los caracteres recibidos a nuestro 'buffer' (string).
            Recibidos += serialPort1.ReadExisting();

            // Invocar o llamar al proceso de tramas.
            //this.Invoke(new EventHandler(Actualizar));
             
        }


        // Procesar los datos recibidos en el buffer y estraer tramas completas.
        private void Actualizar(object s, EventArgs e)
        {
            // Asignar el valor de la trama al RichTextBox.
            RichTextBox_Mensajes.DataContext = Recibidos;
        }

        private void Button_Led_8_ON_Click(object sender, RoutedEventArgs e)
        {
            byte[] mBuffer = Encoding.ASCII.GetBytes("Led_8_ON");
            serialPort1.Write(mBuffer, 0, mBuffer.Length);
        }

        private void Button_Led_8_OFF_Click(object sender, RoutedEventArgs e)
        {
            byte[] mBuffer = Encoding.ASCII.GetBytes("Led_8_OFF");
            serialPort1.Write(mBuffer, 0, mBuffer.Length);
            RichTextBox_Mensajes.DataContext = "Hola";
        }

    }
}


Alguna solución donde está el problema.

Saludos.
#234


1)El programa espera la recepciòn de un ENQ(05 Hex) o STX(02 Hex)

2) Si recibo lo del paso 1 , le envìo un ACK(06 Hex)

3)Luego de enviado el ACK leo todo lo que me manda la maquina externa, si es distinto de cualquier caracter de control, lo muestro.

4) Si recibo un EOT(04 Hex) mando un enter en la pantalla de recepcion para diferenciar las lineas.

5) Si recibo un ETX(03 Hex) le respondo con un ACK.

Supongo que en este caso se podrìa hacer un if o un select preguntando lo recibido, el tema es que no se como leer de manera correcta y poder comparar que es lo que se recibio para poder ejecutar la tarea necesaria segun lo que llega.

Código (vbnet) [Seleccionar]
Imports System.IO.Ports
Imports System.Text

Public Class Form1
    Dim recibidos As String
    Dim stx As String = ASCIIEncoding.ASCII.GetString(New Byte() {2})
    Dim etx As String = ASCIIEncoding.ASCII.GetString(New Byte() {3})
    Dim eot As String = ASCIIEncoding.ASCII.GetString(New Byte() {4})
    Dim enq As String = ASCIIEncoding.ASCII.GetString(New Byte() {5})
    Dim ack As String = ASCIIEncoding.ASCII.GetString(New Byte() {6})


    Public Sub New()
        InitializeComponent()
        If Not SerialPort1.IsOpen Then
            Try
                SerialPort1.Open()
            Catch ex As Exception
                MessageBox.Show(ex.ToString)
            End Try
        End If
        AddHandler SerialPort1.DataReceived, AddressOf recepcion
    End Sub

    Private Sub Form1_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        If SerialPort1.IsOpen Then
            SerialPort1.Close()
        End If
    End Sub

    Private Sub recepcion(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs)

        recibidos = Chr(SerialPort1.ReadChar)
        If recibidos = stx Or recibidos = enq Then
            SerialPort1.Write(ack)
        Else
            If recibidos <> stx And recibidos <> etx And recibidos <> enq And recibidos <> ack And recibidos <> eot Then
                Me.Invoke(New EventHandler(AddressOf actualizar))
            Else
                If recibidos = eot Then
                    Me.Invoke(New EventHandler(AddressOf actualizarenter))
                Else
                    If recibidos = etx Then
                        SerialPort1.Write(ack)
                    End If
                End If
            End If
        End If


    End Sub

    Private Sub actualizar(ByVal s As Object, ByVal e As EventArgs)
        textbox_visualizar_mensaje.Text = textbox_visualizar_mensaje.Text & recibidos
    End Sub

    Private Sub actualizarenter(ByVal s As Object, ByVal e As EventArgs)
        textbox_visualizar_mensaje.Text = textbox_visualizar_mensaje.Text & vbLf
    End Sub

    Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
        StatusStrip1.Items(0).Text = DateTime.Now.ToLongTimeString
    End Sub

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        SerialPort1.Encoding = System.Text.Encoding.Default
    End Sub
End Class
#235
Hola:
Tengo este código dentro de un button para enviar tramas de bytes hecho con C#.

Código (cpp) [Seleccionar]
// Enviar tramas de bytes.

            byte[] miBuffer = new byte[9]; // Led_13_ON son 9 byte máximo.
            miBuffer[0] = 0x4C; // ASCII letra "L".
            miBuffer[1] = 0x65; // ASCII letra "e".
            miBuffer[2] = 0x64; // ASCII letra "d".
            miBuffer[3] = 0x5F; // ASCII letra "_".
            miBuffer[4] = 0x31; // ASCII letra "1".
            miBuffer[5] = 0x33; // ASCII letra "3".
            miBuffer[6] = 0x5F; // ASCII letra "_".
            miBuffer[7] = 0x4F; // ASCII letra "O".
            miBuffer[8] = 0x4E; // ASCII letra "N".
            serialPort1.Write(miBuffer, 0, miBuffer.Length); // Envia las tramas de bytes.


Da igual cuantras tramas hay que enviar, en C++ se hace así com indica abajo enviando la letra t.

Código (cpp) [Seleccionar]
cli::array&lt;unsigned char&gt; ^uno = gcnew cli::array&lt;unsigned char&gt; (1);
uno[0] = 0x74; // ASCII letra "t".
serialPort1-&gt;Write(uno, 0, 1);


Quiero hacer una cadena escrito más cómodamente como el ejemplo en C# hecho abajo.

Código (cpp) [Seleccionar]
            byte[] mBuffer = Encoding.ASCII.GetBytes("Led_8_ON");
            serialPort1.Write(mBuffer, 0, mBuffer.Length);


¿Cómo se hace en Visual C++ 2010?

Gracias.
#236
Hola:

Quiero hacer varias cosas.
1) Ya por fin me funciona Raspberry Pi 2. Desde Windows me conecto al SSH con Puty y muestra su mensaje de bienvenida. Como puedes ver abajo, muestra información que cuanto menos de, mejor que mejor. Al menos quiero poner el que quiera con simples textos.

¿Es posible hacerlo? (Espero que se pueda lograr).

Citarlogin as: pi
pi@192.168.1.157's password:
Linux raspberrypi 3.18.7-v7+ #755 SMP PREEMPT Thu Feb 12 17:20:48 GMT 2015 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sat Feb 21 21:22:51 2015

2) Cuando alguien entra en el RPi 2 desde SSH, sea red local o por Internet, se que en algún lugar de Raspbian se almacena unos archivos llamados Log donde se guarda el usuario. ¿Dónde están para localizarlo y analizarlo?

3) Si en este momento le doy mi IP pública 83.55.91.67 del Raspberry Pi 2, sabiendo el login pi y la contraseña raspberry. ¿Pueden entrarme así sin más o se necesita hacer más cosas en la configuración?
Precisamente si pueden entrarme alguien en este momento, pues ponerle un archivo de texto plano como un .txt dando sus saludos, una muestra como que lo han hecho.

Estas son tres preguntas que quiero saber.

Gracias.
#237
Hola:



Este módulo de 8 relé lo compré porque me informé en alguna parte de Interne que se puede añadir 5V, 12V y 24VDC con fuente alimentación externa. El otro módulo viejo que me querían vender no se puede hacer y tampoco tenía optoacopladores. Tampoco tiene Jumper.

Supuestamente es este su esquema.


Tiene que ser conectado así y sin el Jumper puesto. Antes de hacerlo tengo que saber que es así realmente antes de quemar algo. Como pueden ver en el esquema de abajo, Arduino solo enciende los Les mientras activa el optoacoplador. Después del opto están los 24VDC. Estos relés aguantan hasta 30 VDC, las bobinas, claro.



Espero que se entienda lo que quiero decir.
#238
Hola:

Me he registrado esto por facebook y no hay manera de descargar este PDF sobre Raspberry Pi.

Si alguien lo ha lograrlo pupeden enviarme el PDF por correo, me avisan por aquí o por privado. Ya llevo tiempo y nada.

http://es.scribd.com/doc/225682222/Raspberry-Pi-Guia-Del-Usuario-2da-Ed-en-Espanol

Saludos.
#239
Hola:

He probado este código de AVR de Atmel, por supusto que sirve para el compilador Arduino IDE 1.6.

// Timer and Counter example
// Author: Nick Gammon
// Date: 17th January 2012

// Input: Pin D5

// these are checked for in the main program
volatile unsigned long timerCounts;
volatile boolean counterReady;

// internal to counting routine
unsigned long overflowCount;
unsigned int timerTicks;
unsigned int timerPeriod;

void startCounting (unsigned int ms)
  {
  counterReady = false;         // time not up yet
  timerPeriod = ms;             // how many 1 mS counts to do
  timerTicks = 0;               // reset interrupt counter
  overflowCount = 0;            // no overflows yet

  // reset Timer 1 and Timer 2
  TCCR1A = 0;           
  TCCR1B = 0;             
  TCCR2A = 0;
  TCCR2B = 0;

  // Timer 1 - counts events on pin D5
  TIMSK1 = bit (TOIE1);   // interrupt on Timer 1 overflow

  // Timer 2 - gives us our 1 mS counting interval
  // 16 MHz clock (62.5 nS per tick) - prescaled by 128
  //  counter increments every 8 µS.
  // So we count 125 of them, giving exactly 1000 µS (1 mS)
  TCCR2A = bit (WGM21) ;   // CTC mode
  OCR2A  = 124;            // count up to 125  (zero relative!!!!)

  // Timer 2 - interrupt on match (ie. every 1 mS)
  TIMSK2 = bit (OCIE2A);   // enable Timer2 Interrupt

  TCNT1 = 0;      // Both counters to zero
  TCNT2 = 0;   

  // Reset prescalers
  GTCCR = bit (PSRASY);        // reset prescaler now
  // start Timer 2
  TCCR2B =  bit (CS20) | bit (CS22) ;  // prescaler of 128
  // start Timer 1
  // External clock source on T1 pin (D5). Clock on rising edge.
  TCCR1B =  bit (CS10) | bit (CS11) | bit (CS12);
  }  // end of startCounting

ISR (TIMER1_OVF_vect)
  {
  ++overflowCount;               // count number of Counter1 overflows 
  }  // end of TIMER1_OVF_vect


//******************************************************************
//  Timer2 Interrupt Service is invoked by hardware Timer 2 every 1ms = 1000 Hz
//  16Mhz / 128 / 125 = 1000 Hz

ISR (TIMER2_COMPA_vect)
  {
  // grab counter value before it changes any more
  unsigned int timer1CounterValue;
  timer1CounterValue = TCNT1;  // see datasheet, page 117 (accessing 16-bit registers)
  unsigned long overflowCopy = overflowCount;

  // see if we have reached timing period
  if (++timerTicks < timerPeriod)
    return;  // not yet

  // if just missed an overflow
  if ((TIFR1 & bit (TOV1)) && timer1CounterValue < 256)
    overflowCopy++;

  // end of gate time, measurement ready

  TCCR1A = 0;    // stop timer 1
  TCCR1B = 0;   

  TCCR2A = 0;    // stop timer 2
  TCCR2B = 0;   

  TIMSK1 = 0;    // disable Timer1 Interrupt
  TIMSK2 = 0;    // disable Timer2 Interrupt
   
  // calculate total count
  timerCounts = (overflowCopy << 16) + timer1CounterValue;  // each overflow is 65536 more
  counterReady = true;              // set global flag for end count period
  }  // end of TIMER2_COMPA_vect

void setup ()
  {
  Serial.begin(115200);     
  Serial.println("Frequency Counter");
  } // end of setup

void loop ()
  {
  // stop Timer 0 interrupts from throwing the count out
  byte oldTCCR0A = TCCR0A;
  byte oldTCCR0B = TCCR0B;
  TCCR0A = 0;    // stop timer 0
  TCCR0B = 0;   
 
  startCounting (500);  // how many mS to count for

  while (!counterReady)
     { }  // loop until count over

  // adjust counts by counting interval to give frequency in Hz
  float frq = (timerCounts *  1000.0) / timerPeriod;

  Serial.print ("Frequency: ");
  Serial.print ((unsigned long) frq);
  Serial.println (" Hz.");
 
  // restart timer 0
  TCCR0A = oldTCCR0A;
  TCCR0B = oldTCCR0B;
 
  // let serial stuff finish
  delay(200);
  }   // end of loop
Está hecho en C nativo del AVR y en mi caso quiero pasarlo a C de Arduino que es más sencillo. ¿Alguien tiene idea?

Lo que hace leer todo el rato que frecuencia hay en el pin 5 y mostrarlo en el serial.

Saludos.
#240
Juegos y Consolas / Música para juegos
18 Diciembre 2014, 15:01 PM
Hola:

Teniendo la PS3, de los casi 30 juegos que tengo, solo uno llamado SSX me permite añadir música MP3 de lo que yo quiera. El juego Tekken Tag Tournament 2, también. Añadir tus músicas en los juegos se conoce como personalización de música.

¿Hay más juegos para incluir música en sus juegos?

Si sabes algún juego podemos hacer una lista aquí.
En la PS4 parece ser que ninguno permite esta opción, ya que en el disco duro no permite reproducir tus mp3, exceptuando desde un pendrive y esto es a partir del firmware 2.00 en adelante.

Un cordial saludo.



Actualización:



Lista de juegos que se pueden introducir música mp3 a tus juegos.



SSX

Tekken Tag Tournament 2

Burnout Paradise

PES 2015

Grand Turismo 5

Grand Turismo 6

Red Dead Redemption

wipeout hd

Fifa 2011

Dragon Ball Raging Blast 2

Bayonetta

Naruto Ultimate Ninja Storm Revolution

#241
Electrónica / Intentar reparar centralita
25 Noviembre 2014, 22:47 PM
Hola:

Me acaban de dejar una centralita, es la que está abajo y cuando la desarmé, veo integrados sueltos y quemaduras.



Este es su enlace para que veas sus características.
http://auto24parts.com/es_ES/p/ECU-CENTRALITA-DE-MOTOR-VW-VOLKSWAGEN-GOLF-BORA-1.8T-06A906032DR-BOSCH-0261206887/14495



Alguien si es tan amable, puede conseguir fotos por delante y por detrás de esta centralita para saber sus componentes como están, porque parace que se desoldaron.

Un cordial saludo.
#242
Hola:

Tengo un programa hecho con modo consola bajo C# que está diseñado para trabajar en local. Lo que hace el programa en controlar el puerto serie y USB para manejar unos relés bajo Arduinoo PIC.

Quiero saber si remotamente con telnet se puede controlar dicho programa. El programa no está programado nada relacionado con Internet.

Un saludo.
#243
Electrónica / Elegir un buen generador inversor.
2 Noviembre 2014, 23:21 PM
Buenas a todos y a todas:

Quiero saber la diferencia entre uno y otro. No me refiero las carácterísticas técnicas que esto si se puede aprecias. Son unas 400 €urazos en España. Hay cosas que no se y quiero saber la experiencias si alguien lo ha usado o lo tienen como el ruido, algún que otro fallo, si pierde rendimiento en algún momento o cualquier detalle.

Por ahora me llaman la atención estod dos modelos ya que puedo enchufar una torre de ordenador y pantalla sin ningún problema.


Generador eléctrico POWERMATE INVERTER PMI 1000 Ref. 14944713 - Leroy Merlin

Vídeo.
Puesta en marcha del Powermate by Pramac Inverter Pmi 1000 - YouTube

Mantenimiento básico del Powermate by Pramac Inverter PMi 1.000 - YouTube





Generador eléctrico GENERGY IBIZA Ref. 15222053 - Leroy Merlin

Vídeo, no es el modelo exacto pero son similares, lo que me gusta es que arranca con llave y tiene mando distancia.

Fuji Micro XG-SF3700 Inverter Generator Remote Start and load test - YouTube

Fuji Micro XG-SF3700 Inverter Generator First Startup - YouTube

Generador inverter 2900w arranque remoto - YouTube


http://www.leroymerlin.es/fp/16569560/generador-builder-g1600is

Este modelo no encuentro vídeo.

Hay algo que me preocupa. Este último modelo amarillo Generador BUILDER G1600IS, se puede dar uso continuado y los dos primeros dice algo de USO MODERADO. Lo de moderado me imagino que se usa solo unas horas, si me paso, al final estos generadores se terminarán quemando.

¿Algún consejo?

Un cordial saludo.

PD: Tengo claro que si me pillos los primeros, cuando se acabe la garantía, usaré técnicas de refrigeración casera, jejejejje. Ya buscaré métodos.
#244
Hola:

Tengo un Form1 del C# 2013 Express. Puedo usar un textBox o el maskedTextBox. El que realmente sea más fácil de usar para lo que quiero.

En su interior, al escribir, quiero que sea capaz de escribir una sola palabra, que no te deje escribir palabras con espacios en blandco.

A parte de ello, nunca debe empezar una palabra con números, como este ejemplo. 123Hola, 5adios...

Solo que te deje escribir estas cosas así: Hola478, khdgksdgh87568, y5u4j6.

Como si fuera una variable.

Esto de no controlar caracteres no me ha salido en todo el momento.

¿Cómo se puede hacer?

Saludo.
#245
Hola:

Aprender a decidir en comprar una X-Box One o una PlayStation 4.
[video=youtube]http://www.youtube.com/watch?v=R-DpkkHR5fE[/video]

Un cordial saludo.
#246
Hola:

He tardado una dos semanas en hacer el primer Alfa de este programa. Se trata de personalizar los píxeles de los display LCD como te guste. En este caso está pensado para Arduino.



Como es muy alfa, solo pongo el primer ejecutable con los píxeles de 5x7 antes de meterme con los de 5x8.



La idea no solo acaba aquí. También se incluirá según se va avansando en el desarrollo de este programa iconos ya personalizados que no he puesto en el espacio de abajo por tiempo, pero se hará poco a poco. Tambiñen se hará animaciones en los iconos.

Cuando ya acabe la idea del LCD, en este mismo programa me meteré en los display de 7 segmentos y puede que el de 11 seg. también.




Presento este programa muy reciente para que comenten si encuentran algún error para una posible mejora e ideas y que les parece.

Como es orientado a Arduino que es mucho más fácil que asm de los PIC, me centraré solo él de momento. Me refiero a la hora de hacer que este programa genere código completo. Por ahora solo genera los bits que necesita. Se irá actualizando poco a poco el software para que vayan viendo su evolución.

Para poder ejecutar el ejecutable que puedes descargar se necesita un FrameWork 4.5 o superior.

Un cordial saludo.
#247
[size=150]Petición para que Resident Evil HD Remaster salga en formato físico[/size]

Se pone en marcha una petición a Capcom para que Resident Evil HD Remaster sea lanzado también en formato físico, no sólo en digital. Si queréis saber más, o apoyar la iniciativa, seguid leyendo.

La popular plataforma Change.org acoge desde hoy una nueva iniciativa: ni más ni menos que una petición para que Capcom lance Resident Evil HD Remaster, también, en formato físico.



Como seguro sabéis, Resident Evil HD Remaster será un port del juego de Gamecube, que a su vez era un remake del primer juego de la saga de terror, y -hasta el momento- Capcom sólo ha anunciado su lanzamiento para occidente en descarga digital, formato en el que llegará a PS3, PS4, Xbox 360, Xbox One y PC.

Con esta petición, un grupo de usuarios (capitaneados por nuestros amigos de Resident Evil Center) quieren que la compañía recapacite y lance Resident Evil HD Remaster en formato físico. Así lo justifican:

"Estimados señores de Capcom,

Nosotros, como fieles seguidores de esta saga, estamos contrariados con el futuro lanzamiento digital de Resident Evil HD Remaster que no va a ser vendido físicamente en Europa y Estados Unidos. Todos los fans hemos sido leales tanto a ustedes como a la saga desde el principio, humildemente deseamos de tener la posibilidad de comprar una copia física del Resident Evil HD Remaster, al igual que en Japón. Desde los fansites brasileño y español, REVIL y Resident Evil Center, tenemos una gran masa de fans detrás conforme con esta petición, y estaríamos muy agradecidos si finalmente se escucha y se lleva a cabo por vuestra parte. No sólo para los fans de Europa y Estados Unidos, sería bienvenido en todo el mundo, incluido el continente Sudamericano. En conclusión, esperamos que tomen en consideración nuestra petición y escuchen a los fans que les han sido fieles a la serie desde el primer Resident Evil en 1996. Gracias por su tiempo y les deseamos muchos éxitos en el futuro".

Si estáis de acuerdo con elos y os apetece apoyar la iniciativa, podéis hacerlo a través de este enlace.

Fuente:
http://www.hobbyconsolas.com/noticias/peticion-para-que-resident-evil-hd-remaster-salga-formato-fisico-82862
#248
Hola:

Cada botón valor1 al 3 cambia los bits que deseo del texbot Bin. Mi idea es conseguir leer esos bit para hacer el cambio.


Sólo debo cambiar un dígito o caracter, que ya funciona.

Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Sustituir_letra
{
   public partial class Form1 : Form
   {
       public Form1()
       {
           InitializeComponent();
       }
       const string Binario_Restaurar = "B00000, B00000, B00000, B00000, B00000, B00000, B00000, B00000";

       public static string Sustituir(string cadenaOrignal, int posicion, int longitud, string sustituto)
       {
           return cadenaOrignal.Substring(0, posicion)
              + sustituto
              + cadenaOrignal.Substring(posicion + longitud);
       }

       private void button_Restaurar_Click(object sender, EventArgs e)
       {
           textBox_Bin.Text = Binario_Restaurar;
       }

       private void button_Cambiar_Letra1_Click(object sender, EventArgs e)
       {
           textBox_Bin.Text = Sustituir(textBox_Bin.Text, 12, 1, "1");
           textBox_Bin.Text = Sustituir(textBox_Bin.Text, 27, 1, "0");
           textBox_Bin.Text = Sustituir(textBox_Bin.Text, 28, 1, "0");
       }

       private void button_Cambiar_Letra2_Click(object sender, EventArgs e)
       {
           textBox_Bin.Text = Sustituir(textBox_Bin.Text, 2, 1, "1");
           textBox_Bin.Text = Sustituir(textBox_Bin.Text, 3, 1, "1");
           textBox_Bin.Text = Sustituir(textBox_Bin.Text, 4, 1, "1");
           textBox_Bin.Text = Sustituir(textBox_Bin.Text, 5, 1, "1");
       }

       private void button_Cambiar_Letra3_Click(object sender, EventArgs e)
       {
           textBox_Bin.Text = Sustituir(textBox_Bin.Text, 3, 1, "0");
           textBox_Bin.Text = Sustituir(textBox_Bin.Text, 4, 1, "0");
           textBox_Bin.Text = Sustituir(textBox_Bin.Text, 26, 1, "1");
           textBox_Bin.Text = Sustituir(textBox_Bin.Text, 27, 1, "1");
           textBox_Bin.Text = Sustituir(textBox_Bin.Text, 28, 1, "1");
           textBox_Bin.Text = Sustituir(textBox_Bin.Text, 29, 1, "1");
       }
   }
}


Como se puede ver en el textbox en Bin en la imagen de arriba. Se muestra estos valores.

B00000, B00000, B00000, B00000, B00000, B00000, B00000


Quiero transformar estos valores binarios en Dec y Hex.

Dec sería: 0, 0, 0, 0, 0, 0, 0
En Hex sería: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

Desde el momento que se modifique el valor del Bin, automáticamente debe cambiar también el Dec y Hex. Tengo que lograr de alguna manera que lea los estados dentro del TextBox que están en binario que son de 5 bits cada uno, luego transformar esos binariso a Dec y Hex para mostrarlos en los otros textbox.

No me importa de alguna manera leer cada byte de 5 bits por decirlo de alguna manera que esté dentro del textbox y guardarlo en cada variable, luego hacemos la conversión de binario a Dec y a Hex.

¿Alguna idea?

Saludo.
#249




Hay dos objetivos que no me salen.

1) Cuando tengo algunos pictureBox activado, en esta caso solo uno. Quiero lograr de alguna manera que al pulsar "Color azul" las veces que quiera, no pierda los estados de los pictureBox que he marcado con el ratón pulsándolos. Si no entiendes lo que quiero decir sobre algo. Pregunta.

2) El botón "Invertir estados" lo que hace que los picturesBox activados y desactivados se inviertan, es decir, los que están activados se desactivan y los que están desactivados se activan.

El código fuente de lo que he hecho hasta ahora es esto:

Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Picture_Colores
{
   public partial class Form1 : Form
   {
       public Form1()
       {
           InitializeComponent();
       }

       bool Color_5x7 = true;
       bool Color_p1_5x7 = false;
       bool Color_p2_5x7 = false;
       bool Color_p3_5x7 = false;
       bool Color_p4_5x7 = false;

       private void checkBox_Color_5x7_CheckedChanged(object sender, EventArgs e)
       {
           if (Color_5x7 == false)
           {
               groupBox1.BackColor = Color.LawnGreen;
               groupBox1.ForeColor = Color.Black;
               Color_5x7 = true;
           }

           else
           {
               groupBox1.BackColor = Color.RoyalBlue;
               groupBox1.ForeColor = Color.White;
               Color_5x7 = false;
           }
       }

       private void pictureBox1_Click(object sender, EventArgs e)
       {
           if (checkBox_Color_5x7.Checked == false)
           {
               if (Color_p1_5x7 == true)
               {
                   pictureBox1.BackColor = Color.Lime;
                   Color_p1_5x7 = false;
               }

               else
               {
                   pictureBox1.BackColor = Color.Black;
                   Color_p1_5x7 = true;
               }
           }
           else
           {
               if (Color_p1_5x7 == true)
               {
                   pictureBox1.BackColor = Color.Blue;
                   Color_p1_5x7 = false;
               }

               else
               {
                   pictureBox1.BackColor = Color.White;
                   Color_p1_5x7 = true;
               }
           }
       }

       private void pictureBox2_Click(object sender, EventArgs e)
       {
           if (checkBox_Color_5x7.Checked == false)
           {
               if (Color_p2_5x7 == true)
               {
                   pictureBox2.BackColor = Color.Lime;
                   Color_p2_5x7 = false;
               }

               else
               {
                   pictureBox2.BackColor = Color.Black;
                   Color_p2_5x7 = true;
               }
           }
           else
           {
               if (Color_p2_5x7 == true)
               {
                   pictureBox2.BackColor = Color.Blue;
                   Color_p2_5x7 = false;
               }

               else
               {
                   pictureBox2.BackColor = Color.White;
                   Color_p2_5x7 = true;
               }
           }
       }

       private void pictureBox3_Click(object sender, EventArgs e)
       {
           if (checkBox_Color_5x7.Checked == false)
           {
               if (Color_p3_5x7 == true)
               {
                   pictureBox3.BackColor = Color.Lime;
                   Color_p3_5x7 = false;
               }

               else
               {
                   pictureBox3.BackColor = Color.Black;
                   Color_p3_5x7 = true;
               }
           }
           else
           {
               if (Color_p3_5x7 == true)
               {
                   pictureBox3.BackColor = Color.Blue;
                   Color_p3_5x7 = false;
               }

               else
               {
                   pictureBox3.BackColor = Color.White;
                   Color_p3_5x7 = true;
               }
           }
       }

       private void pictureBox4_Click(object sender, EventArgs e)
       {
           if (checkBox_Color_5x7.Checked == false)
           {
               if (Color_p4_5x7 == true)
               {
                   pictureBox4.BackColor = Color.Lime;
                   Color_p4_5x7 = false;
               }

               else
               {
                   pictureBox4.BackColor = Color.Black;
                   Color_p4_5x7 = true;
               }
           }
           else
           {
               if (Color_p4_5x7 == true)
               {
                   pictureBox4.BackColor = Color.Blue;
                   Color_p4_5x7 = false;
               }

               else
               {
                   pictureBox4.BackColor = Color.White;
                   Color_p4_5x7 = true;
               }
           }
       }
   }
}


Un cordial saludo.
#250
Añado tres label en el Form, como indica en la imagen de abajo en cuadro rojo.
Según pinche en los píxeles que en realidad cada cuadrado es un pictureBoxse vaya actualizando los datos int, hex y binario.

El código que he hecho hasta ahora es este, pero no he puesto aún los label.

Código (csharp) [Seleccionar]

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace LCD_HD44780
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button_5x8_Rellenar_Click(object sender, EventArgs e)
        {
            pictureBox1.BackColor = Color.Black;
            pictureBox2.BackColor = Color.Black;
            pictureBox3.BackColor = Color.Black;
            pictureBox4.BackColor = Color.Black;
            pictureBox5.BackColor = Color.Black;
            pictureBox6.BackColor = Color.Black;
            pictureBox7.BackColor = Color.Black;
            pictureBox8.BackColor = Color.Black;
            pictureBox9.BackColor = Color.Black;
            pictureBox10.BackColor = Color.Black;
            pictureBox11.BackColor = Color.Black;
            pictureBox12.BackColor = Color.Black;
            pictureBox13.BackColor = Color.Black;
            pictureBox14.BackColor = Color.Black;
            pictureBox15.BackColor = Color.Black;
            pictureBox16.BackColor = Color.Black;
            pictureBox17.BackColor = Color.Black;
            pictureBox18.BackColor = Color.Black;
            pictureBox19.BackColor = Color.Black;
            pictureBox20.BackColor = Color.Black;
            pictureBox21.BackColor = Color.Black;
            pictureBox22.BackColor = Color.Black;
            pictureBox23.BackColor = Color.Black;
            pictureBox24.BackColor = Color.Black;
            pictureBox25.BackColor = Color.Black;
            pictureBox26.BackColor = Color.Black;
            pictureBox27.BackColor = Color.Black;
            pictureBox28.BackColor = Color.Black;
            pictureBox29.BackColor = Color.Black;
            pictureBox30.BackColor = Color.Black;
            pictureBox31.BackColor = Color.Black;
            pictureBox32.BackColor = Color.Black;
            pictureBox33.BackColor = Color.Black;
            pictureBox34.BackColor = Color.Black;
            pictureBox35.BackColor = Color.Black;
        }

        private void button_5x7_Limpiar_Click(object sender, EventArgs e)
        {
            pictureBox1.BackColor = Color.Lime;
            pictureBox2.BackColor = Color.Lime;
            pictureBox3.BackColor = Color.Lime;
            pictureBox4.BackColor = Color.Lime;
            pictureBox5.BackColor = Color.Lime;
            pictureBox6.BackColor = Color.Lime;
            pictureBox7.BackColor = Color.Lime;
            pictureBox8.BackColor = Color.Lime;
            pictureBox9.BackColor = Color.Lime;
            pictureBox10.BackColor = Color.Lime;
            pictureBox11.BackColor = Color.Lime;
            pictureBox12.BackColor = Color.Lime;
            pictureBox13.BackColor = Color.Lime;
            pictureBox14.BackColor = Color.Lime;
            pictureBox15.BackColor = Color.Lime;
            pictureBox16.BackColor = Color.Lime;
            pictureBox17.BackColor = Color.Lime;
            pictureBox18.BackColor = Color.Lime;
            pictureBox19.BackColor = Color.Lime;
            pictureBox20.BackColor = Color.Lime;
            pictureBox21.BackColor = Color.Lime;
            pictureBox22.BackColor = Color.Lime;
            pictureBox23.BackColor = Color.Lime;
            pictureBox24.BackColor = Color.Lime;
            pictureBox25.BackColor = Color.Lime;
            pictureBox26.BackColor = Color.Lime;
            pictureBox27.BackColor = Color.Lime;
            pictureBox28.BackColor = Color.Lime;
            pictureBox29.BackColor = Color.Lime;
            pictureBox30.BackColor = Color.Lime;
            pictureBox31.BackColor = Color.Lime;
            pictureBox32.BackColor = Color.Lime;
            pictureBox33.BackColor = Color.Lime;
            pictureBox34.BackColor = Color.Lime;
            pictureBox35.BackColor = Color.Lime;
        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
            if (pictureBox1.BackColor == Color.Black)
            {
                pictureBox1.BackColor = Color.Lime;
            }

            else
            {
                pictureBox1.BackColor = Color.Black;
            }
        }

        private void pictureBox2_Click(object sender, EventArgs e)
        {
            if (pictureBox2.BackColor == Color.Black)
            {
                pictureBox2.BackColor = Color.Lime;
            }

            else
            {
                pictureBox2.BackColor = Color.Black;
            }
        }

        private void pictureBox3_Click(object sender, EventArgs e)
        {
            if (pictureBox3.BackColor == Color.Black)
            {
                pictureBox3.BackColor = Color.Lime;
            }

            else
            {
                pictureBox3.BackColor = Color.Black;
            }
        }

        private void pictureBox4_Click(object sender, EventArgs e)
        {
            if (pictureBox4.BackColor == Color.Black)
            {
                pictureBox4.BackColor = Color.Lime;
            }

            else
            {
                pictureBox4.BackColor = Color.Black;
            }
        }

        private void pictureBox5_Click(object sender, EventArgs e)
        {
            if (pictureBox5.BackColor == Color.Black)
            {
                pictureBox5.BackColor = Color.Lime;
            }

            else
            {
                pictureBox5.BackColor = Color.Black;
            }
        }

        private void pictureBox6_Click(object sender, EventArgs e)
        {
            if (pictureBox6.BackColor == Color.Black)
            {
                pictureBox6.BackColor = Color.Lime;
            }

            else
            {
                pictureBox6.BackColor = Color.Black;
            }
        }

        private void pictureBox7_Click(object sender, EventArgs e)
        {
            if (pictureBox7.BackColor == Color.Black)
            {
                pictureBox7.BackColor = Color.Lime;
            }

            else
            {
                pictureBox7.BackColor = Color.Black;
            }
        }

        private void pictureBox8_Click(object sender, EventArgs e)
        {
            if (pictureBox8.BackColor == Color.Black)
            {
                pictureBox8.BackColor = Color.Lime;
            }

            else
            {
                pictureBox8.BackColor = Color.Black;
            }
        }

        private void pictureBox9_Click(object sender, EventArgs e)
        {
            if (pictureBox9.BackColor == Color.Black)
            {
                pictureBox9.BackColor = Color.Lime;
            }

            else
            {
                pictureBox9.BackColor = Color.Black;
            }
        }

        private void pictureBox10_Click(object sender, EventArgs e)
        {
            if (pictureBox10.BackColor == Color.Black)
            {
                pictureBox10.BackColor = Color.Lime;
            }

            else
            {
                pictureBox10.BackColor = Color.Black;
            }
        }

        private void pictureBox11_Click(object sender, EventArgs e)
        {
            if (pictureBox11.BackColor == Color.Black)
            {
                pictureBox11.BackColor = Color.Lime;
            }

            else
            {
                pictureBox11.BackColor = Color.Black;
            }
        }

        private void pictureBox12_Click(object sender, EventArgs e)
        {
            if (pictureBox12.BackColor == Color.Black)
            {
                pictureBox12.BackColor = Color.Lime;
            }

            else
            {
                pictureBox12.BackColor = Color.Black;
            }
        }

        private void pictureBox13_Click(object sender, EventArgs e)
        {
            if (pictureBox13.BackColor == Color.Black)
            {
                pictureBox13.BackColor = Color.Lime;
            }

            else
            {
                pictureBox13.BackColor = Color.Black;
            }
        }

        private void pictureBox14_Click(object sender, EventArgs e)
        {
            if (pictureBox14.BackColor == Color.Black)
            {
                pictureBox14.BackColor = Color.Lime;
            }

            else
            {
                pictureBox14.BackColor = Color.Black;
            }
        }

        private void pictureBox15_Click(object sender, EventArgs e)
        {
            if (pictureBox15.BackColor == Color.Black)
            {
                pictureBox15.BackColor = Color.Lime;
            }

            else
            {
                pictureBox15.BackColor = Color.Black;
            }
        }

        private void pictureBox16_Click(object sender, EventArgs e)
        {
            if (pictureBox16.BackColor == Color.Black)
            {
                pictureBox16.BackColor = Color.Lime;
            }

            else
            {
                pictureBox16.BackColor = Color.Black;
            }
        }

        private void pictureBox17_Click(object sender, EventArgs e)
        {
            if (pictureBox17.BackColor == Color.Black)
            {
                pictureBox17.BackColor = Color.Lime;
            }

            else
            {
                pictureBox17.BackColor = Color.Black;
            }
        }

        private void pictureBox18_Click(object sender, EventArgs e)
        {
            if (pictureBox18.BackColor == Color.Black)
            {
                pictureBox18.BackColor = Color.Lime;
            }

            else
            {
                pictureBox18.BackColor = Color.Black;
            }
        }

        private void pictureBox19_Click(object sender, EventArgs e)
        {
            if (pictureBox19.BackColor == Color.Black)
            {
                pictureBox19.BackColor = Color.Lime;
            }

            else
            {
                pictureBox19.BackColor = Color.Black;
            }
        }

        private void pictureBox20_Click(object sender, EventArgs e)
        {
            if (pictureBox20.BackColor == Color.Black)
            {
                pictureBox20.BackColor = Color.Lime;
            }

            else
            {
                pictureBox20.BackColor = Color.Black;
            }
        }

        private void pictureBox21_Click(object sender, EventArgs e)
        {
            if (pictureBox21.BackColor == Color.Black)
            {
                pictureBox21.BackColor = Color.Lime;
            }

            else
            {
                pictureBox21.BackColor = Color.Black;
            }
        }

        private void pictureBox22_Click(object sender, EventArgs e)
        {
            if (pictureBox22.BackColor == Color.Black)
            {
                pictureBox22.BackColor = Color.Lime;
            }

            else
            {
                pictureBox22.BackColor = Color.Black;
            }
        }

        private void pictureBox23_Click(object sender, EventArgs e)
        {
            if (pictureBox23.BackColor == Color.Black)
            {
                pictureBox23.BackColor = Color.Lime;
            }

            else
            {
                pictureBox23.BackColor = Color.Black;
            }
        }

        private void pictureBox24_Click(object sender, EventArgs e)
        {
            if (pictureBox24.BackColor == Color.Black)
            {
                pictureBox24.BackColor = Color.Lime;
            }

            else
            {
                pictureBox24.BackColor = Color.Black;
            }
        }

        private void pictureBox25_Click(object sender, EventArgs e)
        {
            if (pictureBox25.BackColor == Color.Black)
            {
                pictureBox25.BackColor = Color.Lime;
            }

            else
            {
                pictureBox25.BackColor = Color.Black;
            }
        }

        private void pictureBox26_Click(object sender, EventArgs e)
        {
            if (pictureBox26.BackColor == Color.Black)
            {
                pictureBox26.BackColor = Color.Lime;
            }

            else
            {
                pictureBox26.BackColor = Color.Black;
            }
        }

        private void pictureBox27_Click(object sender, EventArgs e)
        {
            if (pictureBox27.BackColor == Color.Black)
            {
                pictureBox27.BackColor = Color.Lime;
            }

            else
            {
                pictureBox27.BackColor = Color.Black;
            }
        }

        private void pictureBox28_Click(object sender, EventArgs e)
        {
            if (pictureBox28.BackColor == Color.Black)
            {
                pictureBox28.BackColor = Color.Lime;
            }

            else
            {
                pictureBox28.BackColor = Color.Black;
            }
        }

        private void pictureBox29_Click(object sender, EventArgs e)
        {
            if (pictureBox29.BackColor == Color.Black)
            {
                pictureBox29.BackColor = Color.Lime;
            }

            else
            {
                pictureBox29.BackColor = Color.Black;
            }
        }

        private void pictureBox30_Click(object sender, EventArgs e)
        {
            if (pictureBox30.BackColor == Color.Black)
            {
                pictureBox30.BackColor = Color.Lime;
            }

            else
            {
                pictureBox30.BackColor = Color.Black;
            }
        }

        private void pictureBox31_Click(object sender, EventArgs e)
        {
            if (pictureBox31.BackColor == Color.Black)
            {
                pictureBox31.BackColor = Color.Lime;
            }

            else
            {
                pictureBox31.BackColor = Color.Black;
            }
        }

        private void pictureBox32_Click(object sender, EventArgs e)
        {
            if (pictureBox32.BackColor == Color.Black)
            {
                pictureBox32.BackColor = Color.Lime;
            }

            else
            {
                pictureBox32.BackColor = Color.Black;
            }
        }

        private void pictureBox33_Click(object sender, EventArgs e)
        {
            if (pictureBox33.BackColor == Color.Black)
            {
                pictureBox33.BackColor = Color.Lime;
            }

            else
            {
                pictureBox33.BackColor = Color.Black;
            }
        }

        private void pictureBox34_Click(object sender, EventArgs e)
        {
            if (pictureBox34.BackColor == Color.Black)
            {
                pictureBox34.BackColor = Color.Lime;
            }

            else
            {
                pictureBox34.BackColor = Color.Black;
            }
        }

        private void pictureBox35_Click(object sender, EventArgs e)
        {
            if (pictureBox35.BackColor == Color.Black)
            {
                pictureBox35.BackColor = Color.Lime;
            }

            else
            {
                pictureBox35.BackColor = Color.Black;
            }
        }
    }
}



¿Cuál es la mejor forma de codearlo?


Saludo.
#251
Hola:

Quiero saber cual es la Web oficial o original de Willem. Simpre he creido que es este.

http://www.sivava.com/
http://www.mpu51.com/eprom/eprom.html

Según veo por Internet, veo Willem muy modernos hasta los componentes que la Web de arriba parece viejo. Otras personas dicen que hay otra Web. No se que pensar. Antes de hacer compras de Willem, prefiero preguntar.

Saludo.
#252
.NET (C#, VB.NET, ASP) / Partir archivo
10 Agosto 2014, 04:27 AM
Hola:

Uso Visual Express 2013. Tengo un archivo binario llamado Archivo.dat que pesa 2 MB. Quiero hacer un programa que sea capaz de partirlo en 2 partes a 1 MB cada uno o lo que yo quiera como hacer Winrar. Después unirlo. El proceso es el siguiente.

    Cargar tu aplicación un archivo llamado Archivo.dat que es binario, puede ser cualquiera, como un archivo.jpg.
    Al cargar el Archivo.dat detecta cuantos MB son, por ejemplo 2 MB.
    Opción para elegir cuantos KB a partir, en este caso, la mitad.
    Se renombra los archivos llamado Archivo_01.bin y Archivo_02.bin de 1 MB cada uno.
    Fin de programa.

¿Cómo se hace?

Espero que no sea muy complicado hacer estas cosas.

Saludo.
#253
Electrónica / Error raro de GameCube
9 Agosto 2014, 01:12 AM
Buenas:



La GameCube no gira el disco ni se ve el laser para que lo lea, a veces, se ve la imagen de arriba. He intentado calibra el lector siguiento este enlace y nada de nada.

No da nada señales de vida la parte del lector, nada de nada, si l apila, el ventilador. Lo de desarmado hasta las entrañas haber si veo algún conector suelto y nada de nada. También puedo acceder a la Memory cArd qu elo lee bien. Como dije antes, a veces se cuelga o se ve el mensaje rojo de arriba.

De entrada está más que muerta. Quiero saber lo que le pasa y si es posible repararla. Me iba a compra otra, pero prefiero la Wii normal ya que es capaz de leer juegos de GC.

La GC está totalmente libre de piratería.

¿Alguna chispa de luz?

Un cordial saludo.
#254
Hola:

Siendo este código en asm para PIC16F84A, ya lo pasaré a PIC16F88.

; Implementar una tabla de la verdad mediante el manejo de tablas grabadas en ROM.
; Por ejemplo, la tabla será de 3 entradas y 6 salidas tal como la siguiente:
;
;         C  B  A  | S5  S4  S3  S2  S1  S0
;         -----------|---------------------------
;         0   0   0   |   0    0    1    0    1    0    ; (Configuración 0).
;         0   0   1   |   0    0    1    0    0    1    ; (Configuración 1).
;         0   1   0   |   1    0    0    0    1    1    ; (Configuración 2).
;         0   1   1   |   0    0    1    1    1    1    ; (Configuración 3).
;         1   0   0   |   1    0    0    0    0    0    ; (Configuración 4).
;         1   0   1   |   0    0    0    1    1    1    ; (Configuración 5).
;         1   1   0   |   0    1    0    1    1    1    ; (Configuración 6).
;         1   1   1   |   1    1    1    1    1    1    ; (Configuración 7).
;
; Las entradas C, B, A se conectarán a las líneas del puerto A: RA2 (C), RA1 (B) y RA0 (A).
; Las salidas se obtienen en el puerto B:
; RB5 (S5), RB4 (S4), RB3 (S3), RB2 (S2), RB1 (S1) y RB0 (S0).
;
; ZONA DE DATOS **********************************************************************

    LIST        P=16F84A
    INCLUDE        <P16F84A.INC>
    __CONFIG    _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC

; ZONA DE CÓDIGOS ********************************************************************

    ORG     0                    ; El programa comienza en la dirección 0.
Inicio
    bsf        STATUS,RP0            ; Acceso al Banco 1.
    clrf    TRISB                ; Las líneas del Puerto B se configuran como salida.
    movlw    b'00011111'            ; Las 5 líneas del Puerto A se configuran como entrada.
    movwf    TRISA
    bcf        STATUS,RP0            ; Acceso al Banco 0.
Principal
    movf    PORTA,W                ; Lee el valor de las variables de entrada.
    andlw    b'00000111'            ; Se queda con los tres bits de entrada.
    addwf    PCL,F                ; Salta a la configuración adecuada.
Tabla
    goto    Configuracion0
    goto    Configuracion1
    goto    Configuracion2
    goto    Configuracion3
    goto    Configuracion4
    goto    Configuracion5
    goto    Configuracion6
    goto    Configuracion7
Configuracion0
    movlw     b'00001010'            ; (Configuración 0).
    goto    ActivaSalida
Configuracion1
    movlw     b'00001001'            ; (Configuración 1).
    goto    ActivaSalida
Configuracion2
    movlw     b'00100011'            ; (Configuración 2).
    goto    ActivaSalida
Configuracion3
    movlw     b'00001111'            ; (Configuración 3).
    goto    ActivaSalida
Configuracion4
    movlw     b'00100000'            ; (Configuración 4).
    goto    ActivaSalida
Configuracion5
    movlw     b'00000111'            ; (Configuración 5).
    goto    ActivaSalida
Configuracion6
    movlw     b'00010111'            ; (Configuración 6).
    goto    ActivaSalida
Configuracion7
    movlw     b'00111111'            ; (Configuración 7).
ActivaSalida
    movwf    PORTB                ; Visualiza por el puerto de salida.
    goto     Principal

    END
Partiendo del código de arriba, quiero hacer una tabla de la verdad para un display de 7 segmentos y la otra tabla es para configuración a otra cosa. En dicho display debe contar del 1 al 4.

La idea consiste con un pulsador, incrementar las dos tablas de la verdad.

¿Esto es posible?

Si no entiendes, lo explico de otra manera.

Un saludo.
#255
Hola a todos y a todas:

Quiero saber si en España se puede reparar en tu propia casa aparatos de consumo como televisores, ordenadores y demás equipos de tus amigos.

En temas de coche si reparas en tu garaje y te denuncian, he comprobado que se queda como ilegal y te metes en un buen lío.

¿En temas de la electrónica pasa igual?

Un saludo.
#256
Hola a todos y a todas:

Muchos paises hacen pruebas a las mujeres si valoran como principal, el físico, emocionalmente o lo económico. Curioso que sin trabajo en España, con las mujeres me cuesta muchísimo tener novia, pero mucho mucho. He quedado con muchas, al menos intentarlo, la mayoría como es normal me dan largas como pareja. Que casualidad que la que no me interesa, se me pega como una lapa.

Las tengo en facebook y los mensajes que leen y no responden, muchas son así.

Pasa el tiempo, me llega un trabajo para mantenimiento de unas máquinas de electrónica de potencia en los aeropuertos para que el redar funcione bien a las 24 horas, de paso no debo en ningún concepto retrasar y sobre todo desviar un vuelo a otro aeropuerto por mi culpa. Más adelante me tocó otro trabajo de reparación, instalción y mantenimiento de esquipos médicos en electromedicina.

Otro trabajo reparación de lavadoras, móviles, ordenadores, televisores y cosas así.

El final en la central eléctrica.

Sin trabajo no me como una rosca, con trabajo me vienen como gallinas en el corral al mismo tiempo y pelándose. He hecho pruebas con amigos, las mismas que me ignoraron, me vienen privadas a salir conmigo sin pensárselo dos veces. Otro amigo no le hacían caso. exeptuando que mostró ser Guardia Civil, le vinieron como abejas en el panal.

Lo más curioso que las más fea, gorda y poco interesantes vienen a por nosotros, parecían tontas pero vienen picar. También vienen la que parecía inalcansable para nosotros, muy atractivas, bellas hasta el cansansio hasta ver lo que hay detrás, inseguras, problemas de inesabilidad emocional, no son trigo limpio, autoestima baja y muy materialistas. Lo que nos sorprendió es que al creer que no eran interesadas algunas amigas que teníamos como que no lo eran, al final si lo son. Desechamos a las interesadas y salimos con las que no. Las demás detrás y que pesadas se ponen cuanto le das largas, las mismas que me daban a mi y mis amigos.

He probado con algunas cosas como, decirle que no me interesa su vida personal. Me reporcha lo que he escrito en facebook en privado hace 4 meses, le respondo que estoy haciendo pruebas con aparentar tener billetes y un Chalets, la que me armaron hasta con la policía. Encima vengativas.

Todos sabemos que la gran mayoría son interesadas, pero que te quieran meter preso por sentirse que nos reíamos de ellas cuando en realidad estábamos haciendo pruebas para un curso del paro sobre psicología, la que te arman.

¿Cuál es tu conclusión?

La mía es resumen: IMPRESIONANTE, no es lo mismo explicarlo y leerlo por aquí, que verlo con los propios ojos aunque ya lo tengas claro como el agua desde que naces.

Para recordad y reirte un poco, les dejo vídeos.
https://www.youtube.com/watch?v=yOO7LbTy6Ds
https://www.youtube.com/watch?v=TWvH7jEpMdA
https://www.facebook.com/photo.php?v=179776355556509&set=vb.139757129522136&type=2&theater

Saludos.
#257
Software / Buscando mejor programa de vídeo
11 Abril 2014, 20:56 PM
Hola:

Tengo un netbook HP Mini 110. Te viene una WebCam integrada. Quiero usarlo para grabar vídeos al menos casi una hora seguida sin interrupciones.

Mi idea es, querer poner este portatil mini enfrente de una lavadora para saber todos sus estados a la hora de lavar. Estoy haciendo un proyecto con Arduino y quiero hacer una buena placa casera que haga la misma función. Aún me falta hacer esto y con el vídeo haré notas sobre bolígrafo y papel mirando el vídeo sin tener que ir directamente con la lavadora. ¿Difícil de entender? ¿No me expresado bien?

Eso es todo, gracias.
#258
Hola:

Me ha lelgado estos e-mail y quiero saber sus concluiones. Mi opinión es ESTAFA y tomadura de pelo.

Me llega un e-mail de Honk Kong y escribiendo bien en español.

CitarNecesito a un socio para un proyecto de herencia

Le respondo.
CitarHola:

Parece ser que se ha equivocado de correo.

Un cordial saludo.

Me responde este testamento.
CitarEstimado socio,

Gracias por darme tu tiempo, permítanme comenzar por presentarme, soy Mrs.Flora Yu Yeung una plantilla de Lloyds TSB Group Plc, aquí en Hong Kong atado en servicios de banca privada, estoy contactando concerniente a un cliente y una inversión bajo nuestra gestión de los bancos; de hecho fue hace 3 años. Respetuosamente pido que mantienes el contenido de este correo privado y también respeto amablemente la integridad de la información obtuvo como resultado de este correo electrónico. Te contacté independientemente de nuestra investigación y nadie está informado de esta comunicación; Me gustaría íntimo con ciertos hechos que creo que sería de interés para usted. es de gran importancia para cuidar y entender cada palabra que he escrito a continuación; por favor, sea paciente y leer la explicación en mi correo electrónico.

Sé que usted podría estar preguntándose donde tengo tu email de contacto de pero para ser honesto con ustedes, tengo su correo electrónico de contacto discretamente en el centro de comercio, cámaras de comercio directorio aquí en Hong Kong, durante mi búsqueda de un socio confiable que sería de ayuda para mí para poder tener los fondos transferidos fuera de mi banco en Hong Kong.

En el año 2000, el tema en cuestión; Ref: FI/TSB/958/042/0510 vino a nuestro banco a entablar conversaciones de negocios con nuestro Departamento de servicios de banca privada. Nos informó que tenía una cartera financiera de $13,756,000 (13 millones, 756 mil dólares estadounidenses), que deseaba que nos entregue (invertir) en su nombre. Era el oficial asignado a su caso; Hice numerosas sugerencias en consonancia con mis deberes como el de-facto oficial jefe de operaciones del Departamento de servicios bancarios privados, especialmente teniendo en cuenta el volumen de fondos que deseaba poner en nuestro banco.

Pocos meses más tarde su atención era necesaria con respecto a una empresa que iba a discutir con él, pero era incapaz de llegar a él, hice vanos esfuerzos para localizarlo inmediatamente pasé la tarea de localizarlo en el Departamento de investigaciones internas de nuestro banco. Siete días después, información comenzó a filtrar, que estaba aparentemente muerto, una persona que adapta su descripción fue declarada a muerto de un ataque al corazón en Cannes, sur de Francia; pronto estábamos suficientemente capaces de reunir más información y la causa de muerte fue confirmada. El Banco lanzó inmediatamente una investigación sobre posibles sobrevivientes pariente para alertar sobre la situación y también para presentarse a reclamar sus fondos. Si usted está familiarizado con los asuntos de la banca privada, los que patrocinar nuestros servicios generalmente prefieren anonimato, pero también algunos niveles de la separación de los procesos convencionales. En su forma de datos biométricos, no enumeró ningún pariente. En el campo de la banca privada, abrir una cuenta con nosotros significa que nadie sabrá de su existencia, las cuentas se llevan a cabo raramente bajo un nombre; los depositantes utilizan números y códigos para hacer las cuentas anónimas. Este banco también da la opción a los depositantes de tener su correo enviado a ellos o en el banco, asegurando que no hay rastros de la cuenta y como he dicho, rara vez hacer nominar parientes más próximos. Los clientes de banca privada aparte de no nominar parientes también generalmente en la mayoría de los casos dejan testamentos en nuestro cuidado, en este caso; murió intestado... Sin ningún beneficiario de sus fondos.

Allí es de USD $13,756,000(13 Millones, 756 mil dólares de los Estados Unidos) depositado, solo tengo los detalles de depósito y se dará a conocer el depósito a nadie a menos que yo ordené que lo hagan. También yo solo sé de la existencia de este depósito para en cuanto a la firma de finanzas se refiere, la transacción con nuestro cliente fallecido concluyó cuando envié los fondos a la empresa, todas las interacciones pendientes en relación con el archivo son sólo los servicios al cliente y al debido proceso. El despacho de finanzas no tiene ni idea de lo que es la historia o la naturaleza del depósito individual, simplemente esperan instrucciones para liberar el depósito a cualquier partido que viene adelante y esta es la situación. Este banco ha gastado grandes cantidades de dinero tratando de localizar a la familia de los fallecidos; se han investigado durante meses y han encontrado ningún familiar pero sin embargo la investigación ha llegado oficialmente a su fin.

Mi propuesta; Estoy listo para ponerlo en una posición mediante el cual se da una instrucción a la firma de Finanzas para lanzar oficialmente el depósito a ti como el relación/socio sobreviviente más cercano, y etiqueta todo será hecha conforme a la regla de la ley, ciertamente puedo garantizarte que. Por el derecho consuetudinario, el poder de legar es coetáneos con los primeros rudimentos de la ley. No hay ninguna sentencia que impide que una herencia de ser tan agotada por legados que rendirlo indigno el suyo aceptación; perfecto funcionamiento, por el que el trabajo será coordinado de tal manera que se confirmaron su estatus como un único beneficiario. Tras la recepción del depósito, estoy dispuesto a compartir el dinero con ustedes en la mitad y no más; es decir: Yo simplemente nominarte como el pariente y que libere el depósito; luego compartimos los ingresos 60/40. para mí el 60% 40% para usted.

Yo hubiera seguido adelante a pedir ser liberado los fondos, que habría dibujado una línea recta a mí y a mi participación en reclamar el depósito, pero por otro lado, como un extranjero indiferente fácilmente pasaría como beneficiario de los derechos a reclamar, les aseguro que podría tener el depósito entregado a usted en unos pocos días. Simplemente informaré a nuestro banco del cierre final del archivo relacionados con el cliente, será entonces oficialmente comunicarse con la compañía de Finanzas e instruirlos para liberar el depósito con estas dos cosas: todo está hecho. La alternativa sería para que nosotros tener la firme directamente los fondos a otro banco con usted como titular de la cuenta, de esta manera no habrá ninguna necesidad para que usted pueda pensar en recibir el dinero de la empresa. Nosotros podemos ajustar esta basado en nuestras interacciones, soy consciente de las consecuencias de esta propuesta y pido si no encuentras ningún interés en este proyecto que debe desechar este mail. Además, pido que no seas vengativo o destructivas, si mi oferta es de no apelar a Ud., eliminar este mensaje y olvidar que jamás hablé por favor no destruyas mi carrera. Usted no puede saber esto pero gente como yo que han hecho sumas ordenadas salir de situaciones comparables ejecutar el sector bancario privado todo, yo no soy un criminal y lo que hago, no lo encuentro contra buena conciencia, esto puede ser difícil de entender, pero la dinámica de mi industria dicta que hacer este movimiento. Estas oportunidades sólo ven la forma una vez en la vida. No puedo dejar que esta oportunidad me pasan y espero que lo entiendas, porque por primera vez me encontré en un control total y cara a cara con mi destino. Estas oportunidades no me pasan, te pido que no destruir mi oportunidad, si no trabajará conmigo por favor, deje que me sé y por lo tanto, seguir adelante con mi vida, pero no destruirme; Soy una mujer de familia y esta es una ocasión para ofrecerles nuevas oportunidades. Hay una recompensa para este proyecto es una tarea bien vale la pena la empresa, yo he evaluado los riesgos y el único riesgo que tengo aquí es negarse a trabajar conmigo y para alertar a mi banco; Soy el único que conoce de esta situación, buena fortuna se te bendiga y te plantas en el centro de importancia en mi vida, compartamos la bendición.

Si usted se encuentra interesado en trabajar conmigo, por favor comuníquese conmigo en concreto, si me das señales positivas, iniciaré este proceso hacia una conclusión rápida. Es necesario informar a usted que bajo ninguna circunstancia debe usted contactarme vía canales oficiales; Simplemente negaré conocerlo y sobre este proyecto. Repito, no quiero que ponerse en contacto conmigo a través de nuestros oficiales ni líneas quiero contactarme a través de mi cuenta de correo electrónico oficial. No quiero ningún vínculo directo entre tú y yo. Mis líneas oficiales no son líneas seguras como ellos son monitoreados periódicamente para evaluar nuestro nivel de atención al cliente en línea con nuestra política de gestión de calidad Total, observe esta instrucción religiosa. Otra vez, ten en cuenta que soy una mujer de familia; Yo felizmente casado y con hijos, te envío este correo no es una medida de miedo en cuanto a cuáles podrían ser las consecuencias, pero sé que dentro de mí que no arriesga nada está ganado y que éxito y riquezas nunca fáciles o en una bandeja de oro, esta es la verdad que he aprendido de mis clientes de banca privada; no traicionar mi confianza. Si podemos estar de acuerdo debería tener el placer de conocerlo, después de haber completado esta tarea planear una reunión.

TENGO MIS RAZONES POR QUÉ ESTOY HACIENDO ESTO, MIS RAZONES ESTÁN POR DEBAJO:
1, El propietario Original de los fondos está muerto y no hay absolutamente ningún pariente
2, Si no hago esto, la gestión de mi banco libremente adquirirá este fondos, sin siquiera usarlo para prestar ayuda de cualquier tipo.
3, yo soy el oficial de cuenta a la cuenta de cuidar este fondos, la gestión de mi banco esperando mi decisión sobre esta cuestión.
4, Estoy haciendo esto por lo menos ayudar a la gente que amo y mi familia también
5, Realmente no lo veo como un acto pecaminoso. O codicia.
6, Así los fondos pueden cambiar de vida y otros por oportunidad, igual que tú y yo.

Espero su respuesta.

Suyo atentamente,

Este no le respondo y me llega otro y escribe lo mismo, solo que este caso en vez de poner RE: pone "Lea cuidadosamente y vuelve a mí‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎".
No le voy a responder más.

Pensaba qu eme iba a pedir ayuda con la electronica y me suelta cosas de los bancos, como para fiarse.

¿Cuál es tu opinión?

La mía es mostrarle la gran ignorada del año.

Saludo.
#259
Hola:
Labadora BEKO WMD 25100T.
Estaba dejando la lavadora que lave como siempre, cogió agua, giró el  motor unos pocos minutos y se bajó las palancas de la casa, el  magnetotérmico.
1) Cuando me doy cuenta se me quemó esta parte como muestra abajo.


2) Recuerdo que hace bastante meses había un relé  que parpadeaba y no sabía el motivo, la lavadora siempre funcionaba.  Comprobé cada diodo 1N4148 de cada relé que son 4, uno de ellos hacía  continuidad y los otros nadae nada. Cambié los 4, y los 4 relés a 24 VDC  funcionan bien, los comprobé desoldando.

3) Cuando vuelvo a reparar los conectores nuevos, el  motor no gira, hace ruido raro en los conectores abajo y olí quemado,  espero que no sea el mismo motor, entonces me da algo, cuesta entre 120 €   a 150 € y l alavadora costó 240 € en su día o 280 €, no recuerdo bien.  viendo el módulo del cortocircuito, está todo bien, como muestra abajo.

4) Como el cortocircuito ocurrió como se puede ver en la primera foto, está justo usando el triac BTB16-600BW,  es decir, de 16 Amp. y hasta 600 VAC para cargas inducticas como el  motor de la lavadora. He sido tan bruto desoldando con prisas que he  partido un pin del triac y ya si que estoy jodido del todo, ya que por  ahora en un local cerca, no los venden. Voy a preguntar a otro local. Se  que tienen el de 8 A, pero quiero uno de 16 A.

5) Quiero probar el triac pero no vale la pena ahora  proque falta un pin. Cuando consiga uno nuevo, haré estos tipos de  pruebas como muestra el esquema abajo y enlace sobre triac.

Enlace de comprobar triac.
http://100ciaencasa.blogspot.com.es[....]orial-electronica-basica-08-el.htm l
6) Por ahora sospecho que solo es el triac, también  un poco el transistor de controla los relés, y puede que el motor hasta  un poco quemado porque me llegó el olor. Comprobando las boninas,  parecen que conducen, pero lo veo como negras, si lo toco, me mancho de  negro, debo probar más y mostraré fotos. Es un motor universal AC/Dc,  probaré si arranca con 12VAC y 24 VAC ya que tengo un transdormador  líneal de 4 A.
7) Como en el local más cercano no tiene el triac de  16 A. si no de 8. Quiero probarlo sin usar la potencia máxima del  centrifugado o no usarlo para que no se pase. es un riesgo probar estas  cosas así, en caso contrario, debo estar semanas esperando que me  lleguen los componentes bajo pedido y encima pagando aduanas y gastos de  envío.
Cualquier sugerencia y ayuda me viene bien. No quiero comprar una  lavadora nueva, esta ya tiene 7 años y algo y me parece que ha durado  poco, la he reparado más de 10 veces y siempre me encuentro algún fallo  completamente nuevo que no tiene nada que ver uno con el otro. No quiero  estar semanas sin lavadora, antes de comprar una lavadora nueva, quiero  probar de todo. Por ahora me vale lavar a mano y ropa a remojo,  ejjejejejeje. Como los cavernícolas. ;)
Gracias por leer hasta aquí. ;)
#260
Hola:

He borrado sin querer 4 GB de fotos y vídeos HD de una tarjeta de memoria de una cámara. Quiero recuperar esas fotos y cuando lo hago con algún programa de  recuperar fotos, o no lo recupera por dice que la foto está dañana y si lo recupera solo me deja almacenar 20 MB y tambiñen dañada, ajajjaja.

¿Hay algún programa gratuito que te funcione sin restrinciones ni fallos?

Saludo.
#261
Hola:

Tengo un ordenador de 64 bits bajo Windows 7.

Tengo un disco duro por USB con 98 GB de datos, quiero pasar esos datos a mi disco duro principal. Si copio la carpeta que tiene 38 GB a otro disco duro, solo copia 4 GB. Si copio las 98 GB, solo copia 16 GB.

¿Por qué ocurre esto?

Un saludo.
#262
Hola:

Un amigo intentó reparar el conector de la fuente de alimentación del portatil ASUS X50GL, al final lo reparó él soldando y todo bien. Cuando iab a instalarle el Windows XP, entro con F2 y me encuentro que te pide la contraseña. Se lo puso uno del local que parece ser adrede. El local ya no está para denunciarlo y devuelva la clave.  Parece ser que quería tener nuestros ******* con el portatil y lalmarle a él. No sabemos donde está y el local no existe. Se fue a pique.

Nos contó un abogado, si el local se cerró, aunque tenga garantía, lo has perdido, no hay reclamo. Con todo esto quiero saber si existe la posibilidad de quitar la contraseña. He quitado la pila durante dos días, para mi sorpresa que todavía lo pide, ya no es como antes, ahora se guarda los datos en una EEPROM por lo que parece.

Tengo el portatil todavía desarmado. ¿Existe alguna manera de quitar la contraseña o el portatil se queda condenado así para toda la vida?
Ya no se podrá ni ajustar la hora, no instalar nada en el arranque, ni siquiera desde el CD.

Un cordial saludo.
#263
Hola:

Tengo un disco duro SATA TOSHIBA de 250 GB. Quiero recuperar las fotos que tengo dentro y otros archivos de clase. A veces el disco duro lee, tanto por USB con la carcasa externa o directamente en SATA desde el PC, lo que pasa que Windows carga mucho y simplemente no lo hace. Me da la sensación que está roto o rayado, aún así quiero hacer algo para recuperar los datos.

Lo he intentado pero no, no he logrado, a veces lee las particiones pero no las carpetas dentro o no te dice la cantidad de datos. A veces, depende como lo conecte, o lo muevas primero a lo bruto y lo vuelves a conectar, puede leer datos durante un tiempo.

Tampoco se puede formatear, a veces si, pero no quiero hacerlo. Iba a formatearlo y recuperar las fotos con algún programa que recupera fotos borradas. Espero no usar ese método al final.

¿Hay otras técnicas aunque sea chapuza?

Desde que lea, copio los datos a otro disco duro.

Un cordial saludo.
#264
Hola:

Con Cheat Engine busco las direcciones fijas de color verde para las variables. He hecho con Visual C# 2013 una palicación que lee las variables y me lo muestra en tiempo real como el juego. Si el juego marca 100 de vidas, en C# me lo refleja, si en el momento me marca 99, en C# pone 99. El problema es que al cerrar el proceso y lo vuelvo abrir, cambian las direcciones de las variables.

Me han contado, que existe la posibilidad encontrar variables fijas en los ejecutables de los juegos, aunque sea el notepad, la calculadora de Windows o tu propio exe.
A parte del Cheat Engine, me recomiendan usar ollydbg.

Hago estas preguntas.
1) ¿Realmente es cierto que Cheat Engine es capaz de encontrar direcciones totalmente fijas? (Es decir, que al volver abrir un proceso, encuentre una dirección que jamás varía).

2) Con OllyDBG me confirman que se busca un offset que nunca cambia, este si que lo hace. Lo que es complejo de buscar, pero existe la posibilidad. La pregunta es. ¿Qué usan ustedes para buscar variables fijas, Cheat Engine o ollydbg?

Tendré que ponerme con Ollydbg para lograrlo. Si existe la posiblidad en el Cheat Engine, me alegra saberlo.

Quiero saber sus opiniones.
#265
Hola:

Si abro una aplicación, con Cheat Engine puede buscar las variables de un juego. Son 3, se llaman Vida, Balas y Maná. Al menos quiero centrarme en la variable Vida, cuya dirección se puede ver abajo en "2. VIDA" ya encontrada.



Usando el lenguaje C# en modo consola, preferiblemente con Windows Form, el más que les guste, quiero lograr leer esas variables de ese proceso y mostrarlo C# en tiempo real, es decir, si el juego tiene 100 Vidas, en tu aplicación C# debe aprecer también 100, si de repente tienes 95 en el juego o proceso, también debe aparecer 95 en tu aplicación.

Hace un tiempo estuve con ello bajo C++ 2013 y que va, me pego media vida y encima creando dll.

Al menos si alguien es capaz de enseñar como se hace realmente. O algún ejemplo si es posible y entendible.

Saludo.
#266
Hola:

Tengo una variable creada conVisual C++ 2013 en Win32. Su código es de abajo. Tiene variables que se llama Vida, Balas y Mana.

#include <stdio.h>
#include <Windows.h>

bool vida = false; // = true;
bool balas = false;
bool mana = false;

bool salir = false;

void Hacks()
{
DWORD entryPoint = (DWORD)GetModuleHandle(NULL);
while (!salir) // while ("NO" (salir == true)) => while (salir == false) --> "mientras no salir" --> "mientras no tengamos que salir"
{
DWORD estructura = *(DWORD*)(entryPoint + 0x544C);

// HACK VIDA = 100
if (vida) // if (vida == true) -> "Si la vida es verdadera"
{
// Nivel 1
*(DWORD*)(entryPoint + 0x5444) = 100;

// Nivel 2
// PUNTERO -> DIRECCION (ADDRESS) -> VIDA
DWORD direccion = *(DWORD*)(entryPoint + 0x5448);
if (direccion != 0)
{
*(DWORD*)(direccion) = 100;
}

// Nivel 3
// PUNTERO (ESTRUCTURA) -> DIRECCION (ADDRESS) + OFFSET -> VIDA
if (estructura != 0)
{
*(DWORD*)(estructura + 0) = 100;
}
}

if (balas)
{
// Nivel 1
*(DWORD*)(entryPoint + 0x5454) = 10;

// Nivel 2
// PUNTERO -> DIRECCION (ADDRESS) -> BALAS
DWORD direccion = *(DWORD*)(entryPoint + 0x5460);
if (direccion != 0)
{
*(DWORD*)(direccion) = 10;
}

// Nivel 3
// PUNTERO (ESTRUCTURA) -> DIRECCION (ADDRESS) + OFFSET -> VIDA
if (estructura != 0)
{
*(DWORD*)(estructura + 4) = 10;
}
}

if (mana)
{
// Nivel 1
*(DWORD*)(entryPoint + 0x545C) = 100;

// Nivel 2
// PUNTERO -> DIRECCION (ADDRESS) -> MANA
DWORD direccion = *(DWORD*)(entryPoint + 0x5450);
if (direccion != 0)
{
*(DWORD*)(direccion) = 100;
}

// Nivel 3
// PUNTERO (ESTRUCTURA) -> DIRECCION (ADDRESS) + OFFSET -> VIDA
if (estructura != 0)
{
*(DWORD*)(estructura + 8) = 100;
}
}

Sleep(200); // 200 milisegundos
// Sleep(1);
}
}

void Teclado()
{
while (!salir)
{
// 'a' => vida = activar/desactivar (true/false)
if (GetAsyncKeyState(VkKeyScan('a')) & 1)
{
vida = !vida; // ! "NO"/"LO CONTRARIO"
/*
vida es true
vida = "NO" true => vida = false
vida = "NO" false => vida = true
*/
}

// 's' => balas = activar/desactivar (true/false)
if (GetAsyncKeyState(VkKeyScan('s')) & 1)
{
balas = !balas;
}

// 'd' => mana = activar/desactivar (true/false)
if (GetAsyncKeyState(VkKeyScan('d')) & 1)
{
mana = !mana;
}

Sleep(300);
}
}

// DllMain <---
// Cierra --> Dllmain
BOOL WINAPI DllMain(HINSTANCE module, DWORD reason, LPVOID reserved)
{
if (reason == DLL_PROCESS_ATTACH)
{
// OK! Estamos dentro!
// Thread
// Hacks();
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)Hacks, 0, 0, 0);
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)Teclado, 0, 0, 0);
}
else if (reason == DLL_PROCESS_DETACH)
{
// Salimos del juego!
salir = true;
}

// Devolver
return true;
}


Usando Visual C# 2013, creando otro proyecto a parte con Windows Form, coloco la dll llamada HackDLL.dll en el directorio del proyecto del C#.

Creao en C# una clase que se llama Super_DLL.cs. Dentro de ella tiene este código que en realidad no es nada.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Runtime.InteropServices; // No olvidar. Para Dllimport.

namespace Prueba_DLL
{
    class Super_DLL
    {
        [DllImport("HackDLL.dll")]
       
    }
}


El formulario principal solo he colocado un using.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using Prueba_DLL; // No olvidar este using. Para llamar a la clase Super_DLL.cs.

namespace Prueba_DLL
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
    }
}


En Windows Form de C# solo tiene tres label para mostrar dichas variables. Los label para no condundir se llama su nombre interno.

label_vida

label_balas

label_mana

No se si es posible hacerlo con el código mostrado. Lo que hace simplente ejecutar un juego básico hecho con C++ 2013 (no tengo código fuente y puede ser el ejecutable de cualquier juego).

Se crea una dll a parte con otro proyecto del código de arriba.

Luego creo otro proyecto con Windows Form bajo C# como dije antes arriba. Solo tiene que leer las variables del juego cuando está en ejecución. La dll hace el trabajo principal leyendo y C# solo muestra información optenida gracias a la dll.

Espero que se entienda y me ayuden.

Saludo.
#267
Hola:

Quiero hacer un menú con Visual C/C++ 2013, la aplicación en en consola a Win32, nada de FrameWork .net y CLR.

Hice uno muy básico, estoy siguiendo tutriales por todas partes, por ahora parece que funciona pero las tildes como la ó al compilar el programa sale caracteres raros.

Por ahora solo he hecho esto sin las funciones.
#include<iostream>
using namespace std;

void Imprimir_menu(){
cout << "\n\nOpciones: ";
cout << "\n(1) Ver variables.";
cout << "\n(2) Variable tiempo.";
cout << "\n(3) Sumar o restar variables.";
cout << "\n(4) Opción pendiente 4.";
cout << "\n(5) Opción pendiente 5.";
cout << "\n(6) Salir del programa. \n";
cout << "\nOpción: ";
}

void Ver_varibales(){
//Defines lo que debe hacer
}

void Variable_tiempo(){
//Defines lo que debe hacer
}

void Sumar_o_restar_variables(){
//Defines lo que debe hacer
}

void Opcion_pendiente_4(){
//Defines lo que debe hacer
}

void Opcion_pendiente_5(){
//Defines lo que debe hacer
}

int main(){
bool bContinuar = true;
int opcion = 0;
while (bContinuar){
cout << "\n\nSeleccione una opción del siguiente menu: ";
Imprimir_menu();
cin >> opcion;
switch (opcion){
case 1:
Ver_varibales();
break;
case 2:
Variable_tiempo();
break;
case 3:
Sumar_o_restar_variables();
break;
case 4:
Opcion_pendiente_4();
break;
case 5:
Opcion_pendiente_5();
break;
case 6:
bContinuar = false;
cout << "\nEjecución terminada....";
break;
defualt:
cout << "\nPor favor selecciona una opción del 1 al 6";
break;
}
}
}


A lo mejor el código base lo pueden mejorar si les apetece antes de seguir con las variables. Que es solamente hacer otro submenú que pregutne que haré con dichas variables, solamente si pulsas Q, incremente un punto en una variable, si pulsas W, disminuye un punto.

La variable de entrada vale 10 como int. luego se cambia cuando selecciones aumentar o disminuir como dije antes. Esa es la primera opción. La obsión 2 o el segundo menú, hay un temporizador que cuenta de 100 segundos a 0. Cuando llegue a 0 sale a otro submenú que diga "Se acabó el tiempo."
El tiempo lo puedes detener pulsando P y continuar pulsado L.

Son detalles que todavía con este lenguaje no se hacer. Por eso quiero una ayudita.

Según vea las ayudas, seguiré haciendo por mi cuenta las otras opciones.

Un saludo.

Edito:
Aquí hay algo más o menos que se entiende para hacer menús.
[youtube=640,360]http://www.youtube.com/watch?v=yTG55pHs_gM[/youtube]
#268
Hola:

¿Cómo crear un Windows Form en C++ 2013?

Aquí hay un ejemplo para crearlo en CLR que no me interesa.
http://jabatogames.blogspot.com.es/2013/03/activar-windows-froms-en-visual-studio.html

Quiero lograrlo en Win32 con el código exe nativo, nada de FramWork como usa C# en C CLR. ;)

Un saludo.
#269
Electrónica / Probando PIC Simulator IDE
14 Marzo 2014, 03:48 AM
Hola:

Usando un PIC16F877A a XT de 4 MHz con el PIC simulator IDE.

Pin RA0 como salida para encender un Led.
Pin RB0 como entrada de un pulsador, no interruptor.

Lo que quiero hacer es lo siguiente, no tengo idea de estelenguaje pero quiero verlo como curiosidad de una vista rápida.

Al pulsar el pulsador, el Led se queda encendido durante 1 minuto, luego se apaga. Solo quiero hacer eso. ¿Cómo es el código?

Intenté hacer esta chapuza pero no va.
AllDigital
TRISA = %00000000
TRISD = %00000001

inicio:
If PORTB.0 = 1 Then  '¿Pulsador en 1? (Sin pulsar).
Goto motor  'Se cumple esta condición al motor.
Else  'En caso contrario.
PORTB.0 = 0  'Motor apagado.
Endif
Goto inicio  'Vuelve a escanear el pulsador.

motor:
PORTD.0 = 1  'Activa el motor.
WaitMs 250  '15 es un segundos.
PORTD.0 = 0  'Se apaga elmotor.
Goto inicio  'Vuelve a escanear o leer el pulsador.
End 
Un cordial saludo.

Edito:

Para hacerlo más complejo. Por el pin
RB0 = Entrada digital, pulsador.
RB1 = Igual.
RB2 = Igual.
RB3 = Detiene el tiempo. Stop.

RD0 = Motor encendido que puede ser de 5, 10 o 20 minutos.
RD1 = Led encendido durante 5 minutos con el motor RD0. Los demás Led apgados.
RD2 = Lo mismo pero a 10 minutos.
RD3 = Lo mimso pero en 20 minutos.

El esquema es parecido a este pero con el PIC16F877A.

Como es un lenguaje que no conozco, me cuesta muchísimo coger el hilo. ;)
#270
Hola:

En el visual C++ 2010 Express incluye el Windows Form de entrada, a partir del 2012 creí que lo han quitado, más de un usurario del foro piensa lo mismo y hablamos del tema de que íbamos a comprobar que realmente lo incluye o lo han quitado. Lo que no recuerdos sus nick del foro.

Se trata de usar Visual C++ Express 2013 y trabajar con el Windows Form de toda la vida, se incluye un button y que al pulsarlo diga "Hola Mundo".

Por ahora no hago bien el trabajo, les pondo el proceso de lo que he hecho para que me guíen los que sepan.

1) Hago click arriba en ARcHIVO->Archivo nuevo. Como nombre lo dejjo como está por defecto. Pulsa Aceptar.

2) Pulsar Siguiente.

3) Pulsa Proyecto vacío, que esté marcado y luego Finalizar.

4) Paso 4 leer en la imagen de abajo.

5) Por fin encontré que el Windows Form si se incluye en el Visual C++ 2013.

6) No queda otra que pulsar Sí, si quiere usarlo.

7) Por fin se ve en el Visual C++ 2013 la ventana perfecta para tarbajar con los componentes button y demás como en C# y VB .net.

8) Aquí mi duda. En el explorador de solucioines puedo agregar un Windows Form donde lo acabo de añadir "Archivos de códigos fuentes" y también se puede añadir en "Archivos de encabezado". Añade un label en el centro del formulario como indica abajo y luego, pulsa F7 que significa Compilar solución.

9) Mirando el código fuente del formulario, da errores como que no encuentran los using. En Visual C++ 2010 no es tan majadero crear un formulario Windows y no da problemas de este tipo. Tampoco deja depurar con F5.

A partir de aquí no se que hacer, a lo mejor no he hecho el procedimiento adecuado para crear formularios como proyecto principal. Al menos se que existe una forma de crear formularios Windows en Visual C++ Express 2013  y menos mal, no quiero siempre trabajar en modo consola.

¿Alguna idea?

Un saludo.