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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-11-2023
REHome REHome is offline
Miembro
 
Registrado: jul 2003
Ubicación: España
Posts: 454
Poder: 21
REHome Va por buen camino
Minutos y minuto en C#

Hola:

Con este código si me lee 80 minutos, tiene que decir 1 hora y 20 minutos.

Si pongo 59 minutos me tiene que decir 59 minutos.

Si pongo 61 minutos, me tiene que decir 1 hora y 1 minuto.

Código:
        private void button_Ver_datos_Click(object sender, EventArgs e)
        {
            string entrada = "#I225.7O226.2L006B100V25.7F50.2H50.2R0080S€„€ˆ„À\r\n\r\n";

            char[] separadores = { '#', 'I', 'O', 'L', 'B', 'V', 'F', 'H', 'R', 'S' };

            string[] salida = entrada.Split(separadores, StringSplitOptions.RemoveEmptyEntries);
            
            label_I.Text = salida[0] + " V";
            label_O.Text = salida[1] + " V";
            label_L.Text = salida[2].TrimStart('0') + " %"; // Quita los ceros de la izquierda.
            label_B.Text = salida[3] + " %";
            label_V.Text = salida[4] + " V";
            label_F.Text = salida[5] + " Hz";
            label_H.Text = salida[6] + " Hz";
            label_R.Text = salida[7].TrimStart('0') + " Minutos";
        }
En consola es así:
Código:
                int totalMinutos;
                Console.Write("Ingresa el valor de minutos: ");
                totalMinutos = int.Parse(Console.ReadLine());

                if ((totalMinutos % 60) == 1)
                {
                    Console.WriteLine(totalMinutos / 60 + " hora y " + totalMinutos % 60 + " minuto.\n");
                }

                if ((totalMinutos % 60) > 1)
                {
                    Console.WriteLine(totalMinutos / 60 + " hora y " + totalMinutos % 60 + " minutos.\n");
                }

                if ((totalMinutos % 60) == 0)
                {
                    Console.WriteLine(totalMinutos / 60 + " hora y " + totalMinutos % 60 + " minutos.\n");
                }
En windows form no se como se hace.

¿Alguna idea?

Saludos.
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino.

Última edición por REHome fecha: 06-11-2023 a las 06:50:14.
Responder Con Cita
  #2  
Antiguo 07-11-2023
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
La pregunta es un poco indirecta. ¿Simplemente no sabes como representar un texto en Windows Forms?

Si la respuesta es si, es imposible esquivar que debes aprender lo básico si o si Windows Forms.

Crea un proyecto windows forms, en el formulario pega y ordena los componentes que creas necesario, define en que situación se va a ejecutar tu código y sobre que componente se mostrará el resultado.

Por ejemplo pon un TextBox sobre el formulario y llámalo "teInput", Label y llamalo lbResult, para finaizar un botón, y llámalo "button_Ver_datos" (como en tu primer código), luego en el evento "OnClick" del botón, en lugar de escribir en la consola el resultado, asignárselo a la propiedad Text del Label lbResult.

Saludos
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 07-11-2023
REHome REHome is offline
Miembro
 
Registrado: jul 2003
Ubicación: España
Posts: 454
Poder: 21
REHome Va por buen camino
Al final me salió tal como lo quiero.

Código:
        private void button_Ver_datos_Click(object sender, EventArgs e)
        {
            string entrada = "#I225.7O226.2L006B100V25.7F50.2H50.2R0080S€„€ˆ„À\r\n\r\n";

            char[] separadores = { '#', 'I', 'O', 'L', 'B', 'V', 'F', 'H', 'R', 'S' };

            string[] salida = entrada.Split(separadores, StringSplitOptions.RemoveEmptyEntries);
            
            label_I.Text = salida[0] + " V";
            label_O.Text = salida[1] + " V";
            label_L.Text = salida[2].TrimStart('0') + " %"; // Quita los ceros de la izquierda.
            label_B.Text = salida[3] + " %";
            label_V.Text = salida[4] + " V";
            label_F.Text = salida[5] + " Hz";
            label_H.Text = salida[6] + " Hz";

            int resultadoSalida7 = Int32.Parse(salida[7]);

            // ¿Es igual a 1 minuto?
            if ((resultadoSalida7 % 60) == 1)
            {
                label_R.Text = resultadoSalida7 / 60 + " hora y " + resultadoSalida7 % 60 + " minuto.";
            }

            // ¿Es mayor a 60 segundos o 1 minuto?
            if ((resultadoSalida7 % 60) > 1)
            {
                label_R.Text = resultadoSalida7 / 60 + " hora y " + resultadoSalida7 % 60 + " minutos.";
            }

            // ¿Es igual a 60 segundos o 1 minuto?
            if ((resultadoSalida7 % 60) == 0)
            {
                label_R.Text = resultadoSalida7 / 60 + " hora y " + resultadoSalida7 % 60 + " minutos.";
            }
        }
