elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ... 255
101  Programación / .NET (C#, VB.NET, ASP) / Re: Dibujar medio círculo en: 22 Enero 2023, 07:59 am
Hecho.
Código
  1. using System;
  2. using System.Drawing;
  3. using System.Drawing.Drawing2D;
  4. using System.Reflection;
  5. using System.Windows.Forms;
  6. using static System.Windows.Forms.VisualStyles.VisualStyleElement;
  7.  
  8. namespace GDI_circulo_flecha_02
  9. {
  10.    public partial class Form1 : Form
  11.    {
  12.        // Variables.
  13.        SemiCírculo sc;
  14.        public int x2 = 0;
  15.        public Form1()
  16.        {
  17.            InitializeComponent();
  18.        }
  19.  
  20.        private void Form1_Load(object sender, EventArgs e)
  21.        {
  22.            // Configuramos el o los controles como inicio.
  23.  
  24.            // trackBar1.
  25.            trackBar1.Minimum = 0;          // 0 grados.
  26.            trackBar1.Maximum = 180;        // 180 grados.
  27.            trackBar1.Value = 90;           // 90 grados.
  28.            trackBar1.LargeChange = 0;      // Precisión.
  29.            x2 = 270;                       // 270º.
  30.  
  31.            // Form1.
  32.            this.BackColor = Color.GreenYellow;   // Fondo verde amarillo.
  33.  
  34.            // Crear brocha sólida color blaco.
  35.            SolidBrush fondoBlanco = new SolidBrush(Color.White);
  36.  
  37.            // Crear localización y tamaño del eclipse.
  38.            int anchura_x1 = 0;
  39.            int altura_y1 = 0;
  40.            int anchura_x2 = 100;
  41.            int altura_y2 = 100;
  42.  
  43.            sc = new SemiCírculo(fondoBlanco, anchura_x1, altura_y1, anchura_x2, altura_y2);
  44.        }
  45.  
  46.        private void panel1_Paint(object sender, PaintEventArgs e)
  47.        {
  48.            typeof(Panel).InvokeMember("DoubleBuffered",
  49.            BindingFlags.SetProperty | BindingFlags.Instance | BindingFlags.NonPublic,
  50.            null, (Panel)sender, new object[] { true });
  51.  
  52.            // e.Graphics.TranslateTransform(75, 75); // Algún margen.
  53.  
  54.            // Dibujamos un círculo blanco.
  55.            sc.Dibujar(e.Graphics);
  56.  
  57.            // Fleccha que se mueve de 0 a 180 grados.
  58.            Pen pen = new Pen(Color.Black, 8)        // Color negro y el 8 es el grosor de la flecha.
  59.            {
  60.                StartCap = LineCap.RoundAnchor,     // Anclar en el inicio.
  61.                EndCap = LineCap.ArrowAnchor        // Flecha en el final.
  62.            };
  63.            e.Graphics.TranslateTransform(50, 50);  // Origen de coordenadas.
  64.            e.Graphics.RotateTransform(x2);         // Rotación.
  65.            e.Graphics.DrawLine(pen, 0, 0, 50, 0);  // Dibujar línea.
  66.        }
  67.  
  68.        private void trackBar1_Scroll(object sender, EventArgs e)
  69.        {
  70.            // Quita el declarador del tipo, si no ocultas la variable que querías usar.
  71.            x2 = 180 + trackBar1.Value;             // 0 grado = trackbar maximun.
  72.            panel1.Invalidate();                    // Redibujar.
  73.            label_grados.Text = x2.ToString();
  74.        }
  75.  
  76.    }
  77.  
  78.    class SemiCírculo
  79.    {
  80.        GraphicsPath gp;
  81.        SolidBrush fondo;
  82.        Pen trazo;
  83.  
  84.        public SemiCírculo(SolidBrush fondo, int x, int y, int ancho, int alto)
  85.        {
  86.            gp = new GraphicsPath();
  87.  
  88.            gp.AddArc(x, y, ancho, alto, 180, 180);
  89.            gp.CloseFigure();
  90.  
  91.            this.fondo = fondo;
  92.  
  93.            trazo = new Pen(fondo, 2)
  94.            {
  95.                Alignment = PenAlignment.Inset
  96.            };
  97.        }
  98.  
  99.        // Dibujar trazo y fondo.
  100.        public void Dibujar(Graphics g)
  101.        {
  102.            g.DrawPath(trazo, gp);
  103.            g.FillPath(fondo, gp);
  104.        }
  105.    }
  106. }
  107.  
102  Informática / Electrónica / Re: condensador como almacen/deposito de electrones en: 21 Enero 2023, 19:59 pm
Hola:

Guarda electrones, no datos.

Saludos.
103  Informática / Electrónica / Re: Contador 59 segundos en VHDL en: 21 Enero 2023, 19:58 pm
Hola:



Saludos.
104  Programación / .NET (C#, VB.NET, ASP) / Dibujar medio círculo en: 21 Enero 2023, 17:12 pm
Buenas:



Como se puede ver en la imagen, hay un círculo blanco y dentro una flecha negra. La flecha puedes moverla desde los 90º pasando por 0º hasta los -90º. La mitad del círculo hacia abajo no quiero que aparezca, solo medio círculo.

Lo he trabajado con GDI+ .net 4.8.

¿Es posible conseguirlo hacer como pido?

Código C# hecho hasta ahora.

Código
  1. using System;
  2. using System.Drawing;
  3. using System.Drawing.Drawing2D;
  4. using System.Reflection;
  5. using System.Windows.Forms;
  6.  
  7. namespace GDI_circulo_flecha_02
  8. {
  9.    public partial class Form1 : Form
  10.    {
  11.        public int x2 = 0;
  12.        public Form1()
  13.        {
  14.            InitializeComponent();
  15.        }
  16.  
  17.  
  18.        private void Form1_Load(object sender, EventArgs e)
  19.        {
  20.            // Configuramos el o los controles como inicio.
  21.  
  22.            // trackBar1.
  23.            trackBar1.Minimum = 0;          // 0 grados.
  24.            trackBar1.Maximum = 180;        // 180 grados.
  25.            trackBar1.Value = 90;           // 90 grados.
  26.            trackBar1.LargeChange = 0;      // Precisión.
  27.            x2 = 270;                       // 270º.
  28.  
  29.            // Form1.
  30.            this.BackColor = Color.GreenYellow;   // Fondo verde amarillo.
  31.        }
  32.  
  33.        private void panel1_Paint(object sender, PaintEventArgs e)
  34.        {
  35.            typeof(Panel).InvokeMember("DoubleBuffered",
  36.            BindingFlags.SetProperty | BindingFlags.Instance | BindingFlags.NonPublic,
  37.            null, (Panel)sender, new object[] { true });
  38.  
  39.            // Crear brocha sólida color blaco.
  40.            SolidBrush fondoBlanco = new SolidBrush(Color.White);
  41.  
  42.            // Crear localización y tamaño del eclipse.
  43.            int anchura_x1 = 0;
  44.            int altura_y1 = 0;
  45.            int anchura_x2 = 100;
  46.            int altura_y2 = 100;
  47.  
  48.            // e.Graphics.TranslateTransform(75, 75); // Algún margen.
  49.  
  50.            // Dibujamos un círculo blanco.
  51.            e.Graphics.FillEllipse(fondoBlanco, anchura_x1, altura_y1, anchura_x2, altura_y2);
  52.  
  53.            // Fleccha que se mueve de 0 a 180 grados.
  54.            Pen pen = new Pen(Color.Black, 8)       // Color negro y el 8 es el grosor de la flecha.
  55.            {
  56.                StartCap = LineCap.RoundAnchor,     // Anclar en el inicio.
  57.                EndCap = LineCap.ArrowAnchor        // Flecha en el final.
  58.            };
  59.            e.Graphics.TranslateTransform(50, 50);  // Origen de coordenadas.
  60.            e.Graphics.RotateTransform(x2);         // Rotación.
  61.            e.Graphics.DrawLine(pen, 0, 0, 50, 0);  // Dibujar línea.
  62.        }
  63.  
  64.        private void trackBar1_Scroll(object sender, EventArgs e)
  65.        {
  66.            // Quita el declarador del tipo, si no ocultas la variable que querías usar.
  67.            x2 = 180 + trackBar1.Value;             // 0 grado = trackbar maximun.
  68.            panel1.Invalidate();                    // Redibujar.
  69.            label_grados.Text = x2.ToString();
  70.        }
  71.    }
  72. }

Saludos
105  Programación / Scripting / ¿Se puede hacer un chat entre dos PC con PowerShell? en: 21 Enero 2023, 11:39 am
Buenas:

Quiero hacer un buen mini chat para el puerto serie entre dos PC. Como no estoy famirializado, quiero ayuda.

Tengo tres programas que hacen lo mismo en C#, VB .net y C++ .net en modo consola del mini chat y funciona entre ellos.

Al menos dejo el código fuente de C# si alguien lo compara y lo logra hacer. Si quieres otro lenguaje, lo cuentas y lo subo la versión completa.

Código C#:
Código
  1. using System;
  2. using System.IO;
  3. using System.IO.Ports;
  4. using System.Text;
  5. using System.Threading;
  6.  
  7. namespace Chat_Consola_04
  8. {
  9.    class Program
  10.    {
  11.        static bool _continua;
  12.        static SerialPort Puerto_serie;
  13.  
  14.        static void Main(string[] args)
  15.        {
  16.            const int MAXIMA_LONGITUD = 40000;
  17.            string COM = "";
  18.            string nombre;
  19.            string mensaje;
  20.            string titulo = "Mini chat C#";
  21.            string tu = "<Tú>";
  22.  
  23.            StringComparer comparaString = StringComparer.OrdinalIgnoreCase;
  24.            Thread readThread = new Thread(Leer);
  25.  
  26.            #region Configuración ventana.
  27.            // Título de la ventana.
  28.            Console.Title = titulo;
  29.  
  30.            // Tamaño de la ventana, x, y, o ancho y alto.
  31.            const byte ANCHO_X = 70, ALTO_Y = 25;
  32.            Console.SetWindowSize(ANCHO_X, ALTO_Y);
  33.  
  34.            // Color de fondo.
  35.            Console.BackgroundColor = ConsoleColor.Green;
  36.  
  37.            // Color de las letras.
  38.            Console.ForegroundColor = ConsoleColor.Black;
  39.  
  40.            // Limpiar pantalla y dejarlo todo en color de fondo.
  41.            Console.Clear();
  42.  
  43.            // Visible el cursor.
  44.            Console.CursorVisible = true;
  45.            #endregion
  46.  
  47.            #region Configuración puerto serie.
  48.            // Crear un nuevo objeto SerialPort con la configuración predeterminada.
  49.            Puerto_serie = new SerialPort();
  50.  
  51.            // Codificar a UTF-8 para que se vean bien las tildes, ñ y otros caracteres.
  52.            Puerto_serie.Encoding = Encoding.UTF8;
  53.  
  54.            // Obtenga una lista de nombres de puertos serie.
  55.            string[] puertos = SerialPort.GetPortNames();
  56.  
  57.            Console.WriteLine("Se encontraron los siguientes puertos series:");
  58.  
  59.            // Muestre el nombre de cada puerto en la consola.
  60.            foreach (string puerto in puertos)
  61.            {
  62.                Console.WriteLine(puerto);
  63.            }
  64.  
  65.            // Configuración.
  66.            Console.Write(@"
  67. Introduzca un número para seleccionar puerto COM.
  68. Por ejemplo el 4, sería COM4.
  69.  
  70. Puerto: ");
  71.            COM = Console.ReadLine(); // Escribir el número del puerto.
  72.            Console.Clear(); // Limpiar pantalla.
  73.  
  74.            Puerto_serie.PortName = "COM" + COM; // Número del puerto serie.
  75.  
  76.            // Configuración del puerto serie.
  77.            Puerto_serie.BaudRate = 115200;
  78.            Puerto_serie.Parity = Parity.None;
  79.            Puerto_serie.StopBits = StopBits.One;
  80.            Puerto_serie.DataBits = 8;
  81.            Puerto_serie.Handshake = Handshake.None;
  82.            Puerto_serie.RtsEnable = true;
  83.  
  84.            // Establecer los tiempos de espera de lectura / escritura.
  85.            Puerto_serie.ReadTimeout = 500; // 500 Milisegundos.
  86.            Puerto_serie.WriteTimeout = 500; // 500
  87.  
  88.            // Comprueba si puede abrir el puerto serie.
  89.            try
  90.            {
  91.                Puerto_serie.Open(); // Abrir el puerto serie.
  92.            }
  93.  
  94.            // En caso que diera algún error como que no encuentra el puerto seleccionado
  95.            // muestra una excepción.
  96.            catch (IOException)
  97.            {
  98.                Console.ForegroundColor = ConsoleColor.Red; // Texto en rojo.
  99.                Console.CursorVisible = false;
  100.                Console.SetCursorPosition(16, 6);
  101.                Console.WriteLine(@"El puerto " + Puerto_serie.PortName + @" no existe
  102.                o no lo encuentra.");
  103.                Console.ReadKey();   // Pulse cualquier tecla.
  104.                Environment.Exit(1); // Salir de la aplicación.
  105.            }
  106.  
  107.            // Se ha denegado el acceso al puerto.
  108.            catch (UnauthorizedAccessException)
  109.            {
  110.                Console.ForegroundColor = ConsoleColor.Red; // Texto en rojo.
  111.                Console.CursorVisible = false;
  112.                Console.SetCursorPosition(16, 6);
  113.                Console.WriteLine(@"Se ha denegado el acceso al puerto " + Puerto_serie.PortName +
  114.                                "" +
  115.                                "\nPuede estar el puerto escogido en uso.\n" +
  116.                                "Elija un puerto diferente o desactiva el que está en uso.");
  117.                Console.ReadKey();   // Pulse cualquier tecla.
  118.                Environment.Exit(1); // Salir de la aplicación.
  119.            }
  120.            #endregion
  121.  
  122.            _continua = true;
  123.            readThread.Start();
  124.  
  125.            // Mostrar texto Nombre y se
  126.            Console.Write("Nombre: ");
  127.  
  128.            // guarda en la variable nombre.
  129.            nombre = Console.ReadLine();
  130.  
  131.            // Se muestra el nombre o nick y el puerto seleccionado al final del título de la ventana.
  132.            Console.Title = titulo + "- Nick: " + nombre + " - COM: " + COM;
  133.  
  134.            Console.WriteLine("Escriba /salir para salir.");
  135.  
  136.            while (_continua)
  137.            {
  138.                // Cualquier caracter recibido se guarda en la variable mensaje.
  139.                //mensaje = Console.ReadLine();
  140.  
  141.                #region Enviar más de 255 caracteres.
  142.                // #########################################################################
  143.                Stream entradaDeDatos = Console.OpenStandardInput();
  144.                byte[] buffer = new byte[MAXIMA_LONGITUD];
  145.                int numerosBytesLeidos = entradaDeDatos.Read(buffer, 0, MAXIMA_LONGITUD);
  146.                char[] chars = Console.InputEncoding.GetChars(buffer, 0, numerosBytesLeidos);
  147.                mensaje = new string(chars);
  148.                // #########################################################################
  149.                #endregion
  150.  
  151.                // Compara /salir con el mensaje /salir si lo haz escrito igual.
  152.                // ¿Escribiste la palabra /salir?
  153.                if (comparaString.Equals("/salir\r\n", mensaje))
  154.                {
  155.                    // Sí. Entonces, pone esta variable _continue en false.
  156.                    _continua = false;
  157.                }
  158.                // No. Entonces, envía por el puerto serie tu nick
  159.                // y mensaje que haz escrito.
  160.                else
  161.                {
  162.                    Puerto_serie.WriteLine(String.Format("<{0}>: {1}", nombre, mensaje));
  163.                }
  164.            }
  165.  
  166.            // Bloquea el subproceso.
  167.            readThread.Join();
  168.  
  169.            // Cierra el puerto serie.
  170.            Puerto_serie.Close();
  171.        }
  172.  
  173.        // Lee mensaje recibido.
  174.        public static void Leer()
  175.        {
  176.            // Si _continua es true se ejecuta todas las instrucciones dentro de while.
  177.            while (_continua)
  178.            {
  179.                try
  180.                {
  181.                    // Almacena en la variable mensaje cualquier caracter o mensaje recibido.
  182.                    string mensaje = Puerto_serie.ReadLine();
  183.  
  184.                    // Muestra en pantalla mensaje recibido.
  185.                    Console.WriteLine(mensaje);
  186.                }
  187.                catch (TimeoutException) { }
  188.            }
  189.        }
  190.    }
  191. }

Saludos.
106  Programación / .NET (C#, VB.NET, ASP) / Re: Identificador no declarado en: 20 Enero 2023, 19:52 pm
Ya funciona.

Lo dejo el código completo aquí por si alguien lo necesita.

Muchas gracias.

Código
  1. #include "pch.h"
  2. using namespace System::Threading;
  3. using namespace System;
  4. using namespace System::IO;
  5. using namespace System::IO::Ports;
  6. using namespace System::Text;
  7.  
  8. ref class Chat
  9. {
  10. static bool _continua;
  11. static SerialPort^ Puerto_serie;
  12.  
  13. public:
  14. static void Main(array<System::String^>^ args)
  15. {
  16. const int MAXIMA_LONGITUD = 40000;
  17. String^ COM = "";
  18. String^ nombre;
  19. String^ mensaje;
  20. String^ titulo = "Mini chat C++ CLR .net";
  21.  
  22.  
  23. StringComparer^ comparaString = StringComparer::OrdinalIgnoreCase;
  24. //Thread^ readThread = gcnew Thread(Leer);
  25. Thread^ readThread = gcnew Thread(gcnew ThreadStart(Chat::Leer));
  26.  
  27. #pragma region Configuración ventana.
  28. // Título de la ventana.
  29. Console::Title = titulo;
  30.  
  31. // Tamaño de la ventana, x, y, o ancho y alto.
  32. const Byte ANCHO_X = 70, ALTO_Y = 25;
  33. Console::SetWindowSize(ANCHO_X, ALTO_Y);
  34.  
  35. // Color de fondo.
  36. Console::BackgroundColor = ConsoleColor::Yellow;
  37.  
  38. // Color de las letras.
  39. Console::ForegroundColor = ConsoleColor::Black;
  40.  
  41. // Limpiar pantalla y dejarlo todo en color de fondo.
  42. Console::Clear();
  43.  
  44. // Visible el cursor.
  45. Console::CursorVisible = true;
  46. #pragma endregion
  47.  
  48. #pragma region Configuración puerto serie.
  49. // Crear un nuevo objeto SerialPort con la configuración predeterminada.
  50. Puerto_serie = gcnew SerialPort();
  51.  
  52. // Codificar a UTF-8 para que se vean bien las tildes, ñ y otros caracteres.
  53. Puerto_serie->Encoding = Encoding::UTF8;
  54.  
  55. // Obtenga una lista de nombres de puertos serie.
  56. array<String^>^ puertos = SerialPort::GetPortNames();
  57.  
  58. Console::WriteLine("Se encontraron los siguientes puertos series:");
  59.  
  60. // Muestre el nombre de cada puerto en la consola.
  61. for each (String ^ puerto in puertos)
  62. {
  63. Console::WriteLine(puerto);
  64. }
  65.  
  66. // Configuración.
  67. Console::Write(
  68. "Introduzca un número para seleccionar puerto COM.\n"
  69. "Por ejemplo el 4, sería COM4.\n"
  70. "\n"
  71. "Puerto: ");
  72. COM = Console::ReadLine(); // Escribir el número del puerto.
  73. Console::Clear(); // Limpiar pantalla.
  74.  
  75. Puerto_serie->PortName = "COM" + COM; // Número del puerto serie.
  76.  
  77. // Configuración del puerto serie.
  78. Puerto_serie->BaudRate = 115200;
  79. Puerto_serie->Parity = Parity::None;
  80. Puerto_serie->StopBits = StopBits::One;
  81. Puerto_serie->DataBits = 8;
  82. Puerto_serie->Handshake = Handshake::None;
  83. Puerto_serie->RtsEnable = true;
  84.  
  85. // Establecer los tiempos de espera de lectura / escritura.
  86. Puerto_serie->ReadTimeout = 500; // 500 Milisegundos.
  87. Puerto_serie->WriteTimeout = 500; // 500
  88.  
  89. // Comprueba si puede abrir el puerto serie.
  90. try
  91. {
  92. Puerto_serie->Open(); // Abrir el puerto serie.
  93. }
  94.  
  95. // En caso que diera algún error como que no encuentra el puerto seleccionado
  96. // muestra una excepción.
  97. catch (IOException^)
  98. {
  99. Console::ForegroundColor = ConsoleColor::Red; // Texto en rojo.
  100. Console::CursorVisible = false;
  101. Console::SetCursorPosition(16, 6);
  102. Console::WriteLine("El puerto " + Puerto_serie->PortName + " no existe " +
  103. "o no lo encuentra.");
  104. Console::ReadKey();   // Pulse cualquier tecla.
  105. Environment::Exit(1); // Salir de la aplicación.
  106. }
  107.  
  108. // Se ha denegado el acceso al puerto.
  109. catch (UnauthorizedAccessException^)
  110. {
  111. Console::ForegroundColor = ConsoleColor::Red; // Texto en rojo.
  112. Console::CursorVisible = false;
  113. Console::SetCursorPosition(16, 6);
  114. Console::WriteLine("Se ha denegado el acceso al puerto " + Puerto_serie->PortName +
  115. "" +
  116. "\nPuede estar el puerto escogido en uso.\n" +
  117. "Elija un puerto diferente o desactiva el que está en uso.");
  118. Console::ReadKey();   // Pulse cualquier tecla.
  119. Environment::Exit(1); // Salir de la aplicación.
  120. }
  121. #pragma endregion
  122.  
  123. _continua = true;
  124. readThread->Start();
  125.  
  126. // Mostrar texto Nombre y se
  127. Console::Write("Nombre: ");
  128.  
  129. // guarda en la variable nombre.
  130. nombre = Console::ReadLine();
  131.  
  132. // Se muestra el nombre o nick y el puerto seleccionado al final del título de la ventana.
  133. Console::Title = titulo + "- Nick: " + nombre + " - COM: " + COM;
  134.  
  135. Console::WriteLine("Escriba /salir para salir.");
  136.  
  137. while (_continua)
  138. {
  139. // Cualquier caracter recibido se guarda en la variable mensaje.
  140. //mensaje = Console.ReadLine();
  141.  
  142. #pragma region Enviar más de 255 caracteres.
  143. // #########################################################################
  144. Stream^ entradaDeDatos = Console::OpenStandardInput();
  145. array<Byte>^ buffer = gcnew array<Byte>(MAXIMA_LONGITUD);
  146. int numerosBytesLeidos = entradaDeDatos->Read(buffer, 0, MAXIMA_LONGITUD);
  147. array<Char>^ chars = Console::InputEncoding->GetChars(buffer, 0, numerosBytesLeidos);
  148. mensaje = gcnew String(chars);
  149. // #########################################################################
  150. #pragma endregion
  151.  
  152. // Compara /salir con el mensaje /salir si lo haz escrito igual.
  153. // ¿Escribiste la palabra /salir?
  154. if (comparaString->Equals("/salir\r\n", mensaje))
  155. {
  156. // Sí. Entonces, pone esta variable _continue en false.
  157. _continua = false;
  158. }
  159. // No. Entonces, envía por el puerto serie tu nick
  160. // y mensaje que haz escrito.
  161. else
  162. {
  163. Puerto_serie->WriteLine(String::Format("<{0}>: {1}", nombre, mensaje));
  164. }
  165. }
  166.  
  167. // Bloquea el subproceso.
  168. readThread->Join();
  169.  
  170. // Cierra el puerto serie.
  171. Puerto_serie->Close();
  172. }
  173.  
  174. // Lee mensaje recibido.
  175. static void Leer()
  176. {
  177. // Si _continua es true se ejecuta todas las instrucciones dentro de while.
  178. while (_continua)
  179. {
  180. try
  181. {
  182. // Almacena en la variable mensaje cualquier caracter o mensaje recibido.
  183. String^ mensaje = Puerto_serie->ReadLine();
  184.  
  185. // Muestra en pantalla mensaje recibido.
  186. Console::WriteLine(mensaje);
  187. }
  188. catch (TimeoutException^) {}
  189. }
  190. }
  191. };
  192.  
  193. int main(array<System::String^>^ args)
  194. {
  195. Chat::Main(args);
  196.  
  197. return 0;
  198. }
107  Programación / .NET (C#, VB.NET, ASP) / Re: Identificador no declarado en: 19 Enero 2023, 17:30 pm
Si te refieres a este.

Código
  1. void Leer();

No debe tenerlo.

Ya se el motivo, había que poner en el punto 15 el ^.

Código
  1. catch (TimeoutException^) {}

En la línea de abajo, sigue con el fallo.

Código
  1. Thread^ readThread = gcnew Thread(Leer);

Gracias.
108  Programación / .NET (C#, VB.NET, ASP) / Identificador no declarado en: 18 Enero 2023, 22:52 pm
Buenas:

Usando C++ CLR .net me da este error:

Código
  1. Thread^ readThread = gcnew Thread(Leer);

Error   C2065   'Leer': identificador no declarado   

Sigue con el código de llamada que también hay problemas de error.
Código
  1.        // Lee mensaje recibido.
  2.        void Leer();
  3.        {
  4.            // Si _continua es true se ejecuta todas las instrucciones dentro de while.
  5.            while (_continua)
  6.            {
  7.                try
  8.                {
  9.                    // Almacena en la variable mensaje cualquier caracter o mensaje recibido.
  10.                    String^ mensaje = Puerto_serie->ReadLine();
  11.  
  12.                    // Muestra en pantalla mensaje recibido.
  13.                    Console::WriteLine(mensaje);
  14.                }
  15.                catch (TimeoutException) {}
  16.            }
  17.        }


Error   C2725   'System::TimeoutException': no se puede producir o detectar un objeto administrado por valor o referencia.

Error   C2316   'System::TimeoutException': no se puede detectar porque el destructor y/o el constructor de copia están inaccesibles o se eliminaron.
109  Programación / .NET (C#, VB.NET, ASP) / Re: El código de enviar en consola de más de 255 caracteres me sale error. en: 18 Enero 2023, 20:10 pm
Hola:

Ya funciona. Puse esto.

Código
  1. array<wchar_t> ^chars = Console::InputEncoding->GetChars(buffer, 0, numerosBytesLeidos);

Muchísimas gracias mi muy distinguido amigo.

Que tengas buen año. ;)
110  Programación / .NET (C#, VB.NET, ASP) / El código de enviar en consola de más de 255 caracteres me sale error. en: 18 Enero 2023, 07:25 am
Hola:

Usando C++ CLR o .net me sale este error.

Citar
Gravedad    Código    Descripción    Proyecto    Archivo    Línea    Estado suprimido
Error (activo)    E0144    no se puede usar un valor de tipo "cli::array<wchar_t, 1> ^" para inicializar una entidad de tipo "cli::array<char, 1> ^"    Chat Consola CLR    D:\Visual Studio 2022\Chat Consola CLR\Chat Consola CLR\Chat Consola CLR.cpp    144   


Código
  1.        Stream^ entradaDeDatos = Console::OpenStandardInput();
  2.        array<Byte> ^buffer = gcnew array<Byte>(MAXIMA_LONGITUD);
  3.        int numerosBytesLeidos = entradaDeDatos->Read(buffer, 0, MAXIMA_LONGITUD);
  4.        array<char> ^chars = Console::InputEncoding->GetChars(buffer, 0, numerosBytesLeidos);
  5.        mensaje = gcnew String(chars);

¿Alguna idea?

Saludos.
Páginas: 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ... 255
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines