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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Mensajes
Páginas: 1 ... 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [26] 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 ... 255
251  Programación / .NET (C#, VB.NET, ASP) / Movimiento armónico simple [SOLUCIONADO] en: 1 Agosto 2020, 01:25 am
Hola:

Hace siglos que quice hacerlo pero no me salió. añado en el Windows Form un pictureBox, ahí dentro creo dos rayas, una vertical y otra horizontal con el círculo en medio, tal como indica la imagen de abajo.



Los puntos que muestran se tiene que mover tal como lo hace en el vídeo de abajo.

Ver vídeo.


Código hasta ahora.
Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. namespace Movimiento_armonico_simple_01_cs
  12. {
  13.    public partial class Form1 : Form
  14.    {
  15.        private int pt1a = 0, pt2y = 300, pt2s = -1, pt3x = 80, pt3s = 1;
  16.  
  17.        private void Form1_Load(object sender, EventArgs e)
  18.        {
  19.            timer1.Start();
  20.        }
  21.  
  22.        private void pictureBox1_Paint(object sender, PaintEventArgs e)
  23.        {
  24.            Graphics g = e.Graphics;
  25.            int ptx, pty;
  26.            g.Clear(Color.White);
  27.            g.DrawEllipse(Pens.Black, new Rectangle(40, 40, 300, 300));
  28.            g.DrawLine(Pens.Black, 20, 40, 20, 340);
  29.            g.DrawLine(Pens.Black, 40, 360, 340, 360);
  30.  
  31.            ptx = (int)(Math.Cos((double)pt1a * Math.PI / 180.0) * 150.0);
  32.            pty = (int)(Math.Sin((double)pt1a * Math.PI / 180.0) * 150.0);
  33.            g.FillEllipse(Brushes.Black, new Rectangle(190 + ptx - 5, 190 - pty - 5, 11, 11));
  34.  
  35.            g.FillEllipse(Brushes.Black, new Rectangle(15, pt2y - 5, 11, 11));
  36.  
  37.            g.FillEllipse(Brushes.Black, new Rectangle(pt3x - 5, 355, 11, 11));
  38.        }
  39.  
  40.        private void timer1_Tick(object sender, EventArgs e)
  41.        {
  42.            pt1a += 2;
  43.            if (pt1a >= 360)
  44.                pt1a -= 360;
  45.  
  46.            pt2y += 4 * pt2s;
  47.            if (pt2y <= 40 || pt2y >= 340)
  48.                pt2s = -pt2s;
  49.  
  50.            pt3x += 4 * pt3s;
  51.            if (pt3x <= 40 || pt3x >= 340)
  52.                pt3s = -pt3s;
  53.  
  54.            pictureBox1.Invalidate();
  55.        }
  56.  
  57.        public Form1()
  58.        {
  59.            InitializeComponent();
  60.        }
  61.    }
  62. }

¿Alguna idea?

Saludos.
252  Programación / .NET (C#, VB.NET, ASP) / Calculo niveles en: 31 Julio 2020, 23:50 pm
Hola:

Tengo esta barra que pone de 0 % al 100 %.

0%     19 %                                                                  95 %        100%
|--------|-----------------------------------------------------------|--------------|

Mejor imagen de abjo.



Dentro de Windows Form incluyo la barra progressBar y el trackBar para regular una variable.

Internamente del programa, hay dos variables, una que pone 19 y otra variabe que pone 95. Esas con constantes.

Internamente una variable es capaz de moverse del 19 al 95. En otra variable indica que es un 0 al 100 %.

Por ejemplo, si con el trackBar lo pongo al valor 95, en un label tiene que indicar que estoy al 100.

Internamente funciona del 19 al 95 y cara del usuario lo ve como si fuera del 0 al 100 %.

Código que he hecho hasta ahora y no me funciona.
Código:
using System;
using System.Windows.Forms;

namespace Regular_nivel_batería_01
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void trackBar1_Scroll(object sender, EventArgs e)
        {
            progressBar1.Value = (trackBar1.Value - 19) * 100 / (95 - 19);
            //progressBar1.Value = trackBar1.Value;
            label_Porcentaje.Text = trackBar1.Value.ToString() + " %";
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // Valores del trackBar.
            trackBar1.Maximum = 100;
            trackBar1.Minimum = 0;
            trackBar1.SmallChange = 5;
            trackBar1.Value = 19;

            // Valores barra de progreso.
            progressBar1.Maximum = 95;
            progressBar1.Minimum = 19;
            progressBar1.Step = 5;
            progressBar1.Value = trackBar1.Value;
        }
    }
}

¿Es posible hacerlo?

Saludos.
253  Programación / Programación C/C++ / Re: Se muestra o no el cursor depende de... en: 31 Julio 2020, 02:19 am
Buenas:

Pues sí, es tal como lo dices, nunca lo he imaginado, ya que con otros lenguajes como C#, incluso el C++ CLR .net no me pasa, si cambio las letras, cambio el cursor automaticamente también.

Código
  1. system("color 1F");

Así está mejor.

Muchísimas gracias.  ;-)
254  Programación / .NET (C#, VB.NET, ASP) / Re: Preguntar antes de salir en: 30 Julio 2020, 05:33 am
Bueno:

Para no estar con tanto jaleo.

Mejor una cosa más fácil.

Sin preguntar nada al salir del programa, solo que antes de salir, indique el programa enviar un mensaje al puerto serie y luego cierra el puerto.

Código
  1.                                Puerto_serie.Write("Puerto y aplicación cerrado."); // Enviar mensaje.
  2.                                Puerto_serie.Close(); // Cierra el puerto serie.

Eso lo prefiero más y no tanto rollo.
255  Informática / Electrónica / Re: Morse en: 30 Julio 2020, 03:05 am
No es así, por mucho que formemos parte de la naturaleza.

Los científicos saben que tenemos un cerebro con cierta inteligencia, lo que no se sabe es como se forma la consciencia desde la nada a seres conscientes.

256  Informática / Electrónica / Re: Morse en: 30 Julio 2020, 00:06 am
Lo del digital. es solo inventado por el hombre, no está en la naturaleza.
257  Informática / Electrónica / Re: Morse en: 29 Julio 2020, 20:35 pm
Hola:

Al final el código Morse es analogicamente analógico. Lo que no sabía, que todavía se usa hoy en día, a pesar que ya tiene unos 175 años de su historia.

Hasta hay códigos en C# con morse. La gente se abure.





Saludos.
258  Programación / .NET (C#, VB.NET, ASP) / Preguntar antes de salir en: 29 Julio 2020, 17:12 pm
Buenas:

Tengo un programa hecho a medias. Está hecho con la consola C#.

Al pulsar la X de la ventana, quiero que haga estas cosas.
Pregunta si realmente quiero salir, si salgo, pone esto.

Código
  1.                            Si pulso X con el ratón
  2.                            {
  3.                                Puerto_serie.Write("Puerto y aplicación cerrado."); // Enviar mensaje.
  4.                                Puerto_serie.Close(); // Cierra el puerto serie.
  5.                                Environment.Exit(0); // Cerrar aplicación.
  6.                            }

Arriaba está mal planteado.

Primero pregunta si quiero salir, con un Sí y un No, si pulso No, el programa sigue su curso, si pongo Si, cierra el programa y me envía estos datos al puerto serie antes de que cierre del todo.

Código
  1.                                Puerto_serie.Write("Puerto y aplicación cerrado."); // Enviar mensaje.
  2.                                Puerto_serie.Close(); // Cierra el puerto serie.
  3.                                Environment.Exit(0); // Cerrar aplicación.

Código ejemplo casi completo.
Código
  1. using System;
  2. using System.IO.Ports;
  3.  
  4. namespace Introducir_datos_puerto_serie_consola_01
  5. {
  6.    class Program
  7.    {
  8.        static void Main(string[] args)
  9.        {
  10.            // Título de la ventana.
  11.            Console.Title = "Enviar datos al puerto serie";
  12.  
  13.            // Tamaño de la ventana, x, y.
  14.            Console.SetWindowSize(70, 25);
  15.  
  16.            // Color de fondo.
  17.            Console.BackgroundColor = ConsoleColor.Blue;
  18.  
  19.            // Color de las letras.
  20.            Console.ForegroundColor = ConsoleColor.Yellow;
  21.  
  22.            // Limpiar pantalla y dejarlo todo gris.
  23.            Console.Clear();
  24.  
  25.            // Visible el cursor.
  26.            Console.CursorVisible = true;
  27.  
  28.            // Cree un nuevo objeto SerialPort con la configuración predeterminada.
  29.            SerialPort Puerto_serie = new SerialPort("COM3");
  30.  
  31.            Puerto_serie.BaudRate = 115200;
  32.            Puerto_serie.Parity = Parity.None;
  33.            Puerto_serie.StopBits = StopBits.One;
  34.            Puerto_serie.DataBits = 8;
  35.            Puerto_serie.Handshake = Handshake.None;
  36.            Puerto_serie.RtsEnable = true;
  37.  
  38.            // Establecer los tiempos de espera de lectura / escritura.
  39.            Puerto_serie.ReadTimeout = 500; // Milisegundos.
  40.            Puerto_serie.WriteTimeout = 500;
  41.  
  42.            // Detecta cualquier dato recibido.
  43.            Puerto_serie.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
  44.  
  45.            Puerto_serie.Open(); // Abrir puerto.
  46.  
  47.            //Console.CursorSize = 1;
  48.  
  49.            do
  50.            {
  51.                Console.Write("Introduzca un texto: ");
  52.                string texto;
  53.                texto = Console.ReadLine();
  54.                Console.WriteLine("El texto introducido es: " + texto);
  55.  
  56.                //texto = Encoding.ASCII.GetBytes("Luz_ON"); // Codificación ASCII y guarda en la variable array tipo byte.
  57.                Puerto_serie.Write(texto); // Envía los datos del string todo su contenido.
  58.                Console.WriteLine("Comando {0} enviado.", texto); // Muestra en pantalla comandos enviado.
  59.                Console.WriteLine();
  60.  
  61.                // ################ Pregunta aquí si quieres salir.   ################
  62.                            //Si pulso X con el ratón
  63.                            //{
  64.                            //    Puerto_serie.Write("Puerto y aplicación cerrado."); // Enviar mensaje.
  65.                            //    Puerto_serie.Close(); // Cierra el puerto serie.
  66.                            //    Environment.Exit(0); // Cerrar aplicación.
  67.                            //}
  68.                // #####################################################################
  69.  
  70.            } while (true);
  71.  
  72.  
  73.        }
  74.  
  75.        // Detecta cualquier dato entrante.
  76.        private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
  77.        {
  78.            SerialPort sp = (SerialPort)sender;
  79.            string entradaDatos = sp.ReadExisting(); // Almacena los datos recibidos en la variable tipo string.
  80.            Console.WriteLine("Datos recibido desde Arduino: " + entradaDatos); // Muestra en pantalla los datos recibidos.
  81.        }
  82.    }
  83. }
  84.  

Gracias camaradas.

Saludos.
259  Programación / Programación C/C++ / Re: Adaptar estas variables a C++ en: 29 Julio 2020, 14:43 pm
Muchísimas gracias. Funciona a la primera.

No se el motivo, en C# no me deja ponerlo valores constantes con "const", me aconseja ponerle "readonly".

Diferencia const entre readonly.

Ejemplo tuyo modificado con const en C++ 2019.
Código
  1. #include <iostream>
  2. #include <string>
  3. #include <windows.h> // Para mostrar texto en el título de la ventana.
  4. #include <stdio.h>   // Cambio color de fondo y letras.
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10.    // Variables.
  11.    string guardarNombre = ""; // Guardar nombre escrito.
  12.    static int coordenadaX = 0; // Coordenada X del setCursorPisition.
  13.    //static ConsoleKey tecla; // Guarda cualquier tecla pulsada.
  14.    static int index = 0; // Índice.
  15.  
  16.    // Caracteres de este array.
  17.    static char const ALFANUMERICO[] =
  18.    {
  19.        'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'Ñ', 'O', 'P',
  20.        'Q', 'R', 'S', 'T', 'U', 'V', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
  21.        'i', 'j', 'k', 'l', 'm', 'n', 'ñ', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'x', 'y',
  22.        'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', ',', '-', '_', ':', ';',
  23.        '¿', '?', '(', ')', '[', ']', '{', '}', '=', '$', '&', '"', ' '
  24.    };
  25.  
  26.    // Dirección del carácter del array. El 80 presenta al espacio ' ' del array roALFANUMERICO.
  27.    static int const INDICE_ARRAY[] =
  28.    {
  29.        80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80
  30.    };
  31.  
  32.    // Palabras del array para imprimir en pantalla.
  33.    static string const TEXTO[] = { "ATRÁS", "GUARDAR" };
  34.  
  35.    // Mostrar caracteres correctamente en pantalla y título de la ventana.
  36.    SetConsoleOutputCP(65001);
  37.    wchar_t titulo[128];
  38.    MultiByteToWideChar(CP_UTF8, 0, "Título de la ventana. Win32 C++ 2019.", -1, titulo, 128);
  39.    SetConsoleTitle(titulo);
  40.  
  41.    // Tamaño de la pantalla. Se cambia en los dos últimos dígitos.
  42.    SMALL_RECT r = { 0, 0, 49, 9 }; // X = 49, Y = 9.
  43.    SetConsoleWindowInfo(GetStdHandle(STD_OUTPUT_HANDLE), TRUE, &r);
  44.  
  45.    // Cambio color de 8 (gris), color letras 0 (negro).
  46.    system("color 80");
  47.  
  48.    // mostrar contenido de las variables.
  49.    cout << guardarNombre << endl;
  50.    cout << coordenadaX << endl;
  51.    cout << index << endl;
  52.  
  53.    for (int i = 0; i < sizeof(ALFANUMERICO) / sizeof(ALFANUMERICO[0]); i++)
  54.    {
  55.        cout << ALFANUMERICO[i] << endl;
  56.    }
  57.  
  58.    for (int i = 0; i < sizeof(INDICE_ARRAY) / sizeof(INDICE_ARRAY[0]); i++)
  59.    {
  60.        cout << INDICE_ARRAY[i] << endl;
  61.    }
  62.  
  63.    for (int i = 0; i < sizeof(TEXTO) / sizeof(TEXTO[0]); i++)
  64.    {
  65.        cout << TEXTO[i] << endl;
  66.    }
  67.  
  68.    // Esperando pulsar Enter para salir.
  69.    cin.get();
  70.    //getchar();
  71.    return 0;
  72. }

Edito:

Gracias por la ayuda. Porque en realidad quiero pasar este código completo de C# a C++ nativo. Esto ya es demasiado tiempo, pero lo haré.
Código
  1. using System;
  2. using System.IO;
  3.  
  4. namespace LCD_nombre_archivo_consola_11
  5. {
  6.    class Program
  7.    {
  8.        // Variables.
  9.        static string guardarNombre = ""; // Guardar nombre escrito.
  10.        static int coordenadaX = 0; // Coordenada X del setCursorPisition.
  11.        static ConsoleKey tecla; // Guarda cualquier tecla pulsada.
  12.        static int index = 0; // Índice.
  13.  
  14.        // Caracteres de este array.
  15.        static readonly char[] roALFANUMERICO = new char[]
  16.        {
  17.         'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'Ñ', 'O', 'P',
  18.         'Q', 'R', 'S', 'T', 'U', 'V', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
  19.         'i', 'j', 'k', 'l', 'm', 'n', 'ñ', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'x', 'y',
  20.         'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9','.', ',', '-', '_', ':', ';',
  21.         '¿', '?', '(', ')', '[', ']', '{', '}','=', '$','&', '"', ' '
  22.        };
  23.  
  24.        // Dirección del carácter del array. El 80 presenta al espacio ' ' del array roALFANUMERICO.
  25.        static readonly int[] roINDICE_ARRAY = new int[]
  26.        {
  27.         80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80
  28.        };
  29.  
  30.        // Palabras del array para imprimir en pantalla.
  31.        static readonly string[] roTEXTO = new string[] { "ATRÁS", "GUARDAR" };
  32.  
  33.        static void Main(string[] args)
  34.        {
  35.            // Título de la pantalla.
  36.            Console.Title = "Cambiar nombre";
  37.  
  38.            Inicio();
  39.        }
  40.  
  41.        static void MainMenu()
  42.        {
  43.            Console.Clear(); // Limpiar pantalla.
  44.  
  45.            Console.SetCursorPosition(0, 0);
  46.            Console.Write("Nombre del relé 1:  ");
  47.            Console.SetCursorPosition(0, 1);
  48.  
  49.            // Recorre el índice del array, del 0 hasta donde llegue.
  50.            for (int i = 0; i < roINDICE_ARRAY.Length; i++)
  51.            {
  52.                // Imprime los caracteres del array.
  53.                Console.Write(roALFANUMERICO[roINDICE_ARRAY[i]]);
  54.            }
  55.  
  56.            Console.SetCursorPosition(3, 3);
  57.            Console.Write(roTEXTO[0]); // ATRÁS.
  58.            Console.SetCursorPosition(12, 3);
  59.            Console.Write(roTEXTO[1]); // GUARDAR.
  60.        }
  61.  
  62.        #region Inico.
  63.        static void Inicio()
  64.        {
  65.            Console.SetWindowSize(20, 5); // Residemensiona pantalla. X = 20, Y = 5.
  66.            Console.BackgroundColor = ConsoleColor.Gray; // Fondo gris.
  67.            Console.ForegroundColor = ConsoleColor.Black; // Letras negras.
  68.  
  69.            // ¿El archivo Existe?
  70.            if (File.Exists("Archivo.txt"))
  71.            {
  72.                // Sí. Lee el archivo de texto.
  73.                string nombre = File.ReadAllText("Archivo.txt");
  74.                int a, b; // Almacena ídice array.
  75.                for (a = 0; a < nombre.Length; a++)
  76.                {
  77.                    for (b = 0; roALFANUMERICO[b] != nombre[a]; b++)
  78.                    {
  79.                        ;
  80.                    }
  81.                    roINDICE_ARRAY[a] = b; // b indica índice y lo añade al roINDICE_ARRAY.
  82.                }
  83.            }
  84.  
  85.            // No. El Archivo.txt no existe. El código continúa por aquí.
  86.  
  87.            MainMenu(); // Dibuja el menú.
  88.  
  89.            while (true)
  90.            {
  91.                Console.CursorVisible = true; // Cursor invisible.
  92.                index = 0;
  93.  
  94.                // Si se cumple estas condiciones, Enter, flecha izquierda, flecha derecha
  95.                if ((tecla == ConsoleKey.Enter) || (tecla == ConsoleKey.RightArrow) || (tecla == ConsoleKey.LeftArrow))
  96.                {
  97.                    MainMenu(); // Dibuja el menú.
  98.                }
  99.  
  100.                // Posiciona cursor.
  101.                Console.SetCursorPosition(coordenadaX, 1);
  102.  
  103.                // Almacena en la variable tecla, la tecla pulsada.
  104.                tecla = Console.ReadKey(true).Key;
  105.  
  106.                // Si coincide una tecla pulsada.
  107.                switch (tecla)
  108.                {
  109.                    case ConsoleKey.RightArrow: // Flecha derecha detectada.
  110.                        // ¿CoordenadaX menor que 15?
  111.                        if (coordenadaX < 15)
  112.                        {
  113.                            coordenadaX++; // Sí. Añada + 1 en la coordenadaX.
  114.                        }
  115.                        // No. Sale de aquí.
  116.                        break;
  117.  
  118.                    case ConsoleKey.LeftArrow: // Flecha izquierda detectada.
  119.                        // ¿coordenadaX es mayor que 0?
  120.                        if (coordenadaX > 0)
  121.                        {
  122.                            coordenadaX--; // Sí. Decremente o quita -1.
  123.                        }
  124.                        // No. Sale de aquí.
  125.                        break;
  126.  
  127.                    case ConsoleKey.UpArrow: // Flecha arriba.
  128.                        roINDICE_ARRAY[coordenadaX]++; // En el índice del array añade + en coordenadaX.
  129.                        // ¿El índice del array es mayor o igual que el arra Alfanumérico?
  130.                        if (roINDICE_ARRAY[coordenadaX] >= roALFANUMERICO.Length)
  131.                        {
  132.                            roINDICE_ARRAY[coordenadaX] = 0; // Sí. Deja en 0 la coordenada del índice del array.
  133.                        }
  134.                        Console.Write(roALFANUMERICO[roINDICE_ARRAY[coordenadaX]]);
  135.                        break;
  136.  
  137.                    case ConsoleKey.DownArrow: // Flecha abajo detectado.
  138.                        roINDICE_ARRAY[coordenadaX]--; // Decrementa a -1 el índice del array.
  139.                        // ¿La coordenadaX del indice del array es menor que 0?
  140.                        if (roINDICE_ARRAY[coordenadaX] < 0)
  141.                        {
  142.                            // Sí. Imprimir el valor alfanumérico.
  143.                            roINDICE_ARRAY[coordenadaX] = roALFANUMERICO.Length - 1;
  144.                        }
  145.                        Console.Write(roALFANUMERICO[roINDICE_ARRAY[coordenadaX]]);
  146.                        break;
  147.  
  148.                    case ConsoleKey.Enter: // Detecta la tecla Enter.
  149.                        Console.SetCursorPosition(1, 3); // Posición del cursor.
  150.                        Console.CursorVisible = false; // Se oculta el cursor.
  151.                        Console.Write(">"); // Imprime en pantalla >.
  152.  
  153.                        // ¿La tecla almacenada es distinto a la tecla Enter?
  154.                        while ((tecla = Console.ReadKey(true).Key) != ConsoleKey.Enter)
  155.                        {
  156.                            // Sí.
  157.                            switch (tecla)
  158.                            {
  159.                                case ConsoleKey.RightArrow:
  160.                                    index = 1;
  161.                                    Console.SetCursorPosition(1, 3);
  162.                                    Console.Write(" ");
  163.                                    Console.SetCursorPosition(10, 3);
  164.                                    Console.Write(">");
  165.                                    break;
  166.                                case ConsoleKey.LeftArrow:
  167.                                    Console.SetCursorPosition(10, 3);
  168.                                    Console.Write(" ");
  169.                                    Console.SetCursorPosition(1, 3);
  170.                                    Console.Write(">");
  171.                                    index = 0;
  172.                                    break;
  173.  
  174.                                case ConsoleKey.UpArrow:
  175.                                    Inicio();
  176.                                    break;
  177.  
  178.                                case ConsoleKey.DownArrow:
  179.                                    Inicio();
  180.                                    Console.SetCursorPosition(coordenadaX, 1);
  181.                                    break;
  182.                            }
  183.                        }
  184.  
  185.                        if (index == 0)
  186.                        {
  187.                            Atras();
  188.                        }
  189.                        if (index == 1)
  190.                        {
  191.                            Guardar();
  192.                        }
  193.                        break;
  194.                }
  195.            }
  196.        }
  197.        #endregion
  198.  
  199.        static void Atras()
  200.        {
  201.            Console.Clear();
  202.            Console.SetCursorPosition(0, 1);
  203.            Console.Write("HAS PULSADO ATRÁS   ");
  204.            Console.ReadKey(); // Pulse cualquier tecla para salir.
  205.        }
  206.  
  207.        static void Guardar()
  208.        {
  209.            guardarNombre = "";
  210.            Console.Clear();
  211.  
  212.            // Lee todo el contennido del array y lo guarda en guardarNombre.
  213.            for (int a = 0; a < roINDICE_ARRAY.Length; a++)
  214.            {
  215.                guardarNombre += roALFANUMERICO[roINDICE_ARRAY[a]].ToString();
  216.            }
  217.            Console.SetCursorPosition(0, 2);
  218.            Console.Write(guardarNombre); // Imprime el contenido.
  219.  
  220.            // Crear Archivo.txt y el contenido de guardarNombre.
  221.            File.WriteAllText("Archivo.txt", guardarNombre);
  222.  
  223.            Console.SetCursorPosition(0, 1);
  224.            Console.Write("HAS GUARDADO       ");
  225.  
  226.            // Pulsa otra vez tecla.
  227.            Console.ReadKey();
  228.        }
  229.    }
  230. }

Gracias por todo. Si te animas, mejor. Entonces, lo tienes bien puestos.

;)



EI: Juntando mensajes, otra vez.

Me funciona hasta con Arduino.

Código
  1. #include <LiquidCrystal.h>
  2.  
  3. // Inicializa la librería con sus pines indicados.
  4. LiquidCrystal lcd(8, NULL, 9, 4, 5, 6, 7);
  5.  
  6. // Pin 10 para saber que es luz de fondo del LCD.
  7. //int LuzFondo = 10;
  8.  
  9.  
  10. // Variables.
  11. String guardarNombre = ""; // Guardar nombre escrito.
  12. int coordenadaX = 0; // Coordenada X del setCursorPisition.
  13. int index = 0; // Índice.
  14. // Caracteres de este array.
  15. char const PROGMEM ALFANUMERICO[] =
  16. {
  17.  'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'Ñ', 'O', 'P',
  18.  'Q', 'R', 'S', 'T', 'U', 'V', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
  19.  'i', 'j', 'k', 'l', 'm', 'n', 'ñ', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'x', 'y',
  20.  'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', ',', '-', '_', ':', ';',
  21.  '¿', '?', '(', ')', '[', ']', '{', '}', '=', '$', '&', '"', ' '
  22. };
  23.  
  24. // Dirección del carácter del array. El 80 presenta al espacio ' ' del array roALFANUMERICO.
  25. int const PROGMEM INDICE_ARRAY[] =
  26. {
  27.  80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80
  28. };
  29.  
  30. // Palabras del array para imprimir en pantalla.
  31. String const TEXTO[] = { "ATRÁS", "GUARDAR" };
  32.  
  33. void setup()
  34. {
  35.  // La pantalla es de 16 caracteres y 2 filas.
  36.  lcd.begin(16, 2);
  37.  lcd.print(F("  Probando..."));
  38.  
  39.  // Baudios del puerto serie.
  40.  Serial.begin(115200);
  41.  
  42.  // Indicar luz de fondo como salida.
  43.  // pinMode(LuzFondo, OUTPUT);
  44.  
  45.  Serial.println(guardarNombre);
  46.  Serial.println(coordenadaX);
  47.  Serial.println(index);
  48.  
  49.  for (byte i = 0; i < 80; i++)
  50.  {
  51.    Serial.println(ALFANUMERICO[i]);
  52.  }
  53.  
  54.  for (byte j = 0; j < 16; j++)
  55.  {
  56.    Serial.println(INDICE_ARRAY[j]);
  57.  }
  58.  
  59.  for (byte k = 0; k < 2; k++)
  60.  {
  61.    Serial.println(TEXTO[k]);
  62.  }
  63. }
  64.  
  65. void loop()
  66. {
  67.  //return 0;
  68. }
