Преглед на файлове

+ implemented crt.delay() for win16

git-svn-id: trunk@37643 -
nickysn преди 7 години
родител
ревизия
ac82fc3072
променени са 1 файла, в които са добавени 12 реда и са изтрити 1 реда
  1. 12 1
      packages/rtl-console/src/win16/crt.pp

+ 12 - 1
packages/rtl-console/src/win16/crt.pp

@@ -27,7 +27,7 @@ Var
 implementation
 
 uses
-  video, keyboard;
+  video, keyboard, WinProcs, WinTypes;
 
 {****************************************************************************
                            Low level Routines
@@ -287,7 +287,18 @@ end;
 *************************************************************************}
 
 procedure Delay(MS: Word);
+var
+  ticks: LongInt;
+  m: MSG;
 begin
+  ticks:=GetTickCount;
+  repeat
+    if PeekMessage(FarAddr(m),0,0,0,1) then
+    begin
+      TranslateMessage(FarAddr(m));
+      DispatchMessage(FarAddr(m));
+    end;
+  until (GetTickCount-ticks)>=MS;
 end;