You've already forked lazarus-ccr
LazStats: Adding original source, part 2.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7881 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
584
applications/lazstats/source_orig/CANONUNIT.PAS
Normal file
584
applications/lazstats/source_orig/CANONUNIT.PAS
Normal file
@ -0,0 +1,584 @@
|
||||
unit CanonUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
MainUnit, OutPutUnit, FunctionsLib, GraphLib, Globals, DataProcs,
|
||||
MatrixLib, StdCtrls, Buttons, contexthelpunit;
|
||||
|
||||
type
|
||||
|
||||
{ TCannonFrm }
|
||||
|
||||
TCannonFrm = class(TForm)
|
||||
HelpBtn: TButton;
|
||||
ResetBtn: TButton;
|
||||
CancelBtn: TButton;
|
||||
ComputeBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
CorsChk: TCheckBox;
|
||||
InvChk: TCheckBox;
|
||||
EigenChk: TCheckBox;
|
||||
RedundChk: TCheckBox;
|
||||
GroupBox1: TGroupBox;
|
||||
LeftIn: TBitBtn;
|
||||
LeftOut: TBitBtn;
|
||||
RightIn: TBitBtn;
|
||||
RightOut: TBitBtn;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
Label3: TLabel;
|
||||
LeftList: TListBox;
|
||||
RightList: TListBox;
|
||||
VarList: TListBox;
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure HelpBtnClick(Sender: TObject);
|
||||
procedure LeftInClick(Sender: TObject);
|
||||
procedure LeftOutClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
procedure RightInClick(Sender: TObject);
|
||||
procedure RightOutClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
CannonFrm: TCannonFrm;
|
||||
|
||||
implementation
|
||||
|
||||
{ TCannonFrm }
|
||||
|
||||
procedure TCannonFrm.ResetBtnClick(Sender: TObject);
|
||||
VAR i : integer;
|
||||
begin
|
||||
VarList.Clear;
|
||||
LeftList.Clear;
|
||||
RightList.Clear;
|
||||
LeftOut.Visible := false;
|
||||
LeftIn.Visible := true;
|
||||
RightOut.Visible := false;
|
||||
RightIn.Visible := true;
|
||||
for i := 1 to NoVariables do
|
||||
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
|
||||
end;
|
||||
|
||||
procedure TCannonFrm.RightInClick(Sender: TObject);
|
||||
VAR i, index : integer;
|
||||
begin
|
||||
index := VarList.Items.Count;
|
||||
i := 0;
|
||||
while i < index do
|
||||
begin
|
||||
if (VarList.Selected[i]) then
|
||||
begin
|
||||
RightList.Items.Add(VarList.Items.Strings[i]);
|
||||
VarList.Items.Delete(i);
|
||||
index := index - 1;
|
||||
i := 0;
|
||||
end
|
||||
else i := i + 1;
|
||||
end;
|
||||
RightOut.Visible := true;
|
||||
end;
|
||||
|
||||
procedure TCannonFrm.RightOutClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := RightList.ItemIndex;
|
||||
if index < 0 then
|
||||
begin
|
||||
RightOut.Visible := false;
|
||||
exit;
|
||||
end;
|
||||
VarList.Items.Add(RightList.Items.Strings[index]);
|
||||
RightList.Items.Delete(index);
|
||||
end;
|
||||
|
||||
procedure TCannonFrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
ResetBtnClick(self);
|
||||
end;
|
||||
|
||||
procedure TCannonFrm.HelpBtnClick(Sender: TObject);
|
||||
begin
|
||||
ContextHelpForm.HelpMessage((Sender as TButton).tag);
|
||||
end;
|
||||
|
||||
procedure TCannonFrm.ComputeBtnClick(Sender: TObject);
|
||||
label cleanup;
|
||||
var
|
||||
i, j, k, count, a_size, b_size, no_factors, novars, prtopts, IER: integer;
|
||||
outline, cellstring, gridstring, SNo : string;
|
||||
s, m, n, df1, df2, q, w, pcnt_extracted, trace : double;
|
||||
minroot, critical_prob, Lambda, Pillia : double;
|
||||
chisqr, HLTrace, chiprob, ftestprob, Roys, f, Hroot : double;
|
||||
raa, rbb, rab, rba, bigmat, prod, first_prod, second_prod : DblDyneMat;
|
||||
char_equation, raainv, rbbinv, eigenvectors, norm_a, norm_b : DblDyneMat;
|
||||
raw_a, raw_b, a_cors, b_cors, eigentrans, theta, tempmat : DblDyneMat;
|
||||
mean, variance, stddev, roots, root_chi, chi_prob, pv_a, pv_b : DblDyneVec;
|
||||
rd_a, rd_b, pcnt_trace : DblDyneVec;
|
||||
root_df, a_vars, b_vars : IntDyneVec;
|
||||
selected : IntDyneVec;
|
||||
RowLabels, ColLabels : StrDyneVec;
|
||||
CanLabels : StrDyneVec;
|
||||
NCases : integer;
|
||||
title : string;
|
||||
errorcode : boolean;
|
||||
|
||||
begin
|
||||
k := 0;
|
||||
no_factors := 0;
|
||||
pcnt_extracted := 0.0;
|
||||
trace := 0.0;
|
||||
minroot := 0.0;
|
||||
critical_prob := 0.0;
|
||||
Pillia := 0.0;
|
||||
chisqr := 0.0;
|
||||
HLTrace := 0.0;
|
||||
chiprob := 0.0;
|
||||
|
||||
// Get size of the Left and Right matrices (predictors and dependents)
|
||||
a_size := LeftList.Items.Count;
|
||||
b_size := RightList.Items.Count;
|
||||
novars := a_size + b_size;
|
||||
|
||||
// allocate memory for matrices and vectors
|
||||
SetLength(raa,a_size,a_size);
|
||||
SetLength(rbb,b_size,b_size);
|
||||
SetLength(rab,a_size,b_size);
|
||||
SetLength(rba,b_size,a_size);
|
||||
SetLength(bigmat,novars+1,novars+1);
|
||||
SetLength(prod,novars,novars);
|
||||
SetLength(first_prod,novars,novars);
|
||||
SetLength(second_prod,novars,novars);
|
||||
SetLength(char_equation,novars,novars);
|
||||
SetLength(raainv,a_size,a_size);
|
||||
SetLength(rbbinv,b_size,b_size);
|
||||
SetLength(eigenvectors,novars,novars);
|
||||
SetLength(norm_a,novars,novars);
|
||||
SetLength(norm_b,novars,novars);
|
||||
SetLength(raw_a,novars,novars);
|
||||
SetLength(raw_b,novars,novars);
|
||||
SetLength(a_cors,novars,novars);
|
||||
SetLength(b_cors,novars,novars);
|
||||
SetLength(eigentrans,novars,novars);
|
||||
SetLength(theta,novars,novars);
|
||||
SetLength(tempmat,novars,novars);
|
||||
|
||||
SetLength(mean,novars);
|
||||
SetLength(variance,novars);
|
||||
SetLength(stddev,novars);
|
||||
SetLength(roots,novars);
|
||||
SetLength(root_chi,novars);
|
||||
SetLength(chi_prob,novars);
|
||||
SetLength(pv_a,novars);
|
||||
SetLength(pv_b,novars);
|
||||
SetLength(rd_a,novars);
|
||||
SetLength(rd_b,novars);
|
||||
SetLength(pcnt_trace,novars);
|
||||
|
||||
SetLength(root_df,novars);
|
||||
SetLength(a_vars,a_size);
|
||||
SetLength(b_vars,b_size);
|
||||
SetLength(CanLabels,novars);
|
||||
SetLength(RowLabels,novars);
|
||||
SetLength(ColLabels,novars);
|
||||
SetLength(Selected,novars);
|
||||
|
||||
//------------ WORK STARTS HERE! -------------------------------------
|
||||
|
||||
// Build labels for canonical functions 1 to novars
|
||||
for i := 1 to b_size do
|
||||
CanLabels[i-1]:='Var. ' + IntToStr(i);
|
||||
|
||||
// identify variables selected for left and right variables
|
||||
for i := 0 to a_size - 1 do // identify left variables
|
||||
begin
|
||||
cellstring := LeftList.Items.Strings[i];
|
||||
for j := 1 to NoVariables do
|
||||
begin
|
||||
gridstring := OS3MainFrm.DataGrid.Cells[j,0];
|
||||
if (cellstring = gridstring) then
|
||||
begin
|
||||
a_vars[i] := j;
|
||||
RowLabels[i] := gridstring;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
for i := 0 to b_size - 1 do // identify left variables
|
||||
begin
|
||||
cellstring := RightList.Items.Strings[i];
|
||||
for j := 1 to NoVariables do
|
||||
begin
|
||||
gridstring := OS3MainFrm.DataGrid.Cells[j,0];
|
||||
if (cellstring = gridstring) then
|
||||
begin
|
||||
b_vars[i] := j;
|
||||
ColLabels[i] := gridstring;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
// build list of all variables selected
|
||||
for i := 1 to a_size do selected[i-1] := a_vars[i-1];
|
||||
for i := 1 to b_size do selected[i-1 + a_size] := b_vars[i-1];
|
||||
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
OutPutFrm.RichEdit.Lines.Add('CANONICAL CORRELATION ANALYSIS');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
// Get means, standard deviations, etc. for total matrix
|
||||
Correlations(novars,selected,bigmat,mean,variance,stddev,errorcode,Ncases);
|
||||
count := Ncases;
|
||||
if (IER = 1)then
|
||||
begin
|
||||
ShowMessage('Zero variance found for a variable-terminating');
|
||||
goto cleanup;
|
||||
end;
|
||||
|
||||
//partition matrix into quadrants
|
||||
for i := 1 to a_size do
|
||||
for j := 1 to a_size do raa[i-1,j-1]:= bigmat[i-1,j-1];
|
||||
|
||||
for i := a_size + 1 to novars do
|
||||
for j := a_size + 1 to novars do
|
||||
rbb[i-1-a_size,j-1-a_size] := bigmat[i-1,j-1];
|
||||
|
||||
for i := 1 to a_size do
|
||||
for j := a_size + 1 to novars do
|
||||
rab[i-1,j-1-a_size] := bigmat[i-1,j-1];
|
||||
|
||||
for i := a_size + 1 to novars do
|
||||
for j := 1 to a_size do
|
||||
rba[i-1-a_size,j-1] := bigmat[i-1,j-1];
|
||||
|
||||
if CorsChk.Checked then
|
||||
begin
|
||||
title := 'Left Correlation Matrix';
|
||||
MAT_PRINT(raa,a_size,a_size,title,RowLabels,RowLabels,NCases);
|
||||
title := 'Right Correlation Matrix';
|
||||
MAT_PRINT(rbb,b_size,b_size,title,ColLabels,ColLabels,NCases);
|
||||
title := 'Left-Right Correlation Matrix';
|
||||
MAT_PRINT(rab,a_size,b_size,title,RowLabels,ColLabels,NCases);
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
end;
|
||||
|
||||
// get inverses of left and right hand matrices raa and rbb
|
||||
for i := 1 to a_size do
|
||||
for j := 1 to a_size do
|
||||
raainv[i-1,j-1] := raa[i-1,j-1];
|
||||
SVDinverse(raainv,a_size);
|
||||
if InvChk.Checked then
|
||||
begin
|
||||
title := 'Inverse of Left Matrix';
|
||||
MAT_PRINT(raainv,a_size,a_size,title,RowLabels,RowLabels,NCases);
|
||||
end;
|
||||
|
||||
for i := 1 to b_size do
|
||||
for j := 1 to b_size do
|
||||
rbbinv[i-1,j-1] := rbb[i-1,j-1];
|
||||
SVDinverse(rbbinv,b_size);
|
||||
if InvChk.Checked then
|
||||
begin
|
||||
title := 'Inverse of Right Matrix';
|
||||
MAT_PRINT(rbbinv,b_size,b_size,title,ColLabels,ColLabels,NCases);
|
||||
end;
|
||||
|
||||
// get products of raainv x rab and the rbbinv x rba matrix
|
||||
MatAxB(first_prod,rbbinv,rba,b_size,b_size,b_size,a_size,errorcode);
|
||||
MatAxB(second_prod,raainv,rab,a_size,a_size,a_size,b_size,errorcode);
|
||||
title := 'Right Inverse x Right-Left Matrix';
|
||||
MAT_PRINT(first_prod,b_size,a_size,title,ColLabels,RowLabels,NCases);
|
||||
title := 'Left Inverse x Left-Right Matrix';
|
||||
MAT_PRINT(second_prod,a_size,b_size,title,RowLabels,ColLabels,NCases);
|
||||
|
||||
//get characteristic equations matrix (product of last two product matrices
|
||||
//The product should yeild rows and cols representing the smaller of the two sets
|
||||
MatAxB(char_equation,first_prod,second_prod,b_size,a_size, a_size,b_size,errorcode);
|
||||
title := 'Canonical Function';
|
||||
MAT_PRINT(char_equation,b_size,b_size,title,CanLabels,CanLabels,NCases);
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
|
||||
// now get roots and vectors of the characteristic equation using
|
||||
// NonSymRoots routine
|
||||
minroot := 0.0;
|
||||
for i := 1 to b_size do
|
||||
begin
|
||||
roots[i-1] := 0.0;
|
||||
pcnt_trace[i-1] := 0.0;
|
||||
for j := 1 to b_size do eigenvectors[i-1,j-1] := 0.0;
|
||||
end;
|
||||
trace := 0.0;
|
||||
no_factors := b_size;
|
||||
nonsymroots(char_equation, b_size, no_factors, minroot, eigenvectors, roots,
|
||||
pcnt_trace, trace, pcnt_extracted);
|
||||
outline := format('Trace of the matrix:=%10.4f',[trace]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Percent of trace extracted: %10.4f',[pcnt_extracted]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
|
||||
// Normalize smaller set weights and coumpute larger set weights
|
||||
MATTRN(eigentrans,eigenvectors,b_size,b_size);
|
||||
MatAxB(tempmat,eigentrans,rbb,b_size,b_size,b_size,b_size,errorcode);
|
||||
MatAxB(theta,tempmat,eigenvectors,b_size,b_size,b_size,b_size,errorcode);
|
||||
for j := 1 to b_size do
|
||||
begin
|
||||
q := 1.0 / sqrt(theta[j-1,j-1]);
|
||||
for i := 1 to b_size do
|
||||
begin
|
||||
norm_b[i-1,j-1] := eigenvectors[i-1,j-1] * q;
|
||||
raw_b[i-1,j-1] := norm_b[i-1,j-1] / stddev[a_size+i-1];
|
||||
end;
|
||||
end;
|
||||
MatAxB(norm_a,second_prod,norm_b,a_size,b_size,b_size,b_size,errorcode);
|
||||
for j := 1 to b_size do
|
||||
begin
|
||||
for i := 1 to a_size do
|
||||
begin
|
||||
norm_a[i-1,j-1] := norm_a[i-1,j-1] * (1.0 / sqrt(roots[j-1]));
|
||||
raw_a[i-1,j-1] := norm_a[i-1,j-1] / stddev[i-1];
|
||||
end;
|
||||
end;
|
||||
|
||||
// Compute the correlations between variables and canonical variables
|
||||
MatAxB(a_cors,raa,norm_a,a_size,a_size,a_size,b_size,errorcode);
|
||||
for j := 1 to b_size do
|
||||
begin
|
||||
q := 0.0;
|
||||
for i := 1 to a_size do q := q + norm_a[i-1,j-1] * a_cors[i-1,j-1];
|
||||
q := 1.0 / sqrt(q);
|
||||
for i := 1 to a_size do a_cors[i-1,j-1] := a_cors[i-1,j-1] * q;
|
||||
end;
|
||||
MatAxB(b_cors,rbb,norm_b,b_size,b_size,b_size,b_size,errorcode);
|
||||
for j := 1 to b_size do
|
||||
begin
|
||||
q := 0.0;
|
||||
for i := 1 to b_size do q := q + norm_b[i-1,j-1] * b_cors[i-1,j-1];
|
||||
q := 1.0 / sqrt(q);
|
||||
for i := 1 to b_size do b_cors[i-1,j-1] := b_cors[i-1,j-1] * q;
|
||||
end;
|
||||
|
||||
// Compute the Proportions of Variance (PVs) and Redundancy Coefficients
|
||||
for j := 1 to b_size do
|
||||
begin
|
||||
pv_a[j-1] := 0.0;
|
||||
for i := 1 to a_size do pv_a[j-1] := pv_a[j-1] + (a_cors[i-1,j-1] * a_cors[i-1,j-1]);
|
||||
pv_a[j-1] := pv_a[j-1] / a_size;
|
||||
rd_a[j-1] := pv_a[j-1] * roots[j-1];
|
||||
end;
|
||||
for j := 1 to b_size do
|
||||
begin
|
||||
pv_b[j-1] := 0.0;
|
||||
for i := 1 to b_size do pv_b[j-1] := pv_b[j-1] + (b_cors[i-1,j-1] * b_cors[i-1,j-1]);
|
||||
pv_b[j-1] := pv_b[j-1] / b_size;
|
||||
rd_b[j-1] := pv_b[j-1] * roots[j-1];
|
||||
end;
|
||||
|
||||
// Compute tests of the roots
|
||||
q := a_size + b_size + 1;
|
||||
q := -(count - 1.0 - (q / 2.0));
|
||||
k := 0;
|
||||
for i := 1 to b_size do
|
||||
begin
|
||||
w := 1.0;
|
||||
for j := i to b_size do w := w * (1.0 - roots[j-1]);
|
||||
root_chi[i-1] := q * ln(w);
|
||||
root_df[i-1] := (a_size - i + 1) * (b_size - i + 1);
|
||||
chi_prob[i-1] := 1.0 - chisquaredprob(root_chi[i-1],root_df[i-1]);
|
||||
if (chi_prob[i-1] < critical_prob) then k := k + 1;
|
||||
end;
|
||||
Roys := roots[0] / (1.0 - roots[0]);
|
||||
Lambda := 1.0;
|
||||
for i := 1 to b_size do
|
||||
begin
|
||||
Hroot := roots[i-1] / (1.0 - roots[i-1]);
|
||||
Lambda := Lambda * (1.0 / (1.0 + Hroot));
|
||||
Pillia := Pillia + (Hroot / (1.0 + Hroot));
|
||||
HLTrace := HLTrace + Hroot;
|
||||
end;
|
||||
|
||||
// Print remaining results
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
outline := ' Canonical R Root % Trace Chi-Sqr D.F. Prob.';
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
for i := 1 to b_size do
|
||||
begin
|
||||
outline := format('%2d %10.6f %8.3f %7.3f %8.3f %2d %8.3f',
|
||||
[i, sqrt(roots[i-1]), roots[i-1], pcnt_trace[i-1], root_chi[i-1], root_df[i-1], chi_prob[i-1]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
chisqr := -ln(Lambda) * (count - 1.0 - 0.5 * (a_size + b_size - 1.0));
|
||||
chiprob := 1.0 - chisquaredprob(chisqr,a_size * b_size);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Overall Tests of Significance:');
|
||||
OutPutFrm.RichEdit.Lines.Add(' Statistic Approx. Stat. Value D.F. Prob.>Value');
|
||||
outline := format('Wilk''s Lambda Chi-Squared %10.4f %3d %6.4f',
|
||||
[chisqr,a_size * b_size,chiprob]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
s := b_size;
|
||||
m := 0.5 * (a_size - b_size - 1);
|
||||
n := 0.5 * (count - b_size - a_size - 2);
|
||||
f := (HLTrace * 2.0 * (s * n + 1)) / (s * s * (2.0 * m + s + 1.0));
|
||||
df1 := s * (2.0 * m + s + 1.0);
|
||||
df2 := 2.0 * ( s * n + 1.0);
|
||||
ftestprob := probf(f,df1,df2);
|
||||
outline := format('Hotelling-Lawley Trace F-Test %10.4f %2.0f %2.0f %6.4f',
|
||||
[f, df1,df2, ftestprob]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
df2 := s * (2.0 * n + s + 1.0);
|
||||
f := (Pillia / (s - Pillia)) * ( (2.0 * n + s +1.0) / (2.0 * m + s + 1.0) );
|
||||
ftestprob := probf(f,df1,df2);
|
||||
outline := format('Pillai Trace F-Test %10.4f %2.0f %2.0f %6.4f',
|
||||
[f, df1,df2, ftestprob]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
Roys := Roys * (count - 1 - a_size + b_size)/ a_size ;
|
||||
df1 := a_size;
|
||||
df2 := count - 1 - a_size + b_size;
|
||||
ftestprob := probf(Roys,df1,df2);
|
||||
outline := format('Roys Largest Root F-Test %10.4f %2.0f %2.0f %6.4f',
|
||||
[Roys, df1, df2, ftestprob]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
|
||||
if EigenChk.Checked then
|
||||
begin
|
||||
title := 'Eigenvectors';
|
||||
MAT_PRINT(eigenvectors,b_size,b_size,title,CanLabels,CanLabels,NCases);
|
||||
OutPutFrm.ShowModal();
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
end;
|
||||
|
||||
title := 'Standardized Right Side Weights';
|
||||
MAT_PRINT(norm_a,a_size,b_size,title,RowLabels,CanLabels,NCases);
|
||||
title := 'Standardized Left Side Weights';
|
||||
MAT_PRINT(norm_b,b_size,b_size,title,ColLabels,CanLabels,NCases);
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
title := 'Raw Right Side Weights';
|
||||
MAT_PRINT(raw_a,a_size,b_size,title,RowLabels,CanLabels,NCases);
|
||||
title := 'Raw Left Side Weights';
|
||||
MAT_PRINT(raw_b,b_size,b_size,title,ColLabels,CanLabels,NCases);
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
title := 'Right Side Correlations with Function';
|
||||
MAT_PRINT(a_cors,a_size,b_size,title,RowLabels,CanLabels,NCases);
|
||||
title := 'Left Side Correlations with Function';
|
||||
MAT_PRINT(b_cors,b_size,b_size,title,ColLabels,CanLabels,NCases);
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
|
||||
if RedundChk.Checked then
|
||||
begin
|
||||
outline := 'Redundancy Analysis for Right Side Variables';
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
outline := ' Variance Prop. Redundancy';
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
for i := 1 to b_size do
|
||||
begin
|
||||
outline := format('%10d %10.5f %10.5f',[i,pv_a[i-1],rd_a[i-1]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
outline := 'Redundancy Analysis for Left Side Variables';
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := ' Variance Prop. Redundancy';
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
for i := 1 to b_size do
|
||||
begin
|
||||
outline := format('%10d %10.5f %10.5f',[i,pv_b[i-1],rd_b[i-1]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
end;
|
||||
|
||||
//------------- Now, clean up memory mess ----------------------------
|
||||
cleanup:
|
||||
Selected := nil;
|
||||
ColLabels := nil;
|
||||
RowLabels := nil;
|
||||
CanLabels := nil;
|
||||
b_vars := nil;
|
||||
a_vars := nil;
|
||||
root_df := nil;
|
||||
pcnt_trace := nil;
|
||||
rd_b := nil;
|
||||
rd_a := nil;
|
||||
pv_b := nil;
|
||||
pv_a := nil;
|
||||
chi_prob := nil;
|
||||
root_chi := nil;
|
||||
roots := nil;
|
||||
stddev := nil;
|
||||
variance := nil;
|
||||
mean := nil;
|
||||
tempmat := nil;
|
||||
theta := nil;
|
||||
eigentrans := nil;
|
||||
b_cors := nil;
|
||||
a_cors := nil;
|
||||
raw_b := nil;
|
||||
raw_a := nil;
|
||||
norm_b := nil;
|
||||
norm_a := nil;
|
||||
eigenvectors := nil;
|
||||
rbbinv := nil;
|
||||
raainv := nil;
|
||||
char_equation := nil;
|
||||
second_prod := nil;
|
||||
first_prod := nil;
|
||||
prod := nil;
|
||||
rba := nil;
|
||||
rab := nil;
|
||||
rbb := nil;
|
||||
raa := nil;
|
||||
end;
|
||||
|
||||
procedure TCannonFrm.LeftInClick(Sender: TObject);
|
||||
VAR i, index : integer;
|
||||
begin
|
||||
index := VarList.Items.Count;
|
||||
i := 0;
|
||||
while i < index do
|
||||
begin
|
||||
if (VarList.Selected[i]) then
|
||||
begin
|
||||
LeftList.Items.Add(VarList.Items.Strings[i]);
|
||||
VarList.Items.Delete(i);
|
||||
index := index - 1;
|
||||
i := 0;
|
||||
end
|
||||
else i := i + 1;
|
||||
end;
|
||||
LeftOut.Visible := true;
|
||||
end;
|
||||
|
||||
procedure TCannonFrm.LeftOutClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := LeftList.ItemIndex;
|
||||
if index < 0 then
|
||||
begin
|
||||
LeftOut.Visible := false;
|
||||
exit;
|
||||
end;
|
||||
VarList.Items.Add(LeftList.Items.Strings[index]);
|
||||
LeftList.Items.Delete(index);
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I canonunit.lrs}
|
||||
|
||||
end.
|
||||
|
328
applications/lazstats/source_orig/CANONUNIT.lfm
Normal file
328
applications/lazstats/source_orig/CANONUNIT.lfm
Normal file
@ -0,0 +1,328 @@
|
||||
object CannonFrm: TCannonFrm
|
||||
Left = 261
|
||||
Height = 318
|
||||
Top = 157
|
||||
Width = 513
|
||||
Caption = 'Cannical Correlation Analysis'
|
||||
ClientHeight = 318
|
||||
ClientWidth = 513
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.28.2'
|
||||
object Label1: TLabel
|
||||
Left = 6
|
||||
Height = 14
|
||||
Top = 7
|
||||
Width = 94
|
||||
Caption = 'Available Variables:'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 222
|
||||
Height = 14
|
||||
Top = 9
|
||||
Width = 95
|
||||
Caption = 'Left-Hand Variables'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label3: TLabel
|
||||
Left = 223
|
||||
Height = 14
|
||||
Top = 152
|
||||
Width = 101
|
||||
Caption = 'Right-Hand Variables'
|
||||
ParentColor = False
|
||||
end
|
||||
object VarList: TListBox
|
||||
Left = 6
|
||||
Height = 263
|
||||
Top = 24
|
||||
Width = 155
|
||||
ItemHeight = 0
|
||||
MultiSelect = True
|
||||
TabOrder = 0
|
||||
end
|
||||
object LeftIn: TBitBtn
|
||||
Left = 176
|
||||
Height = 29
|
||||
Top = 24
|
||||
Width = 35
|
||||
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 = LeftInClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object LeftOut: TBitBtn
|
||||
Left = 176
|
||||
Height = 29
|
||||
Top = 56
|
||||
Width = 35
|
||||
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 = LeftOutClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object RightIn: TBitBtn
|
||||
Left = 176
|
||||
Height = 29
|
||||
Top = 160
|
||||
Width = 35
|
||||
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 = RightInClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object RightOut: TBitBtn
|
||||
Left = 176
|
||||
Height = 29
|
||||
Top = 192
|
||||
Width = 35
|
||||
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 = RightOutClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object LeftList: TListBox
|
||||
Left = 219
|
||||
Height = 113
|
||||
Top = 25
|
||||
Width = 135
|
||||
ItemHeight = 0
|
||||
TabOrder = 5
|
||||
end
|
||||
object RightList: TListBox
|
||||
Left = 222
|
||||
Height = 118
|
||||
Top = 168
|
||||
Width = 133
|
||||
ItemHeight = 0
|
||||
TabOrder = 6
|
||||
end
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 368
|
||||
Height = 94
|
||||
Top = 9
|
||||
Width = 138
|
||||
Caption = 'Options'
|
||||
ClientHeight = 76
|
||||
ClientWidth = 134
|
||||
TabOrder = 7
|
||||
object CorsChk: TCheckBox
|
||||
Left = 7
|
||||
Height = 17
|
||||
Top = 1
|
||||
Width = 78
|
||||
Caption = 'Correlations'
|
||||
TabOrder = 0
|
||||
end
|
||||
object InvChk: TCheckBox
|
||||
Left = 7
|
||||
Height = 17
|
||||
Top = 17
|
||||
Width = 90
|
||||
Caption = 'Matrix Inverse'
|
||||
TabOrder = 1
|
||||
end
|
||||
object EigenChk: TCheckBox
|
||||
Left = 7
|
||||
Height = 17
|
||||
Top = 33
|
||||
Width = 82
|
||||
Caption = 'Eigenvectors'
|
||||
TabOrder = 2
|
||||
end
|
||||
object RedundChk: TCheckBox
|
||||
Left = 7
|
||||
Height = 17
|
||||
Top = 49
|
||||
Width = 87
|
||||
Caption = 'Redundancies'
|
||||
TabOrder = 3
|
||||
end
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 392
|
||||
Height = 32
|
||||
Top = 152
|
||||
Width = 78
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 8
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 392
|
||||
Height = 32
|
||||
Top = 192
|
||||
Width = 78
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 9
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 392
|
||||
Height = 32
|
||||
Top = 232
|
||||
Width = 78
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 10
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 392
|
||||
Height = 32
|
||||
Top = 272
|
||||
Width = 78
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 11
|
||||
end
|
||||
object HelpBtn: TButton
|
||||
Tag = 111
|
||||
Left = 392
|
||||
Height = 32
|
||||
Top = 112
|
||||
Width = 80
|
||||
Caption = 'Help'
|
||||
OnClick = HelpBtnClick
|
||||
TabOrder = 12
|
||||
end
|
||||
end
|
244
applications/lazstats/source_orig/CANONUNIT.lrs
Normal file
244
applications/lazstats/source_orig/CANONUNIT.lrs
Normal file
@ -0,0 +1,244 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TCannonFrm','FORMDATA',[
|
||||
'TPF0'#10'TCannonFrm'#9'CannonFrm'#4'Left'#3#5#1#6'Height'#3'>'#1#3'Top'#3#157
|
||||
+#0#5'Width'#3#1#2#7'Caption'#6#29'Cannical Correlation Analysis'#12'ClientHe'
|
||||
+'ight'#3'>'#1#11'ClientWidth'#3#1#2#6'OnShow'#7#8'FormShow'#10'LCLVersion'#6
|
||||
+#8'0.9.28.2'#0#6'TLabel'#6'Label1'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#7#5'W'
|
||||
+'idth'#2'^'#7'Caption'#6#20'Available Variables:'#11'ParentColor'#8#0#0#6'TL'
|
||||
+'abel'#6'Label2'#4'Left'#3#222#0#6'Height'#2#14#3'Top'#2#9#5'Width'#2'_'#7'C'
|
||||
+'aption'#6#19'Left-Hand Variables'#11'ParentColor'#8#0#0#6'TLabel'#6'Label3'
|
||||
+#4'Left'#3#223#0#6'Height'#2#14#3'Top'#3#152#0#5'Width'#2'e'#7'Caption'#6#20
|
||||
+'Right-Hand Variables'#11'ParentColor'#8#0#0#8'TListBox'#7'VarList'#4'Left'#2
|
||||
+#6#6'Height'#3#7#1#3'Top'#2#24#5'Width'#3#155#0#10'ItemHeight'#2#0#11'MultiS'
|
||||
+'elect'#9#8'TabOrder'#2#0#0#0#7'TBitBtn'#6'LeftIn'#4'Left'#3#176#0#6'Height'
|
||||
+#2#29#3'Top'#2#24#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#11'LeftInClick'#8'TabOrder'#2#1#0#0#7'TBitBtn'
|
||||
+#7'LeftOut'#4'Left'#3#176#0#6'Height'#2#29#3'Top'#2'8'#5'Width'#2'#'#10'Glyp'
|
||||
+'h.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#12
|
||||
+'LeftOutClick'#8'TabOrder'#2#2#0#0#7'TBitBtn'#7'RightIn'#4'Left'#3#176#0#6'H'
|
||||
+'eight'#2#29#3'Top'#3#160#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#12'RightInClick'#8'TabOrder'#2#3
|
||||
+#0#0#7'TBitBtn'#8'RightOut'#4'Left'#3#176#0#6'Height'#2#29#3'Top'#3#192#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'NumGlyp'
|
||||
+'hs'#2#0#7'OnClick'#7#13'RightOutClick'#8'TabOrder'#2#4#0#0#8'TListBox'#8'Le'
|
||||
+'ftList'#4'Left'#3#219#0#6'Height'#2'q'#3'Top'#2#25#5'Width'#3#135#0#10'Item'
|
||||
+'Height'#2#0#8'TabOrder'#2#5#0#0#8'TListBox'#9'RightList'#4'Left'#3#222#0#6
|
||||
+'Height'#2'v'#3'Top'#3#168#0#5'Width'#3#133#0#10'ItemHeight'#2#0#8'TabOrder'
|
||||
+#2#6#0#0#9'TGroupBox'#9'GroupBox1'#4'Left'#3'p'#1#6'Height'#2'^'#3'Top'#2#9#5
|
||||
+'Width'#3#138#0#7'Caption'#6#7'Options'#12'ClientHeight'#2'L'#11'ClientWidth'
|
||||
+#3#134#0#8'TabOrder'#2#7#0#9'TCheckBox'#7'CorsChk'#4'Left'#2#7#6'Height'#2#17
|
||||
+#3'Top'#2#1#5'Width'#2'N'#7'Caption'#6#12'Correlations'#8'TabOrder'#2#0#0#0#9
|
||||
+'TCheckBox'#6'InvChk'#4'Left'#2#7#6'Height'#2#17#3'Top'#2#17#5'Width'#2'Z'#7
|
||||
+'Caption'#6#14'Matrix Inverse'#8'TabOrder'#2#1#0#0#9'TCheckBox'#8'EigenChk'#4
|
||||
+'Left'#2#7#6'Height'#2#17#3'Top'#2'!'#5'Width'#2'R'#7'Caption'#6#12'Eigenvec'
|
||||
+'tors'#8'TabOrder'#2#2#0#0#9'TCheckBox'#9'RedundChk'#4'Left'#2#7#6'Height'#2
|
||||
+#17#3'Top'#2'1'#5'Width'#2'W'#7'Caption'#6#12'Redundancies'#8'TabOrder'#2#3#0
|
||||
+#0#0#7'TButton'#8'ResetBtn'#4'Left'#3#136#1#6'Height'#2' '#3'Top'#3#152#0#5
|
||||
+'Width'#2'N'#7'Caption'#6#5'Reset'#7'OnClick'#7#13'ResetBtnClick'#8'TabOrder'
|
||||
+#2#8#0#0#7'TButton'#9'CancelBtn'#4'Left'#3#136#1#6'Height'#2' '#3'Top'#3#192
|
||||
+#0#5'Width'#2'N'#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#9#0
|
||||
+#0#7'TButton'#10'ComputeBtn'#4'Left'#3#136#1#6'Height'#2' '#3'Top'#3#232#0#5
|
||||
+'Width'#2'N'#7'Caption'#6#7'Compute'#7'OnClick'#7#15'ComputeBtnClick'#8'TabO'
|
||||
+'rder'#2#10#0#0#7'TButton'#9'ReturnBtn'#4'Left'#3#136#1#6'Height'#2' '#3'Top'
|
||||
+#3#16#1#5'Width'#2'N'#7'Caption'#6#6'Return'#11'ModalResult'#2#1#8'TabOrder'
|
||||
+#2#11#0#0#7'TButton'#7'HelpBtn'#3'Tag'#2'o'#4'Left'#3#136#1#6'Height'#2' '#3
|
||||
+'Top'#2'p'#5'Width'#2'P'#7'Caption'#6#4'Help'#7'OnClick'#7#12'HelpBtnClick'#8
|
||||
+'TabOrder'#2#12#0#0#0
|
||||
]);
|
123
applications/lazstats/source_orig/CCHARTUNIT.lfm
Normal file
123
applications/lazstats/source_orig/CCHARTUNIT.lfm
Normal file
@ -0,0 +1,123 @@
|
||||
object cChartFrm: TcChartFrm
|
||||
Left = 156
|
||||
Height = 308
|
||||
Top = 111
|
||||
Width = 386
|
||||
Caption = 'Defects C Chart'
|
||||
ClientHeight = 308
|
||||
ClientWidth = 386
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.28.2'
|
||||
object Label1: TLabel
|
||||
Left = 9
|
||||
Height = 14
|
||||
Top = 8
|
||||
Width = 90
|
||||
Caption = 'Selection Variables'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 171
|
||||
Height = 14
|
||||
Top = 24
|
||||
Width = 111
|
||||
Caption = 'Measurement Variable:'
|
||||
ParentColor = False
|
||||
end
|
||||
object VarList: TListBox
|
||||
Left = 7
|
||||
Height = 224
|
||||
Top = 24
|
||||
Width = 151
|
||||
ItemHeight = 0
|
||||
OnClick = VarListClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object MeasEdit: TEdit
|
||||
Left = 171
|
||||
Height = 21
|
||||
Top = 40
|
||||
Width = 142
|
||||
TabOrder = 1
|
||||
Text = 'MeasEdit'
|
||||
end
|
||||
object SigmaOpts: TRadioGroup
|
||||
Left = 171
|
||||
Height = 104
|
||||
Top = 72
|
||||
Width = 204
|
||||
AutoFill = True
|
||||
Caption = 'No. of Sigma Units for UCL and LCL'
|
||||
ChildSizing.LeftRightSpacing = 6
|
||||
ChildSizing.TopBottomSpacing = 6
|
||||
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
|
||||
ChildSizing.EnlargeVertical = crsHomogenousChildResize
|
||||
ChildSizing.ShrinkHorizontal = crsScaleChilds
|
||||
ChildSizing.ShrinkVertical = crsScaleChilds
|
||||
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
||||
ChildSizing.ControlsPerLine = 1
|
||||
ClientHeight = 86
|
||||
ClientWidth = 200
|
||||
Items.Strings = (
|
||||
'3 Sigma (Default)'
|
||||
'2 Sigma'
|
||||
'1 Sigma'
|
||||
'X Sigmas where X = '
|
||||
)
|
||||
TabOrder = 2
|
||||
end
|
||||
object XSigmaEdit: TEdit
|
||||
Left = 312
|
||||
Height = 21
|
||||
Top = 144
|
||||
Width = 45
|
||||
TabOrder = 3
|
||||
Text = 'XSigmaEdit'
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 272
|
||||
Height = 32
|
||||
Top = 184
|
||||
Width = 82
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 171
|
||||
Height = 28
|
||||
Top = 224
|
||||
Width = 80
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 5
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 272
|
||||
Height = 28
|
||||
Top = 224
|
||||
Width = 80
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 6
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 224
|
||||
Height = 32
|
||||
Top = 264
|
||||
Width = 77
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 7
|
||||
end
|
||||
object HelpBtn: TButton
|
||||
Tag = 112
|
||||
Left = 171
|
||||
Height = 32
|
||||
Top = 184
|
||||
Width = 80
|
||||
Caption = 'Help'
|
||||
OnClick = HelpBtnClick
|
||||
TabOrder = 8
|
||||
end
|
||||
end
|
36
applications/lazstats/source_orig/CCHARTUNIT.lrs
Normal file
36
applications/lazstats/source_orig/CCHARTUNIT.lrs
Normal file
@ -0,0 +1,36 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TcChartFrm','FORMDATA',[
|
||||
'TPF0'#10'TcChartFrm'#9'cChartFrm'#4'Left'#3#156#0#6'Height'#3'4'#1#3'Top'#2
|
||||
+'o'#5'Width'#3#130#1#7'Caption'#6#15'Defects C Chart'#12'ClientHeight'#3'4'#1
|
||||
+#11'ClientWidth'#3#130#1#6'OnShow'#7#8'FormShow'#10'LCLVersion'#6#8'0.9.28.2'
|
||||
+#0#6'TLabel'#6'Label1'#4'Left'#2#9#6'Height'#2#14#3'Top'#2#8#5'Width'#2'Z'#7
|
||||
+'Caption'#6#19'Selection Variables'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'
|
||||
+#4'Left'#3#171#0#6'Height'#2#14#3'Top'#2#24#5'Width'#2'o'#7'Caption'#6#21'Me'
|
||||
+'asurement Variable:'#11'ParentColor'#8#0#0#8'TListBox'#7'VarList'#4'Left'#2
|
||||
+#7#6'Height'#3#224#0#3'Top'#2#24#5'Width'#3#151#0#10'ItemHeight'#2#0#7'OnCli'
|
||||
+'ck'#7#12'VarListClick'#8'TabOrder'#2#0#0#0#5'TEdit'#8'MeasEdit'#4'Left'#3
|
||||
+#171#0#6'Height'#2#21#3'Top'#2'('#5'Width'#3#142#0#8'TabOrder'#2#1#4'Text'#6
|
||||
+#8'MeasEdit'#0#0#11'TRadioGroup'#9'SigmaOpts'#4'Left'#3#171#0#6'Height'#2'h'
|
||||
+#3'Top'#2'H'#5'Width'#3#204#0#8'AutoFill'#9#7'Caption'#6'"No. of Sigma Units'
|
||||
+' for UCL and LCL'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBo'
|
||||
+'ttomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildR'
|
||||
+'esize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'Ch'
|
||||
+'ildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVerti'
|
||||
+'cal'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTop'
|
||||
+'ToBottom'#27'ChildSizing.ControlsPerLine'#2#1#12'ClientHeight'#2'V'#11'Clie'
|
||||
+'ntWidth'#3#200#0#13'Items.Strings'#1#6#17'3 Sigma (Default)'#6#7'2 Sigma'#6
|
||||
+#7'1 Sigma'#6#19'X Sigmas where X = '#0#8'TabOrder'#2#2#0#0#5'TEdit'#10'XSig'
|
||||
+'maEdit'#4'Left'#3'8'#1#6'Height'#2#21#3'Top'#3#144#0#5'Width'#2'-'#8'TabOrd'
|
||||
+'er'#2#3#4'Text'#6#10'XSigmaEdit'#0#0#7'TButton'#8'ResetBtn'#4'Left'#3#16#1#6
|
||||
+'Height'#2' '#3'Top'#3#184#0#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#171
|
||||
+#0#6'Height'#2#28#3'Top'#3#224#0#5'Width'#2'P'#7'Caption'#6#6'Cancel'#11'Mod'
|
||||
+'alResult'#2#2#8'TabOrder'#2#5#0#0#7'TButton'#10'ComputeBtn'#4'Left'#3#16#1#6
|
||||
+'Height'#2#28#3'Top'#3#224#0#5'Width'#2'P'#7'Caption'#6#7'Compute'#7'OnClick'
|
||||
+#7#15'ComputeBtnClick'#8'TabOrder'#2#6#0#0#7'TButton'#9'ReturnBtn'#4'Left'#3
|
||||
+#224#0#6'Height'#2' '#3'Top'#3#8#1#5'Width'#2'M'#7'Caption'#6#6'Return'#11'M'
|
||||
+'odalResult'#2#1#8'TabOrder'#2#7#0#0#7'TButton'#7'HelpBtn'#3'Tag'#2'p'#4'Lef'
|
||||
+'t'#3#171#0#6'Height'#2' '#3'Top'#3#184#0#5'Width'#2'P'#7'Caption'#6#4'Help'
|
||||
+#7'OnClick'#7#12'HelpBtnClick'#8'TabOrder'#2#8#0#0#0
|
||||
]);
|
555
applications/lazstats/source_orig/CHISQRUNIT.PAS
Normal file
555
applications/lazstats/source_orig/CHISQRUNIT.PAS
Normal file
@ -0,0 +1,555 @@
|
||||
unit ChiSqrUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
ExtCtrls, StdCtrls, Buttons, MainUnit, OutPutUnit, FunctionsLib,
|
||||
GraphLib, Globals, MatrixLib, DataProcs, Math, DictionaryUnit;
|
||||
|
||||
type
|
||||
|
||||
{ TChiSqrFrm }
|
||||
|
||||
TChiSqrFrm = class(TForm)
|
||||
ResetBtn: TButton;
|
||||
CancelBtn: TButton;
|
||||
ComputeBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
ObsChk: TCheckBox;
|
||||
ExpChk: TCheckBox;
|
||||
PropsChk: TCheckBox;
|
||||
CellChiChk: TCheckBox;
|
||||
SaveFChk: TCheckBox;
|
||||
GroupBox1: TGroupBox;
|
||||
YatesChk: TCheckBox;
|
||||
RowIn: TBitBtn;
|
||||
RowOut: TBitBtn;
|
||||
ColIn: TBitBtn;
|
||||
ColOut: TBitBtn;
|
||||
DepIn: TBitBtn;
|
||||
DepOut: TBitBtn;
|
||||
NCasesEdit: TEdit;
|
||||
NCasesLabel: TLabel;
|
||||
RowEdit: TEdit;
|
||||
ColEdit: TEdit;
|
||||
DepEdit: TEdit;
|
||||
InputGrp: TRadioGroup;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
Label3: TLabel;
|
||||
AnalyzeLabel: TLabel;
|
||||
VarList: TListBox;
|
||||
procedure ColInClick(Sender: TObject);
|
||||
procedure ColOutClick(Sender: TObject);
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
procedure DepInClick(Sender: TObject);
|
||||
procedure DepOutClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure InputGrpClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
procedure ReturnBtnClick(Sender: TObject);
|
||||
procedure RowInClick(Sender: TObject);
|
||||
procedure RowOutClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
ChiSqrFrm: TChiSqrFrm;
|
||||
|
||||
implementation
|
||||
|
||||
{ TChiSqrFrm }
|
||||
|
||||
procedure TChiSqrFrm.ResetBtnClick(Sender: TObject);
|
||||
VAR i : integer;
|
||||
begin
|
||||
VarList.Clear;
|
||||
RowEdit.Text := '';
|
||||
ColEdit.Text := '';
|
||||
DepEdit.Text := '';
|
||||
DepEdit.Visible := false;
|
||||
RowIn.Visible := true;
|
||||
RowOut.Visible := false;
|
||||
ColIn.Visible := true;
|
||||
ColOut.Visible := false;
|
||||
DepIn.Visible := false;
|
||||
DepOut.Visible := false;
|
||||
NCasesLabel.Visible := false;
|
||||
AnalyzeLabel.Visible := false;
|
||||
NCasesEdit.Text := '';
|
||||
NCasesEdit.Visible := false;
|
||||
InputGrp.ItemIndex := 0;
|
||||
ObsChk.Checked := false;
|
||||
ExpChk.Checked := false;
|
||||
PropsChk.Checked := false;
|
||||
CellChiChk.Checked := false;
|
||||
SaveFChk.Checked := false;
|
||||
for i := 1 to NoVariables do
|
||||
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
|
||||
end;
|
||||
|
||||
procedure TChiSqrFrm.ReturnBtnClick(Sender: TObject);
|
||||
begin
|
||||
ChiSqrFrm.Hide;
|
||||
end;
|
||||
|
||||
procedure TChiSqrFrm.RowInClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := VarList.ItemIndex;
|
||||
RowEdit.Text := VarList.Items.Strings[index];
|
||||
VarList.Items.Delete(index);
|
||||
RowIn.Visible := false;
|
||||
RowOut.Visible := true;
|
||||
end;
|
||||
|
||||
procedure TChiSqrFrm.RowOutClick(Sender: TObject);
|
||||
begin
|
||||
VarList.Items.Add(RowEdit.Text);
|
||||
RowEdit.Text := '';
|
||||
RowIn.Visible := true;
|
||||
RowOut.Visible := false;
|
||||
end;
|
||||
|
||||
procedure TChiSqrFrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
ResetBtnClick(self);
|
||||
end;
|
||||
|
||||
procedure TChiSqrFrm.ColInClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := VarList.ItemIndex;
|
||||
ColEdit.Text := VarList.Items.Strings[index];
|
||||
VarList.Items.Delete(index);
|
||||
ColIn.Visible := false;
|
||||
ColOut.Visible := true;
|
||||
end;
|
||||
|
||||
procedure TChiSqrFrm.ColOutClick(Sender: TObject);
|
||||
begin
|
||||
VarList.Items.Add(ColEdit.Text);
|
||||
ColEdit.Text := '';
|
||||
ColIn.Visible := true;
|
||||
ColOut.Visible := false;
|
||||
end;
|
||||
|
||||
procedure TChiSqrFrm.ComputeBtnClick(Sender: TObject);
|
||||
var
|
||||
i, j, RowNo, ColNo, DepNo, MinRow, MaxRow, MinCol, MaxCol : integer;
|
||||
Row, Col, NoSelected, Ncases, Nrows, Ncols, FObs, df : integer;
|
||||
RowLabels, ColLabels : StrDyneVec;
|
||||
ColNoSelected : IntDyneVec;
|
||||
cellstring, outline : string;
|
||||
Freq : IntDyneMat;
|
||||
Prop, Expected, CellChi : DblDyneMat;
|
||||
PObs, ChiSquare, ProbChi, phi, SumX, SumY, VarX, VarY, liklihood : double;
|
||||
yates : boolean;
|
||||
title : string;
|
||||
filename : string;
|
||||
Adjchisqr, probliklihood, G, pearsonr, MantelHaenszel, MHprob : double;
|
||||
Adjprobchi, CoefCont, CramerV : double;
|
||||
begin
|
||||
SetLength(ColNoSelected,NoVariables);
|
||||
yates := false;
|
||||
RowNo := 0;
|
||||
ColNo := 0;
|
||||
DepNo := 0;
|
||||
for i := 1 to NoVariables do
|
||||
begin
|
||||
cellstring := OS3MainFrm.DataGrid.Cells[i,0];
|
||||
if cellstring = RowEdit.Text then RowNo := i;
|
||||
if cellstring = ColEdit.Text then ColNo := i;
|
||||
if cellstring = DepEdit.Text then DepNo := i;
|
||||
end;
|
||||
ColNoSelected[0] := RowNo;
|
||||
ColNoSelected[1] := ColNo;
|
||||
NoSelected := 2;
|
||||
if InputGrp.ItemIndex > 0 then // for reading proportions or frequencies
|
||||
begin
|
||||
NoSelected := 3;
|
||||
ColNoSelected[2] := DepNo;
|
||||
end;
|
||||
// get min and max of row and col numbers
|
||||
MinRow := 1000;
|
||||
MaxRow := 0;
|
||||
MinCol := 1000;
|
||||
MaxCol := 0;
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
if NOT GoodRecord(i,NoSelected,ColNoSelected) then continue;
|
||||
Row := round(StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[RowNo,i])));
|
||||
Col := round(StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[ColNo,i])));
|
||||
if Row > MaxRow then MaxRow := Row;
|
||||
if Row < MinRow then MinRow := Row;
|
||||
if Col > MaxCol then MaxCol := Col;
|
||||
if Col < MinCol then MinCol := Col;
|
||||
end;
|
||||
Nrows := MaxRow - MinRow + 1;
|
||||
Ncols := MaxCol - MinCol + 1;
|
||||
|
||||
// allocate and initialize
|
||||
SetLength(Freq,Nrows+1,Ncols+1);
|
||||
SetLength(Prop,Nrows+1,Ncols+1);
|
||||
SetLength(Expected,Nrows,Ncols);
|
||||
SetLength(CellChi,Nrows,Ncols);
|
||||
SetLength(RowLabels,Nrows+1);
|
||||
SetLength(ColLabels,Ncols+1);
|
||||
for i := 1 to Nrows + 1 do
|
||||
for j := 1 to Ncols + 1 do Freq[i-1,j-1] := 0;
|
||||
|
||||
// get cell data
|
||||
NCases := 0;
|
||||
case InputGrp.ItemIndex of
|
||||
0 : begin // count number of cases in each row and column combination
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
if not GoodRecord(i,NoSelected,ColNoSelected) then continue;
|
||||
NCases := NCases + 1;
|
||||
Row := round(StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[RowNo,i])));
|
||||
Col := round(StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[ColNo,i])));
|
||||
Row := Row - MinRow + 1;
|
||||
Col := Col - MinCol + 1;
|
||||
Freq[Row-1,Col-1] := Freq[Row-1,Col-1] + 1;
|
||||
end;
|
||||
end;
|
||||
1 : begin // read frequencies data from grid
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
if not GoodRecord(i,NoSelected,ColNoSelected) then continue;
|
||||
Row := round(StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[RowNo,i])));
|
||||
Col := round(StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[ColNo,i])));
|
||||
Row := Row - MinRow + 1;
|
||||
Col := Col - MinCol + 1;
|
||||
FObs := round(StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[DepNo,i])));
|
||||
Freq[Row-1,Col-1] := Freq[Row-1,Col-1] + FObs;
|
||||
NCases := NCases + FObs;
|
||||
end;
|
||||
end;
|
||||
2 : begin // get no. of cases and proportions for each cell
|
||||
NCases := StrToInt(NCasesEdit.Text);
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
if not GoodRecord(i,NoSelected,ColNoSelected) then continue;
|
||||
Row := round(StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[RowNo,i])));
|
||||
Col := round(StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[ColNo,i])));
|
||||
Row := Row - MinRow + 1;
|
||||
Col := Col - MinCol + 1;
|
||||
PObs := StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[DepNo,i]));
|
||||
Freq[Row-1,Col-1] := Freq[Row-1,Col-1] + round(PObs * NCases);
|
||||
end;
|
||||
end;
|
||||
end; // end case
|
||||
Freq[Nrows,Ncols] := NCases;
|
||||
|
||||
// Now, calculate expected values
|
||||
// Get row totals first
|
||||
for i := 1 to Nrows do
|
||||
for j := 1 to Ncols do
|
||||
Freq[i-1,Ncols] := Freq[i-1,Ncols] + Freq[i-1,j-1];
|
||||
// Get col totals next
|
||||
for j := 1 to Ncols do
|
||||
for i := 1 to Nrows do
|
||||
Freq[Nrows,j-1] := Freq[Nrows,j-1] + Freq[i-1,j-1];
|
||||
// Then get expected values and cell chi-squares
|
||||
ChiSquare := 0.0;
|
||||
AdjChisqr := 0.0;
|
||||
if (YatesChk.Checked) and (Nrows = 2) and (Ncols = 2) then yates := true;
|
||||
for i := 1 to Nrows do
|
||||
begin
|
||||
for j := 1 to Ncols do
|
||||
begin
|
||||
Expected[i-1,j-1] := Freq[Nrows,j-1] * Freq[i-1,Ncols] / NCases;
|
||||
if Expected[i-1,j-1] > 0.0 then
|
||||
CellChi[i-1,j-1] := sqr(Freq[i-1,j-1] - Expected[i-1,j-1])
|
||||
/ Expected[i-1,j-1]
|
||||
else begin
|
||||
ShowMessage('ERROR! Zero expected value found.');
|
||||
CellChi[i-1,j-1] := 0.0;
|
||||
end;
|
||||
ChiSquare := ChiSquare + CellChi[i-1,j-1];
|
||||
end;
|
||||
end;
|
||||
df := (Nrows - 1) * (Ncols - 1);
|
||||
if yates = true then // 2 x 2 corrected chi-square
|
||||
begin
|
||||
Adjchisqr := abs((Freq[0,0] * Freq[1,1]) - (Freq[0,1] * Freq[1,0]));
|
||||
Adjchisqr := sqr(Adjchisqr - NCases / 2.0) * NCases; // numerator
|
||||
Adjchisqr := Adjchisqr / (Freq[0,2] * Freq[1,2] * Freq[2,0] * Freq[2,1]);
|
||||
Adjprobchi := 1.0 - chisquaredprob(Adjchisqr,df);
|
||||
end;
|
||||
ProbChi := 1.0 - chisquaredprob(ChiSquare,df); // prob. larger chi
|
||||
|
||||
//Print results to output form
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
OutPutFrm.RichEdit.Lines.Add('Chi-square Analysis Results');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
|
||||
// print tables requested by use
|
||||
for i := 1 to Nrows do RowLabels[i-1] := format('Row %d',[i]);
|
||||
RowLabels[Nrows] := 'Total';
|
||||
for j := 1 to Ncols do ColLabels[j-1] := format('COL.%d',[j]);
|
||||
ColLabels[Ncols] := 'Total';
|
||||
|
||||
if ObsChk.Checked then
|
||||
begin
|
||||
IntArrayPrint(Freq, Nrows+1, Ncols+1,'Rows',
|
||||
RowLabels, ColLabels,'OBSERVED FREQUENCIES');
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
end;
|
||||
|
||||
if ExpChk.Checked then
|
||||
begin
|
||||
title := 'EXPECTED FREQUENCIES';
|
||||
MAT_Print(Expected,Nrows,Ncols,title,RowLabels,ColLabels,NCases);
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
end;
|
||||
|
||||
if PropsChk.Checked then
|
||||
begin
|
||||
title := 'ROW PROPORTIONS';
|
||||
for i := 1 to Nrows + 1 do
|
||||
begin
|
||||
for j := 1 to Ncols do
|
||||
begin
|
||||
if Freq[i-1,Ncols] > 0.0 then
|
||||
Prop[i-1,j-1] := Freq[i-1,j-1] / Freq[i-1,Ncols]
|
||||
else Prop[i-1,j-1] := 0.0;
|
||||
end;
|
||||
if Freq[i-1,Ncols] > 0.0 then Prop[i-1,Ncols] := 1.0
|
||||
else Prop[i-1,Ncols] := 0.0;
|
||||
end;
|
||||
MAT_PRINT(Prop,Nrows+1,Ncols+1,title,RowLabels,ColLabels,NCases);
|
||||
title := 'COLUMN PROPORTIONS';
|
||||
for j := 1 to Ncols + 1 do
|
||||
begin
|
||||
for i := 1 to Nrows do
|
||||
begin
|
||||
if Freq[Nrows,j-1] > 0.0 then
|
||||
Prop[i-1,j-1] := Freq[i-1,j-1] / Freq[Nrows,j-1]
|
||||
else Prop[i-1,j-1] := 0.0;
|
||||
end;
|
||||
if Freq[Nrows,j-1] > 0.0 then Prop[NRows,j-1] := 1.0
|
||||
else Prop[NRows,j-1] := 0.0;
|
||||
end;
|
||||
MAT_PRINT(Prop,Nrows+1,Ncols+1,title,RowLabels,ColLabels,NCases);
|
||||
Title := 'PROPORTIONS OF TOTAL N';
|
||||
for i := 1 to Nrows + 1 do
|
||||
for j := 1 to Ncols + 1 do Prop[i-1,j-1] := Freq[i-1,j-1] / NCases;
|
||||
Prop[Nrows,Ncols] := 1.0;
|
||||
MAT_PRINT(Prop,Nrows+1,Ncols+1,title,RowLabels,ColLabels,NCases);
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
end;
|
||||
|
||||
if CellChiChk.Checked then
|
||||
begin
|
||||
title := 'CHI-SQUARED VALUE FOR CELLS';
|
||||
MAT_PRINT(CellChi,Nrows,Ncols,title,RowLabels,ColLabels,NCases);
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
end;
|
||||
|
||||
outline := format('Chi-square = %8.3f with D.F. = %d. Prob. > value = %8.3f',
|
||||
[ChiSquare,df,ProbChi]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
if yates = true then
|
||||
begin
|
||||
outline := format('Chi-square using Yates correction = %8.3f and Prob > value = %8.3f',
|
||||
[Adjchisqr,Adjprobchi]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
|
||||
liklihood := 0.0;
|
||||
for i := 0 to Nrows-1 do
|
||||
for j := 0 to Ncols-1 do
|
||||
if (Freq[i,j] > 0.0) then
|
||||
liklihood := Liklihood + (Freq[i,j] * (ln(Expected[i,j] / Freq[i,j])));
|
||||
liklihood := -2.0 * liklihood;
|
||||
probliklihood := 1.0 - chisquaredprob(liklihood,df);
|
||||
outline := format('Liklihood Ratio = %8.3f with prob. > value = %6.4f',
|
||||
[liklihood,probliklihood]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
G := 0.0;
|
||||
for i := 0 to Nrows-1 do
|
||||
for j := 0 to Ncols-1 do
|
||||
if (Expected[i,j] > 0) then
|
||||
G := G + Freq[i,j] * (ln(Freq[i,j] / Expected[i,j]));
|
||||
G := 2.0 * G;
|
||||
probliklihood := 1.0 - chisquaredprob(G,df);
|
||||
outline := format('G statistic = %8.3f with prob. > value = %6.4f',[G,probliklihood]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
|
||||
if ((Nrows > 1) and (Ncols > 1)) then
|
||||
begin
|
||||
phi := sqrt(ChiSquare / Ncases);
|
||||
outline := format('phi correlation = %6.4f',[phi]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
|
||||
pearsonr := 0.0;
|
||||
SumX := 0.0;
|
||||
SumY := 0.0;
|
||||
VarX := 0.0;
|
||||
VarY := 0.0;
|
||||
for i := 0 to Nrows-1 do SumX := SumX + ( (i+1) * Freq[i,Ncols] );
|
||||
for j := 0 to Ncols-1 do SumY := SumY + ( (j+1) * Freq[Nrows,j] );
|
||||
for i := 0 to Nrows-1 do VarX := VarX + ( ((i+1)*(i+1)) * Freq[i,Ncols] );
|
||||
for j := 0 to Ncols-1 do VarY := VarY + ( ((j+1)*(j+1)) * Freq[Nrows,j] );
|
||||
VarX := VarX - ((SumX * SumX) / Ncases);
|
||||
VarY := VarY - ((SumY * SumY) / Ncases);
|
||||
for i := 0 to Nrows-1 do
|
||||
for j := 0 to Ncols-1 do
|
||||
pearsonr := pearsonr + ((i+1)*(j+1) * Freq[i,j]);
|
||||
pearsonr := pearsonr - (SumX * SumY / Ncases);
|
||||
pearsonr := pearsonr / sqrt(VarX * VarY);
|
||||
outline := format('Pearson Correlation r = %6.4f',[pearsonr]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
|
||||
MantelHaenszel := (Ncases-1) * (pearsonr * pearsonr);
|
||||
MHprob := 1.0 - chisquaredprob(MantelHaenszel,1);
|
||||
outline := format('Mantel-Haenszel Test of Linear Association = %8.3f with probability > value = %6.4f',
|
||||
[MantelHaenszel, MHprob]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
|
||||
CoefCont := sqrt(ChiSquare / (ChiSquare + Ncases));
|
||||
outline := format('The coefficient of contingency = %8.3f',[CoefCont]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
|
||||
if (Nrows < Ncols) then
|
||||
CramerV := sqrt(ChiSquare / (Ncases * ((Nrows-1))))
|
||||
else CramerV := sqrt(ChiSquare / (Ncases * ((Ncols-1))));
|
||||
outline := format('Cramers V = %8.3f',[CramerV]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
end;
|
||||
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
|
||||
// save frequency data file if elected
|
||||
if SaveFChk.Checked then
|
||||
begin
|
||||
OS3MainFrm.CloseFileBtnClick(self);
|
||||
OS3MainFrm.FileNameEdit.Text := '';
|
||||
for i := 1 to DictionaryFrm.DictGrid.RowCount - 1 do
|
||||
for j := 0 to 7 do DictionaryFrm.DictGrid.Cells[j,i] := '';
|
||||
DictionaryFrm.DictGrid.RowCount := 1;
|
||||
// DictionaryFrm.FileNameEdit.Text := '';
|
||||
|
||||
// get labels for new file
|
||||
ColLabels[0] := 'ROW';
|
||||
ColLabels[1] := 'COL';
|
||||
ColLabels[2] := 'FREQ';
|
||||
// create new variables
|
||||
Row := 0;
|
||||
OS3MainFrm.DataGrid.ColCount := 4;
|
||||
DictionaryFrm.DictGrid.ColCount := 8;
|
||||
NoVariables := 0;
|
||||
for i := 1 to 3 do
|
||||
begin
|
||||
col := NoVariables + 1;
|
||||
DictionaryFrm.NewVar(col);
|
||||
DictionaryFrm.DictGrid.Cells[1,col] := ColLabels[i-1];
|
||||
OS3MainFrm.DataGrid.Cells[col,0] := ColLabels[i-1];
|
||||
NoVariables := NoVariables + 1;
|
||||
end;
|
||||
OS3MainFrm.DataGrid.RowCount := (Nrows * NCols) + 1;
|
||||
for i := 1 to Nrows do
|
||||
begin
|
||||
for j := 1 to Ncols do
|
||||
begin
|
||||
Row := Row + 1;
|
||||
OS3MainFrm.DataGrid.Cells[0,Row] := format('Case:%d',[Row]);
|
||||
OS3MainFrm.DataGrid.Cells[1,Row] := IntToStr(i);
|
||||
OS3MainFrm.DataGrid.Cells[2,Row] := IntToStr(j);
|
||||
OS3MainFrm.DataGrid.Cells[3,Row] := IntToStr(Freq[i-1,j-1]);
|
||||
end;
|
||||
end;
|
||||
NoCases := Row;
|
||||
OS3MainFrm.FileNameEdit.Text := 'ChiSqrFreq.LAZ';
|
||||
OS3MainFrm.NoCasesEdit.Text := IntToStr(NoCases);
|
||||
OS3MainFrm.NoVarsEdit.Text := IntToStr(NoVariables);
|
||||
// OS3MainFrm.SaveFileBtnClick(self);
|
||||
end;
|
||||
|
||||
//clean up
|
||||
ColLabels := nil;
|
||||
RowLabels := nil;
|
||||
CellChi := nil;
|
||||
Expected := nil;
|
||||
Prop := nil;
|
||||
Freq := nil;
|
||||
ColNoSelected := nil;
|
||||
ResetBtnClick(self);
|
||||
end;
|
||||
|
||||
procedure TChiSqrFrm.DepInClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := VarList.ItemIndex;
|
||||
DepEdit.Text := VarList.Items.Strings[index];
|
||||
VarList.Items.Delete(index);
|
||||
DepIn.Visible := false;
|
||||
DepOut.Visible := true;
|
||||
end;
|
||||
|
||||
procedure TChiSqrFrm.DepOutClick(Sender: TObject);
|
||||
begin
|
||||
VarList.Items.Add(DepEdit.Text);
|
||||
DepEdit.Text := '';
|
||||
DepIn.Visible := true;
|
||||
DepOut.Visible := false;
|
||||
end;
|
||||
|
||||
procedure TChiSqrFrm.InputGrpClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := InputGrp.ItemIndex;
|
||||
if index = 2 then // only proportions available - get N size
|
||||
begin
|
||||
NCasesLabel.Visible := true;
|
||||
AnalyzeLabel.Visible := true;
|
||||
NCasesEdit.Visible := true;
|
||||
NCasesEdit.SetFocus;
|
||||
DepIn.Visible := true;
|
||||
DepOut.Visible := false;
|
||||
DepEdit.Visible := true;
|
||||
end;
|
||||
if index = 1 then // frequencies available for each row and column combo
|
||||
begin
|
||||
NCasesLabel.Visible := false;
|
||||
NCasesEdit.Visible := false;
|
||||
DepIn.Visible := true;
|
||||
DepEdit.Visible := true;
|
||||
AnalyzeLabel.Visible := true;
|
||||
end;
|
||||
if index = 0 then // have to count cases in each row and col. combination
|
||||
begin
|
||||
NCasesLabel.Visible := false;
|
||||
NCasesEdit.Visible := false;
|
||||
DepIn.Visible := false;
|
||||
DepOut.Visible := false;
|
||||
DepEdit.Visible := false;
|
||||
end;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I chisqrunit.lrs}
|
||||
|
||||
end.
|
||||
|
481
applications/lazstats/source_orig/CHISQRUNIT.lfm
Normal file
481
applications/lazstats/source_orig/CHISQRUNIT.lfm
Normal file
@ -0,0 +1,481 @@
|
||||
object ChiSqrFrm: TChiSqrFrm
|
||||
Left = 173
|
||||
Height = 486
|
||||
Top = 99
|
||||
Width = 425
|
||||
Caption = 'Contingency Chi Squared'
|
||||
ClientHeight = 486
|
||||
ClientWidth = 425
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.30'
|
||||
object Label1: TLabel
|
||||
Left = 7
|
||||
Height = 16
|
||||
Top = 111
|
||||
Width = 99
|
||||
Caption = 'Available Variables'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 206
|
||||
Height = 16
|
||||
Top = 136
|
||||
Width = 69
|
||||
Caption = 'Row Variable'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label3: TLabel
|
||||
Left = 205
|
||||
Height = 16
|
||||
Top = 203
|
||||
Width = 89
|
||||
Caption = 'Column Variable'
|
||||
ParentColor = False
|
||||
end
|
||||
object AnalyzeLabel: TLabel
|
||||
Left = 205
|
||||
Height = 16
|
||||
Top = 288
|
||||
Width = 101
|
||||
Caption = 'Variable to Analyze'
|
||||
ParentColor = False
|
||||
end
|
||||
object NCasesLabel: TLabel
|
||||
Left = 7
|
||||
Height = 16
|
||||
Top = 384
|
||||
Width = 100
|
||||
Caption = 'Total No. of Cases:'
|
||||
ParentColor = False
|
||||
end
|
||||
object InputGrp: TRadioGroup
|
||||
Left = 7
|
||||
Height = 87
|
||||
Top = 1
|
||||
Width = 409
|
||||
AutoFill = True
|
||||
Caption = 'Input Options'
|
||||
ChildSizing.LeftRightSpacing = 6
|
||||
ChildSizing.TopBottomSpacing = 6
|
||||
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
|
||||
ChildSizing.EnlargeVertical = crsHomogenousChildResize
|
||||
ChildSizing.ShrinkHorizontal = crsScaleChilds
|
||||
ChildSizing.ShrinkVertical = crsScaleChilds
|
||||
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
||||
ChildSizing.ControlsPerLine = 1
|
||||
ClientHeight = 69
|
||||
ClientWidth = 405
|
||||
Items.Strings = (
|
||||
'Count vases classified by row and column vectors in the data grid'
|
||||
'Use frequencies recorded in the data grid for row and column variables'
|
||||
'Use proportions recorded in the data grid for row and column variables'
|
||||
)
|
||||
OnClick = InputGrpClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object VarList: TListBox
|
||||
Left = 7
|
||||
Height = 222
|
||||
Top = 136
|
||||
Width = 153
|
||||
ItemHeight = 0
|
||||
TabOrder = 1
|
||||
end
|
||||
object RowIn: TBitBtn
|
||||
Left = 168
|
||||
Height = 26
|
||||
Top = 136
|
||||
Width = 30
|
||||
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 = 168
|
||||
Height = 26
|
||||
Top = 168
|
||||
Width = 30
|
||||
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 = 168
|
||||
Height = 26
|
||||
Top = 208
|
||||
Width = 30
|
||||
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 = 168
|
||||
Height = 26
|
||||
Top = 241
|
||||
Width = 30
|
||||
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 DepIn: TBitBtn
|
||||
Left = 168
|
||||
Height = 26
|
||||
Top = 288
|
||||
Width = 30
|
||||
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 = DepInClick
|
||||
TabOrder = 6
|
||||
end
|
||||
object DepOut: TBitBtn
|
||||
Left = 168
|
||||
Height = 26
|
||||
Top = 320
|
||||
Width = 30
|
||||
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 = DepOutClick
|
||||
TabOrder = 7
|
||||
end
|
||||
object RowEdit: TEdit
|
||||
Left = 206
|
||||
Height = 23
|
||||
Top = 152
|
||||
Width = 100
|
||||
TabOrder = 8
|
||||
Text = 'RowEdit'
|
||||
end
|
||||
object ColEdit: TEdit
|
||||
Left = 205
|
||||
Height = 23
|
||||
Top = 224
|
||||
Width = 100
|
||||
TabOrder = 9
|
||||
Text = 'Edit1'
|
||||
end
|
||||
object DepEdit: TEdit
|
||||
Left = 206
|
||||
Height = 23
|
||||
Top = 312
|
||||
Width = 100
|
||||
TabOrder = 10
|
||||
Text = 'Edit1'
|
||||
end
|
||||
object NCasesEdit: TEdit
|
||||
Left = 112
|
||||
Height = 23
|
||||
Top = 376
|
||||
Width = 41
|
||||
TabOrder = 11
|
||||
Text = 'NCasesEdit'
|
||||
end
|
||||
object YatesChk: TCheckBox
|
||||
Left = 7
|
||||
Height = 19
|
||||
Top = 416
|
||||
Width = 129
|
||||
Caption = 'Use Yates Correction'
|
||||
TabOrder = 12
|
||||
end
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 188
|
||||
Height = 119
|
||||
Top = 352
|
||||
Width = 210
|
||||
Caption = 'Output Options:'
|
||||
ClientHeight = 101
|
||||
ClientWidth = 206
|
||||
TabOrder = 13
|
||||
object ObsChk: TCheckBox
|
||||
Left = 8
|
||||
Height = 19
|
||||
Top = 0
|
||||
Width = 168
|
||||
Caption = 'Show Observed Frequencies'
|
||||
TabOrder = 0
|
||||
end
|
||||
object ExpChk: TCheckBox
|
||||
Left = 8
|
||||
Height = 19
|
||||
Top = 19
|
||||
Width = 165
|
||||
Caption = 'Show Expected Frequencies'
|
||||
TabOrder = 1
|
||||
end
|
||||
object PropsChk: TCheckBox
|
||||
Left = 8
|
||||
Height = 19
|
||||
Top = 39
|
||||
Width = 209
|
||||
Caption = 'Show Row and Column Proportions'
|
||||
TabOrder = 2
|
||||
end
|
||||
object CellChiChk: TCheckBox
|
||||
Left = 8
|
||||
Height = 19
|
||||
Top = 59
|
||||
Width = 178
|
||||
Caption = 'Show Cell Chi-Squared Values'
|
||||
TabOrder = 3
|
||||
end
|
||||
object SaveFChk: TCheckBox
|
||||
Left = 8
|
||||
Height = 19
|
||||
Top = 79
|
||||
Width = 173
|
||||
Caption = 'Save a File of Frequency Data'
|
||||
TabOrder = 4
|
||||
end
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 328
|
||||
Height = 27
|
||||
Top = 144
|
||||
Width = 70
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 14
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 328
|
||||
Height = 27
|
||||
Top = 192
|
||||
Width = 70
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 15
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 328
|
||||
Height = 27
|
||||
Top = 240
|
||||
Width = 70
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 16
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 328
|
||||
Height = 27
|
||||
Top = 288
|
||||
Width = 70
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
OnClick = ReturnBtnClick
|
||||
TabOrder = 17
|
||||
end
|
||||
end
|
368
applications/lazstats/source_orig/CHISQRUNIT.lrs
Normal file
368
applications/lazstats/source_orig/CHISQRUNIT.lrs
Normal file
@ -0,0 +1,368 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TChiSqrFrm','FORMDATA',[
|
||||
'TPF0'#10'TChiSqrFrm'#9'ChiSqrFrm'#4'Left'#3#173#0#6'Height'#3#230#1#3'Top'#2
|
||||
+'c'#5'Width'#3#169#1#7'Caption'#6#23'Contingency Chi Squared'#12'ClientHeigh'
|
||||
+'t'#3#230#1#11'ClientWidth'#3#169#1#6'OnShow'#7#8'FormShow'#10'LCLVersion'#6
|
||||
+#6'0.9.30'#0#6'TLabel'#6'Label1'#4'Left'#2#7#6'Height'#2#16#3'Top'#2'o'#5'Wi'
|
||||
+'dth'#2'c'#7'Caption'#6#19'Available Variables'#11'ParentColor'#8#0#0#6'TLab'
|
||||
+'el'#6'Label2'#4'Left'#3#206#0#6'Height'#2#16#3'Top'#3#136#0#5'Width'#2'E'#7
|
||||
+'Caption'#6#12'Row Variable'#11'ParentColor'#8#0#0#6'TLabel'#6'Label3'#4'Lef'
|
||||
+'t'#3#205#0#6'Height'#2#16#3'Top'#3#203#0#5'Width'#2'Y'#7'Caption'#6#15'Colu'
|
||||
+'mn Variable'#11'ParentColor'#8#0#0#6'TLabel'#12'AnalyzeLabel'#4'Left'#3#205
|
||||
+#0#6'Height'#2#16#3'Top'#3' '#1#5'Width'#2'e'#7'Caption'#6#19'Variable to An'
|
||||
+'alyze'#11'ParentColor'#8#0#0#6'TLabel'#11'NCasesLabel'#4'Left'#2#7#6'Height'
|
||||
+#2#16#3'Top'#3#128#1#5'Width'#2'd'#7'Caption'#6#19'Total No. of Cases:'#11'P'
|
||||
+'arentColor'#8#0#0#11'TRadioGroup'#8'InputGrp'#4'Left'#2#7#6'Height'#2'W'#3
|
||||
+'Top'#2#1#5'Width'#3#153#1#8'AutoFill'#9#7'Caption'#6#13'Input Options'#28'C'
|
||||
+'hildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'Ch'
|
||||
+'ildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.'
|
||||
+'EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizo'
|
||||
+'ntal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChil'
|
||||
+'ds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizi'
|
||||
+'ng.ControlsPerLine'#2#1#12'ClientHeight'#2'E'#11'ClientWidth'#3#149#1#13'It'
|
||||
+'ems.Strings'#1#6'ACount vases classified by row and column vectors in the d'
|
||||
+'ata grid'#6'FUse frequencies recorded in the data grid for row and column v'
|
||||
+'ariables'#6'FUse proportions recorded in the data grid for row and column v'
|
||||
+'ariables'#0#7'OnClick'#7#13'InputGrpClick'#8'TabOrder'#2#0#0#0#8'TListBox'#7
|
||||
+'VarList'#4'Left'#2#7#6'Height'#3#222#0#3'Top'#3#136#0#5'Width'#3#153#0#10'I'
|
||||
+'temHeight'#2#0#8'TabOrder'#2#1#0#0#7'TBitBtn'#5'RowIn'#4'Left'#3#168#0#6'He'
|
||||
+'ight'#2#26#3'Top'#3#136#0#5'Width'#2#30#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#168#0#6'Height'#2#26#3'Top'#3#168#0#5'Widt'
|
||||
+'h'#2#30#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'TabOrder'#2#3#0#0#7'TBitBtn'#5'ColIn'#4'Left'#3
|
||||
+#168#0#6'Height'#2#26#3'Top'#3#208#0#5'Width'#2#30#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'ColInClick'#8'TabOrder'
|
||||
+#2#4#0#0#7'TBitBtn'#6'ColOut'#4'Left'#3#168#0#6'Height'#2#26#3'Top'#3#241#0#5
|
||||
+'Width'#2#30#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'NumGlyp'
|
||||
+'hs'#2#0#7'OnClick'#7#11'ColOutClick'#8'TabOrder'#2#5#0#0#7'TBitBtn'#5'DepIn'
|
||||
+#4'Left'#3#168#0#6'Height'#2#26#3'Top'#3' '#1#5'Width'#2#30#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'DepInClick'#8
|
||||
+'TabOrder'#2#6#0#0#7'TBitBtn'#6'DepOut'#4'Left'#3#168#0#6'Height'#2#26#3'Top'
|
||||
+#3'@'#1#5'Width'#2#30#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'Num'
|
||||
+'Glyphs'#2#0#7'OnClick'#7#11'DepOutClick'#8'TabOrder'#2#7#0#0#5'TEdit'#7'Row'
|
||||
+'Edit'#4'Left'#3#206#0#6'Height'#2#23#3'Top'#3#152#0#5'Width'#2'd'#8'TabOrde'
|
||||
+'r'#2#8#4'Text'#6#7'RowEdit'#0#0#5'TEdit'#7'ColEdit'#4'Left'#3#205#0#6'Heigh'
|
||||
+'t'#2#23#3'Top'#3#224#0#5'Width'#2'd'#8'TabOrder'#2#9#4'Text'#6#5'Edit1'#0#0
|
||||
+#5'TEdit'#7'DepEdit'#4'Left'#3#206#0#6'Height'#2#23#3'Top'#3'8'#1#5'Width'#2
|
||||
+'d'#8'TabOrder'#2#10#4'Text'#6#5'Edit1'#0#0#5'TEdit'#10'NCasesEdit'#4'Left'#2
|
||||
+'p'#6'Height'#2#23#3'Top'#3'x'#1#5'Width'#2')'#8'TabOrder'#2#11#4'Text'#6#10
|
||||
+'NCasesEdit'#0#0#9'TCheckBox'#8'YatesChk'#4'Left'#2#7#6'Height'#2#19#3'Top'#3
|
||||
+#160#1#5'Width'#3#129#0#7'Caption'#6#20'Use Yates Correction'#8'TabOrder'#2
|
||||
+#12#0#0#9'TGroupBox'#9'GroupBox1'#4'Left'#3#188#0#6'Height'#2'w'#3'Top'#3'`'
|
||||
+#1#5'Width'#3#210#0#7'Caption'#6#15'Output Options:'#12'ClientHeight'#2'e'#11
|
||||
+'ClientWidth'#3#206#0#8'TabOrder'#2#13#0#9'TCheckBox'#6'ObsChk'#4'Left'#2#8#6
|
||||
+'Height'#2#19#3'Top'#2#0#5'Width'#3#168#0#7'Caption'#6#25'Show Observed Freq'
|
||||
+'uencies'#8'TabOrder'#2#0#0#0#9'TCheckBox'#6'ExpChk'#4'Left'#2#8#6'Height'#2
|
||||
+#19#3'Top'#2#19#5'Width'#3#165#0#7'Caption'#6#25'Show Expected Frequencies'#8
|
||||
+'TabOrder'#2#1#0#0#9'TCheckBox'#8'PropsChk'#4'Left'#2#8#6'Height'#2#19#3'Top'
|
||||
+#2''''#5'Width'#3#209#0#7'Caption'#6#31'Show Row and Column Proportions'#8'T'
|
||||
+'abOrder'#2#2#0#0#9'TCheckBox'#10'CellChiChk'#4'Left'#2#8#6'Height'#2#19#3'T'
|
||||
+'op'#2';'#5'Width'#3#178#0#7'Caption'#6#28'Show Cell Chi-Squared Values'#8'T'
|
||||
+'abOrder'#2#3#0#0#9'TCheckBox'#8'SaveFChk'#4'Left'#2#8#6'Height'#2#19#3'Top'
|
||||
+#2'O'#5'Width'#3#173#0#7'Caption'#6#29'Save a File of Frequency Data'#8'TabO'
|
||||
+'rder'#2#4#0#0#0#7'TButton'#8'ResetBtn'#4'Left'#3'H'#1#6'Height'#2#27#3'Top'
|
||||
+#3#144#0#5'Width'#2'F'#7'Caption'#6#5'Reset'#7'OnClick'#7#13'ResetBtnClick'#8
|
||||
+'TabOrder'#2#14#0#0#7'TButton'#9'CancelBtn'#4'Left'#3'H'#1#6'Height'#2#27#3
|
||||
+'Top'#3#192#0#5'Width'#2'F'#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'Tab'
|
||||
+'Order'#2#15#0#0#7'TButton'#10'ComputeBtn'#4'Left'#3'H'#1#6'Height'#2#27#3'T'
|
||||
+'op'#3#240#0#5'Width'#2'F'#7'Caption'#6#7'Compute'#7'OnClick'#7#15'ComputeBt'
|
||||
+'nClick'#8'TabOrder'#2#16#0#0#7'TButton'#9'ReturnBtn'#4'Left'#3'H'#1#6'Heigh'
|
||||
+'t'#2#27#3'Top'#3' '#1#5'Width'#2'F'#7'Caption'#6#6'Return'#11'ModalResult'#2
|
||||
+#1#7'OnClick'#7#14'ReturnBtnClick'#8'TabOrder'#2#17#0#0#0
|
||||
]);
|
197
applications/lazstats/source_orig/COCHRANQUNIT.PAS
Normal file
197
applications/lazstats/source_orig/COCHRANQUNIT.PAS
Normal file
@ -0,0 +1,197 @@
|
||||
unit CochranQUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Buttons, MainUnit, Globals, OutPutUnit, DataProcs, Math,
|
||||
FunctionsLib, contexthelpunit;
|
||||
|
||||
type
|
||||
|
||||
{ TCochranQFrm }
|
||||
|
||||
TCochranQFrm = class(TForm)
|
||||
HelpBtn: TButton;
|
||||
ResetBtn: TButton;
|
||||
CancelBtn: TButton;
|
||||
ComputeBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
InBtn: TBitBtn;
|
||||
Label2: TLabel;
|
||||
ListBox1: TListBox;
|
||||
OutBtn: TBitBtn;
|
||||
AllBtn: TBitBtn;
|
||||
Label1: TLabel;
|
||||
VarList: TListBox;
|
||||
procedure AllBtnClick(Sender: TObject);
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure HelpBtnClick(Sender: TObject);
|
||||
procedure InBtnClick(Sender: TObject);
|
||||
procedure OutBtnClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
CochranQFrm: TCochranQFrm;
|
||||
|
||||
implementation
|
||||
|
||||
{ TCochranQFrm }
|
||||
|
||||
procedure TCochranQFrm.ResetBtnClick(Sender: TObject);
|
||||
VAR i : integer;
|
||||
begin
|
||||
VarList.Clear;
|
||||
ListBox1.Clear;
|
||||
for i := 1 to NoVariables do
|
||||
begin
|
||||
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
|
||||
end;
|
||||
InBtn.Visible := true;
|
||||
OutBtn.Visible := false;
|
||||
end;
|
||||
|
||||
procedure TCochranQFrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
ResetBtnClick(self);
|
||||
end;
|
||||
|
||||
procedure TCochranQFrm.HelpBtnClick(Sender: TObject);
|
||||
begin
|
||||
ContextHelpForm.HelpMessage((Sender as TButton).tag);
|
||||
end;
|
||||
|
||||
procedure TCochranQFrm.AllBtnClick(Sender: TObject);
|
||||
VAR count, index : integer;
|
||||
begin
|
||||
count := VarList.Items.Count;
|
||||
if count = 0 then exit;
|
||||
for index := 0 to count-1 do
|
||||
begin
|
||||
ListBox1.Items.Add(VarList.Items.Strings[index]);
|
||||
end;
|
||||
VarList.Clear;
|
||||
InBtn.Visible := false;
|
||||
OutBtn.Visible := true;
|
||||
end;
|
||||
|
||||
procedure TCochranQFrm.ComputeBtnClick(Sender: TObject);
|
||||
var
|
||||
i, j, k, col : integer;
|
||||
ColNoSelected : IntDyneVec;
|
||||
R1, L1, L2, C1, g1, Q, g2, chiprob : double;
|
||||
cellstring, outline : string;
|
||||
begin
|
||||
SetLength(ColNoSelected,NoVariables);
|
||||
C1 := 0.0;
|
||||
k := ListBox1.Items.Count;
|
||||
// Get column numbers and labels of variables selected
|
||||
for i := 1 to k do
|
||||
begin
|
||||
cellstring := ListBox1.Items.Strings[i-1];
|
||||
for j := 1 to NoVariables do
|
||||
begin
|
||||
if (cellstring = OS3MainFrm.DataGrid.Cells[j,0]) then
|
||||
ColNoSelected[i-1] := j;
|
||||
end;
|
||||
end;
|
||||
|
||||
// Calculate results
|
||||
R1 := 0.0;
|
||||
L1 := 0.0;
|
||||
L2 := 0.0;
|
||||
g1 := 0.0;
|
||||
g2 := 0.0;
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
if (not GoodRecord(i,k,ColNoSelected)) then continue;
|
||||
for j := 1 to k do
|
||||
begin
|
||||
col := ColNoSelected[j-1];
|
||||
R1 := R1 + StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[col,i]));
|
||||
end;
|
||||
L1 := L1 + R1;
|
||||
L2 := L2 + (R1 * R1);
|
||||
R1 := 0.0;
|
||||
end;
|
||||
for j := 1 to k do
|
||||
begin
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
if (not GoodRecord(i,k,ColNoSelected)) then continue;
|
||||
col := ColNoSelected[j-1];
|
||||
C1 := C1 + StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[col,i]));
|
||||
end;
|
||||
g1 := g1 + C1;
|
||||
g2 := g2 + (C1 * C1);
|
||||
C1 := 0.0;
|
||||
end;
|
||||
|
||||
if ((k * L1) - L2) > 0.0 then
|
||||
begin
|
||||
Q := ((k - 1) * ((k * g2) - (g1 * g1))) / ((k * L1) - L2);
|
||||
chiprob := 1.0 - chisquaredprob(Q, k - 1);
|
||||
end
|
||||
else begin
|
||||
Q := 0.0;
|
||||
chiprob := 1.0;
|
||||
ShowMessage('Error in obtaining Q and the probability.');
|
||||
end;
|
||||
|
||||
//present results
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
OutPutFrm.RichEdit.Lines.Add('Cochran Q Test for Related Samples');
|
||||
OutPutFrm.RichEdit.Lines.Add('See pages 161-166 in S. Siegel: Nonparametric Statistics for the Behavioral Sciences');
|
||||
OutPutFrm.RichEdit.Lines.Add('McGraw-Hill Book Company, New York, 1956');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
outline := format('Cochran Q Statistic = %6.3f',[Q]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('which is distributed as chi-square with %d D.F. and probability = %6.4f',
|
||||
[k-1, chiprob]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
ColNoSelected := nil;
|
||||
end;
|
||||
|
||||
procedure TCochranQFrm.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
|
||||
ListBox1.Items.Add(VarList.Items.Strings[i]);
|
||||
VarList.Items.Delete(i);
|
||||
index := index - 1;
|
||||
i := 0;
|
||||
end
|
||||
else i := i + 1;
|
||||
end;
|
||||
OutBtn.Visible := true;
|
||||
end;
|
||||
|
||||
procedure TCochranQFrm.OutBtnClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := ListBox1.ItemIndex;
|
||||
VarList.Items.Add(ListBox1.Items.Strings[index]);
|
||||
ListBox1.Items.Delete(index);
|
||||
InBtn.Visible := true;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I cochranqunit.lrs}
|
||||
|
||||
end.
|
||||
|
190
applications/lazstats/source_orig/COCHRANQUNIT.lfm
Normal file
190
applications/lazstats/source_orig/COCHRANQUNIT.lfm
Normal file
@ -0,0 +1,190 @@
|
||||
object CochranQFrm: TCochranQFrm
|
||||
Left = 138
|
||||
Height = 271
|
||||
Top = 128
|
||||
Width = 505
|
||||
Caption = 'Cochran Q Test'
|
||||
ClientHeight = 271
|
||||
ClientWidth = 505
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.28.2'
|
||||
object Label1: TLabel
|
||||
Left = 7
|
||||
Height = 14
|
||||
Top = 1
|
||||
Width = 90
|
||||
Caption = 'Available Variables'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 217
|
||||
Height = 14
|
||||
Top = 2
|
||||
Width = 88
|
||||
Caption = 'Selected Variables'
|
||||
ParentColor = False
|
||||
end
|
||||
object VarList: TListBox
|
||||
Left = 7
|
||||
Height = 232
|
||||
Top = 16
|
||||
Width = 149
|
||||
ItemHeight = 0
|
||||
MultiSelect = True
|
||||
TabOrder = 0
|
||||
end
|
||||
object InBtn: TBitBtn
|
||||
Left = 168
|
||||
Height = 29
|
||||
Top = 24
|
||||
Width = 34
|
||||
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 = 168
|
||||
Height = 29
|
||||
Top = 56
|
||||
Width = 34
|
||||
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 AllBtn: TBitBtn
|
||||
Left = 168
|
||||
Height = 29
|
||||
Top = 104
|
||||
Width = 34
|
||||
Caption = 'ALL'
|
||||
NumGlyphs = 0
|
||||
OnClick = AllBtnClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object ListBox1: TListBox
|
||||
Left = 210
|
||||
Height = 226
|
||||
Top = 22
|
||||
Width = 158
|
||||
ItemHeight = 0
|
||||
TabOrder = 4
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 400
|
||||
Height = 30
|
||||
Top = 55
|
||||
Width = 80
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 5
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 400
|
||||
Height = 30
|
||||
Top = 103
|
||||
Width = 81
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 6
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 400
|
||||
Height = 30
|
||||
Top = 152
|
||||
Width = 81
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 7
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 400
|
||||
Height = 30
|
||||
Top = 200
|
||||
Width = 81
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 8
|
||||
end
|
||||
object HelpBtn: TButton
|
||||
Tag = 113
|
||||
Left = 400
|
||||
Height = 32
|
||||
Top = 8
|
||||
Width = 80
|
||||
Caption = 'Help'
|
||||
OnClick = HelpBtnClick
|
||||
TabOrder = 9
|
||||
end
|
||||
end
|
130
applications/lazstats/source_orig/COCHRANQUNIT.lrs
Normal file
130
applications/lazstats/source_orig/COCHRANQUNIT.lrs
Normal file
@ -0,0 +1,130 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TCochranQFrm','FORMDATA',[
|
||||
'TPF0'#12'TCochranQFrm'#11'CochranQFrm'#4'Left'#3#138#0#6'Height'#3#15#1#3'To'
|
||||
+'p'#3#128#0#5'Width'#3#249#1#7'Caption'#6#14'Cochran Q Test'#12'ClientHeight'
|
||||
+#3#15#1#11'ClientWidth'#3#249#1#6'OnShow'#7#8'FormShow'#10'LCLVersion'#6#8'0'
|
||||
+'.9.28.2'#0#6'TLabel'#6'Label1'#4'Left'#2#7#6'Height'#2#14#3'Top'#2#1#5'Widt'
|
||||
+'h'#2'Z'#7'Caption'#6#19'Available Variables'#11'ParentColor'#8#0#0#6'TLabel'
|
||||
+#6'Label2'#4'Left'#3#217#0#6'Height'#2#14#3'Top'#2#2#5'Width'#2'X'#7'Caption'
|
||||
+#6#18'Selected Variables'#11'ParentColor'#8#0#0#8'TListBox'#7'VarList'#4'Lef'
|
||||
+'t'#2#7#6'Height'#3#232#0#3'Top'#2#16#5'Width'#3#149#0#10'ItemHeight'#2#0#11
|
||||
+'MultiSelect'#9#8'TabOrder'#2#0#0#0#7'TBitBtn'#5'InBtn'#4'Left'#3#168#0#6'He'
|
||||
+'ight'#2#29#3'Top'#2#24#5'Width'#2'"'#10'Glyph.Data'#10':'#4#0#0'6'#4#0#0'BM'
|
||||
+'6'#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#168#0#6'Height'#2#29#3'Top'#2'8'#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#2#0#0#7'TBitBtn'#6'AllBtn'#4'Left'#3#168#0#6'Height'#2#29#3'Top'
|
||||
+#2'h'#5'Width'#2'"'#7'Caption'#6#3'ALL'#9'NumGlyphs'#2#0#7'OnClick'#7#11'All'
|
||||
+'BtnClick'#8'TabOrder'#2#3#0#0#8'TListBox'#8'ListBox1'#4'Left'#3#210#0#6'Hei'
|
||||
+'ght'#3#226#0#3'Top'#2#22#5'Width'#3#158#0#10'ItemHeight'#2#0#8'TabOrder'#2#4
|
||||
+#0#0#7'TButton'#8'ResetBtn'#4'Left'#3#144#1#6'Height'#2#30#3'Top'#2'7'#5'Wid'
|
||||
+'th'#2'P'#7'Caption'#6#5'Reset'#7'OnClick'#7#13'ResetBtnClick'#8'TabOrder'#2
|
||||
+#5#0#0#7'TButton'#9'CancelBtn'#4'Left'#3#144#1#6'Height'#2#30#3'Top'#2'g'#5
|
||||
+'Width'#2'Q'#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#6#0#0#7
|
||||
+'TButton'#10'ComputeBtn'#4'Left'#3#144#1#6'Height'#2#30#3'Top'#3#152#0#5'Wid'
|
||||
+'th'#2'Q'#7'Caption'#6#7'Compute'#7'OnClick'#7#15'ComputeBtnClick'#8'TabOrde'
|
||||
+'r'#2#7#0#0#7'TButton'#9'ReturnBtn'#4'Left'#3#144#1#6'Height'#2#30#3'Top'#3
|
||||
+#200#0#5'Width'#2'Q'#7'Caption'#6#6'Return'#11'ModalResult'#2#1#8'TabOrder'#2
|
||||
+#8#0#0#7'TButton'#7'HelpBtn'#3'Tag'#2'q'#4'Left'#3#144#1#6'Height'#2' '#3'To'
|
||||
+'p'#2#8#5'Width'#2'P'#7'Caption'#6#4'Help'#7'OnClick'#7#12'HelpBtnClick'#8'T'
|
||||
+'abOrder'#2#9#0#0#0
|
||||
]);
|
289
applications/lazstats/source_orig/COMPRELUNIT.PAS
Normal file
289
applications/lazstats/source_orig/COMPRELUNIT.PAS
Normal file
@ -0,0 +1,289 @@
|
||||
unit CompRelUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Buttons, MainUnit, OutPutUnit, FunctionsLib, Globals,
|
||||
DataProcs, Math, MatrixLib, DictionaryUnit, contexthelpunit;
|
||||
|
||||
type
|
||||
|
||||
{ TCompRelFrm }
|
||||
|
||||
TCompRelFrm = class(TForm)
|
||||
HelpBtn: TButton;
|
||||
InBtn: TBitBtn;
|
||||
OutBtn: TBitBtn;
|
||||
AllBtn: TBitBtn;
|
||||
ResetBtn: TButton;
|
||||
CancelBtn: TButton;
|
||||
ComputeBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
RMatChk: TCheckBox;
|
||||
GridScrChk: TCheckBox;
|
||||
GroupBox1: TGroupBox;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
ItemList: TListBox;
|
||||
Label3: TLabel;
|
||||
Label4: TLabel;
|
||||
WeightList: TListBox;
|
||||
RelList: TListBox;
|
||||
VarList: TListBox;
|
||||
procedure AllBtnClick(Sender: TObject);
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure HelpBtnClick(Sender: TObject);
|
||||
procedure InBtnClick(Sender: TObject);
|
||||
procedure OutBtnClick(Sender: TObject);
|
||||
procedure RelListClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
procedure WeightListClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
CompRelFrm: TCompRelFrm;
|
||||
|
||||
implementation
|
||||
|
||||
{ TCompRelFrm }
|
||||
|
||||
procedure TCompRelFrm.ResetBtnClick(Sender: TObject);
|
||||
VAR i : integer;
|
||||
begin
|
||||
VarList.Clear;
|
||||
ItemList.Clear;
|
||||
RelList.Clear;
|
||||
WeightList.Clear;
|
||||
OutBtn.Visible := false;
|
||||
InBtn.Visible := true;
|
||||
for i := 1 to NoVariables do
|
||||
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
|
||||
end;
|
||||
|
||||
procedure TCompRelFrm.WeightListClick(Sender: TObject);
|
||||
var
|
||||
response : string;
|
||||
index : integer;
|
||||
begin
|
||||
response := InputBox('Test Weight','Test weight = ','1.0');
|
||||
index := WeightList.ItemIndex;
|
||||
WeightList.Items.Strings[index] := response;
|
||||
end;
|
||||
|
||||
procedure TCompRelFrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
ResetBtnClick(self);
|
||||
end;
|
||||
|
||||
procedure TCompRelFrm.HelpBtnClick(Sender: TObject);
|
||||
begin
|
||||
ContextHelpForm.HelpMessage((Sender as TButton).tag);
|
||||
end;
|
||||
|
||||
procedure TCompRelFrm.AllBtnClick(Sender: TObject);
|
||||
var
|
||||
i, count : integer;
|
||||
cellstring : string;
|
||||
begin
|
||||
count := VarList.Items.Count;
|
||||
for i := 1 to count do
|
||||
begin
|
||||
ItemList.Items.Add(VarList.Items.Strings[i-1]);
|
||||
cellstring := '1.0';
|
||||
RelList.Items.Add(cellstring);
|
||||
WeightList.Items.Add(cellstring);
|
||||
end;
|
||||
VarList.Clear;
|
||||
InBtn.Visible := false;
|
||||
OutBtn.Visible := true;
|
||||
end;
|
||||
|
||||
procedure TCompRelFrm.ComputeBtnClick(Sender: TObject);
|
||||
var
|
||||
i, j, NoVars, count, col : integer;
|
||||
Rmat, RelMat : DblDyneMat;
|
||||
Weights, Reliabilities, VectProd, means, variances, stddevs : DblDyneVec;
|
||||
CompRel, numerator, denominator, compscore : double;
|
||||
colnoselected : IntDyneVec;
|
||||
outline, cellstring : string;
|
||||
title : string;
|
||||
RowLabels : StrDyneVec;
|
||||
errorcode : boolean;
|
||||
begin
|
||||
SetLength(colnoselected,NoVariables);
|
||||
SetLength(Rmat,NoVariables+1,NoVariables+1);
|
||||
SetLength(RelMat,NoVariables+1,NoVariables+1);
|
||||
SetLength(Weights,NoVariables);
|
||||
SetLength(Reliabilities,NoVariables);
|
||||
SetLength(VectProd,NoVariables);
|
||||
SetLength(means,NoVariables);
|
||||
SetLength(variances,NoVariables);
|
||||
SetLength(stddevs,NoVariables);
|
||||
SetLength(RowLabels,NoVariables);
|
||||
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
// get variable col. no.s selected
|
||||
NoVars := ItemList.Items.Count;
|
||||
for i := 1 to NoVars do
|
||||
begin
|
||||
cellstring := ItemList.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;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
count := NoCases;
|
||||
|
||||
OutPutFrm.RichEdit.Lines.Add('Composite Test Reliability');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
outline := 'File Analyzed: ' + OS3MainFrm.FileNameEdit.Text;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
// get correlation matrix
|
||||
Correlations(NoVars,colnoselected,Rmat,means,variances,stddevs,errorcode,count);
|
||||
if (errorcode) then
|
||||
ShowMessage('ERROR! Zero variance found for a variable.');
|
||||
if RmatChk.Checked then
|
||||
begin
|
||||
title := 'Correlations Among Tests';
|
||||
MAT_PRINT(Rmat,NoVars,NoVars,title,RowLabels,RowLabels,count);
|
||||
title := 'Means';
|
||||
DynVectorPrint(means,NoVars,title,RowLabels,count);
|
||||
title := 'Variances';
|
||||
DynVectorPrint(variances,NoVars,title,RowLabels,count);
|
||||
title := 'Standard Deviations';
|
||||
DynVectorPrint(stddevs,NoVars,title,RowLabels,count);
|
||||
end;
|
||||
for i := 1 to NoVars do
|
||||
for j := 1 to NoVars do
|
||||
RelMat[i-1,j-1] := Rmat[i-1,j-1];
|
||||
for i := 1 to NoVars do
|
||||
begin
|
||||
Reliabilities[i-1] := StrToFloat(RelList.Items.Strings[i-1]);
|
||||
RelMat[i-1,i-1] := Reliabilities[i-1];
|
||||
Weights[i-1] := StrToFloat(WeightList.Items.Strings[i-1]);
|
||||
end;
|
||||
// get numerator and denominator of composite reliability
|
||||
for i := 1 to NoVars do VectProd[i-1] := 0.0;
|
||||
numerator := 0.0;
|
||||
denominator := 0.0;
|
||||
for i := 1 to NoVars do
|
||||
for j := 1 to NoVars do
|
||||
VectProd[i-1] := VectProd[i-1] + (Weights[i-1] * RelMat[j-1,i-1]);
|
||||
for i := 1 to NoVars do numerator := numerator + (VectProd[i-1] * Weights[i-1]);
|
||||
|
||||
for i := 1 to NoVars do VectProd[i-1] := 0.0;
|
||||
for i := 1 to NoVars do
|
||||
for j := 1 to NoVars do
|
||||
VectProd[i-1] := VectProd[i-1] + (Weights[i-1] * Rmat[j-1,i-1]);
|
||||
for i := 1 to NoVars do denominator := denominator +
|
||||
(VectProd[i-1] * Weights[i-1]);
|
||||
CompRel := numerator / denominator;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
title := 'Test Weights';
|
||||
DynVectorPrint(Weights,NoVars,title,RowLabels,count);
|
||||
title := 'Test Reliabilities';
|
||||
DynVectorPrint(Reliabilities,NoVars,title,RowLabels,count);
|
||||
outline := format('Composite reliability = %6.3f',[CompRel]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.ShowModal;
|
||||
if GridScrChk.Checked then
|
||||
begin
|
||||
cellstring := 'Composite';
|
||||
col := NoVariables + 1;
|
||||
DictionaryFrm.NewVar(col);
|
||||
DictionaryFrm.DictGrid.Cells[1,col] := cellstring;
|
||||
col := NoVariables;
|
||||
OS3MainFrm.DataGrid.Cells[col,0] := cellstring;
|
||||
col := NoVariables;
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
compscore := 0.0;
|
||||
if not GoodRecord(i,NoVars,ColNoSelected) then continue;
|
||||
for j := 1 to NoVars do
|
||||
begin
|
||||
compscore := compscore + (Weights[j-1] *
|
||||
StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[colnoselected[j-1],i])));
|
||||
end;
|
||||
OS3MainFrm.DataGrid.Cells[col,i] := FloatToStr(compscore);
|
||||
end;
|
||||
end;
|
||||
|
||||
RowLabels := nil;
|
||||
stddevs := nil;
|
||||
variances := nil;
|
||||
means := nil;
|
||||
VectProd := nil;
|
||||
Reliabilities := nil;
|
||||
Weights := nil;
|
||||
RelMat := nil;
|
||||
Rmat := nil;
|
||||
colnoselected := nil;
|
||||
end;
|
||||
|
||||
procedure TCompRelFrm.InBtnClick(Sender: TObject);
|
||||
var
|
||||
index, i : integer;
|
||||
cellstring : string;
|
||||
begin
|
||||
index := VarList.Items.Count;
|
||||
i := 0;
|
||||
while i < index do
|
||||
begin
|
||||
if (VarList.Selected[i]) then
|
||||
begin
|
||||
ItemList.Items.Add(VarList.Items.Strings[i]);
|
||||
cellstring := '1.0';
|
||||
RelList.Items.Add(cellstring);
|
||||
WeightList.Items.Add(cellstring);
|
||||
VarList.Items.Delete(i);
|
||||
index := index - 1;
|
||||
i := 0;
|
||||
end
|
||||
else i := i + 1;
|
||||
end;
|
||||
OutBtn.Visible := true;
|
||||
end;
|
||||
|
||||
procedure TCompRelFrm.OutBtnClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := ItemList.ItemIndex;
|
||||
if index < 0 then
|
||||
begin
|
||||
OutBtn.Visible := false;
|
||||
exit;
|
||||
end;
|
||||
VarList.Items.Add(ItemList.Items.Strings[index]);
|
||||
ItemList.Items.Delete(index);
|
||||
RelList.Items.Delete(index);
|
||||
WeightList.Items.Delete(index);
|
||||
end;
|
||||
|
||||
procedure TCompRelFrm.RelListClick(Sender: TObject);
|
||||
var
|
||||
response : string;
|
||||
index : integer;
|
||||
begin
|
||||
response := InputBox('Reliability','Reliability estimate = ','1.0');
|
||||
index := RelList.ItemIndex;
|
||||
RelList.Items.Strings[index] := response;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I comprelunit.lrs}
|
||||
|
||||
end.
|
||||
|
250
applications/lazstats/source_orig/COMPRELUNIT.lfm
Normal file
250
applications/lazstats/source_orig/COMPRELUNIT.lfm
Normal file
@ -0,0 +1,250 @@
|
||||
object CompRelFrm: TCompRelFrm
|
||||
Left = 123
|
||||
Height = 347
|
||||
Top = 127
|
||||
Width = 602
|
||||
Caption = 'Composite Test Reliability'
|
||||
ClientHeight = 347
|
||||
ClientWidth = 602
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.28.2'
|
||||
object Label1: TLabel
|
||||
Left = 6
|
||||
Height = 14
|
||||
Top = 8
|
||||
Width = 90
|
||||
Caption = 'Variables Available'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 207
|
||||
Height = 14
|
||||
Top = 8
|
||||
Width = 72
|
||||
Caption = 'Selected Items'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label3: TLabel
|
||||
Left = 377
|
||||
Height = 14
|
||||
Top = 8
|
||||
Width = 70
|
||||
Caption = 'Test Reliability'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label4: TLabel
|
||||
Left = 488
|
||||
Height = 14
|
||||
Top = 8
|
||||
Width = 64
|
||||
Caption = 'Test Weights'
|
||||
ParentColor = False
|
||||
end
|
||||
object VarList: TListBox
|
||||
Left = 7
|
||||
Height = 230
|
||||
Top = 23
|
||||
Width = 151
|
||||
ItemHeight = 0
|
||||
MultiSelect = True
|
||||
TabOrder = 0
|
||||
end
|
||||
object InBtn: TBitBtn
|
||||
Left = 168
|
||||
Height = 29
|
||||
Top = 24
|
||||
Width = 30
|
||||
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 = 168
|
||||
Height = 29
|
||||
Top = 56
|
||||
Width = 30
|
||||
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 AllBtn: TBitBtn
|
||||
Left = 168
|
||||
Height = 29
|
||||
Top = 104
|
||||
Width = 30
|
||||
Caption = 'ALL'
|
||||
NumGlyphs = 0
|
||||
OnClick = AllBtnClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object ItemList: TListBox
|
||||
Left = 204
|
||||
Height = 228
|
||||
Top = 25
|
||||
Width = 164
|
||||
ItemHeight = 0
|
||||
TabOrder = 4
|
||||
end
|
||||
object RelList: TListBox
|
||||
Left = 374
|
||||
Height = 228
|
||||
Top = 24
|
||||
Width = 105
|
||||
ItemHeight = 0
|
||||
OnClick = RelListClick
|
||||
TabOrder = 5
|
||||
end
|
||||
object WeightList: TListBox
|
||||
Left = 487
|
||||
Height = 229
|
||||
Top = 25
|
||||
Width = 103
|
||||
ItemHeight = 0
|
||||
OnClick = WeightListClick
|
||||
TabOrder = 6
|
||||
end
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 376
|
||||
Height = 58
|
||||
Top = 262
|
||||
Width = 215
|
||||
Caption = 'Options'
|
||||
ClientHeight = 40
|
||||
ClientWidth = 211
|
||||
TabOrder = 7
|
||||
object RMatChk: TCheckBox
|
||||
Left = 8
|
||||
Height = 17
|
||||
Top = 2
|
||||
Width = 153
|
||||
Caption = 'Print Intercorrelation Matrix'
|
||||
TabOrder = 0
|
||||
end
|
||||
object GridScrChk: TCheckBox
|
||||
Left = 8
|
||||
Height = 17
|
||||
Top = 22
|
||||
Width = 152
|
||||
Caption = 'Put Composite Score in Grid'
|
||||
TabOrder = 1
|
||||
end
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 104
|
||||
Height = 32
|
||||
Top = 264
|
||||
Width = 78
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 8
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 200
|
||||
Height = 32
|
||||
Top = 264
|
||||
Width = 78
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 9
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 8
|
||||
Height = 32
|
||||
Top = 304
|
||||
Width = 78
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 10
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 104
|
||||
Height = 32
|
||||
Top = 304
|
||||
Width = 78
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 11
|
||||
end
|
||||
object HelpBtn: TButton
|
||||
Tag = 114
|
||||
Left = 8
|
||||
Height = 32
|
||||
Top = 264
|
||||
Width = 80
|
||||
Caption = 'Help'
|
||||
OnClick = HelpBtnClick
|
||||
TabOrder = 12
|
||||
end
|
||||
end
|
141
applications/lazstats/source_orig/COMPRELUNIT.lrs
Normal file
141
applications/lazstats/source_orig/COMPRELUNIT.lrs
Normal file
@ -0,0 +1,141 @@
|
||||
LazarusResources.Add('TCompRelFrm','FORMDATA',[
|
||||
'TPF0'#11'TCompRelFrm'#10'CompRelFrm'#4'Left'#2'{'#6'Height'#3'['#1#3'Top'#2
|
||||
+#127#5'Width'#3'Z'#2#7'Caption'#6#26'Composite Test Reliability'#12'ClientHe'
|
||||
+'ight'#3'['#1#11'ClientWidth'#3'Z'#2#6'OnShow'#7#8'FormShow'#10'LCLVersion'#6
|
||||
+#8'0.9.28.2'#0#6'TLabel'#6'Label1'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#8#5'W'
|
||||
+'idth'#2'Z'#7'Caption'#6#19'Variables Available'#11'ParentColor'#8#0#0#6'TLa'
|
||||
+'bel'#6'Label2'#4'Left'#3#207#0#6'Height'#2#14#3'Top'#2#8#5'Width'#2'H'#7'Ca'
|
||||
+'ption'#6#14'Selected Items'#11'ParentColor'#8#0#0#6'TLabel'#6'Label3'#4'Lef'
|
||||
+'t'#3'y'#1#6'Height'#2#14#3'Top'#2#8#5'Width'#2'F'#7'Caption'#6#16'Test Reli'
|
||||
+'ability'#11'ParentColor'#8#0#0#6'TLabel'#6'Label4'#4'Left'#3#232#1#6'Height'
|
||||
+#2#14#3'Top'#2#8#5'Width'#2'@'#7'Caption'#6#12'Test Weights'#11'ParentColor'
|
||||
+#8#0#0#8'TListBox'#7'VarList'#4'Left'#2#7#6'Height'#3#230#0#3'Top'#2#23#5'Wi'
|
||||
+'dth'#3#151#0#10'ItemHeight'#2#0#11'MultiSelect'#9#8'TabOrder'#2#0#0#0#7'TBi'
|
||||
+'tBtn'#5'InBtn'#4'Left'#3#168#0#6'Height'#2#29#3'Top'#2#24#5'Width'#2#30#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'InBtnCli'
|
||||
+'ck'#8'TabOrder'#2#1#0#0#7'TBitBtn'#6'OutBtn'#4'Left'#3#168#0#6'Height'#2#29
|
||||
,#3'Top'#2'8'#5'Width'#2#30#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'Num'
|
||||
+'Glyphs'#2#0#7'OnClick'#7#11'OutBtnClick'#8'TabOrder'#2#2#0#0#7'TBitBtn'#6'A'
|
||||
+'llBtn'#4'Left'#3#168#0#6'Height'#2#29#3'Top'#2'h'#5'Width'#2#30#7'Caption'#6
|
||||
+#3'ALL'#9'NumGlyphs'#2#0#7'OnClick'#7#11'AllBtnClick'#8'TabOrder'#2#3#0#0#8
|
||||
+'TListBox'#8'ItemList'#4'Left'#3#204#0#6'Height'#3#228#0#3'Top'#2#25#5'Width'
|
||||
+#3#164#0#10'ItemHeight'#2#0#8'TabOrder'#2#4#0#0#8'TListBox'#7'RelList'#4'Lef'
|
||||
+'t'#3'v'#1#6'Height'#3#228#0#3'Top'#2#24#5'Width'#2'i'#10'ItemHeight'#2#0#7
|
||||
+'OnClick'#7#12'RelListClick'#8'TabOrder'#2#5#0#0#8'TListBox'#10'WeightList'#4
|
||||
+'Left'#3#231#1#6'Height'#3#229#0#3'Top'#2#25#5'Width'#2'g'#10'ItemHeight'#2#0
|
||||
+#7'OnClick'#7#15'WeightListClick'#8'TabOrder'#2#6#0#0#9'TGroupBox'#9'GroupBo'
|
||||
+'x1'#4'Left'#3'x'#1#6'Height'#2':'#3'Top'#3#6#1#5'Width'#3#215#0#7'Caption'#6
|
||||
+#7'Options'#12'ClientHeight'#2'('#11'ClientWidth'#3#211#0#8'TabOrder'#2#7#0#9
|
||||
+'TCheckBox'#7'RMatChk'#4'Left'#2#8#6'Height'#2#17#3'Top'#2#2#5'Width'#3#153#0
|
||||
+#7'Caption'#6#29'Print Intercorrelation Matrix'#8'TabOrder'#2#0#0#0#9'TCheck'
|
||||
+'Box'#10'GridScrChk'#4'Left'#2#8#6'Height'#2#17#3'Top'#2#22#5'Width'#3#152#0
|
||||
,#7'Caption'#6#27'Put Composite Score in Grid'#8'TabOrder'#2#1#0#0#0#7'TButto'
|
||||
+'n'#8'ResetBtn'#4'Left'#2'h'#6'Height'#2' '#3'Top'#3#8#1#5'Width'#2'N'#7'Cap'
|
||||
+'tion'#6#5'Reset'#7'OnClick'#7#13'ResetBtnClick'#8'TabOrder'#2#8#0#0#7'TButt'
|
||||
+'on'#9'CancelBtn'#4'Left'#3#200#0#6'Height'#2' '#3'Top'#3#8#1#5'Width'#2'N'#7
|
||||
+'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#9#0#0#7'TButton'#10
|
||||
+'ComputeBtn'#4'Left'#2#8#6'Height'#2' '#3'Top'#3'0'#1#5'Width'#2'N'#7'Captio'
|
||||
+'n'#6#7'Compute'#7'OnClick'#7#15'ComputeBtnClick'#8'TabOrder'#2#10#0#0#7'TBu'
|
||||
+'tton'#9'ReturnBtn'#4'Left'#2'h'#6'Height'#2' '#3'Top'#3'0'#1#5'Width'#2'N'#7
|
||||
+'Caption'#6#6'Return'#11'ModalResult'#2#1#8'TabOrder'#2#11#0#0#7'TButton'#7
|
||||
+'HelpBtn'#3'Tag'#2'r'#4'Left'#2#8#6'Height'#2' '#3'Top'#3#8#1#5'Width'#2'P'#7
|
||||
+'Caption'#6#4'Help'#7'OnClick'#7#12'HelpBtnClick'#8'TabOrder'#2#12#0#0#0
|
||||
]);
|
368
applications/lazstats/source_orig/CONCORDANCE.PAS
Normal file
368
applications/lazstats/source_orig/CONCORDANCE.PAS
Normal file
@ -0,0 +1,368 @@
|
||||
unit Concordance;
|
||||
|
||||
{$MODE Delphi}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
LCLIntf, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
||||
StdCtrls, Buttons, OS3MainUnit, GLOBALS, OUTPUTUNIT, DATAPROCS, Math,
|
||||
FUNCTIONSLIB, LResources;
|
||||
|
||||
type
|
||||
TConcordFrm = class(TForm)
|
||||
Label1: TLabel;
|
||||
VarList: TListBox;
|
||||
InBtn: TBitBtn;
|
||||
OutBtn: TBitBtn;
|
||||
AllBtn: TBitBtn;
|
||||
Label2: TLabel;
|
||||
ListBox1: TListBox;
|
||||
ResetBtn: TButton;
|
||||
CancelBtn: TButton;
|
||||
OKBtn: TButton;
|
||||
ComputeBtn: 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);
|
||||
procedure AllBtnClick(Sender: TObject);
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
private
|
||||
{ Private declarations }
|
||||
public
|
||||
{ Public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
ConcordFrm: TConcordFrm;
|
||||
|
||||
implementation
|
||||
|
||||
|
||||
procedure TConcordFrm.ResetBtnClick(Sender: TObject);
|
||||
var
|
||||
i: integer;
|
||||
begin
|
||||
VarList.Clear;
|
||||
ListBox1.Clear;
|
||||
for i := 1 to NoVariables do
|
||||
begin
|
||||
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
|
||||
end;
|
||||
InBtn.Enabled := true;
|
||||
OutBtn.Enabled := false;
|
||||
end;
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
procedure TConcordFrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
ResetBtnClick(self);
|
||||
end;
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
procedure TConcordFrm.CancelBtnClick(Sender: TObject);
|
||||
begin
|
||||
ConcordFrm.Hide;
|
||||
end;
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
procedure TConcordFrm.OKBtnClick(Sender: TObject);
|
||||
begin
|
||||
ConcordFrm.Hide;
|
||||
end;
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
procedure TConcordFrm.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 TConcordFrm.OutBtnClick(Sender: TObject);
|
||||
var
|
||||
index: integer;
|
||||
|
||||
begin
|
||||
index := ListBox1.ItemIndex;
|
||||
VarList.Items.Add(ListBox1.Items.Strings[index]);
|
||||
ListBox1.Items.Delete(index);
|
||||
InBtn.Enabled := true;
|
||||
end;
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
procedure TConcordFrm.AllBtnClick(Sender: TObject);
|
||||
var
|
||||
count, index : integer;
|
||||
begin
|
||||
count := VarList.Items.Count;
|
||||
if count = 0 then exit;
|
||||
for index := 0 to count-1 do
|
||||
begin
|
||||
ListBox1.Items.Add(VarList.Items.Strings[index]);
|
||||
end;
|
||||
VarList.Clear;
|
||||
InBtn.Visible := false;
|
||||
OutBtn.Visible := true;
|
||||
end;
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
procedure TConcordFrm.ComputeBtnClick(Sender: TObject);
|
||||
var
|
||||
i, j, k, index, No_Judges, No_Objects, col, ties, start, last : integer;
|
||||
NoSelected : integer;
|
||||
Temp, TotalCorrect, JudgeCorrect, ChiSquare, Probability : double;
|
||||
TotalRankSums, Concordance, AvgRankCorr, AvgTotalRanks : double;
|
||||
statistic : double;
|
||||
scorearray : DblDyneMat;
|
||||
temprank, ObjRankSums : DblDyneVec;
|
||||
tempindex : IntDyneVec;
|
||||
done : boolean;
|
||||
value, cellstring, outline : string;
|
||||
ColNoSelected : IntDyneVec;
|
||||
ColLabels : StrDyneVec;
|
||||
|
||||
begin
|
||||
No_Judges := 0;
|
||||
No_Objects := ListBox1.Items.Count;
|
||||
|
||||
// Allocate space for selected variable column no.s
|
||||
SetLength(scorearray,NoCases,No_Objects);
|
||||
SetLength(tempindex,No_Objects);
|
||||
SetLength(temprank,No_Objects);
|
||||
SetLength(ObjRankSums,No_Objects);
|
||||
SetLength(ColLabels,NoVariables);
|
||||
SetLength(ColNoSelected,NoVariables);
|
||||
|
||||
// get columns of variables selected
|
||||
for i := 0 to No_Objects - 1 do
|
||||
begin
|
||||
cellstring := ListBox1.Items.Strings[i];
|
||||
for index := 1 to NoVariables do
|
||||
begin
|
||||
if (cellstring = OS3MainFrm.DataGrid.Cells[index,0]) then
|
||||
begin
|
||||
ColNoSelected[i] := index;
|
||||
ColLabels[i] := cellstring;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
//Read data from grid
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
if (not GoodRecord(i,No_Objects,ColNoSelected)) then continue;
|
||||
No_Judges := No_Judges + 1;
|
||||
for j := 1 to No_Objects do
|
||||
begin
|
||||
col := ColNoSelected[j-1];
|
||||
scorearray[i-1,j-1] := StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[col,i]));
|
||||
end;
|
||||
end;
|
||||
|
||||
//Rank the scores in the rows for each judge (column)
|
||||
TotalCorrect := 0.0;
|
||||
for i := 0 to No_Judges-1 do
|
||||
begin
|
||||
JudgeCorrect := 0.0;
|
||||
for j := 0 to No_Objects-1 do
|
||||
begin
|
||||
tempindex[j] := j;
|
||||
temprank[j] := scorearray[i,j];
|
||||
end;
|
||||
//Sort the temp arrays
|
||||
for j := 0 to No_Objects - 2 do
|
||||
begin
|
||||
for k := j + 1 to No_Objects - 1 do
|
||||
begin
|
||||
if (temprank[j] > temprank[k]) then
|
||||
begin
|
||||
Temp := temprank[j];
|
||||
temprank[j] := temprank[k];
|
||||
temprank[k] := Temp;
|
||||
index := tempindex[j];
|
||||
tempindex[j] := tempindex[k];
|
||||
tempindex[k] := index;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
//Now convert temporary score array to ranks (correcting for ties)
|
||||
j := 0;
|
||||
while (j <= No_Objects-1) do
|
||||
begin
|
||||
ties := 0;
|
||||
k := j;
|
||||
done := false;
|
||||
while (not done) do
|
||||
begin
|
||||
k := k + 1;
|
||||
if (k <= No_Objects-1) then
|
||||
begin
|
||||
if (temprank[j] = temprank[k]) then ties := ties + 1;
|
||||
end
|
||||
else done := true;
|
||||
end;
|
||||
if (ties = 0.0) then
|
||||
begin
|
||||
temprank[j] := j+1;
|
||||
j := j + 1;
|
||||
end
|
||||
else begin
|
||||
for k := j to j + ties do
|
||||
begin
|
||||
temprank[k] := (j+1) + (ties / 2.0);
|
||||
end;
|
||||
j := j + ties + 1;
|
||||
ties := ties + 1;
|
||||
JudgeCorrect := JudgeCorrect + (Power(ties,3) - ties);
|
||||
end;
|
||||
end;
|
||||
|
||||
//Now, restore ranks in their position equivalent to original scores
|
||||
for j := 0 to No_Objects-1 do
|
||||
begin
|
||||
k := tempindex[j];
|
||||
scorearray[i,k] := temprank[j];
|
||||
end;
|
||||
TotalCorrect := TotalCorrect + (JudgeCorrect / 12.0);
|
||||
end; // next judge i
|
||||
|
||||
//Calculate statistics
|
||||
statistic := 0.0;
|
||||
TotalRankSums := 0.0;
|
||||
for j := 0 to No_Objects-1 do
|
||||
begin
|
||||
ObjRankSums[j] := 0.0;
|
||||
for i := 0 to No_Judges-1 do ObjRankSums[j] := ObjRankSums[j] + scorearray[i,j];
|
||||
TotalRankSums := TotalRankSums + ObjRankSums[j];
|
||||
end;
|
||||
AvgTotalRanks := TotalRankSums / No_Objects;
|
||||
for j := 0 to No_Objects-1 do
|
||||
statistic := statistic + Power((ObjRankSums[j] - AvgTotalRanks), 2);
|
||||
Concordance := statistic / ( ((No_Judges * No_Judges) / 12.0) *
|
||||
(Power(No_Objects,3) - No_Objects) - (No_Judges * TotalCorrect) );
|
||||
AvgRankCorr := (No_Judges * Concordance - 1.0) / (No_Judges - 1);
|
||||
ChiSquare := No_Judges * Concordance * (No_Objects - 1);
|
||||
Probability := 1.0 - chisquaredprob(ChiSquare, No_Objects - 1);
|
||||
|
||||
//Report results
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
OutPutFrm.RichEdit.Lines.Add('Kendall Coefficient of Concordance Analysis');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Ranks Assigned to Judge Ratings of Objects');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
|
||||
for i := 1 to No_Judges do
|
||||
begin
|
||||
done := false;
|
||||
start := 1;
|
||||
last := 10;
|
||||
while (not done) do
|
||||
begin
|
||||
if (last > No_Objects)then last := No_Objects;
|
||||
outline := format('Judge %3d',[i]);
|
||||
outline := outline + ' Objects';
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := ' ';
|
||||
for j := start to last do
|
||||
begin
|
||||
col := ColNoSelected[j-1];
|
||||
outline := outline + format('%8s',[ColLabels[col-1]]);
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := ' ';
|
||||
for j := start to last do
|
||||
begin
|
||||
value := format('%8.4f',[scorearray[i-1,j-1]]);
|
||||
outline := outline + value;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
if (last = No_Objects) then done := true
|
||||
else begin
|
||||
start := last;
|
||||
last := start + 10;
|
||||
end;
|
||||
outline := '';
|
||||
end; // while end
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
end; // next i
|
||||
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Sum of Ranks for Each Object Judged');
|
||||
done := false;
|
||||
start := 1;
|
||||
last := 10;
|
||||
while (not done) do
|
||||
begin
|
||||
if (last > No_Objects) then last := No_Objects;
|
||||
OutPutFrm.RichEdit.Lines.Add(' Objects');
|
||||
outline := ' ';
|
||||
for j := start to last do
|
||||
begin
|
||||
col := ColNoSelected[j-1];
|
||||
value := format('%8s',[ColLabels[col-1]]);
|
||||
outline := outline + value;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := ' ';
|
||||
for j := start to last do
|
||||
begin
|
||||
value := format('%8.4f',[ObjRankSums[j-1]]);
|
||||
outline := outline + value;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
if (last = No_Objects) then done := true
|
||||
else begin
|
||||
start := last;
|
||||
last := start + 10;
|
||||
end;
|
||||
end;
|
||||
outline := format('Coefficient of concordance := %10.3f',[Concordance]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Average Spearman Rank Correlation := %10.3f',[AvgRankCorr]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Chi-Square Statistic := %8.3f',[ChiSquare]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Probability of a larger Chi-Square := %6.4f',[Probability]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
if (No_Objects < 7) then
|
||||
OutPutFrm.RichEdit.Lines.Add('Warning - Above Chi-Square is very approximate with 7 or fewer variables!');
|
||||
OutPutFrm.ShowModal;
|
||||
|
||||
// cleanup
|
||||
ColNoSelected := nil;
|
||||
ColLabels := nil;
|
||||
ObjRankSums := nil;
|
||||
temprank := nil;
|
||||
tempindex := nil;
|
||||
scorearray := nil;
|
||||
end;
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
initialization
|
||||
{$i CONCORDANCE.lrs}
|
||||
{$i CONCORDANCE.lrs}
|
||||
|
||||
end.
|
164
applications/lazstats/source_orig/CONCORDANCE.lfm
Normal file
164
applications/lazstats/source_orig/CONCORDANCE.lfm
Normal file
@ -0,0 +1,164 @@
|
||||
object ConcordFrm: TConcordFrm
|
||||
Left = 77
|
||||
Top = 80
|
||||
HelpContext = 1305
|
||||
BorderStyle = bsDialog
|
||||
Caption = 'Kendal''s Coefficient of Concordance'
|
||||
ClientHeight = 243
|
||||
ClientWidth = 536
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -11
|
||||
Font.Name = 'MS Sans Serif'
|
||||
Font.Style = []
|
||||
HelpFile = 'OS2Help.hlp'
|
||||
OnShow = FormShow
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
object Label1: TLabel
|
||||
Left = 24
|
||||
Top = 8
|
||||
Width = 92
|
||||
Height = 13
|
||||
Caption = 'Available Variables:'
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 200
|
||||
Top = 8
|
||||
Width = 91
|
||||
Height = 13
|
||||
Caption = 'Selected Variables:'
|
||||
end
|
||||
object VarList: TListBox
|
||||
Left = 8
|
||||
Top = 24
|
||||
Width = 129
|
||||
Height = 201
|
||||
ItemHeight = 13
|
||||
MultiSelect = True
|
||||
TabOrder = 0
|
||||
end
|
||||
object InBtn: TBitBtn
|
||||
Left = 144
|
||||
Top = 32
|
||||
Width = 33
|
||||
Height = 33
|
||||
TabOrder = 1
|
||||
OnClick = InBtnClick
|
||||
Glyph.Data = {
|
||||
76010000424D7601000000000000760000002800000020000000100000000100
|
||||
04000000000000010000120B0000120B00001000000000000000000000000000
|
||||
800000800000008080008000000080008000808000007F7F7F00BFBFBF000000
|
||||
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
|
||||
3333333333333333333333333333333333333333333333333333333333333333
|
||||
3333333333333333333333333333333333333333333FF3333333333333003333
|
||||
3333333333773FF3333333333309003333333333337F773FF333333333099900
|
||||
33333FFFFF7F33773FF30000000999990033777777733333773F099999999999
|
||||
99007FFFFFFF33333F7700000009999900337777777F333F7733333333099900
|
||||
33333333337F3F77333333333309003333333333337F77333333333333003333
|
||||
3333333333773333333333333333333333333333333333333333333333333333
|
||||
3333333333333333333333333333333333333333333333333333
|
||||
}
|
||||
NumGlyphs = 2
|
||||
end
|
||||
object OutBtn: TBitBtn
|
||||
Left = 144
|
||||
Top = 72
|
||||
Width = 33
|
||||
Height = 33
|
||||
TabOrder = 2
|
||||
OnClick = OutBtnClick
|
||||
Glyph.Data = {
|
||||
76010000424D7601000000000000760000002800000020000000100000000100
|
||||
04000000000000010000120B0000120B00001000000000000000000000000000
|
||||
800000800000008080008000000080008000808000007F7F7F00BFBFBF000000
|
||||
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
|
||||
3333333333333333333333333333333333333333333333333333333333333333
|
||||
3333333333333FF3333333333333003333333333333F77F33333333333009033
|
||||
333333333F7737F333333333009990333333333F773337FFFFFF330099999000
|
||||
00003F773333377777770099999999999990773FF33333FFFFF7330099999000
|
||||
000033773FF33777777733330099903333333333773FF7F33333333333009033
|
||||
33333333337737F3333333333333003333333333333377333333333333333333
|
||||
3333333333333333333333333333333333333333333333333333333333333333
|
||||
3333333333333333333333333333333333333333333333333333
|
||||
}
|
||||
NumGlyphs = 2
|
||||
end
|
||||
object AllBtn: TBitBtn
|
||||
Left = 144
|
||||
Top = 136
|
||||
Width = 33
|
||||
Height = 33
|
||||
Caption = 'ALL'
|
||||
TabOrder = 3
|
||||
OnClick = AllBtnClick
|
||||
end
|
||||
object ListBox1: TListBox
|
||||
Left = 184
|
||||
Top = 24
|
||||
Width = 137
|
||||
Height = 201
|
||||
ItemHeight = 13
|
||||
TabOrder = 4
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 336
|
||||
Top = 179
|
||||
Width = 65
|
||||
Height = 25
|
||||
Caption = 'Reset'
|
||||
TabOrder = 5
|
||||
OnClick = ResetBtnClick
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 456
|
||||
Top = 179
|
||||
Width = 65
|
||||
Height = 25
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 6
|
||||
OnClick = CancelBtnClick
|
||||
end
|
||||
object OKBtn: TButton
|
||||
Left = 456
|
||||
Top = 211
|
||||
Width = 65
|
||||
Height = 25
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 7
|
||||
OnClick = OKBtnClick
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 336
|
||||
Top = 211
|
||||
Width = 65
|
||||
Height = 25
|
||||
Caption = 'Compute'
|
||||
TabOrder = 8
|
||||
OnClick = ComputeBtnClick
|
||||
end
|
||||
object Memo1: TMemo
|
||||
Left = 336
|
||||
Top = 0
|
||||
Width = 185
|
||||
Height = 169
|
||||
Lines.Strings = (
|
||||
'Directions: A Judge''s ratings or '
|
||||
'observations are recorded'
|
||||
'as Variables (columns) 1 through k. '
|
||||
'Each line corresponds to a different '
|
||||
'judge (person making the rating.) '
|
||||
'Select the variables from the left list '
|
||||
'to analyze and click on the right '
|
||||
'arrow.'
|
||||
'Click on the left arrow to remove any '
|
||||
'variables NOT to be analyzed. Click '
|
||||
'on the Compute button to obtain the'
|
||||
'results. '
|
||||
)
|
||||
TabOrder = 9
|
||||
end
|
||||
end
|
56
applications/lazstats/source_orig/CONCORDANCE.lrs
Normal file
56
applications/lazstats/source_orig/CONCORDANCE.lrs
Normal file
@ -0,0 +1,56 @@
|
||||
LazarusResources.Add('TConcordFrm','FORMDATA',[
|
||||
'TPF0'#11'TConcordFrm'#10'ConcordFrm'#4'Left'#2'M'#3'Top'#2'P'#11'HelpContext'
|
||||
+#3#25#5#11'BorderStyle'#7#8'bsDialog'#7'Caption'#6'#Kendal''s Coefficient of'
|
||||
+' Concordance'#12'ClientHeight'#3#243#0#11'ClientWidth'#3#24#2#5'Color'#7#9
|
||||
+'clBtnFace'#12'Font.Charset'#7#15'DEFAULT_CHARSET'#10'Font.Color'#7#12'clWin'
|
||||
+'dowText'#11'Font.Height'#2#245#9'Font.Name'#6#13'MS Sans Serif'#10'Font.Sty'
|
||||
+'le'#11#0#8'HelpFile'#6#11'OS2Help.hlp'#6'OnShow'#7#8'FormShow'#13'PixelsPer'
|
||||
+'Inch'#2'`'#10'TextHeight'#2#13#0#6'TLabel'#6'Label1'#4'Left'#2#24#3'Top'#2#8
|
||||
+#5'Width'#2'\'#6'Height'#2#13#7'Caption'#6#20'Available Variables:'#0#0#6'TL'
|
||||
+'abel'#6'Label2'#4'Left'#3#200#0#3'Top'#2#8#5'Width'#2'['#6'Height'#2#13#7'C'
|
||||
+'aption'#6#19'Selected Variables:'#0#0#8'TListBox'#7'VarList'#4'Left'#2#8#3
|
||||
+'Top'#2#24#5'Width'#3#129#0#6'Height'#3#201#0#10'ItemHeight'#2#13#11'MultiSe'
|
||||
+'lect'#9#8'TabOrder'#2#0#0#0#7'TBitBtn'#5'InBtn'#4'Left'#3#144#0#3'Top'#2' '
|
||||
+#5'Width'#2'!'#6'Height'#2'!'#8'TabOrder'#2#1#7'OnClick'#7#10'InBtnClick'#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'333333333333333333333333333333333333333333333333333333333'
|
||||
+'33?'#243'333333'#0'3333333w?'#243'33333'#9#0'333333w?'#243'3333'#9#153#0'3'
|
||||
+'3?'#255#255'3w?'#243#0#0#0#9#153#153#0'3wwws33w?'#9#153#153#153#153#153#153
|
||||
+#0''#255#255#255'33?w'#0#0#0#9#153#153#0'3www3?w3333'#9#153#0'33333?w3333'
|
||||
+'3'#9#0'333333w333333'#0'3333333w333333333333333333333333333333333333333333'
|
||||
+'3333333333'#9'NumGlyphs'#2#2#0#0#7'TBitBtn'#6'OutBtn'#4'Left'#3#144#0#3'Top'
|
||||
+#2'H'#5'Width'#2'!'#6'Height'#2'!'#8'TabOrder'#2#2#7'OnClick'#7#11'OutBtnCli'
|
||||
+'ck'#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'33333333333333333333333333333333333333333333?'#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'3'
|
||||
+'3333w?'#247#243'33333'#0#144'333333w7'#243'333333'#0'3333333w33333333333333'
|
||||
+'33333333333333333333333333333333333333333333333333333'#9'NumGlyphs'#2#2#0#0
|
||||
+#7'TBitBtn'#6'AllBtn'#4'Left'#3#144#0#3'Top'#3#136#0#5'Width'#2'!'#6'Height'
|
||||
+#2'!'#7'Caption'#6#3'ALL'#8'TabOrder'#2#3#7'OnClick'#7#11'AllBtnClick'#0#0#8
|
||||
+'TListBox'#8'ListBox1'#4'Left'#3#184#0#3'Top'#2#24#5'Width'#3#137#0#6'Height'
|
||||
+#3#201#0#10'ItemHeight'#2#13#8'TabOrder'#2#4#0#0#7'TButton'#8'ResetBtn'#4'Le'
|
||||
+'ft'#3'P'#1#3'Top'#3#179#0#5'Width'#2'A'#6'Height'#2#25#7'Caption'#6#5'Reset'
|
||||
+#8'TabOrder'#2#5#7'OnClick'#7#13'ResetBtnClick'#0#0#7'TButton'#9'CancelBtn'#4
|
||||
+'Left'#3#200#1#3'Top'#3#179#0#5'Width'#2'A'#6'Height'#2#25#7'Caption'#6#6'Ca'
|
||||
+'ncel'#11'ModalResult'#2#2#8'TabOrder'#2#6#7'OnClick'#7#14'CancelBtnClick'#0
|
||||
+#0#7'TButton'#5'OKBtn'#4'Left'#3#200#1#3'Top'#3#211#0#5'Width'#2'A'#6'Height'
|
||||
+#2#25#7'Caption'#6#6'Return'#11'ModalResult'#2#1#8'TabOrder'#2#7#7'OnClick'#7
|
||||
+#10'OKBtnClick'#0#0#7'TButton'#10'ComputeBtn'#4'Left'#3'P'#1#3'Top'#3#211#0#5
|
||||
+'Width'#2'A'#6'Height'#2#25#7'Caption'#6#7'Compute'#8'TabOrder'#2#8#7'OnClic'
|
||||
+'k'#7#15'ComputeBtnClick'#0#0#5'TMemo'#5'Memo1'#4'Left'#3'P'#1#3'Top'#2#0#5
|
||||
+'Width'#3#185#0#6'Height'#3#169#0#13'Lines.Strings'#1#6'#Directions: A Jud'
|
||||
+'ge''s ratings or '#6#25'observations are recorded'#6'%as Variables (columns'
|
||||
+') 1 through k. '#6'%Each line corresponds to a different '#6'#judge (perso'
|
||||
+'n making the rating.) '#6'(Select the variables from the left list '#6'"to'
|
||||
+' analyze and click on the right '#6#6'arrow.'#6'&Click on the left arrow to'
|
||||
+' remove any '#6'%variables NOT to be analyzed. Click '#6'#on the Compute b'
|
||||
+'utton to obtain the'#6#9'results. '#0#8'TabOrder'#2#9#0#0#0
|
||||
]);
|
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
|
||||
]);
|
124
applications/lazstats/source_orig/CompTestUnit.lfm
Normal file
124
applications/lazstats/source_orig/CompTestUnit.lfm
Normal file
@ -0,0 +1,124 @@
|
||||
object CompTestFrm: TCompTestFrm
|
||||
Left = 32
|
||||
Top = 62
|
||||
Width = 389
|
||||
Height = 235
|
||||
Caption = 'Computer Administered Test'
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -11
|
||||
Font.Name = 'MS Sans Serif'
|
||||
Font.Style = []
|
||||
OnShow = FormShow
|
||||
PixelsPerInch = 96
|
||||
object Label1: TLabel
|
||||
Left = 8
|
||||
Top = 48
|
||||
Width = 110
|
||||
Height = 13
|
||||
Caption = 'Enter your LAST name:'
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 8
|
||||
Top = 144
|
||||
Width = 150
|
||||
Height = 13
|
||||
Caption = 'Save the results in a file named:'
|
||||
end
|
||||
object Label3: TLabel
|
||||
Left = 8
|
||||
Top = 80
|
||||
Width = 114
|
||||
Height = 13
|
||||
Caption = 'Enter your FIRST name:'
|
||||
end
|
||||
object Label4: TLabel
|
||||
Left = 8
|
||||
Top = 112
|
||||
Width = 154
|
||||
Height = 13
|
||||
Caption = 'Enter your Identification Number:'
|
||||
end
|
||||
object LastNameEdit: TEdit
|
||||
Left = 192
|
||||
Top = 40
|
||||
Width = 177
|
||||
Height = 21
|
||||
TabOrder = 2
|
||||
end
|
||||
object TestNameEdit: TEdit
|
||||
Left = 192
|
||||
Top = 8
|
||||
Width = 177
|
||||
Height = 21
|
||||
TabOrder = 1
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 8
|
||||
Top = 176
|
||||
Width = 73
|
||||
Height = 25
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 7
|
||||
OnClick = CancelBtnClick
|
||||
end
|
||||
object StartBtn: TButton
|
||||
Left = 152
|
||||
Top = 176
|
||||
Width = 73
|
||||
Height = 25
|
||||
Caption = 'Start Test'
|
||||
TabOrder = 6
|
||||
OnClick = StartBtnClick
|
||||
end
|
||||
object ExitBtn: TButton
|
||||
Left = 296
|
||||
Top = 176
|
||||
Width = 73
|
||||
Height = 25
|
||||
Caption = 'Exit'
|
||||
ModalResult = 1
|
||||
TabOrder = 8
|
||||
OnClick = ExitBtnClick
|
||||
end
|
||||
object Button1: TButton
|
||||
Left = 8
|
||||
Top = 8
|
||||
Width = 145
|
||||
Height = 25
|
||||
Caption = 'Click to find test files'
|
||||
TabOrder = 0
|
||||
OnClick = Button1Click
|
||||
end
|
||||
object SaveFileEdit: TEdit
|
||||
Left = 192
|
||||
Top = 136
|
||||
Width = 177
|
||||
Height = 21
|
||||
TabOrder = 5
|
||||
end
|
||||
object FirstNameEdit: TEdit
|
||||
Left = 192
|
||||
Top = 72
|
||||
Width = 177
|
||||
Height = 21
|
||||
TabOrder = 3
|
||||
end
|
||||
object IDnoEdit: TEdit
|
||||
Left = 192
|
||||
Top = 104
|
||||
Width = 177
|
||||
Height = 21
|
||||
TabOrder = 4
|
||||
end
|
||||
object OpenDialog1: TOpenDialog
|
||||
Left = 240
|
||||
Top = 176
|
||||
end
|
||||
object SaveDialog1: TSaveDialog
|
||||
Left = 104
|
||||
Top = 176
|
||||
end
|
||||
end
|
288
applications/lazstats/source_orig/CompletionItemUnit.lfm
Normal file
288
applications/lazstats/source_orig/CompletionItemUnit.lfm
Normal file
@ -0,0 +1,288 @@
|
||||
object CompletionItemFrm: TCompletionItemFrm
|
||||
Left = 100
|
||||
Top = 108
|
||||
HelpContext = 1850
|
||||
BorderStyle = bsDialog
|
||||
Caption = 'Blank Completion Item Specification'
|
||||
ClientHeight = 384
|
||||
ClientWidth = 591
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -11
|
||||
Font.Name = 'MS Sans Serif'
|
||||
Font.Style = []
|
||||
HelpFile = 'ITEMBANKHELP.HLP'
|
||||
OnShow = FormShow
|
||||
PixelsPerInch = 96
|
||||
object Label2: TLabel
|
||||
Left = 16
|
||||
Top = 8
|
||||
Width = 63
|
||||
Height = 13
|
||||
Caption = 'Item Number:'
|
||||
end
|
||||
object Label1: TLabel
|
||||
Left = 160
|
||||
Top = 8
|
||||
Width = 281
|
||||
Height = 13
|
||||
Caption = 'Click on the Item Classification Code listed in the box below.'
|
||||
end
|
||||
object Label14: TLabel
|
||||
Left = 16
|
||||
Top = 64
|
||||
Width = 89
|
||||
Height = 13
|
||||
Caption = 'Bit Map File Name:'
|
||||
end
|
||||
object Label15: TLabel
|
||||
Left = 16
|
||||
Top = 88
|
||||
Width = 72
|
||||
Height = 13
|
||||
Caption = 'Image (if used):'
|
||||
end
|
||||
object Label16: TLabel
|
||||
Left = 120
|
||||
Top = 80
|
||||
Width = 97
|
||||
Height = 13
|
||||
Caption = '(Thumb Nail Sketch)'
|
||||
end
|
||||
object BMPImage: TImage
|
||||
Left = 112
|
||||
Top = 96
|
||||
Width = 121
|
||||
Height = 97
|
||||
Center = True
|
||||
Stretch = True
|
||||
end
|
||||
object Label18: TLabel
|
||||
Left = 248
|
||||
Top = 96
|
||||
Width = 60
|
||||
Height = 13
|
||||
Caption = 'Item Weight:'
|
||||
end
|
||||
object Label3: TLabel
|
||||
Left = 16
|
||||
Top = 200
|
||||
Width = 47
|
||||
Height = 13
|
||||
Caption = 'Item Stem'
|
||||
end
|
||||
object Label4: TLabel
|
||||
Left = 16
|
||||
Top = 312
|
||||
Width = 89
|
||||
Height = 13
|
||||
Caption = 'Suggested Answer'
|
||||
end
|
||||
object ItemNoEdit: TEdit
|
||||
Left = 104
|
||||
Top = 0
|
||||
Width = 41
|
||||
Height = 21
|
||||
TabOrder = 0
|
||||
end
|
||||
object ItemNoScroll: TScrollBar
|
||||
Left = 16
|
||||
Top = 28
|
||||
Width = 129
|
||||
Height = 16
|
||||
Max = 1000
|
||||
PageSize = 0
|
||||
TabOrder = 1
|
||||
OnScroll = ItemNoScrollScroll
|
||||
end
|
||||
object CodeCombo: TComboBox
|
||||
Left = 160
|
||||
Top = 24
|
||||
Width = 417
|
||||
Height = 21
|
||||
ItemHeight = 13
|
||||
TabOrder = 2
|
||||
Text = 'Classification Code'
|
||||
end
|
||||
object BMPFileEdit: TEdit
|
||||
Left = 112
|
||||
Top = 56
|
||||
Width = 465
|
||||
Height = 21
|
||||
TabOrder = 3
|
||||
Text = 'BMPFileEdit'
|
||||
end
|
||||
object BrowseBtn: TButton
|
||||
Left = 24
|
||||
Top = 112
|
||||
Width = 57
|
||||
Height = 25
|
||||
Caption = 'Browse'
|
||||
TabOrder = 4
|
||||
OnClick = BrowseBtnClick
|
||||
end
|
||||
object ClearBtn: TButton
|
||||
Left = 24
|
||||
Top = 144
|
||||
Width = 57
|
||||
Height = 25
|
||||
Caption = 'Clear'
|
||||
TabOrder = 5
|
||||
OnClick = ClearBtnClick
|
||||
end
|
||||
object ItemWeightEdit: TEdit
|
||||
Left = 312
|
||||
Top = 96
|
||||
Width = 33
|
||||
Height = 21
|
||||
TabOrder = 6
|
||||
Text = 'ItemWeightEdit'
|
||||
end
|
||||
object Panel1: TPanel
|
||||
Left = 408
|
||||
Top = 80
|
||||
Width = 169
|
||||
Height = 137
|
||||
TabOrder = 7
|
||||
object Label9: TLabel
|
||||
Left = 6
|
||||
Top = 14
|
||||
Width = 78
|
||||
Height = 13
|
||||
Caption = 'Percent Passed:'
|
||||
end
|
||||
object Label10: TLabel
|
||||
Left = 6
|
||||
Top = 38
|
||||
Width = 97
|
||||
Height = 13
|
||||
Caption = 'Log Difficulty (IRT1):'
|
||||
end
|
||||
object Label11: TLabel
|
||||
Left = 6
|
||||
Top = 62
|
||||
Width = 86
|
||||
Height = 13
|
||||
Caption = 'Item Slope (IRT2):'
|
||||
end
|
||||
object Label12: TLabel
|
||||
Left = 6
|
||||
Top = 86
|
||||
Width = 96
|
||||
Height = 13
|
||||
Caption = 'Item Chance (IRT3):'
|
||||
end
|
||||
object Label13: TLabel
|
||||
Left = 6
|
||||
Top = 110
|
||||
Width = 76
|
||||
Height = 13
|
||||
Caption = 'Times Selected:'
|
||||
end
|
||||
object PcntEdit: TEdit
|
||||
Left = 110
|
||||
Top = 6
|
||||
Width = 41
|
||||
Height = 21
|
||||
TabOrder = 0
|
||||
end
|
||||
object IRT1Edit: TEdit
|
||||
Left = 110
|
||||
Top = 30
|
||||
Width = 41
|
||||
Height = 21
|
||||
TabOrder = 1
|
||||
end
|
||||
object IRT2Edit: TEdit
|
||||
Left = 110
|
||||
Top = 54
|
||||
Width = 41
|
||||
Height = 21
|
||||
TabOrder = 2
|
||||
end
|
||||
object IRT3Edit: TEdit
|
||||
Left = 110
|
||||
Top = 78
|
||||
Width = 41
|
||||
Height = 21
|
||||
TabOrder = 3
|
||||
end
|
||||
object NoSelEdit: TEdit
|
||||
Left = 110
|
||||
Top = 102
|
||||
Width = 41
|
||||
Height = 21
|
||||
TabOrder = 4
|
||||
end
|
||||
end
|
||||
object StemMemo: TMemo
|
||||
Left = 16
|
||||
Top = 224
|
||||
Width = 561
|
||||
Height = 73
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -13
|
||||
Font.Name = 'MS Sans Serif'
|
||||
Font.Style = []
|
||||
MaxLength = 1000
|
||||
ParentFont = False
|
||||
ScrollBars = ssVertical
|
||||
TabOrder = 8
|
||||
WantTabs = True
|
||||
WordWrap = False
|
||||
end
|
||||
object NewBtn: TButton
|
||||
Left = 16
|
||||
Top = 355
|
||||
Width = 73
|
||||
Height = 25
|
||||
Caption = 'New Item'
|
||||
TabOrder = 9
|
||||
OnClick = NewBtnClick
|
||||
end
|
||||
object SaveBtn: TButton
|
||||
Left = 112
|
||||
Top = 355
|
||||
Width = 73
|
||||
Height = 25
|
||||
Caption = 'Save Item'
|
||||
TabOrder = 10
|
||||
OnClick = SaveBtnClick
|
||||
end
|
||||
object DeleteBtn: TButton
|
||||
Left = 208
|
||||
Top = 355
|
||||
Width = 73
|
||||
Height = 25
|
||||
Caption = 'Delete'
|
||||
TabOrder = 11
|
||||
OnClick = DeleteBtnClick
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 504
|
||||
Top = 355
|
||||
Width = 73
|
||||
Height = 25
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 12
|
||||
OnClick = ReturnBtnClick
|
||||
end
|
||||
object AnswerEdit: TEdit
|
||||
Left = 16
|
||||
Top = 328
|
||||
Width = 561
|
||||
Height = 21
|
||||
TabOrder = 13
|
||||
end
|
||||
object OpenPictureDialog1: TOpenPictureDialog
|
||||
Left = 328
|
||||
Top = 352
|
||||
end
|
||||
object OpenDialog1: TOpenDialog
|
||||
Left = 384
|
||||
Top = 352
|
||||
end
|
||||
end
|
336
applications/lazstats/source_orig/CompletionItemUnit.pas
Normal file
336
applications/lazstats/source_orig/CompletionItemUnit.pas
Normal file
@ -0,0 +1,336 @@
|
||||
unit CompletionItemUnit;
|
||||
|
||||
{$MODE Delphi}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
||||
StdCtrls, ExtCtrls, ItemBankGlobals, ExtDlgs, FunctionsUnit;
|
||||
|
||||
type
|
||||
TCompletionItemFrm = class(TForm)
|
||||
Label2: TLabel;
|
||||
ItemNoEdit: TEdit;
|
||||
ItemNoScroll: TScrollBar;
|
||||
Label1: TLabel;
|
||||
CodeCombo: TComboBox;
|
||||
Label14: TLabel;
|
||||
BMPFileEdit: TEdit;
|
||||
Label15: TLabel;
|
||||
BrowseBtn: TButton;
|
||||
ClearBtn: TButton;
|
||||
Label16: TLabel;
|
||||
BMPImage: TImage;
|
||||
Label18: TLabel;
|
||||
ItemWeightEdit: TEdit;
|
||||
Panel1: TPanel;
|
||||
Label9: TLabel;
|
||||
Label10: TLabel;
|
||||
Label11: TLabel;
|
||||
Label12: TLabel;
|
||||
Label13: TLabel;
|
||||
PcntEdit: TEdit;
|
||||
IRT1Edit: TEdit;
|
||||
IRT2Edit: TEdit;
|
||||
IRT3Edit: TEdit;
|
||||
NoSelEdit: TEdit;
|
||||
Label3: TLabel;
|
||||
StemMemo: TMemo;
|
||||
NewBtn: TButton;
|
||||
SaveBtn: TButton;
|
||||
DeleteBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
AnswerEdit: TEdit;
|
||||
Label4: TLabel;
|
||||
OpenPictureDialog1: TOpenPictureDialog;
|
||||
OpenDialog1: TOpenDialog;
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure ShowBlankItem(Sender: TObject; itemno : integer);
|
||||
procedure ReturnBtnClick(Sender: TObject);
|
||||
procedure NewBtnClick(Sender: TObject);
|
||||
procedure SaveBtnClick(Sender: TObject);
|
||||
procedure LoadRecord(VAR NewRcd : BlankItemRcd; Sender : TObject);
|
||||
procedure DeleteBtnClick(Sender: TObject);
|
||||
procedure BrowseBtnClick(Sender: TObject);
|
||||
procedure ItemNoScrollScroll(Sender: TObject; ScrollCode: TScrollCode;
|
||||
var ScrollPos: Integer);
|
||||
procedure ClearBtnClick(Sender: TObject);
|
||||
private
|
||||
{ Private declarations }
|
||||
maxitems : integer;
|
||||
ARcd : BlankItemRcd;
|
||||
public
|
||||
{ Public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
CompletionItemFrm: TCompletionItemFrm;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.lfm}
|
||||
|
||||
procedure TCompletionItemFrm.FormShow(Sender: TObject);
|
||||
var
|
||||
F : TextFile;
|
||||
S : string;
|
||||
TF : File of BlankItemRcd;
|
||||
begin
|
||||
StemMemo.Clear;
|
||||
AnswerEdit.Text := '';
|
||||
ItemNoScroll.Min := 1;
|
||||
ItemNoScroll.Max := 1;
|
||||
ItemNoEdit.Text := '1';
|
||||
ItemNoScroll.Position := 1;
|
||||
CodeCombo.Text := '';
|
||||
BMPFileEdit.Text := '';
|
||||
PcntEdit.Text := '0';
|
||||
IRT1Edit.Text := '0';
|
||||
IRT2Edit.Text := '0';
|
||||
IRT3Edit.Text := '0';
|
||||
NoSelEdit.Text := '0';
|
||||
ItemWeightEdit.Text := '0';
|
||||
maxitems := 0;
|
||||
OpenDialog1.DefaultExt := '.COD';
|
||||
OpenDialog1.Filter := 'Code files (*.cod)|*.COD|Text files (*.txt)|*.TXT|All files (*.*)|*.*';
|
||||
OpenDialog1.FilterIndex := 1;
|
||||
OpenDialog1.FileName := BankPath + ExtractFileName(BankName) + '.COD';
|
||||
OpenDialog1.Title := 'Name of Item Code File:';
|
||||
if OpenDialog1.Execute then
|
||||
begin
|
||||
AssignFile(F,OpenDialog1.filename);
|
||||
ReSet(F);
|
||||
while not EOF(F) do
|
||||
begin
|
||||
readln(F,S);
|
||||
CodeCombo.Items.Add(S);
|
||||
end;
|
||||
end
|
||||
else begin
|
||||
ShowMessage('You must first open a file of item codes.');
|
||||
exit;
|
||||
end;
|
||||
CloseFile(F);
|
||||
S := BankPath + 'BlankFile' + ExtractFileName(BankName);
|
||||
BlankFName := S;
|
||||
if FileExists(S) { *Converted from FileExists* } then
|
||||
begin
|
||||
AssignFile(TF,S);
|
||||
Reset(TF);
|
||||
while not EOF(TF) do
|
||||
begin
|
||||
read(TF,ARcd);
|
||||
maxitems := maxitems + 1;
|
||||
end;
|
||||
CloseFile(TF);
|
||||
if maxitems > ItemNoScroll.Max then
|
||||
ItemNoScroll.Max := maxitems;
|
||||
ItemNoScroll.Min := 1;
|
||||
end
|
||||
else begin // create empty file
|
||||
AssignFile(TF,S);
|
||||
rewrite(TF);
|
||||
CloseFile(TF);
|
||||
end;
|
||||
ARcd.BestAns := '';
|
||||
if maxitems > 0 then
|
||||
begin
|
||||
ItemNoScroll.Position := 1;
|
||||
ShowBlankItem(self,1);
|
||||
end;
|
||||
end;
|
||||
//-------------------------------------------------------------------
|
||||
procedure TCompletionItemFrm.ShowBlankItem(Sender: TObject; itemno : integer);
|
||||
var
|
||||
S : string;
|
||||
F : File of BlankItemRcd;
|
||||
where : longint;
|
||||
Frecd : BlankItemRcd;
|
||||
i : integer;
|
||||
|
||||
begin
|
||||
ItemNoEdit.Text := IntToStr(ItemNoScroll.Position);
|
||||
S := BankPath + 'BlankFile' + ExtractFileName(BankName);
|
||||
AssignFile(F,S);
|
||||
Reset(F);
|
||||
where := itemno-1;
|
||||
Seek(F,where);
|
||||
read(F,FRecd);
|
||||
CloseFile(F);
|
||||
CodeCombo.Text := Frecd.Code;
|
||||
BMPFileEdit.Text := Frecd.Picture;
|
||||
PcntEdit.Text := FloatToStr(Frecd.PcntPass);
|
||||
if BMPFileEdit.Text <> '' then
|
||||
begin
|
||||
if FileExists(Frecd.Picture) { *Converted from FileExists* } then
|
||||
begin
|
||||
BMPImage.Picture.LoadFromFile(Frecd.Picture);
|
||||
BMPImage.Visible := true;
|
||||
end
|
||||
else begin
|
||||
// ShowMessage('Image ' + Frecd.Picture + ' not found.');
|
||||
BMPFileEdit.Text := '';
|
||||
Frecd.Picture := '';
|
||||
end;
|
||||
end
|
||||
else BMPImage.Visible := false;
|
||||
ItemWeightEdit.Text := IntToStr(Frecd.ItemWeight);
|
||||
IRT1Edit.Text := FloatToStr(Frecd.IRT[1]);
|
||||
IRT2Edit.Text := FloatToStr(Frecd.IRT[2]);
|
||||
IRT3Edit.Text := FLoatToStr(Frecd.IRT[3]);
|
||||
StemMemo.Clear;
|
||||
for i := 1 to 10 do
|
||||
begin
|
||||
S := Frecd.ItemStem[i];
|
||||
if length(S) > 0 then StemMemo.Lines.Add(S);
|
||||
end;
|
||||
AnswerEdit.Text := Frecd.BestAns;
|
||||
|
||||
end;
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
procedure TCompletionItemFrm.ReturnBtnClick(Sender: TObject);
|
||||
begin
|
||||
CompletionItemFrm.Hide;
|
||||
end;
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
procedure TCompletionItemFrm.NewBtnClick(Sender: TObject);
|
||||
begin
|
||||
StemMemo.Clear;
|
||||
AnswerEdit.Text := '';
|
||||
ItemNoScroll.Max := maxitems + 1;
|
||||
ItemNoScroll.Position := ItemNoScroll.Max;
|
||||
ItemNoEdit.Text := IntToStr(ItemNoScroll.Position);
|
||||
CodeCombo.Text := '';
|
||||
BMPFileEdit.Text := '';
|
||||
BMPImage.Visible := false;
|
||||
PcntEdit.Text := '0';
|
||||
IRT1Edit.Text := '0';
|
||||
IRT2Edit.Text := '0';
|
||||
IRT3Edit.Text := '0';
|
||||
NoSelEdit.Text := '0';
|
||||
ItemWeightEdit.Text := '0';
|
||||
BMPImage.Visible := false;
|
||||
end;
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
procedure TCompletionItemFrm.SaveBtnClick(Sender: TObject);
|
||||
var
|
||||
NewRcd : BlankItemRcd;
|
||||
itemno : integer;
|
||||
begin
|
||||
itemno := ItemNoScroll.Position;
|
||||
LoadRecord(NewRcd,self);
|
||||
WriteCOItem(itemno,NewRcd);
|
||||
if itemno > maxitems then
|
||||
begin
|
||||
maxitems := itemno;
|
||||
ItemNoScroll.Max := maxitems+1;
|
||||
end;
|
||||
end;
|
||||
//-------------------------------------------------------------------
|
||||
procedure TCompletionItemFrm.LoadRecord(VAR NewRcd : BlankItemRcd; Sender : TObject);
|
||||
var
|
||||
i : integer;
|
||||
S : string;
|
||||
begin
|
||||
NewRcd.ItemNo := ItemNoScroll.Position;
|
||||
NewRcd.Code := CodeCombo.Text;
|
||||
for i := 0 to StemMemo.Lines.Count-1 do
|
||||
begin
|
||||
S := Trim(StemMemo.Lines[i]);
|
||||
NewRcd.ItemStem[i+1] := S;
|
||||
end;
|
||||
if StemMemo.Lines.Count < 10 then
|
||||
for i := StemMemo.Lines.Count+1 to 10 do NewRcd.ItemStem[i] := '';
|
||||
NewRcd.BestAns := AnswerEdit.Text;
|
||||
NewRcd.ItemWeight := StrToInt(ItemWeightEdit.Text);
|
||||
NewRcd.Picture := BMPFileEdit.Text;
|
||||
NewRcd.PcntPass := StrToFloat(PcntEdit.Text);
|
||||
NewRcd.IRT[1] := StrToFloat(IRT1Edit.Text);
|
||||
NewRcd.IRT[2] := StrToFloat(IRT2Edit.Text);
|
||||
NewRcd.IRT[3] := StrToFloat(IRT3Edit.Text);
|
||||
NewRcd.FreqElect := StrToInt(NoSelEdit.Text);
|
||||
end;
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
procedure TCompletionItemFrm.DeleteBtnClick(Sender: TObject);
|
||||
var
|
||||
FOld : File of BlankItemRcd;
|
||||
FNew : File of BlankItemRcd;
|
||||
itemno : integer;
|
||||
i : integer;
|
||||
SOld : string;
|
||||
SNew : string;
|
||||
begin
|
||||
itemno := ItemNoScroll.Position;
|
||||
SOld := BankPath + 'BlankFile' + ExtractFileName(BankName);
|
||||
AssignFile(FOld,SOld);
|
||||
ReSet(FOld);
|
||||
SNew := BankPath + 'TempBlankFile';
|
||||
AssignFile(FNew,SNew);
|
||||
Rewrite(FNew);
|
||||
// copy up to itemno from old file to new file
|
||||
for i := 1 to itemno-1 do
|
||||
begin
|
||||
if not EOF(FOld) then
|
||||
begin
|
||||
read(FOld,ARcd);
|
||||
write(FNew,ARcd);
|
||||
end;
|
||||
end;
|
||||
// read past itemno to delete
|
||||
if not EOF(FOld) then read(FOld,ARcd);
|
||||
// write remaining records, if any, from old to new
|
||||
if not EOF(FOld) then
|
||||
begin
|
||||
while not EOF(FOld) do
|
||||
begin
|
||||
read(FOld,ARcd);
|
||||
write(FNew,ARcd);
|
||||
end;
|
||||
end;
|
||||
CloseFile(FOld);
|
||||
CloseFile(FNew);
|
||||
// delete old file and rename temp file to old file name
|
||||
DeleteFile(SOld); { *Converted from DeleteFile* }
|
||||
RenameFile(SNew, Sold); { *Converted from RenameFile* }
|
||||
maxitems := maxitems - 1;
|
||||
if maxitems > 0 then ItemNoScroll.Max := maxitems else
|
||||
ItemNoScroll.Max := 1;
|
||||
end;
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
procedure TCompletionItemFrm.BrowseBtnClick(Sender: TObject);
|
||||
begin
|
||||
if OpenPictureDialog1.Execute then
|
||||
begin
|
||||
BMPFileEdit.Text := OpenPictureDialog1.FileName;
|
||||
BMPImage.Picture.LoadFromFile(BMPFileEdit.Text);
|
||||
BMPImage.Visible := true;
|
||||
end;
|
||||
end;
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
procedure TCompletionItemFrm.ItemNoScrollScroll(Sender: TObject;
|
||||
ScrollCode: TScrollCode; var ScrollPos: Integer);
|
||||
var
|
||||
itemno : integer;
|
||||
begin
|
||||
itemno := ScrollPos;
|
||||
if (itemno > maxitems) or (itemno < 1) then exit;
|
||||
ItemNoEdit.Text := IntToStr(itemno);
|
||||
ShowBlankItem(self,itemno);
|
||||
end;
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
procedure TCompletionItemFrm.ClearBtnClick(Sender: TObject);
|
||||
begin
|
||||
BMPFileEdit.Text := '';
|
||||
BMPImage.Visible := false;
|
||||
end;
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
end.
|
434
applications/lazstats/source_orig/calculatorunit.lfm
Normal file
434
applications/lazstats/source_orig/calculatorunit.lfm
Normal file
@ -0,0 +1,434 @@
|
||||
object CalculatorForm: TCalculatorForm
|
||||
Left = 259
|
||||
Height = 486
|
||||
Top = 104
|
||||
Width = 344
|
||||
Caption = 'Calculator'
|
||||
ClientHeight = 486
|
||||
ClientWidth = 344
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.30'
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 7
|
||||
Height = 226
|
||||
Top = 216
|
||||
Width = 243
|
||||
Caption = 'KeyPad'
|
||||
ClientHeight = 208
|
||||
ClientWidth = 239
|
||||
TabOrder = 0
|
||||
object sevenbtn: TButton
|
||||
Left = 7
|
||||
Height = 35
|
||||
Top = 16
|
||||
Width = 41
|
||||
Caption = '7'
|
||||
OnClick = sevenbtnClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object dividebtn: TButton
|
||||
Left = 191
|
||||
Height = 35
|
||||
Top = 16
|
||||
Width = 41
|
||||
Caption = '/'
|
||||
OnClick = dividebtnClick
|
||||
TabOrder = 1
|
||||
end
|
||||
end
|
||||
object eightbtn: TButton
|
||||
Left = 72
|
||||
Height = 35
|
||||
Top = 248
|
||||
Width = 41
|
||||
Caption = '8'
|
||||
OnClick = eightbtnClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object ninebtn: TButton
|
||||
Left = 128
|
||||
Height = 35
|
||||
Top = 248
|
||||
Width = 41
|
||||
Caption = '9'
|
||||
OnClick = ninebtnClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object fourbtn: TButton
|
||||
Left = 16
|
||||
Height = 35
|
||||
Top = 296
|
||||
Width = 41
|
||||
Caption = '4'
|
||||
OnClick = fourbtnClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object fivebtn: TButton
|
||||
Left = 72
|
||||
Height = 35
|
||||
Top = 296
|
||||
Width = 41
|
||||
Caption = '5'
|
||||
OnClick = fivebtnClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object sixbtn: TButton
|
||||
Left = 128
|
||||
Height = 35
|
||||
Top = 296
|
||||
Width = 41
|
||||
Caption = '6'
|
||||
OnClick = sixbtnClick
|
||||
TabOrder = 5
|
||||
end
|
||||
object onebtn: TButton
|
||||
Left = 16
|
||||
Height = 35
|
||||
Top = 344
|
||||
Width = 41
|
||||
Caption = '1'
|
||||
OnClick = onebtnClick
|
||||
TabOrder = 6
|
||||
end
|
||||
object twobtn: TButton
|
||||
Left = 72
|
||||
Height = 35
|
||||
Top = 344
|
||||
Width = 41
|
||||
Caption = '2'
|
||||
OnClick = twobtnClick
|
||||
TabOrder = 7
|
||||
end
|
||||
object threebtn: TButton
|
||||
Left = 128
|
||||
Height = 35
|
||||
Top = 344
|
||||
Width = 41
|
||||
Caption = '3'
|
||||
OnClick = threebtnClick
|
||||
TabOrder = 8
|
||||
end
|
||||
object multbtn: TButton
|
||||
Left = 200
|
||||
Height = 35
|
||||
Top = 296
|
||||
Width = 41
|
||||
Caption = '*'
|
||||
OnClick = multbtnClick
|
||||
TabOrder = 9
|
||||
end
|
||||
object subtractbtn: TButton
|
||||
Left = 200
|
||||
Height = 35
|
||||
Top = 344
|
||||
Width = 41
|
||||
Caption = '-'
|
||||
OnClick = subtractbtnClick
|
||||
TabOrder = 10
|
||||
end
|
||||
object Addbtn: TButton
|
||||
Left = 200
|
||||
Height = 35
|
||||
Top = 392
|
||||
Width = 41
|
||||
Caption = '+'
|
||||
OnClick = AddbtnClick
|
||||
TabOrder = 11
|
||||
end
|
||||
object ZeroBtn: TButton
|
||||
Left = 16
|
||||
Height = 35
|
||||
Top = 392
|
||||
Width = 41
|
||||
Caption = '0'
|
||||
OnClick = ZeroBtnClick
|
||||
TabOrder = 12
|
||||
end
|
||||
object ChangeSignBtn: TButton
|
||||
Left = 72
|
||||
Height = 35
|
||||
Top = 392
|
||||
Width = 41
|
||||
Caption = '+/-'
|
||||
OnClick = ChangeSignBtnClick
|
||||
TabOrder = 13
|
||||
end
|
||||
object PeriodBtn: TButton
|
||||
Left = 128
|
||||
Height = 35
|
||||
Top = 392
|
||||
Width = 41
|
||||
Caption = '.'
|
||||
OnClick = PeriodBtnClick
|
||||
TabOrder = 14
|
||||
end
|
||||
object GroupBox2: TGroupBox
|
||||
Left = 258
|
||||
Height = 227
|
||||
Top = 216
|
||||
Width = 71
|
||||
Caption = 'Memory'
|
||||
TabOrder = 15
|
||||
end
|
||||
object MemInBtn: TButton
|
||||
Left = 272
|
||||
Height = 35
|
||||
Top = 248
|
||||
Width = 41
|
||||
Caption = 'X->M'
|
||||
OnClick = MemInBtnClick
|
||||
TabOrder = 16
|
||||
end
|
||||
object MemOutBtn: TButton
|
||||
Left = 272
|
||||
Height = 35
|
||||
Top = 296
|
||||
Width = 41
|
||||
Caption = 'M->X'
|
||||
OnClick = MemOutBtnClick
|
||||
TabOrder = 17
|
||||
end
|
||||
object MemPlusBtn: TButton
|
||||
Left = 272
|
||||
Height = 35
|
||||
Top = 344
|
||||
Width = 41
|
||||
Caption = 'M+'
|
||||
OnClick = MemPlusBtnClick
|
||||
TabOrder = 18
|
||||
end
|
||||
object EqualBtn: TButton
|
||||
Left = 272
|
||||
Height = 35
|
||||
Top = 392
|
||||
Width = 41
|
||||
Caption = '='
|
||||
OnClick = EqualBtnClick
|
||||
TabOrder = 19
|
||||
end
|
||||
object XEdit: TEdit
|
||||
Left = 7
|
||||
Height = 23
|
||||
Top = 176
|
||||
Width = 322
|
||||
OnKeyPress = XEditKeyPress
|
||||
TabOrder = 20
|
||||
Text = 'XEdit'
|
||||
end
|
||||
object GroupBox3: TGroupBox
|
||||
Left = 0
|
||||
Height = 149
|
||||
Top = 8
|
||||
Width = 328
|
||||
Caption = 'Functions'
|
||||
ClientHeight = 131
|
||||
ClientWidth = 324
|
||||
TabOrder = 21
|
||||
object sinbtn: TButton
|
||||
Left = 14
|
||||
Height = 25
|
||||
Top = 8
|
||||
Width = 48
|
||||
Caption = 'sin'
|
||||
OnClick = sinbtnClick
|
||||
TabOrder = 0
|
||||
end
|
||||
end
|
||||
object cosbtn: TButton
|
||||
Left = 72
|
||||
Height = 25
|
||||
Top = 32
|
||||
Width = 48
|
||||
Caption = 'cos'
|
||||
OnClick = cosbtnClick
|
||||
TabOrder = 22
|
||||
end
|
||||
object tanbtn: TButton
|
||||
Left = 128
|
||||
Height = 25
|
||||
Top = 32
|
||||
Width = 48
|
||||
Caption = 'tan'
|
||||
OnClick = tanbtnClick
|
||||
TabOrder = 23
|
||||
end
|
||||
object Combobtn: TButton
|
||||
Left = 184
|
||||
Height = 25
|
||||
Top = 32
|
||||
Width = 48
|
||||
Caption = 'nCr'
|
||||
OnClick = CombobtnClick
|
||||
TabOrder = 24
|
||||
end
|
||||
object ClearEntryBtn: TButton
|
||||
Left = 240
|
||||
Height = 25
|
||||
Top = 32
|
||||
Width = 48
|
||||
Caption = 'CE'
|
||||
OnClick = ClearEntryBtnClick
|
||||
TabOrder = 25
|
||||
end
|
||||
object MeanBtn: TButton
|
||||
Left = 16
|
||||
Height = 25
|
||||
Top = 64
|
||||
Width = 48
|
||||
Caption = 'Mean'
|
||||
OnClick = MeanBtnClick
|
||||
TabOrder = 26
|
||||
end
|
||||
object VarBtn: TButton
|
||||
Left = 72
|
||||
Height = 25
|
||||
Top = 64
|
||||
Width = 48
|
||||
Caption = 'VAR.'
|
||||
OnClick = VarBtnClick
|
||||
TabOrder = 27
|
||||
end
|
||||
object StdDevBtn: TButton
|
||||
Left = 128
|
||||
Height = 25
|
||||
Top = 64
|
||||
Width = 48
|
||||
Caption = 'Std.Dev.'
|
||||
OnClick = StdDevBtnClick
|
||||
TabOrder = 28
|
||||
end
|
||||
object natlogbtn: TButton
|
||||
Left = 184
|
||||
Height = 25
|
||||
Top = 64
|
||||
Width = 48
|
||||
Caption = 'ln'
|
||||
OnClick = natlogbtnClick
|
||||
TabOrder = 29
|
||||
end
|
||||
object log10btn: TButton
|
||||
Left = 240
|
||||
Height = 25
|
||||
Top = 64
|
||||
Width = 48
|
||||
Caption = 'log10'
|
||||
OnClick = log10btnClick
|
||||
TabOrder = 30
|
||||
end
|
||||
object sqrbtn: TButton
|
||||
Left = 16
|
||||
Height = 24
|
||||
Top = 96
|
||||
Width = 48
|
||||
Caption = 'x^2'
|
||||
OnClick = sqrbtnClick
|
||||
TabOrder = 31
|
||||
end
|
||||
object sqrtbtn: TButton
|
||||
Left = 72
|
||||
Height = 25
|
||||
Top = 95
|
||||
Width = 48
|
||||
Caption = 'sqrt'
|
||||
OnClick = sqrtbtnClick
|
||||
TabOrder = 32
|
||||
end
|
||||
object ytopowerxbtn: TButton
|
||||
Left = 128
|
||||
Height = 25
|
||||
Top = 95
|
||||
Width = 48
|
||||
Caption = 'y^x'
|
||||
OnClick = ytopowerxbtnClick
|
||||
TabOrder = 33
|
||||
end
|
||||
object etoxbtn: TButton
|
||||
Left = 184
|
||||
Height = 25
|
||||
Top = 96
|
||||
Width = 48
|
||||
Caption = 'e^x'
|
||||
OnClick = etoxbtnClick
|
||||
TabOrder = 34
|
||||
end
|
||||
object tentoxbtn: TButton
|
||||
Left = 240
|
||||
Height = 25
|
||||
Top = 96
|
||||
Width = 48
|
||||
Caption = '10^x'
|
||||
OnClick = tentoxbtnClick
|
||||
TabOrder = 35
|
||||
end
|
||||
object expbtn: TButton
|
||||
Left = 16
|
||||
Height = 25
|
||||
Top = 128
|
||||
Width = 48
|
||||
Caption = 'exp'
|
||||
OnClick = expbtnClick
|
||||
TabOrder = 36
|
||||
end
|
||||
object absbtn: TButton
|
||||
Left = 72
|
||||
Height = 24
|
||||
Top = 128
|
||||
Width = 48
|
||||
Caption = 'abs'
|
||||
OnClick = absbtnClick
|
||||
TabOrder = 37
|
||||
end
|
||||
object PiBtn: TButton
|
||||
Left = 128
|
||||
Height = 25
|
||||
Top = 127
|
||||
Width = 48
|
||||
Caption = 'Pi'
|
||||
OnClick = PiBtnClick
|
||||
TabOrder = 38
|
||||
end
|
||||
object nPrbtn: TButton
|
||||
Left = 184
|
||||
Height = 25
|
||||
Top = 128
|
||||
Width = 48
|
||||
Caption = 'nPr'
|
||||
OnClick = nPrbtnClick
|
||||
TabOrder = 39
|
||||
end
|
||||
object nfactorialbtn: TButton
|
||||
Left = 240
|
||||
Height = 25
|
||||
Top = 128
|
||||
Width = 48
|
||||
Caption = 'n!'
|
||||
OnClick = nfactorialbtnClick
|
||||
TabOrder = 40
|
||||
end
|
||||
object Label1: TLabel
|
||||
Left = 18
|
||||
Height = 16
|
||||
Top = 450
|
||||
Width = 155
|
||||
Caption = 'No. in memory stack (M+) = '
|
||||
ParentColor = False
|
||||
end
|
||||
object NEdit: TEdit
|
||||
Left = 175
|
||||
Height = 23
|
||||
Top = 450
|
||||
Width = 48
|
||||
TabOrder = 41
|
||||
Text = 'NEdit'
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 241
|
||||
Height = 26
|
||||
Top = 449
|
||||
Width = 69
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
OnClick = ReturnBtnClick
|
||||
TabOrder = 42
|
||||
end
|
||||
end
|
102
applications/lazstats/source_orig/calculatorunit.lrs
Normal file
102
applications/lazstats/source_orig/calculatorunit.lrs
Normal file
@ -0,0 +1,102 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TCalculatorForm','FORMDATA',[
|
||||
'TPF0'#15'TCalculatorForm'#14'CalculatorForm'#4'Left'#3#3#1#6'Height'#3#230#1
|
||||
+#3'Top'#2'h'#5'Width'#3'X'#1#7'Caption'#6#10'Calculator'#12'ClientHeight'#3
|
||||
+#230#1#11'ClientWidth'#3'X'#1#6'OnShow'#7#8'FormShow'#10'LCLVersion'#6#6'0.9'
|
||||
+'.30'#0#9'TGroupBox'#9'GroupBox1'#4'Left'#2#7#6'Height'#3#226#0#3'Top'#3#216
|
||||
+#0#5'Width'#3#243#0#7'Caption'#6#6'KeyPad'#12'ClientHeight'#3#208#0#11'Clien'
|
||||
+'tWidth'#3#239#0#8'TabOrder'#2#0#0#7'TButton'#8'sevenbtn'#4'Left'#2#7#6'Heig'
|
||||
+'ht'#2'#'#3'Top'#2#16#5'Width'#2')'#7'Caption'#6#1'7'#7'OnClick'#7#13'sevenb'
|
||||
+'tnClick'#8'TabOrder'#2#0#0#0#7'TButton'#9'dividebtn'#4'Left'#3#191#0#6'Heig'
|
||||
+'ht'#2'#'#3'Top'#2#16#5'Width'#2')'#7'Caption'#6#1'/'#7'OnClick'#7#14'divide'
|
||||
+'btnClick'#8'TabOrder'#2#1#0#0#0#7'TButton'#8'eightbtn'#4'Left'#2'H'#6'Heigh'
|
||||
+'t'#2'#'#3'Top'#3#248#0#5'Width'#2')'#7'Caption'#6#1'8'#7'OnClick'#7#13'eigh'
|
||||
+'tbtnClick'#8'TabOrder'#2#1#0#0#7'TButton'#7'ninebtn'#4'Left'#3#128#0#6'Heig'
|
||||
+'ht'#2'#'#3'Top'#3#248#0#5'Width'#2')'#7'Caption'#6#1'9'#7'OnClick'#7#12'nin'
|
||||
+'ebtnClick'#8'TabOrder'#2#2#0#0#7'TButton'#7'fourbtn'#4'Left'#2#16#6'Height'
|
||||
+#2'#'#3'Top'#3'('#1#5'Width'#2')'#7'Caption'#6#1'4'#7'OnClick'#7#12'fourbtnC'
|
||||
+'lick'#8'TabOrder'#2#3#0#0#7'TButton'#7'fivebtn'#4'Left'#2'H'#6'Height'#2'#'
|
||||
+#3'Top'#3'('#1#5'Width'#2')'#7'Caption'#6#1'5'#7'OnClick'#7#12'fivebtnClick'
|
||||
+#8'TabOrder'#2#4#0#0#7'TButton'#6'sixbtn'#4'Left'#3#128#0#6'Height'#2'#'#3'T'
|
||||
+'op'#3'('#1#5'Width'#2')'#7'Caption'#6#1'6'#7'OnClick'#7#11'sixbtnClick'#8'T'
|
||||
+'abOrder'#2#5#0#0#7'TButton'#6'onebtn'#4'Left'#2#16#6'Height'#2'#'#3'Top'#3
|
||||
+'X'#1#5'Width'#2')'#7'Caption'#6#1'1'#7'OnClick'#7#11'onebtnClick'#8'TabOrde'
|
||||
+'r'#2#6#0#0#7'TButton'#6'twobtn'#4'Left'#2'H'#6'Height'#2'#'#3'Top'#3'X'#1#5
|
||||
+'Width'#2')'#7'Caption'#6#1'2'#7'OnClick'#7#11'twobtnClick'#8'TabOrder'#2#7#0
|
||||
+#0#7'TButton'#8'threebtn'#4'Left'#3#128#0#6'Height'#2'#'#3'Top'#3'X'#1#5'Wid'
|
||||
+'th'#2')'#7'Caption'#6#1'3'#7'OnClick'#7#13'threebtnClick'#8'TabOrder'#2#8#0
|
||||
+#0#7'TButton'#7'multbtn'#4'Left'#3#200#0#6'Height'#2'#'#3'Top'#3'('#1#5'Widt'
|
||||
+'h'#2')'#7'Caption'#6#1'*'#7'OnClick'#7#12'multbtnClick'#8'TabOrder'#2#9#0#0
|
||||
+#7'TButton'#11'subtractbtn'#4'Left'#3#200#0#6'Height'#2'#'#3'Top'#3'X'#1#5'W'
|
||||
+'idth'#2')'#7'Caption'#6#1'-'#7'OnClick'#7#16'subtractbtnClick'#8'TabOrder'#2
|
||||
+#10#0#0#7'TButton'#6'Addbtn'#4'Left'#3#200#0#6'Height'#2'#'#3'Top'#3#136#1#5
|
||||
+'Width'#2')'#7'Caption'#6#1'+'#7'OnClick'#7#11'AddbtnClick'#8'TabOrder'#2#11
|
||||
+#0#0#7'TButton'#7'ZeroBtn'#4'Left'#2#16#6'Height'#2'#'#3'Top'#3#136#1#5'Widt'
|
||||
+'h'#2')'#7'Caption'#6#1'0'#7'OnClick'#7#12'ZeroBtnClick'#8'TabOrder'#2#12#0#0
|
||||
+#7'TButton'#13'ChangeSignBtn'#4'Left'#2'H'#6'Height'#2'#'#3'Top'#3#136#1#5'W'
|
||||
+'idth'#2')'#7'Caption'#6#3'+/-'#7'OnClick'#7#18'ChangeSignBtnClick'#8'TabOrd'
|
||||
+'er'#2#13#0#0#7'TButton'#9'PeriodBtn'#4'Left'#3#128#0#6'Height'#2'#'#3'Top'#3
|
||||
+#136#1#5'Width'#2')'#7'Caption'#6#1'.'#7'OnClick'#7#14'PeriodBtnClick'#8'Tab'
|
||||
+'Order'#2#14#0#0#9'TGroupBox'#9'GroupBox2'#4'Left'#3#2#1#6'Height'#3#227#0#3
|
||||
+'Top'#3#216#0#5'Width'#2'G'#7'Caption'#6#6'Memory'#8'TabOrder'#2#15#0#0#7'TB'
|
||||
+'utton'#8'MemInBtn'#4'Left'#3#16#1#6'Height'#2'#'#3'Top'#3#248#0#5'Width'#2
|
||||
+')'#7'Caption'#6#4'X->M'#7'OnClick'#7#13'MemInBtnClick'#8'TabOrder'#2#16#0#0
|
||||
+#7'TButton'#9'MemOutBtn'#4'Left'#3#16#1#6'Height'#2'#'#3'Top'#3'('#1#5'Width'
|
||||
+#2')'#7'Caption'#6#4'M->X'#7'OnClick'#7#14'MemOutBtnClick'#8'TabOrder'#2#17#0
|
||||
+#0#7'TButton'#10'MemPlusBtn'#4'Left'#3#16#1#6'Height'#2'#'#3'Top'#3'X'#1#5'W'
|
||||
+'idth'#2')'#7'Caption'#6#2'M+'#7'OnClick'#7#15'MemPlusBtnClick'#8'TabOrder'#2
|
||||
+#18#0#0#7'TButton'#8'EqualBtn'#4'Left'#3#16#1#6'Height'#2'#'#3'Top'#3#136#1#5
|
||||
+'Width'#2')'#7'Caption'#6#1'='#7'OnClick'#7#13'EqualBtnClick'#8'TabOrder'#2
|
||||
+#19#0#0#5'TEdit'#5'XEdit'#4'Left'#2#7#6'Height'#2#23#3'Top'#3#176#0#5'Width'
|
||||
+#3'B'#1#10'OnKeyPress'#7#13'XEditKeyPress'#8'TabOrder'#2#20#4'Text'#6#5'XEdi'
|
||||
+'t'#0#0#9'TGroupBox'#9'GroupBox3'#4'Left'#2#0#6'Height'#3#149#0#3'Top'#2#8#5
|
||||
+'Width'#3'H'#1#7'Caption'#6#9'Functions'#12'ClientHeight'#3#131#0#11'ClientW'
|
||||
+'idth'#3'D'#1#8'TabOrder'#2#21#0#7'TButton'#6'sinbtn'#4'Left'#2#14#6'Height'
|
||||
+#2#25#3'Top'#2#8#5'Width'#2'0'#7'Caption'#6#3'sin'#7'OnClick'#7#11'sinbtnCli'
|
||||
+'ck'#8'TabOrder'#2#0#0#0#0#7'TButton'#6'cosbtn'#4'Left'#2'H'#6'Height'#2#25#3
|
||||
+'Top'#2' '#5'Width'#2'0'#7'Caption'#6#3'cos'#7'OnClick'#7#11'cosbtnClick'#8
|
||||
+'TabOrder'#2#22#0#0#7'TButton'#6'tanbtn'#4'Left'#3#128#0#6'Height'#2#25#3'To'
|
||||
+'p'#2' '#5'Width'#2'0'#7'Caption'#6#3'tan'#7'OnClick'#7#11'tanbtnClick'#8'Ta'
|
||||
+'bOrder'#2#23#0#0#7'TButton'#8'Combobtn'#4'Left'#3#184#0#6'Height'#2#25#3'To'
|
||||
+'p'#2' '#5'Width'#2'0'#7'Caption'#6#3'nCr'#7'OnClick'#7#13'CombobtnClick'#8
|
||||
+'TabOrder'#2#24#0#0#7'TButton'#13'ClearEntryBtn'#4'Left'#3#240#0#6'Height'#2
|
||||
+#25#3'Top'#2' '#5'Width'#2'0'#7'Caption'#6#2'CE'#7'OnClick'#7#18'ClearEntryB'
|
||||
+'tnClick'#8'TabOrder'#2#25#0#0#7'TButton'#7'MeanBtn'#4'Left'#2#16#6'Height'#2
|
||||
+#25#3'Top'#2'@'#5'Width'#2'0'#7'Caption'#6#4'Mean'#7'OnClick'#7#12'MeanBtnCl'
|
||||
+'ick'#8'TabOrder'#2#26#0#0#7'TButton'#6'VarBtn'#4'Left'#2'H'#6'Height'#2#25#3
|
||||
,'Top'#2'@'#5'Width'#2'0'#7'Caption'#6#4'VAR.'#7'OnClick'#7#11'VarBtnClick'#8
|
||||
+'TabOrder'#2#27#0#0#7'TButton'#9'StdDevBtn'#4'Left'#3#128#0#6'Height'#2#25#3
|
||||
+'Top'#2'@'#5'Width'#2'0'#7'Caption'#6#8'Std.Dev.'#7'OnClick'#7#14'StdDevBtnC'
|
||||
+'lick'#8'TabOrder'#2#28#0#0#7'TButton'#9'natlogbtn'#4'Left'#3#184#0#6'Height'
|
||||
+#2#25#3'Top'#2'@'#5'Width'#2'0'#7'Caption'#6#2'ln'#7'OnClick'#7#14'natlogbtn'
|
||||
+'Click'#8'TabOrder'#2#29#0#0#7'TButton'#8'log10btn'#4'Left'#3#240#0#6'Height'
|
||||
+#2#25#3'Top'#2'@'#5'Width'#2'0'#7'Caption'#6#5'log10'#7'OnClick'#7#13'log10b'
|
||||
+'tnClick'#8'TabOrder'#2#30#0#0#7'TButton'#6'sqrbtn'#4'Left'#2#16#6'Height'#2
|
||||
+#24#3'Top'#2'`'#5'Width'#2'0'#7'Caption'#6#3'x^2'#7'OnClick'#7#11'sqrbtnClic'
|
||||
+'k'#8'TabOrder'#2#31#0#0#7'TButton'#7'sqrtbtn'#4'Left'#2'H'#6'Height'#2#25#3
|
||||
+'Top'#2'_'#5'Width'#2'0'#7'Caption'#6#4'sqrt'#7'OnClick'#7#12'sqrtbtnClick'#8
|
||||
+'TabOrder'#2' '#0#0#7'TButton'#12'ytopowerxbtn'#4'Left'#3#128#0#6'Height'#2
|
||||
+#25#3'Top'#2'_'#5'Width'#2'0'#7'Caption'#6#3'y^x'#7'OnClick'#7#17'ytopowerxb'
|
||||
+'tnClick'#8'TabOrder'#2'!'#0#0#7'TButton'#7'etoxbtn'#4'Left'#3#184#0#6'Heigh'
|
||||
+'t'#2#25#3'Top'#2'`'#5'Width'#2'0'#7'Caption'#6#3'e^x'#7'OnClick'#7#12'etoxb'
|
||||
+'tnClick'#8'TabOrder'#2'"'#0#0#7'TButton'#9'tentoxbtn'#4'Left'#3#240#0#6'Hei'
|
||||
+'ght'#2#25#3'Top'#2'`'#5'Width'#2'0'#7'Caption'#6#4'10^x'#7'OnClick'#7#14'te'
|
||||
+'ntoxbtnClick'#8'TabOrder'#2'#'#0#0#7'TButton'#6'expbtn'#4'Left'#2#16#6'Heig'
|
||||
+'ht'#2#25#3'Top'#3#128#0#5'Width'#2'0'#7'Caption'#6#3'exp'#7'OnClick'#7#11'e'
|
||||
+'xpbtnClick'#8'TabOrder'#2'$'#0#0#7'TButton'#6'absbtn'#4'Left'#2'H'#6'Height'
|
||||
+#2#24#3'Top'#3#128#0#5'Width'#2'0'#7'Caption'#6#3'abs'#7'OnClick'#7#11'absbt'
|
||||
+'nClick'#8'TabOrder'#2'%'#0#0#7'TButton'#5'PiBtn'#4'Left'#3#128#0#6'Height'#2
|
||||
+#25#3'Top'#2#127#5'Width'#2'0'#7'Caption'#6#2'Pi'#7'OnClick'#7#10'PiBtnClick'
|
||||
+#8'TabOrder'#2'&'#0#0#7'TButton'#6'nPrbtn'#4'Left'#3#184#0#6'Height'#2#25#3
|
||||
+'Top'#3#128#0#5'Width'#2'0'#7'Caption'#6#3'nPr'#7'OnClick'#7#11'nPrbtnClick'
|
||||
+#8'TabOrder'#2''''#0#0#7'TButton'#13'nfactorialbtn'#4'Left'#3#240#0#6'Height'
|
||||
+#2#25#3'Top'#3#128#0#5'Width'#2'0'#7'Caption'#6#2'n!'#7'OnClick'#7#18'nfacto'
|
||||
+'rialbtnClick'#8'TabOrder'#2'('#0#0#6'TLabel'#6'Label1'#4'Left'#2#18#6'Heigh'
|
||||
+'t'#2#16#3'Top'#3#194#1#5'Width'#3#155#0#7'Caption'#6#27'No. in memory stack'
|
||||
+' (M+) = '#11'ParentColor'#8#0#0#5'TEdit'#5'NEdit'#4'Left'#3#175#0#6'Height'
|
||||
+#2#23#3'Top'#3#194#1#5'Width'#2'0'#8'TabOrder'#2')'#4'Text'#6#5'NEdit'#0#0#7
|
||||
+'TButton'#9'ReturnBtn'#4'Left'#3#241#0#6'Height'#2#26#3'Top'#3#193#1#5'Width'
|
||||
+#2'E'#7'Caption'#6#6'Return'#11'ModalResult'#2#1#7'OnClick'#7#14'ReturnBtnCl'
|
||||
+'ick'#8'TabOrder'#2'*'#0#0#0
|
||||
]);
|
504
applications/lazstats/source_orig/calculatorunit.pas
Normal file
504
applications/lazstats/source_orig/calculatorunit.pas
Normal file
@ -0,0 +1,504 @@
|
||||
unit CalculatorUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Math, functionsLib, Globals;
|
||||
|
||||
type
|
||||
|
||||
{ TCalculatorForm }
|
||||
|
||||
TCalculatorForm = class(TForm)
|
||||
ReturnBtn: TButton;
|
||||
NEdit: TEdit;
|
||||
Label1: TLabel;
|
||||
sevenbtn: TButton;
|
||||
dividebtn: TButton;
|
||||
multbtn: TButton;
|
||||
subtractbtn: TButton;
|
||||
Addbtn: TButton;
|
||||
ZeroBtn: TButton;
|
||||
ChangeSignBtn: TButton;
|
||||
PeriodBtn: TButton;
|
||||
MemInBtn: TButton;
|
||||
MemOutBtn: TButton;
|
||||
MemPlusBtn: TButton;
|
||||
eightbtn: TButton;
|
||||
EqualBtn: TButton;
|
||||
sinbtn: TButton;
|
||||
cosbtn: TButton;
|
||||
tanbtn: TButton;
|
||||
Combobtn: TButton;
|
||||
ClearEntryBtn: TButton;
|
||||
MeanBtn: TButton;
|
||||
VarBtn: TButton;
|
||||
StdDevBtn: TButton;
|
||||
natlogbtn: TButton;
|
||||
ninebtn: TButton;
|
||||
log10btn: TButton;
|
||||
sqrbtn: TButton;
|
||||
sqrtbtn: TButton;
|
||||
ytopowerxbtn: TButton;
|
||||
etoxbtn: TButton;
|
||||
tentoxbtn: TButton;
|
||||
expbtn: TButton;
|
||||
absbtn: TButton;
|
||||
PiBtn: TButton;
|
||||
nPrbtn: TButton;
|
||||
fourbtn: TButton;
|
||||
nfactorialbtn: TButton;
|
||||
fivebtn: TButton;
|
||||
sixbtn: TButton;
|
||||
onebtn: TButton;
|
||||
twobtn: TButton;
|
||||
threebtn: TButton;
|
||||
XEdit: TEdit;
|
||||
GroupBox1: TGroupBox;
|
||||
GroupBox2: TGroupBox;
|
||||
GroupBox3: TGroupBox;
|
||||
procedure absbtnClick(Sender: TObject);
|
||||
procedure AddbtnClick(Sender: TObject);
|
||||
procedure ChangeSignBtnClick(Sender: TObject);
|
||||
procedure etoxbtnClick(Sender: TObject);
|
||||
procedure PiBtnClick(Sender: TObject);
|
||||
procedure VarBtnClick(Sender: TObject);
|
||||
procedure MeanBtnClick(Sender: TObject);
|
||||
procedure StdDevBtnClick(Sender: TObject);
|
||||
procedure ClearEntryBtnClick(Sender: TObject);
|
||||
procedure CombobtnClick(Sender: TObject);
|
||||
procedure cosbtnClick(Sender: TObject);
|
||||
procedure dividebtnClick(Sender: TObject);
|
||||
procedure eightbtnClick(Sender: TObject);
|
||||
procedure EqualBtnClick(Sender: TObject);
|
||||
procedure expbtnClick(Sender: TObject);
|
||||
procedure fivebtnClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure fourbtnClick(Sender: TObject);
|
||||
procedure log10btnClick(Sender: TObject);
|
||||
procedure MemInBtnClick(Sender: TObject);
|
||||
procedure MemOutBtnClick(Sender: TObject);
|
||||
procedure MemPlusBtnClick(Sender: TObject);
|
||||
procedure multbtnClick(Sender: TObject);
|
||||
procedure natlogbtnClick(Sender: TObject);
|
||||
procedure nfactorialbtnClick(Sender: TObject);
|
||||
procedure ninebtnClick(Sender: TObject);
|
||||
procedure nPrbtnClick(Sender: TObject);
|
||||
procedure onebtnClick(Sender: TObject);
|
||||
procedure PeriodBtnClick(Sender: TObject);
|
||||
procedure ReturnBtnClick(Sender: TObject);
|
||||
procedure sevenbtnClick(Sender: TObject);
|
||||
procedure sinbtnClick(Sender: TObject);
|
||||
procedure sixbtnClick(Sender: TObject);
|
||||
procedure sqrbtnClick(Sender: TObject);
|
||||
procedure sqrtbtnClick(Sender: TObject);
|
||||
procedure subtractbtnClick(Sender: TObject);
|
||||
procedure tanbtnClick(Sender: TObject);
|
||||
procedure tentoxbtnClick(Sender: TObject);
|
||||
procedure threebtnClick(Sender: TObject);
|
||||
procedure twobtnClick(Sender: TObject);
|
||||
procedure XEditKeyPress(Sender: TObject; var Key: char);
|
||||
procedure ytopowerxbtnClick(Sender: TObject);
|
||||
procedure ZeroBtnClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
Xmemory : double; // value in the memory
|
||||
X : double; // value in register
|
||||
TempX : double; // temporary storage of last entry
|
||||
keyentered : double; // numeric key press value
|
||||
operation : integer; // operation to be performed upon press of equal sign
|
||||
NoStack : integer; // no. in memory stack
|
||||
stack : DblDyneVec;
|
||||
Xint, Xint2 : integer;
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
CalculatorForm: TCalculatorForm;
|
||||
|
||||
implementation
|
||||
|
||||
{ TCalculatorForm }
|
||||
|
||||
procedure TCalculatorForm.FormShow(Sender: TObject);
|
||||
begin
|
||||
XEdit.Text := '';
|
||||
Xmemory := 0.0;
|
||||
X := 0.0;
|
||||
keyentered := 0.0;
|
||||
NoStack := 0;
|
||||
SetLength(stack,1000);
|
||||
NEdit.Text := '0';
|
||||
XEdit.SetFocus;
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.fourbtnClick(Sender: TObject);
|
||||
begin
|
||||
XEdit.Text := XEdit.Text + '4';
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.log10btnClick(Sender: TObject);
|
||||
begin
|
||||
X := StrToFloat(XEdit.Text);
|
||||
X := log10(X);
|
||||
XEdit.Text := FloatToStr(X);
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.MemInBtnClick(Sender: TObject);
|
||||
begin
|
||||
Xmemory := StrToFloat(XEdit.Text);
|
||||
XEdit.Text := '';
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.MemOutBtnClick(Sender: TObject);
|
||||
begin
|
||||
XEdit.Text := FloatToStr(Xmemory);
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.MemPlusBtnClick(Sender: TObject);
|
||||
begin
|
||||
stack[NoStack] := stack[NoStack] + StrToFloat(XEdit.Text);
|
||||
NoStack := NoStack + 1;
|
||||
NEdit.Text := IntToStr(NoStack);
|
||||
XEdit.Text := '';
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.multbtnClick(Sender: TObject);
|
||||
begin
|
||||
TempX := StrToFloat(XEdit.Text);
|
||||
XEdit.Text := '';
|
||||
operation := 2; // multiply
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.natlogbtnClick(Sender: TObject);
|
||||
begin
|
||||
X := StrToFloat(XEdit.Text);
|
||||
X := ln(X);
|
||||
XEdit.Text := FloatToStr(X);
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.nfactorialbtnClick(Sender: TObject);
|
||||
var n : integer;
|
||||
begin
|
||||
n := StrToInt(XEdit.Text);
|
||||
n := factorial(n);
|
||||
XEdit.Text := IntToStr(n);
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.ninebtnClick(Sender: TObject);
|
||||
begin
|
||||
XEdit.Text := XEdit.Text + '9';
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.nPrbtnClick(Sender: TObject);
|
||||
begin
|
||||
operation := 7;
|
||||
Xint := StrToInt(XEdit.Text);
|
||||
XEdit.Text := '';
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.onebtnClick(Sender: TObject);
|
||||
begin
|
||||
XEdit.Text := XEdit.Text + '1';
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.PeriodBtnClick(Sender: TObject);
|
||||
begin
|
||||
XEdit.Text := XEdit.Text + '.';
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.ReturnBtnClick(Sender: TObject);
|
||||
begin
|
||||
stack := nil;
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.sevenbtnClick(Sender: TObject);
|
||||
begin
|
||||
XEdit.Text := XEdit.Text + '7';
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.sinbtnClick(Sender: TObject);
|
||||
begin
|
||||
X := StrToFloat(XEdit.Text);
|
||||
X := sin(DegToRad(X));
|
||||
XEdit.Text := FloatToStr(X);
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.sixbtnClick(Sender: TObject);
|
||||
begin
|
||||
XEdit.Text := XEdit.Text + '6';
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.sqrbtnClick(Sender: TObject);
|
||||
begin
|
||||
X := StrToFloat(XEdit.Text);
|
||||
X := X * X;
|
||||
XEdit.Text := FloatToStr(X);
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.sqrtbtnClick(Sender: TObject);
|
||||
begin
|
||||
X := StrToFloat(XEdit.Text);
|
||||
X := sqrt(X);
|
||||
XEdit.Text := FloatToStr(X);
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.subtractbtnClick(Sender: TObject);
|
||||
begin
|
||||
TempX := StrToFloat(XEdit.Text);
|
||||
XEdit.Text := '';
|
||||
operation := 3; // subtract
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.tanbtnClick(Sender: TObject);
|
||||
begin
|
||||
X := StrToFloat(XEdit.Text);
|
||||
X := tan(DegToRad(X));
|
||||
XEdit.Text := FloatToStr(X);
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.tentoxbtnClick(Sender: TObject);
|
||||
begin
|
||||
X := StrToFloat(XEdit.Text);
|
||||
X := power(10,X);
|
||||
XEdit.Text := FloatToStr(X);
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.threebtnClick(Sender: TObject);
|
||||
begin
|
||||
XEdit.Text := XEdit.Text + '3';
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.twobtnClick(Sender: TObject);
|
||||
begin
|
||||
XEdit.Text := XEdit.Text + '2';
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.XEditKeyPress(Sender: TObject; var Key: char);
|
||||
begin
|
||||
// XEdit.Text := XEdit.Text + Key;
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.ytopowerxbtnClick(Sender: TObject);
|
||||
begin
|
||||
operation := 5;
|
||||
tempX := StrToFloat(XEdit.Text);
|
||||
XEdit.Text := '';
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.ZeroBtnClick(Sender: TObject);
|
||||
begin
|
||||
XEdit.text := XEdit.Text + '0';
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.ClearEntryBtnClick(Sender: TObject);
|
||||
begin
|
||||
XEdit.Text := '';
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.CombobtnClick(Sender: TObject);
|
||||
begin
|
||||
operation := 6;
|
||||
tempX := StrToFloat(XEdit.Text);
|
||||
XEdit.Text := '';
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.cosbtnClick(Sender: TObject);
|
||||
begin
|
||||
X := StrToFloat(XEdit.Text);
|
||||
X := cos(DegToRad(X));
|
||||
XEdit.Text := FloatToStr(X);
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.AddbtnClick(Sender: TObject);
|
||||
begin
|
||||
TempX := StrToFloat(XEdit.Text);
|
||||
XEdit.Text := '';
|
||||
operation := 4; // add
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.ChangeSignBtnClick(Sender: TObject);
|
||||
begin
|
||||
X := StrToFloat(XEdit.Text);
|
||||
X := -1.0 * X;
|
||||
XEdit.Text := FloatToStr(X);
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.etoxbtnClick(Sender: TObject);
|
||||
begin
|
||||
X := StrToFloat(XEdit.Text);
|
||||
X := power(2.71828182845905,X);
|
||||
XEdit.Text := FloatToStr(X);
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.PiBtnClick(Sender: TObject);
|
||||
begin
|
||||
X := Pi;
|
||||
XEdit.Text := FloatToStr(X);
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.absbtnClick(Sender: TObject);
|
||||
begin
|
||||
X := StrToFloat(XEdit.Text);
|
||||
X := abs(X);
|
||||
XEdit.Text := FloatToStr(X);
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.VarBtnClick(Sender: TObject);
|
||||
VAR
|
||||
Sum, SSQ : double;
|
||||
Ncount : double;
|
||||
i, index : integer;
|
||||
begin
|
||||
Ncount := StrToFloat(NEdit.Text);
|
||||
index := StrToInt(NEdit.Text);
|
||||
Sum := 0.0;
|
||||
SSQ := 0.0;
|
||||
if Ncount < 1 then
|
||||
begin
|
||||
ShowMessage('No values in stack memory');
|
||||
exit;
|
||||
end
|
||||
else
|
||||
begin
|
||||
for i := 0 to index - 1 do
|
||||
begin
|
||||
Sum := Sum + stack[i];
|
||||
SSQ := SSQ + (stack[i] * stack[i]);
|
||||
end;
|
||||
// Sum := Sum / Ncount; // mean
|
||||
// SSQ := SSQ / Ncount;
|
||||
SSQ := SSQ - (Sum * Sum) / Ncount;
|
||||
SSQ := SSQ / (Ncount - 1.0);
|
||||
XEdit.Text := FloatToStr(SSQ);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.MeanBtnClick(Sender: TObject);
|
||||
Var
|
||||
Sum : double;
|
||||
Ncount : double;
|
||||
i, index : integer;
|
||||
begin
|
||||
Ncount := StrToFloat(NEdit.Text);
|
||||
index := StrToInt(NEdit.Text);
|
||||
Sum := 0.0;
|
||||
if Ncount < 1 then
|
||||
begin
|
||||
ShowMessage('No values in stack memory');
|
||||
exit;
|
||||
end
|
||||
else
|
||||
begin
|
||||
for i := 0 to index - 1 do Sum := Sum + stack[i];
|
||||
Sum := Sum / Ncount;
|
||||
XEdit.Text := FloatToStr(Sum);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.StdDevBtnClick(Sender: TObject);
|
||||
VAR
|
||||
Sum, SSQ : double;
|
||||
Ncount : double;
|
||||
i, index : integer;
|
||||
begin
|
||||
Ncount := StrToFloat(NEdit.Text);
|
||||
index := StrToInt(NEdit.Text);
|
||||
Sum := 0.0;
|
||||
SSQ := 0.0;
|
||||
if Ncount < 1 then
|
||||
begin
|
||||
ShowMessage('No values in stack memory');
|
||||
exit;
|
||||
end
|
||||
else
|
||||
begin
|
||||
for i := 0 to index - 1 do
|
||||
begin
|
||||
Sum := Sum + stack[i];
|
||||
SSQ := SSQ + (stack[i] * stack[i]);
|
||||
end;
|
||||
// Sum := Sum / Ncount; // mean
|
||||
// SSQ := SSQ / Ncount;
|
||||
SSQ := SSQ - (Sum * Sum) / Ncount;
|
||||
SSQ := SSQ / (Ncount - 1.0);
|
||||
SSQ := sqrt(SSQ);
|
||||
XEdit.Text := FloatToStr(SSQ);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.dividebtnClick(Sender: TObject);
|
||||
begin
|
||||
TempX := StrToFloat(XEdit.Text);
|
||||
XEdit.Text := '';
|
||||
operation := 1; // //divide
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.eightbtnClick(Sender: TObject);
|
||||
begin
|
||||
XEdit.Text := XEdit.Text + '8';
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.EqualBtnClick(Sender: TObject);
|
||||
Var x1, x2 : double;
|
||||
begin
|
||||
case (operation) of
|
||||
1 : begin // divide operation
|
||||
x1 := tempX;
|
||||
x2 := x1 / StrToFloat(XEdit.Text);
|
||||
XEdit.Text := FloatToStr(x2);
|
||||
end;
|
||||
2 : begin // nultiply operation
|
||||
x1 := tempX;
|
||||
x2 := x1 * StrToFloat(XEdit.Text);
|
||||
XEdit.Text := FloatToStr(x2);
|
||||
end;
|
||||
3 : begin
|
||||
x1 := tempX; // subtract operation
|
||||
x2 := x1 - StrToFloat(XEdit.Text);
|
||||
XEdit.Text := FloatToStr(x2);
|
||||
end;
|
||||
4 : begin
|
||||
x1 := tempX; // Add operation
|
||||
x2 := x1 + StrToFloat(XEdit.Text);
|
||||
XEdit.Text := FloatToStr(x2);
|
||||
end;
|
||||
5 : begin // y to the X power (Y stored in tempx first, x in register)
|
||||
X := StrToFloat(XEdit.Text);
|
||||
X := power(tempX,X);
|
||||
XEdit.Text := FloatToStr(X);
|
||||
end;
|
||||
6 : begin // combinations of x things out of N
|
||||
X := StrToFloat(XEdit.Text);
|
||||
X := combos(X,tempX);
|
||||
XEdit.Text := FloatToStr(X);
|
||||
end;
|
||||
7 : begin // permutations of x things out of N
|
||||
Xint2 := StrToInt(XEdit.Text);
|
||||
Xint := factorial(Xint) div (factorial(Xint - Xint2));
|
||||
XEdit.Text := IntToStr(Xint);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.expbtnClick(Sender: TObject);
|
||||
begin
|
||||
X := StrToFloat(XEdit.Text);
|
||||
X := exp(X);
|
||||
XEdit.Text := FloatToStr(X);
|
||||
end;
|
||||
|
||||
procedure TCalculatorForm.fivebtnClick(Sender: TObject);
|
||||
begin
|
||||
XEdit.Text := XEdit.Text + '5';
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I calculatorunit.lrs}
|
||||
|
||||
end.
|
||||
|
280
applications/lazstats/source_orig/cchartunit.pas
Normal file
280
applications/lazstats/source_orig/cchartunit.pas
Normal file
@ -0,0 +1,280 @@
|
||||
unit CCHARTUNIT;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, ExtCtrls, MainUnit, Globals, DataProcs, Math, OutPutUnit, Buttons,
|
||||
FunctionsLib, BlankFrmUnit, contexthelpunit;
|
||||
|
||||
type
|
||||
|
||||
{ TcChartFrm }
|
||||
|
||||
TcChartFrm = class(TForm)
|
||||
HelpBtn: TButton;
|
||||
ResetBtn: TButton;
|
||||
CancelBtn: TButton;
|
||||
ComputeBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
XSigmaEdit: TEdit;
|
||||
MeasEdit: TEdit;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
VarList: TListBox;
|
||||
SigmaOpts: TRadioGroup;
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure HelpBtnClick(Sender: TObject);
|
||||
procedure VarListClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
procedure PlotMeans(VAR means : DblDyneVec;
|
||||
NoGrps : integer;
|
||||
UCL, LCL, GrandMean : double;
|
||||
Sender: TObject);
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
cChartFrm: TcChartFrm;
|
||||
|
||||
implementation
|
||||
|
||||
{ TcChartFrm }
|
||||
|
||||
procedure TcChartFrm.ResetBtnClick(Sender: TObject);
|
||||
VAR i : integer;
|
||||
begin
|
||||
VarList.Clear;
|
||||
MeasEdit.Text := '';
|
||||
XSigmaEdit.Text := '';
|
||||
SigmaOpts.ItemIndex := 0;
|
||||
for i := 1 to NoVariables do
|
||||
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
|
||||
end;
|
||||
|
||||
procedure TcChartFrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
ResetBtnClick(self);
|
||||
end;
|
||||
|
||||
procedure TcChartFrm.HelpBtnClick(Sender: TObject);
|
||||
begin
|
||||
ContextHelpForm.HelpMessage((Sender as TButton).tag);
|
||||
end;
|
||||
|
||||
procedure TcChartFrm.ComputeBtnClick(Sender: TObject);
|
||||
var
|
||||
i, MeasVar : integer;
|
||||
X, size, UCL, LCL, Sigma : double;
|
||||
GrandMean, meanc, stddevc : double;
|
||||
means : DblDyneVec;
|
||||
cellstring, outline : string;
|
||||
ColNoSelected : IntDyneVec;
|
||||
NoSelected : integer;
|
||||
begin
|
||||
SetLength(ColNoSelected,1);
|
||||
MeasVar := 1;
|
||||
Sigma := 3.0;
|
||||
for i := 1 to NoVariables do
|
||||
begin
|
||||
cellstring := OS3MainFrm.DataGrid.Cells[i,0];
|
||||
if cellstring = MeasEdit.Text then MeasVar := i;
|
||||
end;
|
||||
NoSelected := 1;
|
||||
ColNoSelected[0] := MeasVar;
|
||||
|
||||
if SigmaOpts.ItemIndex = 3 then
|
||||
Sigma := StrToFloat(XSigmaEdit.Text);
|
||||
if SigmaOpts.ItemIndex = 0 then Sigma := 3.0;
|
||||
if SigmaOpts.ItemIndex = 1 then Sigma := 2.0;
|
||||
if SigmaOpts.ItemIndex = 2 then Sigma := 1.0;
|
||||
|
||||
SetLength(means,NoCases + 1);
|
||||
GrandMean := 0.0;
|
||||
size := 0;
|
||||
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
if Not GoodRecord(i,NoSelected,ColNoSelected) then continue;
|
||||
X := StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[MeasVar,i]));
|
||||
means[i] := X;
|
||||
GrandMean := GrandMean + X;
|
||||
size := size + 1;
|
||||
end;
|
||||
|
||||
meanc := GrandMean / size;
|
||||
stddevc := sqrt(meanc);
|
||||
UCL := meanc + (Sigma * stddevc);
|
||||
LCL := meanc - (Sigma * stddevc);
|
||||
|
||||
// printed results
|
||||
OutPutFrm.RichEdit.Lines.Add('Defects c Control Chart Results');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Sample Number of ');
|
||||
OutPutFrm.RichEdit.Lines.Add(' Noncomformities');
|
||||
OutPutFrm.RichEdit.Lines.Add('______ _______________');
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
outline := format(' %3d %8.2f',[i,means[i]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
outline := format('Total Nonconformities = %8.2f',[GrandMean]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('No. of samples = %d',[NoCases]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Poisson mean and variance = %8.3f',[meanc]);
|
||||
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(means,NoCases,UCL,LCL,meanc,self);
|
||||
|
||||
means := nil;
|
||||
ColNoSelected := nil;
|
||||
end;
|
||||
|
||||
procedure TcChartFrm.VarListClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := VarList.ItemIndex;
|
||||
MeasEdit.Text := VarList.Items.Strings[index];
|
||||
end;
|
||||
|
||||
procedure TcChartFrm.PlotMeans(var means: DblDyneVec; NoGrps: integer; UCL,
|
||||
LCL, GrandMean: double; Sender: TObject);
|
||||
var
|
||||
i, xpos, ypos, hleft, hright, vtop, vbottom, imagewide : integer;
|
||||
vhi, hwide, offset, strhi : integer;
|
||||
imagehi, maxval, minval, valincr, Yvalue : double;
|
||||
Title : string;
|
||||
begin
|
||||
maxval := -10000.0;
|
||||
minval := 10000.0;
|
||||
for i := 1 to NoGrps do
|
||||
begin
|
||||
if means[i] > maxval then maxval := means[i];
|
||||
if means[i] < minval then minval := means[i];
|
||||
end;
|
||||
if UCL > maxval then maxval := UCL;
|
||||
if LCL < minval then minval := LCL;
|
||||
BlankFrm.Image1.Canvas.Clear;
|
||||
BlankFrm.Show;
|
||||
Title := 'DEFECT CONTROL (c) 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.Pen.Color := clRed;
|
||||
BlankFrm.Image1.Canvas.Brush.Color := clLtGray;
|
||||
BlankFrm.Image1.Canvas.MoveTo(xpos,ypos);
|
||||
xpos := hright;
|
||||
BlankFrm.Image1.Canvas.LineTo(xpos,ypos);
|
||||
Title := 'MEAN';
|
||||
strhi := BlankFrm.Image1.Canvas.TextHeight(Title);
|
||||
ypos := ypos - strhi div 2;
|
||||
BlankFrm.Image1.Canvas.TextOut(xpos,ypos,Title);
|
||||
|
||||
// draw horizontal axis
|
||||
BlankFrm.Image1.Canvas.Pen.Color := clBlack;
|
||||
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[1]) / (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]) / (maxval - minval)));
|
||||
ypos := ypos + vtop;
|
||||
xpos := round((hwide / NoGrps)* i + hleft);
|
||||
BlankFrm.Image1.Canvas.LineTo(xpos,ypos);
|
||||
end;
|
||||
|
||||
// Draw upper and lower confidence intervals
|
||||
ypos := round(vhi * ( (maxval - UCL) / (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 := 'UCL';
|
||||
strhi := BlankFrm.Image1.Canvas.TextHeight(Title);
|
||||
ypos := ypos - strhi div 2;
|
||||
BlankFrm.Image1.Canvas.TextOut(xpos,ypos,Title);
|
||||
|
||||
ypos := round(vhi * ( (maxval - LCL) / (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 := 'LCL';
|
||||
strhi := BlankFrm.Image1.Canvas.TextHeight(Title);
|
||||
ypos := ypos - strhi div 2;
|
||||
BlankFrm.Image1.Canvas.TextOut(xpos,ypos,Title);
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I cchartunit.lrs}
|
||||
|
||||
end.
|
||||
|
77
applications/lazstats/source_orig/colinsertunit.lfm
Normal file
77
applications/lazstats/source_orig/colinsertunit.lfm
Normal file
@ -0,0 +1,77 @@
|
||||
object colinsertfrm: Tcolinsertfrm
|
||||
Left = 221
|
||||
Height = 149
|
||||
Top = 125
|
||||
Width = 217
|
||||
Caption = 'Column Insert'
|
||||
ClientHeight = 149
|
||||
ClientWidth = 217
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.28.2'
|
||||
object Label1: TLabel
|
||||
Left = 9
|
||||
Height = 14
|
||||
Top = 15
|
||||
Width = 148
|
||||
Caption = 'Insert a column in which grid ? '
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 8
|
||||
Height = 14
|
||||
Top = 48
|
||||
Width = 113
|
||||
Caption = 'Insert Before Column : '
|
||||
ParentColor = False
|
||||
end
|
||||
object Label3: TLabel
|
||||
Left = 9
|
||||
Height = 14
|
||||
Top = 82
|
||||
Width = 106
|
||||
Caption = 'Insert After Column : '
|
||||
ParentColor = False
|
||||
end
|
||||
object GridNoEdit: TEdit
|
||||
Left = 160
|
||||
Height = 21
|
||||
Top = 6
|
||||
Width = 45
|
||||
TabOrder = 0
|
||||
Text = 'GridNoEdit'
|
||||
end
|
||||
object BeforeColEdit: TEdit
|
||||
Left = 160
|
||||
Height = 21
|
||||
Top = 41
|
||||
Width = 45
|
||||
TabOrder = 1
|
||||
Text = 'Edit1'
|
||||
end
|
||||
object AfterColEdit: TEdit
|
||||
Left = 160
|
||||
Height = 21
|
||||
Top = 75
|
||||
Width = 45
|
||||
TabOrder = 2
|
||||
Text = 'Edit1'
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 8
|
||||
Height = 30
|
||||
Top = 110
|
||||
Width = 70
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 3
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 135
|
||||
Height = 30
|
||||
Top = 110
|
||||
Width = 70
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 4
|
||||
end
|
||||
end
|
22
applications/lazstats/source_orig/colinsertunit.lrs
Normal file
22
applications/lazstats/source_orig/colinsertunit.lrs
Normal file
@ -0,0 +1,22 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('Tcolinsertfrm','FORMDATA',[
|
||||
'TPF0'#13'Tcolinsertfrm'#12'colinsertfrm'#4'Left'#3#221#0#6'Height'#3#149#0#3
|
||||
+'Top'#2'}'#5'Width'#3#217#0#7'Caption'#6#13'Column Insert'#12'ClientHeight'#3
|
||||
+#149#0#11'ClientWidth'#3#217#0#6'OnShow'#7#8'FormShow'#10'LCLVersion'#6#8'0.'
|
||||
+'9.28.2'#0#6'TLabel'#6'Label1'#4'Left'#2#9#6'Height'#2#14#3'Top'#2#15#5'Widt'
|
||||
+'h'#3#148#0#7'Caption'#6' Insert a column in which grid ? '#11'ParentColor'#8
|
||||
+#0#0#6'TLabel'#6'Label2'#4'Left'#2#8#6'Height'#2#14#3'Top'#2'0'#5'Width'#2'q'
|
||||
+#7'Caption'#6#23'Insert Before Column : '#11'ParentColor'#8#0#0#6'TLabel'#6
|
||||
+'Label3'#4'Left'#2#9#6'Height'#2#14#3'Top'#2'R'#5'Width'#2'j'#7'Caption'#6#22
|
||||
+'Insert After Column : '#11'ParentColor'#8#0#0#5'TEdit'#10'GridNoEdit'#4'Lef'
|
||||
+'t'#3#160#0#6'Height'#2#21#3'Top'#2#6#5'Width'#2'-'#8'TabOrder'#2#0#4'Text'#6
|
||||
+#10'GridNoEdit'#0#0#5'TEdit'#13'BeforeColEdit'#4'Left'#3#160#0#6'Height'#2#21
|
||||
+#3'Top'#2')'#5'Width'#2'-'#8'TabOrder'#2#1#4'Text'#6#5'Edit1'#0#0#5'TEdit'#12
|
||||
+'AfterColEdit'#4'Left'#3#160#0#6'Height'#2#21#3'Top'#2'K'#5'Width'#2'-'#8'Ta'
|
||||
+'bOrder'#2#2#4'Text'#6#5'Edit1'#0#0#7'TButton'#9'CancelBtn'#4'Left'#2#8#6'He'
|
||||
+'ight'#2#30#3'Top'#2'n'#5'Width'#2'F'#7'Caption'#6#6'Cancel'#11'ModalResult'
|
||||
+#2#2#8'TabOrder'#2#3#0#0#7'TButton'#9'ReturnBtn'#4'Left'#3#135#0#6'Height'#2
|
||||
+#30#3'Top'#2'n'#5'Width'#2'F'#7'Caption'#6#6'Return'#11'ModalResult'#2#1#8'T'
|
||||
+'abOrder'#2#4#0#0#0
|
||||
]);
|
48
applications/lazstats/source_orig/colinsertunit.pas
Normal file
48
applications/lazstats/source_orig/colinsertunit.pas
Normal file
@ -0,0 +1,48 @@
|
||||
unit colinsertunit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls;
|
||||
|
||||
type
|
||||
|
||||
{ Tcolinsertfrm }
|
||||
|
||||
Tcolinsertfrm = class(TForm)
|
||||
CancelBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
GridNoEdit: TEdit;
|
||||
BeforeColEdit: TEdit;
|
||||
AfterColEdit: TEdit;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
Label3: TLabel;
|
||||
procedure FormShow(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
colinsertfrm: Tcolinsertfrm;
|
||||
|
||||
implementation
|
||||
uses matmanunit;
|
||||
|
||||
{ Tcolinsertfrm }
|
||||
|
||||
procedure Tcolinsertfrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
GridNoEdit.Text := matmanfrm.GridNoEdit.Text;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I colinsertunit.lrs}
|
||||
|
||||
end.
|
||||
|
371
applications/lazstats/source_orig/comparedistunit.lfm
Normal file
371
applications/lazstats/source_orig/comparedistunit.lfm
Normal file
@ -0,0 +1,371 @@
|
||||
object CompareDistFrm: TCompareDistFrm
|
||||
Left = 242
|
||||
Height = 378
|
||||
Top = 127
|
||||
Width = 613
|
||||
Caption = 'Compare Cumulative Distributions'
|
||||
ClientHeight = 378
|
||||
ClientWidth = 613
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.30'
|
||||
object Label1: TLabel
|
||||
Left = 9
|
||||
Height = 16
|
||||
Top = 8
|
||||
Width = 51
|
||||
Caption = 'Variables:'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 249
|
||||
Height = 16
|
||||
Top = 22
|
||||
Width = 68
|
||||
Caption = 'Variable One'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label3: TLabel
|
||||
Left = 248
|
||||
Height = 16
|
||||
Top = 135
|
||||
Width = 69
|
||||
Caption = 'Variable Two'
|
||||
ParentColor = False
|
||||
end
|
||||
object VarList: TListBox
|
||||
Left = 9
|
||||
Height = 270
|
||||
Top = 24
|
||||
Width = 176
|
||||
ItemHeight = 0
|
||||
TabOrder = 0
|
||||
end
|
||||
object Var1InBtn: TBitBtn
|
||||
Left = 200
|
||||
Height = 30
|
||||
Top = 25
|
||||
Width = 36
|
||||
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
|
||||
}
|
||||
OnClick = Var1InBtnClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object Var1OutBtn: TBitBtn
|
||||
Left = 200
|
||||
Height = 30
|
||||
Top = 64
|
||||
Width = 36
|
||||
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
|
||||
}
|
||||
OnClick = Var1OutBtnClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object Var2InBtn: TBitBtn
|
||||
Left = 200
|
||||
Height = 30
|
||||
Top = 136
|
||||
Width = 36
|
||||
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
|
||||
}
|
||||
OnClick = Var2InBtnClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object Var2OutBtn: TBitBtn
|
||||
Left = 200
|
||||
Height = 30
|
||||
Top = 176
|
||||
Width = 36
|
||||
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
|
||||
}
|
||||
OnClick = Var2OutBtnClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object VarOneEdit: TEdit
|
||||
Left = 250
|
||||
Height = 23
|
||||
Top = 38
|
||||
Width = 142
|
||||
TabOrder = 5
|
||||
Text = 'VarOneEdit'
|
||||
end
|
||||
object VarTwoEdit: TEdit
|
||||
Left = 248
|
||||
Height = 23
|
||||
Top = 152
|
||||
Width = 142
|
||||
TabOrder = 6
|
||||
Text = 'Edit1'
|
||||
end
|
||||
object CompareGroup: TRadioGroup
|
||||
Left = 409
|
||||
Height = 81
|
||||
Top = 7
|
||||
Width = 187
|
||||
AutoFill = True
|
||||
Caption = 'Compare To:'
|
||||
ChildSizing.LeftRightSpacing = 6
|
||||
ChildSizing.TopBottomSpacing = 6
|
||||
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
|
||||
ChildSizing.EnlargeVertical = crsHomogenousChildResize
|
||||
ChildSizing.ShrinkHorizontal = crsScaleChilds
|
||||
ChildSizing.ShrinkVertical = crsScaleChilds
|
||||
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
||||
ChildSizing.ControlsPerLine = 1
|
||||
ClientHeight = 63
|
||||
ClientWidth = 183
|
||||
ItemIndex = 0
|
||||
Items.Strings = (
|
||||
'A Theoretical Distribution'
|
||||
'Another Variable'
|
||||
)
|
||||
OnClick = CompareGroupClick
|
||||
TabOrder = 7
|
||||
end
|
||||
object DistGroup: TRadioGroup
|
||||
Left = 409
|
||||
Height = 169
|
||||
Top = 96
|
||||
Width = 190
|
||||
AutoFill = True
|
||||
Caption = 'Theoretical Distributions:'
|
||||
ChildSizing.LeftRightSpacing = 6
|
||||
ChildSizing.TopBottomSpacing = 6
|
||||
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
|
||||
ChildSizing.EnlargeVertical = crsHomogenousChildResize
|
||||
ChildSizing.ShrinkHorizontal = crsScaleChilds
|
||||
ChildSizing.ShrinkVertical = crsScaleChilds
|
||||
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
||||
ChildSizing.ControlsPerLine = 1
|
||||
ClientHeight = 151
|
||||
ClientWidth = 186
|
||||
Items.Strings = (
|
||||
'Normal Distribution'
|
||||
't-Distribution'
|
||||
'Chi Square Distribution'
|
||||
'F Distribution'
|
||||
'Poisson Distribution'
|
||||
)
|
||||
OnClick = DistGroupClick
|
||||
TabOrder = 8
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 200
|
||||
Height = 30
|
||||
Top = 224
|
||||
Width = 74
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 9
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 318
|
||||
Height = 30
|
||||
Top = 224
|
||||
Width = 74
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 10
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 200
|
||||
Height = 30
|
||||
Top = 264
|
||||
Width = 74
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 11
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 318
|
||||
Height = 30
|
||||
Top = 264
|
||||
Width = 74
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 12
|
||||
end
|
||||
object PlotTypeGrp: TGroupBox
|
||||
Left = 409
|
||||
Height = 65
|
||||
Top = 292
|
||||
Width = 187
|
||||
Caption = 'Plot Type:'
|
||||
ClientHeight = 47
|
||||
ClientWidth = 183
|
||||
TabOrder = 13
|
||||
object PointsChk: TCheckBox
|
||||
Left = 8
|
||||
Height = 19
|
||||
Top = 2
|
||||
Width = 67
|
||||
Caption = '3DPoints'
|
||||
Checked = True
|
||||
OnClick = PointsChkClick
|
||||
State = cbChecked
|
||||
TabOrder = 0
|
||||
end
|
||||
object LinesChk: TCheckBox
|
||||
Left = 8
|
||||
Height = 19
|
||||
Top = 25
|
||||
Width = 61
|
||||
Caption = '3DLines'
|
||||
OnClick = LinesChkClick
|
||||
TabOrder = 1
|
||||
end
|
||||
end
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 5
|
||||
Height = 50
|
||||
Top = 307
|
||||
Width = 331
|
||||
Caption = 'Option:'
|
||||
ClientHeight = 32
|
||||
ClientWidth = 327
|
||||
TabOrder = 14
|
||||
object BothChk: TCheckBox
|
||||
Left = 4
|
||||
Height = 19
|
||||
Top = 5
|
||||
Width = 270
|
||||
Caption = 'Plot both Frequency and cumulative Frequency'
|
||||
TabOrder = 0
|
||||
end
|
||||
end
|
||||
end
|
263
applications/lazstats/source_orig/comparedistunit.lrs
Normal file
263
applications/lazstats/source_orig/comparedistunit.lrs
Normal file
@ -0,0 +1,263 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TCompareDistFrm','FORMDATA',[
|
||||
'TPF0'#15'TCompareDistFrm'#14'CompareDistFrm'#4'Left'#3#242#0#6'Height'#3'z'#1
|
||||
+#3'Top'#2#127#5'Width'#3'e'#2#7'Caption'#6' Compare Cumulative Distributions'
|
||||
+#12'ClientHeight'#3'z'#1#11'ClientWidth'#3'e'#2#6'OnShow'#7#8'FormShow'#10'L'
|
||||
+'CLVersion'#6#6'0.9.30'#0#6'TLabel'#6'Label1'#4'Left'#2#9#6'Height'#2#16#3'T'
|
||||
+'op'#2#8#5'Width'#2'3'#7'Caption'#6#10'Variables:'#11'ParentColor'#8#0#0#6'T'
|
||||
+'Label'#6'Label2'#4'Left'#3#249#0#6'Height'#2#16#3'Top'#2#22#5'Width'#2'D'#7
|
||||
+'Caption'#6#12'Variable One'#11'ParentColor'#8#0#0#6'TLabel'#6'Label3'#4'Lef'
|
||||
+'t'#3#248#0#6'Height'#2#16#3'Top'#3#135#0#5'Width'#2'E'#7'Caption'#6#12'Vari'
|
||||
+'able Two'#11'ParentColor'#8#0#0#8'TListBox'#7'VarList'#4'Left'#2#9#6'Height'
|
||||
+#3#14#1#3'Top'#2#24#5'Width'#3#176#0#10'ItemHeight'#2#0#8'TabOrder'#2#0#0#0#7
|
||||
+'TBitBtn'#9'Var1InBtn'#4'Left'#3#200#0#6'Height'#2#30#3'Top'#2#25#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#7'OnClick'#7#14'Var1InBtnClick'#8
|
||||
+'TabOrder'#2#1#0#0#7'TBitBtn'#10'Var1OutBtn'#4'Left'#3#200#0#6'Height'#2#30#3
|
||||
+'Top'#2'@'#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#7'OnC'
|
||||
+'lick'#7#15'Var1OutBtnClick'#8'TabOrder'#2#2#0#0#7'TBitBtn'#9'Var2InBtn'#4'L'
|
||||
+'eft'#3#200#0#6'Height'#2#30#3'Top'#3#136#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#7'OnClick'#7#14'Var2InBtnClick'#8'TabOrder'#2#3
|
||||
+#0#0#7'TBitBtn'#10'Var2OutBtn'#4'Left'#3#200#0#6'Height'#2#30#3'Top'#3#176#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#7'OnClick'
|
||||
+#7#15'Var2OutBtnClick'#8'TabOrder'#2#4#0#0#5'TEdit'#10'VarOneEdit'#4'Left'#3
|
||||
+#250#0#6'Height'#2#23#3'Top'#2'&'#5'Width'#3#142#0#8'TabOrder'#2#5#4'Text'#6
|
||||
+#10'VarOneEdit'#0#0#5'TEdit'#10'VarTwoEdit'#4'Left'#3#248#0#6'Height'#2#23#3
|
||||
+'Top'#3#152#0#5'Width'#3#142#0#8'TabOrder'#2#6#4'Text'#6#5'Edit1'#0#0#11'TRa'
|
||||
+'dioGroup'#12'CompareGroup'#4'Left'#3#153#1#6'Height'#2'Q'#3'Top'#2#7#5'Widt'
|
||||
+'h'#3#187#0#8'AutoFill'#9#7'Caption'#6#11'Compare To:'#28'ChildSizing.LeftRi'
|
||||
+'ghtSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.Enlarge'
|
||||
+'Horizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7
|
||||
+#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScale'
|
||||
+'Childs'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.'
|
||||
+'Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'
|
||||
+#2#1#12'ClientHeight'#2'?'#11'ClientWidth'#3#183#0#9'ItemIndex'#2#0#13'Items'
|
||||
+'.Strings'#1#6#26'A Theoretical Distribution'#6#16'Another Variable'#0#7'OnC'
|
||||
+'lick'#7#17'CompareGroupClick'#8'TabOrder'#2#7#0#0#11'TRadioGroup'#9'DistGro'
|
||||
+'up'#4'Left'#3#153#1#6'Height'#3#169#0#3'Top'#2'`'#5'Width'#3#190#0#8'AutoFi'
|
||||
+'ll'#9#7'Caption'#6#26'Theoretical Distributions:'#28'ChildSizing.LeftRightS'
|
||||
+'pacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHori'
|
||||
+'zontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24
|
||||
+'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChi'
|
||||
+'lds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Lay'
|
||||
+'out'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1
|
||||
+#12'ClientHeight'#3#151#0#11'ClientWidth'#3#186#0#13'Items.Strings'#1#6#19'N'
|
||||
+'ormal Distribution'#6#14't-Distribution'#6#23'Chi Square Distribution'#6#14
|
||||
+'F Distribution'#6#20'Poisson Distribution'#0#7'OnClick'#7#14'DistGroupClick'
|
||||
+#8'TabOrder'#2#8#0#0#7'TButton'#9'CancelBtn'#4'Left'#3#200#0#6'Height'#2#30#3
|
||||
+'Top'#3#224#0#5'Width'#2'J'#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'Tab'
|
||||
+'Order'#2#9#0#0#7'TButton'#8'ResetBtn'#4'Left'#3'>'#1#6'Height'#2#30#3'Top'#3
|
||||
+#224#0#5'Width'#2'J'#7'Caption'#6#5'Reset'#7'OnClick'#7#13'ResetBtnClick'#8
|
||||
+'TabOrder'#2#10#0#0#7'TButton'#10'ComputeBtn'#4'Left'#3#200#0#6'Height'#2#30
|
||||
+#3'Top'#3#8#1#5'Width'#2'J'#7'Caption'#6#7'Compute'#7'OnClick'#7#15'ComputeB'
|
||||
+'tnClick'#8'TabOrder'#2#11#0#0#7'TButton'#9'ReturnBtn'#4'Left'#3'>'#1#6'Heig'
|
||||
+'ht'#2#30#3'Top'#3#8#1#5'Width'#2'J'#7'Caption'#6#6'Return'#11'ModalResult'#2
|
||||
+#1#8'TabOrder'#2#12#0#0#9'TGroupBox'#11'PlotTypeGrp'#4'Left'#3#153#1#6'Heigh'
|
||||
+'t'#2'A'#3'Top'#3'$'#1#5'Width'#3#187#0#7'Caption'#6#10'Plot Type:'#12'Clien'
|
||||
+'tHeight'#2'/'#11'ClientWidth'#3#183#0#8'TabOrder'#2#13#0#9'TCheckBox'#9'Poi'
|
||||
+'ntsChk'#4'Left'#2#8#6'Height'#2#19#3'Top'#2#2#5'Width'#2'C'#7'Caption'#6#8
|
||||
+'3DPoints'#7'Checked'#9#7'OnClick'#7#14'PointsChkClick'#5'State'#7#9'cbCheck'
|
||||
+'ed'#8'TabOrder'#2#0#0#0#9'TCheckBox'#8'LinesChk'#4'Left'#2#8#6'Height'#2#19
|
||||
+#3'Top'#2#25#5'Width'#2'='#7'Caption'#6#7'3DLines'#7'OnClick'#7#13'LinesChkC'
|
||||
+'lick'#8'TabOrder'#2#1#0#0#0#9'TGroupBox'#9'GroupBox1'#4'Left'#2#5#6'Height'
|
||||
+#2'2'#3'Top'#3'3'#1#5'Width'#3'K'#1#7'Caption'#6#7'Option:'#12'ClientHeight'
|
||||
,#2' '#11'ClientWidth'#3'G'#1#8'TabOrder'#2#14#0#9'TCheckBox'#7'BothChk'#4'Le'
|
||||
+'ft'#2#4#6'Height'#2#19#3'Top'#2#5#5'Width'#3#14#1#7'Caption'#6',Plot both F'
|
||||
+'requency and cumulative Frequency'#8'TabOrder'#2#0#0#0#0#0
|
||||
]);
|
515
applications/lazstats/source_orig/comparedistunit.pas
Normal file
515
applications/lazstats/source_orig/comparedistunit.pas
Normal file
@ -0,0 +1,515 @@
|
||||
unit CompareDistUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Buttons, ExtCtrls, BlankFrmUnit, OutPutUnit, FunctionsLib, Globals,
|
||||
Math, GraphLib, DataProcs, FreqSpecsUnit, MainUnit;
|
||||
|
||||
type
|
||||
|
||||
{ TCompareDistFrm }
|
||||
|
||||
TCompareDistFrm = class(TForm)
|
||||
CancelBtn: TButton;
|
||||
BothChk: TCheckBox;
|
||||
GroupBox1: TGroupBox;
|
||||
LinesChk: TCheckBox;
|
||||
PointsChk: TCheckBox;
|
||||
PlotTypeGrp: TGroupBox;
|
||||
ResetBtn: TButton;
|
||||
ComputeBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
CompareGroup: TRadioGroup;
|
||||
DistGroup: TRadioGroup;
|
||||
VarOneEdit: TEdit;
|
||||
VarTwoEdit: TEdit;
|
||||
Label2: TLabel;
|
||||
Label3: TLabel;
|
||||
Var1InBtn: TBitBtn;
|
||||
Var1OutBtn: TBitBtn;
|
||||
Var2InBtn: TBitBtn;
|
||||
Var2OutBtn: TBitBtn;
|
||||
Label1: TLabel;
|
||||
VarList: TListBox;
|
||||
procedure CompareGroupClick(Sender: TObject);
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
procedure DistGroupClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure LinesChkClick(Sender: TObject);
|
||||
procedure PointsChkClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
procedure Var1InBtnClick(Sender: TObject);
|
||||
procedure Var1OutBtnClick(Sender: TObject);
|
||||
procedure Var2InBtnClick(Sender: TObject);
|
||||
procedure Var2OutBtnClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
compareto : integer;
|
||||
disttype : integer;
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
CompareDistFrm: TCompareDistFrm;
|
||||
|
||||
implementation
|
||||
|
||||
{ TCompareDistFrm }
|
||||
|
||||
procedure TCompareDistFrm.FormShow(Sender: TObject);
|
||||
VAR i : integer;
|
||||
begin
|
||||
VarList.Clear;
|
||||
VarOneEdit.Text := '';
|
||||
VarTwoEdit.Text := '';
|
||||
for i := 1 to NoVariables do
|
||||
begin
|
||||
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
|
||||
end;
|
||||
Var1InBtn.Visible := true;
|
||||
Var1OutBtn.Visible := false;
|
||||
Label3.Visible := false;
|
||||
VarTwoEdit.Visible := false;
|
||||
Var2InBtn.Visible := false;
|
||||
Var2OutBtn.Visible := false;
|
||||
CompareGroup.ItemIndex := 0;
|
||||
DistGroup.ItemIndex := 0;
|
||||
LinesChk.Checked := false;
|
||||
PointsChk.Checked := true;
|
||||
end;
|
||||
|
||||
procedure TCompareDistFrm.LinesChkClick(Sender: TObject);
|
||||
begin
|
||||
PointsChk.Checked := false;
|
||||
end;
|
||||
|
||||
procedure TCompareDistFrm.PointsChkClick(Sender: TObject);
|
||||
begin
|
||||
LinesChk.Checked := false;
|
||||
end;
|
||||
|
||||
procedure TCompareDistFrm.CompareGroupClick(Sender: TObject);
|
||||
begin
|
||||
compareto := CompareGroup.ItemIndex;
|
||||
if compareto = 0 then
|
||||
begin
|
||||
Label3.Visible := false;
|
||||
VarTwoEdit.Visible := false;
|
||||
Var2InBtn.Visible := false;
|
||||
Var2OutBtn.Visible := false;
|
||||
end
|
||||
else
|
||||
begin
|
||||
Label3.Visible := true;
|
||||
VarTwoEdit.Visible := true;
|
||||
Var2InBtn.Visible := true;
|
||||
Var2OutBtn.Visible := false;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCompareDistFrm.ComputeBtnClick(Sender: TObject);
|
||||
VAR
|
||||
Var1Freq : IntDyneVec;
|
||||
Var2Freq : IntDyneVec;
|
||||
XValue1 : DblDyneVec;
|
||||
XValue2 : DblDyneVec;
|
||||
Cumfreq1 : DblDyneVec;
|
||||
Cumfreq2 : DblDyneVec;
|
||||
i, j, k, col1, col2, Ncases, noints1, noints2, noints : integer;
|
||||
min1, max1, min2, max2, range1, range2, incrsize, value : double;
|
||||
incrsize1, incrsize2, prob1,prob2, KS, mean, DegFree : double;
|
||||
cellval, name1, name2 : string;
|
||||
df1, df2 : integer;
|
||||
xtitle : string;
|
||||
|
||||
label again1, again2;
|
||||
|
||||
begin
|
||||
SetLength(Var1Freq,NoCases+1);
|
||||
SetLength(Var2Freq,NoCases+1);
|
||||
SetLength(XValue1, NoCases + 1);
|
||||
SetLength(XValue2, NoCases + 1);
|
||||
SetLength(Cumfreq1,NoCases + 1);
|
||||
SetLength(Cumfreq2,NoCases + 1);
|
||||
// Get columns of the variables
|
||||
for i := 1 to NoVariables do
|
||||
begin
|
||||
if VarOneEdit.Text = OS3MainFrm.DataGrid.Cells[i,0] then col1 := i;
|
||||
if compareto = 1 then
|
||||
begin
|
||||
if VarTwoEdit.Text = OS3MainFrm.DataGrid.Cells[i,0] then col2 := i;
|
||||
end;
|
||||
end;
|
||||
// get min and max values for variable in col1
|
||||
min1 := 1.0e32;
|
||||
max1 := -1.0e32;
|
||||
Ncases := 0;
|
||||
for j := 1 to NoCases do
|
||||
begin
|
||||
if Not ValidValue(j,col1) then continue;
|
||||
value := StrToFloat(OS3MainFrm.DataGrid.Cells[col1,j]);
|
||||
if value > max1 then max1 := value;
|
||||
if value < min1 then min1 := value;
|
||||
Ncases := Ncases + 1;
|
||||
end;
|
||||
range1 := max1 - min1 + 1.0;
|
||||
if compareto = 1 then
|
||||
begin
|
||||
min2 := 1.0e32;
|
||||
max2 := -1.0e32;
|
||||
for j := 1 to NoCases do
|
||||
begin
|
||||
if Not ValidValue(j,col2) then continue;
|
||||
value := StrToFloat(OS3MainFrm.DataGrid.Cells[col2,j]);
|
||||
if value > max2 then max2 := value;
|
||||
if value < min2 then min2 := value;
|
||||
end;
|
||||
range2 := max2 - min2 + 1.0;
|
||||
name2 := VarTwoEdit.Text;
|
||||
end;
|
||||
noints := NoCases-1;
|
||||
if noints > 20 then noints := 20;
|
||||
incrsize1 := range1 / noints;
|
||||
incrsize2 := range2 / noints;
|
||||
|
||||
//Now, get frequency of cases in each interval
|
||||
for j := 1 to noints+1 do Var1Freq[j-1] := 0;
|
||||
for j := 1 to NoCases do
|
||||
begin
|
||||
if Not ValidValue(j,col1) then continue;
|
||||
value := StrToFloat(OS3MainFrm.DataGrid.Cells[col1,j]);
|
||||
for k := 1 to noints do
|
||||
begin
|
||||
if (value >= min1 + ((k-1) * incrsize1)) and
|
||||
(value < min1 + (k * incrsize1)) then Var1Freq[k-1] := Var1Freq[k-1] + 1;
|
||||
end;
|
||||
end;
|
||||
Cumfreq1[0] := Var1Freq[0];
|
||||
for j := 1 to noints+1 do XValue1[j-1] := min1 + (j-1) * incrsize1;
|
||||
for j := 1 to noints do Cumfreq1[j] := Cumfreq1[j-1] + Var1Freq[j];
|
||||
if compareto = 1 then // do same for second variable
|
||||
begin
|
||||
for j := 1 to noints+1 do Var2Freq[j-1] := 0;
|
||||
for j := 1 to NoCases do
|
||||
begin
|
||||
if Not ValidValue(j,col2) then continue;
|
||||
value := StrToFloat(OS3MainFrm.DataGrid.Cells[col2,j]);
|
||||
for k := 1 to noints do
|
||||
begin
|
||||
if (value >= min2 + ((k-1) * incrsize2)) and
|
||||
(value < min2 + (k * incrsize2)) then Var2Freq[k-1] := Var2Freq[k-1] + 1;
|
||||
end;
|
||||
end;
|
||||
Cumfreq2[0] := Var2Freq[0];
|
||||
for j := 1 to noints+1 do XValue2[j-1] := min2 + (j-1) * incrsize2;
|
||||
for j := 1 to noints do Cumfreq2[j] := Cumfreq2[j-1] + Var2Freq[j];
|
||||
end;
|
||||
|
||||
if compareto = 0 then // get theoretical distribution frequencies for selected dist.
|
||||
begin
|
||||
if DistGroup.ItemIndex = 0 then // normal curve
|
||||
begin
|
||||
name2 := 'Normal';
|
||||
min2 := -3.0;
|
||||
max2 := 3.0;
|
||||
range2 := max2 - min2;
|
||||
incrsize2 := range2 / noints;
|
||||
Xvalue2[0] := min2;
|
||||
Xvalue2[noints] := max2;
|
||||
for i := 1 to noints do
|
||||
begin
|
||||
Xvalue2[i-1] := min2 + (i-1) * incrsize2;
|
||||
Xvalue2[i] := min2 + (i) * incrsize2;
|
||||
prob1 := probz(abs(Xvalue2[i-1]));
|
||||
prob2 := probz(abs(Xvalue2[i]));
|
||||
if prob1 > prob2 then
|
||||
Var2Freq[i-1] := round((prob1-prob2) * Ncases)
|
||||
else Var2Freq[i-1] := round((prob2-prob1) * Ncases)
|
||||
end;
|
||||
Cumfreq2[0] := Var2Freq[0];
|
||||
for i := 1 to noints do Cumfreq2[i] := Cumfreq2[i-1] + Var2Freq[i];
|
||||
end;
|
||||
if DistGroup.ItemIndex = 1 then // t-distribution
|
||||
begin
|
||||
name2 := 't-Dist.';
|
||||
min2 := -3.0;
|
||||
max2 := 3.0;
|
||||
df1 := Ncases - 1;
|
||||
range2 := max2 - min2;
|
||||
incrsize2 := range2 / noints;
|
||||
Xvalue2[0] := min2;
|
||||
Xvalue2[noints] := max2;
|
||||
for i := 1 to noints do
|
||||
begin
|
||||
Xvalue2[i-1] := min2 + (i-1) * incrsize2;
|
||||
Xvalue2[i] := min2 + (i) * incrsize2;
|
||||
prob1 := 0.5 * probt(Xvalue2[i-1],df1);
|
||||
prob2 := 0.5 * probt(Xvalue2[i],df1);
|
||||
if prob1 > prob2 then
|
||||
Var2Freq[i-1] := round((prob1-prob2) * Ncases)
|
||||
else Var2Freq[i-1] := round((prob2-prob1) * Ncases)
|
||||
end;
|
||||
Cumfreq2[0] := Var2Freq[0];
|
||||
for i := 1 to noints do Cumfreq2[i] := Cumfreq2[i-1] + Var2Freq[i];
|
||||
end;
|
||||
if DistGroup.ItemIndex = 2 then // chi squared distribution
|
||||
begin
|
||||
cellval := InputBox('Deg. Freedom 1 Entry','DF 1','');
|
||||
df1 := StrToInt(cellval);
|
||||
name2 := 'Chi Sqrd';
|
||||
min2 := 0.0;
|
||||
max2 := 20.0;
|
||||
range2 := max2 - min2;
|
||||
incrsize2 := range2 / noints;
|
||||
Xvalue2[0] := min2;
|
||||
Xvalue2[noints] := max2;
|
||||
for i := 1 to noints do
|
||||
begin
|
||||
Xvalue2[i-1] := min2 + (i-1) * incrsize2;
|
||||
Xvalue2[i] := min2 + (i) * incrsize2;
|
||||
prob1 := chisquaredprob(Xvalue2[i-1],df1);
|
||||
prob2 := chisquaredprob(Xvalue2[i],df1);
|
||||
if prob1 > prob2 then
|
||||
Var2Freq[i-1] := round((prob1-prob2) * Ncases)
|
||||
else Var2Freq[i-1] := round((prob2-prob1) * Ncases)
|
||||
end;
|
||||
Cumfreq2[0] := Var2Freq[0];
|
||||
for i := 1 to noints do Cumfreq2[i] := Cumfreq2[i-1] + Var2Freq[i];
|
||||
end;
|
||||
if DistGroup.ItemIndex = 3 then // F distribution
|
||||
begin
|
||||
// get degrees of freedom
|
||||
cellval := InputBox('Deg. Freedom 1 Entry','DF 1','');
|
||||
df1 := StrToInt(cellval);
|
||||
cellval := InputBox('Deg. Freedom 2 Entry','DF 2','');
|
||||
df2 := StrToInt(cellval);
|
||||
name2 := 'F Dist.';
|
||||
min2 := 0.0;
|
||||
max2 := 3.0;
|
||||
range2 := max2 - min2;
|
||||
incrsize2 := range2 / noints;
|
||||
Xvalue2[0] := min2;
|
||||
Xvalue2[noints] := max2;
|
||||
for i := 1 to noints do
|
||||
begin
|
||||
Xvalue2[i-1] := min2 + (i-1) * incrsize2;
|
||||
Xvalue2[i] := min2 + (i) * incrsize2;
|
||||
prob1 := probf(Xvalue2[i-1],df1,df2);
|
||||
prob2 := probf(Xvalue2[i],df1,df2);
|
||||
if prob1 > prob2 then
|
||||
Var2Freq[i-1] := round((prob1-prob2) * Ncases)
|
||||
else Var2Freq[i-1] := round((prob2-prob1) * Ncases)
|
||||
end;
|
||||
Cumfreq2[0] := Var2Freq[0];
|
||||
for i := 1 to noints do Cumfreq2[i] := Cumfreq2[i-1] + Var2Freq[i];
|
||||
end;
|
||||
|
||||
if DistGroup.ItemIndex = 4 then // Poisson distribution
|
||||
begin
|
||||
name2 := 'Poisson';
|
||||
mean := 0; // use as parameter a in pdf call
|
||||
min2 := min1;
|
||||
max2 := max1;
|
||||
if max2 > 13 then
|
||||
begin
|
||||
ShowMessage('Value > 13 found. Factorial too large - exiting.');
|
||||
exit;
|
||||
end;
|
||||
for i := 1 to Ncases do
|
||||
mean := mean + StrToFloat(OS3MainFrm.DataGrid.Cells[col1,i]);
|
||||
mean := mean / Ncases;
|
||||
cellval := IntToStr(round(mean));
|
||||
cellval := InputBox('Parameter Entry (mean)','DF 1',cellval);
|
||||
degfree := StrToFloat(cellval);
|
||||
range2 := max2 - min2;
|
||||
incrsize2 := range2 / noints;
|
||||
// Xvalue2[0] := min2;
|
||||
Xvalue2[noints] := max2;
|
||||
for i := 1 to noints do
|
||||
begin
|
||||
Xvalue2[i-1] := min2 + (i-1) * incrsize2;
|
||||
Xvalue2[i] := min2 + (i) * incrsize2;
|
||||
poisson_pdf ( round(Xvalue2[i-1]), degfree, prob1 );
|
||||
// prob1 := (Xvalue2[i-1],df1);
|
||||
// prob2 := chisquaredprob(Xvalue2[i],df1);
|
||||
// if prob1 > prob2 then
|
||||
Var2Freq[i-1] := round((prob1) * Ncases);
|
||||
// else Var2Freq[i-1] := round((prob2-prob1) * Ncases)
|
||||
end;
|
||||
Cumfreq2[0] := Var2Freq[0];
|
||||
for i := 1 to noints do Cumfreq2[i] := Cumfreq2[i-1] + Var2Freq[i];
|
||||
end;
|
||||
end;
|
||||
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
OutPutFrm.RichEdit.Lines.Add('Distribution comparison by Bill Miller');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
cellval := format('%10s %10s %10s %10s %10s %10s',
|
||||
[name1, name1, name1,name2,name2,name2]);
|
||||
OutPutFrm.RichEdit.Lines.Add(cellval);
|
||||
cellval := format('%10s %10s %10s %10s %10s %10s',
|
||||
['X1 Value','Frequency','Cum. Freq.','X2 Value','Frequency','Cum. Freq.']);
|
||||
OutPutFrm.RichEdit.Lines.Add(cellval);
|
||||
for i := 1 to noints do
|
||||
begin
|
||||
cellval := format('%10.3f %10d %10.3f %10.3f %10d %10.3f',
|
||||
[XValue1[i-1],Var1Freq[i-1],Cumfreq1[i-1],XValue2[i-1],Var2Freq[i-1],Cumfreq2[i-1]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(cellval);
|
||||
end;
|
||||
cellval := 'D';
|
||||
KS := KolmogorovTest(noints, Cumfreq1,noints, Cumfreq2, cellval);
|
||||
// cellval := format('Kolmogorov-Smirnov statistic := %5.3f',[KS]);
|
||||
// OutPutFrm.RichEdit.Lines.Add(cellval);
|
||||
OutPutFrm.ShowModal;
|
||||
|
||||
// plot the cdfs
|
||||
xtitle := 'Red = ' + VarOneEdit.Text + ' Blue = ' + name2;
|
||||
cellval := 'Plot of Cum. Distributions';
|
||||
if LinesChk.Checked then GraphFrm.barwideprop := 1.0
|
||||
else GraphFrm.barwideprop := 0.5;
|
||||
GraphFrm.nosets := 2;
|
||||
GraphFrm.nbars := noints+1;
|
||||
GraphFrm.Heading := cellval;
|
||||
GraphFrm.XTitle := xtitle;
|
||||
GraphFrm.YTitle := 'Frequency';
|
||||
SetLength(GraphFrm.Ypoints,2,noints+1);
|
||||
SetLength(GraphFrm.Xpoints,1,noints+1);
|
||||
for k := 1 to noints+1 do
|
||||
begin
|
||||
GraphFrm.Ypoints[0,k-1] := Cumfreq1[k-1];
|
||||
GraphFrm.Ypoints[1,k-1] := CumFreq2[k-1];
|
||||
GraphFrm.Xpoints[0,k-1] := k;
|
||||
end;
|
||||
GraphFrm.AutoScale := true;
|
||||
if LinesChk.Checked then GraphFrm.GraphType := 6 // 3d lines
|
||||
else GraphFrm.GraphType := 8; // 3D points
|
||||
GraphFrm.BackColor := clYellow;
|
||||
GraphFrm.WallColor := clBlue;
|
||||
GraphFrm.FloorColor := clGray;
|
||||
GraphFrm.ShowLeftWall := true;
|
||||
GraphFrm.ShowRightWall := true;
|
||||
GraphFrm.ShowBottomWall := true;
|
||||
GraphFrm.ShowBackWall := true;
|
||||
GraphFrm.ShowModal;
|
||||
GraphFrm.Xpoints := nil;
|
||||
GraphFrm.Ypoints := nil;
|
||||
|
||||
if BothChk.Checked then // plot the frequencies
|
||||
begin
|
||||
xtitle := 'Red = ' + VarOneEdit.Text + ' Blue = ' + name2;
|
||||
cellval := 'Plot of Cum. Distributions';
|
||||
if LinesChk.Checked then GraphFrm.barwideprop := 1.0
|
||||
else GraphFrm.barwideprop := 0.5;
|
||||
GraphFrm.nosets := 2;
|
||||
GraphFrm.nbars := noints+1;
|
||||
GraphFrm.Heading := cellval;
|
||||
GraphFrm.XTitle := xtitle;
|
||||
GraphFrm.YTitle := 'Frequency';
|
||||
SetLength(GraphFrm.Ypoints,2,noints+1);
|
||||
SetLength(GraphFrm.Xpoints,1,noints+1);
|
||||
for k := 1 to noints+1 do
|
||||
begin
|
||||
GraphFrm.Ypoints[0,k-1] := Var1Freq[k-1];
|
||||
GraphFrm.Ypoints[1,k-1] := Var2Freq[k-1];
|
||||
GraphFrm.Xpoints[0,k-1] := k;
|
||||
end;
|
||||
GraphFrm.AutoScale := true;
|
||||
if LinesChk.Checked then GraphFrm.GraphType := 6 // 3d lines
|
||||
else GraphFrm.GraphType := 8; // 3D points
|
||||
GraphFrm.BackColor := clYellow;
|
||||
GraphFrm.WallColor := clBlue;
|
||||
GraphFrm.FloorColor := clGray;
|
||||
GraphFrm.ShowLeftWall := true;
|
||||
GraphFrm.ShowRightWall := true;
|
||||
GraphFrm.ShowBottomWall := true;
|
||||
GraphFrm.ShowBackWall := true;
|
||||
GraphFrm.ShowModal;
|
||||
GraphFrm.Xpoints := nil;
|
||||
GraphFrm.Ypoints := nil;
|
||||
|
||||
end;
|
||||
// clean up
|
||||
Cumfreq2 := nil;
|
||||
Cumfreq1 := nil;
|
||||
XValue1 := nil;
|
||||
XValue2 := nil;
|
||||
Var2Freq := nil;
|
||||
Var1Freq := nil;
|
||||
end;
|
||||
|
||||
procedure TCompareDistFrm.DistGroupClick(Sender: TObject);
|
||||
begin
|
||||
disttype := DistGroup.ItemIndex;
|
||||
end;
|
||||
|
||||
procedure TCompareDistFrm.ResetBtnClick(Sender: TObject);
|
||||
begin
|
||||
FormShow(self);
|
||||
end;
|
||||
|
||||
procedure TCompareDistFrm.Var1InBtnClick(Sender: TObject);
|
||||
VAR i, index : integer;
|
||||
begin
|
||||
index := VarList.Items.Count;
|
||||
i := 0;
|
||||
while i < index do
|
||||
begin
|
||||
if (VarList.Selected[i]) then
|
||||
begin
|
||||
VarOneEdit.Text := VarList.Items.Strings[i];
|
||||
VarList.Items.Delete(i);
|
||||
index := index - 1;
|
||||
i := 0;
|
||||
end
|
||||
else i := i + 1;
|
||||
end;
|
||||
Var1OutBtn.Visible := true;
|
||||
Var1InBtn.Visible := false;
|
||||
end;
|
||||
|
||||
procedure TCompareDistFrm.Var1OutBtnClick(Sender: TObject);
|
||||
begin
|
||||
VarList.Items.Add(VarOneEdit.Text);
|
||||
VarOneEdit.Text := '';
|
||||
Var1OutBtn.Visible := false;
|
||||
Var1InBtn.Visible := true;
|
||||
end;
|
||||
|
||||
procedure TCompareDistFrm.Var2InBtnClick(Sender: TObject);
|
||||
VAR i, index : integer;
|
||||
begin
|
||||
index := VarList.Items.Count;
|
||||
i := 0;
|
||||
while i < index do
|
||||
begin
|
||||
if (VarList.Selected[i]) then
|
||||
begin
|
||||
VarTwoEdit.Text := VarList.Items.Strings[i];
|
||||
VarList.Items.Delete(i);
|
||||
index := index - 1;
|
||||
i := 0;
|
||||
end
|
||||
else i := i + 1;
|
||||
end;
|
||||
Var2OutBtn.Visible := true;
|
||||
Var2InBtn.Visible := false;
|
||||
end;
|
||||
|
||||
procedure TCompareDistFrm.Var2OutBtnClick(Sender: TObject);
|
||||
begin
|
||||
VarList.Items.Add(VarTwoEdit.Text);
|
||||
VarTwoEdit.Text := '';
|
||||
Var2OutBtn.Visible := false;
|
||||
Var2InBtn.Visible := true;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I comparedistunit.lrs}
|
||||
|
||||
end.
|
||||
|
190
applications/lazstats/source_orig/concordanceunit.lfm
Normal file
190
applications/lazstats/source_orig/concordanceunit.lfm
Normal file
@ -0,0 +1,190 @@
|
||||
object ConcordFrm: TConcordFrm
|
||||
Left = 176
|
||||
Height = 272
|
||||
Top = 123
|
||||
Width = 516
|
||||
Caption = 'Kendal''s Coefficient of Concordance'
|
||||
ClientHeight = 272
|
||||
ClientWidth = 516
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.28.2'
|
||||
object Label1: TLabel
|
||||
Left = 6
|
||||
Height = 14
|
||||
Top = 0
|
||||
Width = 90
|
||||
Caption = 'Avialable Variables'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 216
|
||||
Height = 14
|
||||
Top = 0
|
||||
Width = 88
|
||||
Caption = 'Selected Variables'
|
||||
ParentColor = False
|
||||
end
|
||||
object VarList: TListBox
|
||||
Left = 7
|
||||
Height = 237
|
||||
Top = 16
|
||||
Width = 161
|
||||
ItemHeight = 0
|
||||
MultiSelect = True
|
||||
TabOrder = 0
|
||||
end
|
||||
object InBtn: TBitBtn
|
||||
Left = 176
|
||||
Height = 29
|
||||
Top = 24
|
||||
Width = 29
|
||||
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 = 176
|
||||
Height = 29
|
||||
Top = 56
|
||||
Width = 29
|
||||
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 AllBtn: TBitBtn
|
||||
Left = 176
|
||||
Height = 29
|
||||
Top = 104
|
||||
Width = 29
|
||||
Caption = 'ALL'
|
||||
NumGlyphs = 0
|
||||
OnClick = AllBtnClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object ListBox1: TListBox
|
||||
Left = 216
|
||||
Height = 239
|
||||
Top = 18
|
||||
Width = 165
|
||||
ItemHeight = 0
|
||||
TabOrder = 4
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 408
|
||||
Height = 30
|
||||
Top = 112
|
||||
Width = 81
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 5
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 408
|
||||
Height = 30
|
||||
Top = 64
|
||||
Width = 83
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 6
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 408
|
||||
Height = 30
|
||||
Top = 160
|
||||
Width = 83
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 7
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 408
|
||||
Height = 30
|
||||
Top = 208
|
||||
Width = 80
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 8
|
||||
end
|
||||
object HelpBtn: TButton
|
||||
Tag = 115
|
||||
Left = 408
|
||||
Height = 32
|
||||
Top = 16
|
||||
Width = 80
|
||||
Caption = 'Help'
|
||||
OnClick = HelpBtnClick
|
||||
TabOrder = 9
|
||||
end
|
||||
end
|
130
applications/lazstats/source_orig/concordanceunit.lrs
Normal file
130
applications/lazstats/source_orig/concordanceunit.lrs
Normal file
@ -0,0 +1,130 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TConcordFrm','FORMDATA',[
|
||||
'TPF0'#11'TConcordFrm'#10'ConcordFrm'#4'Left'#3#176#0#6'Height'#3#16#1#3'Top'
|
||||
+#2'{'#5'Width'#3#4#2#7'Caption'#6'#Kendal''s Coefficient of Concordance'#12
|
||||
+'ClientHeight'#3#16#1#11'ClientWidth'#3#4#2#6'OnShow'#7#8'FormShow'#10'LCLVe'
|
||||
+'rsion'#6#8'0.9.28.2'#0#6'TLabel'#6'Label1'#4'Left'#2#6#6'Height'#2#14#3'Top'
|
||||
+#2#0#5'Width'#2'Z'#7'Caption'#6#19'Avialable Variables'#11'ParentColor'#8#0#0
|
||||
+#6'TLabel'#6'Label2'#4'Left'#3#216#0#6'Height'#2#14#3'Top'#2#0#5'Width'#2'X'
|
||||
+#7'Caption'#6#18'Selected Variables'#11'ParentColor'#8#0#0#8'TListBox'#7'Var'
|
||||
+'List'#4'Left'#2#7#6'Height'#3#237#0#3'Top'#2#16#5'Width'#3#161#0#10'ItemHei'
|
||||
+'ght'#2#0#11'MultiSelect'#9#8'TabOrder'#2#0#0#0#7'TBitBtn'#5'InBtn'#4'Left'#3
|
||||
+#176#0#6'Height'#2#29#3'Top'#2#24#5'Width'#2#29#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#176#0#6'Height'#2#29#3'Top'#2'8'#5'Width'#2
|
||||
+#29#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#2#0#0#7'TBitBtn'#6'AllBtn'#4'Left'#3#176#0#6'Hei'
|
||||
+'ght'#2#29#3'Top'#2'h'#5'Width'#2#29#7'Caption'#6#3'ALL'#9'NumGlyphs'#2#0#7
|
||||
+'OnClick'#7#11'AllBtnClick'#8'TabOrder'#2#3#0#0#8'TListBox'#8'ListBox1'#4'Le'
|
||||
+'ft'#3#216#0#6'Height'#3#239#0#3'Top'#2#18#5'Width'#3#165#0#10'ItemHeight'#2
|
||||
+#0#8'TabOrder'#2#4#0#0#7'TButton'#8'ResetBtn'#4'Left'#3#152#1#6'Height'#2#30
|
||||
+#3'Top'#2'p'#5'Width'#2'Q'#7'Caption'#6#5'Reset'#7'OnClick'#7#13'ResetBtnCli'
|
||||
+'ck'#8'TabOrder'#2#5#0#0#7'TButton'#9'CancelBtn'#4'Left'#3#152#1#6'Height'#2
|
||||
+#30#3'Top'#2'@'#5'Width'#2'S'#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'T'
|
||||
+'abOrder'#2#6#0#0#7'TButton'#10'ComputeBtn'#4'Left'#3#152#1#6'Height'#2#30#3
|
||||
+'Top'#3#160#0#5'Width'#2'S'#7'Caption'#6#7'Compute'#7'OnClick'#7#15'ComputeB'
|
||||
+'tnClick'#8'TabOrder'#2#7#0#0#7'TButton'#9'ReturnBtn'#4'Left'#3#152#1#6'Heig'
|
||||
+'ht'#2#30#3'Top'#3#208#0#5'Width'#2'P'#7'Caption'#6#6'Return'#11'ModalResult'
|
||||
+#2#1#8'TabOrder'#2#8#0#0#7'TButton'#7'HelpBtn'#3'Tag'#2's'#4'Left'#3#152#1#6
|
||||
+'Height'#2' '#3'Top'#2#16#5'Width'#2'P'#7'Caption'#6#4'Help'#7'OnClick'#7#12
|
||||
+'HelpBtnClick'#8'TabOrder'#2#9#0#0#0
|
||||
]);
|
351
applications/lazstats/source_orig/concordanceunit.pas
Normal file
351
applications/lazstats/source_orig/concordanceunit.pas
Normal file
@ -0,0 +1,351 @@
|
||||
unit ConcordanceUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Buttons, MainUnit, Globals, OutPutUnit, DataProcs, Math,
|
||||
FunctionsLib, contexthelpunit;
|
||||
|
||||
type
|
||||
|
||||
{ TConcordFrm }
|
||||
|
||||
TConcordFrm = class(TForm)
|
||||
HelpBtn: TButton;
|
||||
ResetBtn: TButton;
|
||||
CancelBtn: TButton;
|
||||
ComputeBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
InBtn: TBitBtn;
|
||||
OutBtn: TBitBtn;
|
||||
AllBtn: TBitBtn;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
ListBox1: TListBox;
|
||||
VarList: TListBox;
|
||||
procedure AllBtnClick(Sender: TObject);
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure HelpBtnClick(Sender: TObject);
|
||||
procedure InBtnClick(Sender: TObject);
|
||||
procedure OutBtnClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
ConcordFrm: TConcordFrm;
|
||||
|
||||
implementation
|
||||
|
||||
{ TConcordFrm }
|
||||
|
||||
procedure TConcordFrm.ResetBtnClick(Sender: TObject);
|
||||
VAR i : integer;
|
||||
begin
|
||||
VarList.Clear;
|
||||
ListBox1.Clear;
|
||||
for i := 1 to NoVariables do
|
||||
begin
|
||||
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
|
||||
end;
|
||||
InBtn.Enabled := true;
|
||||
OutBtn.Enabled := false;
|
||||
end;
|
||||
|
||||
procedure TConcordFrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
ResetBtnClick(self);
|
||||
end;
|
||||
|
||||
procedure TConcordFrm.HelpBtnClick(Sender: TObject);
|
||||
begin
|
||||
ContextHelpForm.HelpMessage((Sender as TButton).tag);
|
||||
end;
|
||||
|
||||
procedure TConcordFrm.AllBtnClick(Sender: TObject);
|
||||
VAR count, index : integer;
|
||||
begin
|
||||
count := VarList.Items.Count;
|
||||
if count = 0 then exit;
|
||||
for index := 0 to count-1 do
|
||||
begin
|
||||
ListBox1.Items.Add(VarList.Items.Strings[index]);
|
||||
end;
|
||||
VarList.Clear;
|
||||
InBtn.Visible := false;
|
||||
OutBtn.Visible := true;
|
||||
end;
|
||||
|
||||
procedure TConcordFrm.ComputeBtnClick(Sender: TObject);
|
||||
var
|
||||
i, j, k, index, No_Judges, No_Objects, col, ties, start, last : integer;
|
||||
NoSelected : integer;
|
||||
Temp, TotalCorrect, JudgeCorrect, ChiSquare, Probability : double;
|
||||
TotalRankSums, Concordance, AvgRankCorr, AvgTotalRanks : double;
|
||||
statistic : double;
|
||||
scorearray : DblDyneMat;
|
||||
temprank, ObjRankSums : DblDyneVec;
|
||||
tempindex : IntDyneVec;
|
||||
done : boolean;
|
||||
value, cellstring, outline : string;
|
||||
ColNoSelected : IntDyneVec;
|
||||
ColLabels : StrDyneVec;
|
||||
begin
|
||||
No_Judges := 0;
|
||||
No_Objects := ListBox1.Items.Count;
|
||||
|
||||
// Allocate space for selected variable column no.s
|
||||
SetLength(scorearray,NoCases,No_Objects);
|
||||
SetLength(tempindex,No_Objects);
|
||||
SetLength(temprank,No_Objects);
|
||||
SetLength(ObjRankSums,No_Objects);
|
||||
SetLength(ColLabels,NoVariables);
|
||||
SetLength(ColNoSelected,NoVariables);
|
||||
|
||||
// get columns of variables selected
|
||||
for i := 0 to No_Objects - 1 do
|
||||
begin
|
||||
cellstring := ListBox1.Items.Strings[i];
|
||||
for index := 1 to NoVariables do
|
||||
begin
|
||||
if (cellstring = OS3MainFrm.DataGrid.Cells[index,0]) then
|
||||
begin
|
||||
ColNoSelected[i] := index;
|
||||
ColLabels[i] := cellstring;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
//Read data from grid
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
if (not GoodRecord(i,No_Objects,ColNoSelected)) then continue;
|
||||
No_Judges := No_Judges + 1;
|
||||
for j := 1 to No_Objects do
|
||||
begin
|
||||
col := ColNoSelected[j-1];
|
||||
scorearray[i-1,j-1] := StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[col,i]));
|
||||
end;
|
||||
end;
|
||||
|
||||
//Rank the scores in the rows for each judge (column)
|
||||
TotalCorrect := 0.0;
|
||||
for i := 0 to No_Judges-1 do
|
||||
begin
|
||||
JudgeCorrect := 0.0;
|
||||
for j := 0 to No_Objects-1 do
|
||||
begin
|
||||
tempindex[j] := j;
|
||||
temprank[j] := scorearray[i,j];
|
||||
end;
|
||||
//Sort the temp arrays
|
||||
for j := 0 to No_Objects - 2 do
|
||||
begin
|
||||
for k := j + 1 to No_Objects - 1 do
|
||||
begin
|
||||
if (temprank[j] > temprank[k]) then
|
||||
begin
|
||||
Temp := temprank[j];
|
||||
temprank[j] := temprank[k];
|
||||
temprank[k] := Temp;
|
||||
index := tempindex[j];
|
||||
tempindex[j] := tempindex[k];
|
||||
tempindex[k] := index;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
//Now convert temporary score array to ranks (correcting for ties)
|
||||
j := 0;
|
||||
while (j <= No_Objects-1) do
|
||||
begin
|
||||
ties := 0;
|
||||
k := j;
|
||||
done := false;
|
||||
while (not done) do
|
||||
begin
|
||||
k := k + 1;
|
||||
if (k <= No_Objects-1) then
|
||||
begin
|
||||
if (temprank[j] = temprank[k]) then ties := ties + 1;
|
||||
end
|
||||
else done := true;
|
||||
end;
|
||||
if (ties = 0.0) then
|
||||
begin
|
||||
temprank[j] := j+1;
|
||||
j := j + 1;
|
||||
end
|
||||
else begin
|
||||
for k := j to j + ties do
|
||||
begin
|
||||
temprank[k] := (j+1) + (ties / 2.0);
|
||||
end;
|
||||
j := j + ties + 1;
|
||||
ties := ties + 1;
|
||||
JudgeCorrect := JudgeCorrect + (Power(ties,3) - ties);
|
||||
end;
|
||||
end;
|
||||
|
||||
//Now, restore ranks in their position equivalent to original scores
|
||||
for j := 0 to No_Objects-1 do
|
||||
begin
|
||||
k := tempindex[j];
|
||||
scorearray[i,k] := temprank[j];
|
||||
end;
|
||||
TotalCorrect := TotalCorrect + (JudgeCorrect / 12.0);
|
||||
end; // next judge i
|
||||
|
||||
//Calculate statistics
|
||||
statistic := 0.0;
|
||||
TotalRankSums := 0.0;
|
||||
for j := 0 to No_Objects-1 do
|
||||
begin
|
||||
ObjRankSums[j] := 0.0;
|
||||
for i := 0 to No_Judges-1 do ObjRankSums[j] := ObjRankSums[j] + scorearray[i,j];
|
||||
TotalRankSums := TotalRankSums + ObjRankSums[j];
|
||||
end;
|
||||
AvgTotalRanks := TotalRankSums / No_Objects;
|
||||
for j := 0 to No_Objects-1 do
|
||||
statistic := statistic + Power((ObjRankSums[j] - AvgTotalRanks), 2);
|
||||
Concordance := statistic / ( ((No_Judges * No_Judges) / 12.0) *
|
||||
(Power(No_Objects,3) - No_Objects) - (No_Judges * TotalCorrect) );
|
||||
AvgRankCorr := (No_Judges * Concordance - 1.0) / (No_Judges - 1);
|
||||
ChiSquare := No_Judges * Concordance * (No_Objects - 1);
|
||||
Probability := 1.0 - chisquaredprob(ChiSquare, No_Objects - 1);
|
||||
|
||||
//Report results
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
OutPutFrm.RichEdit.Lines.Add('Kendall Coefficient of Concordance Analysis');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Ranks Assigned to Judge Ratings of Objects');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
|
||||
for i := 1 to No_Judges do
|
||||
begin
|
||||
done := false;
|
||||
start := 1;
|
||||
last := 10;
|
||||
while (not done) do
|
||||
begin
|
||||
if (last > No_Objects)then last := No_Objects;
|
||||
outline := format('Judge %3d',[i]);
|
||||
outline := outline + ' Objects';
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := ' ';
|
||||
for j := start to last do
|
||||
begin
|
||||
col := ColNoSelected[j-1];
|
||||
outline := outline + format('%8s',[ColLabels[col-1]]);
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := ' ';
|
||||
for j := start to last do
|
||||
begin
|
||||
value := format('%8.4f',[scorearray[i-1,j-1]]);
|
||||
outline := outline + value;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
if (last = No_Objects) then done := true
|
||||
else begin
|
||||
start := last;
|
||||
last := start + 10;
|
||||
end;
|
||||
outline := '';
|
||||
end; // while end
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
end; // next i
|
||||
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Sum of Ranks for Each Object Judged');
|
||||
done := false;
|
||||
start := 1;
|
||||
last := 10;
|
||||
while (not done) do
|
||||
begin
|
||||
if (last > No_Objects) then last := No_Objects;
|
||||
OutPutFrm.RichEdit.Lines.Add(' Objects');
|
||||
outline := ' ';
|
||||
for j := start to last do
|
||||
begin
|
||||
col := ColNoSelected[j-1];
|
||||
value := format('%8s',[ColLabels[col-1]]);
|
||||
outline := outline + value;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := ' ';
|
||||
for j := start to last do
|
||||
begin
|
||||
value := format('%8.4f',[ObjRankSums[j-1]]);
|
||||
outline := outline + value;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
if (last = No_Objects) then done := true
|
||||
else begin
|
||||
start := last;
|
||||
last := start + 10;
|
||||
end;
|
||||
end;
|
||||
outline := format('Coefficient of concordance := %10.3f',[Concordance]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Average Spearman Rank Correlation := %10.3f',[AvgRankCorr]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Chi-Square Statistic := %8.3f',[ChiSquare]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Probability of a larger Chi-Square := %6.4f',[Probability]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
if (No_Objects < 7) then
|
||||
OutPutFrm.RichEdit.Lines.Add('Warning - Above Chi-Square is very approximate with 7 or fewer variables!');
|
||||
OutPutFrm.ShowModal;
|
||||
|
||||
// cleanup
|
||||
ColNoSelected := nil;
|
||||
ColLabels := nil;
|
||||
ObjRankSums := nil;
|
||||
temprank := nil;
|
||||
tempindex := nil;
|
||||
scorearray := nil;
|
||||
end;
|
||||
|
||||
procedure TConcordFrm.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
|
||||
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 TConcordFrm.OutBtnClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := ListBox1.ItemIndex;
|
||||
VarList.Items.Add(ListBox1.Items.Strings[index]);
|
||||
ListBox1.Items.Delete(index);
|
||||
InBtn.Enabled := true;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I concordanceunit.lrs}
|
||||
|
||||
end.
|
||||
|
43
applications/lazstats/source_orig/contexthelpunit.lfm
Normal file
43
applications/lazstats/source_orig/contexthelpunit.lfm
Normal file
@ -0,0 +1,43 @@
|
||||
object ContextHelpForm: TContextHelpForm
|
||||
Left = 240
|
||||
Height = 438
|
||||
Top = 134
|
||||
Width = 578
|
||||
Caption = 'Contextual Help'
|
||||
ClientHeight = 438
|
||||
ClientWidth = 578
|
||||
Position = poScreenCenter
|
||||
LCLVersion = '0.9.30'
|
||||
object Panel1: TPanel
|
||||
Left = 0
|
||||
Height = 50
|
||||
Top = 388
|
||||
Width = 578
|
||||
Align = alBottom
|
||||
ClientHeight = 50
|
||||
ClientWidth = 578
|
||||
TabOrder = 0
|
||||
object Button1: TButton
|
||||
Left = 248
|
||||
Height = 25
|
||||
Top = 12
|
||||
Width = 75
|
||||
Caption = 'OK'
|
||||
ModalResult = 1
|
||||
OnClick = Button1Click
|
||||
TabOrder = 0
|
||||
end
|
||||
end
|
||||
object Memo1: TMemo
|
||||
Left = 0
|
||||
Height = 388
|
||||
Top = 0
|
||||
Width = 578
|
||||
Align = alClient
|
||||
Lines.Strings = (
|
||||
'Memo1'
|
||||
)
|
||||
ScrollBars = ssVertical
|
||||
TabOrder = 1
|
||||
end
|
||||
end
|
15
applications/lazstats/source_orig/contexthelpunit.lrs
Normal file
15
applications/lazstats/source_orig/contexthelpunit.lrs
Normal file
@ -0,0 +1,15 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TContextHelpForm','FORMDATA',[
|
||||
'TPF0'#16'TContextHelpForm'#15'ContextHelpForm'#4'Left'#3#240#0#6'Height'#3
|
||||
+#182#1#3'Top'#3#134#0#5'Width'#3'B'#2#7'Caption'#6#15'Contextual Help'#12'Cl'
|
||||
+'ientHeight'#3#182#1#11'ClientWidth'#3'B'#2#8'Position'#7#14'poScreenCenter'
|
||||
+#10'LCLVersion'#6#6'0.9.30'#0#6'TPanel'#6'Panel1'#4'Left'#2#0#6'Height'#2'2'
|
||||
+#3'Top'#3#132#1#5'Width'#3'B'#2#5'Align'#7#8'alBottom'#12'ClientHeight'#2'2'
|
||||
+#11'ClientWidth'#3'B'#2#8'TabOrder'#2#0#0#7'TButton'#7'Button1'#4'Left'#3#248
|
||||
+#0#6'Height'#2#25#3'Top'#2#12#5'Width'#2'K'#7'Caption'#6#2'OK'#11'ModalResul'
|
||||
+'t'#2#1#7'OnClick'#7#12'Button1Click'#8'TabOrder'#2#0#0#0#0#5'TMemo'#5'Memo1'
|
||||
+#4'Left'#2#0#6'Height'#3#132#1#3'Top'#2#0#5'Width'#3'B'#2#5'Align'#7#8'alCli'
|
||||
+'ent'#13'Lines.Strings'#1#6#5'Memo1'#0#10'ScrollBars'#7#10'ssVertical'#8'Tab'
|
||||
+'Order'#2#1#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