Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908

    Saluti in base all'orario

    Salve ragazzi, avrei la necessità di stampare a video un saluto in base all'orario della visita, e a tal proposito ho scritto questo codice:

    codice:
       protected void Page_Load(object sender, EventArgs e)
            {
                int orario = DateTime.Now.Hour;
                if(orario >= 12 && orario <20)
                {
                    msg.Text = "Buonasera";
                }
                if(orario >= 21 && orario <=6)
                {
                    msg.Text = "Buonanotte";
                }
                if(orario >= 6 && orario <=12)
                {
                    msg.Text = "Buongiorno";
                }
                
                Response.Write(DateTime.Now.Hour);
            }
    Le mie intenzioni sono:
    1. Buonasera dalle 12 alle 20;
    2. Buongiorno dalle 6 alle 12;
    3. Buonanotte dalle 21 alle 6;

    Il codice che ho scritto non mi stampa la buonanotte, nonostante siano passate le 21....
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  2. #2
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    eh beh vorrei vedere: che numero conosci contemporaneamente maggiore di 21 e minore di 6?
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  3. #3
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Quote Originariamente inviata da supermac Visualizza il messaggio
    eh beh vorrei vedere: che numero conosci contemporaneamente maggiore di 21 e minore di 6?
    Uhm... quindi come mi suggerisci di specificare un intervallo orario che va dalle 21 di sera alle 6 di mattina?
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  4. #4
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    non conosco il C# ma dovrebbe essere qualcosa come
    if((orario >= 21 && orario <=24) OR (orario <=6))

    PS occhio che è l'ora del server!
    Ultima modifica di supermac; 06-03-2015 a 15:52
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  5. #5
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Quote Originariamente inviata da supermac Visualizza il messaggio
    non conosco il C# ma dovrebbe essere qualcosa come
    if((orario >= 21 && orario <=24) OR (orario <=6))

    PS occhio che è l'ora del server!
    Risolto così:

    codice:
    protected void Page_Load(object sender, EventArgs e)
            {
                int orario = DateTime.Now.Hour;
                if(orario >= 12 && orario <21)
                {
                    msg.Text = "Buonasera";
                }
                if(orario >= 22 && orario <=24 || orario <=6 )
                {
                    msg.Text = "Buonanotte";
                }
                if(orario >= 6 && orario <=12)
                {
                    msg.Text = "Buongiorno";
                }
                
                Response.Write(DateTime.Now.Hour);
            }
    Grazie!
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  6. #6
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    Hai un buco tra le 21 e le 22, devi metterci un tappo :-)
    E per correttezza dovresti verificare gli operatori negli orari di transizione: ad esempio se "buonanotte" è per orario <= 6, non usare >= 6 per "buongiorno" ma solo >6...
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  7. #7
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Quote Originariamente inviata da supermac Visualizza il messaggio
    Hai un buco tra le 21 e le 22, devi metterci un tappo :-)
    E per correttezza dovresti verificare gli operatori negli orari di transizione: ad esempio se "buonanotte" è per orario <= 6, non usare >= 6 per "buongiorno" ma solo >6...
    Now?

    codice:
    protected void Page_Load(object sender, EventArgs e)
            {
                int orario = DateTime.Now.Hour;
                if(orario >= 12 && orario <22)
                {
                    msg.Text = "Buonasera";
                }
                if(orario > 22 && orario <=24 || orario <=6 )
                {
                    msg.Text = "Buonanotte";
                }
                if(orario > 6 && orario <12)
                {
                    msg.Text = "Buongiorno";
                }
                
                Response.Write(DateTime.Now.Hour);
            }
    Ultima modifica di dwb; 10-03-2015 a 12:04
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  8. #8
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    ancora perfettibile (lo so, sono un rompiglioni, mi spiace)
    codice:
    ..... if(orario >= 22 && orario <=24.....
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  9. #9
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Quote Originariamente inviata da supermac Visualizza il messaggio
    ancora perfettibile (lo so, sono un rompiglioni, mi spiace)
    codice:
    ..... if(orario >= 22 && orario <=24.....
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  10. #10
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    comunque io non sarei cosi' gentile con gli utenti, e non perderei tempo a metterci impegno a scrivere codice solo per questo.

    scriverei il nome utente con cui si è loggato e basta. lo sapranno da soli se e' mattina o sera, no ?

    (anzi, sarebbe cosa carina sfottere l'utente: "Che cacchio ci fai di nuovo qui, xxxxxx ?"
    Ultima modifica di djciko; 12-03-2015 a 12:29

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.