Category : Pascal Source Code
Archive   : BLRPLT.ZIP
Filename : SKEL.DAT

 
Output of file : SKEL.DAT contained in archive : BLRPLT.ZIP
{Substitutions and fills
Area Fills, must be in position 1
@ZZ0 Added Methods in Object definition
@ZZ1 Body of added Methods
@ZZ2 Menu specification
@ZZ3 Cursor specification
@ZZ4 Icon specification
@ZZ5 Accelerator specification
@ZZ6 Symbol definitions and include files
@ZZ7 Resource file specification
@ZZ8 Block omitted for TDlgWindow
@ZZ9 Instance definitions for control pointers
@ZZ10 Edit and LIstbox initiation for TDlgWindow
@ZZ11 Blocks to skip if not Dialog for main window
@ZZ12 End of these comments
@ZZ13 BWCC unit if used.
@ZZ14 Scroller code

Substitutions
@XX00 Main window's Ancestor's name
@XX01 Application name
@XX02 Main window's name without the 'T'
@XX03 ClassName
@XX04 Window Caption
@XX05 Program name
@XX06 Window's style
@XX07 Class Style
@XX08 Init parameter, 'ATiltle' for TWindow, the dialog ID for TDlgWindow
@XX09 TextLen definition
@XX10 Added units for symbol definitions
}
@ZZ12
program @XX05;
@ZZ7

uses
@ZZ13
{$ifdef VER70}
Objects, WinTypes, WinProcs, OWindows, ODialogs, OStdDlgs, OStdWnds,
{$else}
WinTypes, WinProcs, WObjects, StdDlgs, StdWnds,
{$endif}
Strings, Windos@XX10;

@ZZ6

type
T@XX01 = object(TApplication)
procedure InitInstance; virtual;
procedure InitMainWindow; virtual;
@ZZ11
function ProcessAppMsg(var Message: TMsg): Boolean; virtual;
@ZZ11
end;

P@XX02 = ^T@XX02;
T@XX02 = object(@XX00)
@ZZ9

constructor Init(ATitle : PChar);
procedure SetupWindow ; virtual;
function GetClassName : PChar; virtual;
procedure GetWindowClass(var AWndClass : TWndClass); virtual;
@ZZ0
destructor Done; virtual;
end;

@XX09{[email protected]}
constructor [email protected](ATitle : PChar);
begin
@XX00.Init(Nil, @XX08);
@ZZ8
with Attr do
begin
Style := @XX06;
@ZZ2
end;
@ZZ8
end;

{[email protected];}
procedure [email protected];
@ZZ14
var
WinDC : HDC;
tm : TTextMetric;
@ZZ14
begin
@XX00.SetupWindow;
@ZZ14
WinDC := GetDC(hWindow);
SelectObject(WinDC, GetStockObject(System_Fixed_Font));
GetTextMetrics(WinDC, tm);
ReleaseDC(hWindow, WinDC);
Scroller := New(PScroller, Init(@Self, tm.tmAveCharWidth, tm.tmHeight+tm.tmExternalLeading, 80, 10));
@ZZ14
@ZZ10
end;

{[email protected]}
function [email protected] : PChar;
begin
GetClassName := '@XX03';
end;

{[email protected]}
procedure [email protected](var AWndClass : TWndClass);
begin
@XX00.GetWindowClass(AWndClass);
with AWndClass do
begin
@ZZ3
@ZZ4
Style := @XX07;
end;
end;

@ZZ14
{[email protected]}
procedure [email protected](var Msg : TMessage);
begin
@XX00.wmSize(Msg); {calls Scroller^.SetPageSize}
if Scroller <> Nil then
with Scroller^ do
SetRange(80 - XPage, 25 - YPage);
{subst # of columns to display for 80 and
# of lines for 25}
end;

@ZZ14
@ZZ1
{[email protected]}
destructor [email protected];
begin
@XX00.Done;
end;

{[email protected]}
procedure [email protected];
begin
MainWindow := New(P@XX02, Init('@XX04'));
end;

{[email protected]}
procedure [email protected];
begin
TApplication.InitInstance;
@ZZ5
end;

@ZZ11
{[email protected]}
function [email protected](var Message: TMsg): Boolean;
begin
ProcessAppMsg := ProcessAccels(Message) or ProcessDlgMsg(Message);
end;

@ZZ11
var
App : T@XX01;
begin
App.Init('@XX02');
App.Run;
App.Done;
end.


  3 Responses to “Category : Pascal Source Code
Archive   : BLRPLT.ZIP
Filename : SKEL.DAT

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/