ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Daarom heb ik dus lopen zoeken hoe je de systeemtijd uit kan lezen (eerste deel) en om dan er mee te kunnen rekenen het omgezet naar een int.
Alleen zoek een logische manier en dit ziet er niet logisch uit.
ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)
[ Voor 76% gewijzigd door |sWORDs| op 03-02-2005 12:10 ]
Te Koop:24 Core Intel Upgradeset
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
gewoon standaard c++ (dosboxjes duscurry684 schreef op donderdag 03 februari 2005 @ 12:14:
Op welk platform ben je uberhaupt bezig?
ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)
1
2
3
4
| wachttijd = tijd+ 900000 //15 minuten //900 seconden //900000 ms
while (time() < wachttijd) {
//je code hier
} |
edit: ow en nee er klopt niks van dat weet ik, het gaat ff om de structuur
[ Voor 31% gewijzigd door BasieP op 03-02-2005 12:30 ]
This message was sent on 100% recyclable electrons.
En hij is nog ansi-compatible ookThe clock function tells how much time the calling process has used. A timer tick is approximately equal to 1/CLOCKS_PER_SEC second. In versions of Microsoft C before 6.0, the CLOCKS_PER_SEC constant was called CLK_TCK
Onder linux zou ik liever gettimeofday gebruiken
Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein
moet je daarom iedere keer voordat je de loop ingaat de time opnieuw berekenen / updaten...?!MSalters schreef op donderdag 03 februari 2005 @ 12:52:
Leuk allemaal, maar het gaat natuurlijk voor geen meter werken. Na 15 minuten zit de TS gewoon nog in zijn Calculate( ) functie, en die wordt niet plotseling onderbroken.
Neem aan van wel... alleen dan kom ik dus weer tot het bovenstaande stukje ongeveer...
Is het niet mogelijk om een variabele te hebben die altijd de tijd is zonder dat je die moet updaten? Dus mijn part van het type struct_tm ofzo?
ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Dat maakt niets uit, als je gewoon een Console-applicatie hebt kun je ook een message-only window met messagepump onderhouden en daarop WM_TIMER afvangen, en bovendien heb je de complete Win32 API waardoor je ook met een periodieke Waitable Timer kunt werken met een completion routine waarin je de nieuwe data inleest.Lord_T schreef op donderdag 03 februari 2005 @ 12:19:
[...]
gewoon standaard c++ (dosboxjes dus) gebruik momenteel Microsoft Visual c++ 6.0 alleen doe dus niets met het visuele aspect, omdat dit programma uiteindelijk als deel van iets anders moet gaan werken.
overigens heb ik even gezocht op die msdn site van Microsoft over dat alarm() en sleep() maar kan er niet echt iets goeds over vinden (zal wel aan mijn zoeken liggen
sleep zet een thread op suspend maar ik heb nog nooit met threads geprogrammeerd... betekent dit dan dus trouwens dat ik mijn calculate kan suspenden en met een andere thread mijn data in moet lezen? klinkt erg moeilijk.... zeker omdat je dan nog niet weet wanneer het aangeroepen moet worden... (in princiepe iedere keer op het interval...)
ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)
heb je daar meer info over? Dus over die periodieke waitable timer?curry684 schreef op donderdag 03 februari 2005 @ 14:11:
[...]
Dat maakt niets uit, als je gewoon een Console-applicatie hebt kun je ook een message-only window met messagepump onderhouden en daarop WM_TIMER afvangen, en bovendien heb je de complete Win32 API waardoor je ook met een periodieke Waitable Timer kunt werken met een completion routine waarin je de nieuwe data inleest.
ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)
MSDN as always?Lord_T schreef op donderdag 03 februari 2005 @ 14:18:
[...]
heb je daar meer info over? Dus over die periodieke waitable timer?
1
2
3
4
| time_t start = time(); while (time() - start < 15*60) { // eg. calculate best probabilistic solution in 15min } |
Als je weet dat je vaak genoeg in je outerloop terecht komt, werkt dit prima. Maar wat dus niet werk is als "//calculate" iets doet dat heel lang duurt op zich, bv wachten op data van een socket.
Windows hippiecurry684 schreef op donderdag 03 februari 2005 @ 14:11:
[...]
Dat maakt niets uit, als je gewoon een Console-applicatie hebt kun je ook een message-only window met messagepump onderhouden en daarop WM_TIMER afvangen, en bovendien heb je de complete Win32 API waardoor je ook met een periodieke Waitable Timer kunt werken met een completion routine waarin je de nieuwe data inleest.
WM_TIMER doet niets wat je niet net zo goed in ISO C++ kunt doen. Om je WM_TIMER message te ontvangen moet je namelijk je Calculate lus uit, en de Message Pump in. Dan kun je net zo goed std::time( ) checken.
Als je toch zonodig iets ingewikkelds wil doen, gebruik dan CreateTimerQueueTimer( ...WT_EXECUTEINTIMERTHREAD ... )
Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein