home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast.iso / pcmag / vol12n01.zip / GROUP.ZIP / GROUPVU.PAS < prev   
Pascal/Delphi Source File  |  1992-09-24  |  3KB  |  74 lines

  1. PROGRAM GroupVu;
  2. USES WinCrt, WinTypes, WinProcs, WinDos, Strings, GroupType,
  3.   GroupFile;
  4. CONST GroupX : PChar = 'GROUPxx';
  5. VAR
  6.   GroupNum : Word;
  7.   buff     : ARRAY[0..80] OF Char;
  8.   T        : TGroupFile;
  9.   Item     : Word;
  10.   TID      : TItemData;
  11. BEGIN
  12.     {set up *BIG* CrtWindow}
  13.   WindowOrg.X := 0;
  14.   WindowOrg.Y := 0;
  15.   WindowSize.X := GetSystemMetrics(sm_CXScreen);
  16.   WindowSize.Y := GetSystemMetrics(sm_CYScreen);
  17.   ScreenSize.X := (WindowSize.X -
  18.     GetSystemMetrics(sm_CXVScroll) -
  19.     GetSystemMetrics(sm_CXFrame)) DIV 8;
  20.   ScreenSize.Y := 65520 DIV ScreenSize.X;
  21.   AutoTracking := FALSE;
  22.   InitWinCrt;
  23.   WriteLn('REPORT of all GRP files used by currently ',
  24.     'active ProgMan groups');
  25.   WriteLn('==========================================',
  26.     '=====================');
  27.   FOR GroupNum := 1 TO 40 DO
  28.     BEGIN
  29.       wvsprintf(Groupx, 'Group%u', GroupNum);
  30.       GetPrivateProfileString('Groups', Groupx, '', buff, 80,
  31.         'PROGMAN.INI');
  32.       IF buff[0] <> #0 THEN
  33.         BEGIN
  34.           Write(GroupX, ' - ',buff);
  35.           T.Init(Buff);
  36.           IF T.GetStatus <> msg_Ok THEN
  37.             BEGIN
  38.               WriteLn(' - ',T.GetStatStr(buff, 80));
  39.               WriteLn;
  40.             END
  41.           ELSE
  42.             BEGIN
  43.               WriteLn(' "', T.fpName(buff, 80),'"');
  44.               Write('    Display status : ');
  45.               CASE T.fnCmdShow OF
  46.                 0         : WriteLn('Hide       ');
  47.                 1,4,5,8,9 : WriteLn('Normal     ');
  48.                 2,6,7     : WriteLn('Minimized  ');
  49.                 3         : WriteLn('Maximized  ');
  50.               END;
  51.               WITH T.frcNormal^ DO
  52.                 WriteLn('    normal coords  : (', left, ',', top,
  53.                   ',', right, ',', bottom, ')');
  54.               WITH T.fptMin^ DO
  55.                 WriteLn('    minimized pos''n: (',X,',',Y,')');
  56.               FOR Item := 0 TO pred(T.fcItems) DO
  57.                 IF T.GetNthItem(Item, TID) THEN
  58.                   BEGIN
  59.                     WITH TID.Pt DO Write('(',X:3,',',Y:3,')');
  60.                     IF T.GetItemTagMin(Item) THEN Write(' <m>');
  61.                     Write(' "', T.PCharFmOffset(TID.pName, buff,
  62.                       80));
  63.                     Write('" - ', T.PCharFmOffset(TID.pCommand,
  64.                       buff, 80));
  65.                     IF T.GetItemTagHotStr(Item, buff, 80) THEN
  66.                       WriteLn(' <<',buff,'>>')
  67.                     ELSE WriteLn;
  68.                   END;
  69.               WriteLn;
  70.             END;
  71.           T.Done;
  72.         END;
  73.     END;
  74. END.