Class TForm1 (unit Mainform)

Inherits from

TForm

Constructors



Functions

procedure BtnAbortClick(Sender: TObject);


procedure BtnAboutClick(Sender: TObject);


procedure btnAddINIClick(Sender: TObject);


procedure BtnBrowseClick(Sender: TObject);


procedure BtnCancelClick(Sender: TObject);


procedure btnDelINIClick(Sender: TObject);


procedure BtnDoneClick(Sender: TObject);

code duplicated in BtnDone

procedure BtnFinishClick(Sender: TObject);

Figure 5 end

procedure BtnHelpClick(Sender: TObject);


procedure BtnHelpTooClick(Sender: TObject);

3.

procedure BtnNextClick(Sender: TObject);


procedure BtnPrevClick(Sender: TObject);

Upon leaving a page for the next page, update any other data in the program that depends on the departing page or is required by the next page

procedure BtnSelectClick(Sender: TObject);

when a page becomes current, make a particular control active

procedure DriveBtnClick(Sender: TObject);


procedure EditInstallNameChange(Sender: TObject);


procedure FormClose(Sender: TObject; var Action: TCloseAction);

3.

procedure FormCreate(Sender: TObject);

Delphi 2.

procedure NotebookSubPageChanged(Sender: TObject);


procedure RBtnFileTimeClick(Sender: TObject);


procedure WhatsThis1Click(Sender: TObject);


procedure UpdateStatus(const S1, S2 : String);

Public declarations

3.


function AppOnHelp(Command: Word; Data: Longint; VAR CallHelp : Boolean): Boolean;


procedure CreateParams(VAR Params: TCreateParams);


function ExecInstall : Boolean;

Figure 5 begin

function MakeDirList : TStringList;


procedure ThdProcDone(Sender: TObject);


procedure WMEndSession(VAR Msg: TWMEndSession);

When the application is shut down via Windows restart or termination, FormClose does NOT get called.

Properties

Events

Variables

Bevel1 : TBevel;


BtnAbort : TBitBtn;


BtnAbout : TBitBtn;


btnAddINI : TButton;


BtnBrowse : TButton;


BtnCancel : TBitBtn;


BtnClose : TBitBtn;


btnDelINI : TButton;


BtnDone : TBitBtn;


BtnFinish : TBitBtn;


BtnHelp : TBitBtn;


BtnHelpToo : TBitBtn;


BtnNext : TBitBtn;


BtnPrev : TBitBtn;


BtnSelect : TButton;


cbShowAllPages : TCheckBox;


cbSkipDriveChoices : TCheckBox;


cbSkipIniFiles : TCheckBox;


cbSkipRegistryKeys : TCheckBox;


cbSkipReportName : TCheckBox;


cbSkipTrackingStyle : TCheckBox;


EditCmdLine : TEdit;


EditDescript : TEdit;


EditInstallName : TEdit;


fpDescriptLabel : TLabel;


fpInstProgLabel : TLabel;


fpProgTypeLabel : TLabel;


fpReptNameLabel : TLabel;


fpTrackModeLabel : TLabel;


fpWinVerLabel : TLabel;


Image1 : TImage;


InstNameLabel : TLabel;


lbIniFiles : TListBox;


lbRegistryKeys : TListBox;


NotebookMain : TNotebook;


NotebookSub : TNotebook;


OpenDialog1 : TOpenDialog;


OpenDialog2 : TOpenDialog;


Panel1 : TPanel;


PanelReportName : TPanel;


PopupMenu1 : TPopupMenu;


rBtnDiskContents : TRadioButton;


RBtnFileTime : TRadioButton;


ReportNameLabel : TLabel;


RichEdit1 : TRichEdit;


SaveDialog1 : TSaveDialog;


ScrollBox1 : TScrollBox;


StatusLabel1 : TLabel;


StatusLabel2 : TLabel;


WhatsThis1 : TMenuItem;


CleaningRegistry : Boolean;


DirLabels : TList;


DriveButtons : TList;


eType : Integer;

Private declarations

InstStatus : TInstStatus;


OutPath : String;


SkipCBs : ARRAY[nbFirstPage..nbLastPage] OF TCheckBox;


StartTime : TFileTime;


TrackMode : TTrackMode;


WatchLabels : TList;


WindowsDir : String;



Constructors


Functions


procedure BtnAbortClick(Sender: TObject);


procedure BtnAboutClick(Sender: TObject);


procedure btnAddINIClick(Sender: TObject);


procedure BtnBrowseClick(Sender: TObject);


procedure BtnCancelClick(Sender: TObject);


procedure btnDelINIClick(Sender: TObject);


procedure BtnDoneClick(Sender: TObject);

code duplicated in BtnDone


procedure BtnFinishClick(Sender: TObject);

Figure 5 end


procedure BtnHelpClick(Sender: TObject);


procedure BtnHelpTooClick(Sender: TObject);

3.01


procedure BtnNextClick(Sender: TObject);


procedure BtnPrevClick(Sender: TObject);

Upon leaving a page for the next page, update any other data in the program that depends on the departing page or is required by the next page


procedure BtnSelectClick(Sender: TObject);

when a page becomes current, make a particular control active


procedure DriveBtnClick(Sender: TObject);


procedure EditInstallNameChange(Sender: TObject);


procedure FormClose(Sender: TObject; var Action: TCloseAction);

3.01


procedure FormCreate(Sender: TObject);

Delphi 2.0 doesn't give this style to dialog boxes


procedure NotebookSubPageChanged(Sender: TObject);


procedure RBtnFileTimeClick(Sender: TObject);


procedure WhatsThis1Click(Sender: TObject);


procedure UpdateStatus(const S1, S2 : String);

Public declarations

3.01} //line accidentally deleted; //version 3.01 restores it


function AppOnHelp(Command: Word; Data: Longint; VAR CallHelp : Boolean): Boolean;


procedure CreateParams(VAR Params: TCreateParams);


function ExecInstall : Boolean;

Figure 5 begin


function MakeDirList : TStringList;


procedure ThdProcDone(Sender: TObject);


procedure WMEndSession(VAR Msg: TWMEndSession);

When the application is shut down via Windows restart or termination, FormClose does NOT get called. However, the wmEndSession handler specifically calls FormClose if the restart is NOT happening in the middle of an install


Properties


Events


Variables


Bevel1 : TBevel;


BtnAbort : TBitBtn;


BtnAbout : TBitBtn;


btnAddINI : TButton;


BtnBrowse : TButton;


BtnCancel : TBitBtn;


BtnClose : TBitBtn;


btnDelINI : TButton;


BtnDone : TBitBtn;


BtnFinish : TBitBtn;


BtnHelp : TBitBtn;


BtnHelpToo : TBitBtn;


BtnNext : TBitBtn;


BtnPrev : TBitBtn;


BtnSelect : TButton;


cbShowAllPages : TCheckBox;


cbSkipDriveChoices : TCheckBox;


cbSkipIniFiles : TCheckBox;


cbSkipRegistryKeys : TCheckBox;


cbSkipReportName : TCheckBox;


cbSkipTrackingStyle : TCheckBox;


EditCmdLine : TEdit;


EditDescript : TEdit;


EditInstallName : TEdit;


fpDescriptLabel : TLabel;


fpInstProgLabel : TLabel;


fpProgTypeLabel : TLabel;


fpReptNameLabel : TLabel;


fpTrackModeLabel : TLabel;


fpWinVerLabel : TLabel;


Image1 : TImage;


InstNameLabel : TLabel;


lbIniFiles : TListBox;


lbRegistryKeys : TListBox;


NotebookMain : TNotebook;


NotebookSub : TNotebook;


OpenDialog1 : TOpenDialog;


OpenDialog2 : TOpenDialog;


Panel1 : TPanel;


PanelReportName : TPanel;


PopupMenu1 : TPopupMenu;


rBtnDiskContents : TRadioButton;


RBtnFileTime : TRadioButton;


ReportNameLabel : TLabel;


RichEdit1 : TRichEdit;


SaveDialog1 : TSaveDialog;


ScrollBox1 : TScrollBox;


StatusLabel1 : TLabel;


StatusLabel2 : TLabel;


WhatsThis1 : TMenuItem;


CleaningRegistry : Boolean;


DirLabels : TList;


DriveButtons : TList;


eType : Integer;

Private declarations


InstStatus : TInstStatus;


OutPath : String;


SkipCBs : ARRAY[nbFirstPage..nbLastPage] OF TCheckBox;


StartTime : TFileTime;


TrackMode : TTrackMode;


WatchLabels : TList;


WindowsDir : String;