home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / DESQVIEW / TECH / DVPTIME.ZIP / DESQTIME.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1990-11-16  |  1.3 KB  |  61 lines

  1. program desqtime;
  2. {$M 2048,0,65520}  { small stack }
  3.  
  4. { display time in a small window under desqview }
  5.  
  6. uses
  7.    dos,  { only for GetTime procedure }
  8.    dvapi;
  9.  
  10. var
  11.    win, tim, obj, key : ULONG;
  12.    h,m,s,hun : word;
  13.    st : string[10];
  14.    done : boolean;
  15.  
  16.    FUNCTION ldZero(w : word) : string;
  17.    { change w to 2 char string }
  18.    VAR
  19.       s        : string[20];
  20.    BEGIN
  21.       str(w:0, s);
  22.       IF length(s) = 1 THEN
  23.          s := '0' + s;
  24.       ldZero := s;
  25.    END;
  26.  
  27.    PROCEDURE showTime;
  28.    VAR
  29.       dummy : DWORD;
  30.    BEGIN
  31.       dummy := tim_read(tim); { clear object queue }
  32.       GetTime(h,m,s,hun);
  33.       st := ldZero(h)+':'+ldZero(m)+':'+ldZero(s);
  34.       win_erase(win);
  35.       win_swrite(win,st);
  36.       win_cursor(win,0,0); { if cursor not reset, logical win will shift }
  37.       tim_addto(tim,100);
  38.    END;
  39.  
  40. begin
  41.    if api_init < $214 then halt(1);
  42.  
  43.    win := win_me;   { every app has one }
  44.    win_resize(win,1,8);
  45.    win_move(win,2,2);
  46.    win_lsize(win,1,8);
  47.    win_redraw(win);    { show results of resize & move }
  48.  
  49.    tim := tim_new;
  50.    tim_addto(tim,10);
  51.  
  52.    key := key_me;   { every app has one of these, too }
  53.  
  54.    showTime;
  55.    done := FALSE;
  56.    while NOT done do begin
  57.       obj := obq_read;
  58.       if obj = tim then showTime;
  59.       if obj = key then done := TRUE;
  60.    end;
  61. end.