diff --git a/applications/lazstats/LazStats.chm b/applications/lazstats/LazStats.chm
index 271cc2ae3..3f038bec4 100644
Binary files a/applications/lazstats/LazStats.chm and b/applications/lazstats/LazStats.chm differ
diff --git a/applications/lazstats/docs/HelpNDoc/LazStats.hnd b/applications/lazstats/docs/HelpNDoc/LazStats.hnd
index 89dacd432..001edc203 100644
Binary files a/applications/lazstats/docs/HelpNDoc/LazStats.hnd and b/applications/lazstats/docs/HelpNDoc/LazStats.hnd differ
diff --git a/applications/lazstats/source/LazStats.lpi b/applications/lazstats/source/LazStats.lpi
index 05aa81b7b..fcf29e470 100644
--- a/applications/lazstats/source/LazStats.lpi
+++ b/applications/lazstats/source/LazStats.lpi
@@ -1408,7 +1408,7 @@
-
+
@@ -1417,6 +1417,12 @@
+
+
+
+
+
+
diff --git a/applications/lazstats/source/forms/help/helpunit.lfm b/applications/lazstats/source/forms/help/helpunit.lfm
index e05716680..c4aca36b2 100644
--- a/applications/lazstats/source/forms/help/helpunit.lfm
+++ b/applications/lazstats/source/forms/help/helpunit.lfm
@@ -59,14 +59,14 @@ object HelpFrm: THelpFrm
object HTMLHelpDatabase1: THTMLHelpDatabase
BaseURL = 'file://html/'
AutoRegister = True
- KeywordPrefix = 'HTML/'
- left = 24
- top = 24
+ KeywordPrefix = 'html/'
+ Left = 32
+ Top = 24
end
object HTMLBrowserHelpViewer1: THTMLBrowserHelpViewer
BrowserParams = '%s'
AutoRegister = True
- left = 168
- top = 24
+ Left = 168
+ Top = 24
end
end
diff --git a/applications/lazstats/source/forms/help/helpunit.pas b/applications/lazstats/source/forms/help/helpunit.pas
index b54cc3541..eecdfbacb 100644
--- a/applications/lazstats/source/forms/help/helpunit.pas
+++ b/applications/lazstats/source/forms/help/helpunit.pas
@@ -5,7 +5,7 @@ unit HelpUnit;
interface
uses
- Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
+ Classes, SysUtils, {FileUtil, }LResources, Forms, Controls, Graphics, Dialogs,
StdCtrls, LazHelpHTML, HelpIntfs;
type
@@ -30,8 +30,44 @@ type
var
HelpFrm: THelpFrm;
+procedure ShowHelpTopic(AHelpContext: Word); overload;
+procedure ShowHelpTopic(AHelpID: PChar); overload;
+
implementation
+uses
+ {$IFDEF USE_EXTERNAL_HELP_VIEWER}
+ {$IFDEF MSWINDOWS}
+ htmlhelp,
+ {$ENDIF}
+ {$ENDIF}
+ LazFileUtils;
+
+procedure ShowHelpTopic(AHelpContext: Word);
+var
+ fn: UnicodeString;
+begin
+ {$IFDEF USE_EXTERNAL_HELP_VIEWER}
+ {$IFDEF MSWINDOWS}
+ // see: http://www.helpware.net/download/delphi/hh_doc.txt
+ fn := UnicodeString(Application.HelpFile);
+ htmlhelp.HtmlHelpW(0, PWideChar(fn), HH_HELP_CONTEXT, AHelpContext);
+ {$ENDIF}
+ {$ENDIF}
+end;
+
+procedure ShowHelpTopic(AHelpID: PChar);
+var
+ topic: UnicodeString;
+begin
+ {$IFDEF USE_EXTERNAL_HELP_VIEWER}
+ {$IFDEF MSWINDOWS}
+ topic := UnicodeString(Application.HelpFile + '::/' + AHelpID);
+ htmlhelp.HtmlHelpW(0, PWideChar(topic), HH_DISPLAY_TOPIC, 0);
+ {$ENDIF}
+ {$ENDIF}
+end;
+
{ THelpFrm }
procedure THelpFrm.FormShow(Sender: TObject);
@@ -45,8 +81,11 @@ begin
end;
procedure THelpFrm.HelpBtnClick(Sender: TObject);
+var
+ fn: String;
begin
- ShowHelpOrErrorForKeyword('','HTML/LAZTOC.html');
+ fn := Application.Location + 'html/LAZTOC.html';
+ ShowHelpOrErrorForKeyword('', SwitchPathDelims(fn, true)); //Application.Location + 'html/LAZTOC.html');
end;
initialization
diff --git a/applications/lazstats/source/forms/mainunit.lfm b/applications/lazstats/source/forms/mainunit.lfm
index c1db24e9f..db830f763 100644
--- a/applications/lazstats/source/forms/mainunit.lfm
+++ b/applications/lazstats/source/forms/mainunit.lfm
@@ -3,6 +3,8 @@ object OS3MainFrm: TOS3MainFrm
Height = 519
Top = 194
Width = 725
+ HelpType = htKeyword
+ HelpKeyword = 'TableofContents.htm'
Caption = 'LazStats'
ClientHeight = 499
ClientWidth = 725
@@ -234,8 +236,8 @@ object OS3MainFrm: TOS3MainFrm
OnPrepareCanvas = DataGridPrepareCanvas
end
object MainMenu1: TMainMenu
- left = 192
- top = 200
+ Left = 192
+ Top = 200
object MenuItem1: TMenuItem
Caption = 'File'
object NewFileBtn: TMenuItem
@@ -1050,22 +1052,23 @@ object OS3MainFrm: TOS3MainFrm
object MenuItem46: TMenuItem
Caption = '-'
end
+ object mnuShowTOC: TMenuItem
+ Caption = 'Table of Contents'
+ HelpContext = 152
+ OnClick = mnuShowTOCClick
+ end
object GridUse: TMenuItem
Caption = 'Using the Grid'
OnClick = GridUseClick
end
- object HelpContents: TMenuItem
- Caption = 'General Help'
- OnClick = HelpContentsClick
- end
end
end
object OpenDialog1: TOpenDialog
- left = 312
- top = 200
+ Left = 312
+ Top = 200
end
object SaveDialog1: TSaveDialog
- left = 432
- top = 200
+ Left = 432
+ Top = 200
end
end
diff --git a/applications/lazstats/source/forms/mainunit.pas b/applications/lazstats/source/forms/mainunit.pas
index 4a1b5204b..f987d76bc 100644
--- a/applications/lazstats/source/forms/mainunit.pas
+++ b/applications/lazstats/source/forms/mainunit.pas
@@ -7,18 +7,13 @@ unit MainUnit;
{$mode objfpc}{$H+}
-{$DEFINE USE_EXTERNAL_HELP_VIEWER}
+//{$DEFINE USE_EXTERNAL_HELP_VIEWER}
interface
uses
LCLType, Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics,
Dialogs, Menus, ExtCtrls, StdCtrls, Grids,
- {$IFDEF USE_EXTERNAL_HELP_VIEWER}
- {$IFDEF MSWINDOWS}
- HtmlHelp,
- {$ENDIF}
- {$ENDIF}
Globals, DataProcs, DictionaryUnit;
type
@@ -110,6 +105,7 @@ type
MenuItem50: TMenuItem;
MenuItem51: TMenuItem;
MenuItem52: TMenuItem;
+ mnuShowTOC: TMenuItem;
SimpChiSqr: TMenuItem;
SRHItem: TMenuItem;
OneCaseAnova: TMenuItem;
@@ -137,7 +133,6 @@ type
pcontrochart: TMenuItem;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
- HelpContents: TMenuItem;
InsNewCol: TMenuItem;
CopyCol: TMenuItem;
CutCol: TMenuItem;
@@ -282,8 +277,7 @@ type
procedure CutColClick(Sender: TObject);
procedure CutRowMenuClick(Sender: TObject);
procedure DataGridClick(Sender: TObject);
- procedure DataGridKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState
- );
+ procedure DataGridKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure DataGridKeyPress(Sender: TObject; var Key: char);
procedure DataGridPrepareCanvas(sender: TObject; aCol, aRow: Integer;
aState: TGridDrawState);
@@ -303,7 +297,7 @@ type
procedure GrdBkMnuClick(Sender: TObject);
procedure GridUseClick(Sender: TObject);
procedure GrpFreqClick(Sender: TObject);
- procedure HelpContentsClick(Sender: TObject);
+ //procedure HelpContentsClick(Sender: TObject);
procedure homotestClick(Sender: TObject);
procedure HypergeoProbClick(Sender: TObject);
procedure InsNewColClick(Sender: TObject);
@@ -379,6 +373,7 @@ type
procedure MenuItem98Click(Sender: TObject);
procedure MenuItem99Click(Sender: TObject);
procedure MenuItem30Click(Sender: TObject);
+ procedure mnuShowTOCClick(Sender: TObject);
procedure MultDistsClick(Sender: TObject);
procedure MultXvsYClick(Sender: TObject);
procedure NestedABCClick(Sender: TObject);
@@ -1339,6 +1334,9 @@ var
ts: TTextStyle;
justif: String;
begin
+ if not (Sender = DataGrid) then
+ exit;
+
ts := DataGrid.Canvas.TextStyle;
justif := DictionaryFrm.DictGrid.Cells[7, aCol];
if justif = '' then justif := 'L';
@@ -1589,27 +1587,17 @@ end;
// Call HTML help (.chm file)
function TOS3MainFrm.HelpHandler(Command: Word; Data: PtrInt;
var CallHelp: Boolean): Boolean;
-var
- topic: UnicodeString;
- res: Integer;
- fn: UnicodeString;
begin
if Command = HELP_CONTEXT then
- begin
- // see: http://www.helpware.net/download/delphi/hh_doc.txt
- fn := UnicodeString(Application.HelpFile);
- res := htmlhelp.HtmlHelpW(0, PWideChar(fn), HH_HELP_CONTEXT, Data);
- end else
+ ShowHelpTopic(Data)
+ else
if Command = HELP_COMMAND then
- begin
- topic := UnicodeString(Application.HelpFile + '::/' + {%H-}PChar(Data));
- res := htmlhelp.HtmlHelpW(0, PWideChar(topic), HH_DISPLAY_TOPIC, 0);
- end;
+ ShowHelpTopic({%H-}PChar(Data));
// Don't call regular help
CallHelp := False;
- Result := res <> 0;
+ Result := true; //res <> 0;
end;
{$ENDIF}
{$ENDIF}
@@ -1709,6 +1697,7 @@ begin
GroupFreqForm.ShowModal;
end;
+(* replaced by ShowTOC
// Menu "Help" > "General Help"
procedure TOS3MainFrm.HelpContentsClick(Sender: TObject);
begin
@@ -1716,7 +1705,7 @@ begin
Application.CreateForm(THelpFrm, HelpFrm);
HelpFrm.ShowModal;
end;
-
+*)
// Menu "Analyses" > "Brown-Forsythe test for homogeneity of variance"
procedure TOS3MainFrm.homotestClick(Sender: TObject);
Var
@@ -2029,9 +2018,15 @@ end;
procedure TOS3MainFrm.MenuItem30Click(Sender: TObject);
begin
- RowColSwap;
+ RowColSwap;
end;
+procedure TOS3MainFrm.mnuShowTOCClick(Sender: TObject);
+begin
+ ShowHelpTopic(mnuShowTOC.HelpContext);
+end;
+
+
initialization
{$I mainunit.lrs}
diff --git a/applications/lazstats/source/units/dataprocs.pas b/applications/lazstats/source/units/dataprocs.pas
index 5940e9565..648abfd2b 100644
--- a/applications/lazstats/source/units/dataprocs.pas
+++ b/applications/lazstats/source/units/dataprocs.pas
@@ -1627,12 +1627,12 @@ end;
procedure RowColSwap;
VAR
i, j, Rows, Cols : integer;
- tempgrid : StrDyneMat;
+ tempgrid : StrDyneMat = nil;
begin
Assert(OS3MainFrm <> nil);
Assert(DictionaryFrm <> nil);
- SetLength(tempgrid,NoCases+1,NoVariables+1);
+ SetLength(tempgrid ,NoCases+1,NoVariables+1);
Rows := NoCases;
Cols := NoVariables;
@@ -1803,7 +1803,8 @@ var
i, j, k, NoStrings: integer;
TempString: string;
dup: boolean;
- StrGrps, OneString : StrDyneVec;
+ StrGrps: StrdyneVec = nil;
+ OneString : StrDyneVec = nil;
res: TModalResult;
begin
Result := true;