LazStats: Finetuning of the SPC forms. Update their chm pages.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8030 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2021-05-12 21:28:56 +00:00
parent d5d13bb856
commit d7d399bf5d
19 changed files with 109 additions and 78 deletions

Binary file not shown.

View File

@ -1150,7 +1150,7 @@
<Unit130> <Unit130>
<Filename Value="forms\analysis\descriptive\comparedistunit.pas"/> <Filename Value="forms\analysis\descriptive\comparedistunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="CompareDistFrm"/> <ComponentName Value="CompareDistForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="CompareDistUnit"/> <UnitName Value="CompareDistUnit"/>

View File

@ -1,4 +1,4 @@
inherited CompareDistFrm: TCompareDistFrm inherited CompareDistForm: TCompareDistForm
Left = 459 Left = 459
Height = 535 Height = 535
Top = 178 Top = 178

View File

@ -16,9 +16,9 @@ type
TCompareTo = (ctTheoreticalDistrib, ctVariable); TCompareTo = (ctTheoreticalDistrib, ctVariable);
TCompareDist = (cd_Normal, cd_t, cd_ChiSq, cd_F, cd_Poisson); TCompareDist = (cd_Normal, cd_t, cd_ChiSq, cd_F, cd_Poisson);
{ TCompareDistFrm } { TCompareDistForm }
TCompareDistFrm = class(TBasicStatsReportAndChartForm) TCompareDistForm = class(TBasicStatsReportAndChartForm)
DF1Edit: TEdit; DF1Edit: TEdit;
DF2Edit: TEdit; DF2Edit: TEdit;
DistGroup: TGroupBox; DistGroup: TGroupBox;
@ -103,7 +103,7 @@ type
var var
CompareDistFrm: TCompareDistFrm; CompareDistForm: TCompareDistForm;
implementation implementation
@ -116,9 +116,9 @@ uses
Utils, GridProcs, MathUnit; Utils, GridProcs, MathUnit;
{ TCompareDistFrm } { TCompareDistForm }
constructor TCompareDistFrm.Create(AOwner: TComponent); constructor TCompareDistForm.Create(AOwner: TComponent);
begin begin
inherited; inherited;
@ -136,7 +136,7 @@ begin
end; end;
procedure TCompareDistFrm.AdjustConstraints; procedure TCompareDistForm.AdjustConstraints;
begin begin
Notebook.AutoSize := true; Notebook.AutoSize := true;
ParamsPanel.Constraints.MinWidth := Max( ParamsPanel.Constraints.MinWidth := Max(
@ -152,7 +152,7 @@ end;
{ Get frequency and cumulative frequency of cases in each interval } { Get frequency and cumulative frequency of cases in each interval }
procedure TCompareDistFrm.CalcFreq(XValues, FreqValues, CumFreqValues: DblDyneVec; procedure TCompareDistForm.CalcFreq(XValues, FreqValues, CumFreqValues: DblDyneVec;
AMin, AIncrement: Double; ANumIntervals, AColIndex: Integer); AMin, AIncrement: Double; ANumIntervals, AColIndex: Integer);
var var
j, k: Integer; j, k: Integer;
@ -181,7 +181,7 @@ begin
end; end;
{ Calculate frequencies and cumulative frequencies for a theoretical distribution } { Calculate frequencies and cumulative frequencies for a theoretical distribution }
procedure TCompareDistFrm.CalcFreq(XValues, FreqValues, CumFreqValues: DblDyneVec; procedure TCompareDistForm.CalcFreq(XValues, FreqValues, CumFreqValues: DblDyneVec;
AMin, AMax: Double; ANumIntervals, ANumCases: Integer; ACompareDist: TCompareDist; AMin, AMax: Double; ANumIntervals, ANumCases: Integer; ACompareDist: TCompareDist;
DF1: Integer = -1; DF2: Integer = -1); DF1: Integer = -1; DF2: Integer = -1);
var var
@ -218,7 +218,7 @@ begin
end; end;
procedure TCompareDistFrm.CalcIntervals(var AMin, AMax, AIntervalSize: Double; procedure TCompareDistForm.CalcIntervals(var AMin, AMax, AIntervalSize: Double;
out ANumIntervals: Integer); out ANumIntervals: Integer);
var var
intervalSize: Double; intervalSize: Double;
@ -238,7 +238,7 @@ end;
{ Calculates minimum and maximum of the values in the given column. { Calculates minimum and maximum of the values in the given column.
Also, counts the valid numbers in this column and returns it as function result } Also, counts the valid numbers in this column and returns it as function result }
function TCompareDistFrm.CalcMinMax(out AMin, AMax: Double; AColIndex: Integer): Integer; function TCompareDistForm.CalcMinMax(out AMin, AMax: Double; AColIndex: Integer): Integer;
var var
j: Integer; j: Integer;
value: Double; value: Double;
@ -259,7 +259,7 @@ begin
end; end;
procedure TCompareDistFrm.CalcTheoreticalDist(XValues, FreqValues, CumFreqValues: DblDyneVec; procedure TCompareDistForm.CalcTheoreticalDist(XValues, FreqValues, CumFreqValues: DblDyneVec;
ANumIntervals, ANumCases: Integer; ACompareDist: TCompareDist; out AName: String); ANumIntervals, ANumCases: Integer; ACompareDist: TCompareDist; out AName: String);
var var
min, max: Double; min, max: Double;
@ -305,14 +305,14 @@ begin
end; end;
procedure TCompareDistFrm.CompareGroupClick(Sender: TObject); procedure TCompareDistForm.CompareGroupClick(Sender: TObject);
begin begin
CompareTo := TCompareTo(CompareGroup.ItemIndex); CompareTo := TCompareTo(CompareGroup.ItemIndex);
Notebook.PageIndex := CompareGroup.ItemIndex; Notebook.PageIndex := CompareGroup.ItemIndex;
end; end;
procedure TCompareDistFrm.Compute; procedure TCompareDistForm.Compute;
var var
var1Freq: DblDyneVec = nil; // could be IntDyneVec, but simpler charting this way var1Freq: DblDyneVec = nil; // could be IntDyneVec, but simpler charting this way
var2Freq: DblDyneVec = nil; var2Freq: DblDyneVec = nil;
@ -414,7 +414,7 @@ begin
end; end;
procedure TCompareDistFrm.DisplayReport(XValue1, XValue2, FreqValues1, FreqValues2, procedure TCompareDistForm.DisplayReport(XValue1, XValue2, FreqValues1, FreqValues2,
CumFreqValues1, CumFreqValues2: DblDyneVec; AName1, AName2: String; CumFreqValues1, CumFreqValues2: DblDyneVec; AName1, AName2: String;
ANumIntervals: Integer); ANumIntervals: Integer);
var var
@ -453,7 +453,7 @@ begin
end; end;
procedure TCompareDistFrm.DistChange(Sender: TObject); procedure TCompareDistForm.DistChange(Sender: TObject);
begin begin
DF1Edit.Visible := CompareDist <> cd_Normal; DF1Edit.Visible := CompareDist <> cd_Normal;
DF1Label.Visible := DF1Edit.Visible; DF1Label.Visible := DF1Edit.Visible;
@ -486,7 +486,7 @@ begin
end; end;
procedure TCompareDistFrm.Plot(AChartFrame: TChartFrame; Y1Values, Y2Values: DblDyneVec; procedure TCompareDistForm.Plot(AChartFrame: TChartFrame; Y1Values, Y2Values: DblDyneVec;
ASeriesTitle1, ASeriesTitle2, AYTitle, ATitle: String); ASeriesTitle1, ASeriesTitle2, AYTitle, ATitle: String);
var var
ser1, ser2: TChartSeries; ser1, ser2: TChartSeries;
@ -522,7 +522,7 @@ begin
end; end;
procedure TCompareDistFrm.Reset; procedure TCompareDistForm.Reset;
var var
i: integer; i: integer;
begin begin
@ -550,7 +550,7 @@ begin
end; end;
procedure TCompareDistFrm.UpdateBtnStates; procedure TCompareDistForm.UpdateBtnStates;
begin begin
inherited; inherited;
@ -565,7 +565,7 @@ begin
end; end;
procedure TCompareDistFrm.UpdateDF1; procedure TCompareDistForm.UpdateDF1;
procedure DFCandidates(AVarName: String; out AMean: Double; out ANumCases: Integer); procedure DFCandidates(AVarName: String; out AMean: Double; out ANumCases: Integer);
var var
@ -611,7 +611,7 @@ begin
end; end;
function TCompareDistFrm.Validate(ANumCases: Integer; function TCompareDistForm.Validate(ANumCases: Integer;
out AMsg: String; out AControl: TWinControl): Boolean; out AMsg: String; out AControl: TWinControl): Boolean;
var var
n: Integer = 0; n: Integer = 0;
@ -666,7 +666,7 @@ begin
end; end;
procedure TCompareDistFrm.Var1InBtnClick(Sender: TObject); procedure TCompareDistForm.Var1InBtnClick(Sender: TObject);
var var
i: integer; i: integer;
begin begin
@ -686,7 +686,7 @@ begin
end; end;
procedure TCompareDistFrm.Var1OutBtnClick(Sender: TObject); procedure TCompareDistForm.Var1OutBtnClick(Sender: TObject);
begin begin
if VarOneEdit.Text <> '' then if VarOneEdit.Text <> '' then
begin begin
@ -697,7 +697,7 @@ begin
end; end;
procedure TCompareDistFrm.Var2InBtnClick(Sender: TObject); procedure TCompareDistForm.Var2InBtnClick(Sender: TObject);
var var
i: integer; i: integer;
begin begin
@ -716,7 +716,7 @@ begin
end; end;
procedure TCompareDistFrm.Var2OutBtnClick(Sender: TObject); procedure TCompareDistForm.Var2OutBtnClick(Sender: TObject);
begin begin
if VarTwoEdit.Text <> '' then if VarTwoEdit.Text <> '' then
begin begin
@ -727,7 +727,7 @@ begin
end; end;
procedure TCompareDistFrm.VarListDblClick(Sender: TObject); procedure TCompareDistForm.VarListDblClick(Sender: TObject);
var var
index: Integer; index: Integer;
begin begin
@ -749,7 +749,7 @@ begin
end; end;
procedure TCompareDistFrm.VarListSelectionChange(Sender: TObject; User: boolean); procedure TCompareDistForm.VarListSelectionChange(Sender: TObject; User: boolean);
begin begin
UpdateBtnStates; UpdateBtnStates;
end; end;

View File

@ -252,18 +252,13 @@ end;
procedure TBasicSPCForm.Reset; procedure TBasicSPCForm.Reset;
var
i : integer;
begin begin
inherited; inherited;
CollectVariablenames(OS3MainFrm.DataGrid, VarList.Items);
GroupEdit.Text := ''; GroupEdit.Text := '';
MeasEdit.Text := ''; MeasEdit.Text := '';
VarList.Clear;
for i := 1 to NoVariables do
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
if Assigned(FChartFrame) and (FChartFrame.Chart.AxisList.Count > 2) then if Assigned(FChartFrame) and (FChartFrame.Chart.AxisList.Count > 2) then
(FChartFrame.Chart.AxisList[2].Marks.Source as TListChartSource).Clear; (FChartFrame.Chart.AxisList[2].Marks.Source as TListChartSource).Clear;

View File

@ -27,6 +27,8 @@ inherited CChartForm: TCChartForm
inherited HelpBtn: TButton inherited HelpBtn: TButton
Left = 191 Left = 191
Top = 379 Top = 379
HelpType = htKeyword
HelpKeyword = 'html/DefectnonconformitycChart.htm'
TabOrder = 4 TabOrder = 4
end end
inherited ButtonBevel: TBevel inherited ButtonBevel: TBevel

View File

@ -21,7 +21,7 @@ type
function Validate(out AMsg: String; out AControl: TWinControl): Boolean; override; function Validate(out AMsg: String; out AControl: TWinControl): Boolean; override;
public public
procedure Reset; override;
end; end;
var var
@ -133,13 +133,6 @@ begin
end; end;
procedure TCChartForm.Reset;
begin
inherited;
XSigmaEdit.Clear;
end;
function TCChartForm.Validate(out AMsg: String; out AControl: TWinControl): Boolean; function TCChartForm.Validate(out AMsg: String; out AControl: TWinControl): Boolean;
var var
x: Double; x: Double;

View File

@ -6,6 +6,7 @@ inherited CUSUMChartForm: TCUSUMChartForm
Caption = 'Cumulative Sum Control Chart' Caption = 'Cumulative Sum Control Chart'
ClientHeight = 503 ClientHeight = 503
ClientWidth = 1000 ClientWidth = 1000
OnCreate = FormCreate
ShowHint = True ShowHint = True
inherited ParamsPanel: TPanel inherited ParamsPanel: TPanel
Height = 487 Height = 487
@ -28,6 +29,8 @@ inherited CUSUMChartForm: TCUSUMChartForm
inherited HelpBtn: TButton inherited HelpBtn: TButton
Left = 181 Left = 181
Top = 462 Top = 462
HelpType = htKeyword
HelpKeyword = 'html/CUMSUMChart.htm'
TabOrder = 7 TabOrder = 7
end end
inherited ButtonBevel: TBevel inherited ButtonBevel: TBevel
@ -204,7 +207,7 @@ inherited CUSUMChartForm: TCUSUMChartForm
Height = 153 Height = 153
Top = 293 Top = 293
Width = 234 Width = 234
PageIndex = 1 PageIndex = 0
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Bottom = 8 BorderSpacing.Bottom = 8
TabOrder = 4 TabOrder = 4
@ -217,12 +220,12 @@ inherited CUSUMChartForm: TCUSUMChartForm
Left = 0 Left = 0
Height = 80 Height = 80
Top = 0 Top = 0
Width = 193 Width = 234
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
AutoSize = True AutoSize = True
Caption = 'Tabulated CUSUM Parameters' Caption = 'Tabulated CUSUM Parameters'
ClientHeight = 60 ClientHeight = 60
ClientWidth = 189 ClientWidth = 230
TabOrder = 0 TabOrder = 0
object Label7: TLabel object Label7: TLabel
AnchorSideTop.Control = kEdit AnchorSideTop.Control = kEdit
@ -244,7 +247,7 @@ inherited CUSUMChartForm: TCUSUMChartForm
Height = 23 Height = 23
Hint = 'Detection level for a shift in the process mean, '#13#10'expressed in data units (default), or'#13#10'as a multiple of the standard deviation of the '#13#10'data points (when "Normalized CUSUM" is checked).' Hint = 'Detection level for a shift in the process mean, '#13#10'expressed in data units (default), or'#13#10'as a multiple of the standard deviation of the '#13#10'data points (when "Normalized CUSUM" is checked).'
Top = 2 Top = 2
Width = 64 Width = 105
Alignment = taRightJustify Alignment = taRightJustify
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 2 BorderSpacing.Top = 2
@ -264,7 +267,7 @@ inherited CUSUMChartForm: TCUSUMChartForm
Height = 23 Height = 23
Hint = 'Probability of concluding that a shift in the process has occurred, when in fact it did not. ' Hint = 'Probability of concluding that a shift in the process has occurred, when in fact it did not. '
Top = 29 Top = 29
Width = 64 Width = 105
Alignment = taRightJustify Alignment = taRightJustify
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 8 BorderSpacing.Left = 8

View File

@ -38,6 +38,7 @@ type
Label6: TLabel; Label6: TLabel;
TargetChk: TCheckBox; TargetChk: TCheckBox;
TargetEdit: TEdit; TargetEdit: TEdit;
procedure FormCreate(Sender: TObject);
procedure rbTabularChange(Sender: TObject); procedure rbTabularChange(Sender: TObject);
procedure VMaskScrollbarChange(Sender: TObject); procedure VMaskScrollbarChange(Sender: TObject);
@ -370,6 +371,19 @@ begin
end; end;
procedure TCUSUMChartForm.FormCreate(Sender: TObject);
begin
kEdit.Text := FormatFloat('0.0', 0.5);
hEdit.Text := '4';
AlphaEdit.Text := FormatFloat('0.00', DEFAULT_ALPHA_LEVEL);
BetaEdit.Text := FormatFloat('0.00', DEFAULT_BETA_LEVEL);
kEdit.Text := FormatFloat('0.0', 0.5);
hEdit.Text := '4';
AlphaEdit.Text := FormatFloat('0.00', DEFAULT_ALPHA_LEVEL);
BetaEdit.Text := FormatFloat('0.00', DEFAULT_BETA_LEVEL);
end;
procedure TCUSUMChartForm.rbTabularChange(Sender: TObject); procedure TCUSUMChartForm.rbTabularChange(Sender: TObject);
begin begin
if (Sender = rbTabular) and rbTabular.Checked then if (Sender = rbTabular) and rbTabular.Checked then
@ -395,7 +409,6 @@ begin
Groups, CUSumsUpper, UCL, LCL, GrandMean, TargetSpec, LowerSpec, UpperSpec); Groups, CUSumsUpper, UCL, LCL, GrandMean, TargetSpec, LowerSpec, UpperSpec);
ser := TLineSeries(FChartFrame.PlotXY(ptLinesAndSymbols, nil, CUSUMsLower, Groups, nil, 'Lower CUSums', clBlack)); ser := TLineSeries(FChartFrame.PlotXY(ptLinesAndSymbols, nil, CUSUMsLower, Groups, nil, 'Lower CUSums', clBlack));
// ser.Pointer.Style := psDiamond;
ser.Pointer.Brush.Color := clWhite; ser.Pointer.Brush.Color := clWhite;
end; end;
@ -443,10 +456,6 @@ begin
TargetEdit.Clear; TargetEdit.Clear;
StdDevEdit.Clear; StdDevEdit.Clear;
DeltaEdit.Clear; DeltaEdit.Clear;
kEdit.Text := FormatFloat('0.0', 0.5);
hEdit.Text := '4';
AlphaEdit.Text := FormatFloat('0.00', DEFAULT_ALPHA_LEVEL);
BetaEdit.Text := FormatFloat('0.00', DEFAULT_BETA_LEVEL);
VMaskScrollbar.Min := 2; VMaskScrollbar.Min := 2;
VMaskScrollbar.Max := DEFAULT_VMASK_SCROLLBAR_MAX; VMaskScrollbar.Max := DEFAULT_VMASK_SCROLLBAR_MAX;
VMaskScrollbar.Position := VMaskScrollbar.Max; VMaskScrollbar.Position := VMaskScrollbar.Max;

