()
Newbie
Messaggi:
Iscritto:
|
È poco affidabile, e me ne sono reso conto facendo girare un programma sul pc della scuola..ma in alternativa c'è qualche altra procedura??
|
|
Poggi Marco (Member)
Guru
Messaggi: 969
Iscritto: 05/01/2010
|
Certamente!
E' possibile richiedere l' ora locale al bios del computer.
|
|
TheKaneB (Member)
Guru^2
Messaggi: 1792
Iscritto: 26/06/2009
|
Postato originariamente da Giarados:
È poco affidabile, e me ne sono reso conto facendo girare un programma sul pc della scuola..ma in alternativa c'è qualche altra procedura?? |
per fare cosa? |
|
()
Newbie
Messaggi:
Iscritto:
|
Postato originariamente da TheKaneB:
Postato originariamente da Giarados:
È poco affidabile, e me ne sono reso conto facendo girare un programma sul pc della scuola..ma in alternativa c'è qualche altra procedura?? |
per fare cosa? |
Per far tutto ..dalla durata di un suono all'attesa prima di un randomize all'attesa per far comparire un certo testo. |
|
()
Newbie
Messaggi:
Iscritto:
|
ho buttato giù queste poche riga di codice:
Codice sorgente - presumibilmente Delphi |
program ritardatore; uses dos; var h,m,s,s100:word; attesa:integer; appoggio:integer; i:integer; begin write('Secondi da attendere: '); readln(attesa); gettime(h,m,s,s100); appoggio:=s; i:=0; repeat gettime(h,m,s,s100); if s=appoggio+1 then begin i:=i+1; appoggio:=s; end; until attesa=i; writeln('Sono passati: ',i,' secondi'); end.
|
non riesco ad adattarlo ai centesimi di secondo
|
|
Poggi Marco (Member)
Guru
Messaggi: 969
Iscritto: 05/01/2010
|
Ciao!
Ho letto il tuo programma, e a mio avviso, potresti crearti due funzioni separate:
La prima calcola i secondi dalla mezzanotte, mentre la seconda attende per un tempo prestabilito.
Ecco un esempio:
Codice sorgente - presumibilmente Delphi |
program ritardatore; uses dos; var attesa,t0:real; function tempo:real; var h,m,s,s100:word; begin GetTime(h, m, s, s100); tempo:=3600*(h+0.0) + 60*m + s + 0.01*s100; { ho messo "(h+0.0)" per un problema di overflow } end; procedure pausa(t:real); var t0:real; begin t0:=tempo; while tempo-t0<t do; { attesa per un tempo predefinito } end; begin write('Secondi da attendere: '); readln(attesa); t0:=tempo; pausa(attesa); writeln('Sono passati: ',tempo-t0:6:3,' secondi'); readln; end.
|
Attenzione! Il programma non funziona al cambio di data.
|
|