• Jueves 25 de Abril de 2024, 08:46

Autor Tema:  Pasar código de Visual a MonoDevelop  (Leído 1272 veces)

Meta

  • Miembro MUY activo
  • ***
  • Mensajes: 140
    • Ver Perfil
Pasar código de Visual a MonoDevelop
« en: Martes 9 de Diciembre de 2008, 00:35 »
0
Hola:

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

El manual es este:
Ver manual

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

Contraseña = D.P.E.

Si no pueden descargarlo, me avisan.

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

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

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

Un cordial saludo.

EDITO:

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

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

Saludo.

psikotic

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Pasar código de Visual a MonoDevelop
« Respuesta #1 en: Sábado 10 de Enero de 2009, 05:15 »
0
el serialPort es un Handler para un Kernel Object de Windows no?,  por que no buscas alguna dll en C++ que manipule Kernel Objects (el puerto serial) de Linux y luego usas P/Invoke en C#, no he programado en Linux pero debe haber librerias en C++ para manipular el puerto serial