Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > .NET
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-08-2024
REHome REHome is offline
Miembro
 
Registrado: jul 2003
Ubicación: España
Posts: 475
Poder: 22
REHome Va por buen camino
Selección de radioButton

Buenas.

No consigo hacer dos cosas. Que se me quede marcado con una xun solo radioButton de las tres opciones independientemente de su selección. La otra parte del programa, que se quede el valor guardado en un archivo de texto .txt y al ejecutar el programa otra vez, que lo lea donde se quedó la opción marcada.

Solo una opción debe estar marcada. Por ahora solo he hecho esto este código que está en pruebas pero no me funciona como debería a pesar que si lo compila.

¿Alguna idea?

Código:
sing System;

namespace Pruebas_Opcioines_Consola_01
{
    internal class Program
    {
        static void Main(string[] args)
        {
            #region Configuración ventana.
            // Título de la ventana.
            Console.Title = "Opciones";

            // Tamaño de la ventana, x, y o, ancho y alto.
            const byte ancho = 20, alto = 5;
            Console.SetWindowSize(ancho, alto);

            // Quitar scroll laterales. Derecho y abajo.
            Console.SetBufferSize(ancho, alto);

            // Color de fondo.
            Console.BackgroundColor = ConsoleColor.Black;

            // Color de las letras.
            Console.ForegroundColor = ConsoleColor.Gray;

            // Limpiar pantalla y dejarlo todo en color de fondo.
            Console.Clear();

            // Visible el cursor. // No! Así lo haces invisible.
            Console.CursorVisible = false;
            #endregion

            Menu();

            void Menu()
            {
                sbyte indiceSeleccionado = 0;                // Índice seleccionado de cada opción del menú.
                bool salir = false;                          // Para salir del menú principal al INICIO.
                sbyte SELECCION_OPCIONES_TOTALES = 3;        // Total de opciones para seleccionar y fija.

                bool opcionA = true;
                bool opcionB = false;
                bool opcionC = false;

                // Capturar tecla para luego validar.
                ConsoleKey tecla;

                do
                {
                    //******************************************************************
                    // Dibujo el menú principal.

                    switch (indiceSeleccionado)
                    {
                        case 0:
                            Console.SetCursorPosition(0, 0);
                            Console.Write("    ** TÍTULO **    ");
                            Console.SetCursorPosition(0, 1);
                            Console.Write("> ( ) Opción A      ");
                            Console.SetCursorPosition(0, 2);
                            Console.Write("  ( ) Opción B      ");
                            Console.SetCursorPosition(0, 3);
                            Console.Write("  ( ) Opción C      ");
                            if ((opcionA == true) && (opcionB == false) && (opcionC == false))
                            {
                                Console.SetCursorPosition(3, 1);
                                Console.Write("x");
                                Console.SetCursorPosition(3, 2);
                                Console.Write(" ");
                                Console.SetCursorPosition(3, 3);
                                Console.Write(" ");
                            }
                            else
                            {
                                Console.SetCursorPosition(3, 1);
                                Console.Write(" ");
                            }
                            break;

                        case 1:
                            Console.SetCursorPosition(0, 0);
                            Console.Write("    ** TÍTULO **    ");
                            Console.SetCursorPosition(0, 1);
                            Console.Write("  ( ) Opción A      ");
                            Console.SetCursorPosition(0, 2);
                            Console.Write("> ( ) Opción B      ");
                            Console.SetCursorPosition(0, 3);
                            Console.Write("  ( ) Opción C      ");
                            if (opcionA == false && opcionB == true && opcionC == false)
                            {
                                Console.SetCursorPosition(3, 1);
                                Console.Write(" ");
                                Console.SetCursorPosition(3, 2);
                                Console.Write("x");
                                Console.SetCursorPosition(3, 3);
                                Console.Write(" ");
                            }
                            else
                            {
                                Console.SetCursorPosition(3, 2);
                                Console.Write(" ");
                            }
                            break;

                        case 2:
                            Console.SetCursorPosition(0, 0);
                            Console.Write("    ** TÍTULO **    ");
                            Console.SetCursorPosition(0, 1);
                            Console.Write("  ( ) Opción A      ");
                            Console.SetCursorPosition(0, 2);
                            Console.Write("  ( ) Opción B      ");
                            Console.SetCursorPosition(0, 3);
                            Console.Write("> ( ) Opción C      ");
                            if (opcionA == false && opcionB == false && opcionC == true)
                            {
                                Console.SetCursorPosition(3, 1);
                                Console.Write(" ");
                                Console.SetCursorPosition(3, 2);
                                Console.Write(" ");
                                Console.SetCursorPosition(3, 3);
                                Console.Write("x");
                            }
                            else
                            {
                                Console.SetCursorPosition(3, 3);
                                Console.Write(" ");
                            }
                            break;

                        case 3:
                            Console.SetCursorPosition(0, 0);
                            Console.Write("    ** TÍTULO **    ");
                            Console.SetCursorPosition(0, 1);
                            Console.Write("> SALIR             ");
                            Console.SetCursorPosition(0, 2);
                            Console.Write("                    ");
                            Console.SetCursorPosition(0, 3);
                            Console.Write("                    ");
                            break;
                        default:
                            Console.Write("Fuera de rango.     ");
                            break;
                    }

                    // Fin de pintar el menú principal.
                    //******************************************************************

                    // Leer tecla ingresada por el usuario.
                    tecla = Console.ReadKey(true).Key;

                    // Validar el tipo de tecla.
                    if (tecla == ConsoleKey.Enter)
                    {
                        switch (indiceSeleccionado)
                        {
                            case 0:
                                opcionA = true;
                                opcionB = false;
                                opcionC = false;
                                break;

                            case 1:
                                opcionA = false;
                                opcionB = true;
                                opcionC = false;
                                break;

                            case 2:
                                opcionA = false;
                                opcionB = false;
                                opcionC = true;
                                break;

                            case 3:
                                indiceSeleccionado = 0; // Restaurar índice antes de salir.
                                salir = true;           // Salir
                                break;

                            default:
                                Console.Write("Fuera de rango.     ");
                                break;
                        }
                    }

                    // ¿Has pulsado tecla flecha Abajo?
                    if (tecla == ConsoleKey.DownArrow)
                    {
                        indiceSeleccionado++;
                    }

                    // Entonces si pulsas tecla flecha Arriba.
                    if (tecla == ConsoleKey.UpArrow)
                    {
                        indiceSeleccionado--;
                    }

                    // Si está en la última opción, salta a la primera.
                    if (indiceSeleccionado > SELECCION_OPCIONES_TOTALES)
                    {
                        indiceSeleccionado = 0;
                    }

                    // Si está en la primera posición, salta a la última.
                    if (indiceSeleccionado < 0)
                    {
                        indiceSeleccionado = SELECCION_OPCIONES_TOTALES;
                    }

                    // Uso la tecla escape como salida.
                } while (!salir);
            }
        }
    }
}
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Varios radiobutton mjjj Varios 4 23-05-2007 11:15:13
radiobutton ercrizeporta Varios 1 06-05-2007 01:49:18
Radiobutton Marianin Varios 1 18-11-2005 20:51:34
transparencia en un radiobutton Debian Gráficos 1 17-06-2005 16:35:27
RadioButton dmagui Firebird e Interbase 2 14-06-2005 15:34:31


La franja horaria es GMT +2. Ahora son las 18:08:05.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi