home *** CD-ROM | disk | FTP | other *** search
/ The Devil's Doorknob BBS Capture (1996-2003) / devilsdoorknobbbscapture1996-2003.iso / Dloads / OTHERUTI / TPASCAL3.ZIP / TVDEMOS.ZIP / GENRDEMO.PAS < prev    next >
Pascal/Delphi Source File  |  1991-06-11  |  8KB  |  255 lines

  1. {************************************************}
  2. {                                                }
  3. {   Turbo Pascal 6.0                             }
  4. {   Turbo Vision Demo                            }
  5. {   Copyright (c) 1990 by Borland International  }
  6. {                                                }
  7. {************************************************}
  8.  
  9. { Resource generator for TVRDEMO.EXE. }
  10.  
  11. program GenRDemo;
  12.  
  13. {$M 16384,8192,655360}
  14.  
  15. uses Drivers, Objects, Views, Dialogs, Menus, App, ColorSel,
  16.   StdDlg, DemoHelp, DemoCmds;
  17.  
  18. type
  19.   PProtectedStream = ^TProtectedStream;
  20.   TProtectedStream = object(TBufStream)
  21.     procedure Error(Code, Info: Integer); virtual;
  22.   end;
  23.  
  24. var
  25.   RezFile: TResourceFile;
  26.   RezStream: PStream;
  27.  
  28. { TProtectedStream }
  29.  
  30. procedure TProtectedStream.Error(Code, Info: Integer);
  31. begin
  32.   Writeln('Error in stream: Code = ', Code, ' Info = ', Info);
  33.   Halt(1);
  34. end;
  35.  
  36. { Resource procedures }
  37.  
  38. procedure CreateMenu;
  39. var
  40.   R: TRect;
  41.   P: PView;
  42. begin
  43.   R.Assign(0, 0, 80, 1);
  44.   P := New(PMenuBar, Init(R, NewMenu(
  45.     NewSubMenu('~'#240'~', hcSystem, NewMenu(
  46.       NewItem('~A~bout', '', kbNoKey, cmAbout, hcSAbout,
  47.       NewLine(
  48.       NewItem('~P~uzzle', '', kbNoKey, cmPuzzle, hcSPuzzle,
  49.       NewItem('Ca~l~endar', '', kbNoKey, cmCalendar, hcSCalendar,
  50.       NewItem('Ascii ~t~able', '', kbNoKey, cmAsciiTab, hcSAsciiTable,
  51.       NewItem('~C~alculator', '', kbNoKey, cmCalculator, hcCalculator, nil))))))),
  52.     NewSubMenu('~F~ile', hcFile, NewMenu(
  53.       NewItem('~O~pen...', 'F3', kbF3, cmFOpen, hcFOpen,
  54.       NewItem('~C~hange dir...', '', kbNoKey, cmChDir, hcFChangeDir,
  55.       NewLine(
  56.       NewItem('~D~OS shell', '', kbNoKey, cmDosShell, hcFDosShell,
  57.       NewItem('E~x~it', 'Alt-X', kbAltX, cmQuit, hcFExit, nil)))))),
  58.     NewSubMenu('~W~indows', hcWindows, NewMenu(
  59.       NewItem('~R~esize/move','Ctrl-F5', kbCtrlF5, cmResize, hcWSizeMove,
  60.       NewItem('~Z~oom', 'F5', kbF5, cmZoom, hcWZoom,
  61.       NewItem('~N~ext', 'F6', kbF6, cmNext, hcWNext,
  62.       NewItem('~C~lose', 'Alt-F3', kbAltF3, cmClose, hcWClose,
  63.       NewItem('~T~ile', '', kbNoKey, cmTile, hcWTile,
  64.       NewItem('C~a~scade', '', kbNoKey, cmCascade, hcWCascade, nil))))))),
  65.     NewSubMenu('~O~ptions', hcOptions, NewMenu(
  66.       NewItem('~M~ouse...', '', kbNoKey, cmMouse, hcOMouse,
  67.       NewItem('~C~olors...', '', kbNoKey, cmColors, hcOColors,
  68.       NewLine(
  69.       NewItem('~S~ave desktop', '', kbNoKey, cmSaveDesktop, hcOSaveDesktop,
  70.       NewItem('~R~etrieve desktop', '', kbNoKey, cmRetrieveDesktop, hcORestoreDesktop, nil)))))), nil)))))));
  71.  
  72.   RezFile.Put(P, 'MenuBar');
  73.   Dispose(P, Done);
  74. end;
  75.  
  76. procedure CreateStatusLine;
  77. var
  78.   R: TRect;
  79.   P: PView;
  80. begin
  81.   R.Assign(0, 24, 80, 25);
  82.   P := New(PStatusLine, Init(R,
  83.     NewStatusDef(0, $FFFF,
  84.       NewStatusKey('~F1~ Help', kbF1, cmHelp,
  85.       NewStatusKey('~F3~ Open', kbF3, cmFOpen,
  86.       NewStatusKey('~Alt-F3~ Close', kbAltF3, cmClose,
  87.       NewStatusKey('~F5~ Zoom', kbF5, cmZoom,
  88.       NewStatusKey('', kbF10, cmMenu,
  89.       NewStatusKey('', kbCtrlF5, cmResize, nil)))))), nil)));
  90.  
  91.   RezFile.Put(P, 'StatusLine');
  92.   Dispose(P, Done);
  93. end;
  94.  
  95. procedure CreateFileOpenDialog;
  96. var
  97.   P: PView;
  98. begin
  99.   P := New(PFileDialog, Init('*.*', 'Open a File',
  100.     '~N~ame', fdOpenButton + fdHelpButton + fdNoLoadDir, 100));
  101.   P^.HelpCtx := hcFOFileOpenDBox;
  102.  
  103.   RezFile.Put(P, 'FileOpenDialog');
  104.   Dispose(P, Done);
  105. end;
  106.  
  107. procedure CreateAboutDialog;
  108. var
  109.   R: TRect;
  110.   D: PDialog;
  111. begin
  112.   R.Assign(0, 0, 40, 11);
  113.   D := New(PDialog, Init(R, 'About'));
  114.   with D^ do
  115.   begin
  116.     Options := Options or ofCentered;
  117.  
  118.     R.Grow(-1, -1);
  119.     Dec(R.B.Y, 3);
  120.     Insert(New(PStaticText, Init(R,
  121.       #13 +
  122.       ^C'Turbo Vision Demo'#13 +
  123.       #13 +
  124.       ^C'Copyright (c) 1990'#13 +
  125.       #13 +
  126.       ^C'Borland International')));
  127.  
  128.     R.Assign(15, 8, 25, 10);
  129.     Insert(New(PButton, Init(R, 'O~K', cmOk, bfDefault)));
  130.   end;
  131.  
  132.   RezFile.Put(D, 'AboutDialog');
  133.   Dispose(D, Done);
  134. end;
  135.  
  136. procedure CreateColorSelDialog;
  137. var
  138.   R: TRect;
  139.   D: PDialog;
  140. begin
  141.   D := New(PColorDialog, Init('',
  142.     ColorGroup('Desktop',
  143.       ColorItem('Color',             32, nil),
  144.     ColorGroup('Menus',
  145.       ColorItem('Normal',            2,
  146.       ColorItem('Disabled',          3,
  147.       ColorItem('Shortcut',          4,
  148.       ColorItem('Selected',          5,
  149.       ColorItem('Selected disabled', 6,
  150.       ColorItem('Shortcut selected', 7, nil)))))),
  151.     ColorGroup('Dialogs/Calc',
  152.       ColorItem('Frame/background',  33,
  153.       ColorItem('Frame icons',       34,
  154.       ColorItem('Scroll bar page',   35,
  155.       ColorItem('Scroll bar icons',  36,
  156.       ColorItem('Static text',       37,
  157.  
  158.       ColorItem('Label normal',      38,
  159.       ColorItem('Label selected',    39,
  160.       ColorItem('Label shortcut',    40,
  161.  
  162.       ColorItem('Button normal',     41,
  163.       ColorItem('Button default',    42,
  164.       ColorItem('Button selected',   43,
  165.       ColorItem('Button disabled',   44,
  166.       ColorItem('Button shortcut',   45,
  167.       ColorItem('Button shadow',     46,
  168.  
  169.       ColorItem('Cluster normal',    47,
  170.       ColorItem('Cluster selected',  48,
  171.       ColorItem('Cluster shortcut',  49,
  172.  
  173.       ColorItem('Input normal',      50,
  174.       ColorItem('Input selected',    51,
  175.       ColorItem('Input arrow',       52,
  176.  
  177.       ColorItem('History button',    53,
  178.       ColorItem('History sides',     54,
  179.       ColorItem('History bar page',  55,
  180.       ColorItem('History bar icons', 56,
  181.  
  182.       ColorItem('List normal',       57,
  183.       ColorItem('List focused',      58,
  184.       ColorItem('List selected',     59,
  185.       ColorItem('List divider',      60,
  186.  
  187.       ColorItem('Information pane',  61, nil))))))))))))))))))))))))))))),
  188.     ColorGroup('Viewer',
  189.       ColorItem('Frame passive',      8,
  190.       ColorItem('Frame active',       9,
  191.       ColorItem('Frame icons',       10,
  192.       ColorItem('Scroll bar page',   11,
  193.       ColorItem('Scroll bar icons',  12,
  194.       ColorItem('Text',              13, nil)))))),
  195.     ColorGroup('Puzzle',
  196.       ColorItem('Frame passive',      8,
  197.       ColorItem('Frame active',       9,
  198.       ColorItem('Frame icons',       10,
  199.       ColorItem('Scroll bar page',   11,
  200.       ColorItem('Scroll bar icons',  12,
  201.       ColorItem('Normal text',       13,
  202.       ColorItem('Highlighted text',  14, nil))))))),
  203.     ColorGroup('Calendar',
  204.       ColorItem('Frame passive',     16,
  205.       ColorItem('Frame active',      17,
  206.       ColorItem('Frame icons',       18,
  207.       ColorItem('Scroll bar page',   19,
  208.       ColorItem('Scroll bar icons',  20,
  209.       ColorItem('Normal text',       21,
  210.       ColorItem('Current day',       22, nil))))))),
  211.     ColorGroup('Ascii table',
  212.       ColorItem('Frame passive',     24,
  213.       ColorItem('Frame active',      25,
  214.       ColorItem('Frame icons',       26,
  215.       ColorItem('Scroll bar page',   27,
  216.       ColorItem('Scroll bar icons',  28,
  217.       ColorItem('Text',              29, nil)))))), nil)))))))));
  218.   D^.HelpCtx := hcOCColorsDBox;
  219.  
  220.   RezFile.Put(D, 'ColorSelectDialog');
  221.   Dispose(D, Done);
  222. end;
  223.  
  224. procedure CreateChDirDialog;
  225. var
  226.   R: TRect;
  227.   D: PDialog;
  228. begin
  229.   D := New(PChDirDialog, Init(cdNormal + cdHelpButton + cdNoLoadDir, 101));
  230.   D^.HelpCtx := hcFCChDirDBox;
  231.  
  232.   RezFile.Put(D, 'ChDirDialog');
  233.   Dispose(D, Done);
  234. end;
  235.  
  236. begin
  237.   RezStream := New(PProtectedStream, Init('TVRDEMO.REZ', stCreate, 4096));
  238.   RezFile.Init(RezStream);
  239.  
  240.   RegisterObjects;
  241.   RegisterViews;
  242.   RegisterMenus;
  243.   RegisterDialogs;
  244.   RegisterStdDlg;
  245.   RegisterColorSel;
  246.  
  247.   CreateMenu;
  248.   CreateStatusLine;
  249.   CreateFileOpenDialog;
  250.   CreateAboutDialog;
  251.   CreateColorSelDialog;
  252.   CreateChDirDialog;
  253.  
  254.   RezFile.Done;
  255. end.