Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 817

•  TDictionary Custom Sort  6 818

•  Fast Watermark Sources  6 598

•  3D Designer  9 560

•  Sik Screen Capture  6 937

•  Patch Maker  7 388

•  Айболит (remote control)  7 332

•  ListBox Drag & Drop  6 188

•  Доска для игры Реверси  98 169

•  Графические эффекты  7 503

•  Рисование по маске  6 790

•  Перетаскивание изображений  5 646

•  Canvas Drawing  6 025

•  Рисование Луны  5 817

•  Поворот изображения  5 268

•  Рисование стержней  3 859

•  Paint on Shape  3 016

•  Генератор кроссвордов  3 969

•  Головоломка Paletto  3 148

•  Теорема Монжа об окружностях  3 985

•  Пазл Numbrix  2 631

•  Заборы и коммивояжеры  3 443

•  Игра HIP  2 359

•  Игра Go (Го)  2 273

•  Симулятор лифта  2 675

•  Программа укладки плитки  2 236

•  Генератор лабиринта  2 788

•  Проверка числового ввода  2 395

•  HEX View  2 729

•  Физический маятник  2 421

 
скрыть

Реализация функции Delay 2



Оформил: DeeCo


procedure Delay(msecs: Longint);
 var
   targettime: Longint;
   Msg: TMsg;
 begin
   targettime := GetTickCount + msecs;
   while targettime > GetTickCount do
     if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then
     begin
       If Msg.message = WM_QUIT Then
       begin
         PostQuitMessage(msg.wparam);
         Break;
       end;
       TranslateMessage(Msg);
       DispatchMessage(Msg);
     end;
 end;

 { 
  Note: 
  The elapsed time is stored as a DWORD value. 
  Therefore, the time will wrap around to zero if the system is 
  run continuously for 49.7 days. 
}