home *** CD-ROM | disk | FTP | other *** search
/ CD Shareware Magazine 1996 December / CD_shareware_12-96.iso / WIN / Programa / VPE16_14.ZIP / PASCAL / MINIDEMO.PAS next >
Encoding:
Pascal/Delphi Source File  |  1996-06-07  |  4.0 KB  |  117 lines

  1. {$A+,B-,D-,F-,G+,I-,K+,L-,N-,P-,Q-,R-,S-,T-,V-,W-,X+,Y-}
  2. {$M 8192,8192}
  3. program MiniDemo;
  4.  
  5. uses WinTypes,WinProcs,
  6.       {$IFDEF VER80} {Units for Delphi}
  7.        SysUtils,
  8.        Messages,
  9.       {$ELSE}
  10.        Strings,      {Units for BP7}
  11.       {$ENDIF}
  12.       VPEngine;
  13.  
  14. var DemoText : array [0..1024] of char;
  15.  
  16. procedure SetDemoText;
  17. begin
  18. StrCat(StrCat(StrCat(StrCat(StrCat(StrCat(StrCat(StrCat(StrCat(StrCat(StrCat(StrCat(StrCat(StrCat(StrCopy(
  19. DemoText,'[PS 3 S 12 C Black J BO]The moment of impact bursts through the silence and in a roar of sound, the '),
  20. 'final second is prolonged in a world of echoes as if concrete and clay of '),
  21. 'Broadway itself was reliving its memories.'+#13+#10),
  22. 'The last great march past. Newsman stands limp as a whimper as audience and '),
  23. 'eventare locked as one. Bing Crosby coos''You don''t have to feel pain '),
  24. 'to sing the blues, you don''t have to holla - you don''t feel a thing in your '),
  25. 'dollar collar.'' Martin Luther cries ''Everybody Sing!'' and rings the grand old '),
  26. 'liberty bell. Leary, weary of his prison cell, walks on heaven, talks on hell.'+#13+#10),
  27. 'Who needs Medicare and the 35c flat rate fare, when Fred Astaire and '),
  28. 'Ginger Rogers are dancing through the air? From Broadway Melody stereotypes '),
  29. 'the band returns to ''Stars and Stripes'' bringing a tear to the moonshiner, '),
  30. 'who''s been pouring out his spirit from the illegal still. The pawn broker '),
  31. 'clears the noisy till and clutches his lucky dollar bill.'+#13+#10),
  32. 'Then the blackout.'+#13+#10+#13+#10),
  33. '(Genesis, ''The Lamb lies down on Broadway'')');
  34.  
  35. end;
  36. {// ========================================================================
  37. //                              MiniDemo
  38. // ========================================================================}
  39. procedure MiniDemoProc(Window : HWnd);
  40. var hdoc : LongInt;
  41. begin
  42.  
  43.    hdoc := VpeOpenDoc(Window, 'Mini Demo',-1, -1, 0);
  44.    VpeWriteBox(hdoc, 100, 100, 500, 200, '[PS 0 B C LtRed]Hello');
  45.    VpePrint(hdoc, 100, 250, '[''Times New Roman'' S 30 C Blue]World!');
  46.    VpeWriteBox(hdoc, 100, 450, 1900, -1, DemoText);
  47.  
  48.    VpePreviewDoc(hdoc, nil, VPE_SHOW_NORMAL);
  49.  
  50. end;
  51.  
  52.  
  53.  
  54.  
  55. {// ========================================================================
  56. //                              WndProc
  57. // ========================================================================}
  58. function WndProc(Window : HWnd;message : Word;wParam : Word;lParam : LongInt) : LongInt;export;
  59. begin
  60.    WndProc := 0;
  61.    case message of
  62.       WM_CREATE : MiniDemoProc(Window);
  63.      VPE_DESTROYWINDOW,
  64.      WM_DESTROY: PostQuitMessage(0);
  65.    else WndProc := DefWindowProc (Window, message, wParam, lParam) ;
  66.   end; {case }
  67. end;
  68.  
  69.  
  70. {// ========================================================================
  71. //                              WinMain
  72. //
  73. // Create a hidden Main Window
  74. // ========================================================================}
  75. const szAppName  = 'Mini Demo';
  76.  
  77. procedure WinMain;
  78. var Msg :TMsg ;
  79. var Window : HWnd;
  80. var wndclass  : TWndClass;
  81.  
  82. begin
  83.    if hPrevInst =0 then
  84.    begin
  85.       wndclass.style         := CS_HREDRAW or CS_VREDRAW ;
  86.       wndclass.lpfnWndProc   := @WndProc ;
  87.       wndclass.cbClsExtra    := 0 ;
  88.       wndclass.cbWndExtra    := 0 ;
  89.       wndclass.hInstance     := hInstance ;
  90.       wndclass.hIcon         := LoadIcon (hInstance, 'APP_ICON');
  91.       wndclass.hCursor       := LoadCursor (0, IDC_ARROW) ;
  92.       wndclass.hbrBackground := GetStockObject (WHITE_BRUSH) ;
  93.       wndclass.lpszMenuName  := szAppName ;
  94.       wndclass.lpszClassName := szAppName ;
  95.       RegisterClass (wndclass) ;
  96.    end;
  97.  
  98.    Window := CreateWindow (szAppName, szAppName,
  99.             WS_OVERLAPPEDWINDOW,
  100.             CW_USEDEFAULT, CW_USEDEFAULT,
  101.             CW_USEDEFAULT, CW_USEDEFAULT,
  102.             0, 0, hInstance, nil) ;
  103.  
  104.    while GetMessage (msg, 0, 0, 0) do
  105.    begin
  106.       TranslateMessage (msg) ;
  107.       DispatchMessage (msg) ;
  108.    end;
  109.  
  110.    Halt(msg.wParam);
  111. end;
  112.  
  113. begin
  114.   SetDemoText;
  115.   WinMain;
  116. end.
  117.