# C++ Timer(Countdown)



## Bumbbleman (6. Dezember 2008)

Hallo!
Ich hab wieder mal ein Problem.
Ich möchte einen Countdown erstellen aber OHNE Sleep(),
weil man soll in dem Programm noch was machen können wenn der countdown läuft.


----------



## Skini (6. Dezember 2008)

Hi,
hol dir doch die Systemzeit,
dann kannst du die restlichenFunktion ausführen, und immer
wieder checken ob eine bestimmte zeit verstrichen ist.
Skini


----------



## Bumbbleman (6. Dezember 2008)

Hi!
Und wie mach ich das?


----------



## radazong (6. Dezember 2008)

Hallo!
Dazu musst du die winmm.lib in dein Projekt einbinden, und dann über einen Aufruf a la

```
size_t start;
size_t countdown;   //die Zeit die runtergezählt werden soll in millisekunden

//....

start=timeGetTime();
//....

if((timeGetTime()-start)>=countdown)
...    //Zeit ist abgelaufen
```

So ungefähr sollte es das sein. Hoffe das hilft.
Gruß,
radazong


----------



## Bumbbleman (6. Dezember 2008)

Danke ich werds mal versuchen


----------



## Bumbbleman (6. Dezember 2008)

Wie includiere ich winmm.lib?


----------



## devDevil (6. Dezember 2008)

Och komm hier is C++ und nich WinAPI-Forum ... wie sieht es denn mit Header <ctime> aus? Da hasse std::time u. std::difftime als Funktionen drin die dir eigtl. genügen sollten  Und das schöne ... du brauchst keine zus. Libs außer die stdlib


----------



## Bumbbleman (6. Dezember 2008)

Ja danke dann werd ich es damit mal versuchen


----------



## MCoder (6. Dezember 2008)

Bumbbleman hat gesagt.:


> weil man soll in dem Programm noch was machen können wenn der countdown läuft.


Dann wäre vielleicht ein Timer die beste Lösung.

Gruß
MCoder


----------



## Bumbbleman (6. Dezember 2008)

also ich kenne mich mit timer nicht aus könntet ihr dann bitte einen Beispielcode posten


----------



## MCoder (6. Dezember 2008)

Falls es für Windows ist, schaue dir SetTimer an. Da gibt's auch Beispielcode.

Gruß
MCoder


----------



## Bumbbleman (6. Dezember 2008)

Nee für die DOS


----------



## devDevil (7. Dezember 2008)

Denk mal das du sicherlich das Betriebssystem (MS) DOS meinst, oder?  Die DOS würde meiner Meinung nach eher die DoS-Attacke meinen 

Also kannst dir mal die http://www.boost.org/doc/libs/1_37_0/boost/timer.hpp angucken, wobei hier function-style-cast verwendet wurden. Eher unschön ... Aber das Prinzip wird hier ganz schön deutlich und kannst dir auch angucken wie du an die max. Timer-Zeit kommst (und min. ) ...


----------



## Bumbbleman (7. Dezember 2008)

ja ich meinte ms dos und danke ich werds mir angucken


----------

