home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / mailpro / genmenus.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1988-08-23  |  1012 b   |  39 lines

  1. unit GenMenus;
  2.  
  3. interface
  4. uses Crt, FastWr, ColorDef, ColorIU, ShadoU, GetKeU, IMaU, LPaU, CPaU;
  5. type LineArray =         array [0..10] of string[80];
  6. function RetMenu( Line:        LineArray;
  7.                   MaxLine:     integer;
  8.               var FunctionKey: boolean): char;
  9.  
  10. implementation
  11.  
  12. function RetMenu;
  13. var I,
  14.     Width,
  15.     Col,
  16.     Row:               integer;
  17.     Ch:                char;
  18. begin
  19. clrscr;
  20. ColorIn( 1, 1, 80, 25, Displays.Attr);
  21. Row := ((24 - (MaxLine + 2)) div 2) + 2;
  22. Width := 0;
  23. for I := 0 to MaxLine do Width := IMax( Width, ord(length(Line[I])) );
  24. Col:= (80 - Width) div 2;
  25. Shadow( Col-2, Row-2, Col+Width+1, Row+succ(MaxLine), Menus.Attr, true);
  26. for I := 1 to MaxLine do Line[I] := LPad( Line[I], Width);
  27. Line[0] := CPad( Line[0], Width);
  28. for I := 1 to MaxLine do
  29.       begin
  30.       FastWrite( Line[I], Row+I, Col, Menus.Attr);
  31.       end;
  32. FastWrite(Line[0], Row-1, Col, Menus.Attr);
  33. GetKey(Ch,FunctionKey);
  34. clrscr;
  35. RetMenu := Ch;
  36. end;
  37.  
  38. end.
  39.