none
CARGAR HORA EN UN COMBO BOX

    Pregunta

  • Amigos tengo la siguiente consulta... soy novato en C#.

    estoy desarrollando una pantalla que tiene un COMBOBOX.... y tengo que realizar una migracion de un codigo VISUAL 6 a ASP .NET (C#)

    Lo que hace la función es que me genera rangos de hora de intervalos de 15 min... ejemplo

    00:00 - 00:15 - 00:30 - 00:45 - 01:00 - 01:15.................... etc etc etc... 

    esta es la función en VISUAL 6

    Private Function FuncSettingHoras()
       Dim dHora      As String
       Dim iContador  As Long
       Dim cTime      As Date
       
       Call CMBHoraApertura.Clear
         Call CMBHoraCierre.Clear
    
           Let cTime = Time$
           Let cTime = "00:00:00"
       Let iContador = 0
    
       Do While 1 = 1
          Let dHora = Format(cTime, "hh:mm")
    
          Call CMBHoraApertura.AddItem(dHora)
            Call CMBHoraCierre.AddItem(dHora)
    
          Let cTime = DateAdd("n", 15, cTime)
    
          If dHora = "00:00" And iContador > 1 Then
             Exit Do
          End If
          Let iContador = iContador + 1
       Loop
    
       Let CMBHoraApertura.Text = "08:45"
         Let CMBHoraCierre.Text = "19:45"
    End Function

    y necestio hacer eso mismo en C#.....

    Soy novato por lo que hay cosas que no entiendo...

    como puedo generar esa funcion en C#???

    Gracias.

    lunes, 14 de septiembre de 2015 21:38

Respuestas

  • La verdad es que tal y como está implementada no tiene mucho sentido.

    Podrías hacer algo así, que sería equivalente:

            private void FuncSettingHoras()
            {
                CMBHoraApertura.Items.Clear();
                CMBHoraCierre.Items.Clear();
    
                for (int minutes = 0; minutes < 1440; minutes += 15)
                {
                    string hour = new DateTime().AddMinutes(minutes).ToString("HH:mm");
                    CMBHoraApertura.Items.Add(hour);
                    CMBHoraCierre.Items.Add(hour);
                }
                CMBHoraApertura.Text = "08:45";
                CMBHoraCierre.Text = "19:45";
            }


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    martes, 15 de septiembre de 2015 13:40

Todas las respuestas

  • private object FuncSettingHoras() {
       string dHora;
       long iContador;
       DateTime cTime;
       
        CMBHoraApertura.Clear();
          CMBHoraCierre.Clear();
     
           Let cTime = Time$;
           Let cTime = "00:00:00";
       Let iContador = 0;
     
       while( 1 == 1){
          Let dHora = System.String.Format(cTime, "hh:mm");
     
           CMBHoraApertura.AddItem(dHora);
             CMBHoraCierre.AddItem(dHora);
     
          Let cTime = DateAdd("n", 15, cTime);
     
          if( dHora == "00:00" & iContador > 1 ){
             break;
          }
          Let iContador = iContador + 1;
       }
     
       Let CMBHoraApertura.Text = "08:45";
         Let CMBHoraCierre.Text = "19:45";
    }
    lunes, 14 de septiembre de 2015 23:02
  • I have this function in Visual Basic 6... i need transform at C#

    Private Function FuncSettingHoras()
       Dim dHora      As String
       Dim iContador  As Long
       Dim cTime      As Date
       
       Call CMBHoraApertura.Clear
         Call CMBHoraCierre.Clear
    
           Let cTime = Time$
           Let cTime = "00:00:00"
       Let iContador = 0
    
       Do While 1 = 1
          Let dHora = Format(cTime, "hh:mm")
    
          Call CMBHoraApertura.AddItem(dHora)
            Call CMBHoraCierre.AddItem(dHora)
    
          Let cTime = DateAdd("n", 15, cTime)
    
          If dHora = "00:00" And iContador > 1 Then
             Exit Do
          End If
          Let iContador = iContador + 1
       Loop
    
       Let CMBHoraApertura.Text = "08:45"
         Let CMBHoraCierre.Text = "19:45"
    End Function


    Any Suggestions.

    martes, 15 de septiembre de 2015 12:55
  • hola

    para darle formato a una fecha podrias usar

    Cadenas con formato de fecha y hora personalizado

    ademas hay algunos puntos que parecen salir de una galera, por ejemplo

    -  que seria  Time$

    - para que hace esto Do While 1 = 1

    la verdad no le encuentro mucha utilidad a la funcionalidad que quieres convertir

    Nota: recuerda que este foro es en español

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 15 de septiembre de 2015 13:11
  • La verdad es que tal y como está implementada no tiene mucho sentido.

    Podrías hacer algo así, que sería equivalente:

            private void FuncSettingHoras()
            {
                CMBHoraApertura.Items.Clear();
                CMBHoraCierre.Items.Clear();
    
                for (int minutes = 0; minutes < 1440; minutes += 15)
                {
                    string hour = new DateTime().AddMinutes(minutes).ToString("HH:mm");
                    CMBHoraApertura.Items.Add(hour);
                    CMBHoraCierre.Items.Add(hour);
                }
                CMBHoraApertura.Text = "08:45";
                CMBHoraCierre.Text = "19:45";
            }


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    martes, 15 de septiembre de 2015 13:40
  • Pregunta repetida:

    CARGAR HORA EN UN COMBO BOX


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    martes, 15 de septiembre de 2015 13:45