/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
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 ?



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste