home *** CD-ROM | disk | FTP | other *** search
- program desqtime;
- {$M 2048,0,65520} { small stack }
-
- { display time in a small window under desqview }
-
- uses
- dos, { only for GetTime procedure }
- dvapi;
-
- var
- win, tim, obj, key : ULONG;
- h,m,s,hun : word;
- st : string[10];
- done : boolean;
-
- FUNCTION ldZero(w : word) : string;
- { change w to 2 char string }
- VAR
- s : string[20];
- BEGIN
- str(w:0, s);
- IF length(s) = 1 THEN
- s := '0' + s;
- ldZero := s;
- END;
-
- PROCEDURE showTime;
- VAR
- dummy : DWORD;
- BEGIN
- dummy := tim_read(tim); { clear object queue }
- GetTime(h,m,s,hun);
- st := ldZero(h)+':'+ldZero(m)+':'+ldZero(s);
- win_erase(win);
- win_swrite(win,st);
- win_cursor(win,0,0); { if cursor not reset, logical win will shift }
- tim_addto(tim,100);
- END;
-
- begin
- if api_init < $214 then halt(1);
-
- win := win_me; { every app has one }
- win_resize(win,1,8);
- win_move(win,2,2);
- win_lsize(win,1,8);
- win_redraw(win); { show results of resize & move }
-
- tim := tim_new;
- tim_addto(tim,10);
-
- key := key_me; { every app has one of these, too }
-
- showTime;
- done := FALSE;
- while NOT done do begin
- obj := obq_read;
- if obj = tim then showTime;
- if obj = key then done := TRUE;
- end;
- end.