260  Programación / Programación C/C++ / Adaptar estas variables a C++ en: 29 Julio 2020, 05:18 am
Hola:

Quiero pasar estas variables de C# a C++ con Visual studio 2019.

A pesar de mirarlo aquí, me da problemas.
https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C%2B%2B/Arrays_y_cadenas_de_texto

Código
  1.    // Variables.
  2.    static string guardarNombre = ""; // Guardar nombre escrito.
  3.    static int coordenadaX = 0; // Coordenada X del setCursorPisition.
  4.    //static ConsoleKey tecla; // Guarda cualquier tecla pulsada.
  5.    static int index = 0; // Índice.
  6.  
  7.    // Caracteres de este array.
  8.    static char[] roALFANUMERICO = new char[]
  9.    {
  10.        'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'Ñ', 'O', 'P',
  11.        'Q', 'R', 'S', 'T', 'U', 'V', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
  12.        'i', 'j', 'k', 'l', 'm', 'n', 'ñ', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'x', 'y',
  13.        'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', ',', '-', '_', ':', ';',
  14.        '¿', '?', '(', ')', '[', ']', '{', '}', '=', '$', '&', '"', ' '
  15.    };
  16.  
  17.    // Dirección del carácter del array. El 80 presenta al espacio ' ' del array roALFANUMERICO.
  18.    static int[] roINDICE_ARRAY = new int[]
  19.    {
  20.        80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80
  21.    };
  22.  
  23.    // Palabras del array para imprimir en pantalla.
  24.    static string[] roTEXTO = new string[]{ "ATRÁS", "GUARDAR" };

Vamos, que me lo acepte C++ nativo o win32.

Saludos.
Páginas: 1 ... 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [26] 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 ... 255
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines