home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / CMIDLE.ZIP / CMIDLER.PGM < prev    next >
Encoding:
Text File  |  1991-03-16  |  1.3 KB  |  76 lines

  1. program cmidler; {$X+}
  2.  uses 
  3.   dos,objects,drivers,views,menus,dialogs,app, uwidle; 
  4.  
  5. const
  6.  cmtest=100;
  7.  
  8. type
  9.  ttestapp=object(tapplication)
  10.   procedure initscreen;virtual;
  11.   procedure initmenubar;virtual;
  12.   procedure idle;virtual;
  13.   procedure testproc;
  14.   procedure handleevent(var event:tevent);virtual;
  15.  end;
  16.  
  17. procedure ttestapp.initscreen;
  18. begin
  19.  tapplication.initscreen;
  20.   {personal preference.}
  21.  showmarkers:=true
  22. end;
  23.  
  24. procedure ttestapp.initmenubar;
  25. var
  26.  r:trect;
  27. begin
  28.  getextent(r);
  29.  r.b.y:=r.a.y+1;
  30.  menubar:=new(pmenubar,init(r,
  31.   newmenu(
  32.    newitem('~T~est','F1',kbf1,cmtest,0,nil)
  33.   )))
  34. end;
  35.  
  36. procedure ttestapp.idle;
  37. const
  38.  timerec:tidlewhen=(hour:0;min:0;sec:0;sec100:0);
  39. begin
  40.  with timerec do 
  41.   dos.gettime(hour,min,sec,sec100);
  42.  message(@self,evbroadcast,cmidle,@timerec)
  43. end;
  44.  
  45. procedure ttestapp.testproc;
  46. const
  47.  wnumber:word=0;
  48. var
  49.  r:trect;
  50. begin 
  51.  desktop^.insert(validview(new(pstatuspanel,init)));
  52.  
  53.  desktop^.getextent(r); 
  54.  r.grow(-8,-8); inc(wnumber);
  55.  desktop^.insert(new(pwindow,init(r,'',wnumber)))
  56. end;
  57.  
  58. procedure ttestapp.handleevent(var event:tevent);
  59. begin
  60.  tapplication.handleevent(event);
  61.  if (event.what=evcommand) and (event.command=cmtest)
  62.   then begin 
  63.    testproc;
  64.    clearevent(event)
  65.   end;
  66. end;
  67.  
  68. var
  69.  t:ttestapp;
  70.  
  71. begin
  72.  t.init;
  73.  t.run;
  74.  t.done
  75. end.
  76.