|
| Hvordan laver man et ur i c++ Fra : Rasmus Christensen |
Dato : 09-02-01 13:57 |
|
Hej
Jeg kunne godt tænke mig at lave et ur i C++ der bliver opdateret.
Jeg har prøvet cout<<__TIME__;
Det udskriver den aktuelle tid programmet blev startet, men hvordan kan jeg
lavet et der løbende opdateres, og så jeg kan gemme værdier fra hh:mm:ss
Venlig hilsen Rasmus
| |
Christian Madsen (09-02-2001)
| Kommentar Fra : Christian Madsen |
Dato : 09-02-01 14:24 |
|
__TIME__ er en macro, defineret på compile tidspunktet. Mere kender jeg
ikke til c++, men __TIME__ virker ihvertfald ikke!
In article <FTRg6.507$7Q5.24960@news101.telia.com>, "Rasmus Christensen"
<RasmusC@mail1.stofanet.dk> wrote:
> Hej
>
> Jeg kunne godt tænke mig at lave et ur i C++ der bliver opdateret.
>
> Jeg har prøvet cout<<__TIME__;
>
> Det udskriver den aktuelle tid programmet blev startet, men hvordan kan
> jeg lavet et der løbende opdateres, og så jeg kan gemme værdier fra
> hh:mm:ss
>
> Venlig hilsen Rasmus
>
>
| |
Igor V. Rafienko (09-02-2001)
| Kommentar Fra : Igor V. Rafienko |
Dato : 09-02-01 16:18 |
|
* Rasmus Christensen
[snip]
> Det udskriver den aktuelle tid programmet blev startet, men hvordan
> kan jeg lavet et der løbende opdateres, og så jeg kan gemme værdier
> fra hh:mm:ss
* man ctime
* <URL: http://http://www.dinkumware.com/htm_cl/index.html> +
localespesifikke ting for formattering av datoer.
ivr
--
Besides, meat tends to run away when possible, or fights. Either
response presents behavioral challenges too complex for any existing
robot.
-- Stuart Wilkinson, inventor of the "gastrobot"
| |
Claus Brinch Jensen (16-02-2001)
| Kommentar Fra : Claus Brinch Jensen |
Dato : 16-02-01 19:03 |
|
På Windows platformen kan du evt. bruge system funktionen GetTickCount().
Den returnerer et tal der i millisekunder angiver oppetiden for systemet, og
bliver således nulstillet hver gang du rebooter.
Desuden er præcisionen (opløsningen) ikke optimal, men hvis du eksempelvis
skal bruge den til at bestemme hvor længe dit program har været i luften
uden at have behov for pæcision på millisekunder, så er den absolut
velegnet.
Claus
"Rasmus Christensen" <RasmusC@mail1.stofanet.dk> wrote in message
news:FTRg6.507$7Q5.24960@news101.telia.com...
> Hej
>
> Jeg kunne godt tænke mig at lave et ur i C++ der bliver opdateret.
>
> Jeg har prøvet cout<<__TIME__;
>
> Det udskriver den aktuelle tid programmet blev startet, men hvordan kan
jeg
> lavet et der løbende opdateres, og så jeg kan gemme værdier fra hh:mm:ss
>
> Venlig hilsen Rasmus
>
>
| |
Adam Sjøgren (16-02-2001)
| Kommentar Fra : Adam Sjøgren |
Dato : 16-02-01 19:10 |
|
On Fri, 16 Feb 2001 18:03:12 GMT, Claus Brinch Jensen wrote:
> På Windows platformen kan du evt. bruge system funktionen
> GetTickCount().
> Den returnerer et tal der i millisekunder angiver oppetiden for
> systemet, og bliver således nulstillet hver gang du rebooter.
Hvad sker der med c++-uret bygget på GetTickCount() når maskinen har
kørt i ~50 dage?
Mvh.
--
"Danskerne definerer sig selv i modsætning til Adam Sjøgren
svenskerne, mens det omvendte er ikke tilfældet" asjo@koldfront.dk
| |
Kent Friis (16-02-2001)
| Kommentar Fra : Kent Friis |
Dato : 16-02-01 19:39 |
|
Den 16 Feb 2001 19:10:28 +0100 skrev Adam Sjøgren:
>On Fri, 16 Feb 2001 18:03:12 GMT, Claus Brinch Jensen wrote:
>
>> På Windows platformen kan du evt. bruge system funktionen
>> GetTickCount().
>
>> Den returnerer et tal der i millisekunder angiver oppetiden for
>> systemet, og bliver således nulstillet hver gang du rebooter.
>
>Hvad sker der med c++-uret bygget på GetTickCount() når maskinen har
>kørt i ~50 dage?
Det viser i hvert fald ikke uret nede i hjørnet af den blå skærm.
Var det ikke 47.9 dage?
Mvh
Kent
--
http://www.celebrityshine.com/~kfr - nu med thumbnails på grafiksiderne.
| |
Claus Brinch Jensen (16-02-2001)
| Kommentar Fra : Claus Brinch Jensen |
Dato : 16-02-01 19:56 |
|
Se kommentarer nedenfor.
"Adam Sjøgren" <asjo@koldfront.dk> wrote in message
news:878zn6a48b.fsf@virgil.koldfront.dk...
> On Fri, 16 Feb 2001 18:03:12 GMT, Claus Brinch Jensen wrote:
> > Den returnerer et tal der i millisekunder angiver oppetiden for
> > systemet, og bliver således nulstillet hver gang du rebooter.
>
> Hvad sker der med c++-uret bygget på GetTickCount() når maskinen har
> kørt i ~50 dage?
Som du så diskret antyder, så er det da rigtigt at tællerens kun rummer
plads til de omkring 50 dage, så når computeren har kørt uafbrudt uden
reboots i dette tidsrum så "løber den over" og starter forfra fra 0.
Og jo, det burde jeg måske også have nævnt, selv om jeg har en fornemmelse
af at det ikke vil have den store indflydelse på den applikation Rasmus
Cristensen skal til at lave.
>
> Mvh.
>
> --
> "Danskerne definerer sig selv i modsætning til Adam
Sjøgren
> svenskerne, mens det omvendte er ikke tilfældet"
asjo@koldfront.dk
| |
Adam Sjøgren (16-02-2001)
| Kommentar Fra : Adam Sjøgren |
Dato : 16-02-01 22:15 |
|
On Fri, 16 Feb 2001 18:55:37 GMT, Claus Brinch Jensen wrote:
> Som du så diskret antyder, så er det da rigtigt at tællerens kun
> rummer plads til de omkring 50 dage, så når computeren har kørt
> uafbrudt uden reboots i dette tidsrum så "løber den over" og starter
> forfra fra 0.
Hvilket, alt efter maskine, er et stort eller et lille problem - det
har du naturligvis ret i.
[..]
> jeg har en fornemmelse af at det ikke vil have den store indflydelse
> på den applikation Rasmus Cristensen skal til at lave.
Sådan var der også mange der tænkte da de lavede to cifre til
årstallet...
,
--
"or maybe you`re a zombie yourself? LOL" Adam Sjøgren
"Exactly. We never hurt our own." asjo@koldfront.dk
| |
Jakob Schmidt (16-02-2001)
| Kommentar Fra : Jakob Schmidt |
Dato : 16-02-01 20:49 |
|
asjo@koldfront.dk (Adam Sjøgren) writes:
> On Fri, 16 Feb 2001 18:03:12 GMT, Claus Brinch Jensen wrote:
>
> > På Windows platformen kan du evt. bruge system funktionen
> > GetTickCount().
>
> > Den returnerer et tal der i millisekunder angiver oppetiden for
> > systemet, og bliver således nulstillet hver gang du rebooter.
>
> Hvad sker der med c++-uret bygget på GetTickCount() når maskinen har
> kørt i ~50 dage?
Uhaja. Heldigvis har Microsoft jo designet deres styresystem, på en
måde, så den situationsjældent opstår...
--
Jakob Schmidt
http://aut.dk/orqwood
etc.
| |
Niels Erik Danielsen (16-02-2001)
| Kommentar Fra : Niels Erik Danielsen |
Dato : 16-02-01 21:39 |
|
"Claus Brinch Jensen" <cbj@email.dk> wrote in message
news:AXdj6.72836$zw.1308183@twister.sunsite.dk...
> På Windows platformen kan du evt. bruge system funktionen GetTickCount().
>
> Den returnerer et tal der i millisekunder angiver oppetiden for systemet,
og
> bliver således nulstillet hver gang du rebooter.
Øh..hvorfor ikke anvende de to Win32 API funktioner :
BOOL QueryPerformanceCounter(DWORDLONG &TimerTick);
BOOL QueryPerformanceFrequency(DWORDLONG &TimerTick);
En 64 Bit integer løber ikke sådan lige over, og der også en nogenlunde
opløsning på timeren. (På mit system er opløsningen 3.5 Mhz eller 0.3 us ).
Jeg ved faktisk ikke om timeren resettes ved system start, da jeg kun har
anvendt den til at time mellem to events ?
| |
|
|