Muchas gracias.
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino.
Responder Con Cita
  #4  
Antiguo 27-11-2023
REHome REHome is offline
Miembro
 
Registrado: jul 2003
Ubicación: España
Posts: 454
Poder: 21
REHome Va por buen camino
Buenas de nuevo.

Ahora si lo quiero el funcionamiento tal cual como debe ser.


No digo que sea el mejor código pero funciona de maravilla.

Código:
using System;

namespace Minutos_Horas_Consola_04
{
 * *internal class Program
 * *{
 * * * *static void Main(string[] args)
 * * * *{
 * * * * * *#region Configuración ventana.
 * * * * * *// Título de la ventana.
 * * * * * *Console.Title = "De solo a Minutos a Horas y Minutos";

 * * * * * *// Tamaño de la ventana, x, y, o ancho y alto.
 * * * * * *const byte ANCHO_X = 70, ALTO_Y = 25;
 * * * * * *Console.SetWindowSize(ANCHO_X, ALTO_Y);

 * * * * * *// Color de fondo.
 * * * * * *Console.BackgroundColor = ConsoleColor.Green;

 * * * * * *// Color de las letras.
 * * * * * *Console.ForegroundColor = ConsoleColor.Black;

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

 * * * * * *// Visible el cursor.
 * * * * * *Console.CursorVisible = true;
 * * * * * *#endregion

 * * * * * *while (true)
 * * * * * *{
 * * * * * * * *int totalMinutos;
 * * * * * * * *Console.Write("Ingresa el valor de minutos: ");
 * * * * * * * *totalMinutos = int.Parse(Console.ReadLine());

 * * * * * * * *// Cálculos.
 * * * * * * * *int horas = totalMinutos / 60;
 * * * * * * * *int minutos = totalMinutos % 60;

 * * * * * * * *// ¿0 horas y 1 minuto?
 * * * * * * * *if ((horas == 0) && (minutos == 1)) 
 * * * * * * * *{
 * * * * * * * * * *Console.WriteLine($"> {minutos} minuto.");
 * * * * * * * *}

 * * * * * * * *// ¿0 horas y 0 minuto?
 * * * * * * * *if ((horas == 0) && (minutos == 0))
 * * * * * * * *{
 * * * * * * * * * *Console.WriteLine($"> {minutos} minutos.");
 * * * * * * * *}

 * * * * * * * *// ¿0 horas y más de 1 minuto?
 * * * * * * * *if ((horas == 0) && (minutos > 1))
 * * * * * * * *{
 * * * * * * * * * *Console.WriteLine($"> {minutos} minutos.");
 * * * * * * * *}

 * * * * * * * *// ¿1 hora y 0 minutos?
 * * * * * * * *if ((horas == 1) && (minutos == 0))
 * * * * * * * *{
 * * * * * * * * * *Console.WriteLine($"> {horas} hora.");
 * * * * * * * *}

 * * * * * * * *// ¿Más de una hora y 0 minutos?
 * * * * * * * *if ((horas > 1) && (minutos == 0))
 * * * * * * * *{
 * * * * * * * * * *Console.WriteLine($"> {horas} horas.");
 * * * * * * * *}

 * * * * * * * *// ¿1 hora y 1 minuto?
 * * * * * * * *if ((horas == 1) && (minutos == 1))
 * * * * * * * *{
 * * * * * * * * * *Console.WriteLine($"> {horas} hora y {minutos} minuto.");
 * * * * * * * *}

 * * * * * * * *// ¿1 hora y más de 1 minuto?
 * * * * * * * *if ((horas == 1) && (minutos > 1))
 * * * * * * * *{
 * * * * * * * * * *Console.WriteLine($"> {horas} hora y {minutos} minutos.");
 * * * * * * * *}

 * * * * * * * *// ¿Más de 1 hora y 1 minuto?
 * * * * * * * *if ((horas > 1) && (minutos == 1))
 * * * * * * * *{
 * * * * * * * * * *Console.WriteLine($"> {horas} horas y {minutos} minuto.");
 * * * * * * * *}

 * * * * * * * *// ¿Más de 1 horas y más de 1 minuto?
 * * * * * * * *if ((horas > 1) && (minutos > 1))
 * * * * * * * *{
 * * * * * * * * * *Console.WriteLine($"> {horas} horas y {minutos} minutos.");
 * * * * * * * *}
 * * * * * *}
 * * * *}
 * *}
}
Son solo nueve combinaciones.

Saludos.
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino.
Responder Con Cita
Respuesta



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
Noticia de Ultimo minuto AzidRain Humor 3 09-08-2012 18:59:48
Pasar de minutos a Horas:minutos look OOP 8 08-07-2008 22:19:38
Pierdo un minuto entre horas Nomad Varios 2 13-02-2008 17:08:13
Pilas 'nuevas' al minuto Investment Noticias 0 30-03-2005 15:24:21


La franja horaria es GMT +2. Ahora son las 20:12:15.


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