Einzelnen Beitrag anzeigen

a.def
(Gast)

n/a Beiträge
 
#15

AW: Sekunden in Millisekunden für Sleep umwandeln

  Alt 11. Mär 2017, 16:55
Ich mache das jetzt so

Delphi-Quellcode:
procedure TForm1.LongDelay(Milliseconds: Cardinal);
var
 FirstTickCount: DWord;
begin
 FirstTickCount := GetTickCount;

 while ((GetTickCount - FirstTickCount) < Milliseconds) do
  begin
   if not ThreadRunning then // nur ein Beispiel! (das hier steht hier nur, damit bei Programmende nicht unnötig hier gewartet wird)
    Exit;

   Application.ProcessMessages;
   Sleep(0);
  end;
end;

// Eingabe Nutzer: 600
var
 dTmp: Single;
 iMaxImgLifetime: Integer;
begin
 dTmp := (StrToIntDef(sSecondsInput, 600) / 20); // 20 = Anzahl Bilder
 iMaxImgLifetime := Round(dTmp * 1000); // Lebenszeit eines Bildes, bevor es versteckt wird

 // Thread
 while ... do
  begin
   LongDelay(iMaxImgLifetime);

   // Arbeite ...
  end;
  Mit Zitat antworten Zitat