/ 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
Timer-ting
Fra : Andreas Jensen


Dato : 10-09-02 23:20

Hej,

Jeg har et program, som jeg skal have oversat til c/c++.
Det går ud på, at man indtaster et tidspunkt, og så udførte det en handling,
når det tidspunkt finder sted.
Jeg brugte to TTimer'e, men hvad gør man i c/c++?
Kan man tjekke den aktuelle tid hvert sekund og sammenligne den med en
indtastet tid,
eller hvordan skal det gøres?

Med venlig hilsen
Andreas Kryger Jensen



 
 
Mogens Hansen (11-09-2002)
Kommentar
Fra : Mogens Hansen


Dato : 11-09-02 05:52


"Andreas Jensen" <xylofonius@hotpop.com> wrote in message
news:3d7e6f28$0$175$edfadb0f@dspool01.news.tele.dk...

> Jeg har et program, som jeg skal have oversat til c/c++.
> Det går ud på, at man indtaster et tidspunkt, og så udførte det en
handling,
> når det tidspunkt finder sted.
> Jeg brugte to TTimer'e, men hvad gør man i c/c++?

Jeg antager at du har brugt Borland Delphi/Kylix.
Hvis du bruger Borland C++Builder / Kylix 3 kan du bare bruge TTimer igen,
og har samme fordele og ulemper som i Delphi.
Bemærk dog at TTimer ikke nødvendigvis er præcise, men kun bliver kald når
programmet ikke har andet at lave - det er en event-drevet ikke
multi-threaded løsning. Men ofte er det tilstrækkeligt godt.

> Kan man tjekke den aktuelle tid hvert sekund og sammenligne den med en
> indtastet tid,
> eller hvordan skal det gøres?

Det er een mulighed.
Men det vil typisk belaste een CPU 100%, så den ikke kan lave andet.
Til gengæld vil det virke på de fleste systemer.

Hvis det er under MS-Windows kan du kigge på WM_TIMER - det er den Borland
Delphi / C++Builder / Kylix bruger i TTimer.

En anden løsning er at bruge en ekstra tråd, som man sætter til at sove i et
bestemt stykke tid. Eventuelt kan man sætte prioriteten på tråden, så
arbejdet blive udført uanset hvor travlt hovedprogrammet er.
Håndtering af tråde er platformspecifict (evt. indkapslet i et portabelt
bibliotek).

Venlig hilsen

Mogens Hansen



Morten Bonlokke Post (12-09-2002)
Kommentar
Fra : Morten Bonlokke Post


Dato : 12-09-02 13:15

Mogens Hansen wrote:

> "Andreas Jensen" <xylofonius@hotpop.com> wrote in message
> news:3d7e6f28$0$175$edfadb0f@dspool01.news.tele.dk...
>
> > Jeg har et program, som jeg skal have oversat til c/c++.
> > Det går ud på, at man indtaster et tidspunkt, og så udførte det en
> handling,
> > når det tidspunkt finder sted.
> > Jeg brugte to TTimer'e, men hvad gør man i c/c++?
>
> Jeg antager at du har brugt Borland Delphi/Kylix.
> Hvis du bruger Borland C++Builder / Kylix 3 kan du bare bruge TTimer igen,
> og har samme fordele og ulemper som i Delphi.
> Bemærk dog at TTimer ikke nødvendigvis er præcise, men kun bliver kald når
> programmet ikke har andet at lave - det er en event-drevet ikke
> multi-threaded løsning. Men ofte er det tilstrækkeligt godt.
>
> > Kan man tjekke den aktuelle tid hvert sekund og sammenligne den med en
> > indtastet tid,
> > eller hvordan skal det gøres?
>
> Det er een mulighed.
> Men det vil typisk belaste een CPU 100%, så den ikke kan lave andet.
> Til gengæld vil det virke på de fleste systemer.
>

Den behøves ikke nodvendigvis at bruge 100% CPU tid. De kan evt. tjekke hvert
sekundt,
ved at lave den køre i en lykke der sleeper i et sekundt eller et halvt eller
hvad du nu foretrækker.
Jeg kan dog huske at der er en smartere måde som jeg benyttede på et tidligere
tidspunkt, det vil
jeg lige grave i om nødvendigt.

>
> Hvis det er under MS-Windows kan du kigge på WM_TIMER - det er den Borland
> Delphi / C++Builder / Kylix bruger i TTimer.
>
> En anden løsning er at bruge en ekstra tråd, som man sætter til at sove i et
> bestemt stykke tid. Eventuelt kan man sætte prioriteten på tråden, så
> arbejdet blive udført uanset hvor travlt hovedprogrammet er.
> Håndtering af tråde er platformspecifict (evt. indkapslet i et portabelt
> bibliotek).
>
> Venlig hilsen
>
> Mogens Hansen

Mvh.

Morten Post <u021952@daimi.au.dk>


Søg
Reklame
Statistik
Spørgsmål : 177485
Tips : 31964
Nyheder : 719565
Indlæg : 6408407
Brugere : 218885

Månedens bedste
Årets bedste
Sidste års bedste