Informatica Programmabile
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.
Accedi

Ho dimenticato la password

Ultimi argomenti attivi
» argomento
Orologio DOS in C# EmptyDom Giu 02, 2013 4:30 pm Da ruggiero98

» problema con la funzione SE aiutoooo x favore?????
Orologio DOS in C# EmptyDom Giu 02, 2013 4:18 pm Da ruggiero98

» aiuto in programma con if
Orologio DOS in C# EmptyDom Mag 26, 2013 5:39 pm Da ruggiero98

»  CALCOLO PERCENTUALE IN C
Orologio DOS in C# EmptySab Apr 20, 2013 8:22 pm Da ruggiero98

» Costruire un temporizzatore software per accensione luci a led
Orologio DOS in C# EmptyLun Mar 25, 2013 2:34 pm Da Cristina Shady

» Ciao a tutti!
Orologio DOS in C# EmptyGio Mar 22, 2012 4:19 am Da cosmos91

» Virtualbox VS le periferiche USB
Orologio DOS in C# EmptyMar Apr 06, 2010 1:49 pm Da dandeciani

» PROGRAMMA: BINARY CODE
Orologio DOS in C# EmptyMar Dic 23, 2008 7:28 pm Da Thalionwen

» saluti a tutti
Orologio DOS in C# EmptyMar Dic 23, 2008 7:12 pm Da Thalionwen

» GUIDA : CAP 1 LEZIONE 1 Elementi di base dei programmi in C [Prima Parte]
Orologio DOS in C# EmptySab Nov 29, 2008 11:44 am Da ya89

» un semplice ciao
Orologio DOS in C# EmptySab Nov 29, 2008 11:38 am Da ya89

» Aiuto per alice 7 mega
Orologio DOS in C# EmptyVen Nov 14, 2008 4:03 pm Da root

» FORUM: I nuovi banner
Orologio DOS in C# EmptyVen Nov 14, 2008 2:48 pm Da Thalionwen

» Zooming Ricorsivo, questo sconosciuto.
Orologio DOS in C# EmptyVen Nov 14, 2008 2:43 pm Da Thalionwen

» GUIDA : LEZIONE 4 : UTILIZZARE GLI ARRAY IN C#
Orologio DOS in C# EmptyVen Nov 14, 2008 1:54 pm Da ab89

» GUIDA : CAP 1 LEZIONE 1 Elementi di base dei programmi in C [Terza e Ultima Parte]
Orologio DOS in C# EmptyVen Nov 14, 2008 12:41 am Da ab89

» GUIDA : CAP 1 LEZIONE 1 Elementi di base dei programmi in C [Seconda Parte]
Orologio DOS in C# EmptyMer Nov 12, 2008 12:59 am Da ab89

» [PS2] Dark Cloud
Orologio DOS in C# EmptyMar Nov 11, 2008 6:50 pm Da ab89

» [PC] Sacred 2
Orologio DOS in C# EmptyLun Nov 10, 2008 10:49 pm Da ab89

» GUIDA : CAP 1 LEZIONE 3 INTRODUZIONE AGLI ARRAY
Orologio DOS in C# EmptyLun Nov 10, 2008 1:37 pm Da ab89

Flusso RSS


Yahoo! 
MSN 
AOL 
Netvibes 
Bloglines 



Orologio DOS in C#

Andare in basso

Orologio DOS in C# Empty Orologio DOS in C#

Messaggio Da ab89 Mer Ott 08, 2008 11:01 pm

Orologio in DOS... quale utilità? Sostanzialmente nessuna.
Un semplice esempio di programma c# con interfaccia DOS che sfrutta l'implementazione di una classe per simulare il funzionamento di un orologio.
Il codice che posto può essere sfruttato per creare un orologio ad interfaccia Win32 tramite l'utilizzo del namespace System.Windows.Forms.

Ecco il codice della classe

