'Delay' in C -Sprache für Win.

Von: , Frage gestellt am So, 10. Okt 1999

Hallo Leute,

wie kann man in einem C-Windows-Programm eine bestimmte Zeit lang (z.B 5 Millisec.) warten?
Und zwar unabhängig von der Rechnergeschwindigkeit.
Für DOS gibt es ja den Befehl "DELAY".

Vielen Dank!

Hans

2 Antworten zu dieser Frage

  1. Antwort von nach einer Stunde hilfreich
    Re: 'Delay' in C -Sprache für Win.

    Hallo Leute,
    Hallo auch

    wie waers hiermit

    void DELAY(DWORD Delay)
    {
    DWORD dwTicks = GetTickCount();
    while (GetTickCount()-dwTicks < Delay);
    }

  2. Antwort von nach 17 Stunden hilfreich
    Re: 'Delay' in C -Sprache für Win.

    Hi Hans!

    Üblicherweise kommen unter Windows wegen der Multitasking-Struktur KEINE Delay-Befehle zum Einsatz.
    Deshalb sollte man, wenn diese Zeit nicht ganz genau sein muss, und Delay ist recht ungenau, die Windows-Funktionen SetTimer &Co (mit der entsprechenden Timer-Message) verwenden, da dann in der Zwischenzeit andere Tasks weiterlaufen können. Windows "sagt" dann Bescheid, wenn die Zeit um ist.
    Falls Du eine Windows-Api-Hilfe hast (wirst Du sicher zumindest als Online-Hilfe haben), kannst Du die genaue Syntax der einzelnen Befehle dort finden. Die Api-Funktionen kann man übrigens von jeder Programmiersprache aufrufen, Du musst nur auf kompatible Datentypen achten.
    Bei Rückfragen kannst Du mir gerne mailen.

    Viele Grüße
    Gunther [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!