View File

@ -6,6 +6,7 @@ inherited PChartForm: TPChartForm
HelpKeyword = 'html/PControlChart.htm' HelpKeyword = 'html/PControlChart.htm'
Caption = 'P Control Chart' Caption = 'P Control Chart'
ClientHeight = 428 ClientHeight = 428
OnCreate = FormCreate
inherited ParamsPanel: TPanel inherited ParamsPanel: TPanel
Height = 412 Height = 412
Width = 352 Width = 352
@ -29,6 +30,8 @@ inherited PChartForm: TPChartForm
inherited HelpBtn: TButton inherited HelpBtn: TButton
Left = 92 Left = 92
Top = 387 Top = 387
HelpType = htKeyword
HelpKeyword = 'html/PControlChart.htm'
TabOrder = 6 TabOrder = 6
end end
inherited ButtonBevel: TBevel inherited ButtonBevel: TBevel

View File

@ -19,6 +19,7 @@ type
PEdit: TEdit; PEdit: TEdit;
SigmaOptns: TRadioGroup; SigmaOptns: TRadioGroup;
XSigmaEdit: TEdit; XSigmaEdit: TEdit;
procedure FormCreate(Sender: TObject);
protected protected
procedure AdjustConstraints; override; procedure AdjustConstraints; override;
@ -148,10 +149,15 @@ begin
end; end;
procedure TPChartForm.FormCreate(Sender: TObject);
begin
XSigmaEdit.Text := '';
end;
procedure TPChartForm.Reset; procedure TPChartForm.Reset;
begin begin
inherited; inherited;
XSigmaEdit.Clear;
NEdit.Clear; NEdit.Clear;
PEdit.Clear; PEdit.Clear;
end; end;

View File

@ -11,5 +11,9 @@ inherited RChartForm: TRChartForm
inherited ResetBtn: TButton inherited ResetBtn: TButton
TabOrder = 4 TabOrder = 4
end end
inherited HelpBtn: TButton
HelpType = htKeyword
HelpKeyword = 'html/RangeChart.htm'
end
end end
end end

View File

@ -9,5 +9,9 @@ inherited SChartForm: TSChartForm
inherited ResetBtn: TButton inherited ResetBtn: TButton
TabOrder = 4 TabOrder = 4
end end
inherited HelpBtn: TButton
HelpType = htKeyword
HelpKeyword = 'html/SControlChart.htm'
end
end end
end end

View File

@ -2,6 +2,7 @@ inherited UChartForm: TUChartForm
HelpType = htKeyword HelpType = htKeyword
HelpKeyword = 'html/DefectsperUnituChart.htm' HelpKeyword = 'html/DefectsperUnituChart.htm'
Caption = 'Defects per unit U Control Chart' Caption = 'Defects per unit U Control Chart'
OnCreate = FormCreate
inherited ParamsPanel: TPanel inherited ParamsPanel: TPanel
Width = 320 Width = 320
ClientWidth = 320 ClientWidth = 320
@ -18,6 +19,8 @@ inherited UChartForm: TUChartForm
end end
inherited HelpBtn: TButton inherited HelpBtn: TButton
Left = 60 Left = 60
HelpType = htKeyword
HelpKeyword = 'html/DefectsperUnituChart.htm'
TabOrder = 5 TabOrder = 5
end end
inherited ButtonBevel: TBevel inherited ButtonBevel: TBevel

View File

@ -17,6 +17,7 @@ type
NoInspEdit: TEdit; NoInspEdit: TEdit;
SigmaOptns: TRadioGroup; SigmaOptns: TRadioGroup;
XSigmaEdit: TEdit; XSigmaEdit: TEdit;
procedure FormCreate(Sender: TObject);
protected protected
procedure AdjustConstraints; override; procedure AdjustConstraints; override;
procedure Compute; override; procedure Compute; override;
@ -60,6 +61,7 @@ begin
SigmaOptns.AnchorSideRight.Control := ParamsPanel; SigmaOptns.AnchorSideRight.Control := ParamsPanel;
end; end;
procedure TUChartForm.Compute; procedure TUChartForm.Compute;
var var
ColNoSelected: IntDyneVec = nil; ColNoSelected: IntDyneVec = nil;
@ -135,11 +137,15 @@ begin
end; end;
procedure TUChartForm.FormCreate(Sender: TObject);
begin
XSigmaEdit.Clear;
end;
procedure TUChartForm.Reset; procedure TUChartForm.Reset;
begin begin
inherited; inherited;
NoInspEdit.Clear; NoInspEdit.Clear;
XSigmaEdit.Clear;
end; end;

View File

@ -6,6 +6,7 @@ inherited XBarChartForm: TXBarChartForm
HelpKeyword = 'html/XBarChart.htm' HelpKeyword = 'html/XBarChart.htm'
Caption = 'X-Bar Control Chart' Caption = 'X-Bar Control Chart'
ClientHeight = 476 ClientHeight = 476
OnCreate = FormCreate
inherited ParamsPanel: TPanel inherited ParamsPanel: TPanel
Height = 460 Height = 460
Width = 424 Width = 424
@ -28,6 +29,8 @@ inherited XBarChartForm: TXBarChartForm
inherited HelpBtn: TButton inherited HelpBtn: TButton
Left = 164 Left = 164
Top = 435 Top = 435
HelpType = htKeyword
HelpKeyword = 'html/XBarChart.htm'
TabOrder = 5 TabOrder = 5
end end
inherited ButtonBevel: TBevel inherited ButtonBevel: TBevel

View File

@ -41,6 +41,7 @@ type
UpperSpecChk: TCheckBox; UpperSpecChk: TCheckBox;
UpperSpecEdit: TEdit; UpperSpecEdit: TEdit;
XSigmaEdit: TEdit; XSigmaEdit: TEdit;
procedure FormCreate(Sender: TObject);
private private
FAveStdDev: Double; FAveStdDev: Double;
@ -54,7 +55,7 @@ type
function Validate(out AMsg: String; out AControl: TWinControl): Boolean; override; function Validate(out AMsg: String; out AControl: TWinControl): Boolean; override;
public public
procedure Reset; override;
end; end;
var var
@ -326,6 +327,15 @@ begin
end; end;
procedure TXBarChartForm.FormCreate(Sender: TObject);
begin
XSigmaEdit.Text := '';
UpperSpecEdit.Text := '';
LowerSpecEdit.Text := '';
TargetSpecEdit.Text := '';
end;
procedure TXBarChartForm.PlotMeans( procedure TXBarChartForm.PlotMeans(
ATitle, AXTitle, AYTitle, ADataTitle, AGrandMeanTitle: String; ATitle, AXTitle, AYTitle, ADataTitle, AGrandMeanTitle: String;
const Groups: StrDyneVec; const Means: DblDyneVec; const Groups: StrDyneVec; const Means: DblDyneVec;
@ -355,22 +365,6 @@ begin
end; end;
procedure TXBarChartForm.Reset;
begin
inherited;
UpperSpecEdit.Text := '';
LowerSpecEdit.Text := '';
TargetSpecEdit.Text := '';
XSigmaEdit.Text := '';
UpperSpecChk.Checked := false;
LowerSpecChk.Checked := false;
TargetChk.Checked := false;
ZonesChk.Checked := false;
end;
function TXBarChartForm.Validate(out AMsg: String; out AControl: TWinControl): Boolean; function TXBarChartForm.Validate(out AMsg: String; out AControl: TWinControl): Boolean;
var var
x: Double; x: Double;
@ -410,7 +404,13 @@ begin
end; end;
if not TryStrToFloat(XSigmaEdit.Text, x) then if not TryStrToFloat(XSigmaEdit.Text, x) then
begin begin
AMsg := 'No valid number given for sser-defined sigma units.'; AMsg := 'No valid number given for user-defined sigma units.';
AControl := XSigmaEdit;
exit;
end;
if (x <= 0) then
begin
AMsg := 'User-defined sigma must be a positive number.';
AControl := XSigmaEdit; AControl := XSigmaEdit;
exit; exit;
end; end;

View File

@ -1422,9 +1422,9 @@ end;
procedure TOS3MainFrm.mnuAnalysisNonPar_KSTestClick(Sender: TObject); procedure TOS3MainFrm.mnuAnalysisNonPar_KSTestClick(Sender: TObject);
begin begin
if CompareDistFrm = nil then if CompareDistForm = nil then
Application.CreateForm(TCompareDistFrm, CompareDistFrm); Application.CreateForm(TCompareDistForm, CompareDistForm);
CompareDistFrm.ShowModal; CompareDistForm.ShowModal;
end; end;
procedure TOS3MainFrm.MatManMnuClick(Sender: TObject); procedure TOS3MainFrm.MatManMnuClick(Sender: TObject);
@ -1920,9 +1920,9 @@ end;
// Menu "Analysis" > "Descriptive" > "Compare Distributions" // Menu "Analysis" > "Descriptive" > "Compare Distributions"
procedure TOS3MainFrm.mnuAnalysisDescr_CompareDistsClick(Sender: TObject); procedure TOS3MainFrm.mnuAnalysisDescr_CompareDistsClick(Sender: TObject);
begin begin
if CompareDistFrm = nil then if CompareDistForm = nil then
Application.CreateForm(TCompareDistFrm, CompareDistFrm); Application.CreateForm(TCompareDistForm, CompareDistForm);
CompareDistFrm.Show; CompareDistForm.Show;
end; end;
// Menu "Analysis" > "Descriptive" > "Cross tabulation" // Menu "Analysis" > "Descriptive" > "Cross tabulation"