Codice:

 class orologio
    {
        private int _minuti = 0; //minuti trascorsi
        private int _secondi = 0; //secondi trascorsi
        private int _ore = 0; //ore trascorse
        private bool _enabled = false; //attivazione o meno dell'orologio

        public int Minuti { get { return _minuti; } set { _minuti = value; } }
        public int Ore { get { return _ore; } set { _ore = value; } }
        public int Secondi { get { return _secondi; } set { _secondi = value; } }
        public bool Enabled { get { return _enabled; } }

        /// <summary>
        /// attiva orologio
        /// </summary>
        public void Start()
        {
            _enabled = true;
        }

        //ferma orologio
        public void Stop()
        {
            _enabled = false;
        }

        //scatta orologio
        public void Tick()
        {
            _secondi++; //incrementa secondi
            if ((Secondi %= 60) == 0) //se secondi = 60
            {
                Minuti++; //incrementa minuti
                if ((Minuti %= 60) == 0) //se minuti = 60
                {
                    Ore++; //incrementa ore
                    Ore %= 24;
                }
            }
        }

        public override string ToString()
        {
            return string.Format("{0:00}:{1:00}:{2:00}",Ore,Minuti,Secondi);
        }
    }

La classe presenta 4 elementi che rappresentano ora, minuti e secondi dell'orologio e se esso è attivo o meno.
Viene poi fatto l'override del metodo ToString(..) in modo tale dando ad una funzione di output come WriteLine(), che scrive a video una stringa, un parametro corrispondente all'orologio scrive direttamente ora minuti e secondi come stringa già formattata.
Infine il metodo Tick() equivalead un 'Tick' dell'orologio, ossia ogni qual volta trascorre un determinato intervallo, nel caso dell'orologio 1 secondo, scatta la lancietta dell'orologio, si incrementa di 1 il valore dei secondi e da li calcola minuti e ore in base allo stato precedente delle relative variabili.

Di seguito un esempio pratico di come adoperare la classe 'orologio' per creare un orologio a interfaccia DOS.

Codice:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace orologio
{
    class Program
    {
        static void Main(string[] args)
        {
            orologio o = new orologio(); //crea orologio
            o.Start(); //avvia l'orologio
           
            //finchè orologio è attivo
           
            while (o.Enabled)
            {
                Console.Clear(); //pulisci schermo
                Console.WriteLine(o); //scrivi ora
                System.Threading.Thread.Sleep(1000); //attendi 1 secondo
                o.Tick(); //fai scattare orologio
            }
        }
    }

    /// <summary>
    /// questa classe implementa il funzionamento di un orologio
    /// </summary>

    class orologio
    {
        private int _minuti = 0; //minuti trascorsi
        private int _secondi = 0; //secondi trascorsi
        private int _ore = 0; //ore trascorse
        private bool _enabled = false; //attivazione o meno dell'orologio

        public int Minuti { get { return _minuti; } set { _minuti = value; } }
        public int Ore { get { return _ore; } set { _ore = value; } }
        public int Secondi { get { return _secondi; } set { _secondi = value; } }
        public bool Enabled { get { return _enabled; } }

        /// <summary>
        /// attiva orologio
        /// </summary>
        public void Start()
        {
            _enabled = true;
        }

        //ferma orologio
        public void Stop()
        {
            _enabled = false;
        }

        //scatta orologio
        public void Tick()
        {
            _secondi++; //incrementa secondi
            if ((Secondi %= 60) == 0) //se secondi = 60
            {
                Minuti++; //incrementa minuti
                if ((Minuti %= 60) == 0) //se minuti = 60
                {
                    Ore++; //incrementa ore
                    Ore %= 24;
                }
            }
        }

        public override string ToString()
        {
            return string.Format("{0:00}:{1:00}:{2:00}",Ore,Minuti,Secondi);
        }
    }
}


Il codice è liberamente usufruibile purchè se ne citi l'autore e la fonte.
Per dubbi o perplessità sono a disposizione Very Happy
ab89
ab89
Admin
Admin

Numero di messaggi : 74
Età : 35
Località : Rovigo
Data d'iscrizione : 29.09.08

Scheda personaggio
PF:

Torna in alto Andare in basso

Torna in alto


 
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.