Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 241848 (3284)
  Suchen
 Zurück zur Übersicht
 AutorThema: Zeitverzögerung
M.Heinemann
Datum:10.08.02 14:17 Antwortenals Email verschicken (info@heinemaennchen.de) 


Hallo liebe Profaner,

hab noch mal eine Frage an euch, auf die ich selber irgendwie nicht komme.

Mit dem Befehl Sleep kann man den Programmablauf angefangen von Millisekunden verzögern.
Großer Vorteil bei Schleifen und so.

Nun meine Frage:

Ich brauche eine Verzögerung, die sich im Tausendstel Bereich befindet.
Da der Sleep Befehl alles größer als 0 (z.B. Sleep 0.1) als eine 1 ansieht, habe ich immer eine Verzögerung von 1 ms.

Hat jemand eine Idee, wie ich in den Tausendstel Bereich komme. ?

Vielen Dank schon mal im voraus.

Mfg

heinemaennchen


Sven Schmidts
Datum:10.08.02 18:29 Antwortenals Email verschicken (schmidts@flat2serv.de) 


Hallo,

das wirst Du nicht realisieren können. Profan ist keine native Sprache ist. Alle Nachrichten müssen erst von der Profan-Engine an Dein Programm weitergegegeben werden, das verlangsamt die Geschichte.

Falls Du es trotzdem ausprobieren möchtest, musst Du Dir Deine eigene Sleep Funktion basteln. Anbei ein Code aus Delphi (einer von meinen ;)), kannst Du aber leicht auf Profan rueberbringen. Statt "GetTickCount" gibt es noch die Funktion "QueryPerformanceCounter", die geht noch unter mSek, soweit ich das in erinnerung habe:

procedure Delay(mSek: DWord);
var ZielZeit: DWord;
begin
ZielZeit := GetTickCount()+mSek;
while (GetTickCount() < ZielZeit) do
Application.ProcessMessages;
end;

Wenn Du "Application.ProcessMessages" weglässt (ruft nur die Botschaften-Verwaltung von Delphi auf) und nichts machst, dann müsstest Du auf maximalen Speed kommen.

Mfg.
Sven Schmidts


M. Heinemann
Datum: 10.08.02 23:43 Antwortenals Email verschicken (info@heinemaennchen.de) 


Hi Sven,

könntest Du mir die Routine evtl. umbasteln auf Profan.

Hab irgendwie nicht so den Plan wie du das gemeint hast.

Hab vielen Dank.

Gruß heinemaennchen


 Zurück zur Übersicht