Accedi
Ultimi argomenti attivi
Migliori postatori
ab89 | ||||
Thalionwen | ||||
Eine The Phantom | ||||
Reaulece | ||||
ya89 | ||||
root | ||||
Infernet89 | ||||
Pablomares | ||||
ruggiero98 | ||||
ieschfor |
Orologio DOS in C#
Pagina 1 di 1
Orologio DOS in C#
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
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.
Il codice è liberamente usufruibile purchè se ne citi l'autore e la fonte.
Per dubbi o perplessità sono a disposizione
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
ab89- Admin
- Numero di messaggi : 74
Età : 35
Località : Rovigo
Data d'iscrizione : 29.09.08
Scheda personaggio
PF:
Pagina 1 di 1
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.
Dom Giu 02, 2013 4:30 pm Da ruggiero98
» problema con la funzione SE aiutoooo x favore?????
Dom Giu 02, 2013 4:18 pm Da ruggiero98
» aiuto in programma con if
Dom Mag 26, 2013 5:39 pm Da ruggiero98
» CALCOLO PERCENTUALE IN C
Sab Apr 20, 2013 8:22 pm Da ruggiero98
» Costruire un temporizzatore software per accensione luci a led
Lun Mar 25, 2013 2:34 pm Da Cristina Shady
» Ciao a tutti!
Gio Mar 22, 2012 4:19 am Da cosmos91
» Virtualbox VS le periferiche USB
Mar Apr 06, 2010 1:49 pm Da dandeciani
» PROGRAMMA: BINARY CODE
Mar Dic 23, 2008 7:28 pm Da Thalionwen
» saluti a tutti
Mar Dic 23, 2008 7:12 pm Da Thalionwen
» GUIDA : CAP 1 LEZIONE 1 Elementi di base dei programmi in C [Prima Parte]
Sab Nov 29, 2008 11:44 am Da ya89
» un semplice ciao
Sab Nov 29, 2008 11:38 am Da ya89
» Aiuto per alice 7 mega
Ven Nov 14, 2008 4:03 pm Da root
» FORUM: I nuovi banner
Ven Nov 14, 2008 2:48 pm Da Thalionwen
» Zooming Ricorsivo, questo sconosciuto.
Ven Nov 14, 2008 2:43 pm Da Thalionwen
» GUIDA : LEZIONE 4 : UTILIZZARE GLI ARRAY IN C#
Ven Nov 14, 2008 1:54 pm Da ab89
» GUIDA : CAP 1 LEZIONE 1 Elementi di base dei programmi in C [Terza e Ultima Parte]
Ven Nov 14, 2008 12:41 am Da ab89
» GUIDA : CAP 1 LEZIONE 1 Elementi di base dei programmi in C [Seconda Parte]
Mer Nov 12, 2008 12:59 am Da ab89
» [PS2] Dark Cloud
Mar Nov 11, 2008 6:50 pm Da ab89
» [PC] Sacred 2
Lun Nov 10, 2008 10:49 pm Da ab89
» GUIDA : CAP 1 LEZIONE 3 INTRODUZIONE AGLI ARRAY
Lun Nov 10, 2008 1:37 pm Da ab89