You've already forked lazarus-ccr
LazStats: Add original sources, part 3
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7874 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
148
applications/lazstats/source_orig/CORSIMUNIT.lfm
Normal file
148
applications/lazstats/source_orig/CORSIMUNIT.lfm
Normal file
@ -0,0 +1,148 @@
|
||||
object CorSimFrm: TCorSimFrm
|
||||
Left = 154
|
||||
Height = 437
|
||||
Top = 108
|
||||
Width = 764
|
||||
Caption = 'Correlation Simulation'
|
||||
ClientHeight = 437
|
||||
ClientWidth = 764
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.28.2'
|
||||
object Image1: TImage
|
||||
Left = 0
|
||||
Height = 388
|
||||
Top = 0
|
||||
Width = 764
|
||||
Align = alClient
|
||||
end
|
||||
object Panel1: TPanel
|
||||
Left = 0
|
||||
Height = 49
|
||||
Top = 388
|
||||
Width = 764
|
||||
Align = alBottom
|
||||
ClientHeight = 49
|
||||
ClientWidth = 764
|
||||
TabOrder = 0
|
||||
object Label1: TLabel
|
||||
Left = 7
|
||||
Height = 14
|
||||
Top = 18
|
||||
Width = 40
|
||||
Caption = 'Mean X:'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 104
|
||||
Height = 14
|
||||
Top = 18
|
||||
Width = 40
|
||||
Caption = 'Mean Y:'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label3: TLabel
|
||||
Left = 208
|
||||
Height = 14
|
||||
Top = 18
|
||||
Width = 50
|
||||
Caption = 'Std.Dev.X'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label4: TLabel
|
||||
Left = 320
|
||||
Height = 14
|
||||
Top = 18
|
||||
Width = 50
|
||||
Caption = 'Std.Dev.Y'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label5: TLabel
|
||||
Left = 425
|
||||
Height = 14
|
||||
Top = 18
|
||||
Width = 34
|
||||
Caption = 'Cor.XY'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label6: TLabel
|
||||
Left = 520
|
||||
Height = 14
|
||||
Top = 20
|
||||
Width = 34
|
||||
Caption = 'N Size:'
|
||||
ParentColor = False
|
||||
end
|
||||
object MeanX: TEdit
|
||||
Left = 50
|
||||
Height = 21
|
||||
Top = 13
|
||||
Width = 43
|
||||
OnKeyPress = MeanXKeyPress
|
||||
TabOrder = 0
|
||||
Text = 'MeanX'
|
||||
end
|
||||
object MeanY: TEdit
|
||||
Left = 152
|
||||
Height = 21
|
||||
Top = 13
|
||||
Width = 46
|
||||
OnKeyPress = MeanYKeyPress
|
||||
TabOrder = 1
|
||||
Text = 'MeanY'
|
||||
end
|
||||
object SDX: TEdit
|
||||
Left = 262
|
||||
Height = 21
|
||||
Top = 13
|
||||
Width = 50
|
||||
OnKeyPress = SDXKeyPress
|
||||
TabOrder = 2
|
||||
Text = 'SDX'
|
||||
end
|
||||
object SDY: TEdit
|
||||
Left = 376
|
||||
Height = 21
|
||||
Top = 13
|
||||
Width = 39
|
||||
OnKeyPress = SDYKeyPress
|
||||
TabOrder = 3
|
||||
Text = 'SDY'
|
||||
end
|
||||
object Corr: TEdit
|
||||
Left = 464
|
||||
Height = 21
|
||||
Top = 12
|
||||
Width = 44
|
||||
OnKeyPress = CorrKeyPress
|
||||
TabOrder = 4
|
||||
Text = 'Corr'
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 616
|
||||
Height = 26
|
||||
Top = 13
|
||||
Width = 65
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 5
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 688
|
||||
Height = 26
|
||||
Top = 12
|
||||
Width = 66
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 6
|
||||
end
|
||||
object Nobs: TEdit
|
||||
Left = 560
|
||||
Height = 21
|
||||
Top = 13
|
||||
Width = 40
|
||||
OnKeyPress = NobsKeyPress
|
||||
TabOrder = 7
|
||||
Text = 'Nobs'
|
||||
end
|
||||
end
|
||||
end
|
34
applications/lazstats/source_orig/CORSIMUNIT.lrs
Normal file
34
applications/lazstats/source_orig/CORSIMUNIT.lrs
Normal file
@ -0,0 +1,34 @@
|
||||
LazarusResources.Add('TCorSimFrm','FORMDATA',[
|
||||
'TPF0'#10'TCorSimFrm'#9'CorSimFrm'#4'Left'#3#154#0#6'Height'#3#181#1#3'Top'#2
|
||||
+'l'#5'Width'#3#252#2#7'Caption'#6#22'Correlation Simulation'#12'ClientHeight'
|
||||
+#3#181#1#11'ClientWidth'#3#252#2#6'OnShow'#7#8'FormShow'#10'LCLVersion'#6#8
|
||||
+'0.9.28.2'#0#6'TImage'#6'Image1'#4'Left'#2#0#6'Height'#3#132#1#3'Top'#2#0#5
|
||||
+'Width'#3#252#2#5'Align'#7#8'alClient'#0#0#6'TPanel'#6'Panel1'#4'Left'#2#0#6
|
||||
+'Height'#2'1'#3'Top'#3#132#1#5'Width'#3#252#2#5'Align'#7#8'alBottom'#12'Clie'
|
||||
+'ntHeight'#2'1'#11'ClientWidth'#3#252#2#8'TabOrder'#2#0#0#6'TLabel'#6'Label1'
|
||||
+#4'Left'#2#7#6'Height'#2#14#3'Top'#2#18#5'Width'#2'('#7'Caption'#6#7'Mean X:'
|
||||
+#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2'h'#6'Height'#2#14#3'Top'
|
||||
+#2#18#5'Width'#2'('#7'Caption'#6#7'Mean Y:'#11'ParentColor'#8#0#0#6'TLabel'#6
|
||||
+'Label3'#4'Left'#3#208#0#6'Height'#2#14#3'Top'#2#18#5'Width'#2'2'#7'Caption'
|
||||
+#6#9'Std.Dev.X'#11'ParentColor'#8#0#0#6'TLabel'#6'Label4'#4'Left'#3'@'#1#6'H'
|
||||
+'eight'#2#14#3'Top'#2#18#5'Width'#2'2'#7'Caption'#6#9'Std.Dev.Y'#11'ParentCo'
|
||||
+'lor'#8#0#0#6'TLabel'#6'Label5'#4'Left'#3#169#1#6'Height'#2#14#3'Top'#2#18#5
|
||||
+'Width'#2'"'#7'Caption'#6#6'Cor.XY'#11'ParentColor'#8#0#0#6'TLabel'#6'Label6'
|
||||
+#4'Left'#3#8#2#6'Height'#2#14#3'Top'#2#20#5'Width'#2'"'#7'Caption'#6#7'N Siz'
|
||||
+'e:'#11'ParentColor'#8#0#0#5'TEdit'#5'MeanX'#4'Left'#2'2'#6'Height'#2#21#3'T'
|
||||
+'op'#2#13#5'Width'#2'+'#10'OnKeyPress'#7#13'MeanXKeyPress'#8'TabOrder'#2#0#4
|
||||
+'Text'#6#5'MeanX'#0#0#5'TEdit'#5'MeanY'#4'Left'#3#152#0#6'Height'#2#21#3'Top'
|
||||
+#2#13#5'Width'#2'.'#10'OnKeyPress'#7#13'MeanYKeyPress'#8'TabOrder'#2#1#4'Tex'
|
||||
+'t'#6#5'MeanY'#0#0#5'TEdit'#3'SDX'#4'Left'#3#6#1#6'Height'#2#21#3'Top'#2#13#5
|
||||
+'Width'#2'2'#10'OnKeyPress'#7#11'SDXKeyPress'#8'TabOrder'#2#2#4'Text'#6#3'SD'
|
||||
+'X'#0#0#5'TEdit'#3'SDY'#4'Left'#3'x'#1#6'Height'#2#21#3'Top'#2#13#5'Width'#2
|
||||
+''''#10'OnKeyPress'#7#11'SDYKeyPress'#8'TabOrder'#2#3#4'Text'#6#3'SDY'#0#0#5
|
||||
+'TEdit'#4'Corr'#4'Left'#3#208#1#6'Height'#2#21#3'Top'#2#12#5'Width'#2','#10
|
||||
+'OnKeyPress'#7#12'CorrKeyPress'#8'TabOrder'#2#4#4'Text'#6#4'Corr'#0#0#7'TBut'
|
||||
+'ton'#10'ComputeBtn'#4'Left'#3'h'#2#6'Height'#2#26#3'Top'#2#13#5'Width'#2'A'
|
||||
+#7'Caption'#6#7'Compute'#7'OnClick'#7#15'ComputeBtnClick'#8'TabOrder'#2#5#0#0
|
||||
+#7'TButton'#9'ReturnBtn'#4'Left'#3#176#2#6'Height'#2#26#3'Top'#2#12#5'Width'
|
||||
+#2'B'#7'Caption'#6#6'Return'#11'ModalResult'#2#1#8'TabOrder'#2#6#0#0#5'TEdit'
|
||||
+#4'Nobs'#4'Left'#3'0'#2#6'Height'#2#21#3'Top'#2#13#5'Width'#2'('#10'OnKeyPre'
|
||||
+'ss'#7#12'NobsKeyPress'#8'TabOrder'#2#7#4'Text'#6#4'Nobs'#0#0#0#0
|
||||
]);
|
571
applications/lazstats/source_orig/COXREGUNIT.PAS
Normal file
571
applications/lazstats/source_orig/COXREGUNIT.PAS
Normal file
@ -0,0 +1,571 @@
|
||||
unit CoxRegUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Buttons, Globals, MainUnit, MatrixLib, OutPutUnit,
|
||||
FunctionsLib, Math;
|
||||
|
||||
|
||||
type
|
||||
|
||||
{ TCoxRegFrm }
|
||||
|
||||
TCoxRegFrm = class(TForm)
|
||||
InBtn: TBitBtn;
|
||||
OutBtn: TBitBtn;
|
||||
DepInBtn: TBitBtn;
|
||||
DepOutBtn: TBitBtn;
|
||||
StatusInBtn: TBitBtn;
|
||||
StatusOutBtn: TBitBtn;
|
||||
ResetBtn: TButton;
|
||||
CancelBtn: TButton;
|
||||
ComputeBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
DescChk: TCheckBox;
|
||||
MaxItsEdit: TEdit;
|
||||
Label5: TLabel;
|
||||
ProbsChk: TCheckBox;
|
||||
ItersChk: TCheckBox;
|
||||
DepVar: TEdit;
|
||||
GroupBox1: TGroupBox;
|
||||
StatusEdit: TEdit;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
BlockList: TListBox;
|
||||
Label3: TLabel;
|
||||
Label4: TLabel;
|
||||
VarList: TListBox;
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
procedure DepInBtnClick(Sender: TObject);
|
||||
procedure DepOutBtnClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure InBtnClick(Sender: TObject);
|
||||
procedure OutBtnClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
procedure StatusInBtnClick(Sender: TObject);
|
||||
procedure StatusOutBtnClick(Sender: TObject);
|
||||
function ChiSq(x : double; n : integer) : double;
|
||||
function Norm(z : double): double;
|
||||
function ix(j, k, nCols : integer): integer;
|
||||
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
CoxRegFrm: TCoxRegFrm;
|
||||
|
||||
implementation
|
||||
|
||||
{ TCoxRegFrm }
|
||||
|
||||
procedure TCoxRegFrm.ResetBtnClick(Sender: TObject);
|
||||
VAR i : integer;
|
||||
begin
|
||||
BlockList.Clear;
|
||||
VarList.Clear;
|
||||
for i := 1 to NoVariables do
|
||||
begin
|
||||
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
|
||||
end;
|
||||
InBtn.Enabled := true;
|
||||
OutBtn.Enabled := false;
|
||||
DepInBtn.Enabled := true;
|
||||
DepOutBtn.Enabled := false;
|
||||
ProbsChk.Checked := true;
|
||||
DescChk.Checked := true;
|
||||
DepVar.Text := '';
|
||||
StatusEdit.Text := '';
|
||||
StatusInBtn.Enabled := true;
|
||||
StatusOutBtn.Enabled := false;
|
||||
MaxItsEdit.Text := '20';
|
||||
end;
|
||||
|
||||
procedure TCoxRegFrm.StatusInBtnClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := VarList.ItemIndex;
|
||||
StatusEdit.Text := VarList.Items.Strings[index];
|
||||
VarList.Items.Delete(index);
|
||||
StatusOutBtn.Enabled := true;
|
||||
StatusInBtn.Enabled := false;
|
||||
end;
|
||||
|
||||
procedure TCoxRegFrm.StatusOutBtnClick(Sender: TObject);
|
||||
begin
|
||||
VarList.Items.Add(StatusEdit.Text);
|
||||
StatusEdit.Text := '';
|
||||
StatusInBtn.Enabled := true;
|
||||
end;
|
||||
|
||||
procedure TCoxRegFrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
ResetBtnClick(Self);
|
||||
end;
|
||||
|
||||
procedure TCoxRegFrm.DepInBtnClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := VarList.ItemIndex;
|
||||
DepVar.Text := VarList.Items.Strings[index];
|
||||
VarList.Items.Delete(index);
|
||||
DepOutBtn.Enabled := true;
|
||||
DepInBtn.Enabled := false;
|
||||
end;
|
||||
|
||||
procedure TCoxRegFrm.ComputeBtnClick(Sender: TObject);
|
||||
Label CleanUp;
|
||||
var
|
||||
i, j, k, l : integer;
|
||||
indx : integer;
|
||||
title : string;
|
||||
cellstring : string;
|
||||
outline : string;
|
||||
nR : integer; // no. independent variables
|
||||
ColNoSelected : IntDyneVec;
|
||||
nC : integer; // no. cases
|
||||
nP : integer; // survival time variable
|
||||
nS : integer; // survival status variable
|
||||
zX : double;
|
||||
v : double;
|
||||
Eps : double;
|
||||
iBig : integer;
|
||||
LLp, LL : double;
|
||||
LLn : double;
|
||||
s0 : double;
|
||||
StatI : double;
|
||||
Sf : double;
|
||||
RowLabels, ColLabels : StrDyneVec;
|
||||
CSq : double; // chi square statistic
|
||||
prob : double; // probability of chi square
|
||||
SurvT : DblDyneVec;
|
||||
Stat : DblDyneVec;
|
||||
Dupl : DblDyneVec;
|
||||
Alpha : DblDyneVec;
|
||||
a : DblDyneVec;
|
||||
b : DblDyneVec;
|
||||
s1 : DblDyneVec;
|
||||
s2 : DblDyneVec;
|
||||
s : DblDyneVec;
|
||||
Av : DblDyneVec;
|
||||
SD : DblDyneVec;
|
||||
SE : DblDyneVec;
|
||||
x : DblDyneVec; // data matrix for independent variables
|
||||
Lo95 : double;
|
||||
Hi95 : double;
|
||||
d : double;
|
||||
iters : integer;
|
||||
|
||||
begin
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
// OutPutFrm.RichEdit.ParaGraph.Alignment := taLeftJustify;
|
||||
OutPutFrm.RichEdit.Lines.Add('Cox Proportional Hazards Survival Regression Adapted from John C. Pezzullo');
|
||||
OutPutFrm.RichEdit.Lines.Add('Java program at http://members.aol.com/johnp71/prophaz.html');
|
||||
|
||||
{ get independent item columns }
|
||||
nR := BlockList.Items.Count;
|
||||
nC := NoCases;
|
||||
SetLength(ColNoSelected,nR + 2);
|
||||
SetLength(RowLabels,nR + 2);
|
||||
SetLength(ColLabels,nR + 2);
|
||||
if nR < 1 then
|
||||
begin
|
||||
ShowMessage('ERROR! No independent variables selected.');
|
||||
goto CleanUp;
|
||||
end;
|
||||
|
||||
for i := 1 to nR do
|
||||
begin
|
||||
cellstring := BlockList.Items.Strings[i-1];
|
||||
for j := 1 to NoVariables do
|
||||
begin
|
||||
if cellstring = OS3MainFrm.DataGrid.Cells[j,0] then
|
||||
begin
|
||||
ColNoSelected[i-1] := j;
|
||||
RowLabels[i-1] := cellstring;
|
||||
ColLabels[i-1] := cellstring;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
{ get survival time variable column and survival status var. column }
|
||||
if DepVar.Text = '' then
|
||||
begin
|
||||
ShowMessage('Error! No Survival time variable selected.');
|
||||
goto CleanUp;
|
||||
end;
|
||||
if StatusEdit.Text = '' then
|
||||
begin
|
||||
ShowMessage('Error! No Survival Status variable selected.');
|
||||
goto Cleanup;
|
||||
end;
|
||||
nP := nR + 1;
|
||||
nS := nP + 1;
|
||||
for j := 1 to NoVariables do
|
||||
begin
|
||||
if DepVar.Text = OS3MainFrm.DataGrid.Cells[j,0] then
|
||||
begin
|
||||
ColNoSelected[nP-1] := j;
|
||||
RowLabels[nP-1] := OS3MainFrm.DataGrid.Cells[j,0];
|
||||
ColLabels[nP-1] := RowLabels[nP-1];
|
||||
end;
|
||||
if StatusEdit.Text = OS3MainFrm.DataGrid.Cells[j,0] then
|
||||
begin
|
||||
ColNoSelected[nS-1] := j;
|
||||
RowLabels[nS-1] := OS3MainFrm.DataGrid.Cells[j,0];
|
||||
ColLabels[nS-1] := RowLabels[nS-1];
|
||||
end;
|
||||
end;
|
||||
|
||||
SetLength(SurvT,nC + 1);
|
||||
SetLength(Stat,nC + 1);
|
||||
SetLength(Dupl,nC + 1);
|
||||
SetLength(Alpha,nC + 1);
|
||||
SetLength(x,(nC + 1) * (nR + 1));
|
||||
SetLength(b,nC + 1);
|
||||
SetLength(a,(nR + 1) * (nR + 1));
|
||||
SetLength(s1,nR + 1);
|
||||
SetLength(s2,(nR + 1) * (nR + 1));
|
||||
SetLength(s,nR + 1);
|
||||
SetLength(Av,nR + 1);
|
||||
SetLength(SD,nR + 1);
|
||||
SetLength(SE,nR + 1);
|
||||
|
||||
// get data
|
||||
for i := 0 to nC - 1 do
|
||||
begin
|
||||
indx := ix(i,0,nR+1);
|
||||
X[indx] := 1;
|
||||
for j := 0 to nR-1 do
|
||||
begin
|
||||
indx := ColNoSelected[j];
|
||||
zX := StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[indx,i+1]));
|
||||
indx := ix(i,j,nR);
|
||||
x[indx] := zX;
|
||||
Av[j] := Av[j] + zX;
|
||||
SD[j] := SD[j] + (zX * zX);
|
||||
end;
|
||||
// get survival time
|
||||
indx := ColNoSelected[nP-1];
|
||||
zX := StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[indx,i+1]));
|
||||
SurvT[i] := zX;
|
||||
// get survival status
|
||||
indx := ColNoSelected[nS-1];
|
||||
zX := StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[indx,i+1]));
|
||||
Stat[i] := zX;
|
||||
end; // next case i
|
||||
|
||||
// print descriptive statistics
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
if DescChk.Checked then
|
||||
begin
|
||||
OutPutFrm.RichEdit.Lines.Add('Descriptive Statistics');
|
||||
OutPutFrm.RichEdit.Lines.Add('Variable Label Average Std.Dev.');
|
||||
end;
|
||||
for j := 0 to nR-1 do
|
||||
begin
|
||||
Av[j] := Av[j] / nC;
|
||||
SD[j] := SD[j] / nC;
|
||||
SD[j] := sqrt( abs(SD[j] - Av[j] * Av[j]));
|
||||
if DescChk.Checked then
|
||||
begin
|
||||
outline := format(' %3d %15s %10.4f %10.4f',[j+1,RowLabels[j],Av[j],SD[j]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
|
||||
d := 0.0;
|
||||
Eps := 1.0 / 1024.0;
|
||||
for i := 0 to nC-2 do
|
||||
begin
|
||||
iBig := i;
|
||||
for j := i+1 to nC-1 do
|
||||
begin
|
||||
if (SurvT[j] - Eps * Stat[j]) > (SurvT[iBig]-Eps * Stat[iBig]) then
|
||||
iBig := j;
|
||||
end;
|
||||
if iBig <> i then
|
||||
begin
|
||||
v := SurvT[i];
|
||||
SurvT[i] := SurvT[iBig];
|
||||
SurvT[iBig] := v;
|
||||
v := Stat[i];
|
||||
Stat[i] := Stat[iBig];
|
||||
Stat[iBig] := v;
|
||||
for j := 0 to nR-1 do
|
||||
begin
|
||||
v := x[ix(i,j,nR)];
|
||||
x[ix(i,j,nR)] := x[ix(iBig,j,nR)];
|
||||
x[ix(iBig,j,nR)] := v;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
if Stat[0] > 0 then Stat[0] := Stat[0] + 2;
|
||||
for i := 1 to nC-1 do
|
||||
begin
|
||||
if (Stat[i] > 0) and ((Stat[i-1] = 0) or (SurvT[i-1] <> SurvT[i])) then
|
||||
Stat[i] := Stat[i] + 2;
|
||||
end;
|
||||
if Stat[nC-1] > 0 then Stat[nC-1] := Stat[nC-1] + 4;
|
||||
for i := nC-2 downto 0 do
|
||||
begin
|
||||
if (Stat[i] > 0) and ((Stat[i+1] = 0) or (SurvT[i+1] <> Survt[i])) then
|
||||
Stat[i] := Stat[i] + 4;
|
||||
end;
|
||||
for i := 0 to nC-1 do
|
||||
begin
|
||||
for j := 0 to nR-1 do
|
||||
begin
|
||||
x[ix(i,j,nR)] := (x[ix(i,j,nR)] - Av[j]) / SD[j];
|
||||
end;
|
||||
end;
|
||||
if ItersChk.Checked then OutPutFrm.RichEdit.Lines.Add('Iteration History...');
|
||||
for j := 0 to nR-1 do b[j] := 0;
|
||||
LLp := 2.0e30;
|
||||
LL := 1.0e30;
|
||||
|
||||
// start iterations
|
||||
iters := 0;
|
||||
while (Abs(LLp-LL) > 0.0001) do
|
||||
begin
|
||||
iters := iters + 1;
|
||||
if iters > StrToInt(MaxItsEdit.Text) then break;
|
||||
LLp := LL;
|
||||
LL := 0.0;
|
||||
s0 := 0.0;
|
||||
for j := 0 to nR-1 do
|
||||
begin
|
||||
s1[j] := 0.0;
|
||||
a[ix(j,nR,nR+1)] := 0.0;
|
||||
for k := 0 to nR-1 do
|
||||
begin
|
||||
s2[ix(j,k,nR)] := 0.0;
|
||||
a[ix(j,k,nR+1)] := 0.0;
|
||||
end;
|
||||
end;
|
||||
for i := 0 to nC-1 do
|
||||
begin
|
||||
Alpha[i] := 1.0;
|
||||
v := 0.0;
|
||||
for j := 0 to nR-1 do v := v + b[j] * x[ix(i,j,nR)];
|
||||
v := exp(v);
|
||||
s0 := s0 + v;
|
||||
for j := 0 to nR-1 do
|
||||
begin
|
||||
s1[j] := s1[j] + x[ix(i,j,nR)] * v;
|
||||
for k := 0 to nR-1 do
|
||||
s2[ix(j,k,nR)] := s2[ix(j,k,nR)] + x[ix(i,j,nR)] * x[ix(i,k,nR)] * v;
|
||||
end;
|
||||
StatI := Stat[i];
|
||||
if (StatI = 2) or (StatI = 3) or (StatI = 6) or (StatI = 7) then
|
||||
begin
|
||||
d := 0.0;
|
||||
for j := 0 to nR-1 do s[j] := 0.0;
|
||||
end;
|
||||
if (StatI = 1) or (StatI = 3) or (StatI = 5) or (StatI = 7) then
|
||||
begin
|
||||
d := d + 1;
|
||||
for j := 0 to nR-1 do s[j] := s[j] + x[ix(i,j,nR)];
|
||||
end;
|
||||
if (StatI = 4) or (StatI = 5) or (StatI = 6) or (StatI = 7) then
|
||||
begin
|
||||
for j := 0 to nR-1 do
|
||||
begin
|
||||
LL := LL + s[j] * b[j];
|
||||
a[ix(j,nR,nR+1)] := a[ix(j,nR,nR+1)] + s[j] - d * s1[j] / s0;
|
||||
for k := 0 to nR-1 do
|
||||
begin
|
||||
a[ix(j,k,nR+1)] := a[ix(j,k,nR+1)] + d * (s2[ix(j,k,nR)] / s0 -
|
||||
s1[j] * s1[k] / (s0 * s0));
|
||||
end;
|
||||
end;
|
||||
LL := LL - d * Ln(s0);
|
||||
if d = 1 then Alpha[i] := Power((1.0 - v / s0),(1.0 / v))
|
||||
else Alpha[i] := exp(-d / s0);
|
||||
end;
|
||||
end;
|
||||
LL := -2.0 * LL;
|
||||
outline := format('-2 Log Likelihood = %10.4f',[LL]);
|
||||
if iters = 1 then
|
||||
begin
|
||||
LLn := LL;
|
||||
if ItersChk.Checked then
|
||||
outline := outline + ' (Null Model)';
|
||||
end;
|
||||
if ItersChk.Checked then
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
for i := 0 to nR-1 do
|
||||
begin
|
||||
v := a[ix(i,i,nR+1)];
|
||||
a[ix(i,i,nR+1)] := 1.0;
|
||||
for k := 0 to nR do
|
||||
a[ix(i,k,nR+1)] := a[ix(i,k,nR+1)] / v;
|
||||
for j := 0 to nR-1 do
|
||||
begin
|
||||
if i <> j then
|
||||
begin
|
||||
v := a[ix(j,i,nR+1)];
|
||||
a[ix(j,i,nR+1)] := 0.0;
|
||||
for k := 0 to nR do
|
||||
a[ix(j,k,nR+1)] := a[ix(j,k,nR+1)] - v * a[ix(i,k,nR+1)];
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
for j := 0 to nR-1 do b[j] := b[j] + a[ix(j,nR,nR+1)];
|
||||
end;
|
||||
|
||||
OutPutFrm.RichEdit.Lines.Add('Converged');
|
||||
Csq := LLn - LL;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Overall Model Fit...');
|
||||
if Csq > 0.0 then prob := ChiSq(Csq,nR) else prob := 1.0;
|
||||
outline := format('Chi Square = %8.4f with d.f. %d and probability = %8.4f',[Csq,nR,prob]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Coefficients, Std Errs, Signif, and Confidence Intervals');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Var Coeff. StdErr p Lo95% Hi95%');
|
||||
for j := 0 to nR-1 do
|
||||
begin
|
||||
b[j] := b[j] / SD[j];
|
||||
SE[j] := sqrt(a[ix(j,j,nR+1)]) / SD[j];
|
||||
prob := Norm(Abs(b[j] / SE[j]));
|
||||
Lo95 := b[j] - 1.96 * SE[j];
|
||||
Hi95 := b[j] + 1.96 * SE[j];
|
||||
outline := format('%10s %10.4f %10.4f %8.4f %8.4f %8.4f',
|
||||
[RowLabels[j],b[j],SE[j],prob,Lo95,Hi95]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Risk Ratios and Confidence Intervals');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Variable Risk Ratio Lo95% Hi95%');
|
||||
for j := 0 to nR-1 do
|
||||
begin
|
||||
outline := format('%10s %10.4f %10.4f %10.4f',
|
||||
[RowLabels[j],exp(b[j]),exp(b[j]-1.96*SE[j]),exp(b[j]+1.96*SE[j])]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
if ProbsChk.Checked then
|
||||
OutPutFrm.RichEdit.Lines.Add('Baseline Survivor Function (at predictor means)...');
|
||||
SF := 1.0;
|
||||
for i := nC-1 downto 0 do
|
||||
begin
|
||||
Sf := Sf * Alpha[i];
|
||||
if Alpha[i] < 1.0 then
|
||||
begin
|
||||
if ProbsChk.Checked then
|
||||
begin
|
||||
outline := format('%10.4f %10.4f',[SurvT[i],Sf]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
OutPutFrm.ShowModal;
|
||||
|
||||
cleanup:
|
||||
SurvT := nil;
|
||||
Stat := nil;
|
||||
Dupl := nil;
|
||||
Alpha := nil;
|
||||
x := nil;
|
||||
b := nil;
|
||||
a := nil;
|
||||
s1 := nil;
|
||||
s2 := nil;
|
||||
s := nil;
|
||||
Av := nil;
|
||||
SD := nil;
|
||||
SE := nil;
|
||||
RowLabels := nil;
|
||||
ColLabels := nil;
|
||||
ColNoSelected := nil;
|
||||
end;
|
||||
|
||||
procedure TCoxRegFrm.DepOutBtnClick(Sender: TObject);
|
||||
begin
|
||||
VarList.Items.Add(DepVar.Text);
|
||||
DepVar.Text := '';
|
||||
DepInBtn.Enabled := true;
|
||||
end;
|
||||
|
||||
procedure TCoxRegFrm.InBtnClick(Sender: TObject);
|
||||
VAR i, index : integer;
|
||||
begin
|
||||
index := VarList.Items.Count;
|
||||
i := 0;
|
||||
while i < index do
|
||||
begin
|
||||
if (VarList.Selected[i]) then
|
||||
begin
|
||||
BlockList.Items.Add(VarList.Items.Strings[i]);
|
||||
VarList.Items.Delete(i);
|
||||
index := index - 1;
|
||||
i := 0;
|
||||
end
|
||||
else i := i + 1;
|
||||
end;
|
||||
OutBtn.Enabled := true;
|
||||
end;
|
||||
|
||||
procedure TCoxRegFrm.OutBtnClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := BlockList.ItemIndex;
|
||||
VarList.Items.Add(BlockList.Items.Strings[index]);
|
||||
BlockList.Items.Delete(index);
|
||||
InBtn.Enabled := true;
|
||||
if BlockList.Items.Count = 0 then OutBtn.Enabled := false;
|
||||
end;
|
||||
|
||||
function TCoxRegFrm.ChiSq(x : double; n : integer) : double;
|
||||
var
|
||||
p, t, a : double;
|
||||
k : integer;
|
||||
|
||||
begin
|
||||
p := exp(-0.5 * x);
|
||||
if n mod 2 = 1 then p := p * sqrt(2 * x / Pi);
|
||||
k := n;
|
||||
while K >= 2 do
|
||||
begin
|
||||
p := p * x / k;
|
||||
k := k - 2;
|
||||
end;
|
||||
t := p;
|
||||
a := n;
|
||||
while t > 0.000001 * p do
|
||||
begin
|
||||
a := a + 2;
|
||||
t := t * x / a;
|
||||
p := p + t;
|
||||
end;
|
||||
ChiSq := (1 - p);
|
||||
end;
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
function TCoxRegFrm.Norm(z : double): double;
|
||||
begin
|
||||
Norm := ChiSq(z * z, 1);
|
||||
end;
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
function TCoxRegFrm.ix(j, k, nCols : integer): integer;
|
||||
begin
|
||||
ix := j * nCols + k;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I coxregunit.lrs}
|
||||
|
||||
end.
|
||||
|
430
applications/lazstats/source_orig/COXREGUNIT.lfm
Normal file
430
applications/lazstats/source_orig/COXREGUNIT.lfm
Normal file
@ -0,0 +1,430 @@
|
||||
object CoxRegFrm: TCoxRegFrm
|
||||
Left = 134
|
||||
Height = 349
|
||||
Top = 98
|
||||
Width = 607
|
||||
Caption = 'Cox Proportional Hazards Survival Regression'
|
||||
ClientHeight = 349
|
||||
ClientWidth = 607
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.26.2'
|
||||
object Label1: TLabel
|
||||
Left = 7
|
||||
Height = 14
|
||||
Top = 2
|
||||
Width = 83
|
||||
Caption = 'Avaialbe Variable'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 233
|
||||
Height = 14
|
||||
Top = 5
|
||||
Width = 109
|
||||
Caption = 'Independent Variables'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label3: TLabel
|
||||
Left = 232
|
||||
Height = 14
|
||||
Top = 168
|
||||
Width = 105
|
||||
Caption = 'Survival Time Variable'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label4: TLabel
|
||||
Left = 230
|
||||
Height = 14
|
||||
Top = 270
|
||||
Width = 114
|
||||
Caption = 'Survival Status Variable'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label5: TLabel
|
||||
Left = 408
|
||||
Height = 14
|
||||
Top = 113
|
||||
Width = 105
|
||||
Caption = 'Maximum Interations:'
|
||||
ParentColor = False
|
||||
end
|
||||
object VarList: TListBox
|
||||
Left = 5
|
||||
Height = 319
|
||||
Top = 17
|
||||
Width = 180
|
||||
MultiSelect = True
|
||||
TabOrder = 0
|
||||
end
|
||||
object InBtn: TBitBtn
|
||||
Left = 193
|
||||
Height = 29
|
||||
Top = 16
|
||||
Width = 31
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00216324B81D5E2006FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF002A702F38256929F7216324D9FFFFFF00FFFFFF00FFFFFF00FFFFFF0061BE
|
||||
6DFF5DB868FF58B162FF53A95CFF4DA156FF47994FFF419149FF3B8842FF3580
|
||||
3BFF3F8845FF59A15EFF448B49FF216324CFFFFFFF00FFFFFF00FFFFFF0065C3
|
||||
71FFA0D7A9FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF82C6
|
||||
89FF7EC384FF7AC180FF76BE7CFF458C4AFF216324C4FFFFFF00FFFFFF0068C7
|
||||
74FFA5DAAEFFA2D8ABFF9ED6A7FF9AD4A3FF96D29FFF93CF9AFF8ECC95FF89CA
|
||||
90FF85C78BFF81C587FF7DC282FF4A9150FF256929C9FFFFFF00FFFFFF0068C7
|
||||
74FF68C774FF65C371FF61BE6DFF5DB868FF58B162FF53A95CFF4DA156FF4799
|
||||
4FFF419149FF5AA362FF559D5CFF2F7835D1FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00419149F73B8842DBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0047994FBB41914906FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
|
||||
}
|
||||
NumGlyphs = 0
|
||||
OnClick = InBtnClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object OutBtn: TBitBtn
|
||||
Left = 193
|
||||
Height = 29
|
||||
Top = 48
|
||||
Width = 31
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF004DA1560647994FB8FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0053A95CD94DA156F747994F38FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF005DB868CF71BE7BFF7AC183FF5BAA64FF47994FFF419149FF3B8842FF3580
|
||||
3BFF2F7835FF2A702FFF256929FF216324FF1D5E20FFFFFFFF00FFFFFF0065C3
|
||||
71C47BC886FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF82C6
|
||||
89FF7EC384FF7AC180FF76BE7CFF72BD78FF216324FFFFFFFF00FFFFFF0068C7
|
||||
74C97FCC8AFFA2D8ABFF9ED6A7FF9AD4A3FF96D29FFF93CF9AFF8ECC95FF89CA
|
||||
90FF85C78BFF81C587FF7DC282FF78C07EFF256929FFFFFFFF00FFFFFF00FFFF
|
||||
FF0068C774D180CD8BFF7CC987FF5DB868FF58B162FF53A95CFF4DA156FF4799
|
||||
4FFF419149FF3B8842FF35803BFF2F7835FF2A702FFFFFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0068C774DB65C371F7FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0068C7740668C774BBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
|
||||
}
|
||||
NumGlyphs = 0
|
||||
OnClick = OutBtnClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object DepInBtn: TBitBtn
|
||||
Left = 193
|
||||
Height = 29
|
||||
Top = 168
|
||||
Width = 31
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00216324B81D5E2006FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF002A702F38256929F7216324D9FFFFFF00FFFFFF00FFFFFF00FFFFFF0061BE
|
||||
6DFF5DB868FF58B162FF53A95CFF4DA156FF47994FFF419149FF3B8842FF3580
|
||||
3BFF3F8845FF59A15EFF448B49FF216324CFFFFFFF00FFFFFF00FFFFFF0065C3
|
||||
71FFA0D7A9FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF82C6
|
||||
89FF7EC384FF7AC180FF76BE7CFF458C4AFF216324C4FFFFFF00FFFFFF0068C7
|
||||
74FFA5DAAEFFA2D8ABFF9ED6A7FF9AD4A3FF96D29FFF93CF9AFF8ECC95FF89CA
|
||||
90FF85C78BFF81C587FF7DC282FF4A9150FF256929C9FFFFFF00FFFFFF0068C7
|
||||
74FF68C774FF65C371FF61BE6DFF5DB868FF58B162FF53A95CFF4DA156FF4799
|
||||
4FFF419149FF5AA362FF559D5CFF2F7835D1FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00419149F73B8842DBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0047994FBB41914906FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
|
||||
}
|
||||
NumGlyphs = 0
|
||||
OnClick = DepInBtnClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object DepOutBtn: TBitBtn
|
||||
Left = 193
|
||||
Height = 29
|
||||
Top = 200
|
||||
Width = 31
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF004DA1560647994FB8FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0053A95CD94DA156F747994F38FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF005DB868CF71BE7BFF7AC183FF5BAA64FF47994FFF419149FF3B8842FF3580
|
||||
3BFF2F7835FF2A702FFF256929FF216324FF1D5E20FFFFFFFF00FFFFFF0065C3
|
||||
71C47BC886FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF82C6
|
||||
89FF7EC384FF7AC180FF76BE7CFF72BD78FF216324FFFFFFFF00FFFFFF0068C7
|
||||
74C97FCC8AFFA2D8ABFF9ED6A7FF9AD4A3FF96D29FFF93CF9AFF8ECC95FF89CA
|
||||
90FF85C78BFF81C587FF7DC282FF78C07EFF256929FFFFFFFF00FFFFFF00FFFF
|
||||
FF0068C774D180CD8BFF7CC987FF5DB868FF58B162FF53A95CFF4DA156FF4799
|
||||
4FFF419149FF3B8842FF35803BFF2F7835FF2A702FFFFFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0068C774DB65C371F7FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0068C7740668C774BBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
|
||||
}
|
||||
NumGlyphs = 0
|
||||
OnClick = DepOutBtnClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object StatusInBtn: TBitBtn
|
||||
Left = 193
|
||||
Height = 29
|
||||
Top = 272
|
||||
Width = 31
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00216324B81D5E2006FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF002A702F38256929F7216324D9FFFFFF00FFFFFF00FFFFFF00FFFFFF0061BE
|
||||
6DFF5DB868FF58B162FF53A95CFF4DA156FF47994FFF419149FF3B8842FF3580
|
||||
3BFF3F8845FF59A15EFF448B49FF216324CFFFFFFF00FFFFFF00FFFFFF0065C3
|
||||
71FFA0D7A9FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF82C6
|
||||
89FF7EC384FF7AC180FF76BE7CFF458C4AFF216324C4FFFFFF00FFFFFF0068C7
|
||||
74FFA5DAAEFFA2D8ABFF9ED6A7FF9AD4A3FF96D29FFF93CF9AFF8ECC95FF89CA
|
||||
90FF85C78BFF81C587FF7DC282FF4A9150FF256929C9FFFFFF00FFFFFF0068C7
|
||||
74FF68C774FF65C371FF61BE6DFF5DB868FF58B162FF53A95CFF4DA156FF4799
|
||||
4FFF419149FF5AA362FF559D5CFF2F7835D1FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00419149F73B8842DBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0047994FBB41914906FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
|
||||
}
|
||||
NumGlyphs = 0
|
||||
OnClick = StatusInBtnClick
|
||||
TabOrder = 5
|
||||
end
|
||||
object StatusOutBtn: TBitBtn
|
||||
Left = 193
|
||||
Height = 29
|
||||
Top = 304
|
||||
Width = 31
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF004DA1560647994FB8FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0053A95CD94DA156F747994F38FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF005DB868CF71BE7BFF7AC183FF5BAA64FF47994FFF419149FF3B8842FF3580
|
||||
3BFF2F7835FF2A702FFF256929FF216324FF1D5E20FFFFFFFF00FFFFFF0065C3
|
||||
71C47BC886FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF82C6
|
||||
89FF7EC384FF7AC180FF76BE7CFF72BD78FF216324FFFFFFFF00FFFFFF0068C7
|
||||
74C97FCC8AFFA2D8ABFF9ED6A7FF9AD4A3FF96D29FFF93CF9AFF8ECC95FF89CA
|
||||
90FF85C78BFF81C587FF7DC282FF78C07EFF256929FFFFFFFF00FFFFFF00FFFF
|
||||
FF0068C774D180CD8BFF7CC987FF5DB868FF58B162FF53A95CFF4DA156FF4799
|
||||
4FFF419149FF3B8842FF35803BFF2F7835FF2A702FFFFFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0068C774DB65C371F7FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0068C7740668C774BBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
|
||||
}
|
||||
NumGlyphs = 0
|
||||
OnClick = StatusOutBtnClick
|
||||
TabOrder = 6
|
||||
end
|
||||
object BlockList: TListBox
|
||||
Left = 231
|
||||
Height = 129
|
||||
Top = 21
|
||||
Width = 168
|
||||
TabOrder = 7
|
||||
end
|
||||
object DepVar: TEdit
|
||||
Left = 232
|
||||
Height = 23
|
||||
Top = 183
|
||||
Width = 167
|
||||
TabOrder = 8
|
||||
Text = 'DepVar'
|
||||
end
|
||||
object StatusEdit: TEdit
|
||||
Left = 230
|
||||
Height = 22
|
||||
Top = 287
|
||||
Width = 168
|
||||
TabOrder = 9
|
||||
Text = 'StatusEdit'
|
||||
end
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 410
|
||||
Height = 95
|
||||
Top = 6
|
||||
Width = 186
|
||||
Caption = 'Options'
|
||||
ClientHeight = 77
|
||||
ClientWidth = 182
|
||||
TabOrder = 10
|
||||
object DescChk: TCheckBox
|
||||
Left = 7
|
||||
Height = 17
|
||||
Top = 1
|
||||
Width = 118
|
||||
Caption = 'Descriptive Statistics'
|
||||
TabOrder = 0
|
||||
end
|
||||
object ProbsChk: TCheckBox
|
||||
Left = 7
|
||||
Height = 17
|
||||
Top = 24
|
||||
Width = 134
|
||||
Caption = 'Base Survival Functions'
|
||||
TabOrder = 1
|
||||
end
|
||||
object ItersChk: TCheckBox
|
||||
Left = 7
|
||||
Height = 17
|
||||
Top = 47
|
||||
Width = 93
|
||||
Caption = 'Show Iterations'
|
||||
TabOrder = 2
|
||||
end
|
||||
end
|
||||
object MaxItsEdit: TEdit
|
||||
Left = 552
|
||||
Height = 19
|
||||
Top = 105
|
||||
Width = 42
|
||||
TabOrder = 11
|
||||
Text = 'MaxItsEdit'
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 464
|
||||
Height = 29
|
||||
Top = 143
|
||||
Width = 76
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 12
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 464
|
||||
Height = 29
|
||||
Top = 192
|
||||
Width = 76
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 13
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 464
|
||||
Height = 29
|
||||
Top = 256
|
||||
Width = 76
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 14
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 464
|
||||
Height = 29
|
||||
Top = 304
|
||||
Width = 76
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 15
|
||||
end
|
||||
end
|
350
applications/lazstats/source_orig/COXREGUNIT.lrs
Normal file
350
applications/lazstats/source_orig/COXREGUNIT.lrs
Normal file
@ -0,0 +1,350 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TCoxRegFrm','FORMDATA',[
|
||||
'TPF0'#10'TCoxRegFrm'#9'CoxRegFrm'#4'Left'#3#134#0#6'Height'#3']'#1#3'Top'#2
|
||||
+'b'#5'Width'#3'_'#2#7'Caption'#6',Cox Proportional Hazards Survival Regressi'
|
||||
+'on'#12'ClientHeight'#3']'#1#11'ClientWidth'#3'_'#2#6'OnShow'#7#8'FormShow'
|
||||
+#10'LCLVersion'#6#8'0.9.26.2'#0#6'TLabel'#6'Label1'#4'Left'#2#7#6'Height'#2
|
||||
+#14#3'Top'#2#2#5'Width'#2'S'#7'Caption'#6#17'Avaialbe Variable'#11'ParentCol'
|
||||
+'or'#8#0#0#6'TLabel'#6'Label2'#4'Left'#3#233#0#6'Height'#2#14#3'Top'#2#5#5'W'
|
||||
+'idth'#2'm'#7'Caption'#6#21'Independent Variables'#11'ParentColor'#8#0#0#6'T'
|
||||
+'Label'#6'Label3'#4'Left'#3#232#0#6'Height'#2#14#3'Top'#3#168#0#5'Width'#2'i'
|
||||
+#7'Caption'#6#22'Survival Time Variable'#11'ParentColor'#8#0#0#6'TLabel'#6'L'
|
||||
+'abel4'#4'Left'#3#230#0#6'Height'#2#14#3'Top'#3#14#1#5'Width'#2'r'#7'Caption'
|
||||
+#6#24'Survival Status Variable'#11'ParentColor'#8#0#0#6'TLabel'#6'Label5'#4
|
||||
+'Left'#3#152#1#6'Height'#2#14#3'Top'#2'q'#5'Width'#2'i'#7'Caption'#6#20'Maxi'
|
||||
+'mum Interations:'#11'ParentColor'#8#0#0#8'TListBox'#7'VarList'#4'Left'#2#5#6
|
||||
+'Height'#3'?'#1#3'Top'#2#17#5'Width'#3#180#0#11'MultiSelect'#9#8'TabOrder'#2
|
||||
+#0#0#0#7'TBitBtn'#5'InBtn'#4'Left'#3#193#0#6'Height'#2#29#3'Top'#2#16#5'Widt'
|
||||
+'h'#2#31#10'Glyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0
|
||||
+#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0'!c$'#184#29'^ '#6#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'*p/8%i)'#247
|
||||
+'!c$'#217#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'a'#190'm'
|
||||
+#255']'#184'h'#255'X'#177'b'#255'S'#169'\'#255'M'#161'V'#255'G'#153'O'#255'A'
|
||||
+#145'I'#255';'#136'B'#255'5'#128';'#255'?'#136'E'#255'Y'#161'^'#255'D'#139'I'
|
||||
+#255'!c$'#207#255#255#255#0#255#255#255#0#255#255#255#0'e'#195'q'#255#160#215
|
||||
+#169#255#156#213#165#255#152#211#161#255#148#208#157#255#144#206#152#255#139
|
||||
+#203#147#255#135#201#142#255#130#198#137#255'~'#195#132#255'z'#193#128#255'v'
|
||||
+#190'|'#255'E'#140'J'#255'!c$'#196#255#255#255#0#255#255#255#0'h'#199't'#255
|
||||
+#165#218#174#255#162#216#171#255#158#214#167#255#154#212#163#255#150#210#159
|
||||
+#255#147#207#154#255#142#204#149#255#137#202#144#255#133#199#139#255#129#197
|
||||
+#135#255'}'#194#130#255'J'#145'P'#255'%i)'#201#255#255#255#0#255#255#255#0'h'
|
||||
+#199't'#255'h'#199't'#255'e'#195'q'#255'a'#190'm'#255']'#184'h'#255'X'#177'b'
|
||||
+#255'S'#169'\'#255'M'#161'V'#255'G'#153'O'#255'A'#145'I'#255'Z'#163'b'#255'U'
|
||||
+#157'\'#255'/x5'#209#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'A'#145'I'#247';'#136'B'
|
||||
+#219#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'G'#153'O'#187'A'#145'I'
|
||||
+#6#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
,#255#255#255#0#255#255#255#0#255#255#255#0#9'NumGlyphs'#2#0#7'OnClick'#7#10
|
||||
+'InBtnClick'#8'TabOrder'#2#1#0#0#7'TBitBtn'#6'OutBtn'#4'Left'#3#193#0#6'Heig'
|
||||
+'ht'#2#29#3'Top'#2'0'#5'Width'#2#31#10'Glyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'
|
||||
+#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0
|
||||
+'d'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+'M'#161'V'#6'G'#153'O'#184#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'S'#169
|
||||
+'\'#217'M'#161'V'#247'G'#153'O8'#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0']'#184'h'#207'q'#190'{'
|
||||
+#255'z'#193#131#255'['#170'd'#255'G'#153'O'#255'A'#145'I'#255';'#136'B'#255
|
||||
+'5'#128';'#255'/x5'#255'*p/'#255'%i)'#255'!c$'#255#29'^ '#255#255#255#255#0
|
||||
+#255#255#255#0'e'#195'q'#196'{'#200#134#255#156#213#165#255#152#211#161#255
|
||||
+#148#208#157#255#144#206#152#255#139#203#147#255#135#201#142#255#130#198#137
|
||||
+#255'~'#195#132#255'z'#193#128#255'v'#190'|'#255'r'#189'x'#255'!c$'#255#255
|
||||
+#255#255#0#255#255#255#0'h'#199't'#201''#204#138#255#162#216#171#255#158#214
|
||||
+#167#255#154#212#163#255#150#210#159#255#147#207#154#255#142#204#149#255#137
|
||||
+#202#144#255#133#199#139#255#129#197#135#255'}'#194#130#255'x'#192'~'#255'%i'
|
||||
+')'#255#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'#209#128#205#139
|
||||
+#255'|'#201#135#255']'#184'h'#255'X'#177'b'#255'S'#169'\'#255'M'#161'V'#255
|
||||
+'G'#153'O'#255'A'#145'I'#255';'#136'B'#255'5'#128';'#255'/x5'#255'*p/'#255
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'#219'e'#195
|
||||
+'q'#247#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'#6'h'#199't'
|
||||
+#187#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#9'NumGlyphs'#2#0#7'OnClick'#7#11'OutBtnClick'#8'TabOrder'#2#2#0#0
|
||||
+#7'TBitBtn'#8'DepInBtn'#4'Left'#3#193#0#6'Height'#2#29#3'Top'#3#168#0#5'Widt'
|
||||
+'h'#2#31#10'Glyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0
|
||||
+#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0'!c$'#184#29'^ '#6#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'*p/8%i)'#247
|
||||
+'!c$'#217#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'a'#190'm'
|
||||
+#255']'#184'h'#255'X'#177'b'#255'S'#169'\'#255'M'#161'V'#255'G'#153'O'#255'A'
|
||||
+#145'I'#255';'#136'B'#255'5'#128';'#255'?'#136'E'#255'Y'#161'^'#255'D'#139'I'
|
||||
+#255'!c$'#207#255#255#255#0#255#255#255#0#255#255#255#0'e'#195'q'#255#160#215
|
||||
+#169#255#156#213#165#255#152#211#161#255#148#208#157#255#144#206#152#255#139
|
||||
+#203#147#255#135#201#142#255#130#198#137#255'~'#195#132#255'z'#193#128#255'v'
|
||||
+#190'|'#255'E'#140'J'#255'!c$'#196#255#255#255#0#255#255#255#0'h'#199't'#255
|
||||
+#165#218#174#255#162#216#171#255#158#214#167#255#154#212#163#255#150#210#159
|
||||
+#255#147#207#154#255#142#204#149#255#137#202#144#255#133#199#139#255#129#197
|
||||
+#135#255'}'#194#130#255'J'#145'P'#255'%i)'#201#255#255#255#0#255#255#255#0'h'
|
||||
+#199't'#255'h'#199't'#255'e'#195'q'#255'a'#190'm'#255']'#184'h'#255'X'#177'b'
|
||||
+#255'S'#169'\'#255'M'#161'V'#255'G'#153'O'#255'A'#145'I'#255'Z'#163'b'#255'U'
|
||||
+#157'\'#255'/x5'#209#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'A'#145'I'#247';'#136'B'
|
||||
+#219#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'G'#153'O'#187'A'#145'I'
|
||||
+#6#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#9'NumGlyphs'#2#0#7'OnClick'#7#13
|
||||
+'DepInBtnClick'#8'TabOrder'#2#3#0#0#7'TBitBtn'#9'DepOutBtn'#4'Left'#3#193#0#6
|
||||
+'Height'#2#29#3'Top'#3#200#0#5'Width'#2#31#10'Glyph.Data'#10':'#4#0#0'6'#4#0
|
||||
+#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0
|
||||
+#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0'M'#161'V'#6'G'#153'O'#184#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0'S'#169'\'#217'M'#161'V'#247'G'#153'O8'#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0']'#184'h'#207
|
||||
+'q'#190'{'#255'z'#193#131#255'['#170'd'#255'G'#153'O'#255'A'#145'I'#255';'
|
||||
+#136'B'#255'5'#128';'#255'/x5'#255'*p/'#255'%i)'#255'!c$'#255#29'^ '#255#255
|
||||
,#255#255#0#255#255#255#0'e'#195'q'#196'{'#200#134#255#156#213#165#255#152#211
|
||||
+#161#255#148#208#157#255#144#206#152#255#139#203#147#255#135#201#142#255#130
|
||||
+#198#137#255'~'#195#132#255'z'#193#128#255'v'#190'|'#255'r'#189'x'#255'!c$'
|
||||
+#255#255#255#255#0#255#255#255#0'h'#199't'#201''#204#138#255#162#216#171#255
|
||||
+#158#214#167#255#154#212#163#255#150#210#159#255#147#207#154#255#142#204#149
|
||||
+#255#137#202#144#255#133#199#139#255#129#197#135#255'}'#194#130#255'x'#192'~'
|
||||
+#255'%i)'#255#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'#209#128#205
|
||||
+#139#255'|'#201#135#255']'#184'h'#255'X'#177'b'#255'S'#169'\'#255'M'#161'V'
|
||||
+#255'G'#153'O'#255'A'#145'I'#255';'#136'B'#255'5'#128';'#255'/x5'#255'*p/'
|
||||
+#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'#219'e'
|
||||
+#195'q'#247#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'#6'h'#199
|
||||
+'t'#187#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#9'NumGlyphs'#2#0#7'OnClick'#7#14'DepOutBtnClick'#8'TabOrder'#2#4#0
|
||||
+#0#7'TBitBtn'#11'StatusInBtn'#4'Left'#3#193#0#6'Height'#2#29#3'Top'#3#16#1#5
|
||||
+'Width'#2#31#10'Glyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0
|
||||
+'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0'!c$'#184#29'^ '#6#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'*p/8%i)'
|
||||
+#247'!c$'#217#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'a'#190
|
||||
+'m'#255']'#184'h'#255'X'#177'b'#255'S'#169'\'#255'M'#161'V'#255'G'#153'O'#255
|
||||
+'A'#145'I'#255';'#136'B'#255'5'#128';'#255'?'#136'E'#255'Y'#161'^'#255'D'#139
|
||||
+'I'#255'!c$'#207#255#255#255#0#255#255#255#0#255#255#255#0'e'#195'q'#255#160
|
||||
+#215#169#255#156#213#165#255#152#211#161#255#148#208#157#255#144#206#152#255
|
||||
+#139#203#147#255#135#201#142#255#130#198#137#255'~'#195#132#255'z'#193#128
|
||||
+#255'v'#190'|'#255'E'#140'J'#255'!c$'#196#255#255#255#0#255#255#255#0'h'#199
|
||||
+'t'#255#165#218#174#255#162#216#171#255#158#214#167#255#154#212#163#255#150
|
||||
+#210#159#255#147#207#154#255#142#204#149#255#137#202#144#255#133#199#139#255
|
||||
+#129#197#135#255'}'#194#130#255'J'#145'P'#255'%i)'#201#255#255#255#0#255#255
|
||||
+#255#0'h'#199't'#255'h'#199't'#255'e'#195'q'#255'a'#190'm'#255']'#184'h'#255
|
||||
+'X'#177'b'#255'S'#169'\'#255'M'#161'V'#255'G'#153'O'#255'A'#145'I'#255'Z'#163
|
||||
+'b'#255'U'#157'\'#255'/x5'#209#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'A'#145'I'#247
|
||||
+';'#136'B'#219#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'G'#153'O'#187
|
||||
+'A'#145'I'#6#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#9'NumGlyphs'#2#0#7'OnCl'
|
||||
+'ick'#7#16'StatusInBtnClick'#8'TabOrder'#2#5#0#0#7'TBitBtn'#12'StatusOutBtn'
|
||||
+#4'Left'#3#193#0#6'Height'#2#29#3'Top'#3'0'#1#5'Width'#2#31#10'Glyph.Data'#10
|
||||
+':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0
|
||||
+' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0'M'#161'V'#6'G'#153'O'#184#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0'S'#169'\'#217'M'#161'V'#247'G'#153'O8'#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+']'#184'h'#207'q'#190'{'#255'z'#193#131#255'['#170'd'#255'G'#153'O'#255'A'
|
||||
+#145'I'#255';'#136'B'#255'5'#128';'#255'/x5'#255'*p/'#255'%i)'#255'!c$'#255
|
||||
+#29'^ '#255#255#255#255#0#255#255#255#0'e'#195'q'#196'{'#200#134#255#156#213
|
||||
+#165#255#152#211#161#255#148#208#157#255#144#206#152#255#139#203#147#255#135
|
||||
+#201#142#255#130#198#137#255'~'#195#132#255'z'#193#128#255'v'#190'|'#255'r'
|
||||
+#189'x'#255'!c$'#255#255#255#255#0#255#255#255#0'h'#199't'#201''#204#138#255
|
||||
+#162#216#171#255#158#214#167#255#154#212#163#255#150#210#159#255#147#207#154
|
||||
+#255#142#204#149#255#137#202#144#255#133#199#139#255#129#197#135#255'}'#194
|
||||
+#130#255'x'#192'~'#255'%i)'#255#255#255#255#0#255#255#255#0#255#255#255#0'h'
|
||||
+#199't'#209#128#205#139#255'|'#201#135#255']'#184'h'#255'X'#177'b'#255'S'#169
|
||||
+'\'#255'M'#161'V'#255'G'#153'O'#255'A'#145'I'#255';'#136'B'#255'5'#128';'#255
|
||||
+'/x5'#255'*p/'#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'h'
|
||||
+#199't'#219'e'#195'q'#247#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'h'#199
|
||||
+'t'#6'h'#199't'#187#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
,#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#9'NumGlyphs'#2#0#7'OnClick'#7#17'StatusOutBtnClick'
|
||||
+#8'TabOrder'#2#6#0#0#8'TListBox'#9'BlockList'#4'Left'#3#231#0#6'Height'#3#129
|
||||
+#0#3'Top'#2#21#5'Width'#3#168#0#8'TabOrder'#2#7#0#0#5'TEdit'#6'DepVar'#4'Lef'
|
||||
+'t'#3#232#0#6'Height'#2#23#3'Top'#3#183#0#5'Width'#3#167#0#8'TabOrder'#2#8#4
|
||||
+'Text'#6#6'DepVar'#0#0#5'TEdit'#10'StatusEdit'#4'Left'#3#230#0#6'Height'#2#22
|
||||
+#3'Top'#3#31#1#5'Width'#3#168#0#8'TabOrder'#2#9#4'Text'#6#10'StatusEdit'#0#0
|
||||
+#9'TGroupBox'#9'GroupBox1'#4'Left'#3#154#1#6'Height'#2'_'#3'Top'#2#6#5'Width'
|
||||
+#3#186#0#7'Caption'#6#7'Options'#12'ClientHeight'#2'M'#11'ClientWidth'#3#182
|
||||
+#0#8'TabOrder'#2#10#0#9'TCheckBox'#7'DescChk'#4'Left'#2#7#6'Height'#2#17#3'T'
|
||||
+'op'#2#1#5'Width'#2'v'#7'Caption'#6#22'Descriptive Statistics'#8'TabOrder'#2
|
||||
+#0#0#0#9'TCheckBox'#8'ProbsChk'#4'Left'#2#7#6'Height'#2#17#3'Top'#2#24#5'Wid'
|
||||
+'th'#3#134#0#7'Caption'#6#23'Base Survival Functions'#8'TabOrder'#2#1#0#0#9
|
||||
+'TCheckBox'#8'ItersChk'#4'Left'#2#7#6'Height'#2#17#3'Top'#2'/'#5'Width'#2']'
|
||||
+#7'Caption'#6#15'Show Iterations'#8'TabOrder'#2#2#0#0#0#5'TEdit'#10'MaxItsEd'
|
||||
+'it'#4'Left'#3'('#2#6'Height'#2#19#3'Top'#2'i'#5'Width'#2'*'#8'TabOrder'#2#11
|
||||
+#4'Text'#6#10'MaxItsEdit'#0#0#7'TButton'#8'ResetBtn'#4'Left'#3#208#1#6'Heigh'
|
||||
+'t'#2#29#3'Top'#3#143#0#5'Width'#2'L'#7'Caption'#6#5'Reset'#7'OnClick'#7#13
|
||||
+'ResetBtnClick'#8'TabOrder'#2#12#0#0#7'TButton'#9'CancelBtn'#4'Left'#3#208#1
|
||||
+#6'Height'#2#29#3'Top'#3#192#0#5'Width'#2'L'#7'Caption'#6#6'Cancel'#11'Modal'
|
||||
+'Result'#2#2#8'TabOrder'#2#13#0#0#7'TButton'#10'ComputeBtn'#4'Left'#3#208#1#6
|
||||
+'Height'#2#29#3'Top'#3#0#1#5'Width'#2'L'#7'Caption'#6#7'Compute'#7'OnClick'#7
|
||||
+#15'ComputeBtnClick'#8'TabOrder'#2#14#0#0#7'TButton'#9'ReturnBtn'#4'Left'#3
|
||||
+#208#1#6'Height'#2#29#3'Top'#3'0'#1#5'Width'#2'L'#7'Caption'#6#6'Return'#11
|
||||
+'ModalResult'#2#1#8'TabOrder'#2#15#0#0#0
|
||||
]);
|
378
applications/lazstats/source_orig/CROSSTAB.PAS
Normal file
378
applications/lazstats/source_orig/CROSSTAB.PAS
Normal file
@ -0,0 +1,378 @@
|
||||
unit CrossTab;
|
||||
|
||||
{$MODE Delphi}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
LCLIntf, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
||||
StdCtrls, Buttons, GLOBALS, OUTPUTUNIT, OS3MainUnit, DATAPROCS, FUNCTIONSLIB,
|
||||
MATRIXLIB, LResources;
|
||||
|
||||
type
|
||||
TCrossTabFrm = class(TForm)
|
||||
Label1: TLabel;
|
||||
VarList: TListBox;
|
||||
InBtn: TBitBtn;
|
||||
OutBtn: TBitBtn;
|
||||
Label2: TLabel;
|
||||
ListBox1: TListBox;
|
||||
ResetBtn: TButton;
|
||||
CancelBtn: TButton;
|
||||
OKBtn: TButton;
|
||||
Memo1: TMemo;
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure CancelBtnClick(Sender: TObject);
|
||||
procedure OKBtnClick(Sender: TObject);
|
||||
procedure InBtnClick(Sender: TObject);
|
||||
procedure OutBtnClick(Sender: TObject);
|
||||
private
|
||||
{ Private declarations }
|
||||
grandsum, sum, index : integer;
|
||||
no_in_list, length_array, ptr1, ptr2 : integer ;
|
||||
var_list, min_value, max_value, levels, displace, subscript : IntDyneVec;
|
||||
freq : IntDyneVec;
|
||||
outgrid : DblDyneMat;
|
||||
rowlabels : StrDyneVec;
|
||||
colLabels : StrDyneVec;
|
||||
ColNoSelected : IntDyneVec;
|
||||
NoSelected : integer;
|
||||
NV, NC : integer;
|
||||
|
||||
procedure INITIALIZE(Sender: TObject);
|
||||
procedure GET_Levels(Sender: TObject);
|
||||
function INDEX_POSITION( x : IntDyneVec; Sender: TObject ) : integer;
|
||||
Procedure TABULATE(Sender : TObject);
|
||||
procedure BREAKDOWN(Sender : TObject);
|
||||
|
||||
public
|
||||
{ Public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
CrossTabFrm: TCrossTabFrm;
|
||||
|
||||
implementation
|
||||
|
||||
|
||||
procedure TCrossTabFrm.ResetBtnClick(Sender: TObject);
|
||||
var
|
||||
i : integer;
|
||||
|
||||
begin
|
||||
VarList.Clear;
|
||||
ListBox1.Clear;
|
||||
OutBtn.Enabled := false;
|
||||
InBtn.Enabled := true;
|
||||
NV := NoVariables;
|
||||
NC := NoCases;
|
||||
for i := 1 to NV do
|
||||
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
|
||||
end;
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
procedure TCrossTabFrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
ResetBtnClick(self);
|
||||
end;
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
procedure TCrossTabFrm.CancelBtnClick(Sender: TObject);
|
||||
begin
|
||||
CrossTabFrm.Hide;
|
||||
end;
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
procedure TCrossTabFrm.OKBtnClick(Sender: TObject);
|
||||
label CleanUp;
|
||||
var
|
||||
cellvalue : string;
|
||||
i, j : integer;
|
||||
outline : string;
|
||||
begin
|
||||
SetLength(var_list,NV);
|
||||
SetLength(min_value,NV);
|
||||
SetLength(max_value,NV);
|
||||
SetLength(levels,NC);
|
||||
SetLength(displace,NC);
|
||||
SetLength(subscript,NC);
|
||||
SetLength(ColNoSelected,NV);
|
||||
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
// OutPutFrm.RichEdit.ParaGraph.Alignment := taLeftJustify;
|
||||
OutPutFrm.RichEdit.Lines.Add('CROSSTAB RESULTS');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
outline := ' Analyzed data is from file : ';
|
||||
outline := outline + OS3MainFrm.FileNameEdit.Text;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
INITIALIZE(self);
|
||||
if ListBox1.Items.Count = 0 then
|
||||
begin
|
||||
ShowMessage('ERROR! No variables selected for analysis.');
|
||||
goto CleanUp;
|
||||
end;
|
||||
|
||||
NoSelected := 0;
|
||||
for i := 0 to ListBox1.Items.Count-1 do
|
||||
begin
|
||||
for j := 1 to NV do
|
||||
begin
|
||||
cellvalue := OS3MainFrm.DataGrid.Cells[j,0];
|
||||
if cellvalue = ListBox1.Items.Strings[i] then
|
||||
begin
|
||||
var_list[i] := j;
|
||||
ColNoSelected[i] := j;
|
||||
NoSelected := NoSelected + 1;
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
no_in_list := ListBox1.Items.Count;
|
||||
GET_LEVELS(self);
|
||||
TABULATE(self);
|
||||
BREAKDOWN(self);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
cellvalue := format('Grand sum accross all categories = %3d',[grandsum]);
|
||||
OutPutFrm.RichEdit.Lines.Add(cellvalue);
|
||||
OutPutFrm.ShowModal;
|
||||
|
||||
CleanUp:
|
||||
ColNoSelected := nil;
|
||||
freq := nil;
|
||||
collabels := nil;
|
||||
rowlabels := nil;
|
||||
outgrid := nil;
|
||||
subscript := nil;
|
||||
displace := nil;
|
||||
levels := nil;
|
||||
max_value := nil;
|
||||
min_value := nil;
|
||||
var_list := nil;
|
||||
CrossTabFrm.Hide;
|
||||
end;
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
procedure TCrossTabFrm.InBtnClick(Sender: TObject);
|
||||
var
|
||||
index, i : integer;
|
||||
begin
|
||||
index := VarList.Items.Count;
|
||||
i := 0;
|
||||
while i < index do
|
||||
begin
|
||||
if (VarList.Selected[i]) then
|
||||
begin
|
||||
ListBox1.Items.Add(VarList.Items.Strings[i]);
|
||||
VarList.Items.Delete(i);
|
||||
index := index - 1;
|
||||
i := 0;
|
||||
end
|
||||
else i := i + 1;
|
||||
end;
|
||||
OutBtn.Enabled := true;
|
||||
end;
|
||||
//-----------------------------------------------------------------------
|
||||
|
||||
procedure TCrossTabFrm.OutBtnClick(Sender: TObject);
|
||||
var
|
||||
index: integer;
|
||||
begin
|
||||
index := ListBox1.ItemIndex;
|
||||
VarList.Items.Add(ListBox1.Items.Strings[index]);
|
||||
ListBox1.Items.Delete(index);
|
||||
InBtn.Enabled := true;
|
||||
if ListBox1.Items.Count = 0 then OutBtn.Enabled := false;
|
||||
end;
|
||||
//-----------------------------------------------------------------------
|
||||
|
||||
procedure TCrossTabFrm.INITIALIZE(Sender: TObject);
|
||||
var
|
||||
i : integer;
|
||||
|
||||
begin
|
||||
no_in_list := 0;
|
||||
for i := 1 to NV do
|
||||
begin
|
||||
var_list[i-1] := 0;
|
||||
min_value[i-1] := 0;
|
||||
max_value[i-1] := 0;
|
||||
levels[i-1] := 0;
|
||||
displace[i-1] := 0;
|
||||
subscript[i-1] := 0;
|
||||
end;
|
||||
index := 0;
|
||||
length_array := 0;
|
||||
grandsum := 0;
|
||||
end; { initialize procedure }
|
||||
//-----------------------------------------------------------------------
|
||||
|
||||
procedure TCrossTabFrm.GET_Levels(Sender: TObject);
|
||||
var
|
||||
i, j, k : integer;
|
||||
value : double;
|
||||
outline : string;
|
||||
|
||||
begin
|
||||
for i := 1 to no_in_list do
|
||||
begin
|
||||
j := var_list[i-1];
|
||||
if Not GoodRecord(1,NoSelected,ColNoSelected) then continue;
|
||||
value := StrToFloat(OS3MainFrm.DataGrid.Cells[j,1]);
|
||||
min_value[i-1] := round(value);
|
||||
max_value[i-1] := round(value);
|
||||
for k := 2 to NC do
|
||||
begin
|
||||
if Not GoodRecord(k,NoSelected,ColNoSelected) then continue;
|
||||
value := StrToFloat(OS3MainFrm.DataGrid.Cells[j,k]);
|
||||
if value < min_value[i-1] then min_value[i-1] :=
|
||||
round(value);
|
||||
if value > max_value[i-1] then max_value[i-1] :=
|
||||
round(value);
|
||||
end;
|
||||
end;
|
||||
for i := 1 to no_in_list do
|
||||
begin
|
||||
j := var_list[i-1];
|
||||
levels[i-1] := max_value[i-1] - min_value[i-1] + 1;
|
||||
outline := format('%s min.=%3d, max.=%3d, no. levels = %3d',
|
||||
[OS3MainFrm.DataGrid.Cells[j,0],min_value[i-1],max_value[i-1],levels[i-1]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
displace[no_in_list-1] := 1;
|
||||
if no_in_list > 1 then
|
||||
begin
|
||||
for i := (no_in_list - 1) downto 1 do
|
||||
displace[i-1] := levels[i] * displace[i];
|
||||
end;
|
||||
end;
|
||||
//-----------------------------------------------------------------------
|
||||
function TCrossTabFrm.INDEX_POSITION( x : IntDyneVec; Sender: TObject ) : integer;
|
||||
|
||||
var index : integer;
|
||||
i : integer;
|
||||
|
||||
begin
|
||||
index := x[no_in_list-1];
|
||||
if no_in_list > 1 then
|
||||
begin
|
||||
for i := 1 to no_in_list - 1 do
|
||||
index := index + (x[i-1] -1) * displace[i-1];
|
||||
end;
|
||||
index_position := index;
|
||||
end; { function INDEX_POSITION }
|
||||
//------------------------------------------------------------------------
|
||||
Procedure TCrossTabFrm.TABULATE(Sender : TObject);
|
||||
var
|
||||
i, j, k : integer;
|
||||
value : double;
|
||||
x : integer;
|
||||
begin
|
||||
length_array := 1;
|
||||
for i := 1 to no_in_list do length_array := length_array * levels[i-1];
|
||||
SetLength(freq,length_array+1);
|
||||
for i := 0 to length_array do freq[i] := 0;
|
||||
for i := 1 to NC do
|
||||
begin
|
||||
if IsFiltered(i) then continue;
|
||||
for j := 1 to no_in_list do
|
||||
begin
|
||||
if Not GoodRecord(i,NoSelected,ColNoSelected) then continue;
|
||||
k := var_list[j-1];
|
||||
value := StrToFloat(OS3MainFrm.DataGrid.Cells[k,i]);
|
||||
x := round(value);
|
||||
x := x - min_value[j-1] + 1;
|
||||
subscript[j-1] := x;
|
||||
end;
|
||||
j := index_position(subscript,self);
|
||||
|
||||
if (j < 1) or (j > length_array) then
|
||||
begin
|
||||
ShowMessage('ERROR! subscript out of range.');
|
||||
continue;
|
||||
end
|
||||
else freq[j] := freq[j] + 1;
|
||||
end;
|
||||
end; { procedure TABULATE }
|
||||
//---------------------------------------------------------------------
|
||||
procedure TCrossTabFrm.BREAKDOWN(Sender : TObject);
|
||||
|
||||
label 1,2,3,4, printgrid;
|
||||
var
|
||||
i, j, row, col, bigmax : integer;
|
||||
outline : string;
|
||||
value : string;
|
||||
title : String;
|
||||
begin
|
||||
bigmax := -1;
|
||||
for i := 0 to no_in_list-1 do
|
||||
if Levels[i] > bigmax then bigmax := Levels[i];
|
||||
SetLength(colLabels,bigmax);
|
||||
SetLength(outgrid,length_array,bigmax);
|
||||
SetLength(rowlabels,length_array);
|
||||
outline := OS3MainFrm.DataGrid.Cells[var_list[no_in_list-1],0];
|
||||
for col := 1 to Levels[no_in_list-1] do
|
||||
collabels[col-1] := outline + format(':%3d',[min_value[no_in_list-1] + col - 1]);
|
||||
for row := 1 to length_array do rowlabels[row-1] := '';
|
||||
ptr1 := no_in_list - 1;
|
||||
ptr2 := no_in_list;
|
||||
for i := 1 to no_in_list do subscript[i-1] := 1;
|
||||
OutPutFrm.RichEdit.Lines.Add('FREQUENCIES BY LEVEL:');
|
||||
sum := 0;
|
||||
col := 1;
|
||||
row := 1;
|
||||
1: index := index_position(subscript,self);
|
||||
outline := 'For cell levels: ';
|
||||
for i := 1 to no_in_list do
|
||||
begin
|
||||
j := var_list[i-1];
|
||||
value := format('%s:%3d ',[OS3MainFrm.DataGrid.Cells[j,0],
|
||||
min_value[i-1] + subscript[i-1] - 1]);
|
||||
outline := outline + value;
|
||||
end;
|
||||
sum := sum + freq[index];
|
||||
outgrid[row-1,col-1] := freq[index];
|
||||
outline := outline + format(' Frequency = %3d',[freq[index]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
subscript[ptr2-1] := subscript[ptr2-1] + 1;
|
||||
col := col + 1;
|
||||
IF subscript[ptr2-1] <= levels[ptr2-1] then goto 1;
|
||||
outline := format('Sum accross levels = %3d',[sum]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
grandsum := grandsum + sum;
|
||||
sum := 0;
|
||||
row := row + 1;
|
||||
2: if ptr1 < 1 then goto printgrid;
|
||||
subscript[ptr1-1] := subscript[ptr1-1] + 1;
|
||||
if subscript[ptr1-1] <= levels[ptr1-1] then goto 4;
|
||||
3: ptr1 := ptr1 - 1;
|
||||
if ptr1 < 1 then goto printgrid;
|
||||
if subscript[ptr1-1] >= levels[ptr1-1] then goto 3;
|
||||
subscript[ptr1-1] := subscript[ptr1-1] + 1;
|
||||
4: for i := ptr1 + 1 to no_in_list do subscript[i-1] := 1;
|
||||
ptr1 := no_in_list - 1;
|
||||
col := 1;
|
||||
goto 1;
|
||||
|
||||
printgrid:
|
||||
title := 'Cell Frequencies by Levels';
|
||||
for i := 1 to row - 1 do
|
||||
begin
|
||||
value := format('Block %d',[i]);
|
||||
rowlabels[i-1] := value;
|
||||
end;
|
||||
MAT_PRINT(outgrid,row-1,Levels[no_in_list-1],title,rowlabels,collabels,NC);
|
||||
|
||||
end; { Procedure BREAKDOWN }
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
|
||||
initialization
|
||||
{$i CROSSTAB.lrs}
|
||||
{$i CROSSTAB.lrs}
|
||||
|
||||
end.
|
145
applications/lazstats/source_orig/CROSSTAB.lfm
Normal file
145
applications/lazstats/source_orig/CROSSTAB.lfm
Normal file
@ -0,0 +1,145 @@
|
||||
object CrossTabFrm: TCrossTabFrm
|
||||
Left = 320
|
||||
Height = 214
|
||||
Top = 689
|
||||
Width = 521
|
||||
HelpContext = 603
|
||||
HorzScrollBar.Page = 520
|
||||
VertScrollBar.Page = 213
|
||||
ActiveControl = VarList
|
||||
BorderStyle = bsDialog
|
||||
Caption = 'Cross Tabulation Procedure'
|
||||
Font.Height = -11
|
||||
Font.Name = 'MS Sans Serif'
|
||||
HelpFile = 'OS2Help.hlp'
|
||||
OnShow = FormShow
|
||||
object Label1: TLabel
|
||||
Left = 16
|
||||
Height = 14
|
||||
Top = 8
|
||||
Width = 94
|
||||
Caption = 'Available Variables:'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 184
|
||||
Height = 14
|
||||
Top = 8
|
||||
Width = 102
|
||||
Caption = 'Variables to Analyze:'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object VarList: TListBox
|
||||
Left = 8
|
||||
Height = 177
|
||||
Top = 24
|
||||
Width = 129
|
||||
ItemHeight = 13
|
||||
MultiSelect = True
|
||||
TabOrder = 0
|
||||
end
|
||||
object InBtn: TBitBtn
|
||||
Left = 144
|
||||
Height = 33
|
||||
Top = 32
|
||||
Width = 33
|
||||
Glyph.Data = {
|
||||
76010000424D7601000000000000760000002800000020000000100000000100
|
||||
04000000000000010000120B0000120B00001000000000000000000000000000
|
||||
800000800000008080008000000080008000808000007F7F7F00BFBFBF000000
|
||||
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
|
||||
3333333333333333333333333333333333333333333333333333333333333333
|
||||
3333333333333333333333333333333333333333333FF3333333333333003333
|
||||
3333333333773FF3333333333309003333333333337F773FF333333333099900
|
||||
33333FFFFF7F33773FF30000000999990033777777733333773F099999999999
|
||||
99007FFFFFFF33333F7700000009999900337777777F333F7733333333099900
|
||||
33333333337F3F77333333333309003333333333337F77333333333333003333
|
||||
3333333333773333333333333333333333333333333333333333333333333333
|
||||
3333333333333333333333333333333333333333333333333333
|
||||
}
|
||||
NumGlyphs = 2
|
||||
OnClick = InBtnClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object OutBtn: TBitBtn
|
||||
Left = 144
|
||||
Height = 33
|
||||
Top = 72
|
||||
Width = 33
|
||||
Enabled = False
|
||||
Glyph.Data = {
|
||||
76010000424D7601000000000000760000002800000020000000100000000100
|
||||
04000000000000010000120B0000120B00001000000000000000000000000000
|
||||
800000800000008080008000000080008000808000007F7F7F00BFBFBF000000
|
||||
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
|
||||
3333333333333333333333333333333333333333333333333333333333333333
|
||||
3333333333333FF3333333333333003333333333333F77F33333333333009033
|
||||
333333333F7737F333333333009990333333333F773337FFFFFF330099999000
|
||||
00003F773333377777770099999999999990773FF33333FFFFF7330099999000
|
||||
000033773FF33777777733330099903333333333773FF7F33333333333009033
|
||||
33333333337737F3333333333333003333333333333377333333333333333333
|
||||
3333333333333333333333333333333333333333333333333333333333333333
|
||||
3333333333333333333333333333333333333333333333333333
|
||||
}
|
||||
NumGlyphs = 2
|
||||
OnClick = OutBtnClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object ListBox1: TListBox
|
||||
Left = 184
|
||||
Height = 177
|
||||
Top = 24
|
||||
Width = 137
|
||||
ItemHeight = 13
|
||||
TabOrder = 3
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 448
|
||||
Height = 25
|
||||
Top = 104
|
||||
Width = 65
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 448
|
||||
Height = 25
|
||||
Top = 144
|
||||
Width = 65
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
OnClick = CancelBtnClick
|
||||
TabOrder = 5
|
||||
end
|
||||
object OKBtn: TButton
|
||||
Left = 447
|
||||
Height = 25
|
||||
Top = 184
|
||||
Width = 65
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = 'OK'
|
||||
ModalResult = 1
|
||||
OnClick = OKBtnClick
|
||||
TabOrder = 6
|
||||
end
|
||||
object Memo1: TMemo
|
||||
Left = 336
|
||||
Height = 89
|
||||
Top = 8
|
||||
Width = 177
|
||||
Lines.Strings = (
|
||||
'Directions: Select each categorical'
|
||||
'variable from the variables available '
|
||||
'in the leftmost box in the order that '
|
||||
'you wish to have the breakdown'
|
||||
'proceed. Click the OK button to '
|
||||
'start the analysis.'
|
||||
)
|
||||
TabOrder = 7
|
||||
end
|
||||
end
|
53
applications/lazstats/source_orig/CROSSTAB.lrs
Normal file
53
applications/lazstats/source_orig/CROSSTAB.lrs
Normal file
@ -0,0 +1,53 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TCrossTabFrm','FORMDATA',[
|
||||
'TPF0'#12'TCrossTabFrm'#11'CrossTabFrm'#4'Left'#3'@'#1#6'Height'#3#214#0#3'To'
|
||||
+'p'#3#177#2#5'Width'#3#9#2#11'HelpContext'#3'['#2#18'HorzScrollBar.Page'#3#8
|
||||
+#2#18'VertScrollBar.Page'#3#213#0#13'ActiveControl'#7#7'VarList'#11'BorderSt'
|
||||
+'yle'#7#8'bsDialog'#7'Caption'#6#26'Cross Tabulation Procedure'#11'Font.Heig'
|
||||
+'ht'#2#245#9'Font.Name'#6#13'MS Sans Serif'#8'HelpFile'#6#11'OS2Help.hlp'#6
|
||||
+'OnShow'#7#8'FormShow'#0#6'TLabel'#6'Label1'#4'Left'#2#16#6'Height'#2#14#3'T'
|
||||
+'op'#2#8#5'Width'#2'^'#7'Caption'#6#20'Available Variables:'#5'Color'#7#6'cl'
|
||||
+'None'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#3#184#0#6'Height'#2
|
||||
+#14#3'Top'#2#8#5'Width'#2'f'#7'Caption'#6#21'Variables to Analyze:'#5'Color'
|
||||
+#7#6'clNone'#11'ParentColor'#8#0#0#8'TListBox'#7'VarList'#4'Left'#2#8#6'Heig'
|
||||
+'ht'#3#177#0#3'Top'#2#24#5'Width'#3#129#0#10'ItemHeight'#2#13#11'MultiSelect'
|
||||
+#9#8'TabOrder'#2#0#0#0#7'TBitBtn'#5'InBtn'#4'Left'#3#144#0#6'Height'#2'!'#3
|
||||
+'Top'#2' '#5'Width'#2'!'#10'Glyph.Data'#10'z'#1#0#0'v'#1#0#0'BMv'#1#0#0#0#0#0
|
||||
+#0'v'#0#0#0'('#0#0#0' '#0#0#0#16#0#0#0#1#0#4#0#0#0#0#0#0#1#0#0#18#11#0#0#18
|
||||
+#11#0#0#16#0#0#0#0#0#0#0#0#0#0#0#0#0#128#0#0#128#0#0#0#128#128#0#128#0#0#0
|
||||
+#128#0#128#0#128#128#0#0''#0#191#191#191#0#0#0#255#0#0#255#0#0#0#255#255#0
|
||||
+#255#0#0#0#255#0#255#0#255#255#0#0#255#255#255#0'333333333333333333333333333'
|
||||
+'33333333333333333333333333333333?'#243'333333'#0'3333333w?'#243'33333'#9#0
|
||||
+'333333w?'#243'3333'#9#153#0'33?'#255#255'3w?'#243#0#0#0#9#153#153#0'3wwws'
|
||||
+'33w?'#9#153#153#153#153#153#153#0''#255#255#255'33?w'#0#0#0#9#153#153#0'3w'
|
||||
+'ww3?w3333'#9#153#0'33333?w33333'#9#0'333333w333333'#0'3333333w3333333333'
|
||||
+'333333333333333333333333333333333333333333'#9'NumGlyphs'#2#2#7'OnClick'#7#10
|
||||
+'InBtnClick'#8'TabOrder'#2#1#0#0#7'TBitBtn'#6'OutBtn'#4'Left'#3#144#0#6'Heig'
|
||||
+'ht'#2'!'#3'Top'#2'H'#5'Width'#2'!'#7'Enabled'#8#10'Glyph.Data'#10'z'#1#0#0
|
||||
+'v'#1#0#0'BMv'#1#0#0#0#0#0#0'v'#0#0#0'('#0#0#0' '#0#0#0#16#0#0#0#1#0#4#0#0#0
|
||||
+#0#0#0#1#0#0#18#11#0#0#18#11#0#0#16#0#0#0#0#0#0#0#0#0#0#0#0#0#128#0#0#128#0#0
|
||||
+#0#128#128#0#128#0#0#0#128#0#128#0#128#128#0#0''#0#191#191#191#0#0#0#255#0
|
||||
+#0#255#0#0#0#255#255#0#255#0#0#0#255#0#255#0#255#255#0#0#255#255#255#0'33333'
|
||||
+'333333333333333333333333333333333333333?'#243'333333'#0'333333?w'#243'33333'
|
||||
+#0#144'33333?w7'#243'3333'#0#153#144'3333?w37'#255#255#255'3'#0#153#153#144#0
|
||||
+#0#0'?w337www'#0#153#153#153#153#153#153#144'w?'#243'33'#255#255#247'3'#0#153
|
||||
+#153#144#0#0#0'3w?'#243'7www33'#0#153#144'33333w?'#247#243'33333'#0#144'3333'
|
||||
+'33w7'#243'333333'#0'3333333w33333333333333333333333333333333333333333333333'
|
||||
+'33333333333333333333'#9'NumGlyphs'#2#2#7'OnClick'#7#11'OutBtnClick'#8'TabOr'
|
||||
+'der'#2#2#0#0#8'TListBox'#8'ListBox1'#4'Left'#3#184#0#6'Height'#3#177#0#3'To'
|
||||
+'p'#2#24#5'Width'#3#137#0#10'ItemHeight'#2#13#8'TabOrder'#2#3#0#0#7'TButton'
|
||||
+#8'ResetBtn'#4'Left'#3#192#1#6'Height'#2#25#3'Top'#2'h'#5'Width'#2'A'#25'Bor'
|
||||
+'derSpacing.InnerBorder'#2#4#7'Caption'#6#5'Reset'#7'OnClick'#7#13'ResetBtnC'
|
||||
+'lick'#8'TabOrder'#2#4#0#0#7'TButton'#9'CancelBtn'#4'Left'#3#192#1#6'Height'
|
||||
+#2#25#3'Top'#3#144#0#5'Width'#2'A'#25'BorderSpacing.InnerBorder'#2#4#7'Capti'
|
||||
+'on'#6#6'Cancel'#11'ModalResult'#2#2#7'OnClick'#7#14'CancelBtnClick'#8'TabOr'
|
||||
+'der'#2#5#0#0#7'TButton'#5'OKBtn'#4'Left'#3#191#1#6'Height'#2#25#3'Top'#3#184
|
||||
+#0#5'Width'#2'A'#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#2'OK'#11'Mod'
|
||||
+'alResult'#2#1#7'OnClick'#7#10'OKBtnClick'#8'TabOrder'#2#6#0#0#5'TMemo'#5'Me'
|
||||
+'mo1'#4'Left'#3'P'#1#6'Height'#2'Y'#3'Top'#2#8#5'Width'#3#177#0#13'Lines.Str'
|
||||
+'ings'#1#6'$Directions: Select each categorical'#6'&variable from the varia'
|
||||
+'bles available '#6'&in the leftmost box in the order that '#6#30'you wish t'
|
||||
+'o have the breakdown'#6'!proceed. Click the OK button to '#6#19'start the '
|
||||
+'analysis.'#0#8'TabOrder'#2#7#0#0#0
|
||||
]);
|
191
applications/lazstats/source_orig/CUMSUMUNIT.lfm
Normal file
191
applications/lazstats/source_orig/CUMSUMUNIT.lfm
Normal file
@ -0,0 +1,191 @@
|
||||
object CUMSUMFrm: TCUMSUMFrm
|
||||
Left = 160
|
||||
Height = 336
|
||||
Top = 121
|
||||
Width = 440
|
||||
ActiveControl = HelpBtn
|
||||
Caption = 'CUMSUM Chart'
|
||||
ClientHeight = 336
|
||||
ClientWidth = 440
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.28.2'
|
||||
object Label1: TLabel
|
||||
Left = 8
|
||||
Height = 14
|
||||
Top = 8
|
||||
Width = 90
|
||||
Caption = 'Selection Variables'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 168
|
||||
Height = 14
|
||||
Top = 32
|
||||
Width = 71
|
||||
Caption = 'Group Variable'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label3: TLabel
|
||||
Left = 173
|
||||
Height = 14
|
||||
Top = 88
|
||||
Width = 107
|
||||
Caption = 'Measurement Variable'
|
||||
ParentColor = False
|
||||
end
|
||||
object VarList: TListBox
|
||||
Left = 8
|
||||
Height = 179
|
||||
Top = 24
|
||||
Width = 152
|
||||
ItemHeight = 0
|
||||
OnClick = VarListClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object GroupEdit: TEdit
|
||||
Left = 168
|
||||
Height = 21
|
||||
Top = 48
|
||||
Width = 129
|
||||
TabOrder = 1
|
||||
Text = 'GroupEdit'
|
||||
end
|
||||
object MeasEdit: TEdit
|
||||
Left = 168
|
||||
Height = 21
|
||||
Top = 104
|
||||
Width = 127
|
||||
TabOrder = 2
|
||||
Text = 'MeasEdit'
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 320
|
||||
Height = 30
|
||||
Top = 48
|
||||
Width = 80
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 321
|
||||
Height = 30
|
||||
Top = 88
|
||||
Width = 79
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 4
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 321
|
||||
Height = 30
|
||||
Top = 128
|
||||
Width = 79
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 5
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 321
|
||||
Height = 30
|
||||
Top = 168
|
||||
Width = 79
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 6
|
||||
end
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 8
|
||||
Height = 104
|
||||
Top = 216
|
||||
Width = 200
|
||||
Caption = 'CUMSUM V-Mask Specifications'
|
||||
ClientHeight = 86
|
||||
ClientWidth = 196
|
||||
TabOrder = 7
|
||||
object Label4: TLabel
|
||||
Left = 8
|
||||
Height = 14
|
||||
Top = 10
|
||||
Width = 92
|
||||
Caption = 'Delta (Effect Size):'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label5: TLabel
|
||||
Left = 7
|
||||
Height = 14
|
||||
Top = 33
|
||||
Width = 85
|
||||
Caption = 'Alpha Probability:'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label6: TLabel
|
||||
Left = 8
|
||||
Height = 14
|
||||
Top = 57
|
||||
Width = 80
|
||||
Caption = 'Beta Probability:'
|
||||
ParentColor = False
|
||||
end
|
||||
object DeltaEdit: TEdit
|
||||
Left = 110
|
||||
Height = 21
|
||||
Top = 3
|
||||
Width = 56
|
||||
TabOrder = 0
|
||||
Text = 'DeltaEdit'
|
||||
end
|
||||
object AlphaEdit: TEdit
|
||||
Left = 112
|
||||
Height = 21
|
||||
Top = 29
|
||||
Width = 56
|
||||
TabOrder = 1
|
||||
Text = 'AlphaEdit'
|
||||
end
|
||||
object BetaEdit: TEdit
|
||||
Left = 110
|
||||
Height = 21
|
||||
Top = 55
|
||||
Width = 56
|
||||
TabOrder = 2
|
||||
Text = 'BetaEdit'
|
||||
end
|
||||
end
|
||||
object GroupBox2: TGroupBox
|
||||
Left = 216
|
||||
Height = 104
|
||||
Top = 216
|
||||
Width = 212
|
||||
Caption = 'Option:'
|
||||
ClientHeight = 86
|
||||
ClientWidth = 208
|
||||
TabOrder = 8
|
||||
object TargetChk: TCheckBox
|
||||
Left = 8
|
||||
Height = 17
|
||||
Top = 15
|
||||
Width = 140
|
||||
Caption = 'Use Target Specification:'
|
||||
TabOrder = 0
|
||||
end
|
||||
object TargetEdit: TEdit
|
||||
Left = 154
|
||||
Height = 21
|
||||
Top = 6
|
||||
Width = 43
|
||||
TabOrder = 1
|
||||
Text = 'TargetEdit'
|
||||
end
|
||||
end
|
||||
object HelpBtn: TButton
|
||||
Tag = 117
|
||||
Left = 321
|
||||
Height = 32
|
||||
Top = 8
|
||||
Width = 82
|
||||
Caption = 'Help'
|
||||
OnClick = HelpBtnClick
|
||||
TabOrder = 9
|
||||
end
|
||||
end
|
47
applications/lazstats/source_orig/CUMSUMUNIT.lrs
Normal file
47
applications/lazstats/source_orig/CUMSUMUNIT.lrs
Normal file
@ -0,0 +1,47 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TCUMSUMFrm','FORMDATA',[
|
||||
'TPF0'#10'TCUMSUMFrm'#9'CUMSUMFrm'#4'Left'#3#160#0#6'Height'#3'P'#1#3'Top'#2
|
||||
+'y'#5'Width'#3#184#1#13'ActiveControl'#7#7'HelpBtn'#7'Caption'#6#12'CUMSUM C'
|
||||
+'hart'#12'ClientHeight'#3'P'#1#11'ClientWidth'#3#184#1#6'OnShow'#7#8'FormSho'
|
||||
+'w'#10'LCLVersion'#6#8'0.9.28.2'#0#6'TLabel'#6'Label1'#4'Left'#2#8#6'Height'
|
||||
+#2#14#3'Top'#2#8#5'Width'#2'Z'#7'Caption'#6#19'Selection Variables'#11'Paren'
|
||||
+'tColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#3#168#0#6'Height'#2#14#3'Top'#2' '
|
||||
+#5'Width'#2'G'#7'Caption'#6#14'Group Variable'#11'ParentColor'#8#0#0#6'TLabe'
|
||||
+'l'#6'Label3'#4'Left'#3#173#0#6'Height'#2#14#3'Top'#2'X'#5'Width'#2'k'#7'Cap'
|
||||
+'tion'#6#20'Measurement Variable'#11'ParentColor'#8#0#0#8'TListBox'#7'VarLis'
|
||||
+'t'#4'Left'#2#8#6'Height'#3#179#0#3'Top'#2#24#5'Width'#3#152#0#10'ItemHeight'
|
||||
+#2#0#7'OnClick'#7#12'VarListClick'#8'TabOrder'#2#0#0#0#5'TEdit'#9'GroupEdit'
|
||||
+#4'Left'#3#168#0#6'Height'#2#21#3'Top'#2'0'#5'Width'#3#129#0#8'TabOrder'#2#1
|
||||
+#4'Text'#6#9'GroupEdit'#0#0#5'TEdit'#8'MeasEdit'#4'Left'#3#168#0#6'Height'#2
|
||||
+#21#3'Top'#2'h'#5'Width'#2#127#8'TabOrder'#2#2#4'Text'#6#8'MeasEdit'#0#0#7'T'
|
||||
+'Button'#8'ResetBtn'#4'Left'#3'@'#1#6'Height'#2#30#3'Top'#2'0'#5'Width'#2'P'
|
||||
+#7'Caption'#6#5'Reset'#7'OnClick'#7#13'ResetBtnClick'#8'TabOrder'#2#3#0#0#7
|
||||
+'TButton'#9'CancelBtn'#4'Left'#3'A'#1#6'Height'#2#30#3'Top'#2'X'#5'Width'#2
|
||||
+'O'#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#4#0#0#7'TButton'
|
||||
+#10'ComputeBtn'#4'Left'#3'A'#1#6'Height'#2#30#3'Top'#3#128#0#5'Width'#2'O'#7
|
||||
+'Caption'#6#7'Compute'#7'OnClick'#7#15'ComputeBtnClick'#8'TabOrder'#2#5#0#0#7
|
||||
+'TButton'#9'ReturnBtn'#4'Left'#3'A'#1#6'Height'#2#30#3'Top'#3#168#0#5'Width'
|
||||
+#2'O'#7'Caption'#6#6'Return'#11'ModalResult'#2#1#8'TabOrder'#2#6#0#0#9'TGrou'
|
||||
+'pBox'#9'GroupBox1'#4'Left'#2#8#6'Height'#2'h'#3'Top'#3#216#0#5'Width'#3#200
|
||||
+#0#7'Caption'#6#28'CUMSUM V-Mask Specifications'#12'ClientHeight'#2'V'#11'Cl'
|
||||
+'ientWidth'#3#196#0#8'TabOrder'#2#7#0#6'TLabel'#6'Label4'#4'Left'#2#8#6'Heig'
|
||||
+'ht'#2#14#3'Top'#2#10#5'Width'#2'\'#7'Caption'#6#20'Delta (Effect Size):'#11
|
||||
+'ParentColor'#8#0#0#6'TLabel'#6'Label5'#4'Left'#2#7#6'Height'#2#14#3'Top'#2
|
||||
+'!'#5'Width'#2'U'#7'Caption'#6#18'Alpha Probability:'#11'ParentColor'#8#0#0#6
|
||||
+'TLabel'#6'Label6'#4'Left'#2#8#6'Height'#2#14#3'Top'#2'9'#5'Width'#2'P'#7'Ca'
|
||||
+'ption'#6#17'Beta Probability:'#11'ParentColor'#8#0#0#5'TEdit'#9'DeltaEdit'#4
|
||||
+'Left'#2'n'#6'Height'#2#21#3'Top'#2#3#5'Width'#2'8'#8'TabOrder'#2#0#4'Text'#6
|
||||
+#9'DeltaEdit'#0#0#5'TEdit'#9'AlphaEdit'#4'Left'#2'p'#6'Height'#2#21#3'Top'#2
|
||||
+#29#5'Width'#2'8'#8'TabOrder'#2#1#4'Text'#6#9'AlphaEdit'#0#0#5'TEdit'#8'Beta'
|
||||
+'Edit'#4'Left'#2'n'#6'Height'#2#21#3'Top'#2'7'#5'Width'#2'8'#8'TabOrder'#2#2
|
||||
+#4'Text'#6#8'BetaEdit'#0#0#0#9'TGroupBox'#9'GroupBox2'#4'Left'#3#216#0#6'Hei'
|
||||
+'ght'#2'h'#3'Top'#3#216#0#5'Width'#3#212#0#7'Caption'#6#7'Option:'#12'Client'
|
||||
+'Height'#2'V'#11'ClientWidth'#3#208#0#8'TabOrder'#2#8#0#9'TCheckBox'#9'Targe'
|
||||
+'tChk'#4'Left'#2#8#6'Height'#2#17#3'Top'#2#15#5'Width'#3#140#0#7'Caption'#6
|
||||
+#25'Use Target Specification:'#8'TabOrder'#2#0#0#0#5'TEdit'#10'TargetEdit'#4
|
||||
+'Left'#3#154#0#6'Height'#2#21#3'Top'#2#6#5'Width'#2'+'#8'TabOrder'#2#1#4'Tex'
|
||||
+'t'#6#10'TargetEdit'#0#0#0#7'TButton'#7'HelpBtn'#3'Tag'#2'u'#4'Left'#3'A'#1#6
|
||||
+'Height'#2' '#3'Top'#2#8#5'Width'#2'R'#7'Caption'#6#4'Help'#7'OnClick'#7#12
|
||||
+'HelpBtnClick'#8'TabOrder'#2#9#0#0#0
|
||||
]);
|
65
applications/lazstats/source_orig/contexthelpunit.pas
Normal file
65
applications/lazstats/source_orig/contexthelpunit.pas
Normal file
@ -0,0 +1,65 @@
|
||||
unit contexthelpunit;
|
||||
{$mode objfpc}
|
||||
{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
IniFiles, Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics,
|
||||
Dialogs, ExtCtrls, StdCtrls;
|
||||
|
||||
type
|
||||
|
||||
{ TContextHelpForm }
|
||||
|
||||
TContextHelpForm = class(TForm)
|
||||
Button1: TButton;
|
||||
Memo1: TMemo;
|
||||
Panel1: TPanel;
|
||||
procedure Button1Click(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
procedure HelpMessage(lTag: integer);
|
||||
end;
|
||||
|
||||
var
|
||||
ContextHelpForm: TContextHelpForm;
|
||||
|
||||
implementation
|
||||
|
||||
function ReadIniFileTag(var lTag: Integer): string;
|
||||
//Read string with index lTag
|
||||
var
|
||||
lIniFile: TIniFile;
|
||||
lFilename,lLang: string;
|
||||
begin
|
||||
lFilename := changefileext(paramstr(0),'.ini');
|
||||
if (not Fileexists(lFilename)) then begin
|
||||
result := 'No contextual help: unable to find '+lFilename;
|
||||
exit;
|
||||
end;
|
||||
result := 'No contextual help found for '+inttostr(lTag);
|
||||
lIniFile := TIniFile.Create(lFilename);
|
||||
lLang := lIniFile.ReadString('LANGUAGE', 'DEFAULT', '');
|
||||
result := lIniFile.ReadString(lLang, inttostr(lTag), result);
|
||||
end;
|
||||
|
||||
procedure TContextHelpForm.Button1Click(Sender: TObject);
|
||||
begin
|
||||
Close;
|
||||
end;
|
||||
|
||||
procedure TContextHelpForm.HelpMessage(lTag: integer);
|
||||
begin
|
||||
Memo1.Lines.Clear;
|
||||
Memo1.lines.add(ReadIniFileTag(lTag));
|
||||
ContextHelpForm.show;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I contexthelpunit.lrs}
|
||||
|
||||
end.
|
||||
|
429
applications/lazstats/source_orig/correspondenceunit.lfm
Normal file
429
applications/lazstats/source_orig/correspondenceunit.lfm
Normal file
@ -0,0 +1,429 @@
|
||||
object CorrespondenceForm: TCorrespondenceForm
|
||||
Left = 234
|
||||
Height = 519
|
||||
Top = 133
|
||||
Width = 629
|
||||
Caption = 'Correspondence Analysis'
|
||||
ClientHeight = 519
|
||||
ClientWidth = 629
|
||||
OnShow = ResetBtnClick
|
||||
LCLVersion = '0.9.30'
|
||||
object Memo1: TMemo
|
||||
Left = 7
|
||||
Height = 114
|
||||
Top = 6
|
||||
Width = 609
|
||||
Lines.Strings = (
|
||||
'Directions: Your data grid should consist of a table of N rows and M+1 variables with N >= to M. Each row '
|
||||
'should have a label variable and M columns of data (integer frequencies. An example is in a file labeled '
|
||||
'"Smokers.LAZ".'
|
||||
'1. Enter the variable for the row labels defined as a string-type of variable.'
|
||||
'2. Enter the variables representing the M columns of data as integer-type of variables.'
|
||||
'3. Click on the options desired.'
|
||||
'4. Click the Compute button.'
|
||||
)
|
||||
TabOrder = 0
|
||||
end
|
||||
object Label1: TLabel
|
||||
Left = 8
|
||||
Height = 16
|
||||
Top = 129
|
||||
Width = 51
|
||||
Caption = 'Variables:'
|
||||
ParentColor = False
|
||||
end
|
||||
object VarList: TListBox
|
||||
Left = 9
|
||||
Height = 294
|
||||
Top = 152
|
||||
Width = 168
|
||||
ItemHeight = 0
|
||||
MultiSelect = True
|
||||
TabOrder = 1
|
||||
end
|
||||
object RowIn: TBitBtn
|
||||
Left = 192
|
||||
Height = 39
|
||||
Top = 152
|
||||
Width = 38
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00216324B81D5E2006FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF002A702F38256929F7216324D9FFFFFF00FFFFFF00FFFFFF00FFFFFF0061BE
|
||||
6DFF5DB868FF58B162FF53A95CFF4DA156FF47994FFF419149FF3B8842FF3580
|
||||
3BFF3F8845FF59A15EFF448B49FF216324CFFFFFFF00FFFFFF00FFFFFF0065C3
|
||||
71FFA0D7A9FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF82C6
|
||||
89FF7EC384FF7AC180FF76BE7CFF458C4AFF216324C4FFFFFF00FFFFFF0068C7
|
||||
74FFA5DAAEFFA2D8ABFF9ED6A7FF9AD4A3FF96D29FFF93CF9AFF8ECC95FF89CA
|
||||
90FF85C78BFF81C587FF7DC282FF4A9150FF256929C9FFFFFF00FFFFFF0068C7
|
||||
74FF68C774FF65C371FF61BE6DFF5DB868FF58B162FF53A95CFF4DA156FF4799
|
||||
4FFF419149FF5AA362FF559D5CFF2F7835D1FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00419149F73B8842DBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0047994FBB41914906FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
|
||||
}
|
||||
NumGlyphs = 0
|
||||
OnClick = RowInClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object RowOut: TBitBtn
|
||||
Left = 192
|
||||
Height = 39
|
||||
Top = 200
|
||||
Width = 38
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF004DA1560647994FB8FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0053A95CD94DA156F747994F38FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF005DB868CF71BE7BFF7AC183FF5BAA64FF47994FFF419149FF3B8842FF3580
|
||||
3BFF2F7835FF2A702FFF256929FF216324FF1D5E20FFFFFFFF00FFFFFF0065C3
|
||||
71C47BC886FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF82C6
|
||||
89FF7EC384FF7AC180FF76BE7CFF72BD78FF216324FFFFFFFF00FFFFFF0068C7
|
||||
74C97FCC8AFFA2D8ABFF9ED6A7FF9AD4A3FF96D29FFF93CF9AFF8ECC95FF89CA
|
||||
90FF85C78BFF81C587FF7DC282FF78C07EFF256929FFFFFFFF00FFFFFF00FFFF
|
||||
FF0068C774D180CD8BFF7CC987FF5DB868FF58B162FF53A95CFF4DA156FF4799
|
||||
4FFF419149FF3B8842FF35803BFF2F7835FF2A702FFFFFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0068C774DB65C371F7FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0068C7740668C774BBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
|
||||
}
|
||||
NumGlyphs = 0
|
||||
OnClick = RowOutClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object ColIn: TBitBtn
|
||||
Left = 192
|
||||
Height = 39
|
||||
Top = 256
|
||||
Width = 38
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00216324B81D5E2006FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF002A702F38256929F7216324D9FFFFFF00FFFFFF00FFFFFF00FFFFFF0061BE
|
||||
6DFF5DB868FF58B162FF53A95CFF4DA156FF47994FFF419149FF3B8842FF3580
|
||||
3BFF3F8845FF59A15EFF448B49FF216324CFFFFFFF00FFFFFF00FFFFFF0065C3
|
||||
71FFA0D7A9FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF82C6
|
||||
89FF7EC384FF7AC180FF76BE7CFF458C4AFF216324C4FFFFFF00FFFFFF0068C7
|
||||
74FFA5DAAEFFA2D8ABFF9ED6A7FF9AD4A3FF96D29FFF93CF9AFF8ECC95FF89CA
|
||||
90FF85C78BFF81C587FF7DC282FF4A9150FF256929C9FFFFFF00FFFFFF0068C7
|
||||
74FF68C774FF65C371FF61BE6DFF5DB868FF58B162FF53A95CFF4DA156FF4799
|
||||
4FFF419149FF5AA362FF559D5CFF2F7835D1FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00419149F73B8842DBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0047994FBB41914906FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
|
||||
}
|
||||
NumGlyphs = 0
|
||||
OnClick = ColInClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object ColOut: TBitBtn
|
||||
Left = 192
|
||||
Height = 39
|
||||
Top = 304
|
||||
Width = 38
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF004DA1560647994FB8FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0053A95CD94DA156F747994F38FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF005DB868CF71BE7BFF7AC183FF5BAA64FF47994FFF419149FF3B8842FF3580
|
||||
3BFF2F7835FF2A702FFF256929FF216324FF1D5E20FFFFFFFF00FFFFFF0065C3
|
||||
71C47BC886FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF82C6
|
||||
89FF7EC384FF7AC180FF76BE7CFF72BD78FF216324FFFFFFFF00FFFFFF0068C7
|
||||
74C97FCC8AFFA2D8ABFF9ED6A7FF9AD4A3FF96D29FFF93CF9AFF8ECC95FF89CA
|
||||
90FF85C78BFF81C587FF7DC282FF78C07EFF256929FFFFFFFF00FFFFFF00FFFF
|
||||
FF0068C774D180CD8BFF7CC987FF5DB868FF58B162FF53A95CFF4DA156FF4799
|
||||
4FFF419149FF3B8842FF35803BFF2F7835FF2A702FFFFFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0068C774DB65C371F7FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0068C7740668C774BBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
|
||||
}
|
||||
NumGlyphs = 0
|
||||
OnClick = ColOutClick
|
||||
TabOrder = 5
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 241
|
||||
Height = 16
|
||||
Top = 152
|
||||
Width = 100
|
||||
Caption = 'Row Label Variable'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label3: TLabel
|
||||
Left = 244
|
||||
Height = 16
|
||||
Top = 256
|
||||
Width = 97
|
||||
Caption = 'Column Variables:'
|
||||
ParentColor = False
|
||||
end
|
||||
object RowEdit: TEdit
|
||||
Left = 241
|
||||
Height = 23
|
||||
Top = 173
|
||||
Width = 138
|
||||
TabOrder = 6
|
||||
Text = 'RowEdit'
|
||||
end
|
||||
object ColList: TListBox
|
||||
Left = 241
|
||||
Height = 173
|
||||
Top = 272
|
||||
Width = 145
|
||||
ItemHeight = 0
|
||||
TabOrder = 7
|
||||
end
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 401
|
||||
Height = 364
|
||||
Top = 140
|
||||
Width = 215
|
||||
Caption = 'Options'
|
||||
ClientHeight = 346
|
||||
ClientWidth = 211
|
||||
TabOrder = 8
|
||||
object ObsChk: TCheckBox
|
||||
Left = 5
|
||||
Height = 19
|
||||
Top = 4
|
||||
Width = 168
|
||||
Caption = 'Show Observed Frequencies'
|
||||
TabOrder = 0
|
||||
end
|
||||
end
|
||||
object PropsChk: TCheckBox
|
||||
Left = 408
|
||||
Height = 19
|
||||
Top = 184
|
||||
Width = 187
|
||||
Caption = 'Show Row and Col. Proportions'
|
||||
TabOrder = 9
|
||||
end
|
||||
object ExpChk: TCheckBox
|
||||
Left = 408
|
||||
Height = 19
|
||||
Top = 208
|
||||
Width = 165
|
||||
Caption = 'Show Expected Frequencies'
|
||||
TabOrder = 10
|
||||
end
|
||||
object ChiChk: TCheckBox
|
||||
Left = 408
|
||||
Height = 19
|
||||
Top = 232
|
||||
Width = 169
|
||||
Caption = 'Show Cell Chi-square values'
|
||||
TabOrder = 11
|
||||
end
|
||||
object YatesChk: TCheckBox
|
||||
Left = 408
|
||||
Height = 19
|
||||
Top = 256
|
||||
Width = 199
|
||||
Caption = 'Use Yate''s Correction for 2x2 table'
|
||||
TabOrder = 12
|
||||
end
|
||||
object ShowQChk: TCheckBox
|
||||
Left = 408
|
||||
Height = 19
|
||||
Top = 280
|
||||
Width = 97
|
||||
Caption = 'Show Q Matrix'
|
||||
TabOrder = 13
|
||||
end
|
||||
object QCheckChk: TCheckBox
|
||||
Left = 408
|
||||
Height = 19
|
||||
Top = 304
|
||||
Width = 126
|
||||
Caption = 'Check that Q = UDV'
|
||||
TabOrder = 14
|
||||
end
|
||||
object EigenChk: TCheckBox
|
||||
Left = 408
|
||||
Height = 19
|
||||
Top = 328
|
||||
Width = 162
|
||||
Caption = 'Values and Vectors of UDV'''
|
||||
TabOrder = 15
|
||||
end
|
||||
object ShowABChk: TCheckBox
|
||||
Left = 408
|
||||
Height = 19
|
||||
Top = 352
|
||||
Width = 143
|
||||
Caption = 'A, B of Generalized SVD'
|
||||
TabOrder = 16
|
||||
end
|
||||
object CheckPChk: TCheckBox
|
||||
Left = 408
|
||||
Height = 19
|
||||
Top = 376
|
||||
Width = 183
|
||||
Caption = 'Check P is reproduced by ADB'''
|
||||
TabOrder = 17
|
||||
end
|
||||
object RowCorres: TCheckBox
|
||||
Left = 408
|
||||
Height = 19
|
||||
Top = 400
|
||||
Width = 133
|
||||
Caption = 'Row Correspondence'
|
||||
TabOrder = 18
|
||||
end
|
||||
object ColCorrChk: TCheckBox
|
||||
Left = 408
|
||||
Height = 19
|
||||
Top = 424
|
||||
Width = 153
|
||||
Caption = 'Column Correspondence'
|
||||
TabOrder = 19
|
||||
end
|
||||
object BothCorrChk: TCheckBox
|
||||
Left = 408
|
||||
Height = 19
|
||||
Top = 448
|
||||
Width = 202
|
||||
Caption = 'Row and Column Correspondence'
|
||||
Checked = True
|
||||
State = cbChecked
|
||||
TabOrder = 20
|
||||
end
|
||||
object PlotChk: TCheckBox
|
||||
Left = 408
|
||||
Height = 19
|
||||
Top = 472
|
||||
Width = 87
|
||||
Caption = 'Plot Weights'
|
||||
Checked = True
|
||||
State = cbChecked
|
||||
TabOrder = 21
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 80
|
||||
Height = 27
|
||||
Top = 459
|
||||
Width = 69
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 22
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 160
|
||||
Height = 27
|
||||
Top = 459
|
||||
Width = 69
|
||||
Cancel = True
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 23
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 240
|
||||
Height = 27
|
||||
Top = 459
|
||||
Width = 69
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 24
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 317
|
||||
Height = 27
|
||||
Top = 459
|
||||
Width = 69
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 25
|
||||
end
|
||||
object HelpBtn: TButton
|
||||
Tag = 160
|
||||
Left = 9
|
||||
Height = 28
|
||||
Top = 459
|
||||
Width = 64
|
||||
Caption = 'Help'
|
||||
OnClick = HelpBtnClick
|
||||
TabOrder = 26
|
||||
end
|
||||
end
|
274
applications/lazstats/source_orig/correspondenceunit.lrs
Normal file
274
applications/lazstats/source_orig/correspondenceunit.lrs
Normal file
@ -0,0 +1,274 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TCorrespondenceForm','FORMDATA',[
|
||||
'TPF0'#19'TCorrespondenceForm'#18'CorrespondenceForm'#4'Left'#3#234#0#6'Heigh'
|
||||
+'t'#3#7#2#3'Top'#3#133#0#5'Width'#3'u'#2#7'Caption'#6#23'Correspondence Anal'
|
||||
+'ysis'#12'ClientHeight'#3#7#2#11'ClientWidth'#3'u'#2#6'OnShow'#7#13'ResetBtn'
|
||||
+'Click'#10'LCLVersion'#6#6'0.9.30'#0#5'TMemo'#5'Memo1'#4'Left'#2#7#6'Height'
|
||||
+#2'r'#3'Top'#2#6#5'Width'#3'a'#2#13'Lines.Strings'#1#6'lDirections: Your da'
|
||||
+'ta grid should consist of a table of N rows and M+1 variables with N >= to '
|
||||
+'M. Each row '#6'jshould have a label variable and M columns of data (integ'
|
||||
+'er frequencies. An example is in a file labeled '#6#14'"Smokers.LAZ".'#6'P'
|
||||
+'1. Enter the variable for the row labels defined as a string-type of vari'
|
||||
+'able.'#6'Y2. Enter the variables representing the M columns of data as in'
|
||||
+'teger-type of variables.'#6'"3. Click on the options desired.'#6#30'4. '
|
||||
+'Click the Compute button.'#0#8'TabOrder'#2#0#0#0#6'TLabel'#6'Label1'#4'Left'
|
||||
+#2#8#6'Height'#2#16#3'Top'#3#129#0#5'Width'#2'3'#7'Caption'#6#10'Variables:'
|
||||
+#11'ParentColor'#8#0#0#8'TListBox'#7'VarList'#4'Left'#2#9#6'Height'#3'&'#1#3
|
||||
+'Top'#3#152#0#5'Width'#3#168#0#10'ItemHeight'#2#0#11'MultiSelect'#9#8'TabOrd'
|
||||
+'er'#2#1#0#0#7'TBitBtn'#5'RowIn'#4'Left'#3#192#0#6'Height'#2''''#3'Top'#3#152
|
||||
+#0#5'Width'#2'&'#10'Glyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0
|
||||
+#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0'!c$'#184#29'^ '#6#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'*p/8%'
|
||||
+'i)'#247'!c$'#217#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'a'
|
||||
+#190'm'#255']'#184'h'#255'X'#177'b'#255'S'#169'\'#255'M'#161'V'#255'G'#153'O'
|
||||
+#255'A'#145'I'#255';'#136'B'#255'5'#128';'#255'?'#136'E'#255'Y'#161'^'#255'D'
|
||||
+#139'I'#255'!c$'#207#255#255#255#0#255#255#255#0#255#255#255#0'e'#195'q'#255
|
||||
+#160#215#169#255#156#213#165#255#152#211#161#255#148#208#157#255#144#206#152
|
||||
+#255#139#203#147#255#135#201#142#255#130#198#137#255'~'#195#132#255'z'#193
|
||||
+#128#255'v'#190'|'#255'E'#140'J'#255'!c$'#196#255#255#255#0#255#255#255#0'h'
|
||||
+#199't'#255#165#218#174#255#162#216#171#255#158#214#167#255#154#212#163#255
|
||||
+#150#210#159#255#147#207#154#255#142#204#149#255#137#202#144#255#133#199#139
|
||||
+#255#129#197#135#255'}'#194#130#255'J'#145'P'#255'%i)'#201#255#255#255#0#255
|
||||
+#255#255#0'h'#199't'#255'h'#199't'#255'e'#195'q'#255'a'#190'm'#255']'#184'h'
|
||||
+#255'X'#177'b'#255'S'#169'\'#255'M'#161'V'#255'G'#153'O'#255'A'#145'I'#255'Z'
|
||||
+#163'b'#255'U'#157'\'#255'/x5'#209#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'A'#145'I'
|
||||
+#247';'#136'B'#219#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'G'#153'O'
|
||||
+#187'A'#145'I'#6#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
,#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#9'NumGlyphs'#2#0#7
|
||||
+'OnClick'#7#10'RowInClick'#8'TabOrder'#2#2#0#0#7'TBitBtn'#6'RowOut'#4'Left'#3
|
||||
+#192#0#6'Height'#2''''#3'Top'#3#200#0#5'Width'#2'&'#10'Glyph.Data'#10':'#4#0
|
||||
+#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0
|
||||
+#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0'M'#161'V'#6'G'#153'O'#184#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0'S'#169'\'#217'M'#161'V'#247'G'#153'O8'#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0']'#184'h'
|
||||
+#207'q'#190'{'#255'z'#193#131#255'['#170'd'#255'G'#153'O'#255'A'#145'I'#255
|
||||
+';'#136'B'#255'5'#128';'#255'/x5'#255'*p/'#255'%i)'#255'!c$'#255#29'^ '#255
|
||||
+#255#255#255#0#255#255#255#0'e'#195'q'#196'{'#200#134#255#156#213#165#255#152
|
||||
+#211#161#255#148#208#157#255#144#206#152#255#139#203#147#255#135#201#142#255
|
||||
+#130#198#137#255'~'#195#132#255'z'#193#128#255'v'#190'|'#255'r'#189'x'#255'!'
|
||||
+'c$'#255#255#255#255#0#255#255#255#0'h'#199't'#201#127#204#138#255#162#216
|
||||
+#171#255#158#214#167#255#154#212#163#255#150#210#159#255#147#207#154#255#142
|
||||
+#204#149#255#137#202#144#255#133#199#139#255#129#197#135#255'}'#194#130#255
|
||||
+'x'#192'~'#255'%i)'#255#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'
|
||||
+#209#128#205#139#255'|'#201#135#255']'#184'h'#255'X'#177'b'#255'S'#169'\'#255
|
||||
+'M'#161'V'#255'G'#153'O'#255'A'#145'I'#255';'#136'B'#255'5'#128';'#255'/x5'
|
||||
+#255'*p/'#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'h'#199
|
||||
+'t'#219'e'#195'q'#247#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'
|
||||
+#6'h'#199't'#187#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#9'NumGlyphs'#2#0#7'OnClick'#7#11'RowOutClick'#8'TabOrde'
|
||||
+'r'#2#3#0#0#7'TBitBtn'#5'ColIn'#4'Left'#3#192#0#6'Height'#2''''#3'Top'#3#0#1
|
||||
+#5'Width'#2'&'#10'Glyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0
|
||||
+#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
,#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0'!c$'#184#29'^ '#6#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'*p/8%i)'
|
||||
+#247'!c$'#217#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'a'#190
|
||||
+'m'#255']'#184'h'#255'X'#177'b'#255'S'#169'\'#255'M'#161'V'#255'G'#153'O'#255
|
||||
+'A'#145'I'#255';'#136'B'#255'5'#128';'#255'?'#136'E'#255'Y'#161'^'#255'D'#139
|
||||
+'I'#255'!c$'#207#255#255#255#0#255#255#255#0#255#255#255#0'e'#195'q'#255#160
|
||||
+#215#169#255#156#213#165#255#152#211#161#255#148#208#157#255#144#206#152#255
|
||||
+#139#203#147#255#135#201#142#255#130#198#137#255'~'#195#132#255'z'#193#128
|
||||
+#255'v'#190'|'#255'E'#140'J'#255'!c$'#196#255#255#255#0#255#255#255#0'h'#199
|
||||
+'t'#255#165#218#174#255#162#216#171#255#158#214#167#255#154#212#163#255#150
|
||||
+#210#159#255#147#207#154#255#142#204#149#255#137#202#144#255#133#199#139#255
|
||||
+#129#197#135#255'}'#194#130#255'J'#145'P'#255'%i)'#201#255#255#255#0#255#255
|
||||
+#255#0'h'#199't'#255'h'#199't'#255'e'#195'q'#255'a'#190'm'#255']'#184'h'#255
|
||||
+'X'#177'b'#255'S'#169'\'#255'M'#161'V'#255'G'#153'O'#255'A'#145'I'#255'Z'#163
|
||||
+'b'#255'U'#157'\'#255'/x5'#209#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'A'#145'I'#247
|
||||
+';'#136'B'#219#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'G'#153'O'#187
|
||||
+'A'#145'I'#6#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#9'NumGlyphs'#2#0#7'OnCl'
|
||||
+'ick'#7#10'ColInClick'#8'TabOrder'#2#4#0#0#7'TBitBtn'#6'ColOut'#4'Left'#3#192
|
||||
+#0#6'Height'#2''''#3'Top'#3'0'#1#5'Width'#2'&'#10'Glyph.Data'#10':'#4#0#0'6'
|
||||
+#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0
|
||||
+#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0'M'#161'V'#6'G'#153'O'#184#255#255#255#0#255#255#255#0#255#255#255
|
||||
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0'S'#169'\'#217'M'#161'V'#247'G'#153'O8'#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0']'#184'h'#207
|
||||
+'q'#190'{'#255'z'#193#131#255'['#170'd'#255'G'#153'O'#255'A'#145'I'#255';'
|
||||
,#136'B'#255'5'#128';'#255'/x5'#255'*p/'#255'%i)'#255'!c$'#255#29'^ '#255#255
|
||||
+#255#255#0#255#255#255#0'e'#195'q'#196'{'#200#134#255#156#213#165#255#152#211
|
||||
+#161#255#148#208#157#255#144#206#152#255#139#203#147#255#135#201#142#255#130
|
||||
+#198#137#255'~'#195#132#255'z'#193#128#255'v'#190'|'#255'r'#189'x'#255'!c$'
|
||||
+#255#255#255#255#0#255#255#255#0'h'#199't'#201#127#204#138#255#162#216#171
|
||||
+#255#158#214#167#255#154#212#163#255#150#210#159#255#147#207#154#255#142#204
|
||||
+#149#255#137#202#144#255#133#199#139#255#129#197#135#255'}'#194#130#255'x'
|
||||
+#192'~'#255'%i)'#255#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'#209
|
||||
+#128#205#139#255'|'#201#135#255']'#184'h'#255'X'#177'b'#255'S'#169'\'#255'M'
|
||||
+#161'V'#255'G'#153'O'#255'A'#145'I'#255';'#136'B'#255'5'#128';'#255'/x5'#255
|
||||
+'*p/'#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'
|
||||
+#219'e'#195'q'#247#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'
|
||||
+#6'h'#199't'#187#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#9'NumGlyphs'#2#0#7'OnClick'#7#11'ColOutClick'#8'TabOrde'
|
||||
+'r'#2#5#0#0#6'TLabel'#6'Label2'#4'Left'#3#241#0#6'Height'#2#16#3'Top'#3#152#0
|
||||
+#5'Width'#2'd'#7'Caption'#6#18'Row Label Variable'#11'ParentColor'#8#0#0#6'T'
|
||||
+'Label'#6'Label3'#4'Left'#3#244#0#6'Height'#2#16#3'Top'#3#0#1#5'Width'#2'a'#7
|
||||
+'Caption'#6#17'Column Variables:'#11'ParentColor'#8#0#0#5'TEdit'#7'RowEdit'#4
|
||||
+'Left'#3#241#0#6'Height'#2#23#3'Top'#3#173#0#5'Width'#3#138#0#8'TabOrder'#2#6
|
||||
+#4'Text'#6#7'RowEdit'#0#0#8'TListBox'#7'ColList'#4'Left'#3#241#0#6'Height'#3
|
||||
+#173#0#3'Top'#3#16#1#5'Width'#3#145#0#10'ItemHeight'#2#0#8'TabOrder'#2#7#0#0
|
||||
+#9'TGroupBox'#9'GroupBox1'#4'Left'#3#145#1#6'Height'#3'l'#1#3'Top'#3#140#0#5
|
||||
+'Width'#3#215#0#7'Caption'#6#7'Options'#12'ClientHeight'#3'Z'#1#11'ClientWid'
|
||||
+'th'#3#211#0#8'TabOrder'#2#8#0#9'TCheckBox'#6'ObsChk'#4'Left'#2#5#6'Height'#2
|
||||
+#19#3'Top'#2#4#5'Width'#3#168#0#7'Caption'#6#25'Show Observed Frequencies'#8
|
||||
+'TabOrder'#2#0#0#0#0#9'TCheckBox'#8'PropsChk'#4'Left'#3#152#1#6'Height'#2#19
|
||||
+#3'Top'#3#184#0#5'Width'#3#187#0#7'Caption'#6#29'Show Row and Col. Proportio'
|
||||
+'ns'#8'TabOrder'#2#9#0#0#9'TCheckBox'#6'ExpChk'#4'Left'#3#152#1#6'Height'#2
|
||||
+#19#3'Top'#3#208#0#5'Width'#3#165#0#7'Caption'#6#25'Show Expected Frequencie'
|
||||
+'s'#8'TabOrder'#2#10#0#0#9'TCheckBox'#6'ChiChk'#4'Left'#3#152#1#6'Height'#2
|
||||
+#19#3'Top'#3#232#0#5'Width'#3#169#0#7'Caption'#6#27'Show Cell Chi-square val'
|
||||
+'ues'#8'TabOrder'#2#11#0#0#9'TCheckBox'#8'YatesChk'#4'Left'#3#152#1#6'Height'
|
||||
+#2#19#3'Top'#3#0#1#5'Width'#3#199#0#7'Caption'#6'#Use Yate''s Correction for'
|
||||
+' 2x2 table'#8'TabOrder'#2#12#0#0#9'TCheckBox'#8'ShowQChk'#4'Left'#3#152#1#6
|
||||
+'Height'#2#19#3'Top'#3#24#1#5'Width'#2'a'#7'Caption'#6#13'Show Q Matrix'#8'T'
|
||||
+'abOrder'#2#13#0#0#9'TCheckBox'#9'QCheckChk'#4'Left'#3#152#1#6'Height'#2#19#3
|
||||
+'Top'#3'0'#1#5'Width'#2'~'#7'Caption'#6#18'Check that Q = UDV'#8'TabOrder'#2
|
||||
+#14#0#0#9'TCheckBox'#8'EigenChk'#4'Left'#3#152#1#6'Height'#2#19#3'Top'#3'H'#1
|
||||
+#5'Width'#3#162#0#7'Caption'#6#26'Values and Vectors of UDV'''#8'TabOrder'#2
|
||||
+#15#0#0#9'TCheckBox'#9'ShowABChk'#4'Left'#3#152#1#6'Height'#2#19#3'Top'#3'`'
|
||||
+#1#5'Width'#3#143#0#7'Caption'#6#23'A, B of Generalized SVD'#8'TabOrder'#2#16
|
||||
+#0#0#9'TCheckBox'#9'CheckPChk'#4'Left'#3#152#1#6'Height'#2#19#3'Top'#3'x'#1#5
|
||||
+'Width'#3#183#0#7'Caption'#6#29'Check P is reproduced by ADB'''#8'TabOrder'#2
|
||||
+#17#0#0#9'TCheckBox'#9'RowCorres'#4'Left'#3#152#1#6'Height'#2#19#3'Top'#3#144
|
||||
+#1#5'Width'#3#133#0#7'Caption'#6#18'Row Correspondence'#8'TabOrder'#2#18#0#0
|
||||
+#9'TCheckBox'#10'ColCorrChk'#4'Left'#3#152#1#6'Height'#2#19#3'Top'#3#168#1#5
|
||||
+'Width'#3#153#0#7'Caption'#6#21'Column Correspondence'#8'TabOrder'#2#19#0#0#9
|
||||
+'TCheckBox'#11'BothCorrChk'#4'Left'#3#152#1#6'Height'#2#19#3'Top'#3#192#1#5
|
||||
+'Width'#3#202#0#7'Caption'#6#29'Row and Column Correspondence'#7'Checked'#9#5
|
||||
,'State'#7#9'cbChecked'#8'TabOrder'#2#20#0#0#9'TCheckBox'#7'PlotChk'#4'Left'#3
|
||||
+#152#1#6'Height'#2#19#3'Top'#3#216#1#5'Width'#2'W'#7'Caption'#6#12'Plot Weig'
|
||||
+'hts'#7'Checked'#9#5'State'#7#9'cbChecked'#8'TabOrder'#2#21#0#0#7'TButton'#8
|
||||
+'ResetBtn'#4'Left'#2'P'#6'Height'#2#27#3'Top'#3#203#1#5'Width'#2'E'#7'Captio'
|
||||
+'n'#6#5'Reset'#7'OnClick'#7#13'ResetBtnClick'#8'TabOrder'#2#22#0#0#7'TButton'
|
||||
+#9'CancelBtn'#4'Left'#3#160#0#6'Height'#2#27#3'Top'#3#203#1#5'Width'#2'E'#6
|
||||
+'Cancel'#9#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#23#0#0#7
|
||||
+'TButton'#10'ComputeBtn'#4'Left'#3#240#0#6'Height'#2#27#3'Top'#3#203#1#5'Wid'
|
||||
+'th'#2'E'#7'Caption'#6#7'Compute'#7'OnClick'#7#15'ComputeBtnClick'#8'TabOrde'
|
||||
+'r'#2#24#0#0#7'TButton'#9'ReturnBtn'#4'Left'#3'='#1#6'Height'#2#27#3'Top'#3
|
||||
+#203#1#5'Width'#2'E'#7'Caption'#6#6'Return'#11'ModalResult'#2#1#8'TabOrder'#2
|
||||
+#25#0#0#7'TButton'#7'HelpBtn'#3'Tag'#3#160#0#4'Left'#2#9#6'Height'#2#28#3'To'
|
||||
+'p'#3#203#1#5'Width'#2'@'#7'Caption'#6#4'Help'#7'OnClick'#7#12'HelpBtnClick'
|
||||
+#8'TabOrder'#2#26#0#0#0
|
||||
]);
|
1027
applications/lazstats/source_orig/correspondenceunit.pas
Normal file
1027
applications/lazstats/source_orig/correspondenceunit.pas
Normal file
File diff suppressed because it is too large
Load Diff
370
applications/lazstats/source_orig/corsimunit.pas
Normal file
370
applications/lazstats/source_orig/corsimunit.pas
Normal file
@ -0,0 +1,370 @@
|
||||
unit CorSimUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
ExtCtrls, StdCtrls, Globals, OutPutUnit, Math;
|
||||
|
||||
type
|
||||
|
||||
{ TCorSimFrm }
|
||||
|
||||
TCorSimFrm = class(TForm)
|
||||
Nobs: TEdit;
|
||||
Image1: TImage;
|
||||
Label6: TLabel;
|
||||
ReturnBtn: TButton;
|
||||
ComputeBtn: TButton;
|
||||
Corr: TEdit;
|
||||
Label5: TLabel;
|
||||
SDY: TEdit;
|
||||
Label4: TLabel;
|
||||
SDX: TEdit;
|
||||
Label3: TLabel;
|
||||
MeanY: TEdit;
|
||||
Label2: TLabel;
|
||||
MeanX: TEdit;
|
||||
Label1: TLabel;
|
||||
Panel1: TPanel;
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
procedure CorrKeyPress(Sender: TObject; var Key: char);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure MeanXKeyPress(Sender: TObject; var Key: char);
|
||||
procedure MeanYKeyPress(Sender: TObject; var Key: char);
|
||||
procedure NobsKeyPress(Sender: TObject; var Key: char);
|
||||
procedure SDXKeyPress(Sender: TObject; var Key: char);
|
||||
procedure SDYKeyPress(Sender: TObject; var Key: char);
|
||||
private
|
||||
{ private declarations }
|
||||
xmean, ymean, xsd, ysd, corxy, corsqr, yvariance, predvar : double;
|
||||
errvariance, stderror, b, constant, newxmean, newymean : double;
|
||||
newxsd, newysd, newcorr, randomerror, newb, newconstant : double;
|
||||
x, y : DblDyneVec;
|
||||
freqx, freqy : IntDyneVec;
|
||||
N : integer;
|
||||
procedure plot(Sender: TObject);
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
CorSimFrm: TCorSimFrm;
|
||||
|
||||
implementation
|
||||
|
||||
{ TCorSimFrm }
|
||||
|
||||
procedure TCorSimFrm.MeanXKeyPress(Sender: TObject; var Key: char);
|
||||
begin
|
||||
if Ord(Key) = 13 then MeanY.SetFocus;
|
||||
end;
|
||||
|
||||
procedure TCorSimFrm.CorrKeyPress(Sender: TObject; var Key: char);
|
||||
begin
|
||||
if Ord(Key) = 13 then Nobs.SetFocus;
|
||||
end;
|
||||
|
||||
procedure TCorSimFrm.ComputeBtnClick(Sender: TObject);
|
||||
var
|
||||
outline : string;
|
||||
i : integer;
|
||||
begin
|
||||
N := StrToInt(NObs.Text);
|
||||
xmean := StrToFloat(MeanX.Text);
|
||||
ymean := StrToFloat(MeanY.Text);
|
||||
xsd := StrToFloat(SDX.Text);
|
||||
ysd := StrToFloat(SDY.Text);
|
||||
corxy := StrToFloat(Corr.Text);
|
||||
Randomize;
|
||||
|
||||
SetLength(freqx,N + 1);
|
||||
SetLength(freqy,N + 1);
|
||||
SetLength(x,N + 1);
|
||||
SetLength(y,N + 1);
|
||||
|
||||
// generate x and y data observations
|
||||
corsqr := corxy * corxy;
|
||||
yvariance := ysd * ysd;
|
||||
predvar := corsqr * yvariance;
|
||||
errvariance := yvariance - predvar;
|
||||
stderror := sqrt(errvariance);
|
||||
b := corxy * (ysd / xsd);
|
||||
constant := ymean - (b * xmean);
|
||||
|
||||
newxmean := 0.0;
|
||||
newymean := 0.0;
|
||||
newxsd := 0.0;
|
||||
newysd := 0.0;
|
||||
newcorr := 0.0;
|
||||
for i := 1 to N do
|
||||
begin
|
||||
x[i] := RandG(xmean,xsd);
|
||||
randomerror := RandG(0.0,stderror);
|
||||
y[i] := (b * x[i]) + constant + randomerror;
|
||||
newxmean := newxmean + x[i];
|
||||
newymean := newymean + y[i];
|
||||
newxsd := newxsd + (x[i] * x[i]);
|
||||
newysd := newysd + (y[i] * y[i]);
|
||||
newcorr := newcorr + (x[i] * y[i]);
|
||||
end;
|
||||
newxsd := newxsd - ((newxmean * newxmean) / N);
|
||||
newxsd := newxsd / (N - 1.0);
|
||||
newxsd := sqrt(newxsd);
|
||||
newysd := newysd - ((newymean * newymean) / N);
|
||||
newysd := newysd / (N - 1.0);
|
||||
newysd := sqrt(newysd);
|
||||
newcorr := newcorr - ((newxmean * newymean) / N);
|
||||
newcorr := newcorr / (N - 1.0);
|
||||
newcorr := newcorr / (newxsd * newysd);
|
||||
newxmean := newxmean / N;
|
||||
newymean := newymean / N;
|
||||
newb := newcorr * (newysd / newxsd);
|
||||
newconstant := newymean - (newb * newxmean);
|
||||
OutPutFrm.RichEdit.Lines.Clear;
|
||||
outline := 'POPULATION PARAMETERS FOR THE SIMULATION';
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
outline := format('Mean X := %8.3f, Std. Dev. X := %8.3f',[xmean, xsd]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Mean Y := %8.3f, Std. Dev. Y := %8.3f',[ymean, ysd]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Product-Moment Correlation := %8.3f',[corxy]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Regression line slope := %8.3f, constant := %8.3f',
|
||||
[b, constant]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
outline := format('SAMPLE STATISTICS FOR %d OBSERVATIONS FROM THE POPULATION',[N]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
outline := format('Mean X := %8.3f, Std. Dev. X := %8.3f',[newxmean, newxsd]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Mean Y := %8.3f, Std. Dev. Y := %8.3f',[newymean, newysd]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Product-Moment Correlation := %8.3f',[newcorr]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Regression line slope := %8.3f, constant := %8.3f',
|
||||
[newb, newconstant]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Pair No. X Y');
|
||||
for i := 1 to N do
|
||||
begin
|
||||
outline := format(' %3d %9.3f %9.3f',[i,x[i],y[i]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
OutPutFrm.ShowModal;
|
||||
plot(self);
|
||||
freqx := nil;
|
||||
freqy := nil;
|
||||
x := nil;
|
||||
y := nil;
|
||||
ReturnBtn.SetFocus;
|
||||
end;
|
||||
|
||||
procedure TCorSimFrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
CorSimFrm.Image1.Canvas.Pen.Color := clBlack;
|
||||
CorSimFrm.Image1.Canvas.Brush.Color := clWhite;
|
||||
CorSimFrm.Image1.Canvas.Clear;
|
||||
CorSimFrm.Image1.Canvas.FloodFill(1,1,clWhite,fsborder);
|
||||
MeanX.Text := '100';
|
||||
MeanY.Text := '100';
|
||||
SDX.Text := '15';
|
||||
SDY.Text := '15';
|
||||
Corr.Text := '.8';
|
||||
Nobs.Text := '100';
|
||||
end;
|
||||
|
||||
procedure TCorSimFrm.MeanYKeyPress(Sender: TObject; var Key: char);
|
||||
begin
|
||||
if Ord(Key) = 13 then SDX.SetFocus;
|
||||
end;
|
||||
|
||||
procedure TCorSimFrm.NobsKeyPress(Sender: TObject; var Key: char);
|
||||
begin
|
||||
if Ord(Key) = 13 then ComputeBtn.SetFocus;
|
||||
end;
|
||||
|
||||
procedure TCorSimFrm.SDXKeyPress(Sender: TObject; var Key: char);
|
||||
begin
|
||||
if Ord(Key) = 13 then SDY.SetFocus;
|
||||
end;
|
||||
|
||||
procedure TCorSimFrm.SDYKeyPress(Sender: TObject; var Key: char);
|
||||
begin
|
||||
if Ord(Key) = 13 then Corr.SetFocus;
|
||||
end;
|
||||
|
||||
procedure TCorSimFrm.plot(Sender: TObject);
|
||||
var
|
||||
minx, maxx, miny, maxy, xincrement, yincrement : double;
|
||||
predy1, predy2, lowerx, upperx, frange, prop : double;
|
||||
charlabel : string;
|
||||
xpos, ypos, xpos1, ypos1, xpos2, ypos2 : integer;
|
||||
i, winwidth, winheight, xoffset, yoffset, xaxislong, yaxislong : integer;
|
||||
j, xspacing, yspacing, labelwidth, minfreq, maxfreq : integer;
|
||||
flength, theight, lowery, uppery : integer;
|
||||
begin
|
||||
// get min and max of x and y points
|
||||
minx := x[1];
|
||||
maxx := minx;
|
||||
miny := y[1];
|
||||
maxy := miny;
|
||||
for i := 1 to N do
|
||||
begin
|
||||
if (minx > x[i]) then minx := x[i];
|
||||
if (maxx < x[i]) then maxx := x[i];
|
||||
if (miny > y[i]) then miny := y[i];
|
||||
if (maxy < y[i]) then maxy := y[i];
|
||||
end;
|
||||
xincrement := (maxx - minx) / 10;
|
||||
yincrement := (maxy - miny) / 10;
|
||||
|
||||
winwidth := CorSimFrm.Image1.Width;
|
||||
winheight := CorSimFrm.Image1.Height;
|
||||
xoffset := winwidth div 5;
|
||||
yoffset := winheight div 5;
|
||||
xaxislong := winwidth - xoffset- winwidth div 10;
|
||||
yaxislong := winheight - yoffset - winheight div 10;
|
||||
Image1.Canvas.Pen.Color := clBlack;
|
||||
Image1.Canvas.MoveTo(xoffset,yaxislong);
|
||||
Image1.Canvas.LineTo(winwidth,yaxislong);
|
||||
Image1.Canvas.MoveTo(xoffset,yaxislong);
|
||||
Image1.Canvas.LineTo(xoffset,0);
|
||||
xspacing := xaxislong div 10;
|
||||
yspacing := yaxislong div 10;
|
||||
// do xaxis
|
||||
for i := 0 to 11 do
|
||||
begin
|
||||
Image1.Canvas.MoveTo(xoffset + (i * xspacing),yaxislong);
|
||||
Image1.Canvas.LineTo(xoffset + (i * xspacing),yaxislong + 10);
|
||||
charlabel := format('%8.3f',[minx + (i * xincrement)]);
|
||||
labelwidth := Image1.Canvas.TextWidth(charlabel);
|
||||
xpos := xoffset + (i * xspacing)-labelwidth div 2;
|
||||
ypos := yaxislong + 12;
|
||||
Image1.Canvas.TextOut(xpos,ypos,charlabel);
|
||||
end;
|
||||
// do yaxis
|
||||
for i := 0 to 11 do
|
||||
begin
|
||||
Image1.Canvas.MoveTo(xoffset, yaxislong - (i * yspacing));
|
||||
Image1.Canvas.LineTo(xoffset-10,yaxislong - (i * yspacing));
|
||||
charlabel := format('%8.3f',[miny + (i * yincrement)]);
|
||||
labelwidth := Image1.Canvas.TextWidth(charlabel);
|
||||
xpos := xoffset-10-labelwidth;
|
||||
ypos := yaxislong - (i * yspacing);
|
||||
Image1.Canvas.TextOut(xpos,ypos,charlabel);
|
||||
end;
|
||||
// plot points
|
||||
Image1.Canvas.Pen.Color := clRed;
|
||||
for i := 1 to N do
|
||||
begin
|
||||
xpos := round(xoffset + ((x[i] - minx) / (maxx - minx) * xaxislong));
|
||||
ypos := round(yaxislong - ((y[i] - miny) / (maxy - miny) * yaxislong));
|
||||
Image1.Canvas.Ellipse(xpos,ypos,xpos+5,ypos+5);
|
||||
end;
|
||||
// draw regression line
|
||||
Image1.Canvas.Pen.Color := clBlack;
|
||||
predy1 := newb * minx + newconstant;
|
||||
predy2 := newb * maxx + newconstant;
|
||||
xpos1 := xoffset;
|
||||
xpos2 := xoffset + xaxislong;
|
||||
ypos1 := round(yaxislong - ((predy1 - miny) / (maxy - miny) * yaxislong));
|
||||
ypos2 := round(yaxislong - ((predy2 - miny) / (maxy - miny) * yaxislong));
|
||||
Image1.Canvas.MoveTo(xpos1,ypos1);
|
||||
Image1.Canvas.LineTo(xpos2,ypos2);
|
||||
|
||||
// do x frequency distribution
|
||||
xincrement := (maxx-minx) / 50.0;
|
||||
xspacing := xaxislong div 50;
|
||||
for j := 1 to 51 do freqx[j] := 0;
|
||||
for i := 1 to N do
|
||||
begin
|
||||
for j := 1 to 51 do
|
||||
begin
|
||||
lowerx := minx + (j * xincrement);
|
||||
upperx := minx + ((j+1) * xincrement);
|
||||
if ((x[i] >= lowerx) and (x[i] < upperx)) then freqx[j] := freqx[j] + 1;
|
||||
end;
|
||||
end;
|
||||
// plot the x frequencies
|
||||
minfreq := N;
|
||||
maxfreq := 0;
|
||||
for j := 1 to 51 do
|
||||
begin
|
||||
if (freqx[j] > maxfreq) then maxfreq := freqx[j];
|
||||
if (freqx[j] < minfreq) then minfreq := freqx[j];
|
||||
end;
|
||||
flength := winheight - (yaxislong + 25) - Panel1.Height;
|
||||
for j := 1 to 51 do
|
||||
begin
|
||||
xpos := xoffset + (j * xspacing);
|
||||
ypos1 := round(yaxislong + 25 +
|
||||
((freqx[j] - minfreq)/ (maxfreq-minfreq) * (flength)));
|
||||
ypos2 := yaxislong + 25;
|
||||
Image1.Canvas.MoveTo(xpos,ypos1);
|
||||
Image1.Canvas.LineTo(xpos,ypos2);
|
||||
end;
|
||||
Image1.Canvas.MoveTo(xoffset,yaxislong+25);
|
||||
Image1.Canvas.LineTo(winwidth,yaxislong+25);
|
||||
xpos := 20;
|
||||
ypos := yaxislong+30;
|
||||
Image1.Canvas.TextOut(xpos,ypos,'X DISTRIBUTION');
|
||||
theight := Image1.Canvas.TextHeight('X');
|
||||
ypos := ypos + theight;
|
||||
charlabel := format('correlation := %6.3f',[newcorr]);
|
||||
Image1.Canvas.TextOut(xpos,ypos,charlabel);
|
||||
ypos := ypos + theight;
|
||||
charlabel := format('Mean X := %8.3f, Mean Y := %8.3f',[newxmean, newymean]);
|
||||
Image1.Canvas.TextOut(xpos,ypos,charlabel);
|
||||
charlabel := format('SD X := %8.3f, SD Y := %8.3f',[newxsd, newysd]);
|
||||
ypos := ypos + theight;
|
||||
Image1.Canvas.TextOut(xpos,ypos,charlabel);
|
||||
|
||||
// do y frequency distribution
|
||||
yincrement := (maxy-miny) / 50.0;
|
||||
yspacing := yaxislong div 50;
|
||||
for j := 1 to 51 do freqy[j] := 0;
|
||||
for i := 1 to N do
|
||||
begin
|
||||
for j := 1 to 51 do
|
||||
begin
|
||||
lowery := round(miny + (j * yincrement));
|
||||
uppery := round(miny + ((j+1) * yincrement));
|
||||
if ((y[i] >= lowery) and (y[i] < uppery)) then freqy[j] := freqy[j] + 1;
|
||||
end;
|
||||
end;
|
||||
// plot the y frequencies
|
||||
minfreq := N;
|
||||
maxfreq := 0;
|
||||
for j := 1 to 51 do
|
||||
begin
|
||||
if (freqy[j] > maxfreq) then maxfreq := freqy[j];
|
||||
if (freqy[j] < minfreq) then minfreq := freqy[j];
|
||||
end;
|
||||
flength := winwidth - (xaxislong + 150);
|
||||
for j := 1 to 51 do
|
||||
begin
|
||||
ypos := yaxislong - (j * yspacing);
|
||||
frange := maxfreq - minfreq;
|
||||
prop := (freqy[j] - minfreq) / frange;
|
||||
xpos1 := round(xoffset - 50 - (prop * flength));
|
||||
xpos2 := xoffset - 50;
|
||||
Image1.Canvas.MoveTo(xpos1,ypos);
|
||||
Image1.Canvas.LineTo(xpos2,ypos);
|
||||
end;
|
||||
Image1.Canvas.MoveTo(xoffset - 50,yaxislong);
|
||||
Image1.Canvas.LineTo(xoffset - 50,0);
|
||||
Image1.Canvas.TextOut(0,0,'Y DISTRIBUTION');
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I corsimunit.lrs}
|
||||
|
||||
end.
|
||||
|
173
applications/lazstats/source_orig/crosstabunit.lfm
Normal file
173
applications/lazstats/source_orig/crosstabunit.lfm
Normal file
@ -0,0 +1,173 @@
|
||||
object CrossTabFrm: TCrossTabFrm
|
||||
Left = 134
|
||||
Height = 300
|
||||
Top = 106
|
||||
Width = 473
|
||||
Caption = 'Cross Tabulation'
|
||||
ClientHeight = 300
|
||||
ClientWidth = 473
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.28.2'
|
||||
object Label1: TLabel
|
||||
Left = 8
|
||||
Height = 14
|
||||
Top = 8
|
||||
Width = 90
|
||||
Caption = 'Available Variables'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 200
|
||||
Height = 14
|
||||
Top = 8
|
||||
Width = 98
|
||||
Caption = 'Variables to Analyze'
|
||||
ParentColor = False
|
||||
end
|
||||
object VarList: TListBox
|
||||
Left = 7
|
||||
Height = 264
|
||||
Top = 23
|
||||
Width = 132
|
||||
ItemHeight = 0
|
||||
MultiSelect = True
|
||||
TabOrder = 0
|
||||
end
|
||||
object ListBox1: TListBox
|
||||
Left = 200
|
||||
Height = 255
|
||||
Top = 32
|
||||
Width = 141
|
||||
ItemHeight = 0
|
||||
TabOrder = 1
|
||||
end
|
||||
object InBtn: TBitBtn
|
||||
Left = 152
|
||||
Height = 33
|
||||
Top = 33
|
||||
Width = 37
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00216324B81D5E2006FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF002A702F38256929F7216324D9FFFFFF00FFFFFF00FFFFFF00FFFFFF0061BE
|
||||
6DFF5DB868FF58B162FF53A95CFF4DA156FF47994FFF419149FF3B8842FF3580
|
||||
3BFF3F8845FF59A15EFF448B49FF216324CFFFFFFF00FFFFFF00FFFFFF0065C3
|
||||
71FFA0D7A9FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF82C6
|
||||
89FF7EC384FF7AC180FF76BE7CFF458C4AFF216324C4FFFFFF00FFFFFF0068C7
|
||||
74FFA5DAAEFFA2D8ABFF9ED6A7FF9AD4A3FF96D29FFF93CF9AFF8ECC95FF89CA
|
||||
90FF85C78BFF81C587FF7DC282FF4A9150FF256929C9FFFFFF00FFFFFF0068C7
|
||||
74FF68C774FF65C371FF61BE6DFF5DB868FF58B162FF53A95CFF4DA156FF4799
|
||||
4FFF419149FF5AA362FF559D5CFF2F7835D1FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00419149F73B8842DBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0047994FBB41914906FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
|
||||
}
|
||||
NumGlyphs = 0
|
||||
OnClick = InBtnClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object OutBtn: TBitBtn
|
||||
Left = 152
|
||||
Height = 33
|
||||
Top = 80
|
||||
Width = 37
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF004DA1560647994FB8FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0053A95CD94DA156F747994F38FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF005DB868CF71BE7BFF7AC183FF5BAA64FF47994FFF419149FF3B8842FF3580
|
||||
3BFF2F7835FF2A702FFF256929FF216324FF1D5E20FFFFFFFF00FFFFFF0065C3
|
||||
71C47BC886FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF82C6
|
||||
89FF7EC384FF7AC180FF76BE7CFF72BD78FF216324FFFFFFFF00FFFFFF0068C7
|
||||
74C97FCC8AFFA2D8ABFF9ED6A7FF9AD4A3FF96D29FFF93CF9AFF8ECC95FF89CA
|
||||
90FF85C78BFF81C587FF7DC282FF78C07EFF256929FFFFFFFF00FFFFFF00FFFF
|
||||
FF0068C774D180CD8BFF7CC987FF5DB868FF58B162FF53A95CFF4DA156FF4799
|
||||
4FFF419149FF3B8842FF35803BFF2F7835FF2A702FFFFFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0068C774DB65C371F7FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0068C7740668C774BBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
|
||||
}
|
||||
NumGlyphs = 0
|
||||
OnClick = OutBtnClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 368
|
||||
Height = 33
|
||||
Top = 64
|
||||
Width = 82
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 368
|
||||
Height = 33
|
||||
Top = 120
|
||||
Width = 82
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
OnClick = CancelBtnClick
|
||||
TabOrder = 5
|
||||
end
|
||||
object OKBtn: TButton
|
||||
Left = 368
|
||||
Height = 33
|
||||
Top = 176
|
||||
Width = 82
|
||||
Caption = 'OK'
|
||||
ModalResult = 1
|
||||
OnClick = OKBtnClick
|
||||
TabOrder = 6
|
||||
end
|
||||
object HelpBtn: TButton
|
||||
Tag = 116
|
||||
Left = 368
|
||||
Height = 32
|
||||
Top = 16
|
||||
Width = 82
|
||||
Caption = 'Help'
|
||||
OnClick = HelpBtnClick
|
||||
TabOrder = 7
|
||||
end
|
||||
end
|
126
applications/lazstats/source_orig/crosstabunit.lrs
Normal file
126
applications/lazstats/source_orig/crosstabunit.lrs
Normal file
@ -0,0 +1,126 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TCrossTabFrm','FORMDATA',[
|
||||
'TPF0'#12'TCrossTabFrm'#11'CrossTabFrm'#4'Left'#3#134#0#6'Height'#3','#1#3'To'
|
||||
+'p'#2'j'#5'Width'#3#217#1#7'Caption'#6#16'Cross Tabulation'#12'ClientHeight'
|
||||
+#3','#1#11'ClientWidth'#3#217#1#6'OnShow'#7#8'FormShow'#10'LCLVersion'#6#8'0'
|
||||
+'.9.28.2'#0#6'TLabel'#6'Label1'#4'Left'#2#8#6'Height'#2#14#3'Top'#2#8#5'Widt'
|
||||
+'h'#2'Z'#7'Caption'#6#19'Available Variables'#11'ParentColor'#8#0#0#6'TLabel'
|
||||
+#6'Label2'#4'Left'#3#200#0#6'Height'#2#14#3'Top'#2#8#5'Width'#2'b'#7'Caption'
|
||||
+#6#20'Variables to Analyze'#11'ParentColor'#8#0#0#8'TListBox'#7'VarList'#4'L'
|
||||
+'eft'#2#7#6'Height'#3#8#1#3'Top'#2#23#5'Width'#3#132#0#10'ItemHeight'#2#0#11
|
||||
+'MultiSelect'#9#8'TabOrder'#2#0#0#0#8'TListBox'#8'ListBox1'#4'Left'#3#200#0#6
|
||||
+'Height'#3#255#0#3'Top'#2' '#5'Width'#3#141#0#10'ItemHeight'#2#0#8'TabOrder'
|
||||
+#2#1#0#0#7'TBitBtn'#5'InBtn'#4'Left'#3#152#0#6'Height'#2'!'#3'Top'#2'!'#5'Wi'
|
||||
+'dth'#2'%'#10'Glyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('
|
||||
+#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0'!c$'#184#29'^ '#6#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'*p/8%i)'#247
|
||||
+'!c$'#217#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'a'#190'm'
|
||||
+#255']'#184'h'#255'X'#177'b'#255'S'#169'\'#255'M'#161'V'#255'G'#153'O'#255'A'
|
||||
+#145'I'#255';'#136'B'#255'5'#128';'#255'?'#136'E'#255'Y'#161'^'#255'D'#139'I'
|
||||
+#255'!c$'#207#255#255#255#0#255#255#255#0#255#255#255#0'e'#195'q'#255#160#215
|
||||
+#169#255#156#213#165#255#152#211#161#255#148#208#157#255#144#206#152#255#139
|
||||
+#203#147#255#135#201#142#255#130#198#137#255'~'#195#132#255'z'#193#128#255'v'
|
||||
+#190'|'#255'E'#140'J'#255'!c$'#196#255#255#255#0#255#255#255#0'h'#199't'#255
|
||||
+#165#218#174#255#162#216#171#255#158#214#167#255#154#212#163#255#150#210#159
|
||||
+#255#147#207#154#255#142#204#149#255#137#202#144#255#133#199#139#255#129#197
|
||||
+#135#255'}'#194#130#255'J'#145'P'#255'%i)'#201#255#255#255#0#255#255#255#0'h'
|
||||
+#199't'#255'h'#199't'#255'e'#195'q'#255'a'#190'm'#255']'#184'h'#255'X'#177'b'
|
||||
+#255'S'#169'\'#255'M'#161'V'#255'G'#153'O'#255'A'#145'I'#255'Z'#163'b'#255'U'
|
||||
+#157'\'#255'/x5'#209#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'A'#145'I'#247';'#136'B'
|
||||
+#219#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'G'#153'O'#187'A'#145'I'
|
||||
+#6#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#9'NumGlyphs'#2#0#7'OnClick'#7#10
|
||||
+'InBtnClick'#8'TabOrder'#2#2#0#0#7'TBitBtn'#6'OutBtn'#4'Left'#3#152#0#6'Heig'
|
||||
+'ht'#2'!'#3'Top'#2'P'#5'Width'#2'%'#10'Glyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'
|
||||
+#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0
|
||||
,'d'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+'M'#161'V'#6'G'#153'O'#184#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'S'#169
|
||||
+'\'#217'M'#161'V'#247'G'#153'O8'#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0']'#184'h'#207'q'#190'{'
|
||||
+#255'z'#193#131#255'['#170'd'#255'G'#153'O'#255'A'#145'I'#255';'#136'B'#255
|
||||
+'5'#128';'#255'/x5'#255'*p/'#255'%i)'#255'!c$'#255#29'^ '#255#255#255#255#0
|
||||
+#255#255#255#0'e'#195'q'#196'{'#200#134#255#156#213#165#255#152#211#161#255
|
||||
+#148#208#157#255#144#206#152#255#139#203#147#255#135#201#142#255#130#198#137
|
||||
+#255'~'#195#132#255'z'#193#128#255'v'#190'|'#255'r'#189'x'#255'!c$'#255#255
|
||||
+#255#255#0#255#255#255#0'h'#199't'#201#127#204#138#255#162#216#171#255#158
|
||||
+#214#167#255#154#212#163#255#150#210#159#255#147#207#154#255#142#204#149#255
|
||||
+#137#202#144#255#133#199#139#255#129#197#135#255'}'#194#130#255'x'#192'~'#255
|
||||
+'%i)'#255#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'#209#128#205#139
|
||||
+#255'|'#201#135#255']'#184'h'#255'X'#177'b'#255'S'#169'\'#255'M'#161'V'#255
|
||||
+'G'#153'O'#255'A'#145'I'#255';'#136'B'#255'5'#128';'#255'/x5'#255'*p/'#255
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'#219'e'#195
|
||||
+'q'#247#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'#6'h'#199't'
|
||||
+#187#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#9'NumGlyphs'#2#0#7'OnClick'#7#11'OutBtnClick'#8'TabOrder'#2#3#0#0
|
||||
+#7'TButton'#8'ResetBtn'#4'Left'#3'p'#1#6'Height'#2'!'#3'Top'#2'@'#5'Width'#2
|
||||
+'R'#7'Caption'#6#5'Reset'#7'OnClick'#7#13'ResetBtnClick'#8'TabOrder'#2#4#0#0
|
||||
+#7'TButton'#9'CancelBtn'#4'Left'#3'p'#1#6'Height'#2'!'#3'Top'#2'x'#5'Width'#2
|
||||
+'R'#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#7'OnClick'#7#14'CancelBtnClic'
|
||||
+'k'#8'TabOrder'#2#5#0#0#7'TButton'#5'OKBtn'#4'Left'#3'p'#1#6'Height'#2'!'#3
|
||||
+'Top'#3#176#0#5'Width'#2'R'#7'Caption'#6#2'OK'#11'ModalResult'#2#1#7'OnClick'
|
||||
+#7#10'OKBtnClick'#8'TabOrder'#2#6#0#0#7'TButton'#7'HelpBtn'#3'Tag'#2't'#4'Le'
|
||||
+'ft'#3'p'#1#6'Height'#2' '#3'Top'#2#16#5'Width'#2'R'#7'Caption'#6#4'Help'#7
|
||||
+'OnClick'#7#12'HelpBtnClick'#8'TabOrder'#2#7#0#0#0
|
||||
]);
|
385
applications/lazstats/source_orig/crosstabunit.pas
Normal file
385
applications/lazstats/source_orig/crosstabunit.pas
Normal file
@ -0,0 +1,385 @@
|
||||
unit CrossTabUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Buttons, Globals, OutPutUnit, MainUnit, DataProcs, FunctionsLib,
|
||||
MatrixLib, contexthelpunit;
|
||||
|
||||
type
|
||||
|
||||
{ TCrossTabFrm }
|
||||
|
||||
TCrossTabFrm = class(TForm)
|
||||
HelpBtn: TButton;
|
||||
InBtn: TBitBtn;
|
||||
OutBtn: TBitBtn;
|
||||
ResetBtn: TButton;
|
||||
CancelBtn: TButton;
|
||||
OKBtn: TButton;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
VarList: TListBox;
|
||||
ListBox1: TListBox;
|
||||
procedure CancelBtnClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure HelpBtnClick(Sender: TObject);
|
||||
procedure InBtnClick(Sender: TObject);
|
||||
procedure OKBtnClick(Sender: TObject);
|
||||
procedure OutBtnClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
grandsum, sum, index : integer;
|
||||
no_in_list, length_array, ptr1, ptr2 : integer ;
|
||||
var_list, min_value, max_value, levels, displace, subscript : IntDyneVec;
|
||||
freq : IntDyneVec;
|
||||
outgrid : DblDyneMat;
|
||||
rowlabels : StrDyneVec;
|
||||
colLabels : StrDyneVec;
|
||||
ColNoSelected : IntDyneVec;
|
||||
NoSelected : integer;
|
||||
NV, NC : integer;
|
||||
|
||||
procedure INITIALIZEIT(Sender: TObject);
|
||||
procedure GET_Levels(Sender: TObject);
|
||||
function INDEX_POSITION( x : IntDyneVec; Sender: TObject ) : integer;
|
||||
Procedure TABULATE(Sender : TObject);
|
||||
procedure BREAKDOWN(Sender : TObject);
|
||||
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
CrossTabFrm: TCrossTabFrm;
|
||||
|
||||
implementation
|
||||
|
||||
{ TCrossTabFrm }
|
||||
|
||||
procedure TCrossTabFrm.ResetBtnClick(Sender: TObject);
|
||||
var
|
||||
i : integer;
|
||||
|
||||
begin
|
||||
VarList.Clear;
|
||||
ListBox1.Clear;
|
||||
OutBtn.Enabled := false;
|
||||
InBtn.Enabled := true;
|
||||
NV := NoVariables;
|
||||
NC := NoCases;
|
||||
for i := 1 to NV do
|
||||
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TCrossTabFrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
ResetBtnClick(self);
|
||||
end;
|
||||
|
||||
procedure TCrossTabFrm.HelpBtnClick(Sender: TObject);
|
||||
begin
|
||||
ContextHelpForm.HelpMessage((Sender as TButton).tag);
|
||||
end;
|
||||
|
||||
procedure TCrossTabFrm.InBtnClick(Sender: TObject);
|
||||
var
|
||||
index2, i : integer;
|
||||
|
||||
begin
|
||||
index2 := VarList.Items.Count;
|
||||
i := 0;
|
||||
while i < index2 do
|
||||
begin
|
||||
if (VarList.Selected[i]) then
|
||||
begin
|
||||
ListBox1.Items.Add(VarList.Items.Strings[i]);
|
||||
VarList.Items.Delete(i);
|
||||
index2 := index2 - 1;
|
||||
i := 0;
|
||||
end
|
||||
else i := i + 1;
|
||||
end;
|
||||
OutBtn.Enabled := true;
|
||||
end;
|
||||
|
||||
procedure TCrossTabFrm.OKBtnClick(Sender: TObject);
|
||||
label CleanUp;
|
||||
var
|
||||
cellvalue : string;
|
||||
i, j : integer;
|
||||
outline : string;
|
||||
|
||||
begin
|
||||
SetLength(var_list,NV);
|
||||
SetLength(min_value,NV);
|
||||
SetLength(max_value,NV);
|
||||
SetLength(levels,NC);
|
||||
SetLength(displace,NC);
|
||||
SetLength(subscript,NC);
|
||||
SetLength(ColNoSelected,NV);
|
||||
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
// OutPutFrm.RichEdit.ParaGraph.Alignment := taLeftJustify;
|
||||
OutPutFrm.RichEdit.Lines.Add('CROSSTAB RESULTS');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
outline := ' Analyzed data is from file : ';
|
||||
outline := outline + OS3MainFrm.FileNameEdit.Text;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
INITIALIZE(self);
|
||||
if ListBox1.Items.Count = 0 then
|
||||
begin
|
||||
// Application.MessageBox('No variables selected for analysis.','ERROR!',MB_OK);
|
||||
goto CleanUp;
|
||||
end;
|
||||
|
||||
NoSelected := 0;
|
||||
for i := 0 to ListBox1.Items.Count-1 do
|
||||
begin
|
||||
for j := 1 to NV do
|
||||
begin
|
||||
cellvalue := OS3MainFrm.DataGrid.Cells[j,0];
|
||||
if cellvalue = ListBox1.Items.Strings[i] then
|
||||
begin
|
||||
var_list[i] := j;
|
||||
ColNoSelected[i] := j;
|
||||
NoSelected := NoSelected + 1;
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
no_in_list := ListBox1.Items.Count;
|
||||
GET_LEVELS(self);
|
||||
TABULATE(self);
|
||||
BREAKDOWN(self);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
cellvalue := format('Grand sum accross all categories = %3d',[grandsum]);
|
||||
OutPutFrm.RichEdit.Lines.Add(cellvalue);
|
||||
OutPutFrm.ShowModal;
|
||||
|
||||
CleanUp:
|
||||
ColNoSelected := nil;
|
||||
freq := nil;
|
||||
collabels := nil;
|
||||
rowlabels := nil;
|
||||
outgrid := nil;
|
||||
subscript := nil;
|
||||
displace := nil;
|
||||
levels := nil;
|
||||
max_value := nil;
|
||||
min_value := nil;
|
||||
var_list := nil;
|
||||
CrossTabFrm.Hide;
|
||||
end;
|
||||
|
||||
procedure TCrossTabFrm.OutBtnClick(Sender: TObject);
|
||||
var
|
||||
index2: integer;
|
||||
|
||||
begin
|
||||
index2 := ListBox1.ItemIndex;
|
||||
VarList.Items.Add(ListBox1.Items.Strings[index2]);
|
||||
ListBox1.Items.Delete(index2);
|
||||
InBtn.Enabled := true;
|
||||
if ListBox1.Items.Count = 0 then OutBtn.Enabled := false;
|
||||
end;
|
||||
|
||||
procedure TCrossTabFrm.CancelBtnClick(Sender: TObject);
|
||||
begin
|
||||
CrossTabFrm.Hide;
|
||||
end;
|
||||
|
||||
procedure TCrossTabFrm.INITIALIZEIT(Sender: TObject);
|
||||
var
|
||||
i : integer;
|
||||
|
||||
begin
|
||||
no_in_list := 0;
|
||||
for i := 1 to NV do
|
||||
begin
|
||||
var_list[i-1] := 0;
|
||||
min_value[i-1] := 0;
|
||||
max_value[i-1] := 0;
|
||||
levels[i-1] := 0;
|
||||
displace[i-1] := 0;
|
||||
subscript[i-1] := 0;
|
||||
end;
|
||||
index := 0;
|
||||
length_array := 0;
|
||||
grandsum := 0;
|
||||
end; { initialize procedure }
|
||||
//-----------------------------------------------------------------------
|
||||
|
||||
procedure TCrossTabFrm.GET_Levels(Sender: TObject);
|
||||
var
|
||||
i, j, k : integer;
|
||||
value : double;
|
||||
outline : string;
|
||||
|
||||
begin
|
||||
for i := 1 to no_in_list do
|
||||
begin
|
||||
j := var_list[i-1];
|
||||
if Not GoodRecord(1,NoSelected,ColNoSelected) then continue;
|
||||
value := StrToFloat(OS3MainFrm.DataGrid.Cells[j,1]);
|
||||
min_value[i-1] := round(value);
|
||||
max_value[i-1] := round(value);
|
||||
for k := 2 to NC do
|
||||
begin
|
||||
if Not GoodRecord(k,NoSelected,ColNoSelected) then continue;
|
||||
value := StrToFloat(OS3MainFrm.DataGrid.Cells[j,k]);
|
||||
if value < min_value[i-1] then min_value[i-1] :=
|
||||
round(value);
|
||||
if value > max_value[i-1] then max_value[i-1] :=
|
||||
round(value);
|
||||
end;
|
||||
end;
|
||||
for i := 1 to no_in_list do
|
||||
begin
|
||||
j := var_list[i-1];
|
||||
levels[i-1] := max_value[i-1] - min_value[i-1] + 1;
|
||||
outline := format('%s min.=%3d, max.=%3d, no. levels = %3d',
|
||||
[OS3MainFrm.DataGrid.Cells[j,0],min_value[i-1],max_value[i-1],levels[i-1]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
displace[no_in_list-1] := 1;
|
||||
if no_in_list > 1 then
|
||||
begin
|
||||
for i := (no_in_list - 1) downto 1 do
|
||||
displace[i-1] := levels[i] * displace[i];
|
||||
end;
|
||||
end;
|
||||
//-----------------------------------------------------------------------
|
||||
function TCrossTabFrm.INDEX_POSITION( x : IntDyneVec; Sender: TObject ) : integer;
|
||||
|
||||
var index2 : integer;
|
||||
i : integer;
|
||||
|
||||
begin
|
||||
index2 := x[no_in_list-1];
|
||||
if no_in_list > 1 then
|
||||
begin
|
||||
for i := 1 to no_in_list - 1 do
|
||||
index2 := index2 + (x[i-1] -1) * displace[i-1];
|
||||
end;
|
||||
index_position := index2;
|
||||
end; { function INDEX_POSITION }
|
||||
//------------------------------------------------------------------------
|
||||
Procedure TCrossTabFrm.TABULATE(Sender : TObject);
|
||||
var
|
||||
i, j, k : integer;
|
||||
value : double;
|
||||
x : integer;
|
||||
begin
|
||||
length_array := 1;
|
||||
for i := 1 to no_in_list do length_array := length_array * levels[i-1];
|
||||
SetLength(freq,length_array+1);
|
||||
for i := 0 to length_array do freq[i] := 0;
|
||||
for i := 1 to NC do
|
||||
begin
|
||||
if IsFiltered(i) then continue;
|
||||
for j := 1 to no_in_list do
|
||||
begin
|
||||
if Not GoodRecord(i,NoSelected,ColNoSelected) then continue;
|
||||
k := var_list[j-1];
|
||||
value := StrToFloat(OS3MainFrm.DataGrid.Cells[k,i]);
|
||||
x := round(value);
|
||||
x := x - min_value[j-1] + 1;
|
||||
subscript[j-1] := x;
|
||||
end;
|
||||
j := index_position(subscript,self);
|
||||
|
||||
if (j < 1) or (j > length_array) then
|
||||
begin
|
||||
// Application.MessageBox('subscript out of range.','ERROR!',MB_OK);
|
||||
continue;
|
||||
end
|
||||
else freq[j] := freq[j] + 1;
|
||||
end;
|
||||
end; { procedure TABULATE }
|
||||
//---------------------------------------------------------------------
|
||||
procedure TCrossTabFrm.BREAKDOWN(Sender : TObject);
|
||||
|
||||
label 1,2,3,4, printgrid;
|
||||
var
|
||||
i, j, row, col, bigmax : integer;
|
||||
outline : string;
|
||||
value : string;
|
||||
title : String;
|
||||
begin
|
||||
bigmax := -1;
|
||||
for i := 0 to no_in_list-1 do
|
||||
if Levels[i] > bigmax then bigmax := Levels[i];
|
||||
SetLength(colLabels,bigmax);
|
||||
SetLength(outgrid,length_array,bigmax);
|
||||
SetLength(rowlabels,length_array);
|
||||
outline := OS3MainFrm.DataGrid.Cells[var_list[no_in_list-1],0];
|
||||
for col := 1 to Levels[no_in_list-1] do
|
||||
collabels[col-1] := outline + format(':%3d',[min_value[no_in_list-1] + col - 1]);
|
||||
for row := 1 to length_array do rowlabels[row-1] := '';
|
||||
ptr1 := no_in_list - 1;
|
||||
ptr2 := no_in_list;
|
||||
for i := 1 to no_in_list do subscript[i-1] := 1;
|
||||
OutPutFrm.RichEdit.Lines.Add('FREQUENCIES BY LEVEL:');
|
||||
sum := 0;
|
||||
col := 1;
|
||||
row := 1;
|
||||
1: index := index_position(subscript,self);
|
||||
outline := 'For cell levels: ';
|
||||
for i := 1 to no_in_list do
|
||||
begin
|
||||
j := var_list[i-1];
|
||||
value := format('%s:%3d ',[OS3MainFrm.DataGrid.Cells[j,0],
|
||||
min_value[i-1] + subscript[i-1] - 1]);
|
||||
outline := outline + value;
|
||||
end;
|
||||
sum := sum + freq[index];
|
||||
outgrid[row-1,col-1] := freq[index];
|
||||
outline := outline + format(' Frequency = %3d',[freq[index]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
subscript[ptr2-1] := subscript[ptr2-1] + 1;
|
||||
col := col + 1;
|
||||
IF subscript[ptr2-1] <= levels[ptr2-1] then goto 1;
|
||||
outline := format('Sum accross levels = %3d',[sum]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
grandsum := grandsum + sum;
|
||||
sum := 0;
|
||||
row := row + 1;
|
||||
2: if ptr1 < 1 then goto printgrid;
|
||||
subscript[ptr1-1] := subscript[ptr1-1] + 1;
|
||||
if subscript[ptr1-1] <= levels[ptr1-1] then goto 4;
|
||||
3: ptr1 := ptr1 - 1;
|
||||
if ptr1 < 1 then goto printgrid;
|
||||
if subscript[ptr1-1] >= levels[ptr1-1] then goto 3;
|
||||
subscript[ptr1-1] := subscript[ptr1-1] + 1;
|
||||
4: for i := ptr1 + 1 to no_in_list do subscript[i-1] := 1;
|
||||
ptr1 := no_in_list - 1;
|
||||
col := 1;
|
||||
goto 1;
|
||||
|
||||
printgrid:
|
||||
title := 'Cell Frequencies by Levels';
|
||||
for i := 1 to row - 1 do
|
||||
begin
|
||||
value := format('Block %d',[i]);
|
||||
rowlabels[i-1] := value;
|
||||
end;
|
||||
MAT_PRINT(outgrid,row-1,Levels[no_in_list-1],title,rowlabels,collabels,NC);
|
||||
|
||||
end; { Procedure BREAKDOWN }
|
||||
|
||||
initialization
|
||||
{$I crosstabunit.lrs}
|
||||
|
||||
end.
|
||||
|
393
applications/lazstats/source_orig/cumsumunit.pas
Normal file
393
applications/lazstats/source_orig/cumsumunit.pas
Normal file
@ -0,0 +1,393 @@
|
||||
unit CUMSUMUNIT;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, MainUnit, Globals, DataProcs, OutPutUnit, Buttons, math,
|
||||
FunctionsLib, BlankFrmUnit, contexthelpunit;
|
||||
|
||||
type
|
||||
|
||||
{ TCUMSUMFrm }
|
||||
|
||||
TCUMSUMFrm = class(TForm)
|
||||
HelpBtn: TButton;
|
||||
TargetEdit: TEdit;
|
||||
TargetChk: TCheckBox;
|
||||
DeltaEdit: TEdit;
|
||||
AlphaEdit: TEdit;
|
||||
BetaEdit: TEdit;
|
||||
GroupBox1: TGroupBox;
|
||||
GroupBox2: TGroupBox;
|
||||
Label4: TLabel;
|
||||
Label5: TLabel;
|
||||
Label6: TLabel;
|
||||
ResetBtn: TButton;
|
||||
CancelBtn: TButton;
|
||||
ComputeBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
MeasEdit: TEdit;
|
||||
GroupEdit: TEdit;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
Label3: TLabel;
|
||||
VarList: TListBox;
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure HelpBtnClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
procedure VarListClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
semean : double;
|
||||
procedure PlotMeans(VAR means : DblDyneVec;
|
||||
NoGrps : integer;
|
||||
GrandMean : double;
|
||||
Sender: TObject);
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
CUMSUMFrm: TCUMSUMFrm;
|
||||
|
||||
implementation
|
||||
|
||||
{ TCUMSUMFrm }
|
||||
|
||||
procedure TCUMSUMFrm.ResetBtnClick(Sender: TObject);
|
||||
VAR i : integer;
|
||||
begin
|
||||
VarList.Clear;
|
||||
GroupEdit.Text := '';
|
||||
MeasEdit.Text := '';
|
||||
DeltaEdit.Text := '';
|
||||
AlphaEdit.Text := '0.05';
|
||||
BetaEdit.Text := '0.20';
|
||||
TargetEdit.Text := '';
|
||||
TargetChk.Checked := false;
|
||||
for i := 1 to NoVariables do
|
||||
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
|
||||
end;
|
||||
|
||||
procedure TCUMSUMFrm.VarListClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := VarList.ItemIndex;
|
||||
if GroupEdit.Text = '' then GroupEdit.Text := VarList.Items.Strings[index]
|
||||
else MeasEdit.Text := VarList.Items.Strings[index];
|
||||
end;
|
||||
|
||||
procedure TCUMSUMFrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
ResetBtnClick(self);
|
||||
end;
|
||||
|
||||
procedure TCUMSUMFrm.HelpBtnClick(Sender: TObject);
|
||||
begin
|
||||
ContextHelpForm.HelpMessage((Sender as TButton).tag);
|
||||
end;
|
||||
|
||||
procedure TCUMSUMFrm.ComputeBtnClick(Sender: TObject);
|
||||
label cleanup;
|
||||
var
|
||||
i, j, GrpVar, MeasVar, mingrp, maxgrp, G, range, grpsize : integer;
|
||||
oldgrpsize : integer;
|
||||
X, UCL, LCL : double;
|
||||
xmin, xmax, GrandMean, GrandSD : double;
|
||||
Target, GrandSum : double;
|
||||
means, stddev, cumsums : DblDyneVec;
|
||||
count : IntDyneVec;
|
||||
cellstring, outline : string;
|
||||
sizeerror : boolean;
|
||||
ColNoSelected : IntDyneVec;
|
||||
NoSelected : integer;
|
||||
begin
|
||||
SetLength(ColNoSelected,NoVariables);
|
||||
GrpVar := 1;
|
||||
MeasVar := 2;
|
||||
grpsize := 0;
|
||||
oldgrpsize := 0;
|
||||
|
||||
for i := 1 to NoVariables do
|
||||
begin
|
||||
cellstring := OS3MainFrm.DataGrid.Cells[i,0];
|
||||
if cellstring = GroupEdit.Text then GrpVar := i;
|
||||
if cellstring = MeasEdit.Text then MeasVar := i;
|
||||
end;
|
||||
NoSelected := 2;
|
||||
ColNoSelected[0] := GrpVar;
|
||||
ColNoSelected[1] := MeasVar;
|
||||
|
||||
mingrp := 10000;
|
||||
maxgrp := -10000;
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
if not GoodRecord(i,NoSelected,ColNoSelected) then continue;
|
||||
G := round(StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[GrpVar,i])));
|
||||
if G < mingrp then mingrp := G;
|
||||
if G > maxgrp then maxgrp := G;
|
||||
end;
|
||||
range := maxgrp - mingrp + 1;
|
||||
|
||||
SetLength(means,range);
|
||||
SetLength(count,range);
|
||||
SetLength(stddev,range);
|
||||
SetLength(cumsums,range);
|
||||
|
||||
for i := 0 to range-1 do
|
||||
begin
|
||||
count[i] := 0;
|
||||
means[i] := 0.0;
|
||||
stddev[i] := 0.0;
|
||||
cumsums[i] := 0.0;
|
||||
end;
|
||||
semean := 0.0;
|
||||
GrandMean := 0.0;
|
||||
sizeerror := false;
|
||||
GrandSum := 0.0;
|
||||
if TargetChk.Checked then Target := StrToFloat(TargetEdit.Text)
|
||||
else Target := 0.0;
|
||||
|
||||
// calculate group ranges, grand mean, group sd's, semeans
|
||||
for j := 1 to range do // groups
|
||||
begin
|
||||
xmin := 10000.0;
|
||||
xmax := -10000.0;
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
if not GoodRecord(i,NoSelected,ColNoSelected) then continue;
|
||||
G := round(StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[GrpVar,i])));
|
||||
G := G - mingrp + 1;
|
||||
if G = j then
|
||||
begin
|
||||
X := StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[MeasVar,i]));
|
||||
if X > xmax then xmax := X;
|
||||
if X < xmin then xmin := X;
|
||||
count[G-1] := count[G-1] + 1;
|
||||
stddev[G-1] := stddev[G-1] + (X * X);
|
||||
semean := semean + (X * X);
|
||||
means[G-1] := means[G-1] + X;
|
||||
GrandMean := GrandMean + X;
|
||||
end;
|
||||
end; // next case
|
||||
stddev[j-1] := stddev[j-1] - (means[j-1] * means[j-1] / count[j-1]);
|
||||
stddev[j-1] := stddev[j-1] / (count[j-1] - 1);
|
||||
stddev[j-1] := sqrt(stddev[j-1]);
|
||||
grpsize := count[j-1];
|
||||
means[j-1] := means[j-1] / count[j-1];
|
||||
if j = 1 then oldgrpsize := grpsize;
|
||||
if oldgrpsize <> grpsize then sizeerror := true;
|
||||
end; // next group
|
||||
|
||||
// now get cumulative deviations of means from target
|
||||
if Target = 0.0 then Target := means[range-1];
|
||||
cumsums[0] := means[0] - Target;
|
||||
GrandSum := GrandSum + (means[0] - Target);
|
||||
for j := 2 to range do
|
||||
begin
|
||||
cumsums[j-1] := cumsums[j-2] + (means[j-1] - Target);
|
||||
GrandSum := GrandSum + (means[j-1] - Target);
|
||||
end;
|
||||
|
||||
if (grpsize < 2) or (grpsize > 25) or (sizeerror) then
|
||||
begin
|
||||
ShowMessage('ERROR! Group sizes error.');
|
||||
goto cleanup;
|
||||
end;
|
||||
|
||||
semean := semean - ((GrandMean * GrandMean) / NoCases);
|
||||
semean := semean / (NoCases - 1);
|
||||
semean := sqrt(semean);
|
||||
GrandSD := semean;
|
||||
semean := semean / sqrt(NoCases);
|
||||
GrandMean := GrandMean / NoCases; // mean of all observations
|
||||
GrandSum := GrandSum / range; // mean of the group means
|
||||
UCL := GrandMean + (3.0 * semean);
|
||||
LCL := GrandMean - (3.0 * semean);
|
||||
if (LCL < 0.0) then LCL := 0.0;
|
||||
|
||||
// printed results
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
OutPutFrm.RichEdit.Lines.Add('CUMSUM Chart Results');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Group Size Mean Std.Dev. Cum.Dev. of');
|
||||
OutPutFrm.RichEdit.Lines.Add(' mean from Target');
|
||||
OutPutFrm.RichEdit.Lines.Add('_____ ____ ________ ________ ___________');
|
||||
for i := 0 to range-1 do
|
||||
begin
|
||||
outline := format(' %3d %3d %8.2f %8.2f %8.2f',
|
||||
[i+1,count[i], means[i], stddev[i], cumsums[i]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
outline := format('Mean of group deviations = %6.3f',[GrandSum]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Mean of all observations = %6.3f',[GrandMean]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Std. Dev. of Observations = %8.3f',[GrandSD]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Standard Error of Mean = %8.3f',[semean]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Target Specification = %6.3f',[Target]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Lower Control Limit = %8.3f, Upper Control Limit = %8.3f',
|
||||
[LCL, UCL]);
|
||||
OutPutfrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.ShowModal;
|
||||
|
||||
// show graph
|
||||
PlotMeans(cumsums,range,GrandSum,self);
|
||||
|
||||
cleanup:
|
||||
cumsums := nil;
|
||||
stddev := nil;
|
||||
count := nil;
|
||||
means := nil;
|
||||
ColNoSelected := nil;
|
||||
end;
|
||||
|
||||
procedure TCUMSUMFrm.PlotMeans(var means: DblDyneVec; NoGrps: integer;
|
||||
GrandMean: double; Sender: TObject);
|
||||
var
|
||||
i, xpos, ypos, hleft, hright, vtop, vbottom, imagewide : integer;
|
||||
vhi, hwide, offset, strhi, grpnospc, distx : integer;
|
||||
imagehi, maxval, minval, valincr, Yvalue : double;
|
||||
alpha, beta, delta, gamma, theta, kfactor, d : double;
|
||||
Title : string;
|
||||
begin
|
||||
maxval := -10000.0;
|
||||
minval := 10000.0;
|
||||
for i := 0 to NoGrps-1 do
|
||||
begin
|
||||
if means[i] > maxval then maxval := means[i];
|
||||
if means[i] < minval then minval := means[i];
|
||||
end;
|
||||
BlankFrm.Image1.Canvas.Clear;
|
||||
BlankFrm.Show;
|
||||
Title := 'CUMSUM CHART FOR : ' + OS3MainFrm.FileNameEdit.Text;
|
||||
BlankFrm.Caption := Title;
|
||||
imagewide := BlankFrm.Image1.Width;
|
||||
imagehi := BlankFrm.Image1.Height;
|
||||
vtop := 20;
|
||||
vbottom := round(imagehi) - 80;
|
||||
vhi := vbottom - vtop;
|
||||
hleft := 100;
|
||||
hright := imagewide - 80;
|
||||
hwide := hright - hleft;
|
||||
BlankFrm.Image1.Canvas.Pen.Color := clBlack;
|
||||
BlankFrm.Image1.Canvas.Brush.Color := clWhite;
|
||||
|
||||
// Draw chart border
|
||||
BlankFrm.Image1.Canvas.Rectangle(hleft,vtop-10,hleft+hwide,vtop+vhi+10);
|
||||
|
||||
// draw Grand Mean
|
||||
ypos := round(vhi * ( (maxval - GrandMean) / (maxval - minval)));
|
||||
ypos := ypos + vtop;
|
||||
xpos := hleft;
|
||||
BlankFrm.Image1.Canvas.MoveTo(xpos,ypos);
|
||||
xpos := hright;
|
||||
BlankFrm.Image1.Canvas.Pen.Color := clRed;
|
||||
BlankFrm.Image1.Canvas.LineTo(xpos,ypos);
|
||||
Title := 'AVG.DEV.';
|
||||
strhi := BlankFrm.Image1.Canvas.TextHeight(Title);
|
||||
ypos := ypos - strhi div 2;
|
||||
BlankFrm.Image1.Canvas.Brush.Color := clLtGray;
|
||||
BlankFrm.Image1.Canvas.TextOut(xpos,ypos,Title);
|
||||
|
||||
// draw horizontal axis
|
||||
BlankFrm.Image1.Canvas.MoveTo(hleft,vbottom + 20);
|
||||
BlankFrm.Image1.Canvas.LineTo(hright,vbottom + 20);
|
||||
for i := 1 to NoGrps do
|
||||
begin
|
||||
ypos := vbottom + 10;
|
||||
xpos := round((hwide / NoGrps)* i + hleft);
|
||||
BlankFrm.Image1.Canvas.MoveTo(xpos,ypos);
|
||||
ypos := ypos + 10;
|
||||
BlankFrm.Image1.Canvas.LineTo(xpos,ypos);
|
||||
Title := format('%d',[i]);
|
||||
offset := BlankFrm.Image1.Canvas.TextWidth(Title) div 2;
|
||||
strhi := BlankFrm.Image1.Canvas.TextHeight(Title);
|
||||
xpos := xpos - offset;
|
||||
ypos := ypos + strhi;
|
||||
BlankFrm.Image1.Canvas.Pen.Color := clBlack;
|
||||
BlankFrm.Image1.Canvas.TextOut(xpos,ypos,Title);
|
||||
xpos := 10;
|
||||
BlankFrm.Image1.Canvas.TextOut(xpos,ypos,'GROUPS:');
|
||||
end;
|
||||
|
||||
// Draw vertical axis
|
||||
valincr := (maxval - minval) / 10.0;
|
||||
for i := 1 to 11 do
|
||||
begin
|
||||
Title := format('%8.2f',[maxval - ((i-1)*valincr)]);
|
||||
strhi := BlankFrm.Image1.Canvas.TextHeight(Title);
|
||||
xpos := 10;
|
||||
Yvalue := maxval - (valincr * (i-1));
|
||||
ypos := round(vhi * ( (maxval - Yvalue) / (maxval - minval)));
|
||||
ypos := ypos + vtop - strhi div 2;
|
||||
BlankFrm.Image1.Canvas.TextOut(xpos,ypos,Title);
|
||||
end;
|
||||
|
||||
// draw lines for means of the groups
|
||||
ypos := round(vhi * ( (maxval - means[0]) / (maxval - minval)));
|
||||
ypos := ypos + vtop;
|
||||
xpos := round((hwide / NoGrps) + hleft);
|
||||
BlankFrm.Image1.Canvas.MoveTo(xpos,ypos);
|
||||
BlankFrm.Image1.Canvas.Pen.Color := clBlack;
|
||||
for i := 2 to NoGrps do
|
||||
begin
|
||||
ypos := round(vhi * ( (maxval - means[i-1]) / (maxval - minval)));
|
||||
ypos := ypos + vtop;
|
||||
xpos := round((hwide / NoGrps)* i + hleft);
|
||||
BlankFrm.Image1.Canvas.LineTo(xpos,ypos);
|
||||
end;
|
||||
|
||||
// Draw V Mask
|
||||
if CumsumFrm.DeltaEdit.Text = '' then exit; // not elected
|
||||
BlankFrm.Image1.Canvas.Pen.Color := clBlue;
|
||||
delta := StrToFloat(CumsumFrm.DeltaEdit.Text);
|
||||
gamma := delta / semean;
|
||||
alpha := StrToFloat(CumSumFrm.AlphaEdit.Text);
|
||||
beta := StrToFloat(CumSumFrm.BetaEdit.Text);
|
||||
kfactor := 2.0 * semean;
|
||||
d := (2.0 / (gamma * gamma)) * ln((1.0 - beta)/alpha);
|
||||
theta := arctan(delta / (2.0 * kfactor));
|
||||
grpnospc := round(hwide / NoGrps);
|
||||
xpos := hleft + (grpnospc * (NoGrps)); // last group
|
||||
ypos := round(vhi * ( (maxval - means[NoGrps-1]) / (maxval - minval)));
|
||||
ypos := ypos + vtop;
|
||||
BlankFrm.Image1.Canvas.MoveTo(xpos,ypos);
|
||||
xpos := round(xpos + (d * grpnospc / hwide)); // scaled d
|
||||
BlankFrm.Image1.Canvas.LineTo(xpos,ypos); // line 0 to A
|
||||
|
||||
// draw upper angle line
|
||||
xpos := hleft + (grpnospc * NoGrps); // last group
|
||||
xpos := round(xpos + (d * grpnospc / hwide)); // plus scaled d
|
||||
ypos := round(vhi * ( (maxval - means[NoGrps-1]) / (maxval - minval)));
|
||||
ypos := ypos + vtop;
|
||||
BlankFrm.Image1.Canvas.MoveTo(xpos,ypos);
|
||||
ypos := vtop; // draw angle up to top of graph
|
||||
distx := round(vhi / tan(theta)); // x unscaled distance
|
||||
xpos := round(xpos - (distx * grpnospc / hwide));
|
||||
BlankFrm.Image1.Canvas.LineTo(xpos,ypos);
|
||||
|
||||
// draw lower angle line
|
||||
xpos := hleft + (grpnospc * NoGrps); // last group
|
||||
xpos := round(xpos + (d * grpnospc / hwide)); // plus scaled d
|
||||
ypos := round(vhi * ( (maxval - means[NoGrps-1]) / (maxval - minval)));
|
||||
ypos := ypos + vtop;
|
||||
BlankFrm.Image1.Canvas.MoveTo(xpos,ypos);
|
||||
ypos := vbottom;
|
||||
xpos := round(xpos - (distx * grpnospc / hwide));
|
||||
BlankFrm.Image1.Canvas.LineTo(xpos,ypos);
|
||||
BlankFrm.Image1.Canvas.Pen.Color := clBlack;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I cumsumunit.lrs}
|
||||
|
||||
end.
|
||||
|
Reference in New Issue
Block a user