You've already forked lazarus-ccr
LazStats: Add original sources, part 7
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7878 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
68
applications/lazstats/source_orig/gradingunit.lrs
Normal file
68
applications/lazstats/source_orig/gradingunit.lrs
Normal file
@ -0,0 +1,68 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('Tgradingfrm','FORMDATA',[
|
||||
'TPF0'#11'Tgradingfrm'#10'gradingfrm'#4'Left'#2'f'#6'Height'#3#238#1#3'Top'#2
|
||||
+'m'#5'Width'#3#194#2#7'Caption'#6#24'Specification for Grades'#12'ClientHeig'
|
||||
+'ht'#3#238#1#11'ClientWidth'#3#194#2#6'OnShow'#7#8'FormShow'#10'LCLVersion'#6
|
||||
+#8'0.9.28.2'#0#6'TLabel'#6'Label1'#4'Left'#2#16#6'Height'#2#14#3'Top'#2'z'#5
|
||||
+'Width'#2#28#7'Caption'#6#5'Score'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'
|
||||
+#4'Left'#2'P'#6'Height'#2#14#3'Top'#2'z'#5'Width'#2'4'#7'Caption'#6#9'Freque'
|
||||
+'ncy'#11'ParentColor'#8#0#0#6'TLabel'#6'Label3'#4'Left'#3#160#0#6'Height'#2
|
||||
+#14#3'Top'#2'z'#5'Width'#2'<'#7'Caption'#6#11'Grade Given'#11'ParentColor'#8
|
||||
+#0#0#6'TLabel'#13'TopScoreLabel'#4'Left'#3'X'#1#6'Height'#2#14#3'Top'#2'z'#5
|
||||
+'Width'#2'1'#7'Caption'#6#9'Top Score'#11'ParentColor'#8#0#0#6'TLabel'#16'Do'
|
||||
+'wnThroughLabel'#4'Left'#3#176#1#6'Height'#2#14#3'Top'#2'z'#5'Width'#2'G'#7
|
||||
+'Caption'#6#12'Down Through'#11'ParentColor'#8#0#0#6'TLabel'#6'Label4'#4'Lef'
|
||||
+'t'#3#8#2#6'Height'#2#14#3'Top'#2'z'#5'Width'#2'@'#7'Caption'#6#12'No. Assig'
|
||||
+'ned'#11'ParentColor'#8#0#0#6'TLabel'#6'Label5'#4'Left'#3#0#1#6'Height'#2#14
|
||||
+#3'Top'#2'z'#5'Width'#2'#'#7'Caption'#6#6'Grades'#11'ParentColor'#8#0#0#11'T'
|
||||
+'RadioGroup'#12'DistUseGroup'#4'Left'#2#8#6'Height'#2'o'#3'Top'#2#3#5'Width'
|
||||
+#3#212#0#8'AutoFill'#9#7'Caption'#6#21'To Assign Grades Use:'#28'ChildSizing'
|
||||
+'.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.'
|
||||
+'EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVer'
|
||||
+'tical'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14
|
||||
+'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'Chil'
|
||||
+'dSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.Controls'
|
||||
+'PerLine'#2#1#12'ClientHeight'#2']'#11'ClientWidth'#3#208#0#13'Items.Strings'
|
||||
+#1#6#15'Raw Test Scores'#6#8'z Scores'#6#8'T Scores'#6#22'Percentile Rank Sc'
|
||||
+'ores'#0#7'OnClick'#7#17'DistUseGroupClick'#8'TabOrder'#2#0#0#0#11'TRadioGro'
|
||||
+'up'#15'CategoriesGroup'#4'Left'#3#233#0#6'Height'#2'p'#3'Top'#2#2#5'Width'#3
|
||||
+#23#1#8'AutoFill'#9#7'Caption'#6'#Use the following Grade Categories:'#28'Ch'
|
||||
+'ildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'Chi'
|
||||
+'ldSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.E'
|
||||
+'nlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizon'
|
||||
+'tal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChild'
|
||||
+'s'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizin'
|
||||
+'g.ControlsPerLine'#2#1#12'ClientHeight'#2'^'#11'ClientWidth'#3#19#1#13'Item'
|
||||
+'s.Strings'#1#6#13'A, B, C, D, F'#6')A, A-, B+, B, B-, C+, C, C-, D+, D, D-,'
|
||||
+' F'#0#7'OnClick'#7#20'CategoriesGroupClick'#8'TabOrder'#2#1#0#0#11'TStringG'
|
||||
+'rid'#10'ScoresGrid'#4'Left'#2#8#6'Height'#3'&'#1#3'Top'#3#137#0#5'Width'#3
|
||||
+#136#0#8'ColCount'#2#2#9'FixedCols'#2#0#9'FixedRows'#2#0#8'TabOrder'#2#2#0#0
|
||||
+#11'TStringGrid'#10'GradesGrid'#4'Left'#3#159#0#6'Height'#3'&'#1#3'Top'#3#137
|
||||
+#0#5'Width'#2'J'#8'ColCount'#2#1#9'FixedCols'#2#0#9'FixedRows'#2#0#8'TabOrde'
|
||||
+'r'#2#3#0#0#11'TStringGrid'#12'TopScoreGrid'#4'Left'#3'X'#1#6'Height'#3'*'#1
|
||||
+#3'Top'#3#138#0#5'Width'#2'G'#8'ColCount'#2#1#9'FixedCols'#2#0#9'FixedRows'#2
|
||||
+#0#8'TabOrder'#2#4#0#0#11'TStringGrid'#12'LowScoreGrid'#4'Left'#3#176#1#6'He'
|
||||
+'ight'#3'*'#1#3'Top'#3#138#0#5'Width'#2'C'#8'ColCount'#2#1#9'FixedCols'#2#0#9
|
||||
+'FixedRows'#2#0#7'Options'#11#15'goFixedVertLine'#15'goFixedHorzLine'#10'goV'
|
||||
+'ertLine'#10'goHorzLine'#13'goRangeSelect'#9'goEditing'#14'goSmoothScroll'#0
|
||||
+#8'TabOrder'#2#5#9'OnKeyDown'#7#19'LowScoreGridKeyDown'#0#0#7'TButton'#7'Sav'
|
||||
+'eBtn'#4'Left'#3'`'#2#6'Height'#2' '#3'Top'#2'z'#5'Width'#2'M'#7'Caption'#6
|
||||
+#11'Save Specs.'#7'OnClick'#7#12'SaveBtnClick'#8'TabOrder'#2#6#0#0#7'TButton'
|
||||
+#7'LoadBtn'#4'Left'#3'`'#2#6'Height'#2' '#3'Top'#3#176#0#5'Width'#2'M'#7'Cap'
|
||||
+'tion'#6#11'Load Specs.'#7'OnClick'#7#12'LoadBtnClick'#8'TabOrder'#2#7#0#0#7
|
||||
+'TButton'#8'ResetBtn'#4'Left'#3'`'#2#6'Height'#2' '#3'Top'#3#232#0#5'Width'#2
|
||||
+'M'#7'Caption'#6#5'Reset'#7'OnClick'#7#13'ResetBtnClick'#8'TabOrder'#2#8#0#0
|
||||
+#7'TButton'#9'Cancelbtn'#4'Left'#3'`'#2#6'Height'#2' '#3'Top'#3' '#1#5'Width'
|
||||
+#2'M'#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#9#0#0#7'TButt'
|
||||
+'on'#9'ReturnBtn'#4'Left'#3'`'#2#6'Height'#2' '#3'Top'#3#143#1#5'Width'#2'M'
|
||||
+#7'Caption'#6#6'Return'#11'ModalResult'#2#1#8'TabOrder'#2#10#0#0#11'TStringG'
|
||||
+'rid'#12'AssignedGrid'#4'Left'#3#8#2#6'Height'#3'+'#1#3'Top'#3#138#0#5'Width'
|
||||
+#2'D'#8'ColCount'#2#1#9'FixedCols'#2#0#9'FixedRows'#2#0#8'TabOrder'#2#11#0#0
|
||||
+#11'TStringGrid'#6'Grades'#4'Left'#3#0#1#6'Height'#3'('#1#3'Top'#3#138#0#5'W'
|
||||
+'idth'#2'H'#8'ColCount'#2#1#9'FixedCols'#2#0#9'FixedRows'#2#0#8'TabOrder'#2
|
||||
+#12#0#0#7'TButton'#10'ComputeBtn'#4'Left'#3'`'#2#6'Height'#2#29#3'Top'#3'X'#1
|
||||
+#5'Width'#2'M'#7'Caption'#6#7'Compute'#7'OnClick'#7#15'ComputeBtnClick'#8'Ta'
|
||||
+'bOrder'#2#13#0#0#11'TOpenDialog'#11'OpenDialog1'#4'left'#3'('#2#3'top'#3#192
|
||||
+#1#0#0#11'TSaveDialog'#11'SaveDialog1'#4'left'#3#128#2#3'top'#3#192#1#0#0#0
|
||||
]);
|
404
applications/lazstats/source_orig/gradingunit.pas
Normal file
404
applications/lazstats/source_orig/gradingunit.pas
Normal file
@ -0,0 +1,404 @@
|
||||
unit gradingunit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
ExtCtrls, StdCtrls, Grids, outputunit;
|
||||
|
||||
type
|
||||
|
||||
{ Tgradingfrm }
|
||||
|
||||
Tgradingfrm = class(TForm)
|
||||
ComputeBtn: TButton;
|
||||
Label4: TLabel;
|
||||
AssignedGrid: TStringGrid;
|
||||
Label5: TLabel;
|
||||
Grades: TStringGrid;
|
||||
OpenDialog1: TOpenDialog;
|
||||
SaveBtn: TButton;
|
||||
LoadBtn: TButton;
|
||||
ResetBtn: TButton;
|
||||
Cancelbtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
DistUseGroup: TRadioGroup;
|
||||
CategoriesGroup: TRadioGroup;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
Label3: TLabel;
|
||||
DownThroughLabel: TLabel;
|
||||
SaveDialog1: TSaveDialog;
|
||||
ScoresGrid: TStringGrid;
|
||||
GradesGrid: TStringGrid;
|
||||
TopScoreGrid: TStringGrid;
|
||||
LowScoreGrid: TStringGrid;
|
||||
TopScoreLabel: TLabel;
|
||||
procedure CategoriesGroupClick(Sender: TObject);
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
procedure DistUseGroupClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure LoadBtnClick(Sender: TObject);
|
||||
procedure LowScoreGridExit(Sender: TObject);
|
||||
procedure LowScoreGridKeyDown(Sender: TObject; var Key: Word;
|
||||
Shift: TShiftState);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
procedure SaveBtnClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
nints : integer;
|
||||
ncases : integer;
|
||||
col : integer;
|
||||
ncats : integer;
|
||||
sorted : array[0..50] of double;
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
gradingfrm: Tgradingfrm;
|
||||
|
||||
implementation
|
||||
uses gradebookunit;
|
||||
|
||||
{ Tgradingfrm }
|
||||
|
||||
procedure Tgradingfrm.DistUseGroupClick(Sender: TObject);
|
||||
VAR
|
||||
i, j, btn, nscores : integer;
|
||||
RawScores : array[0..50] of double;
|
||||
RawFreq : array[0..50] of double;
|
||||
temp, X, Y : double;
|
||||
begin
|
||||
if DistUseGroup.ItemIndex < 0 then exit;
|
||||
col := gradebookfrm.tno + 3; // column of raw scores for test number tno
|
||||
btn := DistUseGroup.ItemIndex;
|
||||
nscores := gradebookfrm.nints;
|
||||
ScoresGrid.RowCount := nscores;
|
||||
ncases := gradebookfrm.NoStudents;
|
||||
case btn of
|
||||
0 : TopScoreGrid.Cells[0,0] := IntToStr(gradebookfrm.nitems);
|
||||
1 : TopScoreGrid.Cells[0,0] := FloatToStr(3.0);
|
||||
2 : TopScoreGrid.Cells[0,0] := FloatToStr(90.0);
|
||||
3 : TopScoreGrid.Cells[0,0] := FloatToStr(100.0);
|
||||
end;
|
||||
|
||||
case btn of
|
||||
0 : for i := 1 to ncases do RawScores[i-1] := StrToFloat(gradebookfrm.Grid.Cells[col,i]);
|
||||
1 : for i := 1 to ncases do RawScores[i-1] := StrToFloat(gradebookfrm.Grid.Cells[col+1,i]);
|
||||
2 : for i := 1 to ncases do RawScores[i-1] := StrToFloat(gradebookfrm.Grid.Cells[col+2,i]);
|
||||
3 : for i := 1 to ncases do RawScores[i-1] := StrToFloat(gradebookfrm.Grid.Cells[col+3,i]);
|
||||
end;
|
||||
|
||||
// sort RawScores into ascending order
|
||||
for i := 1 to ncases - 1 do
|
||||
begin
|
||||
for j := i+1 to ncases do
|
||||
begin
|
||||
X := RawScores[i-1];
|
||||
Y := RawScores[j-1];
|
||||
if RawScores[i-1] < RawScores[j-1] then // switch
|
||||
begin
|
||||
temp := RawScores[i-1];
|
||||
RawScores[i-1] := RawScores[j-1];
|
||||
RawScores[j-1] := temp;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
// get frequency of each score
|
||||
nints := 1;
|
||||
for i := 1 to ncases do RawFreq[i-1] := 0;
|
||||
X := RawScores[0];
|
||||
Sorted[0] := X;
|
||||
for i := 1 to ncases do
|
||||
begin
|
||||
if (X = RawScores[i-1])then RawFreq[nints-1] := RawFreq[nints-1] + 1
|
||||
else // new value
|
||||
begin
|
||||
nints := nints + 1;
|
||||
RawFreq[nints-1] := RawFreq[nints-1] + 1;
|
||||
X := RawScores[i-1];
|
||||
Sorted[nints-1] := X;
|
||||
end;
|
||||
end;
|
||||
|
||||
// put data in grid
|
||||
// AssignedGrid.RowCount := nints + 1;
|
||||
ScoresGrid.RowCount := nints+1;
|
||||
GradesGrid.RowCount := nints + 1;
|
||||
for i := 0 to nints-1 do
|
||||
begin
|
||||
ScoresGrid.Cells[0,i] := FloatToStr(Sorted[i]);
|
||||
ScoresGrid.Cells[1,i] := FloatToStr(RawFreq[i]);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure Tgradingfrm.FormShow(Sender: TObject);
|
||||
VAR
|
||||
i, j : integer;
|
||||
begin
|
||||
DistUseGroup.ItemIndex := -1;
|
||||
CategoriesGroup.ItemIndex := -1;
|
||||
for i := 0 to ScoresGrid.RowCount-1 do
|
||||
for j := 0 to 1 do ScoresGrid.Cells[j,i] := '';
|
||||
ScoresGrid.RowCount := 5;
|
||||
for i := 0 to Grades.RowCount-1 do Grades.Cells[0,i] := '';
|
||||
Grades.RowCount := 5;
|
||||
for i := 0 to GradesGrid.RowCount-1 do GradesGrid.Cells[0,i] := '';
|
||||
GradesGrid.RowCount := 5;
|
||||
for i := 0 to TopScoreGrid.RowCount-1 do TopScoreGrid.Cells[0,i] := '';
|
||||
TopScoreGrid.RowCount := 5;
|
||||
for i := 0 to LowScoreGrid.RowCount-1 do LowScoreGrid.Cells[0,i] := '';
|
||||
LowScoreGrid.RowCount := 5;
|
||||
for i := 0 to AssignedGrid.RowCount-1 do AssignedGrid.Cells[0,i] := '';
|
||||
AssignedGrid.RowCount := 5;
|
||||
end;
|
||||
|
||||
procedure Tgradingfrm.LoadBtnClick(Sender: TObject);
|
||||
var
|
||||
FName : string;
|
||||
Grading : textfile;
|
||||
i, j, choice : integer;
|
||||
cellstring, outline, valstr : string;
|
||||
begin
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
OpenDialog1.DefaultExt := '.GRD';
|
||||
OpenDialog1.Filter := 'ALL (*.*)|*.*|Test Grading (*.GRD)|*.GRD';
|
||||
OpenDialog1.FilterIndex := 2;
|
||||
if OpenDialog1.Execute then
|
||||
begin
|
||||
// GetNoRecords;
|
||||
FName := OpenDialog1.FileName;
|
||||
AssignFile(Grading,FName);
|
||||
Reset(Grading);
|
||||
readln(Grading,ncases);
|
||||
readln(Grading,nints);
|
||||
readln(Grading,col);
|
||||
readln(Grading,choice);
|
||||
cellstring := format('Distribution used index = %2d',[choice]);
|
||||
OutPutFrm.RichEdit.Lines.Add(cellstring);
|
||||
// DistUseGroup.ItemIndex := choice;
|
||||
readln(Grading,choice);
|
||||
cellstring := format('Category index = %2d',[choice]);
|
||||
OutPutFrm.RichEdit.Lines.Add(cellstring);
|
||||
// CategoriesGroup.ItemIndex := choice;
|
||||
readln(Grading,choice);
|
||||
OutPutFrm.RichEdit.Lines.Add('Top Score Low Score');
|
||||
if choice = 0 then
|
||||
begin
|
||||
for i := 0 to 4 do
|
||||
begin
|
||||
readln(Grading,cellstring);
|
||||
outline := format('%10s ',[cellstring]);
|
||||
// TopScoreGrid.Cells[0,i] := cellstring;
|
||||
readln(Grading,cellstring);
|
||||
valstr := format('%10s',[cellstring]);
|
||||
outline := outline + valstr;
|
||||
// LowScoreGrid.Cells[0,i] := cellstring;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
end else
|
||||
begin
|
||||
for i := 0 to 11 do
|
||||
begin
|
||||
readln(Grading,cellstring);
|
||||
outline := format('%10s',[cellstring]);
|
||||
// TopScoreGrid.Cells[0,i] := cellstring;
|
||||
readln(Grading,cellstring);
|
||||
valstr := format('%10s',[cellstring]);
|
||||
outline := outline + valstr;
|
||||
// LowScoreGrid.Cells[0,i] := cellstring;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Assigned Grid');
|
||||
for i := 0 to nints-1 do
|
||||
begin
|
||||
readln(Grading,cellstring);
|
||||
outline := cellstring;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
// AssignedGrid.Cells[0,i] := cellstring;
|
||||
end;
|
||||
// readln(Grading,cellstring);
|
||||
OutPutFrm.RichEdit.Lines.Add('Score Frequency');
|
||||
for i := 0 to nints - 1 do
|
||||
begin
|
||||
outline := '';
|
||||
for j := 0 to 1 do
|
||||
begin
|
||||
readln(Grading,cellstring);
|
||||
valstr := format('%10s ',[cellstring]);
|
||||
outline := outline + valstr;
|
||||
// ScoresGrid.Cells[j,i] := cellstring;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
end;
|
||||
OutPutFrm.ShowModal;
|
||||
CloseFile(Grading);
|
||||
end;
|
||||
|
||||
procedure Tgradingfrm.LowScoreGridExit(Sender: TObject);
|
||||
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
procedure Tgradingfrm.LowScoreGridKeyDown(Sender: TObject; var Key: Word;
|
||||
Shift: TShiftState);
|
||||
VAR
|
||||
i, row, naffected, freq, intervals, sum : integer;
|
||||
lowval, hival, score1 : double;
|
||||
|
||||
begin
|
||||
if Key = 13 then // enter key
|
||||
begin
|
||||
intervals := ScoresGrid.RowCount-1;
|
||||
row := LowScoreGrid.Row;
|
||||
freq := 0;
|
||||
lowval := StrToFloat(LowScoreGrid.Cells[0,row]);
|
||||
hival := StrToFloat(TopScoreGrid.Cells[0,row]);
|
||||
for i := 0 to intervals-1 do
|
||||
begin
|
||||
score1 := StrToFloat(ScoresGrid.Cells[0,i]);
|
||||
if (score1 >= lowval) and (score1 <= hival) then
|
||||
freq := freq + StrToInt(ScoresGrid.Cells[1,i]);
|
||||
end;
|
||||
AssignedGrid.Cells[0,row] := IntToStr(freq);
|
||||
if row < ncats-1 then
|
||||
begin
|
||||
if DistUseGroup.ItemIndex = 1 then // z score
|
||||
TopScoreGrid.Cells[0,row+1] := FloatToStr(lowval-0.001);
|
||||
if DistUseGroup.ItemIndex = 0 then // raw score
|
||||
TopScoreGrid.Cells[0,row+1] := FloatToStr(lowval-1);
|
||||
if DistUseGroup.ItemIndex = 2 then // T score
|
||||
TopScoreGrid.Cells[0,row+1] := FloatToStr(lowval-0.1);
|
||||
if DistUseGroup.ItemIndex = 3 then // Percentile rank
|
||||
TopScoreGrid.Cells[0,row+1] := FloatToStr(lowval-0.01);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure Tgradingfrm.ResetBtnClick(Sender: TObject);
|
||||
begin
|
||||
FormShow(self);
|
||||
end;
|
||||
|
||||
procedure Tgradingfrm.SaveBtnClick(Sender: TObject);
|
||||
var
|
||||
FName : string;
|
||||
Grading : textfile;
|
||||
i, j : integer;
|
||||
begin
|
||||
SaveDialog1.DefaultExt := '.GRD';
|
||||
SaveDialog1.Filter := 'ALL (*.*)|*.*|Test Grading (*.GRD)|*.GRD';
|
||||
SaveDialog1.FilterIndex := 2;
|
||||
if SaveDialog1.Execute then
|
||||
begin
|
||||
FName := SaveDialog1.FileName;
|
||||
AssignFile(Grading,FName);
|
||||
Rewrite(Grading);
|
||||
writeln(Grading,ncases);
|
||||
writeln(Grading,nints);
|
||||
writeln(Grading,col);
|
||||
writeln(Grading,DistUseGroup.ItemIndex);
|
||||
writeln(Grading,CategoriesGroup.ItemIndex);
|
||||
if CategoriesGroup.ItemIndex = 0 then
|
||||
begin
|
||||
for i := 0 to 4 do
|
||||
begin
|
||||
writeln(Grading,TopScoreGrid.Cells[0,i]);
|
||||
writeln(Grading,LowScoreGrid.Cells[0,i]);
|
||||
end;
|
||||
end else
|
||||
begin
|
||||
for i := 0 to 11 do
|
||||
begin
|
||||
writeln(Grading,TopScoreGrid.Cells[0,i]);
|
||||
writeln(Grading,LowScoreGrid.Cells[0,i]);
|
||||
end;
|
||||
end;
|
||||
for i := 0 to AssignedGrid.RowCount-1 do
|
||||
writeln(Grading,AssignedGrid.Cells[0,i]);
|
||||
for i := 0 to ScoresGrid.RowCount - 1 do
|
||||
begin
|
||||
for j := 0 to 1 do writeln(Grading,ScoresGrid.Cells[j,i]);
|
||||
end;
|
||||
end;
|
||||
CloseFile(Grading);
|
||||
end;
|
||||
|
||||
|
||||
procedure Tgradingfrm.CategoriesGroupClick(Sender: TObject);
|
||||
VAR
|
||||
btn : integer;
|
||||
begin
|
||||
btn := CategoriesGroup.ItemIndex;
|
||||
if btn = 0 then ncats := 5 else ncats := 12;
|
||||
if btn = 0 then Grades.RowCount := 5 else Grades.RowCount := 12;
|
||||
if btn = 0 then TopScoreGrid.RowCount := 5 else TopScoreGrid.RowCount := 12;
|
||||
if btn = 0 then LowScoreGrid.RowCount := 5 else LowScoreGrid.RowCount := 12;
|
||||
if btn = 0 then AssignedGrid.RowCount := 5 else AssignedGrid.RowCount := 12;
|
||||
if btn = 0 then
|
||||
begin
|
||||
Grades.Cells[0,0] := 'A';
|
||||
Grades.Cells[0,1] := 'B';
|
||||
Grades.Cells[0,2] := 'C';
|
||||
Grades.Cells[0,3] := 'D';
|
||||
Grades.Cells[0,4] := 'F';
|
||||
end;
|
||||
if btn = 1 then
|
||||
begin
|
||||
Grades.Cells[0,0] := 'A';
|
||||
Grades.Cells[0,1] := 'A-';
|
||||
Grades.Cells[0,2] := 'B+';
|
||||
Grades.Cells[0,3] := 'B';
|
||||
Grades.Cells[0,4] := 'B-';
|
||||
Grades.Cells[0,5] := 'C+';
|
||||
Grades.Cells[0,6] := 'C';
|
||||
Grades.Cells[0,7] := 'C-';
|
||||
Grades.Cells[0,8] := 'D+';
|
||||
Grades.Cells[0,9] := 'D';
|
||||
Grades.Cells[0,10] := 'D-';
|
||||
Grades.Cells[0,11] := 'F';
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure Tgradingfrm.ComputeBtnClick(Sender: TObject);
|
||||
VAR
|
||||
i, j, rows : integer;
|
||||
X, Y, low, hi : double;
|
||||
begin
|
||||
// build AssignedGrid of grades for each Score in the ScoresGrid
|
||||
for i := 0 to ncats - 1 do
|
||||
begin
|
||||
hi := StrToFloat(TopScoreGrid.Cells[0,i]);
|
||||
low := StrToFloat(LowScoreGrid.Cells[0,i]);
|
||||
for j := 0 to nints-1 do
|
||||
begin
|
||||
X := StrToFloat(ScoresGrid.Cells[0,j]);
|
||||
if (X >= low) and (X <= hi) then GradesGrid.cells[0,j] := Grades.cells[0,i];
|
||||
end;
|
||||
end;
|
||||
|
||||
// Now assign grades in the gradebook
|
||||
for i := 1 to ncases do // gradebook grade cells
|
||||
begin
|
||||
Y := StrToFloat(gradebookfrm.grid.Cells[col,i]);
|
||||
for j := 0 to nints - 1 do // Grade of values in the ScoreGrid
|
||||
begin
|
||||
X := StrToFloat(ScoresGrid.Cells[0,j]);
|
||||
if X = Y then gradebookfrm.Grid.Cells[col+4,i] := gradesGrid.Cells[0,j];
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I gradingunit.lrs}
|
||||
|
||||
end.
|
||||
|
56
applications/lazstats/source_orig/graphlib.lfm
Normal file
56
applications/lazstats/source_orig/graphlib.lfm
Normal file
@ -0,0 +1,56 @@
|
||||
object GraphFrm: TGraphFrm
|
||||
Left = 76
|
||||
Height = 494
|
||||
Top = 112
|
||||
Width = 721
|
||||
Caption = 'Graphic Display'
|
||||
ClientHeight = 494
|
||||
ClientWidth = 721
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.30'
|
||||
object Image1: TImage
|
||||
Left = 0
|
||||
Height = 454
|
||||
Top = 0
|
||||
Width = 721
|
||||
Align = alClient
|
||||
end
|
||||
object Panel1: TPanel
|
||||
Left = 0
|
||||
Height = 40
|
||||
Top = 454
|
||||
Width = 721
|
||||
Align = alBottom
|
||||
ClientHeight = 40
|
||||
ClientWidth = 721
|
||||
TabOrder = 0
|
||||
object PrintBtn: TButton
|
||||
Left = 391
|
||||
Height = 21
|
||||
Top = 9
|
||||
Width = 79
|
||||
Caption = 'Print'
|
||||
OnClick = PrintBtnClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 497
|
||||
Height = 20
|
||||
Top = 9
|
||||
Width = 75
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
OnClick = ReturnBtnClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object SaveBtn: TButton
|
||||
Left = 288
|
||||
Height = 21
|
||||
Top = 9
|
||||
Width = 75
|
||||
Caption = 'Save Image'
|
||||
OnClick = SaveBtnClick
|
||||
TabOrder = 2
|
||||
end
|
||||
end
|
||||
end
|
17
applications/lazstats/source_orig/graphlib.lrs
Normal file
17
applications/lazstats/source_orig/graphlib.lrs
Normal file
@ -0,0 +1,17 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TGraphFrm','FORMDATA',[
|
||||
'TPF0'#9'TGraphFrm'#8'GraphFrm'#4'Left'#2'L'#6'Height'#3#238#1#3'Top'#2'p'#5
|
||||
+'Width'#3#209#2#7'Caption'#6#15'Graphic Display'#12'ClientHeight'#3#238#1#11
|
||||
+'ClientWidth'#3#209#2#6'OnShow'#7#8'FormShow'#10'LCLVersion'#6#6'0.9.30'#0#6
|
||||
+'TImage'#6'Image1'#4'Left'#2#0#6'Height'#3#198#1#3'Top'#2#0#5'Width'#3#209#2
|
||||
+#5'Align'#7#8'alClient'#0#0#6'TPanel'#6'Panel1'#4'Left'#2#0#6'Height'#2'('#3
|
||||
+'Top'#3#198#1#5'Width'#3#209#2#5'Align'#7#8'alBottom'#12'ClientHeight'#2'('
|
||||
+#11'ClientWidth'#3#209#2#8'TabOrder'#2#0#0#7'TButton'#8'PrintBtn'#4'Left'#3
|
||||
+#135#1#6'Height'#2#21#3'Top'#2#9#5'Width'#2'O'#7'Caption'#6#5'Print'#7'OnCli'
|
||||
+'ck'#7#13'PrintBtnClick'#8'TabOrder'#2#0#0#0#7'TButton'#9'ReturnBtn'#4'Left'
|
||||
+#3#241#1#6'Height'#2#20#3'Top'#2#9#5'Width'#2'K'#7'Caption'#6#6'Return'#11'M'
|
||||
+'odalResult'#2#1#7'OnClick'#7#14'ReturnBtnClick'#8'TabOrder'#2#1#0#0#7'TButt'
|
||||
+'on'#7'SaveBtn'#4'Left'#3' '#1#6'Height'#2#21#3'Top'#2#9#5'Width'#2'K'#7'Cap'
|
||||
+'tion'#6#10'Save Image'#7'OnClick'#7#12'SaveBtnClick'#8'TabOrder'#2#2#0#0#0#0
|
||||
]);
|
1583
applications/lazstats/source_orig/graphlib.pas
Normal file
1583
applications/lazstats/source_orig/graphlib.pas
Normal file
File diff suppressed because it is too large
Load Diff
62
applications/lazstats/source_orig/gridhelpunit.lfm
Normal file
62
applications/lazstats/source_orig/gridhelpunit.lfm
Normal file
@ -0,0 +1,62 @@
|
||||
object GridHelpFrm: TGridHelpFrm
|
||||
Left = 131
|
||||
Height = 461
|
||||
Top = 101
|
||||
Width = 583
|
||||
Caption = 'Using the Grid and Files'
|
||||
ClientHeight = 461
|
||||
ClientWidth = 583
|
||||
LCLVersion = '0.9.28.2'
|
||||
object Memo1: TMemo
|
||||
Left = 9
|
||||
Height = 398
|
||||
Top = 9
|
||||
Width = 559
|
||||
Lines.Strings = (
|
||||
'When you start LazStats you will see the grid with one empty cell. The column represents a variable and'
|
||||
'the row represents a "case", observation or subject of your study. Before you enter a value in that first'
|
||||
'cell, you should click on the Variables menu and select the Define Variables option. You will see a form'
|
||||
'that lets you specify a name or label for the variable as well as a longer title for the variable. In addition,'
|
||||
'you specify the type of variable (integer, floating point, character string), a missing value, and how you'
|
||||
'want the values entered to be displayed in the cell (justification.) Default values are provided but you'
|
||||
'can change these by clicking on a specification and entering your own. There are also "drop-down" boxes'
|
||||
'that let you select the type or justification for those specifications. It is a good idea to define all of your'
|
||||
'variables before you begin entering data. You can add additional variables in the Definition form by simply'
|
||||
'pressing the down arrow key on your key board and then change any default values to appropriate ones'
|
||||
'for your data.'
|
||||
''
|
||||
'Once you have specified the variables for the data grid and returned to the grid, you can then enter data '
|
||||
'for those variables you have defined. When you press the down arrow key on your keyboard, a new row'
|
||||
'will automatically appear to enter the next case. BE CAREFUL! It is easy to accidentally add new (blank)'
|
||||
'lines that should not be a part of your data file. Use the Edit menu and select the Delete Row for any row'
|
||||
'accidentally added to the grid.'
|
||||
''
|
||||
'Avoid leaving any cell blank. It is recommended that you use a value such as 99999 as a missing value '
|
||||
'until you have the correct value for that case and variable. Generally, it is NOT a good idea to have any'
|
||||
'missing data since not all procedures will work with missing data.'
|
||||
''
|
||||
'Once you have entered data (or need to take a break from data entry) it is time to save the grid data'
|
||||
'into a disk file. It is recommended that you save your data as a .LAZ file (the top option under the FILE'
|
||||
'menu.) This saves not only your data but also all of your variable definitions! You can, of course, also'
|
||||
'export your data to a .TAB or other file format commonly utilized by other programs. These other formats '
|
||||
'do NOT save the definitions of the variables!'
|
||||
''
|
||||
'Once you have entered data in a grid you will discover it is easy to "navigate" around the grid. Use the'
|
||||
'"home" key, "end" key, "page up" and "page down" keys as needed. The "TAB" key will move you from'
|
||||
'cell to cell in a case. You will also find procedures under the Variables menu and the Edit menu that lets'
|
||||
'you recode values in the grid, insert, copy and delete rows or columns, transform values in the grid, etc.'
|
||||
'Experiment! Try different options. There''s not much you can do to harm your computer with this program.'
|
||||
)
|
||||
ScrollBars = ssAutoVertical
|
||||
TabOrder = 0
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 488
|
||||
Height = 28
|
||||
Top = 424
|
||||
Width = 78
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 1
|
||||
end
|
||||
end
|
51
applications/lazstats/source_orig/gridhelpunit.lrs
Normal file
51
applications/lazstats/source_orig/gridhelpunit.lrs
Normal file
@ -0,0 +1,51 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TGridHelpFrm','FORMDATA',[
|
||||
'TPF0'#12'TGridHelpFrm'#11'GridHelpFrm'#4'Left'#3#131#0#6'Height'#3#205#1#3'T'
|
||||
+'op'#2'e'#5'Width'#3'G'#2#7'Caption'#6#24'Using the Grid and Files'#12'Clien'
|
||||
+'tHeight'#3#205#1#11'ClientWidth'#3'G'#2#10'LCLVersion'#6#8'0.9.28.2'#0#5'TM'
|
||||
+'emo'#5'Memo1'#4'Left'#2#9#6'Height'#3#142#1#3'Top'#2#9#5'Width'#3'/'#2#13'L'
|
||||
+'ines.Strings'#1#6'hWhen you start LazStats you will see the grid with one e'
|
||||
+'mpty cell. The column represents a variable and'#6'jthe row represents a "'
|
||||
+'case", observation or subject of your study. Before you enter a value in t'
|
||||
+'hat first'#6'icell, you should click on the Variables menu and select the D'
|
||||
+'efine Variables option. You will see a form'#6'pthat lets you specify a na'
|
||||
+'me or label for the variable as well as a longer title for the variable. I'
|
||||
+'n addition,'#6'jyou specify the type of variable (integer, floating point, '
|
||||
+'character string), a missing value, and how you'#6'iwant the values entered'
|
||||
+' to be displayed in the cell (justification.) Default values are provided '
|
||||
+'but you'#6'hcan change these by clicking on a specification and entering yo'
|
||||
+'ur own. There are also "drop-down" boxes'#6'pthat let you select the type '
|
||||
+'or justification for those specifications. It is a good idea to define all'
|
||||
+' of your'#6'lvariables before you begin entering data. You can add additio'
|
||||
+'nal variables in the Definition form by simply'#6'dpressing the down arrow '
|
||||
+'key on your key board and then change any default values to appropriate one'
|
||||
+'s'#6#14'for your data.'#6#0#6'jOnce you have specified the variables for th'
|
||||
+'e data grid and returned to the grid, you can then enter data '#6'dfor thos'
|
||||
+'e variables you have defined. When you press the down arrow key on your ke'
|
||||
+'yboard, a new row'#6'jwill automatically appear to enter the next case. BE'
|
||||
+' CAREFUL! It is easy to accidentally add new (blank)'#6'klines that should'
|
||||
+' not be a part of your data file. Use the Edit menu and select the Delete '
|
||||
+'Row for any row'#6#31'accidentally added to the grid.'#6#0#6'gAvoid leaving'
|
||||
+' any cell blank. It is recommended that you use a value such as 99999 as a'
|
||||
+' missing value '#6'juntil you have the correct value for that case and vari'
|
||||
+'able. Generally, it is NOT a good idea to have any'#6'Bmissing data since '
|
||||
+'not all procedures will work with missing data.'#6#0#6'eOnce you have enter'
|
||||
+'ed data (or need to take a break from data entry) it is time to save the gr'
|
||||
+'id data'#6'jinto a disk file. It is recommended that you save your data as'
|
||||
+' a .LAZ file (the top option under the FILE'#6'jmenu.) This saves not only'
|
||||
+' your data but also all of your variable definitions! You can, of course, '
|
||||
+'also'#6'jexport your data to a .TAB or other file format commonly utilized '
|
||||
+'by other programs. These other formats '#6'-do NOT save the definitions of'
|
||||
+' the variables!'#6#0#6'iOnce you have entered data in a grid you will disco'
|
||||
+'ver it is easy to "navigate" around the grid. Use the'#6'b"home" key, "end'
|
||||
+'" key, "page up" and "page down" keys as needed. The "TAB" key will move y'
|
||||
+'ou from'#6'kcell to cell in a case. You will also find procedures under th'
|
||||
+'e Variables menu and the Edit menu that lets'#6'jyou recode values in the g'
|
||||
+'rid, insert, copy and delete rows or columns, transform values in the grid,'
|
||||
+' etc.'#6'iExperiment! Try different options. There''s not much you can do'
|
||||
+' to harm your computer with this program.'#0#10'ScrollBars'#7#14'ssAutoVert'
|
||||
+'ical'#8'TabOrder'#2#0#0#0#7'TButton'#9'ReturnBtn'#4'Left'#3#232#1#6'Height'
|
||||
+#2#28#3'Top'#3#168#1#5'Width'#2'N'#7'Caption'#6#6'Return'#11'ModalResult'#2#1
|
||||
+#8'TabOrder'#2#1#0#0#0
|
||||
]);
|
33
applications/lazstats/source_orig/gridhelpunit.pas
Normal file
33
applications/lazstats/source_orig/gridhelpunit.pas
Normal file
@ -0,0 +1,33 @@
|
||||
unit GridHelpUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls;
|
||||
|
||||
type
|
||||
|
||||
{ TGridHelpFrm }
|
||||
|
||||
TGridHelpFrm = class(TForm)
|
||||
ReturnBtn: TButton;
|
||||
Memo1: TMemo;
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
GridHelpFrm: TGridHelpFrm;
|
||||
|
||||
implementation
|
||||
|
||||
initialization
|
||||
{$I gridhelpunit.lrs}
|
||||
|
||||
end.
|
||||
|
213
applications/lazstats/source_orig/groupfrequnit.lfm
Normal file
213
applications/lazstats/source_orig/groupfrequnit.lfm
Normal file
@ -0,0 +1,213 @@
|
||||
object GroupFreqForm: TGroupFreqForm
|
||||
Left = 259
|
||||
Height = 412
|
||||
Top = 137
|
||||
Width = 461
|
||||
Caption = 'Group Frequency Analysis'
|
||||
ClientHeight = 412
|
||||
ClientWidth = 461
|
||||
OnShow = ResetBtnClick
|
||||
LCLVersion = '0.9.30'
|
||||
object Label1: TLabel
|
||||
Left = 16
|
||||
Height = 16
|
||||
Top = 8
|
||||
Width = 102
|
||||
Caption = 'Available Variables:'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 256
|
||||
Height = 16
|
||||
Top = 208
|
||||
Width = 79
|
||||
Caption = 'Group Variable'
|
||||
ParentColor = False
|
||||
end
|
||||
object VarList: TListBox
|
||||
Left = 16
|
||||
Height = 256
|
||||
Top = 24
|
||||
Width = 181
|
||||
ItemHeight = 0
|
||||
MultiSelect = True
|
||||
TabOrder = 0
|
||||
end
|
||||
object GrpInBtn: TBitBtn
|
||||
Left = 211
|
||||
Height = 26
|
||||
Top = 200
|
||||
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 = GrpInBtnClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object GrpOutBtn: TBitBtn
|
||||
Left = 211
|
||||
Height = 26
|
||||
Top = 232
|
||||
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 = GrpOutBtnClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object GrpVarEdit: TEdit
|
||||
Left = 255
|
||||
Height = 23
|
||||
Top = 224
|
||||
Width = 139
|
||||
TabOrder = 3
|
||||
Text = 'GrpVarEdit'
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 16
|
||||
Height = 27
|
||||
Top = 312
|
||||
Width = 89
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 16
|
||||
Height = 27
|
||||
Top = 360
|
||||
Width = 89
|
||||
Cancel = True
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 5
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 112
|
||||
Height = 27
|
||||
Top = 312
|
||||
Width = 89
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 6
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 112
|
||||
Height = 27
|
||||
Top = 360
|
||||
Width = 89
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 7
|
||||
end
|
||||
object OptionsBox: TRadioGroup
|
||||
Left = 208
|
||||
Height = 131
|
||||
Top = 256
|
||||
Width = 229
|
||||
AutoFill = True
|
||||
Caption = 'Plot Choices:'
|
||||
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 = 113
|
||||
ClientWidth = 225
|
||||
Items.Strings = (
|
||||
'Plot means using 2D Horizontal Bars'
|
||||
'Plot means using 3D Horizontal Bars'
|
||||
'Plot means using 2D Vertical Bars'
|
||||
'Plot means using 3D Vertical Bars'
|
||||
)
|
||||
TabOrder = 8
|
||||
end
|
||||
object Memo1: TMemo
|
||||
Left = 211
|
||||
Height = 130
|
||||
Top = 24
|
||||
Width = 230
|
||||
Lines.Strings = (
|
||||
'This procedure plots the frequency of'
|
||||
'cases in each of the groups in a group'
|
||||
'variable. The group variable should'
|
||||
'be defined as an integer variable.'
|
||||
''
|
||||
'Select the variable and type of plot'
|
||||
'and click the Compute button for'
|
||||
'the results.'
|
||||
)
|
||||
TabOrder = 9
|
||||
end
|
||||
end
|
142
applications/lazstats/source_orig/groupfrequnit.lrs
Normal file
142
applications/lazstats/source_orig/groupfrequnit.lrs
Normal file
@ -0,0 +1,142 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TGroupFreqForm','FORMDATA',[
|
||||
'TPF0'#14'TGroupFreqForm'#13'GroupFreqForm'#4'Left'#3#3#1#6'Height'#3#156#1#3
|
||||
+'Top'#3#137#0#5'Width'#3#205#1#7'Caption'#6#24'Group Frequency Analysis'#12
|
||||
+'ClientHeight'#3#156#1#11'ClientWidth'#3#205#1#6'OnShow'#7#13'ResetBtnClick'
|
||||
+#10'LCLVersion'#6#6'0.9.30'#0#6'TLabel'#6'Label1'#4'Left'#2#16#6'Height'#2#16
|
||||
+#3'Top'#2#8#5'Width'#2'f'#7'Caption'#6#20'Available Variables:'#11'ParentCol'
|
||||
+'or'#8#0#0#6'TLabel'#6'Label2'#4'Left'#3#0#1#6'Height'#2#16#3'Top'#3#208#0#5
|
||||
+'Width'#2'O'#7'Caption'#6#14'Group Variable'#11'ParentColor'#8#0#0#8'TListBo'
|
||||
+'x'#7'VarList'#4'Left'#2#16#6'Height'#3#0#1#3'Top'#2#24#5'Width'#3#181#0#10
|
||||
+'ItemHeight'#2#0#11'MultiSelect'#9#8'TabOrder'#2#0#0#0#7'TBitBtn'#8'GrpInBtn'
|
||||
+#4'Left'#3#211#0#6'Height'#2#26#3'Top'#3#200#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#13'GrpInBtnClick'
|
||||
+#8'TabOrder'#2#1#0#0#7'TBitBtn'#9'GrpOutBtn'#4'Left'#3#211#0#6'Height'#2#26#3
|
||||
+'Top'#3#232#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'NumGlyphs'#2#0#7'OnClick'#7#14'GrpOutBtnClick'#8'TabOrder'#2#2#0#0#5
|
||||
+'TEdit'#10'GrpVarEdit'#4'Left'#3#255#0#6'Height'#2#23#3'Top'#3#224#0#5'Width'
|
||||
+#3#139#0#8'TabOrder'#2#3#4'Text'#6#10'GrpVarEdit'#0#0#7'TButton'#8'ResetBtn'
|
||||
+#4'Left'#2#16#6'Height'#2#27#3'Top'#3'8'#1#5'Width'#2'Y'#7'Caption'#6#5'Rese'
|
||||
+'t'#7'OnClick'#7#13'ResetBtnClick'#8'TabOrder'#2#4#0#0#7'TButton'#9'CancelBt'
|
||||
+'n'#4'Left'#2#16#6'Height'#2#27#3'Top'#3'h'#1#5'Width'#2'Y'#6'Cancel'#9#7'Ca'
|
||||
+'ption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#5#0#0#7'TButton'#10'Co'
|
||||
+'mputeBtn'#4'Left'#2'p'#6'Height'#2#27#3'Top'#3'8'#1#5'Width'#2'Y'#7'Caption'
|
||||
+#6#7'Compute'#7'OnClick'#7#15'ComputeBtnClick'#8'TabOrder'#2#6#0#0#7'TButton'
|
||||
+#9'ReturnBtn'#4'Left'#2'p'#6'Height'#2#27#3'Top'#3'h'#1#5'Width'#2'Y'#7'Capt'
|
||||
+'ion'#6#6'Return'#11'ModalResult'#2#1#8'TabOrder'#2#7#0#0#11'TRadioGroup'#10
|
||||
+'OptionsBox'#4'Left'#3#208#0#6'Height'#3#131#0#3'Top'#3#0#1#5'Width'#3#229#0
|
||||
+#8'AutoFill'#9#7'Caption'#6#13'Plot Choices:'#28'ChildSizing.LeftRightSpacin'
|
||||
+'g'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizonta'
|
||||
+'l'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsH'
|
||||
+'omogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'
|
||||
+#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7
|
||||
,#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1#12'Cl'
|
||||
+'ientHeight'#2'q'#11'ClientWidth'#3#225#0#13'Items.Strings'#1#6'#Plot means '
|
||||
+'using 2D Horizontal Bars'#6'#Plot means using 3D Horizontal Bars'#6'!Plot m'
|
||||
+'eans using 2D Vertical Bars'#6'!Plot means using 3D Vertical Bars'#0#8'TabO'
|
||||
+'rder'#2#8#0#0#5'TMemo'#5'Memo1'#4'Left'#3#211#0#6'Height'#3#130#0#3'Top'#2
|
||||
+#24#5'Width'#3#230#0#13'Lines.Strings'#1#6'%This procedure plots the frequen'
|
||||
+'cy of'#6'&cases in each of the groups in a group'#6'$variable. The group v'
|
||||
+'ariable should'#6'"be defined as an integer variable.'#6#0#6'$Select the va'
|
||||
+'riable and type of plot'#6' and click the Compute button for'#6#12'the resu'
|
||||
+'lts.'#0#8'TabOrder'#2#9#0#0#0
|
||||
]);
|
173
applications/lazstats/source_orig/groupfrequnit.pas
Normal file
173
applications/lazstats/source_orig/groupfrequnit.pas
Normal file
@ -0,0 +1,173 @@
|
||||
unit GroupFreqUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Buttons, ExtCtrls, MainUnit, OutPutUnit, FunctionsLib, GraphLib,
|
||||
Globals, DataProcs;
|
||||
|
||||
type
|
||||
|
||||
{ TGroupFreqForm }
|
||||
|
||||
TGroupFreqForm = class(TForm)
|
||||
GrpInBtn: TBitBtn;
|
||||
GrpOutBtn: TBitBtn;
|
||||
CancelBtn: TButton;
|
||||
ComputeBtn: TButton;
|
||||
GrpVarEdit: TEdit;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
Memo1: TMemo;
|
||||
OptionsBox: TRadioGroup;
|
||||
ResetBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
VarList: TListBox;
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
procedure GrpInBtnClick(Sender: TObject);
|
||||
procedure GrpOutBtnClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
GroupFreqForm: TGroupFreqForm;
|
||||
|
||||
implementation
|
||||
|
||||
{ TGroupFreqForm }
|
||||
|
||||
procedure TGroupFreqForm.ResetBtnClick(Sender: TObject);
|
||||
VAR i : integer;
|
||||
begin
|
||||
VarList.Clear;
|
||||
for i := 1 to NoVariables do
|
||||
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
|
||||
GrpVarEdit.Text := '';
|
||||
GrpInBtn.Visible := true;
|
||||
GrpOutBtn.Visible := false;
|
||||
end;
|
||||
|
||||
procedure TGroupFreqForm.GrpInBtnClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := VarList.ItemIndex;
|
||||
if index < 0 then exit;
|
||||
GrpVarEdit.Text := VarList.Items.Strings[index];
|
||||
VarList.Items.Delete(index);
|
||||
GrpInBtn.Visible := false;
|
||||
GrpOutBtn.Visible := true;
|
||||
end;
|
||||
|
||||
procedure TGroupFreqForm.ComputeBtnClick(Sender: TObject);
|
||||
VAR
|
||||
nogroups, mingrp, maxgrp, grpcol, tempcol, value, minfreq, maxfreq : integer;
|
||||
labelstr : string;
|
||||
results, prompt : boolean;
|
||||
result, intvalue, i, j : integer;
|
||||
dblvalue : double;
|
||||
strvalue : string;
|
||||
freq : IntDyneVec;
|
||||
plottype : integer;
|
||||
begin
|
||||
// get the variable to analyze
|
||||
|
||||
grpcol := 0;
|
||||
for i := 1 to NoVariables do
|
||||
begin
|
||||
strvalue := Trim(OS3MainFrm.DataGrid.Cells[i,0]);
|
||||
if GrpVarEdit.Text = strvalue then grpcol := i;
|
||||
end;
|
||||
labelstr := GrpVarEdit.Text;
|
||||
mingrp := 1000;
|
||||
maxgrp := -1000;
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
if not ValidValue(i,grpcol) then continue;
|
||||
value := round(StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[grpcol,i])));
|
||||
if value < mingrp then mingrp := value;
|
||||
if value > maxgrp then maxgrp := value;
|
||||
end;
|
||||
nogroups := maxgrp - mingrp + 1;
|
||||
if nogroups < 2 then
|
||||
begin
|
||||
ShowMessage('One or fewer groups found. Returning.');
|
||||
exit;
|
||||
end;
|
||||
// setup frequency array and count cases in each group
|
||||
SetLength(freq,NoGroups+1);
|
||||
for i := 0 to NoGroups do freq[i] := 0;
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
if not ValidValue(i,grpcol) then continue;
|
||||
value := round(StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[grpcol,i])));
|
||||
value := value - mingrp;
|
||||
freq[value] := freq[value] + 1;
|
||||
end;
|
||||
// get min and max frequencies and check for existence of a range
|
||||
minfreq := 10000;
|
||||
maxfreq := -10000;
|
||||
for i := 0 to NoGroups-1 do
|
||||
begin
|
||||
if freq[i] < minfreq then minfreq := freq[i];
|
||||
if freq[i] > maxfreq then maxfreq := freq[i];
|
||||
end;
|
||||
if minfreq = maxfreq then
|
||||
begin
|
||||
ShowMessage('All groups have equal frequencies. Cannot plot.');
|
||||
freq := nil;
|
||||
exit;
|
||||
end;
|
||||
plottype := OptionsBox.ItemIndex + 1;
|
||||
if plottype = 3 then plottype := 1
|
||||
else if plottype = 4 then plottype := 2
|
||||
else if plottype = 1 then plottype := 9
|
||||
else if plottype = 2 then plottype := 10;
|
||||
|
||||
// plot the frequencies
|
||||
SetLength(GraphFrm.Xpoints,1,nogroups+1);
|
||||
SetLength(GraphFrm.Ypoints,1,nogroups+1);
|
||||
GraphFrm.nosets := 1;
|
||||
GraphFrm.nbars := nogroups;
|
||||
GraphFrm.Heading := 'Frequency Distribution';
|
||||
GraphFrm.XTitle := 'Values of ' + labelstr;
|
||||
GraphFrm.YTitle := 'Frequency';
|
||||
GraphFrm.barwideprop := 0.5;
|
||||
GraphFrm.AutoScale := false;
|
||||
GraphFrm.miny := 0.0;
|
||||
GraphFrm.maxy := maxfreq;
|
||||
GraphFrm.GraphType := plottype;
|
||||
GraphFrm.BackColor := clYellow;
|
||||
GraphFrm.WallColor := clBlack;
|
||||
GraphFrm.FloorColor := clLtGray;
|
||||
GraphFrm.ShowBackWall := true;
|
||||
for i := 0 to nogroups do
|
||||
begin
|
||||
GraphFrm.Ypoints[0,i] := freq[i];
|
||||
GraphFrm.Xpoints[0,i] := mingrp + i;
|
||||
end;
|
||||
GraphFrm.ShowModal;
|
||||
GraphFrm.Xpoints := nil;
|
||||
GraphFrm.Ypoints := nil;
|
||||
end;
|
||||
|
||||
procedure TGroupFreqForm.GrpOutBtnClick(Sender: TObject);
|
||||
begin
|
||||
if GrpVarEdit.Text = '' then exit;
|
||||
VarList.Items.Add(GrpVarEdit.Text);
|
||||
GrpVarEdit.Text := '';
|
||||
GrpInBtn.Visible := true;
|
||||
GrpOutBtn.Visible := false;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I groupfrequnit.lrs}
|
||||
|
||||
end.
|
||||
|
178
applications/lazstats/source_orig/guttmanunit.lfm
Normal file
178
applications/lazstats/source_orig/guttmanunit.lfm
Normal file
@ -0,0 +1,178 @@
|
||||
object GuttmanFrm: TGuttmanFrm
|
||||
Left = 155
|
||||
Height = 332
|
||||
Top = 113
|
||||
Width = 400
|
||||
Caption = 'Guttman Sclaogram Analysis'
|
||||
ClientHeight = 332
|
||||
ClientWidth = 400
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.26.2'
|
||||
object Label1: TLabel
|
||||
Left = 10
|
||||
Height = 14
|
||||
Top = 8
|
||||
Width = 90
|
||||
Caption = 'Variables Available'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 208
|
||||
Height = 14
|
||||
Top = 11
|
||||
Width = 72
|
||||
Caption = 'Selected Items'
|
||||
ParentColor = False
|
||||
end
|
||||
object VarList: TListBox
|
||||
Left = 9
|
||||
Height = 250
|
||||
Top = 24
|
||||
Width = 153
|
||||
MultiSelect = True
|
||||
TabOrder = 0
|
||||
end
|
||||
object InBtn: TBitBtn
|
||||
Left = 169
|
||||
Height = 27
|
||||
Top = 25
|
||||
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 = 169
|
||||
Height = 27
|
||||
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 = 169
|
||||
Height = 27
|
||||
Top = 104
|
||||
Width = 30
|
||||
Caption = 'ALL'
|
||||
NumGlyphs = 0
|
||||
OnClick = AllBtnClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object ItemList: TListBox
|
||||
Left = 206
|
||||
Height = 246
|
||||
Top = 30
|
||||
Width = 156
|
||||
TabOrder = 4
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 8
|
||||
Height = 28
|
||||
Top = 289
|
||||
Width = 62
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 5
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 100
|
||||
Height = 28
|
||||
Top = 289
|
||||
Width = 62
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 6
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 208
|
||||
Height = 28
|
||||
Top = 289
|
||||
Width = 62
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 7
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 300
|
||||
Height = 28
|
||||
Top = 288
|
||||
Width = 62
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 8
|
||||
end
|
||||
end
|
127
applications/lazstats/source_orig/guttmanunit.lrs
Normal file
127
applications/lazstats/source_orig/guttmanunit.lrs
Normal file
@ -0,0 +1,127 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TGuttmanFrm','FORMDATA',[
|
||||
'TPF0'#11'TGuttmanFrm'#10'GuttmanFrm'#4'Left'#3#155#0#6'Height'#3'L'#1#3'Top'
|
||||
+#2'q'#5'Width'#3#144#1#7'Caption'#6#26'Guttman Sclaogram Analysis'#12'Client'
|
||||
+'Height'#3'L'#1#11'ClientWidth'#3#144#1#6'OnShow'#7#8'FormShow'#10'LCLVersio'
|
||||
+'n'#6#8'0.9.26.2'#0#6'TLabel'#6'Label1'#4'Left'#2#10#6'Height'#2#14#3'Top'#2
|
||||
+#8#5'Width'#2'Z'#7'Caption'#6#19'Variables Available'#11'ParentColor'#8#0#0#6
|
||||
+'TLabel'#6'Label2'#4'Left'#3#208#0#6'Height'#2#14#3'Top'#2#11#5'Width'#2'H'#7
|
||||
+'Caption'#6#14'Selected Items'#11'ParentColor'#8#0#0#8'TListBox'#7'VarList'#4
|
||||
+'Left'#2#9#6'Height'#3#250#0#3'Top'#2#24#5'Width'#3#153#0#11'MultiSelect'#9#8
|
||||
+'TabOrder'#2#0#0#0#7'TBitBtn'#5'InBtn'#4'Left'#3#169#0#6'Height'#2#27#3'Top'
|
||||
+#2#25#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'InBtnClick'#8'TabOrder'#2#1#0#0#7'TBitBtn'#6'OutBtn'#4'Left'#3
|
||||
+#169#0#6'Height'#2#27#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''#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#169#0#6'Height'#2#27#3'Top'#2'h'#5'Width'#2
|
||||
+#30#7'Caption'#6#3'ALL'#9'NumGlyphs'#2#0#7'OnClick'#7#11'AllBtnClick'#8'TabO'
|
||||
+'rder'#2#3#0#0#8'TListBox'#8'ItemList'#4'Left'#3#206#0#6'Height'#3#246#0#3'T'
|
||||
+'op'#2#30#5'Width'#3#156#0#8'TabOrder'#2#4#0#0#7'TButton'#8'ResetBtn'#4'Left'
|
||||
+#2#8#6'Height'#2#28#3'Top'#3'!'#1#5'Width'#2'>'#7'Caption'#6#5'Reset'#7'OnCl'
|
||||
+'ick'#7#13'ResetBtnClick'#8'TabOrder'#2#5#0#0#7'TButton'#9'CancelBtn'#4'Left'
|
||||
+#2'd'#6'Height'#2#28#3'Top'#3'!'#1#5'Width'#2'>'#7'Caption'#6#6'Cancel'#11'M'
|
||||
+'odalResult'#2#2#8'TabOrder'#2#6#0#0#7'TButton'#10'ComputeBtn'#4'Left'#3#208
|
||||
+#0#6'Height'#2#28#3'Top'#3'!'#1#5'Width'#2'>'#7'Caption'#6#7'Compute'#7'OnCl'
|
||||
+'ick'#7#15'ComputeBtnClick'#8'TabOrder'#2#7#0#0#7'TButton'#9'ReturnBtn'#4'Le'
|
||||
+'ft'#3','#1#6'Height'#2#28#3'Top'#3' '#1#5'Width'#2'>'#7'Caption'#6#6'Return'
|
||||
+#11'ModalResult'#2#1#8'TabOrder'#2#8#0#0#0
|
||||
]);
|
598
applications/lazstats/source_orig/guttmanunit.pas
Normal file
598
applications/lazstats/source_orig/guttmanunit.pas
Normal file
@ -0,0 +1,598 @@
|
||||
unit GuttmanUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Buttons, MainUnit, OutPutUnit, FunctionsLib, Globals,
|
||||
DataProcs, Math;
|
||||
|
||||
type
|
||||
|
||||
{ TGuttmanFrm }
|
||||
|
||||
TGuttmanFrm = class(TForm)
|
||||
InBtn: TBitBtn;
|
||||
OutBtn: TBitBtn;
|
||||
AllBtn: TBitBtn;
|
||||
ResetBtn: TButton;
|
||||
CancelBtn: TButton;
|
||||
ComputeBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
ItemList: TListBox;
|
||||
VarList: TListBox;
|
||||
procedure AllBtnClick(Sender: TObject);
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure InBtnClick(Sender: TObject);
|
||||
procedure OutBtnClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
GuttmanFrm: TGuttmanFrm;
|
||||
|
||||
implementation
|
||||
|
||||
{ TGuttmanFrm }
|
||||
|
||||
procedure TGuttmanFrm.ResetBtnClick(Sender: TObject);
|
||||
VAR i : integer;
|
||||
begin
|
||||
VarList.Clear;
|
||||
ItemList.Clear;
|
||||
OutBtn.Visible := false;
|
||||
InBtn.Visible := true;
|
||||
for i := 1 to NoVariables do
|
||||
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
|
||||
end;
|
||||
|
||||
procedure TGuttmanFrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
ResetBtnClick(self);
|
||||
end;
|
||||
|
||||
procedure TGuttmanFrm.AllBtnClick(Sender: TObject);
|
||||
VAR count, i : integer;
|
||||
begin
|
||||
count := VarList.Items.Count;
|
||||
for i := 1 to count do
|
||||
ItemList.Items.Add(VarList.Items.Strings[i-1]);
|
||||
VarList.Clear;
|
||||
InBtn.Visible := false;
|
||||
OutBtn.Visible := true;
|
||||
end;
|
||||
|
||||
procedure TGuttmanFrm.ComputeBtnClick(Sender: TObject);
|
||||
var
|
||||
i, j, k, col, X, e0, e1, e2, e3, first, last, errors : integer;
|
||||
totalerrors, rowno : integer;
|
||||
FreqMat0 : IntDyneMat; // Pointer to array of 0 responses for each item by score group
|
||||
FreqMat1 : IntDyneMat; // Pointer to array of 1 responses for each item by score group
|
||||
RowTots : IntDyneVec; // Pointer to vector of total score frequencies for items
|
||||
ColTots : IntDyneMat; // Pointer to array of 0 and 1 column totals
|
||||
ColProps : DblDyneVec; // Pointer to array of proportions correct in columns
|
||||
ColNoSelected : IntDyneVec; // Pointer to vector of item Grid columns
|
||||
CaseVector : IntDyneVec; // Pointer to vector of subject's item responses
|
||||
TotalScore : integer; // Total score of a subject
|
||||
temp : integer; // temporary variable used in sorting
|
||||
CutScore : IntDyneVec; // Optimal cut scores for each item
|
||||
ErrorMat : IntDyneMat; // matrix of errors above and below cut scores
|
||||
sequence : IntDyneVec; // original and sorted sequence no. of items
|
||||
CaseNo : IntDyneVec; // ID number for each case
|
||||
ModalArray : IntDyneMat; // Array of modal item responses
|
||||
NoSelected : integer;
|
||||
VarLabels : StrDyneVec; // variable labels
|
||||
outline, astring : string;
|
||||
done : boolean;
|
||||
CoefRepro : double;
|
||||
Min_Coeff : double;
|
||||
begin
|
||||
// allocate heap space for arrays
|
||||
SetLength(ColNoSelected,NoVariables);
|
||||
SetLength(FreqMat0,NoCases,NoVariables);
|
||||
SetLength(FreqMat1,NoCases,NoVariables);
|
||||
SetLength(RowTots,NoCases);
|
||||
SetLength(ColTots,NoVariables,2);
|
||||
SetLength(ColProps,NoVariables);
|
||||
SetLength(CaseVector,NoCases);
|
||||
SetLength(CutScore,NoCases);
|
||||
SetLength(ErrorMat,NoVariables,2);
|
||||
SetLength(sequence,NoVariables);
|
||||
SetLength(CaseNo,NoCases);
|
||||
SetLength(ModalArray,NoVariables+1,NoVariables+1);
|
||||
SetLength(VarLabels,NoVariables);
|
||||
|
||||
// get variables used for the analysis
|
||||
NoSelected := ItemList.Items.Count;
|
||||
for i := 1 to NoVariables do
|
||||
begin
|
||||
for j := 1 to NoSelected do
|
||||
begin
|
||||
if OS3MainFrm.DataGrid.Cells[i,0] = ItemList.Items.Strings[j-1] then
|
||||
begin
|
||||
ColNoSelected[j-1] := i;
|
||||
VarLabels[j-1] := OS3MainFrm.DataGrid.Cells[i,0];
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
|
||||
// Initialize sequence
|
||||
for i := 1 to NoSelected do sequence[i-1] := i;
|
||||
|
||||
// Initialize arrays
|
||||
for i := 0 to NoSelected-1 do
|
||||
begin
|
||||
ColTots[i,0] := 0;
|
||||
ColTots[i,1] := 0;
|
||||
ColProps[i] := 0.0;
|
||||
ErrorMat[i,0] := 0;
|
||||
ErrorMat[i,1] := 0;
|
||||
end;
|
||||
for i := 0 to NoCases-1 do
|
||||
begin
|
||||
RowTots[i] := 0;
|
||||
CutScore[i] := 0;
|
||||
CaseNo[i] := i+1;
|
||||
for j := 0 to NoSelected-1 do
|
||||
begin
|
||||
FreqMat0[i,j] := 0;
|
||||
FreqMat1[i,j] := 0;
|
||||
end;
|
||||
end;
|
||||
if (NoCases > NoSelected) then
|
||||
begin
|
||||
for i := 1 to NoCases do CaseVector[i-1] := 0;
|
||||
end
|
||||
else begin
|
||||
for i := 1 to NoSelected do CaseVector[i-1] := 0;
|
||||
end;
|
||||
|
||||
// Get data into the frequency matrices of 0 and 1 responses
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
if (not GoodRecord(i,NoSelected,ColNoSelected)) then continue;
|
||||
TotalScore := 0;
|
||||
for j := 1 to NoSelected do
|
||||
begin
|
||||
col := ColNoSelected[j-1];
|
||||
X := round(StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[col,i])));
|
||||
CaseVector[j-1] := X;
|
||||
TotalScore := TotalScore + X;
|
||||
end;
|
||||
for j := 1 to NoSelected do
|
||||
begin
|
||||
if (CaseVector[j-1] = 0) then FreqMat0[i-1,j-1] := 1
|
||||
else FreqMat1[i-1,j-1] := 1;
|
||||
end;
|
||||
end;
|
||||
|
||||
// Get Row Totals for each score group (rows of FreqMat1)
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
if (not GoodRecord(i,NoSelected,ColNoSelected)) then continue;
|
||||
for j := 1 to NoSelected do
|
||||
begin
|
||||
RowTots[i-1] := RowTots[i-1] + FreqMat1[i-1,j-1];
|
||||
end;
|
||||
end;
|
||||
|
||||
// Get Column Totals for item scores of 1 and 0
|
||||
for i := 1 to NoSelected do //columns
|
||||
begin
|
||||
for j := 1 to NoCases do // rows
|
||||
begin
|
||||
if (not GoodRecord(j,NoSelected,ColNoSelected)) then continue;
|
||||
ColTots[i-1,0] := ColTots[i-1,0] + FreqMat0[j-1,i-1];
|
||||
ColTots[i-1,1] := ColTots[i-1,1] + FreqMat1[j-1,i-1];
|
||||
end;
|
||||
end;
|
||||
|
||||
//Sort frequency matrices into descending order
|
||||
for i := 1 to NoCases - 1 do
|
||||
begin
|
||||
if (not GoodRecord(i,NoSelected,ColNoSelected)) then continue;
|
||||
for j := i + 1 to NoCases do
|
||||
begin
|
||||
if (not GoodRecord(j,NoSelected,ColNoSelected)) then continue;
|
||||
if (RowTots[i-1] < RowTots[j-1]) then //swap
|
||||
begin
|
||||
for k := 1 to NoSelected do
|
||||
begin // carry all columns in the swap
|
||||
temp := FreqMat0[i-1,k-1];
|
||||
FreqMat0[i-1,k-1] := FreqMat0[j-1,k-1];
|
||||
FreqMat0[j-1,k-1] := temp;
|
||||
temp := FreqMat1[i-1,k-1];
|
||||
FreqMat1[i-1,k-1] := FreqMat1[j-1,k-1];
|
||||
FreqMat1[j-1,k-1] := temp;
|
||||
end;
|
||||
// Also swap row totals
|
||||
temp := RowTots[i-1];
|
||||
RowTots[i-1] := RowTots[j-1];
|
||||
RowTots[j-1] := temp;
|
||||
// And case number
|
||||
temp := CaseNo[i-1];
|
||||
CaseNo[i-1] := CaseNo[j-1];
|
||||
CaseNo[j-1] := temp;
|
||||
end; // end if
|
||||
end; // Next j
|
||||
end; // next i
|
||||
|
||||
// Now sort the columns into ascending order of number right
|
||||
for i := 1 to NoSelected - 1 do
|
||||
begin
|
||||
for j := i + 1 to NoSelected do
|
||||
begin
|
||||
if (ColTots[i-1,1] > ColTots[j-1,1]) then //swap
|
||||
begin
|
||||
for k := 1 to NoCases do
|
||||
begin
|
||||
if (not GoodRecord(k,NoSelected,ColNoSelected)) then continue;
|
||||
temp := FreqMat0[k-1,i-1];
|
||||
FreqMat0[k-1,i-1] := FreqMat0[k-1,j-1];
|
||||
FreqMat0[k-1,j-1] := temp;
|
||||
temp := FreqMat1[k-1,i-1];
|
||||
FreqMat1[k-1,i-1] := FreqMat1[k-1,j-1];
|
||||
FreqMat1[k-1,j-1] := temp;
|
||||
end; // next k
|
||||
// swap column totals also
|
||||
temp := ColTots[i-1,0];
|
||||
ColTots[i-1,0] := ColTots[j-1,0];
|
||||
ColTots[j-1,0] := temp;
|
||||
temp := ColTots[i-1,1];
|
||||
ColTots[i-1,1] := ColTots[j-1,1];
|
||||
ColTots[j-1,1] := temp;
|
||||
// swap label pointers
|
||||
temp := sequence[i-1];
|
||||
sequence[i-1] := sequence[j-1];
|
||||
sequence[j-1] := temp;
|
||||
end; // end if
|
||||
end; // next j
|
||||
end; // next i
|
||||
|
||||
//For each item (column), find the optimal cutting value
|
||||
for i := 1 to NoSelected do
|
||||
begin
|
||||
CutScore[i-1] := 0;
|
||||
for j := 1 to NoCases do // j is the trial cut point
|
||||
begin
|
||||
if (not GoodRecord(j,NoSelected,ColNoSelected)) then continue;
|
||||
e0 := 0;
|
||||
e1 := 0;
|
||||
//Get errors prior to the cut point
|
||||
for k := 1 to j do
|
||||
begin
|
||||
if (not GoodRecord(k,NoSelected,ColNoSelected)) then continue;
|
||||
if (FreqMat0[k-1,i-1] = 1) then e0 := e0 + 1;
|
||||
end;
|
||||
//Get errors following the cut point
|
||||
for k := j + 1 to NoCases do
|
||||
begin
|
||||
if (not GoodRecord(k,NoSelected,ColNoSelected)) then continue;
|
||||
if (FreqMat1[k-1,i-1] = 1) then e1 := e1 + 1;
|
||||
end;
|
||||
//Save errors for each cut
|
||||
CaseVector[j-1] := e0 + e1;
|
||||
end; // next j
|
||||
// Save minimum cut score index
|
||||
e2 := 32000;
|
||||
e3 := 0;
|
||||
for j := 1 to NoCases do
|
||||
begin
|
||||
if (not GoodRecord(j,NoSelected,ColNoSelected)) then continue;
|
||||
if (CaseVector[j-1] < e2) then
|
||||
begin
|
||||
e2 := CaseVector[j-1];
|
||||
e3 := j;
|
||||
end;
|
||||
end;
|
||||
CutScore[i-1] := e3; //Position of optimal cut for item i
|
||||
end;
|
||||
|
||||
// Get error counts;
|
||||
for i := 1 to NoSelected do
|
||||
begin
|
||||
for j := 1 to CutScore[i-1] do
|
||||
begin
|
||||
if (not GoodRecord(j,NoSelected,ColNoSelected)) then continue;
|
||||
if ((FreqMat0[j-1,i-1] > 0) or (FreqMat1[j-1,i-1] > 0)) then
|
||||
ErrorMat[i-1,0] := ErrorMat[i-1,0] + FreqMat0[j-1,i-1];
|
||||
end;
|
||||
for j := CutScore[i-1] + 1 to NoCases do
|
||||
begin
|
||||
if (not GoodRecord(j,NoSelected,ColNoSelected)) then continue;
|
||||
if ((FreqMat0[j-1,i-1] > 0) or (FreqMat1[j-1,i-1] > 0)) then
|
||||
ErrorMat[i-1,1] := ErrorMat[i-1,1] + FreqMat1[j-1,i-1];
|
||||
end;
|
||||
end;
|
||||
|
||||
// Print results
|
||||
OutPutFrm.RichEdit.Lines.Add(' GUTTMAN SCALOGRAM ANALYSIS');
|
||||
OutPutFrm.RichEdit.Lines.Add(' Cornell Method');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
outline := format('No. of Cases := %3d. No. of items := %3d',[NoCases,NoSelected]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('RESPONSE MATRIX');
|
||||
first := 1;
|
||||
last := first + 5; // column (item) index
|
||||
if (last > NoSelected) then last := NoSelected;
|
||||
done := false;
|
||||
|
||||
while (not done) do //loop through all of the score groups
|
||||
begin
|
||||
OutPutFrm.RichEdit.Lines.Add('Subject Row Item Number');
|
||||
outline := 'Label Sum';
|
||||
for i := first to last do
|
||||
begin
|
||||
astring := format('%10s',[VarLabels[sequence[i-1]-1]]);
|
||||
outline := outline + astring;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := ' ';
|
||||
for i := first to last do
|
||||
begin
|
||||
astring := ' 0 1 ';
|
||||
outline := outline + astring;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
for i := 1 to NoCases do // rows
|
||||
begin
|
||||
if (not GoodRecord(i,NoSelected,ColNoSelected)) then continue;
|
||||
outline := format(' %3d %3d ',[CaseNo[i-1],RowTots[i-1]]);
|
||||
for j := first to last do
|
||||
begin
|
||||
astring := format(' %3d %3d ',[FreqMat0[i-1,j-1],FreqMat1[i-1,j-1]]);
|
||||
outline := outline + astring;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := ' ';
|
||||
// check for optimal cut point for this score
|
||||
for j := first to last do
|
||||
begin
|
||||
if (CutScore[j-1] = i) then
|
||||
begin
|
||||
astring := ' -cut- ';
|
||||
outline := outline + astring;
|
||||
end
|
||||
else begin
|
||||
astring := ' ';
|
||||
outline := outline + astring;
|
||||
end;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := '';
|
||||
end; // Next row (score group)
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
outline := 'TOTALS ';
|
||||
for j := first to last do
|
||||
begin
|
||||
astring := format(' %3d %3d ',[ColTots[j-1,0],ColTots[j-1,1]]);
|
||||
outline := outline + astring;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := 'ERRORS ';
|
||||
for j := first to last do
|
||||
begin
|
||||
astring := format(' %3d %3d ',[ErrorMat[j-1,0],ErrorMat[j-1,1]]);
|
||||
outline := outline + astring;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
if (last < NoSelected) then
|
||||
begin
|
||||
first := last + 1;
|
||||
last := first + 5; // column (item) index
|
||||
if (last > NoSelected) then last := NoSelected;
|
||||
end
|
||||
else done := true;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
end;
|
||||
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
CoefRepro := 0.0;
|
||||
for j := 1 to NoSelected do
|
||||
CoefRepro := CoefRepro + ErrorMat[j-1,0] + ErrorMat[j-1,1];
|
||||
CoefRepro := 1.0 - (CoefRepro / (NoCases * NoSelected));
|
||||
outline := format('Coefficient of Reproducibility := %6.3f',[CoefRepro]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
|
||||
//-----------------------------GOODENOUGH----------------------------------
|
||||
// Complete Goodenough method and print results
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add(' GUTTMAN SCALOGRAM ANALYSIS');
|
||||
OutPutFrm.RichEdit.Lines.Add(' Goodenough Modification Using Modal Responses');
|
||||
totalerrors := 0;
|
||||
Min_Coeff := 0.0;
|
||||
for i := 1 to NoSelected + 1 do
|
||||
for j := 1 to NoSelected do ModalArray[i-1,j-1] := 0;
|
||||
for i := 1 to NoSelected do // column
|
||||
begin
|
||||
ColProps[i-1] := ColTots[i-1,1] / NoCases;
|
||||
ErrorMat[i-1,0] := 0;
|
||||
ErrorMat[i-1,1] := 0;
|
||||
end;
|
||||
// Get the cut scores for each score row based on rounded proportions
|
||||
for i := 1 to NoSelected do
|
||||
begin
|
||||
CutScore[i-1] := Trunc(ColProps[i-1] * (NoSelected+1));
|
||||
end;
|
||||
// Build modal response array for the total scores by items
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add(' MODAL ITEM RESPONSES');
|
||||
OutPutFrm.RichEdit.Lines.Add('TOTAL ITEMS');
|
||||
outline := ' ';
|
||||
for i := 1 to NoSelected do
|
||||
begin
|
||||
astring := format('%10s',[VarLabels[sequence[i-1]-1]]);
|
||||
outline := outline + astring;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
for i := 0 to NoSelected do
|
||||
begin
|
||||
for j := 1 to NoSelected do
|
||||
begin
|
||||
if (CutScore[j-1] > i) then ModalArray[i,j-1] := 1
|
||||
else ModalArray[i,j-1] := 0;
|
||||
end;
|
||||
astring := format(' %3d ',[NoSelected - i]);
|
||||
outline := astring;
|
||||
for j := 1 to NoSelected do
|
||||
begin
|
||||
astring := format(' %3d ',[ModalArray[i,j-1]]);
|
||||
outline := outline + astring;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
outline := format('No. of Cases := %3d. No. of items := %3d',[NoCases,NoSelected]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('RESPONSE MATRIX');
|
||||
first := 1;
|
||||
last := first + 5; // column (item) index
|
||||
if (last > NoSelected) then last := NoSelected;
|
||||
done := false;
|
||||
|
||||
while (not done) do //loop through all of the score groups
|
||||
begin
|
||||
OutPutFrm.RichEdit.Lines.Add('Subject Row Error Item Number');
|
||||
outline := 'Label Sum Count';
|
||||
for i := first to last do
|
||||
begin
|
||||
astring := format('%10s',[VarLabels[sequence[i-1]-1]]);
|
||||
outline := outline + astring;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := ' ';
|
||||
for i := first to last do
|
||||
begin
|
||||
astring := ' 0 1 ';
|
||||
outline := outline + astring;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
for i := 1 to NoCases do // rows
|
||||
begin
|
||||
if (not GoodRecord(i,NoSelected,ColNoSelected)) then continue;
|
||||
errors := 0;
|
||||
for j := first to last do
|
||||
begin
|
||||
rowno := NoSelected - RowTots[i-1] + 1;
|
||||
if (FreqMat1[i-1,j-1] <> ModalArray[rowno-1,j-1]) then errors := errors + 1;
|
||||
end;
|
||||
|
||||
outline := format(' %3d %3d %3d ',[CaseNo[i-1],RowTots[i-1],errors]);
|
||||
for j := first to last do
|
||||
begin
|
||||
astring := format(' %3d %3d ',[FreqMat0[i-1,j-1],FreqMat1[i-1,j-1]]);
|
||||
outline := outline + astring;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
totalerrors := totalerrors + errors;
|
||||
end; // Next row (score group)
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
|
||||
outline :='TOTALS ';
|
||||
for j := first to last do
|
||||
begin
|
||||
astring := format(' %3d %3d ',[ColTots[j-1,0],ColTots[j-1,1]]);
|
||||
outline := outline + astring;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
|
||||
outline := 'PROPORTIONS ';
|
||||
for j := first to last do
|
||||
begin
|
||||
astring := format('%4.2f %4.2f ',[(1.0-ColProps[j-1]),ColProps[j-1]]);
|
||||
outline := outline + astring;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
|
||||
if (last < NoSelected) then
|
||||
begin
|
||||
first := last + 1;
|
||||
last := first + 5; // column (item) index
|
||||
if (last > NoSelected) then last := NoSelected;
|
||||
end
|
||||
else done := true;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
CoefRepro := 1.0 - (totalerrors / (NoCases * NoSelected));
|
||||
outline := format('Coefficient of Reproducibility := %6.3f',[CoefRepro]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
for j := 1 to NoSelected do
|
||||
begin
|
||||
if (ColProps[j-1] > (1.0 - ColProps[j-1])) then Min_Coeff := Min_Coeff + ColProps[j-1]
|
||||
else Min_Coeff := Min_Coeff + (1.0 - ColProps[j-1]);
|
||||
end;
|
||||
Min_Coeff := Min_coeff / NoSelected;
|
||||
outline := format('Minimal Marginal Reproducibility := %6.3f',[Min_Coeff]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.ShowModal;
|
||||
|
||||
// Clean up the heap
|
||||
VarLabels := nil;
|
||||
ModalArray := nil;
|
||||
CaseNo := nil;
|
||||
sequence := nil;
|
||||
ErrorMat := nil;
|
||||
CutScore := nil;
|
||||
CaseVector := nil;
|
||||
ColProps := nil;
|
||||
ColTots := nil;
|
||||
RowTots := nil;
|
||||
FreqMat1 := nil;
|
||||
FreqMat0 := nil;
|
||||
ColNoSelected := nil;
|
||||
end;
|
||||
|
||||
procedure TGuttmanFrm.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
|
||||
ItemList.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 TGuttmanFrm.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);
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I guttmanunit.lrs}
|
||||
|
||||
end.
|
||||
|
53
applications/lazstats/source_orig/helpunit.lfm
Normal file
53
applications/lazstats/source_orig/helpunit.lfm
Normal file
@ -0,0 +1,53 @@
|
||||
object HelpFrm: THelpFrm
|
||||
Left = 239
|
||||
Height = 117
|
||||
Top = 107
|
||||
Width = 303
|
||||
Caption = 'HTML Help Viewer'
|
||||
ClientHeight = 117
|
||||
ClientWidth = 303
|
||||
OnCreate = FormCreate
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.28.2'
|
||||
object Label1: TLabel
|
||||
Left = 9
|
||||
Height = 14
|
||||
Top = 8
|
||||
Width = 235
|
||||
Caption = 'PRESS THE Button for the TABLE OF CONTENTS!'
|
||||
ParentColor = False
|
||||
end
|
||||
object HelpBtn: TButton
|
||||
Left = 8
|
||||
Height = 28
|
||||
Top = 32
|
||||
Width = 154
|
||||
HelpType = htKeyword
|
||||
HelpKeyword = 'HTML/LAZTOC.html'
|
||||
Caption = 'Table of Contents'
|
||||
OnClick = HelpBtnClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 200
|
||||
Height = 27
|
||||
Top = 32
|
||||
Width = 85
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 1
|
||||
end
|
||||
object HTMLHelpDatabase1: THTMLHelpDatabase
|
||||
BaseURL = 'file://html/'
|
||||
AutoRegister = True
|
||||
KeywordPrefix = 'HTML/'
|
||||
left = 16
|
||||
top = 72
|
||||
end
|
||||
object HTMLBrowserHelpViewer1: THTMLBrowserHelpViewer
|
||||
BrowserParams = '%s'
|
||||
AutoRegister = True
|
||||
left = 144
|
||||
top = 72
|
||||
end
|
||||
end
|
19
applications/lazstats/source_orig/helpunit.lrs
Normal file
19
applications/lazstats/source_orig/helpunit.lrs
Normal file
@ -0,0 +1,19 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('THelpFrm','FORMDATA',[
|
||||
'TPF0'#8'THelpFrm'#7'HelpFrm'#4'Left'#3#239#0#6'Height'#2'u'#3'Top'#2'k'#5'Wi'
|
||||
+'dth'#3'/'#1#7'Caption'#6#16'HTML Help Viewer'#12'ClientHeight'#2'u'#11'Clie'
|
||||
+'ntWidth'#3'/'#1#8'OnCreate'#7#10'FormCreate'#6'OnShow'#7#8'FormShow'#10'LCL'
|
||||
+'Version'#6#8'0.9.28.2'#0#6'TLabel'#6'Label1'#4'Left'#2#9#6'Height'#2#14#3'T'
|
||||
+'op'#2#8#5'Width'#3#235#0#7'Caption'#6'+PRESS THE Button for the TABLE OF CO'
|
||||
+'NTENTS!'#11'ParentColor'#8#0#0#7'TButton'#7'HelpBtn'#4'Left'#2#8#6'Height'#2
|
||||
+#28#3'Top'#2' '#5'Width'#3#154#0#8'HelpType'#7#9'htKeyword'#11'HelpKeyword'#6
|
||||
+#16'HTML/LAZTOC.html'#7'Caption'#6#17'Table of Contents'#7'OnClick'#7#12'Hel'
|
||||
+'pBtnClick'#8'TabOrder'#2#0#0#0#7'TButton'#9'ReturnBtn'#4'Left'#3#200#0#6'He'
|
||||
+'ight'#2#27#3'Top'#2' '#5'Width'#2'U'#7'Caption'#6#6'Return'#11'ModalResult'
|
||||
+#2#1#8'TabOrder'#2#1#0#0#17'THTMLHelpDatabase'#17'HTMLHelpDatabase1'#7'BaseU'
|
||||
+'RL'#6#12'file://html/'#12'AutoRegister'#9#13'KeywordPrefix'#6#5'HTML/'#4'le'
|
||||
+'ft'#2#16#3'top'#2'H'#0#0#22'THTMLBrowserHelpViewer'#22'HTMLBrowserHelpViewe'
|
||||
+'r1'#13'BrowserParams'#6#2'%s'#12'AutoRegister'#9#4'left'#3#144#0#3'top'#2'H'
|
||||
+#0#0#0
|
||||
]);
|
56
applications/lazstats/source_orig/helpunit.pas
Normal file
56
applications/lazstats/source_orig/helpunit.pas
Normal file
@ -0,0 +1,56 @@
|
||||
unit HelpUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, LazHelpHTML, HelpIntfs;
|
||||
|
||||
type
|
||||
|
||||
{ THelpFrm }
|
||||
|
||||
THelpFrm = class(TForm)
|
||||
ReturnBtn: TButton;
|
||||
HelpBtn: TButton;
|
||||
HTMLBrowserHelpViewer1: THTMLBrowserHelpViewer;
|
||||
HTMLHelpDatabase1: THTMLHelpDatabase;
|
||||
Label1: TLabel;
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure HelpBtnClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
HelpFrm: THelpFrm;
|
||||
|
||||
implementation
|
||||
|
||||
{ THelpFrm }
|
||||
|
||||
procedure THelpFrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
// HelpBtnClick(self);
|
||||
end;
|
||||
|
||||
procedure THelpFrm.FormCreate(Sender: TObject);
|
||||
begin
|
||||
HTMLHelpDatabase1.BaseURL := 'file://html';
|
||||
end;
|
||||
|
||||
procedure THelpFrm.HelpBtnClick(Sender: TObject);
|
||||
begin
|
||||
ShowHelpOrErrorForKeyword('','HTML/LAZTOC.html');
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I helpunit.lrs}
|
||||
|
||||
end.
|
||||
|
242
applications/lazstats/source_orig/hierarchunit.lfm
Normal file
242
applications/lazstats/source_orig/hierarchunit.lfm
Normal file
@ -0,0 +1,242 @@
|
||||
object HierarchFrm: THierarchFrm
|
||||
Left = 172
|
||||
Height = 340
|
||||
Top = 97
|
||||
Width = 464
|
||||
Caption = 'Hierarchical Cluster Analysis'
|
||||
ClientHeight = 340
|
||||
ClientWidth = 464
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.26.2'
|
||||
object Label1: TLabel
|
||||
Left = 6
|
||||
Height = 14
|
||||
Top = 6
|
||||
Width = 90
|
||||
Caption = 'Available Variables'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 211
|
||||
Height = 14
|
||||
Top = 7
|
||||
Width = 90
|
||||
Caption = 'Predictor Variables'
|
||||
ParentColor = False
|
||||
end
|
||||
object VarList: TListBox
|
||||
Left = 5
|
||||
Height = 306
|
||||
Top = 22
|
||||
Width = 154
|
||||
MultiSelect = True
|
||||
TabOrder = 0
|
||||
end
|
||||
object PredIn: TBitBtn
|
||||
Left = 168
|
||||
Height = 32
|
||||
Top = 25
|
||||
Width = 32
|
||||
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 = PredInClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object PredOut: TBitBtn
|
||||
Left = 168
|
||||
Height = 32
|
||||
Top = 64
|
||||
Width = 32
|
||||
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 = PredOutClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object PredList: TListBox
|
||||
Left = 208
|
||||
Height = 121
|
||||
Top = 24
|
||||
Width = 160
|
||||
TabOrder = 3
|
||||
end
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 166
|
||||
Height = 176
|
||||
Top = 153
|
||||
Width = 205
|
||||
Caption = 'Options'
|
||||
ClientHeight = 158
|
||||
ClientWidth = 201
|
||||
TabOrder = 4
|
||||
object STDChk: TCheckBox
|
||||
Left = 8
|
||||
Height = 17
|
||||
Top = 4
|
||||
Width = 122
|
||||
Caption = 'Standardize Variables'
|
||||
TabOrder = 0
|
||||
end
|
||||
object ReplaceChk: TCheckBox
|
||||
Left = 44
|
||||
Height = 17
|
||||
Top = 23
|
||||
Width = 117
|
||||
Caption = 'Replace Grid Values'
|
||||
TabOrder = 1
|
||||
end
|
||||
object StatsChk: TCheckBox
|
||||
Left = 8
|
||||
Height = 17
|
||||
Top = 44
|
||||
Width = 118
|
||||
Caption = 'Descriptive Statistics'
|
||||
TabOrder = 2
|
||||
end
|
||||
object PlotChk: TCheckBox
|
||||
Left = 8
|
||||
Height = 17
|
||||
Top = 67
|
||||
Width = 139
|
||||
Caption = 'No. Groups vs Errors Plot'
|
||||
TabOrder = 3
|
||||
end
|
||||
object MaxGrpsChk: TCheckBox
|
||||
Left = 8
|
||||
Height = 17
|
||||
Top = 91
|
||||
Width = 124
|
||||
Caption = 'Maximum No. Groups:'
|
||||
TabOrder = 4
|
||||
end
|
||||
object MembersChk: TCheckBox
|
||||
Left = 7
|
||||
Height = 17
|
||||
Top = 116
|
||||
Width = 133
|
||||
Caption = 'Print Group Membership'
|
||||
TabOrder = 5
|
||||
end
|
||||
object VarChk: TCheckBox
|
||||
Left = 8
|
||||
Height = 17
|
||||
Top = 139
|
||||
Width = 150
|
||||
Caption = 'Cluster Variables, not cases'
|
||||
TabOrder = 6
|
||||
end
|
||||
object MaxGrps: TEdit
|
||||
Left = 143
|
||||
Height = 20
|
||||
Top = 86
|
||||
Width = 37
|
||||
TabOrder = 7
|
||||
Text = 'MaxGrps'
|
||||
end
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 384
|
||||
Height = 31
|
||||
Top = 25
|
||||
Width = 72
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 5
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 384
|
||||
Height = 31
|
||||
Top = 80
|
||||
Width = 72
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 6
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 384
|
||||
Height = 31
|
||||
Top = 136
|
||||
Width = 72
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 7
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 384
|
||||
Height = 31
|
||||
Top = 192
|
||||
Width = 72
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 8
|
||||
end
|
||||
end
|
142
applications/lazstats/source_orig/hierarchunit.lrs
Normal file
142
applications/lazstats/source_orig/hierarchunit.lrs
Normal file
@ -0,0 +1,142 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('THierarchFrm','FORMDATA',[
|
||||
'TPF0'#12'THierarchFrm'#11'HierarchFrm'#4'Left'#3#172#0#6'Height'#3'T'#1#3'To'
|
||||
+'p'#2'a'#5'Width'#3#208#1#7'Caption'#6#29'Hierarchical Cluster Analysis'#12
|
||||
+'ClientHeight'#3'T'#1#11'ClientWidth'#3#208#1#6'OnShow'#7#8'FormShow'#10'LCL'
|
||||
+'Version'#6#8'0.9.26.2'#0#6'TLabel'#6'Label1'#4'Left'#2#6#6'Height'#2#14#3'T'
|
||||
+'op'#2#6#5'Width'#2'Z'#7'Caption'#6#19'Available Variables'#11'ParentColor'#8
|
||||
+#0#0#6'TLabel'#6'Label2'#4'Left'#3#211#0#6'Height'#2#14#3'Top'#2#7#5'Width'#2
|
||||
+'Z'#7'Caption'#6#19'Predictor Variables'#11'ParentColor'#8#0#0#8'TListBox'#7
|
||||
+'VarList'#4'Left'#2#5#6'Height'#3'2'#1#3'Top'#2#22#5'Width'#3#154#0#11'Multi'
|
||||
+'Select'#9#8'TabOrder'#2#0#0#0#7'TBitBtn'#6'PredIn'#4'Left'#3#168#0#6'Height'
|
||||
+#2' '#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
|
||||
+#9'NumGlyphs'#2#0#7'OnClick'#7#11'PredInClick'#8'TabOrder'#2#1#0#0#7'TBitBtn'
|
||||
+#7'PredOut'#4'Left'#3#168#0#6'Height'#2' '#3'Top'#2'@'#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''
|
||||
+#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
|
||||
+'PredOutClick'#8'TabOrder'#2#2#0#0#8'TListBox'#8'PredList'#4'Left'#3#208#0#6
|
||||
+'Height'#2'y'#3'Top'#2#24#5'Width'#3#160#0#8'TabOrder'#2#3#0#0#9'TGroupBox'#9
|
||||
+'GroupBox1'#4'Left'#3#166#0#6'Height'#3#176#0#3'Top'#3#153#0#5'Width'#3#205#0
|
||||
+#7'Caption'#6#7'Options'#12'ClientHeight'#3#158#0#11'ClientWidth'#3#201#0#8
|
||||
+'TabOrder'#2#4#0#9'TCheckBox'#6'STDChk'#4'Left'#2#8#6'Height'#2#17#3'Top'#2#4
|
||||
+#5'Width'#2'z'#7'Caption'#6#21'Standardize Variables'#8'TabOrder'#2#0#0#0#9
|
||||
+'TCheckBox'#10'ReplaceChk'#4'Left'#2','#6'Height'#2#17#3'Top'#2#23#5'Width'#2
|
||||
+'u'#7'Caption'#6#19'Replace Grid Values'#8'TabOrder'#2#1#0#0#9'TCheckBox'#8
|
||||
+'StatsChk'#4'Left'#2#8#6'Height'#2#17#3'Top'#2','#5'Width'#2'v'#7'Caption'#6
|
||||
+#22'Descriptive Statistics'#8'TabOrder'#2#2#0#0#9'TCheckBox'#7'PlotChk'#4'Le'
|
||||
+'ft'#2#8#6'Height'#2#17#3'Top'#2'C'#5'Width'#3#139#0#7'Caption'#6#25'No. Gro'
|
||||
+'ups vs Errors Plot'#8'TabOrder'#2#3#0#0#9'TCheckBox'#10'MaxGrpsChk'#4'Left'
|
||||
+#2#8#6'Height'#2#17#3'Top'#2'['#5'Width'#2'|'#7'Caption'#6#19'Maximum No. Gr'
|
||||
+'oups:'#8'TabOrder'#2#4#0#0#9'TCheckBox'#10'MembersChk'#4'Left'#2#7#6'Height'
|
||||
+#2#17#3'Top'#2't'#5'Width'#3#133#0#7'Caption'#6#22'Print Group Membership'#8
|
||||
+'TabOrder'#2#5#0#0#9'TCheckBox'#6'VarChk'#4'Left'#2#8#6'Height'#2#17#3'Top'#3
|
||||
+#139#0#5'Width'#3#150#0#7'Caption'#6#28'Cluster Variables, not cases'#8'TabO'
|
||||
,'rder'#2#6#0#0#5'TEdit'#7'MaxGrps'#4'Left'#3#143#0#6'Height'#2#20#3'Top'#2'V'
|
||||
+#5'Width'#2'%'#8'TabOrder'#2#7#4'Text'#6#7'MaxGrps'#0#0#0#7'TButton'#8'Reset'
|
||||
+'Btn'#4'Left'#3#128#1#6'Height'#2#31#3'Top'#2#25#5'Width'#2'H'#7'Caption'#6#5
|
||||
+'Reset'#7'OnClick'#7#13'ResetBtnClick'#8'TabOrder'#2#5#0#0#7'TButton'#9'Canc'
|
||||
+'elBtn'#4'Left'#3#128#1#6'Height'#2#31#3'Top'#2'P'#5'Width'#2'H'#7'Caption'#6
|
||||
+#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#6#0#0#7'TButton'#10'ComputeBtn'
|
||||
+#4'Left'#3#128#1#6'Height'#2#31#3'Top'#3#136#0#5'Width'#2'H'#7'Caption'#6#7
|
||||
+'Compute'#7'OnClick'#7#15'ComputeBtnClick'#8'TabOrder'#2#7#0#0#7'TButton'#9
|
||||
+'ReturnBtn'#4'Left'#3#128#1#6'Height'#2#31#3'Top'#3#192#0#5'Width'#2'H'#7'Ca'
|
||||
+'ption'#6#6'Return'#11'ModalResult'#2#1#8'TabOrder'#2#8#0#0#0
|
||||
]);
|
485
applications/lazstats/source_orig/hierarchunit.pas
Normal file
485
applications/lazstats/source_orig/hierarchunit.pas
Normal file
@ -0,0 +1,485 @@
|
||||
unit HierarchUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Buttons, MainUnit, OutPutUnit, FunctionsLib, GraphLib,
|
||||
Globals, MatrixLib, DataProcs, Math;
|
||||
|
||||
type
|
||||
|
||||
{ THierarchFrm }
|
||||
|
||||
THierarchFrm = class(TForm)
|
||||
ResetBtn: TButton;
|
||||
CancelBtn: TButton;
|
||||
ComputeBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
MaxGrps: TEdit;
|
||||
STDChk: TCheckBox;
|
||||
ReplaceChk: TCheckBox;
|
||||
StatsChk: TCheckBox;
|
||||
PlotChk: TCheckBox;
|
||||
MaxGrpsChk: TCheckBox;
|
||||
MembersChk: TCheckBox;
|
||||
VarChk: TCheckBox;
|
||||
GroupBox1: TGroupBox;
|
||||
PredIn: TBitBtn;
|
||||
PredOut: TBitBtn;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
PredList: TListBox;
|
||||
VarList: TListBox;
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure PredInClick(Sender: TObject);
|
||||
procedure PredOutClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
HierarchFrm: THierarchFrm;
|
||||
|
||||
implementation
|
||||
|
||||
{ THierarchFrm }
|
||||
|
||||
procedure THierarchFrm.ResetBtnClick(Sender: TObject);
|
||||
VAR i : integer;
|
||||
begin
|
||||
VarList.Clear;
|
||||
PredList.Clear;
|
||||
PredOut.Visible := false;
|
||||
PredIn.Visible := true;
|
||||
StdChk.Checked := false;
|
||||
ReplaceChk.Checked := false;
|
||||
StatsChk.Checked := false;
|
||||
PlotChk.Checked := false;
|
||||
MaxGrpsChk.Checked := false;
|
||||
VarChk.Checked := false;
|
||||
MaxGrps.Text := '';
|
||||
for i := 1 to NoVariables do
|
||||
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
|
||||
end;
|
||||
|
||||
procedure THierarchFrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
ResetBtnClick(self);
|
||||
end;
|
||||
|
||||
procedure THierarchFrm.ComputeBtnClick(Sender: TObject);
|
||||
label next1;
|
||||
var
|
||||
varlabels, rowlabels : StrDyneVec;
|
||||
outline, cellstring : string;
|
||||
i, j, k, k1, k3, L, w3, n3, n4, n5, M, col, count: integer;
|
||||
GrpCnt, Nrows, Ncols, NoSelected, linecount : integer;
|
||||
w2, k4, k5, L1 : IntDyneVec;
|
||||
ColSelected : IntDyneVec;
|
||||
X, Y, d1, x1, MaxError : double;
|
||||
W, XAxis, YAxis, means, variances, stddevs : DblDyneVec;
|
||||
Distance : DblDyneMat;
|
||||
begin
|
||||
MaxError := 0.0;
|
||||
GrpCnt := 0;
|
||||
NoSelected := PredList.Items.Count;
|
||||
if VarChk.Checked = false then
|
||||
begin
|
||||
SetLength(w2,NoCases);
|
||||
SetLength(k4,NoCases);
|
||||
SetLength(k5,NoCases);
|
||||
SetLength(L1,NoCases);
|
||||
SetLength(W,NoSelected);
|
||||
SetLength(XAxis,NoCases);
|
||||
SetLength(YAxis,NoCases);
|
||||
SetLength(means,NoSelected);
|
||||
SetLength(variances,NoSelected);
|
||||
SetLength(stddevs,NoSelected);
|
||||
SetLength(Distance,NoCases,NoCases);
|
||||
SetLength(varlabels,NoSelected);
|
||||
SetLength(rowlabels,NoCases);
|
||||
SetLength(ColSelected,NoSelected);
|
||||
Ncols := NoSelected;
|
||||
Nrows := NoCases;
|
||||
for i := 0 to Ncols - 1 do
|
||||
begin
|
||||
cellstring := PredList.Items.Strings[i];
|
||||
for j := 1 to NoVariables do
|
||||
begin
|
||||
if (cellstring = OS3MainFrm.DataGrid.Cells[j,0]) then
|
||||
begin
|
||||
varlabels[i] := cellstring;
|
||||
ColSelected[i] := j;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
for i := 0 to NoCases-1 do rowlabels[i] := IntToStr(i);
|
||||
end
|
||||
else begin
|
||||
SetLength(w2,NoSelected);
|
||||
SetLength(k4,NoSelected);
|
||||
SetLength(k5,NoSelected);
|
||||
SetLength(L1,NoSelected);
|
||||
SetLength(W,NoCases);
|
||||
SetLength(XAxis,NoSelected);
|
||||
SetLength(YAxis,NoSelected);
|
||||
SetLength(means,NoCases);
|
||||
SetLength(variances,NoCases);
|
||||
SetLength(stddevs,NoCases);
|
||||
SetLength(Distance,NoSelected,NoCases);
|
||||
SetLength(varlabels,NoCases);
|
||||
SetLength(rowlabels,NoSelected);
|
||||
SetLength(ColSelected,NoSelected);
|
||||
Ncols := NoCases;
|
||||
Nrows := NoSelected;
|
||||
//Get labels of selected variables
|
||||
for i := 0 to Nrows - 1 do
|
||||
begin
|
||||
cellstring := PredList.Items.Strings[i];
|
||||
for j := 1 to NoVariables do
|
||||
begin
|
||||
if (cellstring = OS3MainFrm.DataGrid.Cells[j,0]) then
|
||||
begin
|
||||
ColSelected[i] := j;
|
||||
rowlabels[i] := cellstring;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
for i := 0 to NoCases-1 do varlabels[i] := IntToStr(i);
|
||||
end;
|
||||
if MembersChk.Checked then k3 := 1 else k3 := 0;
|
||||
|
||||
for j := 0 to Ncols-1 do
|
||||
begin
|
||||
means[j] := 0.0;
|
||||
variances[j] := 0.0;
|
||||
stddevs[j] := 0.0;
|
||||
end;
|
||||
|
||||
if VarChk.Checked = false then
|
||||
begin
|
||||
// Get labels of rows
|
||||
// for i := 1 to Nrows do rowlabels[i-1] := MainFrm.Grid.Cells[0,i];
|
||||
|
||||
// Get data into the distance matrix
|
||||
count := 0;
|
||||
for i := 1 to Nrows do
|
||||
begin
|
||||
if (not GoodRecord(i,NoSelected,ColSelected)) then continue;
|
||||
count := count + 1;
|
||||
for j := 1 to Ncols do
|
||||
begin
|
||||
col := ColSelected[j-1];
|
||||
X := StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[col,i]));
|
||||
means[j-1] := means[j-1] + X;
|
||||
variances[j-1] := variances[j-1] + (X * X);
|
||||
Distance[i-1,j-1] := X;
|
||||
end;
|
||||
end;
|
||||
end
|
||||
else begin // cluster variables
|
||||
// Get labels of columns
|
||||
// for i := 1 to Nrows do rowlabels[i-1] := MainFrm.Grid.Cells[i,0];
|
||||
|
||||
// Get data into the distance matrix
|
||||
count := 0;
|
||||
for i := 1 to Nrows do // actually grid column in this case
|
||||
begin
|
||||
// if (not GoodRecord(i,NoSelected,ColSelected)) then continue;
|
||||
count := count + 1;
|
||||
for j := 1 to Ncols do // actually grid rows in this case
|
||||
begin
|
||||
// if (not GoodRecord(j,NoSelected,ColSelected)) then continue;
|
||||
col := ColSelected[i-1];
|
||||
X := StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[col,j]));
|
||||
means[j-1] := means[j-1] + X;
|
||||
variances[j-1] := variances[j-1] + (X * X);
|
||||
Distance[i-1,j-1] := X;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
// Calculate means and standard deviations of variables
|
||||
for j := 0 to Ncols-1 do
|
||||
begin
|
||||
variances[j] := variances[j] - (means[j] * means[j] / count);
|
||||
variances[j] := variances[j] / (count - 1);
|
||||
stddevs[j] := sqrt(variances[j]);
|
||||
means[j] := means[j] / count;
|
||||
end;
|
||||
|
||||
// Ready the output form
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
OutPutFrm.RichEdit.Lines.Add('Hierarchical Cluster Analysis');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
outline := format('Number of objects to cluster := %d on %d variables.',
|
||||
[Nrows, Ncols]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
linecount := 3;
|
||||
if (StatsChk.Checked) then
|
||||
begin
|
||||
DynVectorPrint(means,Ncols,'Variable Means',varlabels,count);
|
||||
DynVectorPrint(variances,Ncols,'Variable Variances',varlabels,count);
|
||||
DynVectorPrint(stddevs,Ncols,'Variable Standard Deviations',varlabels,count);
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
linecount := 0;
|
||||
end;
|
||||
|
||||
// Standardize the distance scores if elected
|
||||
if (StdChk.Checked) then
|
||||
begin
|
||||
for j := 0 to Ncols-1 do
|
||||
for i := 0 to Nrows-1 do
|
||||
Distance[i,j] := (Distance[i,j] - means[j]) / stddevs[j];
|
||||
end;
|
||||
|
||||
if (ReplaceChk.Checked) then // replace original values in grid with z scores if elected
|
||||
begin
|
||||
for i := 1 to Nrows do
|
||||
begin
|
||||
if (not GoodRecord(i,NoSelected,ColSelected)) then continue;
|
||||
for j := 1 to Ncols do
|
||||
begin
|
||||
col := ColSelected[j-1];
|
||||
outline := format('%6.4f',[Distance[i-1,j-1]]);
|
||||
OS3MainFrm.DataGrid.Cells[col,i] := outline;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
// Convert data matrix to initial matrix of error potentials
|
||||
for i := 1 to Nrows do
|
||||
begin
|
||||
// if (not GoodRecord(i,NoSelected,ColSelected)) then continue;
|
||||
for j := 1 to Ncols do W[j-1] := Distance[i-1,j-1];
|
||||
for j := i to Nrows do
|
||||
begin
|
||||
// if (not GoodRecord(i,NoSelected,ColSelected)) then continue;
|
||||
Distance[i-1,j-1] := 0.0;
|
||||
for k := 1 to Ncols do Distance[i-1,j-1] := Distance[i-1,j-1] +
|
||||
(Distance[j-1,k-1] - W[k-1]) * (Distance[j-1,k-1] - W[k-1]);
|
||||
Distance[i-1,j-1] := Distance[i-1,j-1] / 2.0;
|
||||
end;
|
||||
end;
|
||||
for i := 1 to Nrows do
|
||||
for j := i to Nrows do Distance[j-1,i-1] := 0.0;
|
||||
|
||||
// Now, group the cases for maximum groups down
|
||||
if MaxGrpsChk.Checked then
|
||||
begin
|
||||
k1 := StrToInt(MaxGrps.Text);
|
||||
n3 := Nrows;
|
||||
end
|
||||
else begin
|
||||
k1 := 2;
|
||||
n3 := Nrows;
|
||||
end;
|
||||
|
||||
// Initialize group membership and group-n vectors
|
||||
for i := 0 to Nrows-1 do
|
||||
begin
|
||||
k4[i] := i+1;
|
||||
k5[i] := i+1;
|
||||
w2[i] := 1;
|
||||
end;
|
||||
|
||||
// Locate optimal combination, if more than 2 groups remain
|
||||
next1:
|
||||
n3 := n3 - 1;
|
||||
if (n3 > 1) then
|
||||
begin
|
||||
x1 := 100000000000.0;
|
||||
for i := 1 to Nrows do
|
||||
begin
|
||||
if (k5[i-1] = i) then
|
||||
begin
|
||||
for j := i to Nrows do
|
||||
begin
|
||||
if ((i <> j) and (k5[j-1] = j)) then
|
||||
begin
|
||||
d1 := Distance[i-1,j-1] - Distance[i-1,i-1] - Distance[j-1,j-1];
|
||||
if (d1 < x1) then
|
||||
begin
|
||||
x1 := d1;
|
||||
L := i;
|
||||
M := j;
|
||||
end; // end if
|
||||
end; // end if
|
||||
end; // next j
|
||||
end; // end if
|
||||
end; // next i
|
||||
n4 := w2[L-1];
|
||||
n5 := w2[M-1];
|
||||
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
linecount := linecount + 1;
|
||||
GrpCnt := GrpCnt + 1;
|
||||
XAxis[GrpCnt-1] := n3;
|
||||
YAxis[GrpCnt-1] := x1;
|
||||
if (x1 > MaxError) then MaxError := x1;
|
||||
outline := format('%d groups after combining group %d (n := %d ) and group %d (n := %d) error := %7.3f',
|
||||
[n3, L, n4, M, n5, x1]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
linecount := linecount + 1;
|
||||
if (linecount >= 60) then
|
||||
begin
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
linecount := 0;
|
||||
end;
|
||||
w3 := w2[L-1] + w2[M-1];
|
||||
x1 := Distance[L-1,M-1] * w3;
|
||||
Y := Distance[L-1,L-1] * w2[L-1] + Distance[M-1,M-1] * w2[M-1];
|
||||
Distance[L-1,L-1] := Distance[L-1,M-1];
|
||||
for i := 1 to Nrows do
|
||||
if (k5[i-1] = M) then k5[i-1] := L;
|
||||
for i := 1 to Nrows do
|
||||
begin
|
||||
if ((i <> L) and (k5[i-1] = i)) then
|
||||
begin
|
||||
if (i <= L) then
|
||||
begin
|
||||
Distance[i-1,L-1] := Distance[i-1,L-1] * (w2[i-1] + w2[L-1])
|
||||
+ Distance[i-1,M-1] * (w2[i-1] + w2[M-1])
|
||||
+ x1 - Y - Distance[i-1,i-1] * w2[i-1];
|
||||
Distance[i-1,L-1] := Distance[i-1,L-1] / (w2[i-1] + w3);
|
||||
end
|
||||
else
|
||||
begin
|
||||
Distance[L-1,i-1] := Distance[L-1,i-1] * (w2[L-1] + w2[i-1])
|
||||
+ (Distance[M-1,i-1] + Distance[i-1,M-1]) * (w2[M-1] + w2[i-1]);
|
||||
Distance[L-1,i-1] := (Distance[L-1,i-1]+ x1 - Y
|
||||
- Distance[i-1,i-1] * w2[i-1]) / (w2[i-1] + w3);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
w2[L-1] := w3;
|
||||
if (n3 > k1) then goto next1;
|
||||
|
||||
// print group memberships of all objects, if optioned
|
||||
for i := 1 to Nrows do
|
||||
begin
|
||||
if (k5[i-1] = i) then
|
||||
begin
|
||||
L := 0;
|
||||
for j := 1 to Nrows do
|
||||
begin
|
||||
if (k5[j-1] = i) then
|
||||
begin
|
||||
L := L + 1;
|
||||
L1[L-1] := k4[j-1];
|
||||
if k3 = 1 then L1[L-1] := j;
|
||||
end;
|
||||
end;
|
||||
if k3 = 1 then
|
||||
begin
|
||||
outline := format('Group %d (n := %d)',[i,L]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := '';
|
||||
for j := 1 to L do
|
||||
begin
|
||||
outline := format(' Object := %s',[rowlabels[L1[j-1]-1]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
linecount := linecount + 1;
|
||||
end;
|
||||
if (linecount >= 60) then
|
||||
begin
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
linecount := 0;
|
||||
end;
|
||||
end; // end if
|
||||
end; // end if
|
||||
end; // next i
|
||||
goto next1;
|
||||
end; // end if
|
||||
if (linecount > 0) then OutPutFrm.ShowModal;
|
||||
|
||||
if (PlotChk.Checked) then
|
||||
begin
|
||||
SetLength(GraphFrm.Ypoints,1,GrpCnt);
|
||||
SetLength(GraphFrm.Xpoints,1,GrpCnt);
|
||||
for i := 1 to GrpCnt do
|
||||
begin
|
||||
GraphFrm.Ypoints[0,i-1] := YAxis[i-1];
|
||||
GraphFrm.Xpoints[0,i-1] := XAxis[i-1];
|
||||
end;
|
||||
GraphFrm.nosets := 1;
|
||||
GraphFrm.nbars := GrpCnt;
|
||||
GraphFrm.Heading := 'NO. GROUPS VERSUS GROUPING ERROR';
|
||||
GraphFrm.XTitle := 'NO. GROUPS';
|
||||
GraphFrm.YTitle := 'ERROR';
|
||||
// GraphFrm.Ypoints[1] := YAxis;
|
||||
// GraphFrm.Xpoints[1] := XAxis;
|
||||
GraphFrm.AutoScale := true;
|
||||
GraphFrm.PtLabels := false;
|
||||
GraphFrm.GraphType := 7; // 2d points
|
||||
GraphFrm.BackColor := clYellow;
|
||||
GraphFrm.ShowBackWall := true;
|
||||
GraphFrm.ShowModal;
|
||||
end;
|
||||
|
||||
// clean up
|
||||
ColSelected := nil;
|
||||
rowlabels := nil;
|
||||
varlabels := nil;
|
||||
Distance := nil;
|
||||
stddevs := nil;
|
||||
variances := nil;
|
||||
means := nil;
|
||||
YAxis := nil;
|
||||
XAxis := nil;
|
||||
W := nil;
|
||||
L1 := nil;
|
||||
k5 := nil;
|
||||
k4 := nil;
|
||||
w2 := nil;
|
||||
GraphFrm.Xpoints := nil;
|
||||
GraphFrm.Ypoints := nil;
|
||||
end;
|
||||
|
||||
procedure THierarchFrm.PredInClick(Sender: TObject);
|
||||
VAR i, index : integer;
|
||||
begin
|
||||
index := VarList.Items.Count;
|
||||
i := 0;
|
||||
while i < index do
|
||||
begin
|
||||
if (VarList.Selected[i]) then
|
||||
begin
|
||||
PredList.Items.Add(VarList.Items.Strings[i]);
|
||||
VarList.Items.Delete(i);
|
||||
index := index - 1;
|
||||
i := 0;
|
||||
end
|
||||
else i := i + 1;
|
||||
end;
|
||||
PredOut.Visible := true;
|
||||
end;
|
||||
|
||||
procedure THierarchFrm.PredOutClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := PredList.ItemIndex;
|
||||
if index < 0 then
|
||||
begin
|
||||
PredOut.Visible := false;
|
||||
exit;
|
||||
end;
|
||||
VarList.Items.Add(PredList.Items.Strings[index]);
|
||||
PredList.Items.Delete(index);
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I hierarchunit.lrs}
|
||||
|
||||
end.
|
||||
|
182
applications/lazstats/source_orig/hypergeounit.lfm
Normal file
182
applications/lazstats/source_orig/hypergeounit.lfm
Normal file
@ -0,0 +1,182 @@
|
||||
object HyperGeoForm: THyperGeoForm
|
||||
Left = 288
|
||||
Height = 403
|
||||
Top = 161
|
||||
Width = 320
|
||||
Caption = 'Hypergeometric Probabilities'
|
||||
ClientHeight = 403
|
||||
ClientWidth = 320
|
||||
OnShow = ResetBtnClick
|
||||
LCLVersion = '0.9.30'
|
||||
object Label1: TLabel
|
||||
Left = 7
|
||||
Height = 16
|
||||
Top = 20
|
||||
Width = 69
|
||||
Caption = 'Sample Size: '
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 10
|
||||
Height = 16
|
||||
Top = 55
|
||||
Width = 153
|
||||
Caption = 'Number observed in sample:'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label3: TLabel
|
||||
Left = 9
|
||||
Height = 16
|
||||
Top = 88
|
||||
Width = 85
|
||||
Caption = 'Population Size:'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label4: TLabel
|
||||
Left = 7
|
||||
Height = 16
|
||||
Top = 123
|
||||
Width = 173
|
||||
Caption = 'Number observed in population:'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label5: TLabel
|
||||
Left = 7
|
||||
Height = 16
|
||||
Top = 163
|
||||
Width = 85
|
||||
Caption = 'Probability of X:'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label6: TLabel
|
||||
Left = 8
|
||||
Height = 16
|
||||
Top = 201
|
||||
Width = 138
|
||||
Caption = 'Probability greater than X:'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label7: TLabel
|
||||
Left = 8
|
||||
Height = 16
|
||||
Top = 238
|
||||
Width = 153
|
||||
Caption = 'Probability less or equal to X:'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label8: TLabel
|
||||
Left = 9
|
||||
Height = 16
|
||||
Top = 275
|
||||
Width = 171
|
||||
Caption = 'Probability greater or equal to X:'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label9: TLabel
|
||||
Left = 7
|
||||
Height = 16
|
||||
Top = 313
|
||||
Width = 120
|
||||
Caption = 'Probability less than X:'
|
||||
ParentColor = False
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 7
|
||||
Height = 31
|
||||
Top = 346
|
||||
Width = 76
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 112
|
||||
Height = 31
|
||||
Top = 344
|
||||
Width = 76
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 216
|
||||
Height = 31
|
||||
Top = 344
|
||||
Width = 76
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 2
|
||||
end
|
||||
object SampSizeEdit: TEdit
|
||||
Left = 208
|
||||
Height = 23
|
||||
Top = 12
|
||||
Width = 76
|
||||
TabOrder = 3
|
||||
Text = 'SampSizeEdit'
|
||||
end
|
||||
object SampObsEdit: TEdit
|
||||
Left = 208
|
||||
Height = 23
|
||||
Top = 48
|
||||
Width = 76
|
||||
TabOrder = 4
|
||||
Text = 'Edit1'
|
||||
end
|
||||
object PopSizeEdit: TEdit
|
||||
Left = 208
|
||||
Height = 23
|
||||
Top = 80
|
||||
Width = 76
|
||||
TabOrder = 5
|
||||
Text = 'Edit1'
|
||||
end
|
||||
object PopObsEdit: TEdit
|
||||
Left = 208
|
||||
Height = 23
|
||||
Top = 112
|
||||
Width = 76
|
||||
TabOrder = 6
|
||||
Text = 'Edit1'
|
||||
end
|
||||
object ProbXEdit: TEdit
|
||||
Left = 208
|
||||
Height = 23
|
||||
Top = 152
|
||||
Width = 76
|
||||
TabOrder = 7
|
||||
Text = 'Edit1'
|
||||
end
|
||||
object ProbGTEdit: TEdit
|
||||
Left = 208
|
||||
Height = 23
|
||||
Top = 192
|
||||
Width = 76
|
||||
TabOrder = 8
|
||||
Text = 'Edit1'
|
||||
end
|
||||
object ProbLEEdit: TEdit
|
||||
Left = 208
|
||||
Height = 23
|
||||
Top = 231
|
||||
Width = 76
|
||||
TabOrder = 9
|
||||
Text = 'Edit1'
|
||||
end
|
||||
object ProbGEEdit: TEdit
|
||||
Left = 208
|
||||
Height = 23
|
||||
Top = 268
|
||||
Width = 76
|
||||
TabOrder = 10
|
||||
Text = 'Edit1'
|
||||
end
|
||||
object ProbLTEdit: TEdit
|
||||
Left = 208
|
||||
Height = 23
|
||||
Top = 306
|
||||
Width = 76
|
||||
TabOrder = 11
|
||||
Text = 'Edit1'
|
||||
end
|
||||
end
|
45
applications/lazstats/source_orig/hypergeounit.lrs
Normal file
45
applications/lazstats/source_orig/hypergeounit.lrs
Normal file
@ -0,0 +1,45 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('THyperGeoForm','FORMDATA',[
|
||||
'TPF0'#13'THyperGeoForm'#12'HyperGeoForm'#4'Left'#3' '#1#6'Height'#3#147#1#3
|
||||
+'Top'#3#161#0#5'Width'#3'@'#1#7'Caption'#6#28'Hypergeometric Probabilities'
|
||||
+#12'ClientHeight'#3#147#1#11'ClientWidth'#3'@'#1#6'OnShow'#7#13'ResetBtnClic'
|
||||
+'k'#10'LCLVersion'#6#6'0.9.30'#0#6'TLabel'#6'Label1'#4'Left'#2#7#6'Height'#2
|
||||
+#16#3'Top'#2#20#5'Width'#2'E'#7'Caption'#6#13'Sample Size: '#11'ParentColor'
|
||||
+#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#10#6'Height'#2#16#3'Top'#2'7'#5'Width'#3
|
||||
+#153#0#7'Caption'#6#26'Number observed in sample:'#11'ParentColor'#8#0#0#6'T'
|
||||
+'Label'#6'Label3'#4'Left'#2#9#6'Height'#2#16#3'Top'#2'X'#5'Width'#2'U'#7'Cap'
|
||||
+'tion'#6#16'Population Size:'#11'ParentColor'#8#0#0#6'TLabel'#6'Label4'#4'Le'
|
||||
+'ft'#2#7#6'Height'#2#16#3'Top'#2'{'#5'Width'#3#173#0#7'Caption'#6#30'Number '
|
||||
+'observed in population:'#11'ParentColor'#8#0#0#6'TLabel'#6'Label5'#4'Left'#2
|
||||
+#7#6'Height'#2#16#3'Top'#3#163#0#5'Width'#2'U'#7'Caption'#6#17'Probability o'
|
||||
+'f X:'#11'ParentColor'#8#0#0#6'TLabel'#6'Label6'#4'Left'#2#8#6'Height'#2#16#3
|
||||
+'Top'#3#201#0#5'Width'#3#138#0#7'Caption'#6#27'Probability greater than X:'
|
||||
+#11'ParentColor'#8#0#0#6'TLabel'#6'Label7'#4'Left'#2#8#6'Height'#2#16#3'Top'
|
||||
+#3#238#0#5'Width'#3#153#0#7'Caption'#6#31'Probability less or equal to X:'#11
|
||||
+'ParentColor'#8#0#0#6'TLabel'#6'Label8'#4'Left'#2#9#6'Height'#2#16#3'Top'#3
|
||||
+#19#1#5'Width'#3#171#0#7'Caption'#6'"Probability greater or equal to X:'#11
|
||||
+'ParentColor'#8#0#0#6'TLabel'#6'Label9'#4'Left'#2#7#6'Height'#2#16#3'Top'#3
|
||||
+'9'#1#5'Width'#2'x'#7'Caption'#6#24'Probability less than X:'#11'ParentColor'
|
||||
+#8#0#0#7'TButton'#8'ResetBtn'#4'Left'#2#7#6'Height'#2#31#3'Top'#3'Z'#1#5'Wid'
|
||||
+'th'#2'L'#7'Caption'#6#5'Reset'#7'OnClick'#7#13'ResetBtnClick'#8'TabOrder'#2
|
||||
+#0#0#0#7'TButton'#10'ComputeBtn'#4'Left'#2'p'#6'Height'#2#31#3'Top'#3'X'#1#5
|
||||
+'Width'#2'L'#7'Caption'#6#7'Compute'#7'OnClick'#7#15'ComputeBtnClick'#8'TabO'
|
||||
+'rder'#2#1#0#0#7'TButton'#9'ReturnBtn'#4'Left'#3#216#0#6'Height'#2#31#3'Top'
|
||||
+#3'X'#1#5'Width'#2'L'#7'Caption'#6#6'Return'#11'ModalResult'#2#1#8'TabOrder'
|
||||
+#2#2#0#0#5'TEdit'#12'SampSizeEdit'#4'Left'#3#208#0#6'Height'#2#23#3'Top'#2#12
|
||||
+#5'Width'#2'L'#8'TabOrder'#2#3#4'Text'#6#12'SampSizeEdit'#0#0#5'TEdit'#11'Sa'
|
||||
+'mpObsEdit'#4'Left'#3#208#0#6'Height'#2#23#3'Top'#2'0'#5'Width'#2'L'#8'TabOr'
|
||||
+'der'#2#4#4'Text'#6#5'Edit1'#0#0#5'TEdit'#11'PopSizeEdit'#4'Left'#3#208#0#6
|
||||
+'Height'#2#23#3'Top'#2'P'#5'Width'#2'L'#8'TabOrder'#2#5#4'Text'#6#5'Edit1'#0
|
||||
+#0#5'TEdit'#10'PopObsEdit'#4'Left'#3#208#0#6'Height'#2#23#3'Top'#2'p'#5'Widt'
|
||||
+'h'#2'L'#8'TabOrder'#2#6#4'Text'#6#5'Edit1'#0#0#5'TEdit'#9'ProbXEdit'#4'Left'
|
||||
+#3#208#0#6'Height'#2#23#3'Top'#3#152#0#5'Width'#2'L'#8'TabOrder'#2#7#4'Text'
|
||||
+#6#5'Edit1'#0#0#5'TEdit'#10'ProbGTEdit'#4'Left'#3#208#0#6'Height'#2#23#3'Top'
|
||||
+#3#192#0#5'Width'#2'L'#8'TabOrder'#2#8#4'Text'#6#5'Edit1'#0#0#5'TEdit'#10'Pr'
|
||||
+'obLEEdit'#4'Left'#3#208#0#6'Height'#2#23#3'Top'#3#231#0#5'Width'#2'L'#8'Tab'
|
||||
+'Order'#2#9#4'Text'#6#5'Edit1'#0#0#5'TEdit'#10'ProbGEEdit'#4'Left'#3#208#0#6
|
||||
+'Height'#2#23#3'Top'#3#12#1#5'Width'#2'L'#8'TabOrder'#2#10#4'Text'#6#5'Edit1'
|
||||
+#0#0#5'TEdit'#10'ProbLTEdit'#4'Left'#3#208#0#6'Height'#2#23#3'Top'#3'2'#1#5
|
||||
+'Width'#2'L'#8'TabOrder'#2#11#4'Text'#6#5'Edit1'#0#0#0
|
||||
]);
|
181
applications/lazstats/source_orig/hypergeounit.pas
Normal file
181
applications/lazstats/source_orig/hypergeounit.pas
Normal file
@ -0,0 +1,181 @@
|
||||
unit HyperGeoUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, functionsLib, OutPutUnit;
|
||||
|
||||
type
|
||||
|
||||
{ THyperGeoForm }
|
||||
|
||||
THyperGeoForm = class(TForm)
|
||||
ResetBtn: TButton;
|
||||
ComputeBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
SampSizeEdit: TEdit;
|
||||
SampObsEdit: TEdit;
|
||||
PopSizeEdit: TEdit;
|
||||
PopObsEdit: TEdit;
|
||||
ProbXEdit: TEdit;
|
||||
ProbGTEdit: TEdit;
|
||||
ProbLEEdit: TEdit;
|
||||
ProbGEEdit: TEdit;
|
||||
ProbLTEdit: TEdit;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
Label3: TLabel;
|
||||
Label4: TLabel;
|
||||
Label5: TLabel;
|
||||
Label6: TLabel;
|
||||
Label7: TLabel;
|
||||
Label8: TLabel;
|
||||
Label9: TLabel;
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
procedure FisherTable(A,B,C,D, p, SumP : double);
|
||||
private
|
||||
{ private declarations }
|
||||
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
HyperGeoForm: THyperGeoForm;
|
||||
|
||||
implementation
|
||||
|
||||
{ THyperGeoForm }
|
||||
|
||||
procedure THyperGeoForm.ResetBtnClick(Sender: TObject);
|
||||
begin
|
||||
SampSizeEdit.Text := '';
|
||||
SampObsEdit.Text := '';
|
||||
PopSizeEdit.Text := '';
|
||||
PopObsEdit.Text := '';
|
||||
ProbXEdit.Text := '';
|
||||
ProbGEEdit.Text := '';
|
||||
ProbLTEdit.Text := '';
|
||||
ProbLEEdit.Text := '';
|
||||
ProbGTEdit.Text := '';
|
||||
label5.Visible := false;
|
||||
label6.Visible := false;
|
||||
label7.Visible := false;
|
||||
label8.Visible := false;
|
||||
label9.Visible := false;
|
||||
ProbXEdit.Visible := false;
|
||||
ProbGEEdit.Visible := false;
|
||||
ProbLTEdit.Visible := false;
|
||||
ProbLEEdit.Visible := false;
|
||||
ProbGTEdit.Visible := false;
|
||||
end;
|
||||
|
||||
procedure THyperGeoForm.ComputeBtnClick(Sender: TObject);
|
||||
VAR
|
||||
SampObs, PopObs, SampSize, PopSize, N : double;
|
||||
A, B, C, D, APlusC, BPlusD, APlusB, CPlusD : double;
|
||||
largest : integer;
|
||||
ProbX, Prob, SumProb, ProbGE, ProbGT, ProbLT, ProbLE : double;
|
||||
done : boolean;
|
||||
outvalue : string;
|
||||
begin
|
||||
done := false;
|
||||
SumProb := 0.0;
|
||||
label5.Visible := true;
|
||||
label6.Visible := true;
|
||||
label7.Visible := true;
|
||||
label8.Visible := true;
|
||||
label9.Visible := true;
|
||||
ProbXEdit.Visible := true;
|
||||
ProbGEEdit.Visible := true;
|
||||
ProbLTEdit.Visible := true;
|
||||
ProbLEEdit.Visible := true;
|
||||
ProbGTEdit.Visible := true;
|
||||
SampObs := StrToFloat(SampObsEdit.Text);
|
||||
PopObs := StrToFloat(PopObsEdit.Text);
|
||||
SampSize := StrToFloat(SampSizeEdit.Text);
|
||||
PopSize := StrToFloat(PopSizeEdit.Text);
|
||||
A := SampObs;
|
||||
B := SampSize - A;
|
||||
C := PopObs;
|
||||
D := PopSize - C;
|
||||
APlusC := A + C;
|
||||
BPlusD := B + D;
|
||||
APlusB := A + B;
|
||||
CPlusD := C + D;
|
||||
N := A + B + C + D;
|
||||
|
||||
// largest := 1;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
OutPutFrm.RichEdit.Lines.Add('Hypergeometric Distribution Calculations');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Accumulating Values of the distribution');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
ProbX := combos(A,C) * combos(B,D) / combos(APlusB,CPlusD);
|
||||
outvalue := format('%6.4f',[ProbX]);
|
||||
ProbXEdit.Text := outvalue;
|
||||
SumProb := SumProb + ProbX;
|
||||
FisherTable(A,B,C,D,ProbX,SumProb);
|
||||
|
||||
// get more extreme probabilities
|
||||
while not done do
|
||||
begin
|
||||
if A = APlusB then done := true
|
||||
else begin
|
||||
A := A + 1;
|
||||
B := B - 1;
|
||||
if (A < 0) or (B < 0) or (C < 0) or (D < 0) then done := true;
|
||||
end;
|
||||
if not done then
|
||||
begin
|
||||
Prob := combos(A,C) * combos(B,D) / combos(APlusB,CPlusD);
|
||||
SumProb := SumProb + Prob;
|
||||
FisherTable(A,B,C,D,Prob,SumProb);
|
||||
end;
|
||||
end; // end while not done
|
||||
OutPutFrm.ShowModal;
|
||||
ProbGE := SumProb;
|
||||
ProbGT := SumProb - ProbX;
|
||||
ProbLT := 1.0 - ProbGE;
|
||||
ProbLE := ProbLT + ProbX;
|
||||
outvalue := format('%6.4f',[ProbGE]);
|
||||
ProbGEEdit.Text := outvalue;
|
||||
outvalue := format('%6.4f',[ProbLE]);
|
||||
ProbLEEdit.Text := outvalue;
|
||||
outvalue := format('%6.4f',[ProbGT]);
|
||||
ProbGTEdit.Text := outvalue;
|
||||
outvalue := format('%6.4f',[ProbLT]);
|
||||
ProbLTEdit.Text := outvalue;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
|
||||
end;
|
||||
|
||||
procedure THyperGeoForm.FisherTable(A,B,C,D, p, SumP : double);
|
||||
VAR
|
||||
outline : string;
|
||||
begin
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Table for Hypergeometric Probabilities');
|
||||
OutPutFrm.RichEdit.Lines.Add(' Column');
|
||||
OutPutFrm.RichEdit.Lines.Add('Row 1 2');
|
||||
outline := format(' 1 %10.0f %10.0f',[A,B]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format(' 2 %10.0f %10.0f',[C,D]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Probability = %6.4f',[p]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
outline := format('Cumulative Probability = %6.4f',[SumP]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I hypergeounit.lrs}
|
||||
|
||||
end.
|
||||
|
291
applications/lazstats/source_orig/interruptedunit.lfm
Normal file
291
applications/lazstats/source_orig/interruptedunit.lfm
Normal file
@ -0,0 +1,291 @@
|
||||
object InterruptedFrm: TInterruptedFrm
|
||||
Left = 66
|
||||
Height = 337
|
||||
Top = 66
|
||||
Width = 537
|
||||
Align = alCustom
|
||||
AutoSize = True
|
||||
BorderIcons = [biSystemMenu]
|
||||
BorderStyle = bsDialog
|
||||
Caption = 'Interrupted Time Series Analysis'
|
||||
ClientHeight = 337
|
||||
ClientWidth = 537
|
||||
OnShow = FormShow
|
||||
Position = poDefault
|
||||
LCLVersion = '0.9.28.2'
|
||||
object Label1: TLabel
|
||||
Left = 2
|
||||
Height = 14
|
||||
Top = 0
|
||||
Width = 90
|
||||
Caption = 'Available Variables'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 250
|
||||
Height = 14
|
||||
Top = 2
|
||||
Width = 138
|
||||
Caption = 'Pre-Treatment Observations'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label3: TLabel
|
||||
Left = 250
|
||||
Height = 14
|
||||
Top = 153
|
||||
Width = 143
|
||||
Caption = 'Post-Treatment Observations'
|
||||
ParentColor = False
|
||||
end
|
||||
object VarList: TListBox
|
||||
Left = 0
|
||||
Height = 271
|
||||
Top = 23
|
||||
Width = 188
|
||||
ItemHeight = 0
|
||||
MultiSelect = True
|
||||
TabOrder = 0
|
||||
end
|
||||
object PreInBtn: TBitBtn
|
||||
Left = 194
|
||||
Height = 29
|
||||
Top = 23
|
||||
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 = PreInBtnClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object PreOutBtn: TBitBtn
|
||||
Left = 194
|
||||
Height = 29
|
||||
Top = 64
|
||||
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 = PreOutBtnClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object PostInBtn: TBitBtn
|
||||
Left = 194
|
||||
Height = 29
|
||||
Top = 169
|
||||
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 = PostInBtnClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object PostOutBtn: TBitBtn
|
||||
Left = 194
|
||||
Height = 29
|
||||
Top = 208
|
||||
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 = PostOutBtnClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object PreList: TListBox
|
||||
Left = 239
|
||||
Height = 118
|
||||
Top = 23
|
||||
Width = 155
|
||||
ItemHeight = 0
|
||||
MultiSelect = True
|
||||
TabOrder = 5
|
||||
end
|
||||
object PostList: TListBox
|
||||
Left = 239
|
||||
Height = 127
|
||||
Top = 169
|
||||
Width = 158
|
||||
ItemHeight = 0
|
||||
MultiSelect = True
|
||||
TabOrder = 6
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 418
|
||||
Height = 27
|
||||
Top = 40
|
||||
Width = 72
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 7
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 418
|
||||
Height = 27
|
||||
Top = 104
|
||||
Width = 72
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 8
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 418
|
||||
Height = 27
|
||||
Top = 169
|
||||
Width = 72
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 9
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 418
|
||||
Height = 27
|
||||
Top = 232
|
||||
Width = 72
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 10
|
||||
end
|
||||
object CorrChk: TCheckBox
|
||||
Left = 1
|
||||
Height = 17
|
||||
Top = 305
|
||||
Width = 110
|
||||
Caption = 'ShowCorrelograms'
|
||||
TabOrder = 11
|
||||
end
|
||||
end
|
237
applications/lazstats/source_orig/interruptedunit.lrs
Normal file
237
applications/lazstats/source_orig/interruptedunit.lrs
Normal file
@ -0,0 +1,237 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TInterruptedFrm','FORMDATA',[
|
||||
'TPF0'#15'TInterruptedFrm'#14'InterruptedFrm'#4'Left'#2'B'#6'Height'#3'Q'#1#3
|
||||
+'Top'#2'B'#5'Width'#3#25#2#5'Align'#7#8'alCustom'#8'AutoSize'#9#11'BorderIco'
|
||||
+'ns'#11#12'biSystemMenu'#0#11'BorderStyle'#7#8'bsDialog'#7'Caption'#6' Inter'
|
||||
+'rupted Time Series Analysis'#12'ClientHeight'#3'Q'#1#11'ClientWidth'#3#25#2
|
||||
+#6'OnShow'#7#8'FormShow'#8'Position'#7#9'poDefault'#10'LCLVersion'#6#8'0.9.2'
|
||||
+'8.2'#0#6'TLabel'#6'Label1'#4'Left'#2#2#6'Height'#2#14#3'Top'#2#0#5'Width'#2
|
||||
+'Z'#7'Caption'#6#19'Available Variables'#11'ParentColor'#8#0#0#6'TLabel'#6'L'
|
||||
+'abel2'#4'Left'#3#250#0#6'Height'#2#14#3'Top'#2#2#5'Width'#3#138#0#7'Caption'
|
||||
+#6#26'Pre-Treatment Observations'#11'ParentColor'#8#0#0#6'TLabel'#6'Label3'#4
|
||||
+'Left'#3#250#0#6'Height'#2#14#3'Top'#3#153#0#5'Width'#3#143#0#7'Caption'#6#27
|
||||
+'Post-Treatment Observations'#11'ParentColor'#8#0#0#8'TListBox'#7'VarList'#4
|
||||
+'Left'#2#0#6'Height'#3#15#1#3'Top'#2#23#5'Width'#3#188#0#10'ItemHeight'#2#0
|
||||
+#11'MultiSelect'#9#8'TabOrder'#2#0#0#0#7'TBitBtn'#8'PreInBtn'#4'Left'#3#194#0
|
||||
+#6'Height'#2#29#3'Top'#2#23#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#13'PreInBtnClick'#8'TabOrder'#2
|
||||
,#1#0#0#7'TBitBtn'#9'PreOutBtn'#4'Left'#3#194#0#6'Height'#2#29#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#9'NumGlyp'
|
||||
+'hs'#2#0#7'OnClick'#7#14'PreOutBtnClick'#8'TabOrder'#2#2#0#0#7'TBitBtn'#9'Po'
|
||||
+'stInBtn'#4'Left'#3#194#0#6'Height'#2#29#3'Top'#3#169#0#5'Width'#2'#'#10'Gly'
|
||||
+'ph.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#14'PostInBtnClick'
|
||||
+#8'TabOrder'#2#3#0#0#7'TBitBtn'#10'PostOutBtn'#4'Left'#3#194#0#6'Height'#2#29
|
||||
+#3'Top'#3#208#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#15'PostOutBtnClick'#8'TabOrder'#2#4#0#0
|
||||
+#8'TListBox'#7'PreList'#4'Left'#3#239#0#6'Height'#2'v'#3'Top'#2#23#5'Width'#3
|
||||
+#155#0#10'ItemHeight'#2#0#11'MultiSelect'#9#8'TabOrder'#2#5#0#0#8'TListBox'#8
|
||||
+'PostList'#4'Left'#3#239#0#6'Height'#2#127#3'Top'#3#169#0#5'Width'#3#158#0#10
|
||||
+'ItemHeight'#2#0#11'MultiSelect'#9#8'TabOrder'#2#6#0#0#7'TButton'#8'ResetBtn'
|
||||
+#4'Left'#3#162#1#6'Height'#2#27#3'Top'#2'('#5'Width'#2'H'#7'Caption'#6#5'Res'
|
||||
+'et'#7'OnClick'#7#13'ResetBtnClick'#8'TabOrder'#2#7#0#0#7'TButton'#9'CancelB'
|
||||
+'tn'#4'Left'#3#162#1#6'Height'#2#27#3'Top'#2'h'#5'Width'#2'H'#7'Caption'#6#6
|
||||
+'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#8#0#0#7'TButton'#10'ComputeBtn'#4
|
||||
+'Left'#3#162#1#6'Height'#2#27#3'Top'#3#169#0#5'Width'#2'H'#7'Caption'#6#7'Co'
|
||||
+'mpute'#7'OnClick'#7#15'ComputeBtnClick'#8'TabOrder'#2#9#0#0#7'TButton'#9'Re'
|
||||
+'turnBtn'#4'Left'#3#162#1#6'Height'#2#27#3'Top'#3#232#0#5'Width'#2'H'#7'Capt'
|
||||
+'ion'#6#6'Return'#11'ModalResult'#2#1#8'TabOrder'#2#10#0#0#9'TCheckBox'#7'Co'
|
||||
+'rrChk'#4'Left'#2#1#6'Height'#2#17#3'Top'#3'1'#1#5'Width'#2'n'#7'Caption'#6
|
||||
+#16'ShowCorrelograms'#8'TabOrder'#2#11#0#0#0
|
||||
]);
|
909
applications/lazstats/source_orig/interruptedunit.pas
Normal file
909
applications/lazstats/source_orig/interruptedunit.pas
Normal file
@ -0,0 +1,909 @@
|
||||
unit InterruptedUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Buttons, MainUnit, Globals, DataProcs, OutPutUnit,
|
||||
AutoPlotUnit, GraphLib;
|
||||
|
||||
type
|
||||
|
||||
{ TInterruptedFrm }
|
||||
|
||||
TInterruptedFrm = class(TForm)
|
||||
CorrChk: TCheckBox;
|
||||
PreInBtn: TBitBtn;
|
||||
PreOutBtn: TBitBtn;
|
||||
PostInBtn: TBitBtn;
|
||||
PostOutBtn: TBitBtn;
|
||||
ResetBtn: TButton;
|
||||
CancelBtn: TButton;
|
||||
ComputeBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
Label3: TLabel;
|
||||
VarList: TListBox;
|
||||
PreList: TListBox;
|
||||
PostList: TListBox;
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure PostInBtnClick(Sender: TObject);
|
||||
procedure PostOutBtnClick(Sender: TObject);
|
||||
procedure PreInBtnClick(Sender: TObject);
|
||||
procedure PreOutBtnClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
procedure matinverse(Sender: TObject);
|
||||
procedure plotit( Sender: TObject);
|
||||
procedure PlotFuncs(Sender: TObject);
|
||||
|
||||
private
|
||||
{ private declarations }
|
||||
z : DblDyneVec;
|
||||
y : DblDyneVec;
|
||||
x : DblDyneMat;
|
||||
x1 : array[1..4,1..4] of double;
|
||||
x2 : array[1..4,1..4] of double;
|
||||
x3 : array[1..4] of double;
|
||||
t : array[1..4] of double;
|
||||
p : array[1..100] of double;
|
||||
p1 : array[1..4] of double;
|
||||
ii3 : array[1..4,1..3] of double;
|
||||
p2 : array[1..4] of double;
|
||||
s : array[1..4] of double;
|
||||
t2 : array[1..4] of double;
|
||||
b : array[1..4,1..1] of double;
|
||||
x4 : array[1..50,1..10] of double;
|
||||
d : array[1..50,1..5] of double;
|
||||
r : array[1..50] of double;
|
||||
x5 : array[1..50,1..11] of double;
|
||||
a1 : array[1..10] of double;
|
||||
a2 : array[1..10] of double;
|
||||
r2 : array[1..10] of double;
|
||||
e : array[1..10] of double;
|
||||
f2 : array[1..5,1..10] of double;
|
||||
pl : string;
|
||||
f1s, g1s, g2s, g3s, g4s, g5s, g6s, g7s, g8s : string;
|
||||
c9, g, c, g1, t3, t4, t5, t6, f4, n7, d7, y1, xx3, f1, f2x, s1 : double;
|
||||
s3, s4, h, f3, y2, a, det, amax : double;
|
||||
col, n, n1, n2, n4, n5, n6, m, l1, l2, i3, t1, NoGoodCases : integer;
|
||||
n3, j1, m1, i1, R1 : integer;
|
||||
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
InterruptedFrm: TInterruptedFrm;
|
||||
|
||||
implementation
|
||||
|
||||
{ TInterruptedFrm }
|
||||
|
||||
procedure TInterruptedFrm.ResetBtnClick(Sender: TObject);
|
||||
VAR i : integer;
|
||||
begin
|
||||
VarList.Clear;
|
||||
PreList.Clear;
|
||||
PostList.Clear;
|
||||
for i := 1 to NoVariables do
|
||||
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
|
||||
PreOutBtn.Visible := false;
|
||||
PostOutBtn.Visible := false;
|
||||
PreInBtn.Visible := true;
|
||||
PostInBtn.Visible := true;
|
||||
end;
|
||||
|
||||
procedure TInterruptedFrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
ResetBtnClick(Self);
|
||||
end;
|
||||
|
||||
procedure TInterruptedFrm.ComputeBtnClick(Sender: TObject);
|
||||
label 300;
|
||||
var
|
||||
i, i2, j, j2, j3, k : integer;
|
||||
ColNoSelected : IntDyneVec;
|
||||
rxy : DblDyneVec;
|
||||
heading : string;
|
||||
begin
|
||||
g1s := 't..change in level ';
|
||||
g2s := 't..change in slope ';
|
||||
g3s := 'scaled posterior ';
|
||||
g4s := 'lower 99 percent ';
|
||||
g5s := 'lower 95 percent ';
|
||||
g6s := 'delta ';
|
||||
g7s := 'upper 95 percent ';
|
||||
g8s := 'upper 99 percent ';
|
||||
c9 := 1.0E-15;
|
||||
n1 := 0;
|
||||
n2 := 0;
|
||||
g := 0.01;
|
||||
NoGoodCases := 0;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
OutPutFrm.RichEdit.Lines.Add('Interrupted Time Series Analysis');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Adapted from the Fortran program written by Glass and Maguire');
|
||||
OutPutFrm.RichEdit.Lines.Add('and based on Box and Tiao IMA(1,1) procedure. Published in');
|
||||
OutPutFrm.RichEdit.Lines.Add('How To Do Psychotherapy and How to Evaluate It by');
|
||||
OutPutFrm.RichEdit.Lines.Add('John M. Gottman and Sandra R. Leiblum, Holt, Rinehart and ');
|
||||
OutPutFrm.RichEdit.Lines.Add('Winston, Inc., New York, 1974.');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
n1 := PreList.Items.Count;
|
||||
n2 := PostList.Items.Count;
|
||||
t1 := n1 + n2;
|
||||
if t1 < 5 then
|
||||
begin
|
||||
ShowMessage('There must be more than 4 total values in the series.');
|
||||
exit;
|
||||
end;
|
||||
// allocate space
|
||||
SetLength(z,t1);
|
||||
SetLength(y,t1);
|
||||
SetLength(x,t1,4);
|
||||
SetLength(ColNoSelected,t1);
|
||||
SetLength(rxy,t1);
|
||||
|
||||
// Get column numbers of variables selected
|
||||
for i := 1 to n1 do
|
||||
begin
|
||||
for j := 1 to NoVariables do
|
||||
begin
|
||||
if PreList.Items.Strings[i-1] = OS3MainFrm.DataGrid.Cells[j,0] then
|
||||
ColNoSelected[i-1] := j;
|
||||
end;
|
||||
end;
|
||||
for i := 1 to n2 do
|
||||
begin
|
||||
for j := 1 to NoVariables do
|
||||
begin
|
||||
if PostList.Items.Strings[i-1] = OS3MainFrm.DataGrid.Cells[j,0] then
|
||||
ColNoSelected[n1+i-1] := j;
|
||||
end;
|
||||
end;
|
||||
|
||||
// read pre and post values - average for the cases
|
||||
for j := 0 to t1-1 do z[j] := 0.0;
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
if NOT GoodRecord(i,t1,ColNoSelected) then continue;
|
||||
for j := 0 to t1-1 do
|
||||
begin
|
||||
col := ColNoSelected[j];
|
||||
z[j] := z[j] + StrToFloat(OS3MainFrm.DataGrid.Cells[col,i]);
|
||||
NoGoodCases := NoGoodCases + 1;
|
||||
end;
|
||||
end;
|
||||
for j := 0 to t1-1 do z[j] := z[j] / NoGoodCases;
|
||||
|
||||
// plot correlograms
|
||||
for j3 := 1 to 4 do
|
||||
begin
|
||||
case j3 of
|
||||
1 : begin
|
||||
f1s := 'Pre-Treatment Data';
|
||||
n4 := n1;
|
||||
l1 := 1;
|
||||
l2 := n1;
|
||||
OutPutFrm.RichEdit.Lines.Add('Correlogram of Pre-Treatment Raw Data');
|
||||
heading := 'Correlogram of Pre-Treatment Raw Data';
|
||||
i2 := 0;
|
||||
for i := l1 to l2 do
|
||||
begin
|
||||
i2 := i2 + 1;
|
||||
y[i2-1] := z[i-1];
|
||||
end;
|
||||
end;
|
||||
2 : begin
|
||||
f1s := 'Post-Treatment Data';
|
||||
n4 := n2;
|
||||
l1 := n1 + 1;
|
||||
l2 := t1;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Correlogram of Post-Treatment Raw Data');
|
||||
heading := 'Correlogram of Post-Treatment Raw Data';
|
||||
i2 := 0;
|
||||
for i := l1 to l2 do
|
||||
begin
|
||||
i2 := i2 + 1;
|
||||
y[i2-1] := z[i-1];
|
||||
end;
|
||||
end;
|
||||
3 : begin
|
||||
f1s := 'Pre-Treatment Data';
|
||||
n4 := n1 - 1;
|
||||
l1 := 1;
|
||||
l2 := n1 - 1;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Correlogram of Pre-Treatment Differences');
|
||||
heading := 'Correlogram of Pre-Treatment Differences';
|
||||
i2 := 0;
|
||||
for i := l1 to l2 do
|
||||
begin
|
||||
i2 := i2 + 1;
|
||||
i3 := i + 1;
|
||||
y[i2-1] := z[i3-1] - z[i-1];
|
||||
end;
|
||||
end;
|
||||
4 : begin
|
||||
f1s := 'Post-Treatment Data';
|
||||
n4 := n2-1;
|
||||
l1 := n1 + 1;
|
||||
l2 := t1 - 1;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Correlogram of Post-Treatment Differences');
|
||||
heading := 'Correlogram of Post-Treatment Differences';
|
||||
i2 := 0;
|
||||
for i := l1 to l2 do
|
||||
begin
|
||||
i2 := i2 + 1;
|
||||
i3 := i + 1;
|
||||
y[i2-1] := z[i3-1] - z[i-1];
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
j2 := n4 * 3 div 4;
|
||||
for k := 1 to j2 do
|
||||
begin
|
||||
n5 := n4 - k;
|
||||
c := 0.0;
|
||||
t3 := 0.0;
|
||||
t4 := 0.0;
|
||||
t5 := 0.0;
|
||||
t6 := 0.0;
|
||||
for i := 1 to n5 do
|
||||
begin
|
||||
n6 := i + k;
|
||||
c := c + y[i-1] * y[n6-1];
|
||||
t3 := t3 + y[i-1];
|
||||
t4 := t4 + y[n6-1];
|
||||
t5 := t5 + y[i-1] * y[i-1];
|
||||
t6 := t6 + y[n6-1] * y[n6-1];
|
||||
end;
|
||||
f4 := n5;
|
||||
n7 := c - (t3 * t4) / f4;
|
||||
d7 := (t5 - (t3 * t3) / f4) * (t6 - (t4 * t4) / f4);
|
||||
if d7 > 0.0 then
|
||||
begin
|
||||
d7 := sqrt(d7);
|
||||
r[k] := n7 / d7;
|
||||
end
|
||||
else r[k] := 1.0;
|
||||
pl := format('lag %3d r %4.2f',[k,r[k]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(pl);
|
||||
end; // next k
|
||||
s4 := 1;
|
||||
n := 1;
|
||||
m := j2;
|
||||
for i := 1 to j2 do x4[i,1] := r[i];
|
||||
// plotit(Self);
|
||||
if CorrChk.Checked then
|
||||
begin
|
||||
rxy[0] := 0.0;
|
||||
for i := 1 to j2 do rxy[i] := r[i];
|
||||
AutoPlotFrm.PlotPartCors := false;
|
||||
AutoPlotFrm.PlotLimits := false;
|
||||
AutoPlotFrm.correlations := rxy;
|
||||
AutoPlotFrm.partcors := rxy;
|
||||
AutoPlotFrm.uplimit := 0.99;
|
||||
AutoPlotFrm.lowlimit := -0.99;
|
||||
AutoPlotFrm.npoints := j2+1;
|
||||
AutoPlotFrm.DepVarEdit := heading;
|
||||
AutoPlotFrm.ShowModal;
|
||||
end;
|
||||
end; // next j3
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
|
||||
// Now do the analysis
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add(' residual t for change in t for');
|
||||
OutPutFrm.RichEdit.Lines.Add(' gamma variance level level level change');
|
||||
300:
|
||||
y[0] := z[0];
|
||||
for i := 1 to t1-1 do
|
||||
begin
|
||||
i1 := i - 1;
|
||||
y1 := abs(y[i1]);
|
||||
if (y1 - c9) <= 0.0 then y[i] := z[i] - z[i1]
|
||||
else if (y1 - 0.000001) > 0 then y[i] := (z[i] - z[i1]) + (1.0 - g) * y[i1];
|
||||
g1 := abs(1.0 - g);
|
||||
if (g1 - 0.001) > 0 then y[i] := (z[i] - z[i1]) + (1.0 - g) * y[i1]
|
||||
else y[i] := z[i] - z[i1];
|
||||
end;
|
||||
for i := 0 to t1 - 1 do x[i,0] := 1;
|
||||
for i := 1 to n1 do x[i-1,1] := 0.0;
|
||||
for i := n1 + 1 to t1 do x[i-1,1] := 1.0;
|
||||
x[0,2] := 1.0;
|
||||
x[1,2] := 1.0 - g;
|
||||
for i := 2 to t1-1 do
|
||||
begin
|
||||
i1 := i - 1;
|
||||
x[i,2] := x[1,2] * x[i1,2];
|
||||
xx3 := abs(x[i,2]);
|
||||
if (c9 - xx3) <= 0.0 then continue;
|
||||
x[i,2] := 0.0;
|
||||
end;
|
||||
for i := 1 to n1 do x[i-1,3] := 0.0;
|
||||
for i := n1 to t1-1 do
|
||||
begin
|
||||
i1 := i-n1;
|
||||
x[i,3] := x[i1,2];
|
||||
xx3 := abs(x[i,3]);
|
||||
if (c9 - xx3) <= 0.0 then continue;
|
||||
x[i,3] := 0.0;
|
||||
end;
|
||||
for i := 1 to 4 do
|
||||
begin
|
||||
for j := 1 to 4 do
|
||||
begin
|
||||
x2[i,j] := 0.0;
|
||||
x1[i,j] := 0.0;
|
||||
end;
|
||||
end;
|
||||
for i := 1 to 4 do
|
||||
for j := 1 to 4 do
|
||||
for k := 1 to t1 do
|
||||
x2[i,j] := x2[i,j] + x[k-1,i-1] * x[k-1,j-1];
|
||||
for i := 1 to 4 do
|
||||
for j := 1 to 4 do
|
||||
x1[i,j] := x2[i,j];
|
||||
for i := 1 to 4 do x3[i] := 0.0;
|
||||
for i := 1 to 4 do
|
||||
for j := 1 to t1 do
|
||||
x3[i] := x3[i] + x[j-1,i-1] * y[j-1];
|
||||
for i := 1 to 4 do b[i,1] := x3[i];
|
||||
matinverse(Self);
|
||||
for i := 1 to 4 do t[i] := b[i,1];
|
||||
for i := 1 to 4 do s[i] := x1[i,i];
|
||||
f1 := t1;
|
||||
y1 := 0.0;
|
||||
for i := 0 to t1-1 do
|
||||
begin
|
||||
y1 := y1 + y[i] * y[i];
|
||||
end;
|
||||
for i := 1 to 4 do x3[i] := 0.0;
|
||||
for j := 1 to 4 do
|
||||
for i := 1 to 4 do
|
||||
begin
|
||||
x3[j] := x3[j] + t[i] * x2[i,j];
|
||||
end;
|
||||
f2x := 0.0;
|
||||
for i := 1 to 4 do
|
||||
begin
|
||||
f2x := f2x + x3[i] * t[i];
|
||||
end;
|
||||
s1 := y1 - f2x;
|
||||
s1 := s1 / (f1 - 4.0);
|
||||
for i := 1 to 4 do
|
||||
begin
|
||||
s[i] := sqrt(s1 * s[i]);
|
||||
t2[i] := t[i] / s[i];
|
||||
end;
|
||||
s3 := ln(s1);
|
||||
det := ln(det);
|
||||
h := (-0.5 * det) - (0.5 * (f1 - 4.0) * s3);
|
||||
h := 0.4342945 * h;
|
||||
j1 := j1 + 1;
|
||||
x5[j1,1] := g;
|
||||
x5[j1,2] := s1;
|
||||
x5[j1,3] := t[3];
|
||||
x5[j1,4] := t2[3];
|
||||
x5[j1,5] := t[4];
|
||||
x5[j1,6] := t2[4];
|
||||
x5[j1,7] := t[1];
|
||||
x5[j1,8] := t2[1];
|
||||
x5[j1,9] := t[2];
|
||||
x5[j1,10] := t2[2];
|
||||
if (t1 - 30) >= 0 then
|
||||
begin
|
||||
d[j1,1] := t[4] - 2.58 * s[4];
|
||||
d[j1,2] := t[4] - 1.96 * s[4];
|
||||
d[j1,3] := t[4];
|
||||
d[j1,4] := t[4] + 1.96 * s[4];
|
||||
d[j1,5] := t[4] + 2.58 * s[4];
|
||||
end;
|
||||
n3 := n3 + 1;
|
||||
p[n3] := h;
|
||||
g := g + 0.04;
|
||||
if (n3 - 49) <= 0 then goto 300;
|
||||
f3 := p[1];
|
||||
for i := 2 to 49 do if (f3 - p[i]) < 0 then f3 := p[i];
|
||||
for i := 1 to 49 do
|
||||
begin
|
||||
p[i] := p[i] - f3;
|
||||
y2 := abs(p[i]);
|
||||
if (y2 - 35) >= 0 then p[i] := 0.0
|
||||
else begin
|
||||
p[i] := p[i] / 0.4342945;
|
||||
p[i] := exp(p[i]);
|
||||
end;
|
||||
end;
|
||||
a := 0.0;
|
||||
for i := 2 to 49 do
|
||||
begin
|
||||
i2 := i - 1;
|
||||
a := a + 0.005 * (p[i] + p[i1]);
|
||||
end;
|
||||
for i := 1 to 49 do p[i] := p[i] / a;
|
||||
for i := 1 to 49 do x5[i,11] := p[i];
|
||||
for i := 1 to 49 do
|
||||
begin
|
||||
pl := format('%2d ',[i]);
|
||||
for j := 1 to 6 do
|
||||
pl := pl + format('%6.2f ',[x5[i,j]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(pl);
|
||||
end;
|
||||
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
pl := ' t for change in t for scaled';
|
||||
OutPutFrm.RichEdit.Lines.Add(pl);
|
||||
pl := ' slope slope slope change posterior';
|
||||
OutPutFrm.RichEdit.Lines.Add(pl);
|
||||
for i := 1 to 49 do
|
||||
begin
|
||||
pl := format('%2d ',[i]);
|
||||
for j := 7 to 11 do
|
||||
pl := pl + format('%6.2f ',[x5[i,j]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(pl);
|
||||
end;
|
||||
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
for i := 1 to 49 do
|
||||
begin
|
||||
x4[i,1] := x5[i,5];
|
||||
x4[i,2] := x5[i,9];
|
||||
x4[i,3] := x5[i,11];
|
||||
end;
|
||||
m := 49;
|
||||
n := 3;
|
||||
i3 := 1;
|
||||
f1s := g1s + g2s + g3s;
|
||||
PlotFuncs(Self);
|
||||
plotit(Self); // plot the f[i,j] values
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
n := 5;
|
||||
if (t1 - 30) >= 0 then
|
||||
begin // do confidence intervals around delta
|
||||
for i := 1 to 49 do
|
||||
for j := 1 to 5 do
|
||||
x4[i,j] := d[i,j];
|
||||
f1s := g4s + g5s + g6s + g7s + g8s;
|
||||
pl := 'Confidence Intervals Around Delta';
|
||||
OutPutFrm.RichEdit.Lines.Add(pl);
|
||||
pl := 'gamma lower 99 lower 95 delta upper 95 upper 99';
|
||||
OutPutFrm.RichEdit.Lines.Add(pl);
|
||||
for i := 1 to 49 do
|
||||
begin
|
||||
pl := format('%6.2f ',[x5[i,1]]);
|
||||
for j := 1 to 5 do
|
||||
pl := pl + format('%6.2f ',[d[i,j]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(pl);
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
pl := 'Graph of Confidence Intervals Around Delta Hat';
|
||||
OutPutFrm.RichEdit.Lines.Add(pl);
|
||||
plotit(Self); // plot f matrix
|
||||
end;
|
||||
|
||||
OutPutFrm.ShowModal;
|
||||
|
||||
// clean up
|
||||
rxy := nil;
|
||||
ColNoSelected := nil;
|
||||
x := nil;
|
||||
y := nil;
|
||||
z := nil;
|
||||
end;
|
||||
|
||||
procedure TInterruptedFrm.PostInBtnClick(Sender: TObject);
|
||||
VAR i, index : integer;
|
||||
begin
|
||||
index := VarList.Items.Count;
|
||||
i := 0;
|
||||
while i < index do
|
||||
begin
|
||||
if (VarList.Selected[i]) then
|
||||
begin
|
||||
PostList.Items.Add(VarList.Items.Strings[i]);
|
||||
VarList.Items.Delete(i);
|
||||
index := index - 1;
|
||||
i := 0;
|
||||
end
|
||||
else i := i + 1;
|
||||
end;
|
||||
PostOutBtn.Visible := true;
|
||||
if VarList.Items.Count = 0 then PostInBtn.Visible := false;
|
||||
end;
|
||||
|
||||
procedure TInterruptedFrm.PostOutBtnClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := PostList.ItemIndex;
|
||||
if index >= 0 then
|
||||
begin
|
||||
VarList.Items.Add(PostList.Items.Strings[index]);
|
||||
PostList.Items.Delete(index);
|
||||
PostInBtn.Visible := true;
|
||||
if PostList.Items.Count = 0 then PostOutBtn.Visible := false;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TInterruptedFrm.PreInBtnClick(Sender: TObject);
|
||||
VAR i, index : integer;
|
||||
begin
|
||||
index := VarList.Items.count;
|
||||
i := 0;
|
||||
while i < index do
|
||||
begin
|
||||
if (VarList.Selected[i]) then
|
||||
begin
|
||||
PreList.Items.Add(VarList.Items.Strings[i]);
|
||||
VarList.Items.Delete(i);
|
||||
index := index - 1;
|
||||
i := 0;
|
||||
end
|
||||
else i := i + 1;
|
||||
end;
|
||||
PreOutBtn.Visible := true;
|
||||
if VarList.Items.Count = 0 then PreInBtn.Visible := false;
|
||||
end;
|
||||
|
||||
procedure TInterruptedFrm.PreOutBtnClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := PreList.ItemIndex;
|
||||
if index >= 0 then
|
||||
begin
|
||||
VarList.Items.Add(PreList.Items.Strings[index]);
|
||||
PreList.Items.Delete(index);
|
||||
PreInBtn.Visible := true;
|
||||
if PreList.Items.Count = 0 then PreOutBtn.Visible := false;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TInterruptedFrm.matinverse(Sender: TObject);
|
||||
var
|
||||
i, j, j2, j4, k, L, Lc : integer;
|
||||
temp : double;
|
||||
begin
|
||||
//Matrix inverse and determinant
|
||||
|
||||
det := 1;
|
||||
m1 := 1;
|
||||
N := 4;
|
||||
For i := 1 To 4 do
|
||||
begin
|
||||
p1[i] := 0.0;
|
||||
For j := 1 To 2 do ii3[i, j] := 0.0;
|
||||
end;
|
||||
For i := 1 To N do
|
||||
begin
|
||||
amax := 0.0;
|
||||
For j := 1 To N do
|
||||
begin
|
||||
If (p1[j] - 1) <> 0 Then
|
||||
begin
|
||||
For k := 1 To N do
|
||||
begin
|
||||
If (p1[k] - 1) <> 0 Then
|
||||
begin
|
||||
If (p1[k] - 1) > 0 Then Exit;
|
||||
If Abs(amax) - Abs(x1[j, k]) <= 0 Then
|
||||
begin
|
||||
R1 := j;
|
||||
i1 := k;
|
||||
amax := x1[j, k];
|
||||
End;
|
||||
End;
|
||||
end;
|
||||
End;
|
||||
end;
|
||||
p1[i1] := p1[i1] + 1;
|
||||
If (R1 - i1) <> 0 Then //Swap
|
||||
begin
|
||||
det := -det;
|
||||
For L := 1 To N do
|
||||
begin
|
||||
s4 := x1[R1, L];
|
||||
x1[R1, L] := x1[i1, L];
|
||||
x1[i1, L] := s4;
|
||||
end;
|
||||
If m1 > 0 Then //Swap
|
||||
begin
|
||||
For L := 1 To m1 do
|
||||
begin
|
||||
s4 := b[R1, L];
|
||||
b[R1, L] := b[i1, L];
|
||||
b[i1, L] := s4;
|
||||
end;
|
||||
End;
|
||||
End;
|
||||
ii3[i, 1] := R1;
|
||||
ii3[i, 2] := i1;
|
||||
p2[i] := x1[i1, i1];
|
||||
det := det * p2[i];
|
||||
If p2[i] = 0 Then
|
||||
begin
|
||||
ShowMessage('A singular matrix was found.');
|
||||
Exit;
|
||||
End;
|
||||
x1[i1, i1] := 1;
|
||||
For L := 1 To N do
|
||||
begin
|
||||
x1[i1, L] := x1[i1, L] / p2[i];
|
||||
end;
|
||||
If m1 > 0 Then
|
||||
begin
|
||||
For L := 1 To m1 do
|
||||
begin
|
||||
b[i1, L] := b[i1, L] / p2[i];
|
||||
end;
|
||||
End;
|
||||
For Lc := 1 To N do
|
||||
begin
|
||||
If (Lc - i1) <> 0 Then
|
||||
begin
|
||||
temp := x1[Lc,i1];
|
||||
x1[L1,i1] := 0.0;
|
||||
For L := 1 To N do
|
||||
begin
|
||||
x1[Lc,L] := x1[Lc,L] - x1[i1,L] * temp;
|
||||
end;
|
||||
If m1 > 0 Then
|
||||
begin
|
||||
For L := 1 To m1 do
|
||||
b[L1, L] := b[L1, L] - b[i1, L] * temp;
|
||||
End;
|
||||
End;
|
||||
end;
|
||||
end;
|
||||
For i := 1 To N do
|
||||
begin
|
||||
L := N + 1 - i;
|
||||
If (ii3[L, 1] - ii3[L, 2]) <> 0 Then
|
||||
begin
|
||||
j2 := round(ii3[L, 1]);
|
||||
j4 := round(ii3[L, 2]);
|
||||
For k := 1 To N do
|
||||
begin
|
||||
s4 := x1[k, j2];
|
||||
x1[k, j2] := x1[k, j4];
|
||||
x1[k, j4] := s4;
|
||||
end;
|
||||
End;
|
||||
end;
|
||||
end;
|
||||
//--------------------------------------------------------------------
|
||||
|
||||
procedure TInterruptedFrm.plotit( Sender: TObject);
|
||||
label 2180, 2660;
|
||||
var
|
||||
i, i2, ip, j, k, L, n8 : integer;
|
||||
bstr, p1str, p2str : string;
|
||||
c5, z2 : double;
|
||||
|
||||
begin
|
||||
For i := 1 To N do
|
||||
begin
|
||||
a1[i] := 1E+37;
|
||||
a2[i] := -1E+37;
|
||||
end;
|
||||
bstr := '153510cmha';
|
||||
For i := 1 To M do
|
||||
begin
|
||||
For j := 1 To N do
|
||||
begin
|
||||
c5 := x4[i, j] - a1[j];
|
||||
If c5 >= 0 Then goto 2180;
|
||||
a1[j] := x4[i, j];
|
||||
2180: c5 := x4[i, j] - a2[j];
|
||||
If c5 <= 0 Then continue;
|
||||
a2[j] := x4[i, j];
|
||||
end;
|
||||
end;
|
||||
If (N - 5) = 0 Then
|
||||
begin
|
||||
For j := 1 To 5 do
|
||||
begin
|
||||
a2[j] := a2[5];
|
||||
a1[j] := a1[1];
|
||||
end;
|
||||
End;
|
||||
n8 := N;
|
||||
For j := 1 To N do
|
||||
begin
|
||||
r2[j] := (a2[j] - a1[j]) / 55;
|
||||
end;
|
||||
For j := 1 To N do
|
||||
begin
|
||||
e[j] := (a2[j] - a1[j]) / 4;
|
||||
f2[1, j] := a1[j] + 0.05;
|
||||
c5 := a1[j];
|
||||
If c5 < 0 Then
|
||||
begin
|
||||
f2[1, j] := f2[1, j] - 0.1;
|
||||
End;
|
||||
f2[5, j] := a2[j] - 0.05;
|
||||
c5 := a2[j];
|
||||
If c5 < 0 Then
|
||||
begin
|
||||
f2[5, j] := f2[5, j] - 0.1;
|
||||
End;
|
||||
f2[2, j] := a1[j] + e[j] + 0.05;
|
||||
c5 := f2[2, j];
|
||||
If c5 < 0 Then
|
||||
begin
|
||||
f2[2, j] := f2[2, j] - 0.1;
|
||||
End;
|
||||
f2[3, j] := a1[j] + e[j] * 2 + 0.05;
|
||||
c5 := f2[3, j];
|
||||
If c5 < 0 Then
|
||||
begin
|
||||
f2[3, j] := f2[3, j] - 0.1;
|
||||
End;
|
||||
f2[4, j] := a2[j] - e[j] + 0.05;
|
||||
c5 := f2[4, j];
|
||||
If c5 < 0 Then
|
||||
begin
|
||||
f2[4, j] := f2[4, j] - 0.1;
|
||||
End;
|
||||
end;
|
||||
|
||||
For j := 1 To n8 do
|
||||
begin
|
||||
pl := bstr[j] + ' ';
|
||||
For i := 1 To 5 do
|
||||
begin
|
||||
pl := pl + format('%6.2f ',[f2[i,j]]);
|
||||
end;
|
||||
pl := pl + copy(bstr, j, 1);
|
||||
OutPutFrm.RichEdit.Lines.Add(pl);
|
||||
end;
|
||||
pl := '';
|
||||
OutPutFrm.RichEdit.Lines.Add('----------------------------------------------------------------------');
|
||||
|
||||
for i2 := 1 to 73 do
|
||||
begin
|
||||
p2str := p2str + ' ';
|
||||
p1str := p1str + ' ';
|
||||
end;
|
||||
For i := 1 To M do
|
||||
begin
|
||||
For i2 := 1 To 72 do p1str[i2] := ' ';
|
||||
k := 0;
|
||||
p1str[1] := '.';
|
||||
For i2 := 1 To 5 do
|
||||
begin
|
||||
k := k + 14;
|
||||
p1str[k] := '.';
|
||||
end;
|
||||
n7 := i;
|
||||
while N7 >= 0 do
|
||||
begin
|
||||
n7 := n7 - 10;
|
||||
end;
|
||||
If n7 >= 0 Then
|
||||
begin
|
||||
k := 3;
|
||||
p1str[k] := '-';
|
||||
For i2 := 3 To 30 do
|
||||
begin
|
||||
k := k + 2;
|
||||
p1str[k] := '-';
|
||||
end;
|
||||
End;
|
||||
For k := 1 To N do
|
||||
begin
|
||||
If r2[k] > 0 Then
|
||||
z2 := (x4[i, k] - a1[k]) / r2[k] + 1
|
||||
Else z2 := 0;
|
||||
L := round(z2);
|
||||
If (L - 1) < 0 Then L := 1;
|
||||
If (55 - L) < 0 Then L := 55;
|
||||
If (p1str[L] = ' ') Or (p1str[L] = '.') Or (p1str[L] = '-') Then
|
||||
begin
|
||||
p2str[k] := bstr[k];
|
||||
p1str[L] := p2str[k];
|
||||
end
|
||||
Else begin
|
||||
p1str[L] := '+';
|
||||
End;
|
||||
end;
|
||||
If (s4 - 1) = 0 Then goto 2660;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
2660:
|
||||
pl := format('%2d. ',[i]);
|
||||
For ip := 1 To 55 do pl := pl + p1str[ip];
|
||||
pl := pl + format('. %2d',[i]);
|
||||
OutPutFrm.RichEdit.Lines.Add(pl);
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add('----------------------------------------------------------------------');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
For j := 1 To n8 do
|
||||
begin
|
||||
pl := bstr[j] + ' ';
|
||||
For i := 1 To 5 do
|
||||
begin
|
||||
pl := pl + format('%6.2f ',[f2[i,j]]);
|
||||
end;
|
||||
pl := pl + bstr[j];
|
||||
OutPutFrm.RichEdit.Lines.Add(pl);
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add(' Plot Description');
|
||||
OutPutFrm.RichEdit.Lines.Add('title character minimum maximum resolution');
|
||||
|
||||
For j := 1 To N do
|
||||
begin
|
||||
pl := copy(f1s,j*20-19,20);
|
||||
pl := pl + ' ' + bstr[j];
|
||||
pl := pl + ' ' + format('%6.2f',[a1[j]]);
|
||||
pl := pl + ' ' + format('%6.2f',[a2[j]]);
|
||||
pl := pl + ' ' + format('%6.2f',[r2[j]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(pl);
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
end;
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
procedure TInterruptedFrm.PlotFuncs(Sender: TObject);
|
||||
var
|
||||
i, j : integer;
|
||||
title : string;
|
||||
gamma : double;
|
||||
begin
|
||||
// Allocate space for point sets of means
|
||||
SetLength(GraphFrm.Ypoints,3,50);
|
||||
SetLength(GraphFrm.Xpoints,3,50);
|
||||
// store points for means
|
||||
gamma := 0.0;
|
||||
for i := 1 to 49 do
|
||||
begin
|
||||
for j := 1 to 3 do
|
||||
begin
|
||||
GraphFrm.Ypoints[j-1,i-1] := x4[i,j];
|
||||
GraphFrm.Xpoints[j-1,i-1] := gamma;
|
||||
end;
|
||||
gamma := gamma + 0.04;
|
||||
end;
|
||||
title := 'Plot of ts for change in level and slope and posterior';
|
||||
GraphFrm.nosets := 3;
|
||||
GraphFrm.nbars := 49;
|
||||
GraphFrm.Heading := title;
|
||||
GraphFrm.SetLabels[1] := 'level';
|
||||
GraphFrm.SetLabels[2] := 'slope';
|
||||
GraphFrm.SetLabels[3] := 'posterior';
|
||||
GraphFrm.XTitle := 'Gamma Increment';
|
||||
GraphFrm.YTitle := 't';
|
||||
GraphFrm.barwideprop := 0.5;
|
||||
GraphFrm.AutoScale := true;
|
||||
GraphFrm.GraphType := 5; // 2d line chart
|
||||
GraphFrm.BackColor := clYellow;
|
||||
GraphFrm.WallColor := clBlack;
|
||||
GraphFrm.FloorColor := clLtGray;
|
||||
GraphFrm.ShowBackWall := true;
|
||||
GraphFrm.ShowModal;
|
||||
|
||||
GraphFrm.Xpoints := nil;
|
||||
GraphFrm.Ypoints := nil;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I interruptedunit.lrs}
|
||||
|
||||
end.
|
||||
|
80
applications/lazstats/source_orig/inversezunit.lfm
Normal file
80
applications/lazstats/source_orig/inversezunit.lfm
Normal file
@ -0,0 +1,80 @@
|
||||
object InversezForm: TInversezForm
|
||||
Left = 288
|
||||
Height = 179
|
||||
Top = 161
|
||||
Width = 320
|
||||
Caption = 'Normal z for a given probability'
|
||||
ClientHeight = 179
|
||||
ClientWidth = 320
|
||||
OnShow = ResetBtnClick
|
||||
LCLVersion = '0.9.30'
|
||||
object Label1: TLabel
|
||||
Left = 9
|
||||
Height = 16
|
||||
Top = 13
|
||||
Width = 136
|
||||
Caption = 'Cumulative Probability = '
|
||||
ParentColor = False
|
||||
end
|
||||
object ProbEdit: TEdit
|
||||
Left = 153
|
||||
Height = 23
|
||||
Top = 7
|
||||
Width = 65
|
||||
TabOrder = 0
|
||||
Text = 'ProbEdit'
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 8
|
||||
Height = 16
|
||||
Top = 46
|
||||
Width = 144
|
||||
Caption = 'Corresponds to a z value = '
|
||||
ParentColor = False
|
||||
end
|
||||
object ZEdit: TEdit
|
||||
Left = 154
|
||||
Height = 23
|
||||
Top = 39
|
||||
Width = 65
|
||||
TabOrder = 1
|
||||
Text = 'ZEdit'
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 8
|
||||
Height = 33
|
||||
Top = 80
|
||||
Width = 82
|
||||
Cancel = True
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 2
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 113
|
||||
Height = 33
|
||||
Top = 80
|
||||
Width = 82
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 216
|
||||
Height = 33
|
||||
Top = 80
|
||||
Width = 82
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 115
|
||||
Height = 33
|
||||
Top = 130
|
||||
Width = 77
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 5
|
||||
end
|
||||
end
|
23
applications/lazstats/source_orig/inversezunit.lrs
Normal file
23
applications/lazstats/source_orig/inversezunit.lrs
Normal file
@ -0,0 +1,23 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TInversezForm','FORMDATA',[
|
||||
'TPF0'#13'TInversezForm'#12'InversezForm'#4'Left'#3' '#1#6'Height'#3#179#0#3
|
||||
+'Top'#3#161#0#5'Width'#3'@'#1#7'Caption'#6' Normal z for a given probability'
|
||||
+#12'ClientHeight'#3#179#0#11'ClientWidth'#3'@'#1#6'OnShow'#7#13'ResetBtnClic'
|
||||
+'k'#10'LCLVersion'#6#6'0.9.30'#0#6'TLabel'#6'Label1'#4'Left'#2#9#6'Height'#2
|
||||
+#16#3'Top'#2#13#5'Width'#3#136#0#7'Caption'#6#25'Cumulative Probability = '
|
||||
+#11'ParentColor'#8#0#0#5'TEdit'#8'ProbEdit'#4'Left'#3#153#0#6'Height'#2#23#3
|
||||
+'Top'#2#7#5'Width'#2'A'#8'TabOrder'#2#0#4'Text'#6#8'ProbEdit'#0#0#6'TLabel'#6
|
||||
+'Label2'#4'Left'#2#8#6'Height'#2#16#3'Top'#2'.'#5'Width'#3#144#0#7'Caption'#6
|
||||
+#27'Corresponds to a z value = '#11'ParentColor'#8#0#0#5'TEdit'#5'ZEdit'#4'L'
|
||||
+'eft'#3#154#0#6'Height'#2#23#3'Top'#2''''#5'Width'#2'A'#8'TabOrder'#2#1#4'Te'
|
||||
+'xt'#6#5'ZEdit'#0#0#7'TButton'#9'CancelBtn'#4'Left'#2#8#6'Height'#2'!'#3'Top'
|
||||
+#2'P'#5'Width'#2'R'#6'Cancel'#9#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8
|
||||
+'TabOrder'#2#2#0#0#7'TButton'#8'ResetBtn'#4'Left'#2'q'#6'Height'#2'!'#3'Top'
|
||||
+#2'P'#5'Width'#2'R'#7'Caption'#6#5'Reset'#7'OnClick'#7#13'ResetBtnClick'#8'T'
|
||||
+'abOrder'#2#3#0#0#7'TButton'#10'ComputeBtn'#4'Left'#3#216#0#6'Height'#2'!'#3
|
||||
+'Top'#2'P'#5'Width'#2'R'#7'Caption'#6#7'Compute'#7'OnClick'#7#15'ComputeBtnC'
|
||||
+'lick'#8'TabOrder'#2#4#0#0#7'TButton'#9'ReturnBtn'#4'Left'#2's'#6'Height'#2
|
||||
+'!'#3'Top'#3#130#0#5'Width'#2'M'#7'Caption'#6#6'Return'#11'ModalResult'#2#1#8
|
||||
+'TabOrder'#2#5#0#0#0
|
||||
]);
|
60
applications/lazstats/source_orig/inversezunit.pas
Normal file
60
applications/lazstats/source_orig/inversezunit.pas
Normal file
@ -0,0 +1,60 @@
|
||||
unit InversezUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, functionslib;
|
||||
|
||||
type
|
||||
|
||||
{ TInversezForm }
|
||||
|
||||
TInversezForm = class(TForm)
|
||||
CancelBtn: TButton;
|
||||
ComputeBtn: TButton;
|
||||
ResetBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
ZEdit: TEdit;
|
||||
Label2: TLabel;
|
||||
ProbEdit: TEdit;
|
||||
Label1: TLabel;
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
InversezForm: TInversezForm;
|
||||
|
||||
implementation
|
||||
|
||||
{ TInversezForm }
|
||||
|
||||
procedure TInversezForm.ResetBtnClick(Sender: TObject);
|
||||
begin
|
||||
ProbEdit.Text := '';
|
||||
ZEdit.Text := '';
|
||||
end;
|
||||
|
||||
procedure TInversezForm.ComputeBtnClick(Sender: TObject);
|
||||
VAR
|
||||
Prob, Zscore : double;
|
||||
outvalue : string;
|
||||
begin
|
||||
Prob := StrToFloat(ProbEdit.Text);
|
||||
Zscore := inversez(Prob);
|
||||
outvalue := format('%6.4f',[Zscore]);
|
||||
ZEdit.Text := outvalue;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I inversezunit.lrs}
|
||||
|
||||
end.
|
||||
|
245
applications/lazstats/source_orig/itembankingunit.lfm
Normal file
245
applications/lazstats/source_orig/itembankingunit.lfm
Normal file
@ -0,0 +1,245 @@
|
||||
object ItemBankFrm: TItemBankFrm
|
||||
Left = 139
|
||||
Height = 565
|
||||
Top = 107
|
||||
Width = 346
|
||||
Caption = 'Item Banking'
|
||||
ClientHeight = 545
|
||||
ClientWidth = 346
|
||||
Menu = MainMenu1
|
||||
OnCreate = FormCreate
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.30.4'
|
||||
object Label1: TLabel
|
||||
Left = 10
|
||||
Height = 16
|
||||
Top = 40
|
||||
Width = 86
|
||||
Caption = 'No. Item Codes:'
|
||||
ParentColor = False
|
||||
end
|
||||
object NItemCodesText: TEdit
|
||||
Left = 156
|
||||
Height = 23
|
||||
Top = 32
|
||||
Width = 44
|
||||
TabOrder = 0
|
||||
end
|
||||
object BankNameLabel: TLabel
|
||||
Left = 8
|
||||
Height = 16
|
||||
Top = 8
|
||||
Width = 92
|
||||
Caption = 'Item Bank Name:'
|
||||
ParentColor = False
|
||||
end
|
||||
object BankNameText: TEdit
|
||||
Left = 112
|
||||
Height = 23
|
||||
Top = 0
|
||||
Width = 224
|
||||
TabOrder = 1
|
||||
end
|
||||
object NMCItemsLabel: TLabel
|
||||
Left = 8
|
||||
Height = 16
|
||||
Top = 72
|
||||
Width = 142
|
||||
Caption = 'No. Multiple Choice Items:'
|
||||
ParentColor = False
|
||||
end
|
||||
object NMCItemsText: TEdit
|
||||
Left = 156
|
||||
Height = 23
|
||||
Top = 64
|
||||
Width = 44
|
||||
TabOrder = 2
|
||||
end
|
||||
object TFItemsLabel: TLabel
|
||||
Left = 8
|
||||
Height = 16
|
||||
Top = 104
|
||||
Width = 113
|
||||
Caption = 'No. True-False Items:'
|
||||
ParentColor = False
|
||||
end
|
||||
object NTFItemsText: TEdit
|
||||
Left = 156
|
||||
Height = 23
|
||||
Top = 96
|
||||
Width = 44
|
||||
TabOrder = 3
|
||||
end
|
||||
object NMatchLabel: TLabel
|
||||
Left = 8
|
||||
Height = 16
|
||||
Top = 136
|
||||
Width = 109
|
||||
Caption = 'No. Matching Items:'
|
||||
ParentColor = False
|
||||
end
|
||||
object NMatchItemsText: TEdit
|
||||
Left = 156
|
||||
Height = 23
|
||||
Top = 128
|
||||
Width = 44
|
||||
TabOrder = 4
|
||||
end
|
||||
object NEssayLabel: TLabel
|
||||
Left = 8
|
||||
Height = 16
|
||||
Top = 167
|
||||
Width = 86
|
||||
Caption = 'No. Essay Items:'
|
||||
ParentColor = False
|
||||
end
|
||||
object NEssayText: TEdit
|
||||
Left = 156
|
||||
Height = 23
|
||||
Top = 160
|
||||
Width = 44
|
||||
TabOrder = 5
|
||||
end
|
||||
object FilesLabel: TLabel
|
||||
Left = 16
|
||||
Height = 16
|
||||
Top = 320
|
||||
Width = 24
|
||||
Caption = 'Files'
|
||||
ParentColor = False
|
||||
end
|
||||
object FileListBox1: TFileListBox
|
||||
Left = 16
|
||||
Height = 188
|
||||
Top = 344
|
||||
Width = 267
|
||||
Directory = 'C:\Users\wgmiller\Desktop'
|
||||
ItemHeight = 15
|
||||
TabOrder = 6
|
||||
end
|
||||
object Button1: TButton
|
||||
Left = 15
|
||||
Height = 19
|
||||
Top = 272
|
||||
Width = 305
|
||||
Caption = 'Click to Change Directory to Options Default Directory'
|
||||
OnClick = Button1Click
|
||||
TabOrder = 7
|
||||
end
|
||||
object DirectoryEdit1: TEdit
|
||||
Left = 16
|
||||
Height = 23
|
||||
Top = 296
|
||||
Width = 267
|
||||
TabOrder = 8
|
||||
Text = 'DirectoryEdit1'
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 10
|
||||
Height = 16
|
||||
Top = 200
|
||||
Width = 79
|
||||
Caption = 'Test Specified?'
|
||||
ParentColor = False
|
||||
end
|
||||
object TestSpecifiedEdit: TEdit
|
||||
Left = 156
|
||||
Height = 23
|
||||
Top = 192
|
||||
Width = 44
|
||||
TabOrder = 9
|
||||
end
|
||||
object Label3: TLabel
|
||||
Left = 9
|
||||
Height = 16
|
||||
Top = 231
|
||||
Width = 74
|
||||
Caption = 'No. Specified:'
|
||||
ParentColor = False
|
||||
end
|
||||
object NSpecifiedEdit: TEdit
|
||||
Left = 157
|
||||
Height = 23
|
||||
Top = 226
|
||||
Width = 43
|
||||
TabOrder = 10
|
||||
Text = 'NSpecifiedEdit'
|
||||
end
|
||||
object MainMenu1: TMainMenu
|
||||
left = 272
|
||||
top = 72
|
||||
object MenuItem1: TMenuItem
|
||||
Caption = 'Item Bank'
|
||||
object OpenItemBank: TMenuItem
|
||||
Caption = 'Open an existing item bank'
|
||||
OnClick = OpenItemBankClick
|
||||
end
|
||||
object NewItemBank: TMenuItem
|
||||
Caption = 'Create a new item bank'
|
||||
OnClick = NewItemBankClick
|
||||
end
|
||||
object SaveBankMenu: TMenuItem
|
||||
Caption = 'Save Current Item Bank'
|
||||
OnClick = SaveBankMenuClick
|
||||
end
|
||||
object ExitThis: TMenuItem
|
||||
Caption = 'Exit this procedure'
|
||||
OnClick = ExitThisClick
|
||||
end
|
||||
end
|
||||
object Operations: TMenuItem
|
||||
Caption = 'Operations'
|
||||
object CreateCodes: TMenuItem
|
||||
Caption = 'Create Item Content Codes'
|
||||
OnClick = CreateCodesClick
|
||||
end
|
||||
object ShowCodes: TMenuItem
|
||||
Caption = 'Display all codes'
|
||||
OnClick = ShowCodesClick
|
||||
end
|
||||
object MCItems: TMenuItem
|
||||
Caption = 'Create or Edit Multiple Choice Items'
|
||||
OnClick = MCItemsClick
|
||||
end
|
||||
object TFItems: TMenuItem
|
||||
Caption = 'Create or Edit True-False Items'
|
||||
OnClick = TFItemsClick
|
||||
end
|
||||
object MatchingItems: TMenuItem
|
||||
Caption = 'Create or Edit Matching Items'
|
||||
OnClick = MatchingItemsClick
|
||||
end
|
||||
object EssayItems: TMenuItem
|
||||
Caption = 'Create or Edit Essay Items'
|
||||
OnClick = EssayItemsClick
|
||||
end
|
||||
end
|
||||
object TestOptions: TMenuItem
|
||||
Caption = 'Test Options'
|
||||
object TestSpecs: TMenuItem
|
||||
Caption = 'Specify a test''s Contents'
|
||||
OnClick = TestSpecsClick
|
||||
end
|
||||
object ListItems: TMenuItem
|
||||
Caption = 'List all test items'
|
||||
OnClick = ListItemsClick
|
||||
end
|
||||
object PrintTest: TMenuItem
|
||||
Caption = 'Print a test to administer'
|
||||
OnClick = PrintTestClick
|
||||
end
|
||||
end
|
||||
end
|
||||
object OpenDialog1: TOpenDialog
|
||||
left = 272
|
||||
top = 184
|
||||
end
|
||||
object SaveDialog1: TSaveDialog
|
||||
left = 272
|
||||
top = 128
|
||||
end
|
||||
object SelDir: TSelectDirectoryDialog
|
||||
left = 208
|
||||
top = 184
|
||||
end
|
||||
end
|
65
applications/lazstats/source_orig/itembankingunit.lrs
Normal file
65
applications/lazstats/source_orig/itembankingunit.lrs
Normal file
@ -0,0 +1,65 @@
|
||||
LazarusResources.Add('TItemBankFrm','FORMDATA',[
|
||||
'TPF0'#12'TItemBankFrm'#11'ItemBankFrm'#4'Left'#3#139#0#6'Height'#3'5'#2#3'To'
|
||||
+'p'#2'k'#5'Width'#3'Z'#1#7'Caption'#6#12'Item Banking'#12'ClientHeight'#3'!'
|
||||
+#2#11'ClientWidth'#3'Z'#1#4'Menu'#7#9'MainMenu1'#8'OnCreate'#7#10'FormCreate'
|
||||
+#6'OnShow'#7#8'FormShow'#10'LCLVersion'#6#8'0.9.30.4'#0#6'TLabel'#6'Label1'#4
|
||||
+'Left'#2#10#6'Height'#2#16#3'Top'#2'('#5'Width'#2'V'#7'Caption'#6#15'No. Ite'
|
||||
+'m Codes:'#11'ParentColor'#8#0#0#5'TEdit'#14'NItemCodesText'#4'Left'#3#156#0
|
||||
+#6'Height'#2#23#3'Top'#2' '#5'Width'#2','#8'TabOrder'#2#0#0#0#6'TLabel'#13'B'
|
||||
+'ankNameLabel'#4'Left'#2#8#6'Height'#2#16#3'Top'#2#8#5'Width'#2'\'#7'Caption'
|
||||
+#6#15'Item Bank Name:'#11'ParentColor'#8#0#0#5'TEdit'#12'BankNameText'#4'Lef'
|
||||
+'t'#2'p'#6'Height'#2#23#3'Top'#2#0#5'Width'#3#224#0#8'TabOrder'#2#1#0#0#6'TL'
|
||||
+'abel'#13'NMCItemsLabel'#4'Left'#2#8#6'Height'#2#16#3'Top'#2'H'#5'Width'#3
|
||||
+#142#0#7'Caption'#6#26'No. Multiple Choice Items:'#11'ParentColor'#8#0#0#5'T'
|
||||
+'Edit'#12'NMCItemsText'#4'Left'#3#156#0#6'Height'#2#23#3'Top'#2'@'#5'Width'#2
|
||||
+','#8'TabOrder'#2#2#0#0#6'TLabel'#12'TFItemsLabel'#4'Left'#2#8#6'Height'#2#16
|
||||
+#3'Top'#2'h'#5'Width'#2'q'#7'Caption'#6#21'No. True-False Items:'#11'ParentC'
|
||||
+'olor'#8#0#0#5'TEdit'#12'NTFItemsText'#4'Left'#3#156#0#6'Height'#2#23#3'Top'
|
||||
+#2'`'#5'Width'#2','#8'TabOrder'#2#3#0#0#6'TLabel'#11'NMatchLabel'#4'Left'#2#8
|
||||
+#6'Height'#2#16#3'Top'#3#136#0#5'Width'#2'm'#7'Caption'#6#19'No. Matching It'
|
||||
+'ems:'#11'ParentColor'#8#0#0#5'TEdit'#15'NMatchItemsText'#4'Left'#3#156#0#6
|
||||
+'Height'#2#23#3'Top'#3#128#0#5'Width'#2','#8'TabOrder'#2#4#0#0#6'TLabel'#11
|
||||
+'NEssayLabel'#4'Left'#2#8#6'Height'#2#16#3'Top'#3#167#0#5'Width'#2'V'#7'Capt'
|
||||
+'ion'#6#16'No. Essay Items:'#11'ParentColor'#8#0#0#5'TEdit'#10'NEssayText'#4
|
||||
+'Left'#3#156#0#6'Height'#2#23#3'Top'#3#160#0#5'Width'#2','#8'TabOrder'#2#5#0
|
||||
+#0#6'TLabel'#10'FilesLabel'#4'Left'#2#16#6'Height'#2#16#3'Top'#3'@'#1#5'Widt'
|
||||
+'h'#2#24#7'Caption'#6#5'Files'#11'ParentColor'#8#0#0#12'TFileListBox'#12'Fil'
|
||||
+'eListBox1'#4'Left'#2#16#6'Height'#3#188#0#3'Top'#3'X'#1#5'Width'#3#11#1#9'D'
|
||||
+'irectory'#6#25'C:\Users\wgmiller\Desktop'#10'ItemHeight'#2#15#8'TabOrder'#2
|
||||
+#6#0#0#7'TButton'#7'Button1'#4'Left'#2#15#6'Height'#2#19#3'Top'#3#16#1#5'Wid'
|
||||
+'th'#3'1'#1#7'Caption'#6'6Click to Change Directory to Options Default Direc'
|
||||
+'tory'#7'OnClick'#7#12'Button1Click'#8'TabOrder'#2#7#0#0#5'TEdit'#14'Directo'
|
||||
+'ryEdit1'#4'Left'#2#16#6'Height'#2#23#3'Top'#3'('#1#5'Width'#3#11#1#8'TabOrd'
|
||||
+'er'#2#8#4'Text'#6#14'DirectoryEdit1'#0#0#6'TLabel'#6'Label2'#4'Left'#2#10#6
|
||||
+'Height'#2#16#3'Top'#3#200#0#5'Width'#2'O'#7'Caption'#6#15'Test Specified?'
|
||||
+#11'ParentColor'#8#0#0#5'TEdit'#17'TestSpecifiedEdit'#4'Left'#3#156#0#6'Heig'
|
||||
+'ht'#2#23#3'Top'#3#192#0#5'Width'#2','#8'TabOrder'#2#9#0#0#6'TLabel'#6'Label'
|
||||
+'3'#4'Left'#2#9#6'Height'#2#16#3'Top'#3#231#0#5'Width'#2'J'#7'Caption'#6#14
|
||||
+'No. Specified:'#11'ParentColor'#8#0#0#5'TEdit'#14'NSpecifiedEdit'#4'Left'#3
|
||||
+#157#0#6'Height'#2#23#3'Top'#3#226#0#5'Width'#2'+'#8'TabOrder'#2#10#4'Text'#6
|
||||
+#14'NSpecifiedEdit'#0#0#9'TMainMenu'#9'MainMenu1'#4'left'#3#16#1#3'top'#2'H'
|
||||
+#0#9'TMenuItem'#9'MenuItem1'#7'Caption'#6#9'Item Bank'#0#9'TMenuItem'#12'Ope'
|
||||
+'nItemBank'#7'Caption'#6#26'Open an existing item bank'#7'OnClick'#7#17'Open'
|
||||
+'ItemBankClick'#0#0#9'TMenuItem'#11'NewItemBank'#7'Caption'#6#22'Create a ne'
|
||||
+'w item bank'#7'OnClick'#7#16'NewItemBankClick'#0#0#9'TMenuItem'#12'SaveBank'
|
||||
+'Menu'#7'Caption'#6#22'Save Current Item Bank'#7'OnClick'#7#17'SaveBankMenuC'
|
||||
+'lick'#0#0#9'TMenuItem'#8'ExitThis'#7'Caption'#6#19'Exit this procedure'#7'O'
|
||||
+'nClick'#7#13'ExitThisClick'#0#0#0#9'TMenuItem'#10'Operations'#7'Caption'#6
|
||||
+#10'Operations'#0#9'TMenuItem'#11'CreateCodes'#7'Caption'#6#25'Create Item C'
|
||||
+'ontent Codes'#7'OnClick'#7#16'CreateCodesClick'#0#0#9'TMenuItem'#9'ShowCode'
|
||||
+'s'#7'Caption'#6#17'Display all codes'#7'OnClick'#7#14'ShowCodesClick'#0#0#9
|
||||
+'TMenuItem'#7'MCItems'#7'Caption'#6'$Create or Edit Multiple Choice Items'#7
|
||||
+'OnClick'#7#12'MCItemsClick'#0#0#9'TMenuItem'#7'TFItems'#7'Caption'#6#31'Cre'
|
||||
+'ate or Edit True-False Items'#7'OnClick'#7#12'TFItemsClick'#0#0#9'TMenuItem'
|
||||
+#13'MatchingItems'#7'Caption'#6#29'Create or Edit Matching Items'#7'OnClick'
|
||||
+#7#18'MatchingItemsClick'#0#0#9'TMenuItem'#10'EssayItems'#7'Caption'#6#26'Cr'
|
||||
+'eate or Edit Essay Items'#7'OnClick'#7#15'EssayItemsClick'#0#0#0#9'TMenuIte'
|
||||
+'m'#11'TestOptions'#7'Caption'#6#12'Test Options'#0#9'TMenuItem'#9'TestSpecs'
|
||||
+#7'Caption'#6#25'Specify a test''s Contents'#7'OnClick'#7#14'TestSpecsClick'
|
||||
+#0#0#9'TMenuItem'#9'ListItems'#7'Caption'#6#19'List all test items'#7'OnClic'
|
||||
+'k'#7#14'ListItemsClick'#0#0#9'TMenuItem'#9'PrintTest'#7'Caption'#6#26'Print'
|
||||
+' a test to administer'#7'OnClick'#7#14'PrintTestClick'#0#0#0#0#11'TOpenDial'
|
||||
+'og'#11'OpenDialog1'#4'left'#3#16#1#3'top'#3#184#0#0#0#11'TSaveDialog'#11'Sa'
|
||||
+'veDialog1'#4'left'#3#16#1#3'top'#3#128#0#0#0#22'TSelectDirectoryDialog'#6'S'
|
||||
+'elDir'#4'left'#3#208#0#3'top'#3#184#0#0#0#0
|
||||
]);
|
752
applications/lazstats/source_orig/itembankingunit.pas
Normal file
752
applications/lazstats/source_orig/itembankingunit.pas
Normal file
@ -0,0 +1,752 @@
|
||||
unit ItemBankingUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
Menus, EditBtn, StdCtrls, outputunit, FileCtrl, ItemCodesUnit, OptionsUnit,
|
||||
TFItemUnit, EssayItemUnit, MCItemUnit, MatchItemUnit, TestSpecsUnit;
|
||||
|
||||
type
|
||||
Bank = Record
|
||||
BankName : string;
|
||||
NMCItems : integer;
|
||||
NTFItems : integer;
|
||||
NMatchItems : integer;
|
||||
NEssayItems : integer;
|
||||
NCodes : integer;
|
||||
TestItems : integer;
|
||||
end;
|
||||
|
||||
type
|
||||
MCItem = Record
|
||||
ItemNumber : integer;
|
||||
MajorCode : integer;
|
||||
MinorCode : integer;
|
||||
NoChoices : integer;
|
||||
ItemStem : string;
|
||||
ChoiceOne : string;
|
||||
ChoiceTwo : string;
|
||||
ChoiceThree : string;
|
||||
ChoiceFour : string;
|
||||
ChoiceFive : string;
|
||||
CorrectChoice : char;
|
||||
PicName : string;
|
||||
end;
|
||||
|
||||
type
|
||||
TFItem = Record
|
||||
ItemNumber : integer;
|
||||
MajorCode : integer;
|
||||
MinorCode : integer;
|
||||
ItemStem : string;
|
||||
CorrectChoice : char;
|
||||
PicName : string;
|
||||
end;
|
||||
|
||||
type
|
||||
MatchItem = Record
|
||||
ItemNumber : integer;
|
||||
MajorCode : integer;
|
||||
MinorCode : integer;
|
||||
NLeft : integer;
|
||||
NRight : integer;
|
||||
Left1 : string;
|
||||
Left2 : string;
|
||||
Left3 : string;
|
||||
Left4 : string;
|
||||
Left5 : string;
|
||||
Right1 : string;
|
||||
Right2 : string;
|
||||
Right3 : string;
|
||||
Right4 : string;
|
||||
Right5 : string;
|
||||
CorrectChoice : char;
|
||||
PicName : string;
|
||||
end;
|
||||
|
||||
type
|
||||
EssayItem = Record
|
||||
ItemNumber : integer;
|
||||
MajorCode : integer;
|
||||
MinorCode : integer;
|
||||
ItemStem : string;
|
||||
Answer : string;
|
||||
PicName : string;
|
||||
end;
|
||||
|
||||
|
||||
type CodeData = record
|
||||
codenumber : integer;
|
||||
majorcodes : integer;
|
||||
minorcodes : integer;
|
||||
Description : string;
|
||||
end;
|
||||
type testspec = record
|
||||
ItemNumber : integer;
|
||||
MajorCode : integer;
|
||||
MinorCode : integer;
|
||||
ItemType : string;
|
||||
end;
|
||||
|
||||
type
|
||||
|
||||
{ TItemBankFrm }
|
||||
|
||||
TItemBankFrm = class(TForm)
|
||||
BankNameLabel: TLabel;
|
||||
BankNameText: TEdit;
|
||||
Button1: TButton;
|
||||
DirectoryEdit1: TEdit;
|
||||
NSpecifiedEdit: TEdit;
|
||||
Label3: TLabel;
|
||||
TestSpecifiedEdit: TEdit;
|
||||
FileListBox1: TFileListBox;
|
||||
FilesLabel: TLabel;
|
||||
Label2: TLabel;
|
||||
ShowCodes: TMenuItem;
|
||||
OpenDialog1: TOpenDialog;
|
||||
SaveBankMenu: TMenuItem;
|
||||
NEssayText: TEdit;
|
||||
NEssayLabel: TLabel;
|
||||
NMatchItemsText: TEdit;
|
||||
NMatchLabel: TLabel;
|
||||
NTFItemsText: TEdit;
|
||||
SaveDialog1: TSaveDialog;
|
||||
SelDir: TSelectDirectoryDialog;
|
||||
TFItemsLabel: TLabel;
|
||||
NMCItemsText: TEdit;
|
||||
NMCItemsLabel: TLabel;
|
||||
NItemCodesText: TEdit;
|
||||
Label1: TLabel;
|
||||
MainMenu1: TMainMenu;
|
||||
MenuItem1: TMenuItem;
|
||||
MCItems: TMenuItem;
|
||||
MatchingItems: TMenuItem;
|
||||
EssayItems: TMenuItem;
|
||||
ListItems: TMenuItem;
|
||||
ExitThis: TMenuItem;
|
||||
CreateCodes: TMenuItem;
|
||||
PrintTest: TMenuItem;
|
||||
TestSpecs: TMenuItem;
|
||||
TestOptions: TMenuItem;
|
||||
TFItems: TMenuItem;
|
||||
Operations: TMenuItem;
|
||||
NewItemBank: TMenuItem;
|
||||
OpenItemBank: TMenuItem;
|
||||
procedure Button1Click(Sender: TObject);
|
||||
procedure CreateCodesClick(Sender: TObject);
|
||||
procedure EssayItemsClick(Sender: TObject);
|
||||
procedure ExitThisClick(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure ListItemsClick(Sender: TObject);
|
||||
procedure MatchingItemsClick(Sender: TObject);
|
||||
procedure MCItemsClick(Sender: TObject);
|
||||
procedure NewItemBankClick(Sender: TObject);
|
||||
procedure OpenItemBankClick(Sender: TObject);
|
||||
procedure PrintTestClick(Sender: TObject);
|
||||
procedure SaveBankMenuClick(Sender: TObject);
|
||||
procedure ShowCodesClick(Sender: TObject);
|
||||
procedure TestSpecsClick(Sender: TObject);
|
||||
procedure TFItemsClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
Bitmap : TBitmap;
|
||||
Grect : TRect;
|
||||
public
|
||||
{ public declarations }
|
||||
CodesInfo : array[1..100] of CodeData;
|
||||
MCItemInfo : array[1..100] of MCItem;
|
||||
TFItemInfo : array[1..100] of TFItem;
|
||||
MatchInfo : array[1..100] of MatchItem;
|
||||
EssayInfo : array[1..100] of EssayItem;
|
||||
TestContents : array[1..100] of testspec;
|
||||
BankInfo : Bank;
|
||||
// FileName : string;
|
||||
|
||||
end;
|
||||
|
||||
var
|
||||
ItemBankFrm: TItemBankFrm;
|
||||
|
||||
implementation
|
||||
|
||||
{ TItemBankFrm }
|
||||
|
||||
procedure TItemBankFrm.OpenItemBankClick(Sender: TObject);
|
||||
var
|
||||
FileName : string;
|
||||
BankFile : TextFile;
|
||||
i : integer;
|
||||
cellvalue : integer;
|
||||
nochoices : integer;
|
||||
begin
|
||||
OpenDialog1.DefaultExt := '.BNK';
|
||||
OpenDialog1.Filter := 'ALL (*.*)|*.*|Item Bank (*.BNK)|*.BNK';
|
||||
OpenDialog1.FilterIndex := 2;
|
||||
if OpenDialog1.Execute then
|
||||
begin
|
||||
FileName := OpenDialog1.FileName;
|
||||
BankNameText.Text := FileName;
|
||||
FileName := OpenDialog1.FileName;
|
||||
AssignFile(BankFile,FileName);
|
||||
Reset(BankFile);
|
||||
// place all data from the records in this file
|
||||
// read general BankInfo first
|
||||
Readln(BankFile,BankInfo.BankName);
|
||||
Readln(BankFile,BankInfo.NMCItems);
|
||||
NMCItemsText.Text := IntToStr(BankInfo.NMCItems);
|
||||
Readln(BankFile,BankInfo.NTFItems);
|
||||
NTFItemsText.Text := IntToStr(BankInfo.NTFItems);
|
||||
Readln(BankFile,BankInfo.NMatchItems);
|
||||
NMatchItemsText.Text := IntToStr(BankInfo.NMatchItems );
|
||||
Readln(BankFile,BankInfo.NEssayItems);
|
||||
NEssayText.Text := IntToStr(BankInfo.NEssayItems );
|
||||
Readln(BankFile,BankInfo.NCodes);
|
||||
NItemCodesText.Text := IntToStr(BankInfo.NCodes);
|
||||
Readln(BankFile,BankInfo.TestItems);
|
||||
NSpecifiedEdit.Text := IntToStr(BankInfo.TestItems);
|
||||
// ShowMessage('Read no. of items by type');
|
||||
// now read codes
|
||||
if BankInfo.Ncodes > 0 then
|
||||
begin
|
||||
for i := 1 to BankInfo.NCodes do
|
||||
begin
|
||||
Readln(BankFile,cellvalue);
|
||||
CodesInfo[i].codenumber := cellvalue;
|
||||
Readln(BankFile,cellvalue);
|
||||
CodesInfo[i].majorcodes := cellvalue;
|
||||
Readln(BankFile,cellvalue);
|
||||
CodesInfo[i].minorcodes := cellvalue;
|
||||
Readln(BankFile,CodesInfo[i].Description);
|
||||
end;
|
||||
// ShowMessage('Read item codes');
|
||||
end;
|
||||
// now read MC items
|
||||
if BankInfo.NMCItems > 0 then
|
||||
begin
|
||||
for i := 1 to BankInfo.NMCItems do
|
||||
begin
|
||||
Readln(BankFile,MCItemInfo[i].ItemNumber);
|
||||
Readln(BankFile,MCItemInfo[i].MajorCode);
|
||||
Readln(BankFile,MCItemInfo[i].MinorCode);
|
||||
Readln(BankFile,MCItemInfo[i].NoChoices);
|
||||
Readln(BankFile,MCItemInfo[i].ItemStem);
|
||||
nochoices := McItemInfo[i].NoChoices;
|
||||
if nochoices > 0 then Readln(BankFile,MCItemInfo[i].ChoiceOne);
|
||||
if nochoices > 1 then Readln(BankFile,MCItemInfo[i].ChoiceTwo);
|
||||
if nochoices > 2 then Readln(BankFile,MCItemInfo[i].ChoiceThree);
|
||||
if nochoices > 3 then Readln(BankFile,MCItemInfo[i].ChoiceFour);
|
||||
if nochoices > 4 then Readln(BankFile,MCItemInfo[i].ChoiceFive);
|
||||
Readln(BankFile,MCItemInfo[i].CorrectChoice);
|
||||
Readln(BankFile,MCItemInfo[i].PicName);
|
||||
end;
|
||||
// ShowMessage('Read MC items');
|
||||
end;
|
||||
// now read T-F items
|
||||
if BankInfo.NTFItems > 0 then
|
||||
begin
|
||||
for i := 1 to BankInfo.NTFItems do
|
||||
begin
|
||||
readln(BankFile,TFItemInfo[i].ItemNumber);
|
||||
Readln(BankFile,TFItemInfo[i].MajorCode);
|
||||
Readln(BankFile,TFItemInfo[i].MinorCode);
|
||||
Readln(BankFile,TFItemInfo[i].ItemStem);
|
||||
Readln(BankFile,TFItemInfo[i].CorrectChoice);
|
||||
Readln(BankFile,TFItemInfo[i].PicName);
|
||||
end;
|
||||
// ShowMessage('Read True-False items');
|
||||
end;
|
||||
// now read matching items
|
||||
if BankInfo.NMatchItems > 0 then
|
||||
begin
|
||||
for i := 1 to BankInfo.NMatchItems do
|
||||
begin
|
||||
Readln(BankFile,MatchInfo[i].ItemNumber);
|
||||
Readln(BankFile,MatchInfo[i].MajorCode);
|
||||
Readln(BankFile,MatchInfo[i].MinorCode);
|
||||
Readln(BankFile,MatchInfo[i].NLeft);
|
||||
Readln(BankFile,MatchInfo[i].NRight);
|
||||
nochoices := MatchInfo[i].NLeft;
|
||||
if nochoices > 0 then Readln(BankFile,MatchInfo[i].Left1);
|
||||
if nochoices > 1 then Readln(BankFile,MatchInfo[i].Left2);
|
||||
if nochoices > 2 then Readln(BankFile,MatchInfo[i].Left3);
|
||||
if nochoices > 3 then Readln(BankFile,MatchInfo[i].Left4);
|
||||
if nochoices > 4 then Readln(BankFile,MatchInfo[i].Left5);
|
||||
nochoices := MatchInfo[i].NRight;
|
||||
if nochoices > 0 then Readln(BankFile,MatchInfo[i].Right1);
|
||||
if nochoices > 1 then Readln(BankFile,MatchInfo[i].Right2);
|
||||
if nochoices > 2 then Readln(BankFile,MatchInfo[i].Right3);
|
||||
if nochoices > 3 then Readln(BankFile,MatchInfo[i].Right4);
|
||||
if nochoices > 4 then Readln(BankFile,MatchInfo[i].Right5);
|
||||
Readln(BankFile,MatchInfo[i].CorrectChoice);
|
||||
Readln(BankFile,MatchInfo[i].PicName);
|
||||
end;
|
||||
// ShowMessage('Read Matching items');
|
||||
end;
|
||||
// now read essay items
|
||||
if BankInfo.NEssayItems > 0 then
|
||||
begin
|
||||
for i := 1 to BankInfo.NEssayItems do
|
||||
begin
|
||||
Readln(BankFile,EssayInfo[i].ItemNumber);
|
||||
Readln(BankFile,EssayInfo[i].MajorCode);
|
||||
Readln(BankFile,EssayInfo[i].MinorCode);
|
||||
Readln(BankFile,EssayInfo[i].ItemStem);
|
||||
Readln(BankFile,EssayInfo[i].Answer);
|
||||
Readln(BankFile,EssayInfo[i].PicName);
|
||||
end;
|
||||
// ShowMessage('Read Essay items');
|
||||
end;
|
||||
if BankInfo.TestItems > 0 then
|
||||
begin
|
||||
TestSpecifiedEdit.Text := 'Y';
|
||||
for i := 1 to BankInfo.TestItems do
|
||||
begin
|
||||
readln(BankFile,TestContents[i].ItemNumber);
|
||||
readln(BankFile,TestContents[i].MajorCode);
|
||||
readln(BankFile,TestContents[i].MinorCode);
|
||||
readln(BankFile,TestContents[i].ItemType);
|
||||
end;
|
||||
end;
|
||||
CloseFile(BankFile);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TItemBankFrm.PrintTestClick(Sender: TObject);
|
||||
Var
|
||||
outline : string[180];
|
||||
i, nmc, ntf, nessay, nmatch, itemno : integer;
|
||||
mcitem, tfitem, essayitem, matchitem : integer;
|
||||
nleft, nright : integer;
|
||||
JPEG : TJPEGImage;
|
||||
begin
|
||||
itemno := 0;
|
||||
nmc := StrToInt(NMCItemsText.Text);
|
||||
ntf := StrToInt(NTFItemsText.Text);
|
||||
nessay := StrToInt(NEssayText.Text);
|
||||
nmatch := StrToInt(NMatchItemsText.Text);
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
OutPutFrm.RichEdit.Lines.Add('Directions: This test may contain a variety of different item types.');
|
||||
OutPutFrm.RichEdit.Lines.Add('For each item, circle the correct answer or provide the answer if');
|
||||
OutPutFrm.RichEdit.Lines.Add('required. You may use the back of the test to provide answers to');
|
||||
OutPutFrm.RichEdit.Lines.Add('essay questions - just start with the item number.');
|
||||
OutPutFrm.RichEdit.Lines.Add('Start now!');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
if nmc > 0 then
|
||||
begin
|
||||
OutPutFrm.RichEdit.Lines.Add('MULTIPLE CHOICE ITEMS:');
|
||||
for i := 1 to BankInfo.TestItems do
|
||||
begin
|
||||
if TestContents[i].ItemType = 'MC' then
|
||||
begin
|
||||
itemno := itemno + 1;
|
||||
outline := format('Item %d',[itemno]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
mcitem := TestContents[i].ItemNumber;
|
||||
if MCItemInfo[mcitem].PicName <> 'none' then
|
||||
begin
|
||||
outline := format('Reference picture = %s',[MCItemInfo[mcitem].PicName]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
{ begin
|
||||
Grect.Top := OutPutFrm.RichEdit.Lines.Count ;
|
||||
Grect.Left := 20;
|
||||
Grect.Right := 120;
|
||||
Grect.Bottom := Grect.Top + 120;
|
||||
JPEG := TJPEGImage.Create;
|
||||
JPEG.LoadFromFile(MCItemInfo[mcitem].PicName) ;
|
||||
OutPutFrm.Canvas.StretchDraw(Grect,JPEG);
|
||||
JPEG.Free;
|
||||
end; }
|
||||
OutPutFrm.RichEdit.Lines.Add(MCItemInfo[mcitem].ItemStem);
|
||||
nleft := MCItemInfo[mcitem].NoChoices;
|
||||
OutPutFrm.RichEdit.Lines.Add('A. ' + MCItemInfo[mcitem].ChoiceOne);
|
||||
OutPutFrm.RichEdit.Lines.Add('B. ' + MCItemInfo[mcitem].ChoiceTwo);
|
||||
if nleft > 2 then
|
||||
OutPutFrm.RichEdit.Lines.Add('C. ' + MCItemInfo[mcitem].ChoiceThree);
|
||||
if nleft > 3 then
|
||||
OutPutFrm.RichEdit.Lines.Add('D. ' + MCItemInfo[mcitem].ChoiceFour);
|
||||
if nleft > 4 then
|
||||
OutPutFrm.RichEdit.Lines.Add('E. ' + MCItemInfo[mcitem].ChoiceFive);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
if ntf > 0 then
|
||||
begin
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('TRUE OR FALSE ITEMS:');
|
||||
for i := 1 to BankInfo.TestItems do
|
||||
begin
|
||||
if TestContents[i].ItemType = 'TF' then
|
||||
begin
|
||||
itemno := itemno + 1;
|
||||
outline := format('Item %d',[itemno]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
tfitem := TestContents[i].ItemNumber;
|
||||
OutPutFrm.RichEdit.Lines.Add(TFItemInfo[tfitem].ItemStem);
|
||||
OutPutFrm.RichEdit.Lines.Add('A. TRUE');
|
||||
OutPutFrm.RichEdit.Lines.Add('B. False');
|
||||
end;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
end;
|
||||
if nessay > 0 then
|
||||
begin
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('ESSAY ITEMS:');
|
||||
for i := 1 to BankInfo.TestItems do
|
||||
begin
|
||||
if TestContents[i].ItemType = 'Essay' then
|
||||
begin
|
||||
itemno := itemno + 1;
|
||||
outline := format('Item %d',[itemno]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
essayitem := TestContents[i].ItemNumber;
|
||||
OutPutFrm.RichEdit.Lines.Add(EssayInfo[essayitem].ItemStem);
|
||||
end;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
end;
|
||||
if nmatch > 0 then
|
||||
begin
|
||||
OutPutFrm.RichEdit.Lines.Add('MATCHING ITEMS:');
|
||||
for i := 1 to BankInfo.TestItems do
|
||||
begin
|
||||
if TestContents[i].ItemType = 'Matching' then
|
||||
begin
|
||||
itemno := itemno + 1;
|
||||
outline := format('Item %d',[itemno]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
matchitem := TestContents[i].ItemNumber;
|
||||
outline := format('A. %s',[ItemBankFrm.MatchInfo[matchitem].Left1]);
|
||||
outline := outline + ' 1. ';
|
||||
outline := outline + ItemBankFrm.MatchInfo[matchitem].Right1 ;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('B. %s',[ItemBankFrm.MatchInfo[matchitem].Left2]);
|
||||
nleft := ItemBankFrm.MatchInfo[matchitem].NLeft;
|
||||
nright := ItemBankFrm.MatchInfo[matchitem].NRight;
|
||||
if nright > 1 then
|
||||
begin
|
||||
outline := outline + ' 2. ';
|
||||
outline := outline + ItemBankFrm.MatchInfo[matchitem].Right2;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
if nleft > 2 then
|
||||
begin
|
||||
outline := format('C. %s',[ItemBankFrm.MatchInfo[matchitem].Left3]);
|
||||
if nright > 2 then
|
||||
begin
|
||||
outline := outline + ' 3. ';
|
||||
outline := outline + ItemBankFrm.MatchInfo[matchitem].Right3;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
|
||||
if nleft > 3 then
|
||||
begin
|
||||
outline := format('D. %s',[ItemBankFrm.MatchInfo[matchitem].Left4]);
|
||||
if nright > 3 then
|
||||
begin
|
||||
outline := outline + ' 4. ';
|
||||
outline := outline + ItemBankFrm.MatchInfo[matchitem].Right4;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
|
||||
if nleft > 4 then
|
||||
begin
|
||||
outline := format('E. %s',[ItemBankFrm.MatchInfo[matchitem].Left5]);
|
||||
if nright > 4 then
|
||||
begin
|
||||
outline := outline + ' 5. ';
|
||||
outline := outline + ItemBankFrm.MatchInfo[matchitem].Right5;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
|
||||
end;
|
||||
// OutPutFrm.RichEdit.Lines.Add('');
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
end;
|
||||
OutPutFrm.ShowModal;
|
||||
end;
|
||||
|
||||
procedure TItemBankFrm.SaveBankMenuClick(Sender: TObject);
|
||||
var
|
||||
FileName : string;
|
||||
BankFile : TextFile;
|
||||
i : integer;
|
||||
cellvalue : integer;
|
||||
nochoices : integer;
|
||||
message : string;
|
||||
nspecs : integer;
|
||||
begin
|
||||
if BankNameText.Text = '' then Close;
|
||||
SaveDialog1.DefaultExt := '.BNK';
|
||||
SaveDialog1.Filter := 'ALL (*.*)|*.*|ItemBank (*.BNK)|*.BNK';
|
||||
SaveDialog1.FilterIndex := 2;
|
||||
if SaveDialog1.Execute then
|
||||
begin
|
||||
FileName := SaveDialog1.FileName;
|
||||
AssignFile(BankFile,FileName);
|
||||
Rewrite(BankFile);
|
||||
BankInfo.BankName := FileName;
|
||||
// place all data from the records in this file
|
||||
// write general BankInfo first
|
||||
writeln(BankFile,BankInfo.BankName);
|
||||
writeln(BankFile,BankInfo.NMCItems);
|
||||
writeln(BankFile,BankInfo.NTFItems);
|
||||
writeln(BankFile,BankInfo.NMatchItems);
|
||||
writeln(BankFile,BankInfo.NEssayItems);
|
||||
writeln(BankFile,BankInfo.NCodes);
|
||||
writeln(BankFile,BankInfo.TestItems);
|
||||
// now save codes
|
||||
if BankInfo.NCodes > 0 then
|
||||
begin
|
||||
for i := 1 to BankInfo.NCodes do
|
||||
begin
|
||||
cellvalue := CodesInfo[i].codenumber;
|
||||
writeln(BankFile,cellvalue);
|
||||
cellvalue := CodesInfo[i].majorcodes ;
|
||||
writeln(BankFile,cellvalue);
|
||||
cellvalue := CodesInfo[i].minorcodes;
|
||||
writeln(BankFile,cellvalue);
|
||||
writeln(BankFile,CodesInfo[i].Description);
|
||||
end;
|
||||
end;
|
||||
// now save MC items
|
||||
if BankInfo.NMCItems > 0 then
|
||||
begin
|
||||
for i := 1 to BankInfo.NMCItems do
|
||||
begin
|
||||
nochoices := MCItemInfo[i].NoChoices ;
|
||||
writeln(BankFile,MCItemInfo[i].ItemNumber);
|
||||
writeln(BankFile,MCItemInfo[i].MajorCode);
|
||||
writeln(BankFile,MCItemInfo[i].MinorCode);
|
||||
writeln(BankFile,MCItemInfo[i].NoChoices);
|
||||
writeln(BankFile,MCItemInfo[i].ItemStem);
|
||||
if nochoices > 0 then writeln(BankFile,MCItemInfo[i].ChoiceOne);
|
||||
if nochoices > 1 then writeln(BankFile,MCItemInfo[i].ChoiceTwo);
|
||||
if nochoices > 2 then writeln(BankFile,MCItemInfo[i].ChoiceThree);
|
||||
if nochoices > 3 then writeln(BankFile,MCItemInfo[i].ChoiceFour);
|
||||
if nochoices > 4 then writeln(BankFile,MCItemInfo[i].ChoiceFive);
|
||||
writeln(BankFile,MCItemInfo[i].CorrectChoice);
|
||||
writeln(BankFile,MCItemInfo[i].PicName);
|
||||
end;
|
||||
end;
|
||||
// now save T-F items
|
||||
if BankInfo.NTFItems > 0 then
|
||||
begin
|
||||
for i := 1 to BankInfo.NTFItems do
|
||||
begin
|
||||
writeln(BankFile,TFItemInfo[i].ItemNumber);
|
||||
writeln(BankFile,TFItemInfo[i].MajorCode);
|
||||
writeln(BankFile,TFItemInfo[i].MinorCode);
|
||||
writeln(BankFile,TFItemInfo[i].ItemStem);
|
||||
writeln(BankFile,TFItemInfo[i].CorrectChoice);
|
||||
writeln(BankFile,TFItemInfo[i].PicName);
|
||||
end;
|
||||
end;
|
||||
// now save matching items
|
||||
if BankInfo.NMatchItems > 0 then
|
||||
begin
|
||||
for i := 1 to BankInfo.NMatchItems do
|
||||
begin
|
||||
nochoices := MatchInfo[i].NLeft;
|
||||
Writeln(BankFile,MatchInfo[i].ItemNumber);
|
||||
writeln(BankFile,MatchInfo[i].MajorCode);
|
||||
writeln(BankFile,MatchInfo[i].MinorCode);
|
||||
writeln(BankFile,MatchInfo[i].NLeft);
|
||||
writeln(BankFile,MatchInfo[i].NRight);
|
||||
if nochoices > 0 then writeln(BankFile,MatchInfo[i].Left1);
|
||||
if nochoices > 1 then writeln(BankFile,MatchInfo[i].Left2);
|
||||
if nochoices > 2 then writeln(BankFile,MatchInfo[i].Left3);
|
||||
if nochoices > 3 then writeln(BankFile,MatchInfo[i].Left4);
|
||||
if nochoices > 4 then writeln(BankFile,MatchInfo[i].Left5);
|
||||
nochoices := MatchInfo[i].NRight;
|
||||
if nochoices > 0 then writeln(BankFile,MatchInfo[i].Right1);
|
||||
if nochoices > 1 then writeln(BankFile,MatchInfo[i].Right2);
|
||||
if nochoices > 2 then writeln(BankFile,MatchInfo[i].Right3);
|
||||
if nochoices > 3 then writeln(BankFile,MatchInfo[i].Right4);
|
||||
if nochoices > 4 then writeln(BankFile,MatchInfo[i].Right5);
|
||||
writeln(BankFile,MatchInfo[i].CorrectChoice);
|
||||
writeln(BankFile,MatchInfo[i].PicName);
|
||||
end;
|
||||
end;
|
||||
// now save essay items
|
||||
if BankInfo.NEssayItems > 0 then
|
||||
begin
|
||||
for i := 1 to BankInfo.NEssayItems do
|
||||
begin
|
||||
writeln(BankFile,EssayInfo[i].ItemNumber);
|
||||
writeln(BankFile,EssayInfo[i].MajorCode);
|
||||
writeln(BankFile,EssayInfo[i].MinorCode);
|
||||
writeln(BankFile,EssayInfo[i].ItemStem);
|
||||
writeln(BankFile,EssayInfo[i].Answer);
|
||||
writeln(BankFile,EssayInfo[i].PicName);
|
||||
end;
|
||||
end;
|
||||
// now save test specifications
|
||||
nspecs := StrToInt(NSpecifiedEdit.Text);
|
||||
if nspecs > 0 then
|
||||
begin
|
||||
TestSpecifiedEdit.Text := 'Y';
|
||||
for i := 1 to TestSpecsForm.testno do
|
||||
begin
|
||||
writeln(BankFile,TestContents[i].ItemNumber);
|
||||
writeln(BankFile,TestContents[i].MajorCode);
|
||||
writeln(BankFile,TestContents[i].MinorCode);
|
||||
writeln(BankFile,TestContents[i].ItemType);
|
||||
end;
|
||||
end;
|
||||
CloseFile(BankFile);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TItemBankFrm.ShowCodesClick(Sender: TObject);
|
||||
Var
|
||||
i : integer;
|
||||
outline : string;
|
||||
ncodes : integer;
|
||||
begin
|
||||
if NItemCodesText.Text <> '' then
|
||||
begin
|
||||
OutPutFrm.RichEdit.Lines.Add('Current Item Coding Scheme');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
ncodes := StrToInt(NItemCodesText.Text);
|
||||
for i := 1 to ncodes do
|
||||
begin
|
||||
outline := format('Code number %d',[i]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Major Code %d',[CodesInfo[i].majorcodes]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Minor Code %d',[CodesInfo[i].minorcodes]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Description %s',[CodesInfo[i].Description]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
end;
|
||||
OutPutFrm.ShowModal;
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
procedure TItemBankFrm.TestSpecsClick(Sender: TObject);
|
||||
begin
|
||||
TestSpecsForm.SpecFileEdit.Text := BankNameText.Text;
|
||||
TestSpecsForm.MCNoEdit.Text := IntToStr(BankInfo.NMCItems);
|
||||
TestSpecsForm.TFNoEdit.Text := IntToStr(BankInfo.NTFItems);
|
||||
TestSpecsForm.EssayNoEdit.Text := IntToStr(BankInfo.NEssayItems);
|
||||
TestSpecsForm.MatchNoEdit.Text := IntToStr(BankInfo.NMatchItems);
|
||||
TestSpecsForm.ShowModal;
|
||||
end;
|
||||
|
||||
procedure TItemBankFrm.TFItemsClick(Sender: TObject);
|
||||
begin
|
||||
TFItemForm.ShowModal;
|
||||
end;
|
||||
|
||||
procedure TItemBankFrm.NewItemBankClick(Sender: TObject);
|
||||
Var
|
||||
response : string;
|
||||
begin
|
||||
response := InputBox('SAVE','Save current item bank (Y or N)?','N');
|
||||
if response = 'Y' then SaveBankMenuClick(self);
|
||||
BankNameText.Text := '';
|
||||
OpenItemBankClick(self);
|
||||
end;
|
||||
|
||||
procedure TItemBankFrm.ExitThisClick(Sender: TObject);
|
||||
Var
|
||||
response : string;
|
||||
begin
|
||||
response := InputBox('SAVE','Save current item bank (Y or N)?','N');
|
||||
if response = 'Y' then SaveBankMenuClick(self);
|
||||
ItemBankFrm.Hide;
|
||||
Close;
|
||||
end;
|
||||
|
||||
procedure TItemBankFrm.FormCreate(Sender: TObject);
|
||||
begin
|
||||
DirectoryEdit1.Text := OptionsFrm.FilePathEdit.Text;
|
||||
FileListBox1.Directory := DirectoryEdit1.Text;
|
||||
end;
|
||||
|
||||
procedure TItemBankFrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
BankNameText.Text := '';
|
||||
NItemCodesText.Text := '';
|
||||
NMCItemsText.Text := '';
|
||||
NTFItemsText.Text := '';
|
||||
NMatchItemsText.Text := '';
|
||||
NEssayText.Text := '';
|
||||
BankInfo.BankName := '';
|
||||
BankInfo.NCodes := 0;
|
||||
BankInfo.NEssayItems := 0;
|
||||
BankInfo.NMatchItems := 0;
|
||||
BankInfo.NTFItems := 0;
|
||||
BankInfo.NMCItems := 0;
|
||||
TestSpecifiedEdit.Text := 'N';
|
||||
NSpecifiedEdit.Text := '';
|
||||
end;
|
||||
|
||||
procedure TItemBankFrm.ListItemsClick(Sender: TObject);
|
||||
Var
|
||||
i : integer;
|
||||
outline : string;
|
||||
begin
|
||||
if BankInfo.TestItems > 0 then
|
||||
begin
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
for i := 1 to BankInfo.TestItems do
|
||||
begin
|
||||
outline := format('Item number: %d',[TestContents[i].ItemNumber]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Major code: %d',[TestContents[i].MajorCode]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Minor code: %d',[TestContents[i].MinorCode]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Item type: %s',[TestContents[i].ItemType]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
end;
|
||||
OutPutFrm.ShowModal;
|
||||
end;
|
||||
|
||||
procedure TItemBankFrm.MatchingItemsClick(Sender: TObject);
|
||||
begin
|
||||
MatchItemForm.ShowModal;
|
||||
end;
|
||||
|
||||
procedure TItemBankFrm.MCItemsClick(Sender: TObject);
|
||||
begin
|
||||
MCItemForm.ShowModal;
|
||||
end;
|
||||
|
||||
procedure TItemBankFrm.CreateCodesClick(Sender: TObject);
|
||||
begin
|
||||
CodesForm.ShowModal;
|
||||
end;
|
||||
|
||||
procedure TItemBankFrm.Button1Click(Sender: TObject);
|
||||
begin
|
||||
DirectoryEdit1.Text := OptionsFrm.FilePathEdit.Text;
|
||||
FileListBox1.Directory := DirectoryEdit1.Text;
|
||||
end;
|
||||
|
||||
procedure TItemBankFrm.EssayItemsClick(Sender: TObject);
|
||||
begin
|
||||
EssayItemForm.ShowModal;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I itembankingunit.lrs}
|
||||
|
||||
end.
|
||||
|
134
applications/lazstats/source_orig/itemcodesunit.lfm
Normal file
134
applications/lazstats/source_orig/itemcodesunit.lfm
Normal file
@ -0,0 +1,134 @@
|
||||
object CodesForm: TCodesForm
|
||||
Left = 212
|
||||
Height = 286
|
||||
Top = 126
|
||||
Width = 709
|
||||
Caption = 'Code Creation Form'
|
||||
ClientHeight = 286
|
||||
ClientWidth = 709
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.30'
|
||||
object Memo1: TMemo
|
||||
Left = 24
|
||||
Height = 102
|
||||
Top = 4
|
||||
Width = 667
|
||||
Lines.Strings = (
|
||||
'One of the first steps in creating an item bank is to develop a coding scheme for each item in the item bank of items. You'
|
||||
'can create up to 100 major and minor codes to describe each item in your bank. Typically, the first item major code is 1 and '
|
||||
'the corresponding minor code is 0. You will typically have multiple minor coded items under each major code. For '
|
||||
'example, a major code 1 and minor code 0 might be a major section in a statistics book such as Descriptive Analyses. Under'
|
||||
'the same major code you might have a minor code 1 to represent items such as the Mean or the Standard Deviation.'
|
||||
'On this form you will enter the major and minor codes and a description for each one.'
|
||||
)
|
||||
TabOrder = 0
|
||||
end
|
||||
object ItemNoLabel: TLabel
|
||||
Left = 25
|
||||
Height = 16
|
||||
Top = 120
|
||||
Width = 79
|
||||
Caption = 'Code Number:'
|
||||
ParentColor = False
|
||||
end
|
||||
object ItemNoEdit: TEdit
|
||||
Left = 106
|
||||
Height = 23
|
||||
Top = 113
|
||||
Width = 37
|
||||
TabOrder = 1
|
||||
Text = '1'
|
||||
end
|
||||
object MajorLabel: TLabel
|
||||
Left = 168
|
||||
Height = 16
|
||||
Top = 120
|
||||
Width = 66
|
||||
Caption = 'Major Code:'
|
||||
ParentColor = False
|
||||
end
|
||||
object MajorEdit: TEdit
|
||||
Left = 238
|
||||
Height = 23
|
||||
Top = 112
|
||||
Width = 35
|
||||
TabOrder = 2
|
||||
Text = '1'
|
||||
end
|
||||
object MinorLabel: TLabel
|
||||
Left = 296
|
||||
Height = 16
|
||||
Top = 120
|
||||
Width = 67
|
||||
Caption = 'Minor Code:'
|
||||
ParentColor = False
|
||||
end
|
||||
object MinorEdit: TEdit
|
||||
Left = 368
|
||||
Height = 23
|
||||
Top = 114
|
||||
Width = 38
|
||||
TabOrder = 3
|
||||
Text = '0'
|
||||
end
|
||||
object DescLabel: TLabel
|
||||
Left = 25
|
||||
Height = 16
|
||||
Top = 153
|
||||
Width = 112
|
||||
Caption = 'Category Description'
|
||||
ParentColor = False
|
||||
end
|
||||
object DescriptionEdit: TEdit
|
||||
Left = 144
|
||||
Height = 23
|
||||
Top = 147
|
||||
Width = 545
|
||||
TabOrder = 4
|
||||
end
|
||||
object SaveCodeBtn: TButton
|
||||
Left = 24
|
||||
Height = 33
|
||||
Top = 189
|
||||
Width = 137
|
||||
Caption = 'Save Info. for this code'
|
||||
OnClick = SaveCodeBtnClick
|
||||
TabOrder = 5
|
||||
end
|
||||
object StartNewBtn: TButton
|
||||
Left = 168
|
||||
Height = 32
|
||||
Top = 189
|
||||
Width = 146
|
||||
Caption = 'Start New Code'
|
||||
OnClick = StartNewBtnClick
|
||||
TabOrder = 6
|
||||
end
|
||||
object DisplayBtn: TButton
|
||||
Left = 329
|
||||
Height = 32
|
||||
Top = 240
|
||||
Width = 177
|
||||
Caption = 'Display All Saved Code Data'
|
||||
OnClick = DisplayBtnClick
|
||||
TabOrder = 7
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 592
|
||||
Height = 30
|
||||
Top = 240
|
||||
Width = 92
|
||||
Caption = 'Return'
|
||||
OnClick = ReturnBtnClick
|
||||
TabOrder = 8
|
||||
end
|
||||
object EditOneBtn: TButton
|
||||
Left = 329
|
||||
Height = 31
|
||||
Top = 190
|
||||
Width = 177
|
||||
Caption = 'Edit a Specific Code Entry'
|
||||
OnClick = EditOneBtnClick
|
||||
TabOrder = 9
|
||||
end
|
||||
end
|
41
applications/lazstats/source_orig/itemcodesunit.lrs
Normal file
41
applications/lazstats/source_orig/itemcodesunit.lrs
Normal file
@ -0,0 +1,41 @@
|
||||
LazarusResources.Add('TCodesForm','FORMDATA',[
|
||||
'TPF0'#10'TCodesForm'#9'CodesForm'#4'Left'#3#212#0#6'Height'#3#30#1#3'Top'#2
|
||||
+'~'#5'Width'#3#197#2#7'Caption'#6#18'Code Creation Form'#12'ClientHeight'#3
|
||||
+#30#1#11'ClientWidth'#3#197#2#6'OnShow'#7#8'FormShow'#10'LCLVersion'#6#6'0.9'
|
||||
+'.30'#0#5'TMemo'#5'Memo1'#4'Left'#2#24#6'Height'#2'f'#3'Top'#2#4#5'Width'#3
|
||||
+#155#2#13'Lines.Strings'#1#6'{One of the first steps in creating an item ban'
|
||||
+'k is to develop a coding scheme for each item in the item bank of items. Y'
|
||||
+'ou'#6'~can create up to 100 major and minor codes to describe each item in '
|
||||
+'your bank. Typically, the first item major code is 1 and '#6'sthe correspo'
|
||||
+'nding minor code is 0. You will typically have multiple minor coded items '
|
||||
+'under each major code. For '#6'{example, a major code 1 and minor code 0 m'
|
||||
+'ight be a major section in a statistics book such as Descriptive Analyses. '
|
||||
+' Under'#6'pthe same major code you might have a minor code 1 to represent i'
|
||||
+'tems such as the Mean or the Standard Deviation.'#6'VOn this form you will '
|
||||
+'enter the major and minor codes and a description for each one.'#0#8'TabOr'
|
||||
+'der'#2#0#0#0#6'TLabel'#11'ItemNoLabel'#4'Left'#2#25#6'Height'#2#16#3'Top'#2
|
||||
+'x'#5'Width'#2'O'#7'Caption'#6#12'Code Number:'#11'ParentColor'#8#0#0#5'TEdi'
|
||||
+'t'#10'ItemNoEdit'#4'Left'#2'j'#6'Height'#2#23#3'Top'#2'q'#5'Width'#2'%'#8'T'
|
||||
+'abOrder'#2#1#4'Text'#6#1'1'#0#0#6'TLabel'#10'MajorLabel'#4'Left'#3#168#0#6
|
||||
+'Height'#2#16#3'Top'#2'x'#5'Width'#2'B'#7'Caption'#6#11'Major Code:'#11'Pare'
|
||||
+'ntColor'#8#0#0#5'TEdit'#9'MajorEdit'#4'Left'#3#238#0#6'Height'#2#23#3'Top'#2
|
||||
+'p'#5'Width'#2'#'#8'TabOrder'#2#2#4'Text'#6#1'1'#0#0#6'TLabel'#10'MinorLabel'
|
||||
+#4'Left'#3'('#1#6'Height'#2#16#3'Top'#2'x'#5'Width'#2'C'#7'Caption'#6#11'Min'
|
||||
+'or Code:'#11'ParentColor'#8#0#0#5'TEdit'#9'MinorEdit'#4'Left'#3'p'#1#6'Heig'
|
||||
+'ht'#2#23#3'Top'#2'r'#5'Width'#2'&'#8'TabOrder'#2#3#4'Text'#6#1'0'#0#0#6'TLa'
|
||||
+'bel'#9'DescLabel'#4'Left'#2#25#6'Height'#2#16#3'Top'#3#153#0#5'Width'#2'p'#7
|
||||
+'Caption'#6#20'Category Description'#11'ParentColor'#8#0#0#5'TEdit'#15'Descr'
|
||||
+'iptionEdit'#4'Left'#3#144#0#6'Height'#2#23#3'Top'#3#147#0#5'Width'#3'!'#2#8
|
||||
+'TabOrder'#2#4#0#0#7'TButton'#11'SaveCodeBtn'#4'Left'#2#24#6'Height'#2'!'#3
|
||||
+'Top'#3#189#0#5'Width'#3#137#0#7'Caption'#6#24'Save Info. for this code'#7'O'
|
||||
+'nClick'#7#16'SaveCodeBtnClick'#8'TabOrder'#2#5#0#0#7'TButton'#11'StartNewBt'
|
||||
+'n'#4'Left'#3#168#0#6'Height'#2' '#3'Top'#3#189#0#5'Width'#3#146#0#7'Caption'
|
||||
+#6#14'Start New Code'#7'OnClick'#7#16'StartNewBtnClick'#8'TabOrder'#2#6#0#0#7
|
||||
+'TButton'#10'DisplayBtn'#4'Left'#3'I'#1#6'Height'#2' '#3'Top'#3#240#0#5'Widt'
|
||||
+'h'#3#177#0#7'Caption'#6#27'Display All Saved Code Data'#7'OnClick'#7#15'Dis'
|
||||
+'playBtnClick'#8'TabOrder'#2#7#0#0#7'TButton'#9'ReturnBtn'#4'Left'#3'P'#2#6
|
||||
+'Height'#2#30#3'Top'#3#240#0#5'Width'#2'\'#7'Caption'#6#6'Return'#7'OnClick'
|
||||
+#7#14'ReturnBtnClick'#8'TabOrder'#2#8#0#0#7'TButton'#10'EditOneBtn'#4'Left'#3
|
||||
+'I'#1#6'Height'#2#31#3'Top'#3#190#0#5'Width'#3#177#0#7'Caption'#6#26'Edit a '
|
||||
+'Specific Code Entry'#7'OnClick'#7#15'EditOneBtnClick'#8'TabOrder'#2#9#0#0#0
|
||||
]);
|
152
applications/lazstats/source_orig/itemcodesunit.pas
Normal file
152
applications/lazstats/source_orig/itemcodesunit.pas
Normal file
@ -0,0 +1,152 @@
|
||||
unit ItemCodesUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, outputunit;
|
||||
|
||||
type
|
||||
|
||||
{ TCodesForm }
|
||||
|
||||
TCodesForm = class(TForm)
|
||||
EditOneBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
DisplayBtn: TButton;
|
||||
StartNewBtn: TButton;
|
||||
SaveCodeBtn: TButton;
|
||||
DescLabel: TLabel;
|
||||
DescriptionEdit: TEdit;
|
||||
MinorEdit: TEdit;
|
||||
MinorLabel: TLabel;
|
||||
MajorEdit: TEdit;
|
||||
ItemNoEdit: TEdit;
|
||||
ItemNoLabel: TLabel;
|
||||
MajorLabel: TLabel;
|
||||
Memo1: TMemo;
|
||||
procedure EditOneBtnClick(Sender: TObject);
|
||||
procedure DisplayBtnClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure ReturnBtnClick(Sender: TObject);
|
||||
procedure SaveCodeBtnClick(Sender: TObject);
|
||||
procedure StartNewBtnClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
CodesForm: TCodesForm;
|
||||
|
||||
implementation
|
||||
uses ItemBankingUnit;
|
||||
{ TCodesForm }
|
||||
|
||||
procedure TCodesForm.SaveCodeBtnClick(Sender: TObject);
|
||||
var
|
||||
currentno : integer;
|
||||
begin
|
||||
currentno := StrToInt(ItemNoEdit.Text);
|
||||
if currentno > ItemBankFrm.BankInfo.NCodes then
|
||||
ItemBankFrm.BankInfo.NCodes := currentno;
|
||||
ItemBankFrm.NItemCodesText.Text := IntToStr(currentno);
|
||||
ItemBankFrm.CodesInfo[currentno].codenumber := currentno;
|
||||
ItemBankFrm.CodesInfo[currentno].majorcodes := StrToInt(MajorEdit.Text);
|
||||
ItemBankFrm.CodesInfo[currentno].minorcodes := StrToInt(MinorEdit.Text);
|
||||
ItemBankFrm.CodesInfo[currentno].Description := DescriptionEdit.Text;
|
||||
end;
|
||||
|
||||
procedure TCodesForm.DisplayBtnClick(Sender: TObject);
|
||||
var
|
||||
currentno : integer;
|
||||
i : integer;
|
||||
outline : string;
|
||||
begin
|
||||
currentno := ItemBankFrm.BankInfo.NCodes;
|
||||
OutPutFrm.RichEdit.Lines.Add('Current Item Codes');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
|
||||
for i := 1 to currentno do
|
||||
begin
|
||||
outline := format('Item number %3d',[ItemBankFrm.CodesInfo[i].codenumber]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Major Code %3d',[ItemBankFrm.CodesInfo[i].majorcodes]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Minor Code %3d',[ItemBankFrm.CodesInfo[i].minorcodes]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Description %s',[ItemBankFrm.CodesInfo[i].Description]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
end;
|
||||
OutPutFrm.ShowModal;
|
||||
end;
|
||||
|
||||
procedure TCodesForm.EditOneBtnClick(Sender: TObject);
|
||||
Var
|
||||
response : string;
|
||||
codeno : integer;
|
||||
begin
|
||||
response := InputBox('Code Number:','Number:','1');
|
||||
codeno := StrToInt(response);
|
||||
if codeno <= ItemBankFrm.BankInfo.NCodes then
|
||||
begin
|
||||
ItemNoEdit.Text := IntToStr(ItemBankFrm.CodesInfo[codeno].codenumber);
|
||||
MajorEdit.Text := IntToStr(ItemBankFrm.CodesInfo[codeno].majorcodes);
|
||||
MinorEdit.Text := IntToStr(ItemBankFrm.CodesInfo[codeno].minorcodes);
|
||||
DescriptionEdit.Text := ItemBankFrm.CodesInfo[codeno].Description;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCodesForm.FormShow(Sender: TObject);
|
||||
Var ncodes : integer;
|
||||
begin
|
||||
if ItemBankFrm.NItemCodesText.Text <> '' then
|
||||
begin
|
||||
ncodes := StrToInt(ItemBankFrm.NItemCodesText.Text);
|
||||
ItemNoEdit.Text := IntToStr(ItemBankFrm.CodesInfo[ncodes].codenumber);
|
||||
MajorEdit.Text := IntToStr(ItemBankFrm.CodesInfo[ncodes].majorcodes) ;
|
||||
MinorEdit.Text := IntToStr(ItemBankFrm.CodesInfo[ncodes].minorcodes);
|
||||
DescriptionEdit.Text := ItemBankFrm.CodesInfo[ncodes].Description;
|
||||
end else
|
||||
begin
|
||||
ItemNoEdit.Text := '1';
|
||||
MajorEdit.Text := '1';
|
||||
MinorEdit.Text := '0';
|
||||
DescriptionEdit.Text := '';
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCodesForm.ReturnBtnClick(Sender: TObject);
|
||||
begin
|
||||
CodesForm.Hide;
|
||||
Close;
|
||||
end;
|
||||
|
||||
procedure TCodesForm.StartNewBtnClick(Sender: TObject);
|
||||
var
|
||||
currentno : integer;
|
||||
newnumber : integer;
|
||||
begin
|
||||
currentno := StrToInt(ItemNoEdit.Text);
|
||||
newnumber := currentno + 1;
|
||||
ItemNoEdit.Text := IntToStr(newnumber);
|
||||
currentno := StrToInt(MinorEdit.Text);
|
||||
newnumber := currentno + 1;
|
||||
MinorEdit.Text := IntToStr(newnumber);
|
||||
DescriptionEdit.Text := '';
|
||||
if newnumber > StrToInt(ItemBankFrm.NItemCodesText.Text) then
|
||||
begin
|
||||
ItemBankFrm.NItemCodesText.Text := IntToStr(newnumber);
|
||||
ItemBankFrm.CodesInfo[newnumber].codenumber := newnumber;
|
||||
end;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I itemcodesunit.lrs}
|
||||
|
||||
end.
|
||||
|
66
applications/lazstats/source_orig/jpegunit.lfm
Normal file
66
applications/lazstats/source_orig/jpegunit.lfm
Normal file
@ -0,0 +1,66 @@
|
||||
object JPEGform: TJPEGform
|
||||
Left = 139
|
||||
Height = 689
|
||||
Top = 45
|
||||
Width = 737
|
||||
Caption = 'JPEG Viewer'
|
||||
ClientHeight = 689
|
||||
ClientWidth = 737
|
||||
LCLVersion = '0.9.30'
|
||||
object Image1: TImage
|
||||
Left = 9
|
||||
Height = 607
|
||||
Top = 9
|
||||
Width = 714
|
||||
Proportional = True
|
||||
end
|
||||
object LoadBtn: TButton
|
||||
Left = 16
|
||||
Height = 27
|
||||
Top = 639
|
||||
Width = 107
|
||||
Caption = 'Load Image'
|
||||
OnClick = LoadBtnClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 624
|
||||
Height = 26
|
||||
Top = 639
|
||||
Width = 91
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 1
|
||||
end
|
||||
object StretchBtn: TButton
|
||||
Left = 169
|
||||
Height = 24
|
||||
Top = 641
|
||||
Width = 87
|
||||
Caption = 'Stretch'
|
||||
OnClick = StretchBtnClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object NormalBtn: TButton
|
||||
Left = 312
|
||||
Height = 24
|
||||
Top = 642
|
||||
Width = 87
|
||||
Caption = 'Normal'
|
||||
OnClick = NormalBtnClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object PropBtn: TButton
|
||||
Left = 457
|
||||
Height = 24
|
||||
Top = 641
|
||||
Width = 112
|
||||
Caption = 'Show Proportional'
|
||||
OnClick = PropBtnClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object OpenPictureDialog1: TOpenPictureDialog
|
||||
left = 108
|
||||
top = 77
|
||||
end
|
||||
end
|
20
applications/lazstats/source_orig/jpegunit.lrs
Normal file
20
applications/lazstats/source_orig/jpegunit.lrs
Normal file
@ -0,0 +1,20 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TJPEGform','FORMDATA',[
|
||||
'TPF0'#9'TJPEGform'#8'JPEGform'#4'Left'#3#139#0#6'Height'#3#177#2#3'Top'#2'-'
|
||||
+#5'Width'#3#225#2#7'Caption'#6#11'JPEG Viewer'#12'ClientHeight'#3#177#2#11'C'
|
||||
+'lientWidth'#3#225#2#10'LCLVersion'#6#6'0.9.30'#0#6'TImage'#6'Image1'#4'Left'
|
||||
+#2#9#6'Height'#3'_'#2#3'Top'#2#9#5'Width'#3#202#2#12'Proportional'#9#0#0#7'T'
|
||||
+'Button'#7'LoadBtn'#4'Left'#2#16#6'Height'#2#27#3'Top'#3#127#2#5'Width'#2'k'
|
||||
+#7'Caption'#6#10'Load Image'#7'OnClick'#7#12'LoadBtnClick'#8'TabOrder'#2#0#0
|
||||
+#0#7'TButton'#9'ReturnBtn'#4'Left'#3'p'#2#6'Height'#2#26#3'Top'#3#127#2#5'Wi'
|
||||
+'dth'#2'['#7'Caption'#6#6'Return'#11'ModalResult'#2#1#8'TabOrder'#2#1#0#0#7
|
||||
+'TButton'#10'StretchBtn'#4'Left'#3#169#0#6'Height'#2#24#3'Top'#3#129#2#5'Wid'
|
||||
+'th'#2'W'#7'Caption'#6#7'Stretch'#7'OnClick'#7#15'StretchBtnClick'#8'TabOrde'
|
||||
+'r'#2#2#0#0#7'TButton'#9'NormalBtn'#4'Left'#3'8'#1#6'Height'#2#24#3'Top'#3
|
||||
+#130#2#5'Width'#2'W'#7'Caption'#6#6'Normal'#7'OnClick'#7#14'NormalBtnClick'#8
|
||||
+'TabOrder'#2#3#0#0#7'TButton'#7'PropBtn'#4'Left'#3#201#1#6'Height'#2#24#3'To'
|
||||
+'p'#3#129#2#5'Width'#2'p'#7'Caption'#6#17'Show Proportional'#7'OnClick'#7#12
|
||||
+'PropBtnClick'#8'TabOrder'#2#4#0#0#18'TOpenPictureDialog'#18'OpenPictureDial'
|
||||
+'og1'#4'left'#2'l'#3'top'#2'M'#0#0#0
|
||||
]);
|
83
applications/lazstats/source_orig/jpegunit.pas
Normal file
83
applications/lazstats/source_orig/jpegunit.pas
Normal file
@ -0,0 +1,83 @@
|
||||
unit JPEGUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
ExtCtrls, StdCtrls, ExtDlgs;
|
||||
|
||||
type
|
||||
|
||||
{ TJPEGform }
|
||||
|
||||
TJPEGform = class(TForm)
|
||||
PropBtn: TButton;
|
||||
StretchBtn: TButton;
|
||||
NormalBtn: TButton;
|
||||
OpenPictureDialog1: TOpenPictureDialog;
|
||||
ReturnBtn: TButton;
|
||||
LoadBtn: TButton;
|
||||
Image1: TImage;
|
||||
procedure LoadBtnClick(Sender: TObject);
|
||||
procedure NormalBtnClick(Sender: TObject);
|
||||
procedure PropBtnClick(Sender: TObject);
|
||||
procedure StretchBtnClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
JPEGform: TJPEGform;
|
||||
|
||||
implementation
|
||||
|
||||
{ TJPEGform }
|
||||
|
||||
procedure TJPEGform.LoadBtnClick(Sender: TObject);
|
||||
VAR
|
||||
JPEG : TJPEGImage;
|
||||
begin
|
||||
OpenPictureDialog1.Options := OpenPictureDialog1.Options+[ofFileMustExist];
|
||||
if not OpenPictureDialog1.Execute then exit;
|
||||
try
|
||||
JPEG := TJPEGImage.Create;
|
||||
try
|
||||
JPEG.LoadFromFile(OpenPictureDialog1.FileName);
|
||||
Image1.Picture.Assign(JPEG);
|
||||
finally
|
||||
JPEG.Free;
|
||||
end;
|
||||
JPEGForm.Caption := OpenPictureDialog1.FileName;
|
||||
except
|
||||
on E: Exception do begin
|
||||
MessageDlg('Error','Error: '+E.Message,mtError,[mbOk],0);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJPEGform.NormalBtnClick(Sender: TObject);
|
||||
begin
|
||||
Image1.Proportional := false;
|
||||
Image1.Stretch := false;
|
||||
end;
|
||||
|
||||
procedure TJPEGform.PropBtnClick(Sender: TObject);
|
||||
begin
|
||||
Image1.Proportional := true;
|
||||
end;
|
||||
|
||||
procedure TJPEGform.StretchBtnClick(Sender: TObject);
|
||||
begin
|
||||
Image1.Proportional := false;
|
||||
Image1.Stretch := true;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I jpegunit.lrs}
|
||||
|
||||
end.
|
||||
|
433
applications/lazstats/source_orig/kaplanmeierunit.lfm
Normal file
433
applications/lazstats/source_orig/kaplanmeierunit.lfm
Normal file
@ -0,0 +1,433 @@
|
||||
object KaplanMeierFrm: TKaplanMeierFrm
|
||||
Left = 306
|
||||
Height = 366
|
||||
Top = 147
|
||||
Width = 493
|
||||
Caption = 'Kaplan-Meier Survival Analysis'
|
||||
ClientHeight = 366
|
||||
ClientWidth = 493
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.28.2'
|
||||
object Label1: TLabel
|
||||
Left = 8
|
||||
Height = 14
|
||||
Top = 7
|
||||
Width = 90
|
||||
Caption = 'Available Variables'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 217
|
||||
Height = 14
|
||||
Top = 24
|
||||
Width = 64
|
||||
Caption = 'Time Variable'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label3: TLabel
|
||||
Left = 216
|
||||
Height = 14
|
||||
Top = 112
|
||||
Width = 133
|
||||
Caption = 'Event vs Censored Variable'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label4: TLabel
|
||||
Left = 217
|
||||
Height = 14
|
||||
Top = 128
|
||||
Width = 122
|
||||
Caption = 'Event = 1, Censored = 2'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label5: TLabel
|
||||
Left = 224
|
||||
Height = 14
|
||||
Top = 202
|
||||
Width = 133
|
||||
Caption = 'Group Variable (if 2 groups)'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label6: TLabel
|
||||
Left = 217
|
||||
Height = 14
|
||||
Top = 220
|
||||
Width = 153
|
||||
Caption = '(Experimental = 1, Control = 2)'
|
||||
ParentColor = False
|
||||
end
|
||||
object VarList: TListBox
|
||||
Left = 6
|
||||
Height = 332
|
||||
Top = 23
|
||||
Width = 163
|
||||
ItemHeight = 0
|
||||
TabOrder = 0
|
||||
end
|
||||
object TimeInBtn: TBitBtn
|
||||
Left = 176
|
||||
Height = 27
|
||||
Top = 23
|
||||
Width = 32
|
||||
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 = TimeInBtnClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object TimeOutBtn: TBitBtn
|
||||
Left = 177
|
||||
Height = 27
|
||||
Top = 56
|
||||
Width = 32
|
||||
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 = TimeOutBtnClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object EventInBtn: TBitBtn
|
||||
Left = 177
|
||||
Height = 27
|
||||
Top = 112
|
||||
Width = 32
|
||||
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 = EventInBtnClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object EventOutBtn: TBitBtn
|
||||
Left = 177
|
||||
Height = 27
|
||||
Top = 144
|
||||
Width = 32
|
||||
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 = EventOutBtnClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object GroupInBtn: TBitBtn
|
||||
Left = 177
|
||||
Height = 27
|
||||
Top = 200
|
||||
Width = 32
|
||||
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 = GroupInBtnClick
|
||||
TabOrder = 5
|
||||
end
|
||||
object GroupOutBtn: TBitBtn
|
||||
Left = 177
|
||||
Height = 27
|
||||
Top = 232
|
||||
Width = 32
|
||||
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 = GroupOutBtnClick
|
||||
TabOrder = 6
|
||||
end
|
||||
object TimeEdit: TEdit
|
||||
Left = 216
|
||||
Height = 21
|
||||
Top = 41
|
||||
Width = 143
|
||||
TabOrder = 7
|
||||
Text = 'TimeEdit'
|
||||
end
|
||||
object EventEdit: TEdit
|
||||
Left = 217
|
||||
Height = 21
|
||||
Top = 144
|
||||
Width = 143
|
||||
TabOrder = 8
|
||||
Text = 'TimeEdit'
|
||||
end
|
||||
object GroupEdit: TEdit
|
||||
Left = 217
|
||||
Height = 21
|
||||
Top = 238
|
||||
Width = 143
|
||||
TabOrder = 9
|
||||
Text = 'TimeEdit'
|
||||
end
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 175
|
||||
Height = 83
|
||||
Top = 273
|
||||
Width = 185
|
||||
Caption = 'Options:'
|
||||
ClientHeight = 65
|
||||
ClientWidth = 181
|
||||
TabOrder = 10
|
||||
object PlotChk: TCheckBox
|
||||
Left = 7
|
||||
Height = 17
|
||||
Top = 6
|
||||
Width = 172
|
||||
Caption = 'Graph Survival Probabilities (%)'
|
||||
TabOrder = 0
|
||||
end
|
||||
object PrintChk: TCheckBox
|
||||
Left = 7
|
||||
Height = 17
|
||||
Top = 34
|
||||
Width = 144
|
||||
Caption = 'Print Computation Results'
|
||||
TabOrder = 1
|
||||
end
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 392
|
||||
Height = 32
|
||||
Top = 72
|
||||
Width = 83
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 11
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 392
|
||||
Height = 32
|
||||
Top = 128
|
||||
Width = 83
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 12
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 392
|
||||
Height = 32
|
||||
Top = 184
|
||||
Width = 83
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 13
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 392
|
||||
Height = 32
|
||||
Top = 240
|
||||
Width = 83
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 14
|
||||
end
|
||||
object HelpBtn: TButton
|
||||
Tag = 127
|
||||
Left = 392
|
||||
Height = 33
|
||||
Top = 16
|
||||
Width = 86
|
||||
Caption = 'Help'
|
||||
OnClick = HelpBtnClick
|
||||
TabOrder = 15
|
||||
end
|
||||
end
|
352
applications/lazstats/source_orig/kaplanmeierunit.lrs
Normal file
352
applications/lazstats/source_orig/kaplanmeierunit.lrs
Normal file
@ -0,0 +1,352 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TKaplanMeierFrm','FORMDATA',[
|
||||
'TPF0'#15'TKaplanMeierFrm'#14'KaplanMeierFrm'#4'Left'#3'2'#1#6'Height'#3'n'#1
|
||||
+#3'Top'#3#147#0#5'Width'#3#237#1#7'Caption'#6#30'Kaplan-Meier Survival Analy'
|
||||
+'sis'#12'ClientHeight'#3'n'#1#11'ClientWidth'#3#237#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#7#5'Width'#2'Z'#7'Caption'#6#19'Available Variables'#11'ParentC'
|
||||
+'olor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#3#217#0#6'Height'#2#14#3'Top'#2#24#5
|
||||
+'Width'#2'@'#7'Caption'#6#13'Time Variable'#11'ParentColor'#8#0#0#6'TLabel'#6
|
||||
+'Label3'#4'Left'#3#216#0#6'Height'#2#14#3'Top'#2'p'#5'Width'#3#133#0#7'Capti'
|
||||
+'on'#6#26'Event vs Censored Variable'#11'ParentColor'#8#0#0#6'TLabel'#6'Labe'
|
||||
+'l4'#4'Left'#3#217#0#6'Height'#2#14#3'Top'#3#128#0#5'Width'#2'z'#7'Caption'#6
|
||||
+#23'Event = 1, Censored = 2'#11'ParentColor'#8#0#0#6'TLabel'#6'Label5'#4'Lef'
|
||||
+'t'#3#224#0#6'Height'#2#14#3'Top'#3#202#0#5'Width'#3#133#0#7'Caption'#6#28'G'
|
||||
+'roup Variable (if 2 groups)'#11'ParentColor'#8#0#0#6'TLabel'#6'Label6'#4'Le'
|
||||
+'ft'#3#217#0#6'Height'#2#14#3'Top'#3#220#0#5'Width'#3#153#0#7'Caption'#6#31
|
||||
+'(Experimental = 1, Control = 2)'#11'ParentColor'#8#0#0#8'TListBox'#7'VarLis'
|
||||
+'t'#4'Left'#2#6#6'Height'#3'L'#1#3'Top'#2#23#5'Width'#3#163#0#10'ItemHeight'
|
||||
+#2#0#8'TabOrder'#2#0#0#0#7'TBitBtn'#9'TimeInBtn'#4'Left'#3#176#0#6'Height'#2
|
||||
+#27#3'Top'#2#23#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#14'TimeInBtnClick'#8'TabOrder'#2#1#0#0#7'TBit'
|
||||
+'Btn'#10'TimeOutBtn'#4'Left'#3#177#0#6'Height'#2#27#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#15
|
||||
+'TimeOutBtnClick'#8'TabOrder'#2#2#0#0#7'TBitBtn'#10'EventInBtn'#4'Left'#3#177
|
||||
+#0#6'Height'#2#27#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#255#255#255#0#255#255#255#0#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#15'EventInBtnClick'#8'TabOrder'
|
||||
+#2#3#0#0#7'TBitBtn'#11'EventOutBtn'#4'Left'#3#177#0#6'Height'#2#27#3'Top'#3
|
||||
+#144#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'Num'
|
||||
+'Glyphs'#2#0#7'OnClick'#7#16'EventOutBtnClick'#8'TabOrder'#2#4#0#0#7'TBitBtn'
|
||||
+#10'GroupInBtn'#4'Left'#3#177#0#6'Height'#2#27#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#255#255#255#0#255#255#255#0#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#15
|
||||
+'GroupInBtnClick'#8'TabOrder'#2#5#0#0#7'TBitBtn'#11'GroupOutBtn'#4'Left'#3
|
||||
+#177#0#6'Height'#2#27#3'Top'#3#232#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#16'GroupOutBtnClick'#8'Ta'
|
||||
+'bOrder'#2#6#0#0#5'TEdit'#8'TimeEdit'#4'Left'#3#216#0#6'Height'#2#21#3'Top'#2
|
||||
+')'#5'Width'#3#143#0#8'TabOrder'#2#7#4'Text'#6#8'TimeEdit'#0#0#5'TEdit'#9'Ev'
|
||||
+'entEdit'#4'Left'#3#217#0#6'Height'#2#21#3'Top'#3#144#0#5'Width'#3#143#0#8'T'
|
||||
+'abOrder'#2#8#4'Text'#6#8'TimeEdit'#0#0#5'TEdit'#9'GroupEdit'#4'Left'#3#217#0
|
||||
+#6'Height'#2#21#3'Top'#3#238#0#5'Width'#3#143#0#8'TabOrder'#2#9#4'Text'#6#8
|
||||
+'TimeEdit'#0#0#9'TGroupBox'#9'GroupBox1'#4'Left'#3#175#0#6'Height'#2'S'#3'To'
|
||||
+'p'#3#17#1#5'Width'#3#185#0#7'Caption'#6#8'Options:'#12'ClientHeight'#2'A'#11
|
||||
+'ClientWidth'#3#181#0#8'TabOrder'#2#10#0#9'TCheckBox'#7'PlotChk'#4'Left'#2#7
|
||||
+#6'Height'#2#17#3'Top'#2#6#5'Width'#3#172#0#7'Caption'#6' Graph Survival Pro'
|
||||
+'babilities (%)'#8'TabOrder'#2#0#0#0#9'TCheckBox'#8'PrintChk'#4'Left'#2#7#6
|
||||
+'Height'#2#17#3'Top'#2'"'#5'Width'#3#144#0#7'Caption'#6#25'Print Computation'
|
||||
+' Results'#8'TabOrder'#2#1#0#0#0#7'TButton'#8'ResetBtn'#4'Left'#3#136#1#6'He'
|
||||
+'ight'#2' '#3'Top'#2'H'#5'Width'#2'S'#7'Caption'#6#5'Reset'#7'OnClick'#7#13
|
||||
+'ResetBtnClick'#8'TabOrder'#2#11#0#0#7'TButton'#9'CancelBtn'#4'Left'#3#136#1
|
||||
+#6'Height'#2' '#3'Top'#3#128#0#5'Width'#2'S'#7'Caption'#6#6'Cancel'#11'Modal'
|
||||
+'Result'#2#2#8'TabOrder'#2#12#0#0#7'TButton'#10'ComputeBtn'#4'Left'#3#136#1#6
|
||||
+'Height'#2' '#3'Top'#3#184#0#5'Width'#2'S'#7'Caption'#6#7'Compute'#7'OnClick'
|
||||
+#7#15'ComputeBtnClick'#8'TabOrder'#2#13#0#0#7'TButton'#9'ReturnBtn'#4'Left'#3
|
||||
+#136#1#6'Height'#2' '#3'Top'#3#240#0#5'Width'#2'S'#7'Caption'#6#6'Return'#11
|
||||
+'ModalResult'#2#1#8'TabOrder'#2#14#0#0#7'TButton'#7'HelpBtn'#3'Tag'#2#127#4
|
||||
+'Left'#3#136#1#6'Height'#2'!'#3'Top'#2#16#5'Width'#2'V'#7'Caption'#6#4'Help'
|
||||
+#7'OnClick'#7#12'HelpBtnClick'#8'TabOrder'#2#15#0#0#0
|
||||
]);
|
1069
applications/lazstats/source_orig/kaplanmeierunit.pas
Normal file
1069
applications/lazstats/source_orig/kaplanmeierunit.pas
Normal file
File diff suppressed because it is too large
Load Diff
484
applications/lazstats/source_orig/kappaunit.lfm
Normal file
484
applications/lazstats/source_orig/kappaunit.lfm
Normal file
@ -0,0 +1,484 @@
|
||||
object WeightedKappaFrm: TWeightedKappaFrm
|
||||
Left = 132
|
||||
Height = 410
|
||||
Top = 112
|
||||
Width = 631
|
||||
Caption = 'Kappa and Weighted Kappa'
|
||||
ClientHeight = 410
|
||||
ClientWidth = 631
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.28.2'
|
||||
object Label1: TLabel
|
||||
Left = 10
|
||||
Height = 14
|
||||
Top = 112
|
||||
Width = 44
|
||||
Caption = 'Variables'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 216
|
||||
Height = 14
|
||||
Top = 130
|
||||
Width = 38
|
||||
Caption = 'Rater A'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label3: TLabel
|
||||
Left = 216
|
||||
Height = 14
|
||||
Top = 209
|
||||
Width = 37
|
||||
Caption = 'Rater B'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label4: TLabel
|
||||
Left = 216
|
||||
Height = 14
|
||||
Top = 280
|
||||
Width = 93
|
||||
Caption = 'Variable to Analyze'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label5: TLabel
|
||||
Left = 376
|
||||
Height = 14
|
||||
Top = 112
|
||||
Width = 114
|
||||
Caption = 'Total Number of Cases:'
|
||||
ParentColor = False
|
||||
end
|
||||
object InputGroup: TRadioGroup
|
||||
Left = 9
|
||||
Height = 90
|
||||
Top = 8
|
||||
Width = 610
|
||||
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 = 72
|
||||
ClientWidth = 606
|
||||
Items.Strings = (
|
||||
'Count cases classified by row and column variables in the data grid'
|
||||
'Use frequencies in a variable for a given row variable value and column variable value.'
|
||||
'Use proportions in a variable for a given row variable value and column variable value.'
|
||||
)
|
||||
OnClick = InputGroupClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object VarList: TListBox
|
||||
Left = 9
|
||||
Height = 212
|
||||
Top = 128
|
||||
Width = 160
|
||||
ItemHeight = 0
|
||||
TabOrder = 1
|
||||
end
|
||||
object RowIn: TBitBtn
|
||||
Left = 176
|
||||
Height = 32
|
||||
Top = 130
|
||||
Width = 27
|
||||
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 = RowInClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object RowOut: TBitBtn
|
||||
Left = 176
|
||||
Height = 22
|
||||
Top = 168
|
||||
Width = 27
|
||||
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 = RowOutClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object ColIn: TBitBtn
|
||||
Left = 176
|
||||
Height = 22
|
||||
Top = 209
|
||||
Width = 27
|
||||
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 = ColInClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object ColOut: TBitBtn
|
||||
Left = 176
|
||||
Height = 22
|
||||
Top = 232
|
||||
Width = 27
|
||||
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 = ColOutClick
|
||||
TabOrder = 5
|
||||
end
|
||||
object DepIn: TBitBtn
|
||||
Left = 176
|
||||
Height = 22
|
||||
Top = 280
|
||||
Width = 27
|
||||
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 = DepInClick
|
||||
TabOrder = 6
|
||||
end
|
||||
object DepOut: TBitBtn
|
||||
Left = 176
|
||||
Height = 20
|
||||
Top = 308
|
||||
Width = 27
|
||||
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 = DepOutClick
|
||||
TabOrder = 7
|
||||
end
|
||||
object RaterAEdit: TEdit
|
||||
Left = 216
|
||||
Height = 21
|
||||
Top = 144
|
||||
Width = 120
|
||||
TabOrder = 8
|
||||
Text = 'RaterAEdit'
|
||||
end
|
||||
object RaterBEdit: TEdit
|
||||
Left = 216
|
||||
Height = 21
|
||||
Top = 224
|
||||
Width = 120
|
||||
TabOrder = 9
|
||||
Text = 'Edit1'
|
||||
end
|
||||
object DepEdit: TEdit
|
||||
Left = 216
|
||||
Height = 21
|
||||
Top = 296
|
||||
Width = 120
|
||||
TabOrder = 10
|
||||
Text = 'Edit1'
|
||||
end
|
||||
object NCasesEdit: TEdit
|
||||
Left = 496
|
||||
Height = 21
|
||||
Top = 105
|
||||
Width = 62
|
||||
TabOrder = 11
|
||||
Text = 'NCasesEdit'
|
||||
end
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 376
|
||||
Height = 197
|
||||
Top = 136
|
||||
Width = 242
|
||||
Caption = 'Options:'
|
||||
ClientHeight = 179
|
||||
ClientWidth = 238
|
||||
TabOrder = 12
|
||||
object ObsChk: TCheckBox
|
||||
Left = 9
|
||||
Height = 17
|
||||
Top = 2
|
||||
Width = 157
|
||||
Caption = 'Show Observed Frequencies'
|
||||
TabOrder = 0
|
||||
end
|
||||
object ExpChk: TCheckBox
|
||||
Left = 9
|
||||
Height = 17
|
||||
Top = 25
|
||||
Width = 155
|
||||
Caption = 'Show Expected Frequencies'
|
||||
TabOrder = 1
|
||||
end
|
||||
object PropChk: TCheckBox
|
||||
Left = 9
|
||||
Height = 17
|
||||
Top = 50
|
||||
Width = 187
|
||||
Caption = 'Show Row and Column Proportions'
|
||||
TabOrder = 2
|
||||
end
|
||||
object ChiChk: TCheckBox
|
||||
Left = 9
|
||||
Height = 17
|
||||
Top = 77
|
||||
Width = 155
|
||||
Caption = 'Show Cell Chi Square Values'
|
||||
TabOrder = 3
|
||||
end
|
||||
object YatesChk: TCheckBox
|
||||
Left = 9
|
||||
Height = 17
|
||||
Top = 104
|
||||
Width = 209
|
||||
Caption = 'Use Yates'' Correction for a 2 by 2 table'
|
||||
TabOrder = 4
|
||||
end
|
||||
object SaveChk: TCheckBox
|
||||
Left = 9
|
||||
Height = 17
|
||||
Top = 130
|
||||
Width = 179
|
||||
Caption = 'Save as a File of Frequency Data'
|
||||
TabOrder = 5
|
||||
end
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 136
|
||||
Height = 33
|
||||
Top = 360
|
||||
Width = 79
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 13
|
||||
end
|
||||
object Cancel: TButton
|
||||
Left = 257
|
||||
Height = 33
|
||||
Top = 360
|
||||
Width = 79
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 14
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 376
|
||||
Height = 33
|
||||
Top = 360
|
||||
Width = 79
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 15
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 496
|
||||
Height = 33
|
||||
Top = 360
|
||||
Width = 79
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 16
|
||||
end
|
||||
object HelpBtn: TButton
|
||||
Tag = 128
|
||||
Left = 10
|
||||
Height = 33
|
||||
Top = 360
|
||||
Width = 86
|
||||
Caption = 'Help'
|
||||
OnClick = HelpBtnClick
|
||||
TabOrder = 17
|
||||
end
|
||||
end
|
367
applications/lazstats/source_orig/kappaunit.lrs
Normal file
367
applications/lazstats/source_orig/kappaunit.lrs
Normal file
@ -0,0 +1,367 @@
|
||||
LazarusResources.Add('TWeightedKappaFrm','FORMDATA',[
|
||||
'TPF0'#17'TWeightedKappaFrm'#16'WeightedKappaFrm'#4'Left'#3#132#0#6'Height'#3
|
||||
+#154#1#3'Top'#2'p'#5'Width'#3'w'#2#7'Caption'#6#24'Kappa and Weighted Kappa'
|
||||
+#12'ClientHeight'#3#154#1#11'ClientWidth'#3'w'#2#6'OnShow'#7#8'FormShow'#10
|
||||
+'LCLVersion'#6#8'0.9.28.2'#0#6'TLabel'#6'Label1'#4'Left'#2#10#6'Height'#2#14
|
||||
+#3'Top'#2'p'#5'Width'#2','#7'Caption'#6#9'Variables'#11'ParentColor'#8#0#0#6
|
||||
+'TLabel'#6'Label2'#4'Left'#3#216#0#6'Height'#2#14#3'Top'#3#130#0#5'Width'#2
|
||||
+'&'#7'Caption'#6#7'Rater A'#11'ParentColor'#8#0#0#6'TLabel'#6'Label3'#4'Left'
|
||||
+#3#216#0#6'Height'#2#14#3'Top'#3#209#0#5'Width'#2'%'#7'Caption'#6#7'Rater B'
|
||||
+#11'ParentColor'#8#0#0#6'TLabel'#6'Label4'#4'Left'#3#216#0#6'Height'#2#14#3
|
||||
+'Top'#3#24#1#5'Width'#2']'#7'Caption'#6#19'Variable to Analyze'#11'ParentCol'
|
||||
+'or'#8#0#0#6'TLabel'#6'Label5'#4'Left'#3'x'#1#6'Height'#2#14#3'Top'#2'p'#5'W'
|
||||
+'idth'#2'r'#7'Caption'#6#22'Total Number of Cases:'#11'ParentColor'#8#0#0#11
|
||||
+'TRadioGroup'#10'InputGroup'#4'Left'#2#9#6'Height'#2'Z'#3'Top'#2#8#5'Width'#3
|
||||
+'b'#2#8'AutoFill'#9#7'Caption'#6#14'Input Options:'#28'ChildSizing.LeftRight'
|
||||
+'Spacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHor'
|
||||
+'izontal'#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'#2'H'#11'ClientWidth'#3'^'#2#13'Items.Strings'#1#6'CCount c'
|
||||
+'ases classified by row and column variables in the data grid'#6'WUse freque'
|
||||
+'ncies in a variable for a given row variable value and column variable valu'
|
||||
+'e.'#6'WUse proportions in a variable for a given row variable value and col'
|
||||
+'umn variable value.'#0#7'OnClick'#7#15'InputGroupClick'#8'TabOrder'#2#0#0#0
|
||||
+#8'TListBox'#7'VarList'#4'Left'#2#9#6'Height'#3#212#0#3'Top'#3#128#0#5'Width'
|
||||
+#3#160#0#10'ItemHeight'#2#0#8'TabOrder'#2#1#0#0#7'TBitBtn'#5'RowIn'#4'Left'#3
|
||||
+#176#0#6'Height'#2' '#3'Top'#3#130#0#5'Width'#2#27#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#10'RowInClick'#8'TabOrder'#2#2#0#0#7'TBitB'
|
||||
+'tn'#6'RowOut'#4'Left'#3#176#0#6'Height'#2#22#3'Top'#3#168#0#5'Width'#2#27#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#11'RowOutClick'#8'Ta'
|
||||
,'bOrder'#2#3#0#0#7'TBitBtn'#5'ColIn'#4'Left'#3#176#0#6'Height'#2#22#3'Top'#3
|
||||
+#209#0#5'Width'#2#27#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#10'ColInClick'#8'TabOrder'#2#4#0#0#7'TBitBtn'#6'ColOut'#4'Left'#3#176#0#6
|
||||
+'Height'#2#22#3'Top'#3#232#0#5'Width'#2#27#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#11'ColOutClick'#8'TabOrder'#2#5#0#0#7'TBit'
|
||||
+'Btn'#5'DepIn'#4'Left'#3#176#0#6'Height'#2#22#3'Top'#3#24#1#5'Width'#2#27#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#10'DepInClick'#8'TabOrder'#2
|
||||
+#6#0#0#7'TBitBtn'#6'DepOut'#4'Left'#3#176#0#6'Height'#2#20#3'Top'#3'4'#1#5'W'
|
||||
+'idth'#2#27#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#11'DepOutClick'#8'TabOrder'#2#7#0#0#5'TEdit'#10'RaterAEdit'#4'Left'#3#216
|
||||
+#0#6'Height'#2#21#3'Top'#3#144#0#5'Width'#2'x'#8'TabOrder'#2#8#4'Text'#6#10
|
||||
+'RaterAEdit'#0#0#5'TEdit'#10'RaterBEdit'#4'Left'#3#216#0#6'Height'#2#21#3'To'
|
||||
+'p'#3#224#0#5'Width'#2'x'#8'TabOrder'#2#9#4'Text'#6#5'Edit1'#0#0#5'TEdit'#7
|
||||
+'DepEdit'#4'Left'#3#216#0#6'Height'#2#21#3'Top'#3'('#1#5'Width'#2'x'#8'TabOr'
|
||||
+'der'#2#10#4'Text'#6#5'Edit1'#0#0#5'TEdit'#10'NCasesEdit'#4'Left'#3#240#1#6
|
||||
+'Height'#2#21#3'Top'#2'i'#5'Width'#2'>'#8'TabOrder'#2#11#4'Text'#6#10'NCases'
|
||||
+'Edit'#0#0#9'TGroupBox'#9'GroupBox1'#4'Left'#3'x'#1#6'Height'#3#197#0#3'Top'
|
||||
+#3#136#0#5'Width'#3#242#0#7'Caption'#6#8'Options:'#12'ClientHeight'#3#179#0
|
||||
+#11'ClientWidth'#3#238#0#8'TabOrder'#2#12#0#9'TCheckBox'#6'ObsChk'#4'Left'#2
|
||||
+#9#6'Height'#2#17#3'Top'#2#2#5'Width'#3#157#0#7'Caption'#6#25'Show Observed '
|
||||
+'Frequencies'#8'TabOrder'#2#0#0#0#9'TCheckBox'#6'ExpChk'#4'Left'#2#9#6'Heigh'
|
||||
+'t'#2#17#3'Top'#2#25#5'Width'#3#155#0#7'Caption'#6#25'Show Expected Frequenc'
|
||||
+'ies'#8'TabOrder'#2#1#0#0#9'TCheckBox'#7'PropChk'#4'Left'#2#9#6'Height'#2#17
|
||||
+#3'Top'#2'2'#5'Width'#3#187#0#7'Caption'#6#31'Show Row and Column Proportion'
|
||||
+'s'#8'TabOrder'#2#2#0#0#9'TCheckBox'#6'ChiChk'#4'Left'#2#9#6'Height'#2#17#3
|
||||
+'Top'#2'M'#5'Width'#3#155#0#7'Caption'#6#27'Show Cell Chi Square Values'#8'T'
|
||||
+'abOrder'#2#3#0#0#9'TCheckBox'#8'YatesChk'#4'Left'#2#9#6'Height'#2#17#3'Top'
|
||||
+#2'h'#5'Width'#3#209#0#7'Caption'#6'(Use Yates'' Correction for a 2 by 2 tab'
|
||||
+'le'#8'TabOrder'#2#4#0#0#9'TCheckBox'#7'SaveChk'#4'Left'#2#9#6'Height'#2#17#3
|
||||
+'Top'#3#130#0#5'Width'#3#179#0#7'Caption'#6' Save as a File of Frequency Dat'
|
||||
+'a'#8'TabOrder'#2#5#0#0#0#7'TButton'#8'ResetBtn'#4'Left'#3#136#0#6'Height'#2
|
||||
+'!'#3'Top'#3'h'#1#5'Width'#2'O'#7'Caption'#6#5'Reset'#7'OnClick'#7#13'ResetB'
|
||||
+'tnClick'#8'TabOrder'#2#13#0#0#7'TButton'#6'Cancel'#4'Left'#3#1#1#6'Height'#2
|
||||
+'!'#3'Top'#3'h'#1#5'Width'#2'O'#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8
|
||||
+'TabOrder'#2#14#0#0#7'TButton'#10'ComputeBtn'#4'Left'#3'x'#1#6'Height'#2'!'#3
|
||||
+'Top'#3'h'#1#5'Width'#2'O'#7'Caption'#6#7'Compute'#7'OnClick'#7#15'ComputeBt'
|
||||
+'nClick'#8'TabOrder'#2#15#0#0#7'TButton'#9'ReturnBtn'#4'Left'#3#240#1#6'Heig'
|
||||
+'ht'#2'!'#3'Top'#3'h'#1#5'Width'#2'O'#7'Caption'#6#6'Return'#11'ModalResult'
|
||||
+#2#1#8'TabOrder'#2#16#0#0#7'TButton'#7'HelpBtn'#3'Tag'#3#128#0#4'Left'#2#10#6
|
||||
+'Height'#2'!'#3'Top'#3'h'#1#5'Width'#2'V'#7'Caption'#6#4'Help'#7'OnClick'#7
|
||||
+#12'HelpBtnClick'#8'TabOrder'#2#17#0#0#0
|
||||
]);
|
670
applications/lazstats/source_orig/kappaunit.pas
Normal file
670
applications/lazstats/source_orig/kappaunit.pas
Normal file
@ -0,0 +1,670 @@
|
||||
unit KappaUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, ExtCtrls, Buttons, MainUnit, Globals, OutPutUnit, FunctionsLib,
|
||||
Math, DictionaryUnit, DataProcs, MatrixLib, contexthelpunit;
|
||||
|
||||
type
|
||||
|
||||
{ TWeightedKappaFrm }
|
||||
|
||||
TWeightedKappaFrm = class(TForm)
|
||||
HelpBtn: TButton;
|
||||
ResetBtn: TButton;
|
||||
Cancel: TButton;
|
||||
ComputeBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
ObsChk: TCheckBox;
|
||||
ExpChk: TCheckBox;
|
||||
PropChk: TCheckBox;
|
||||
ChiChk: TCheckBox;
|
||||
YatesChk: TCheckBox;
|
||||
SaveChk: TCheckBox;
|
||||
GroupBox1: TGroupBox;
|
||||
NCasesEdit: TEdit;
|
||||
Label5: TLabel;
|
||||
RowIn: TBitBtn;
|
||||
RowOut: TBitBtn;
|
||||
ColIn: TBitBtn;
|
||||
ColOut: TBitBtn;
|
||||
DepIn: TBitBtn;
|
||||
DepOut: TBitBtn;
|
||||
RaterAEdit: TEdit;
|
||||
RaterBEdit: TEdit;
|
||||
DepEdit: TEdit;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
Label3: TLabel;
|
||||
Label4: TLabel;
|
||||
VarList: TListBox;
|
||||
InputGroup: TRadioGroup;
|
||||
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 HelpBtnClick(Sender: TObject);
|
||||
procedure InputGroupClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
procedure RowInClick(Sender: TObject);
|
||||
procedure RowOutClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
WeightedKappaFrm: TWeightedKappaFrm;
|
||||
|
||||
implementation
|
||||
|
||||
{ TWeightedKappaFrm }
|
||||
|
||||
procedure TWeightedKappaFrm.ResetBtnClick(Sender: TObject);
|
||||
VAR i : integer;
|
||||
begin
|
||||
VarList.Clear;
|
||||
RaterAEdit.Text := '';
|
||||
RaterBEdit.Text := '';
|
||||
DepEdit.Text := '';
|
||||
DepEdit.Visible := false;
|
||||
RowIn.Visible := true;
|
||||
RowOut.Visible := false;
|
||||
ColIn.Visible := true;
|
||||
ColOut.Visible := false;
|
||||
DepIn.Visible := false;
|
||||
DepOut.Visible := false;
|
||||
NCasesEdit.Text := '';
|
||||
NCasesEdit.Visible := false;
|
||||
Label4.Visible := false;
|
||||
Label5.Visible := false;
|
||||
InputGroup.ItemIndex := 0;
|
||||
for i := 1 to NoVariables do
|
||||
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
|
||||
end;
|
||||
|
||||
procedure TWeightedKappaFrm.RowInClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := VarList.ItemIndex;
|
||||
RaterAEdit.Text := VarList.Items.Strings[index];
|
||||
VarList.Items.Delete(index);
|
||||
RowIn.Visible := false;
|
||||
RowOut.Visible := true;
|
||||
end;
|
||||
|
||||
procedure TWeightedKappaFrm.RowOutClick(Sender: TObject);
|
||||
begin
|
||||
VarList.Items.Add(RaterAEdit.Text);
|
||||
RaterAEdit.Text := '';
|
||||
RowIn.Visible := true;
|
||||
RowOut.Visible := false;
|
||||
end;
|
||||
|
||||
procedure TWeightedKappaFrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
ResetBtnClick(self);
|
||||
end;
|
||||
|
||||
procedure TWeightedKappaFrm.HelpBtnClick(Sender: TObject);
|
||||
begin
|
||||
ContextHelpForm.HelpMessage((Sender as TButton).tag);
|
||||
end;
|
||||
|
||||
procedure TWeightedKappaFrm.InputGroupClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := InputGroup.ItemIndex;
|
||||
if (index = 2) then // only proportions available - get N size
|
||||
begin
|
||||
Label4.Visible := true;
|
||||
NCasesEdit.Visible := true;
|
||||
NCasesEdit.SetFocus;
|
||||
DepIn.Visible := true;
|
||||
DepOut.Visible := false;
|
||||
DepEdit.Visible := true;
|
||||
Label5.Visible := true;
|
||||
end;
|
||||
if (index = 1) then // frequencies available for each row and column combo
|
||||
begin
|
||||
Label4.Visible := true;
|
||||
NCasesEdit.Visible := false;
|
||||
DepIn.Visible := true;
|
||||
DepOut.Visible := false;
|
||||
DepEdit.Visible := true;
|
||||
Label5.Visible := false;
|
||||
end;
|
||||
if (index = 0) then // have to count cases in each row and col. combination
|
||||
begin
|
||||
NCasesEdit.Visible := false;
|
||||
DepIn.Visible := false;
|
||||
DepOut.Visible := false;
|
||||
DepEdit.Visible := false;
|
||||
Label4.Visible := false;
|
||||
Label5.Visible := false;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TWeightedKappaFrm.ColInClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := VarList.ItemIndex;
|
||||
RaterBEdit.Text := VarList.Items.Strings[index];
|
||||
VarList.Items.Delete(index);
|
||||
ColIn.Visible := false;
|
||||
ColOut.Visible := true;
|
||||
end;
|
||||
|
||||
procedure TWeightedKappaFrm.ColOutClick(Sender: TObject);
|
||||
begin
|
||||
VarList.Items.Add(RaterBEdit.Text);
|
||||
RaterBEdit.Text := '';
|
||||
ColIn.Visible := true;
|
||||
ColOut.Visible := false;
|
||||
end;
|
||||
|
||||
procedure TWeightedKappaFrm.ComputeBtnClick(Sender: TObject);
|
||||
VAR
|
||||
i, j, k, RowNo, ColNo, DepNo, MinRow, MaxRow, MinCol, MaxCol : integer;
|
||||
Row, Col, NoSelected, Ncases, Nrows, Ncols, FObs, df : integer;
|
||||
RowLabels, ColLabels : StrDyneVec;
|
||||
ColNoSelected : IntDyneVec;
|
||||
cellstring : string;
|
||||
outline : string;
|
||||
Freq : IntDyneMat;
|
||||
Prop, Expected, CellChi : DblDyneMat;
|
||||
PObs, ChiSquare, ProbChi, liklihood, Fval, phi : double;
|
||||
yates, aresult : boolean;
|
||||
title : string;
|
||||
filename : string;
|
||||
Adjchisqr, Adjprobchi, probliklihood, pearsonr : double;
|
||||
pobserved, SumX, SumY, VarX, VarY, obsdiag, expdiag, expnondiag : double;
|
||||
pexpected, MantelHaenszel, MHprob, CoefCont, CramerV, Kappa : double;
|
||||
Frq : integer;
|
||||
weights, quadweights : DblDyneMat;
|
||||
begin
|
||||
SetLength(ColNoSelected,NoVariables);
|
||||
yates := false;
|
||||
RowNo := 0;
|
||||
ColNo := 0;
|
||||
DepNo := 0;
|
||||
pobserved := 0.0;
|
||||
pexpected := 0.0;
|
||||
|
||||
for i := 1 to NoVariables do
|
||||
begin
|
||||
cellstring := OS3MainFrm.DataGrid.Cells[i,0];
|
||||
if (cellstring = RaterAEdit.Text) then RowNo := i;
|
||||
if (cellstring = RaterBEdit.Text) then ColNo := i;
|
||||
if (cellstring = DepEdit.Text) then DepNo := i;
|
||||
end;
|
||||
if ((InputGroup.ItemIndex > 0) and (DepNo = 0)) then
|
||||
begin
|
||||
ShowMessage('ERROR! You must select a dependent variable.');
|
||||
ColNoSelected := nil;
|
||||
exit;
|
||||
end;
|
||||
if ((RowNo = 0) or (ColNo = 0)) then // || (DepNo == 0))
|
||||
begin
|
||||
ShowMessage('ERROR! A required variable has not been selected.');
|
||||
ColNoSelected := nil;
|
||||
exit;
|
||||
end;
|
||||
|
||||
aresult := ValidValue(RowNo,1);
|
||||
if (aresult = false) then
|
||||
begin
|
||||
ColNoSelected := nil;
|
||||
exit;
|
||||
end;
|
||||
aresult := ValidValue(ColNo,1);
|
||||
if (aresult = false) then
|
||||
begin
|
||||
ColNoSelected := nil;
|
||||
exit;
|
||||
end;
|
||||
|
||||
ColNoSelected[0] := RowNo;
|
||||
ColNoSelected[1] := ColNo;
|
||||
NoSelected := 2;
|
||||
if (InputGroup.ItemIndex > 0) then // for reading proportions or frequencies
|
||||
begin
|
||||
NoSelected := 3;
|
||||
ColNoSelected[2] := DepNo;
|
||||
end;
|
||||
if (InputGroup.ItemIndex = 1) then
|
||||
begin
|
||||
aresult := ValidValue(DepNo,1);
|
||||
if (aresult = false) then
|
||||
begin
|
||||
ColNoSelected := nil;
|
||||
exit;
|
||||
end;
|
||||
end;
|
||||
if (InputGroup.ItemIndex = 2) then
|
||||
begin
|
||||
aresult := ValidValue(DepNo,0);
|
||||
if (aresult = false) then
|
||||
begin
|
||||
ColNoSelected := nil;
|
||||
exit;
|
||||
end;
|
||||
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 := StrToInt(OS3MainFrm.DataGrid.Cells[RowNo,i]);
|
||||
Col := StrToInt(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;
|
||||
for i := 1 to Nrows do
|
||||
begin
|
||||
outline := format('Row %d',[i]);
|
||||
cellstring := outline;
|
||||
RowLabels[i-1] := cellstring;
|
||||
end;
|
||||
RowLabels[Nrows] := 'Total';
|
||||
for j := 1 to Ncols do
|
||||
begin
|
||||
outline := format('COL. %d',[j]);
|
||||
cellstring := outline;
|
||||
ColLabels[j-1] := cellstring;
|
||||
end;
|
||||
ColLabels[Ncols] := 'Total';
|
||||
|
||||
// get cell data
|
||||
Ncases := 0;
|
||||
if (InputGroup.ItemIndex = 0) then
|
||||
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 := StrToInt(OS3MainFrm.DataGrid.Cells[RowNo,i]);
|
||||
Col := StrToInt(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;
|
||||
|
||||
if (InputGroup.ItemIndex = 1) then // read frequencies data from grid
|
||||
begin
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
if (NOT GoodRecord(i,NoSelected,ColNoSelected)) then continue;
|
||||
Row := StrToInt(OS3MainFrm.DataGrid.Cells[RowNo,i]);
|
||||
Col := StrToInt(OS3MainFrm.DataGrid.Cells[ColNo,i]);
|
||||
Row := Row - MinRow + 1;
|
||||
Col := Col - MinCol + 1;
|
||||
FObs := StrToInt(OS3MainFrm.DataGrid.Cells[DepNo,i]);
|
||||
Freq[Row-1,Col-1] := Freq[Row-1,Col-1] + FObs;
|
||||
Ncases := Ncases + FObs;
|
||||
end;
|
||||
end;
|
||||
if (InputGroup.ItemIndex = 2) then // get no. of cases and proportions for each cell
|
||||
begin
|
||||
Ncases := StrToInt(NCasesEdit.Text);
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
if (NOT GoodRecord(i,NoSelected,ColNoSelected)) then continue;
|
||||
Row := StrToInt(OS3MainFrm.DataGrid.Cells[RowNo,i]);
|
||||
Col := StrToInt(OS3MainFrm.DataGrid.Cells[ColNo,i]);
|
||||
Row := Row - MinRow + 1;
|
||||
Col := Col - MinCol + 1;
|
||||
PObs := StrToInt(OS3MainFrm.DataGrid.Cells[DepNo,i]);
|
||||
Frq := round(PObs * Ncases);
|
||||
Fval := PObs * Ncases;
|
||||
if (Fval - Frq < 0.5) then Frq := round(Fval)
|
||||
else Frq := ceil(Fval);
|
||||
Freq[Row-1,Col-1] := Freq[Row-1,Col-1] + Frq;
|
||||
end;
|
||||
end;
|
||||
Freq[Nrows,Ncols] := Ncases;
|
||||
|
||||
// Now, calculate expected values
|
||||
// Get row totals first
|
||||
for i := 1 to Nrows do
|
||||
begin
|
||||
for j := 1 to Ncols do
|
||||
begin
|
||||
Freq[i-1,Ncols] := Freq[i-1,Ncols] + Freq[i-1,j-1];
|
||||
end;
|
||||
end;
|
||||
// Get col totals next
|
||||
for j := 1 to Ncols do
|
||||
begin
|
||||
for i := 1 to Nrows do
|
||||
begin
|
||||
Freq[Nrows,j-1] := Freq[Nrows,j-1] + Freq[i-1,j-1];
|
||||
end;
|
||||
end;
|
||||
// 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 for ' + RaterAEdit.Text + ' and ' + RaterBEdit.Text);
|
||||
outline := format('No. of Cases = %d',[Ncases]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
|
||||
// print tables requested by use
|
||||
if (ObsChk.Checked) then
|
||||
begin
|
||||
IntArrayPrint(Freq, Nrows+1, Ncols+1,'Frequencies',
|
||||
RowLabels, ColLabels,'OBSERVED FREQUENCIES');
|
||||
end;
|
||||
|
||||
if (ExpChk.Checked) then
|
||||
begin
|
||||
outline := 'EXPECTED FREQUENCIES';
|
||||
MAT_PRINT(Expected, Nrows, Ncols, outline, RowLabels, ColLabels,
|
||||
NoCases);
|
||||
end;
|
||||
|
||||
if (PropChk.Checked) then
|
||||
begin
|
||||
outline := '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, outline, RowLabels, ColLabels,
|
||||
NoCases);
|
||||
outline := '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, outline, RowLabels, ColLabels,
|
||||
NoCases);
|
||||
outline := '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, outline, RowLabels, ColLabels,
|
||||
NoCases);
|
||||
end;
|
||||
|
||||
if (ChiChk.Checked) then
|
||||
begin
|
||||
outline := 'CHI-SQUARED VALUE FOR CELLS';
|
||||
MAT_PRINT(CellChi, Nrows, Ncols, outline, RowLabels, ColLabels,
|
||||
NoCases);
|
||||
end;
|
||||
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
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
|
||||
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('');
|
||||
|
||||
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);
|
||||
|
||||
// kappa
|
||||
if (Nrows = Ncols) then
|
||||
begin
|
||||
obsdiag := 0.0;
|
||||
expdiag := 0.0;
|
||||
for i := 0 to Nrows - 1 do
|
||||
begin
|
||||
obsdiag := obsdiag + Freq[i,i];
|
||||
expdiag := expdiag + Expected[i,i];
|
||||
end;
|
||||
expnondiag := Ncases - expdiag;
|
||||
Kappa := (obsdiag - expdiag) / expnondiag;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
outline := format('Unweighted Kappa = %8.4f',[Kappa]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
// get linear weights
|
||||
SetLength(weights,Nrows,Ncols);
|
||||
SetLength(quadweights,Nrows,Ncols);
|
||||
for i := 0 to Nrows - 1 do
|
||||
begin
|
||||
for j := 0 to Ncols - 1 do
|
||||
begin
|
||||
weights[i,j] := 0.0;
|
||||
quadweights[i,j] := 0.0;
|
||||
end;
|
||||
end;
|
||||
for i := 0 to Nrows - 1 do
|
||||
begin
|
||||
for j := 0 to Ncols - 1 do
|
||||
begin
|
||||
weights[i,j] := 1.0 - (abs((i-j)) / (Nrows-1));
|
||||
quadweights[i,j] := 1.0 - ( abs((i-j)*(i-j)) / ((Nrows-1)*(Nrows-1)) );
|
||||
end;
|
||||
end;
|
||||
outline := 'Observed Linear Weights';
|
||||
MAT_PRINT(weights, Nrows, Ncols, outline, RowLabels, ColLabels, NoCases);
|
||||
outline := 'Observed Quadratic Weights';
|
||||
MAT_PRINT(quadweights, Nrows, Ncols, outline, RowLabels, ColLabels, NoCases);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
for i := 0 to Nrows - 1 do
|
||||
begin
|
||||
for j := 0 to Ncols - 1 do
|
||||
begin
|
||||
pobserved := pobserved + (Freq[i][j] / Ncases) * weights[i,j];
|
||||
pexpected := pexpected + (Expected[i,j] / Ncases) * weights[i,j];
|
||||
end;
|
||||
end;
|
||||
Kappa := (pobserved - pexpected) / (1.0 - pexpected);
|
||||
outline := format('Linear Weighted Kappa = %8.4f',[Kappa]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
pobserved := 0.0;
|
||||
pexpected := 0.0;
|
||||
for i := 0 to Nrows - 1 do
|
||||
begin
|
||||
for j := 0 to Ncols - 1 do
|
||||
begin
|
||||
pobserved := pobserved + (Freq[i,j] / Ncases) * quadweights[i,j];
|
||||
pexpected := pexpected + (Expected[i,j] / Ncases) * quadweights[i,j];
|
||||
end;
|
||||
end;
|
||||
Kappa := (pobserved - pexpected) / (1.0 - pexpected);
|
||||
outline := format('Quadratic Weighted Kappa = %8.4f',[Kappa]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
quadweights := nil;
|
||||
weights := nil;
|
||||
end;
|
||||
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
|
||||
// save frequency data file if elected
|
||||
if ((SaveChk.Checked) and (InputGroup.ItemIndex = 0)) then
|
||||
begin
|
||||
ClearGrid;
|
||||
for i := 1 to 3 do DictionaryFrm.NewVar(i);
|
||||
DictionaryFrm.DictGrid.Cells[1,1] := 'ROW';
|
||||
DictionaryFrm.DictGrid.Cells[1,2] := 'COL';
|
||||
DictionaryFrm.DictGrid.Cells[1,3] := 'FREQ.';
|
||||
OS3MainFrm.DataGrid.Cells[1,0] := 'ROW';
|
||||
OS3MainFrm.DataGrid.Cells[2,0] := 'COL';
|
||||
OS3MainFrm.DataGrid.Cells[3,0] := 'Freq.';
|
||||
k := 1;
|
||||
for i := 1 to Nrows do
|
||||
begin
|
||||
for j := 1 to Ncols do
|
||||
begin
|
||||
OS3MainFrm.DataGrid.RowCount := k + 1;
|
||||
OS3MainFrm.DataGrid.Cells[1,k] := IntToStr(i);
|
||||
OS3MainFrm.DataGrid.Cells[2,k] := IntToStr(j);
|
||||
OS3MainFrm.DataGrid.Cells[3,k] := IntToStr(Freq[i-1,j-1]);
|
||||
k := k + 1;
|
||||
end;
|
||||
end;
|
||||
for i := 1 to k - 1 do
|
||||
begin
|
||||
title := 'CASE ' + IntToStr(i);
|
||||
OS3MainFrm.DataGrid.Cells[0,i] := title;
|
||||
end;
|
||||
title := InputBox('FILE:','File Name:','Frequencies.LAZ');
|
||||
OS3MainFrm.FileNameEdit.Text := title;
|
||||
OS3MainFrm.NoVarsEdit.Text := IntToStr(3);
|
||||
OS3MainFrm.NoCasesEdit.Text := IntToStr(k-1);
|
||||
NoVariables := 3;
|
||||
NoCases := k-1;
|
||||
SaveOS2File;
|
||||
end;
|
||||
|
||||
//clean up
|
||||
ColLabels := nil;
|
||||
RowLabels := nil;
|
||||
CellChi := nil;
|
||||
Expected := nil;
|
||||
Prop := nil;
|
||||
Freq := nil;
|
||||
ColNoSelected := nil;
|
||||
end;
|
||||
|
||||
procedure TWeightedKappaFrm.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 TWeightedKappaFrm.DepOutClick(Sender: TObject);
|
||||
begin
|
||||
VarList.Items.Add(DepEdit.Text);
|
||||
DepEdit.Text := '';
|
||||
DepIn.Visible := true;
|
||||
DepOut.Visible := false;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I kappaunit.lrs}
|
||||
|
||||
end.
|
||||
|
398
applications/lazstats/source_orig/kendalltauunit.lfm
Normal file
398
applications/lazstats/source_orig/kendalltauunit.lfm
Normal file
@ -0,0 +1,398 @@
|
||||
object KendallTauFrm: TKendallTauFrm
|
||||
Left = 132
|
||||
Height = 348
|
||||
Top = 97
|
||||
Width = 352
|
||||
Caption = 'Kendall Rank Correlation Tau and Partial Tau'
|
||||
ClientHeight = 348
|
||||
ClientWidth = 352
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.26.2'
|
||||
object Label1: TLabel
|
||||
Left = 5
|
||||
Height = 14
|
||||
Top = 5
|
||||
Width = 90
|
||||
Caption = 'Variables Available'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 214
|
||||
Height = 14
|
||||
Top = 25
|
||||
Width = 48
|
||||
Caption = 'X Variable'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label3: TLabel
|
||||
Left = 217
|
||||
Height = 14
|
||||
Top = 105
|
||||
Width = 48
|
||||
Caption = 'Y Variable'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label4: TLabel
|
||||
Left = 216
|
||||
Height = 14
|
||||
Top = 184
|
||||
Width = 48
|
||||
Caption = 'Z Variable'
|
||||
ParentColor = False
|
||||
end
|
||||
object VarList: TListBox
|
||||
Left = 6
|
||||
Height = 254
|
||||
Top = 21
|
||||
Width = 160
|
||||
TabOrder = 0
|
||||
end
|
||||
object XIn: TBitBtn
|
||||
Left = 176
|
||||
Height = 28
|
||||
Top = 22
|
||||
Width = 32
|
||||
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 = XInClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object XOut: TBitBtn
|
||||
Left = 176
|
||||
Height = 28
|
||||
Top = 56
|
||||
Width = 32
|
||||
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 = XOutClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object YIn: TBitBtn
|
||||
Left = 176
|
||||
Height = 28
|
||||
Top = 104
|
||||
Width = 32
|
||||
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 = YInClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object YOut: TBitBtn
|
||||
Left = 175
|
||||
Height = 28
|
||||
Top = 136
|
||||
Width = 32
|
||||
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 = YOutClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object ZIn: TBitBtn
|
||||
Left = 176
|
||||
Height = 28
|
||||
Top = 184
|
||||
Width = 32
|
||||
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 = ZInClick
|
||||
TabOrder = 5
|
||||
end
|
||||
object ZOut: TBitBtn
|
||||
Left = 176
|
||||
Height = 28
|
||||
Top = 216
|
||||
Width = 32
|
||||
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 = ZOutClick
|
||||
TabOrder = 6
|
||||
end
|
||||
object XEdit: TEdit
|
||||
Left = 213
|
||||
Height = 18
|
||||
Top = 39
|
||||
Width = 120
|
||||
TabOrder = 7
|
||||
Text = 'XEdit'
|
||||
end
|
||||
object YEdit: TEdit
|
||||
Left = 217
|
||||
Height = 18
|
||||
Top = 120
|
||||
Width = 120
|
||||
TabOrder = 8
|
||||
Text = 'Edit1'
|
||||
end
|
||||
object ZEdit: TEdit
|
||||
Left = 216
|
||||
Height = 18
|
||||
Top = 200
|
||||
Width = 120
|
||||
TabOrder = 9
|
||||
Text = 'Edit1'
|
||||
end
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 6
|
||||
Height = 46
|
||||
Top = 287
|
||||
Width = 161
|
||||
Caption = 'Options:'
|
||||
ClientHeight = 28
|
||||
ClientWidth = 157
|
||||
TabOrder = 10
|
||||
object RanksChk: TCheckBox
|
||||
Left = 8
|
||||
Height = 17
|
||||
Top = 3
|
||||
Width = 124
|
||||
Caption = 'Show Ranked Scores'
|
||||
TabOrder = 0
|
||||
end
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 174
|
||||
Height = 26
|
||||
Top = 254
|
||||
Width = 65
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 11
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 268
|
||||
Height = 26
|
||||
Top = 254
|
||||
Width = 65
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 12
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 176
|
||||
Height = 26
|
||||
Top = 307
|
||||
Width = 65
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 13
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 268
|
||||
Height = 26
|
||||
Top = 307
|
||||
Width = 65
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 14
|
||||
end
|
||||
end
|
341
applications/lazstats/source_orig/kendalltauunit.lrs
Normal file
341
applications/lazstats/source_orig/kendalltauunit.lrs
Normal file
@ -0,0 +1,341 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TKendallTauFrm','FORMDATA',[
|
||||
'TPF0'#14'TKendallTauFrm'#13'KendallTauFrm'#4'Left'#3#132#0#6'Height'#3'\'#1#3
|
||||
+'Top'#2'a'#5'Width'#3'`'#1#7'Caption'#6',Kendall Rank Correlation Tau and Pa'
|
||||
+'rtial Tau'#12'ClientHeight'#3'\'#1#11'ClientWidth'#3'`'#1#6'OnShow'#7#8'For'
|
||||
+'mShow'#10'LCLVersion'#6#8'0.9.26.2'#0#6'TLabel'#6'Label1'#4'Left'#2#5#6'Hei'
|
||||
+'ght'#2#14#3'Top'#2#5#5'Width'#2'Z'#7'Caption'#6#19'Variables Available'#11
|
||||
+'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#3#214#0#6'Height'#2#14#3'Top'
|
||||
+#2#25#5'Width'#2'0'#7'Caption'#6#10'X Variable'#11'ParentColor'#8#0#0#6'TLab'
|
||||
+'el'#6'Label3'#4'Left'#3#217#0#6'Height'#2#14#3'Top'#2'i'#5'Width'#2'0'#7'Ca'
|
||||
+'ption'#6#10'Y Variable'#11'ParentColor'#8#0#0#6'TLabel'#6'Label4'#4'Left'#3
|
||||
+#216#0#6'Height'#2#14#3'Top'#3#184#0#5'Width'#2'0'#7'Caption'#6#10'Z Variabl'
|
||||
+'e'#11'ParentColor'#8#0#0#8'TListBox'#7'VarList'#4'Left'#2#6#6'Height'#3#254
|
||||
+#0#3'Top'#2#21#5'Width'#3#160#0#8'TabOrder'#2#0#0#0#7'TBitBtn'#3'XIn'#4'Left'
|
||||
+#3#176#0#6'Height'#2#28#3'Top'#2#22#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#8'XInClick'#8'TabOrder'#2
|
||||
+#1#0#0#7'TBitBtn'#4'XOut'#4'Left'#3#176#0#6'Height'#2#28#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
|
||||
+''#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#9'X'
|
||||
+'OutClick'#8'TabOrder'#2#2#0#0#7'TBitBtn'#3'YIn'#4'Left'#3#176#0#6'Height'#2
|
||||
+#28#3'Top'#2'h'#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#8'YInClick'#8'TabOrder'#2#3#0#0#7'TBitBtn'#4
|
||||
+'YOut'#4'Left'#3#175#0#6'Height'#2#28#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'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#9'YOutClick'#8'Ta'
|
||||
+'bOrder'#2#4#0#0#7'TBitBtn'#3'ZIn'#4'Left'#3#176#0#6'Height'#2#28#3'Top'#3
|
||||
+#184#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'NumGlyp'
|
||||
+'hs'#2#0#7'OnClick'#7#8'ZInClick'#8'TabOrder'#2#5#0#0#7'TBitBtn'#4'ZOut'#4'L'
|
||||
+'eft'#3#176#0#6'Height'#2#28#3'Top'#3#216#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''#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#9'ZOutClick'#8'TabOrd'
|
||||
,'er'#2#6#0#0#5'TEdit'#5'XEdit'#4'Left'#3#213#0#6'Height'#2#18#3'Top'#2''''#5
|
||||
+'Width'#2'x'#8'TabOrder'#2#7#4'Text'#6#5'XEdit'#0#0#5'TEdit'#5'YEdit'#4'Left'
|
||||
+#3#217#0#6'Height'#2#18#3'Top'#2'x'#5'Width'#2'x'#8'TabOrder'#2#8#4'Text'#6#5
|
||||
+'Edit1'#0#0#5'TEdit'#5'ZEdit'#4'Left'#3#216#0#6'Height'#2#18#3'Top'#3#200#0#5
|
||||
+'Width'#2'x'#8'TabOrder'#2#9#4'Text'#6#5'Edit1'#0#0#9'TGroupBox'#9'GroupBox1'
|
||||
+#4'Left'#2#6#6'Height'#2'.'#3'Top'#3#31#1#5'Width'#3#161#0#7'Caption'#6#8'Op'
|
||||
+'tions:'#12'ClientHeight'#2#28#11'ClientWidth'#3#157#0#8'TabOrder'#2#10#0#9
|
||||
+'TCheckBox'#8'RanksChk'#4'Left'#2#8#6'Height'#2#17#3'Top'#2#3#5'Width'#2'|'#7
|
||||
+'Caption'#6#18'Show Ranked Scores'#8'TabOrder'#2#0#0#0#0#7'TButton'#8'ResetB'
|
||||
+'tn'#4'Left'#3#174#0#6'Height'#2#26#3'Top'#3#254#0#5'Width'#2'A'#7'Caption'#6
|
||||
+#5'Reset'#7'OnClick'#7#13'ResetBtnClick'#8'TabOrder'#2#11#0#0#7'TButton'#9'C'
|
||||
+'ancelBtn'#4'Left'#3#12#1#6'Height'#2#26#3'Top'#3#254#0#5'Width'#2'A'#7'Capt'
|
||||
+'ion'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#12#0#0#7'TButton'#10'Com'
|
||||
+'puteBtn'#4'Left'#3#176#0#6'Height'#2#26#3'Top'#3'3'#1#5'Width'#2'A'#7'Capti'
|
||||
+'on'#6#7'Compute'#7'OnClick'#7#15'ComputeBtnClick'#8'TabOrder'#2#13#0#0#7'TB'
|
||||
+'utton'#9'ReturnBtn'#4'Left'#3#12#1#6'Height'#2#26#3'Top'#3'3'#1#5'Width'#2
|
||||
+'A'#7'Caption'#6#6'Return'#11'ModalResult'#2#1#8'TabOrder'#2#14#0#0#0
|
||||
]);
|
554
applications/lazstats/source_orig/kendalltauunit.pas
Normal file
554
applications/lazstats/source_orig/kendalltauunit.pas
Normal file
@ -0,0 +1,554 @@
|
||||
unit KendallTauUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Buttons, MainUnit, OutPutUnit, FunctionsLib, Globals,
|
||||
DataProcs, Math, MatrixLib;
|
||||
|
||||
type
|
||||
|
||||
{ TKendallTauFrm }
|
||||
|
||||
TKendallTauFrm = class(TForm)
|
||||
ResetBtn: TButton;
|
||||
CancelBtn: TButton;
|
||||
ComputeBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
RanksChk: TCheckBox;
|
||||
GroupBox1: TGroupBox;
|
||||
XEdit: TEdit;
|
||||
YEdit: TEdit;
|
||||
ZEdit: TEdit;
|
||||
Label2: TLabel;
|
||||
Label3: TLabel;
|
||||
Label4: TLabel;
|
||||
XIn: TBitBtn;
|
||||
XOut: TBitBtn;
|
||||
YIn: TBitBtn;
|
||||
YOut: TBitBtn;
|
||||
ZIn: TBitBtn;
|
||||
ZOut: TBitBtn;
|
||||
Label1: TLabel;
|
||||
VarList: TListBox;
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
procedure XInClick(Sender: TObject);
|
||||
procedure XOutClick(Sender: TObject);
|
||||
procedure YInClick(Sender: TObject);
|
||||
procedure YOutClick(Sender: TObject);
|
||||
procedure ZInClick(Sender: TObject);
|
||||
procedure ZOutClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
KendallTauFrm: TKendallTauFrm;
|
||||
|
||||
implementation
|
||||
|
||||
{ TKendallTauFrm }
|
||||
|
||||
procedure TKendallTauFrm.ResetBtnClick(Sender: TObject);
|
||||
VAR i : integer;
|
||||
begin
|
||||
XEdit.Text := '';
|
||||
YEdit.Text := '';
|
||||
ZEdit.Text := '';
|
||||
Xin.Visible := true;
|
||||
Xout.Visible := false;
|
||||
Yin.Visible := true;
|
||||
Yout.Visible := false;
|
||||
Zin.Visible := true;
|
||||
Zout.Visible := false;
|
||||
RanksChk.Checked := false;
|
||||
VarList.Items.Clear;
|
||||
for i := 1 to NoVariables do
|
||||
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
|
||||
end;
|
||||
|
||||
procedure TKendallTauFrm.XInClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := VarList.ItemIndex;
|
||||
XEdit.Text := VarList.Items.Strings[index];
|
||||
VarList.Items.Delete(index);
|
||||
Xin.Visible := false;
|
||||
Xout.Visible := true;
|
||||
end;
|
||||
|
||||
procedure TKendallTauFrm.XOutClick(Sender: TObject);
|
||||
begin
|
||||
VarList.Items.Add(XEdit.Text);
|
||||
XEdit.Text := '';
|
||||
Xin.Visible := true;
|
||||
Xout.Visible := false;
|
||||
end;
|
||||
|
||||
procedure TKendallTauFrm.YInClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := VarList.ItemIndex;
|
||||
YEdit.Text := VarList.Items.Strings[index];
|
||||
VarList.Items.Delete(index);
|
||||
Yin.Visible := false;
|
||||
Yout.Visible := true;
|
||||
end;
|
||||
|
||||
procedure TKendallTauFrm.YOutClick(Sender: TObject);
|
||||
begin
|
||||
VarList.Items.Add(YEdit.Text);
|
||||
YEdit.Text := '';
|
||||
Yin.Visible := true;
|
||||
Yout.Visible := false;
|
||||
end;
|
||||
|
||||
procedure TKendallTauFrm.ZInClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := VarList.ItemIndex;
|
||||
ZEdit.Text := VarList.Items.Strings[index];
|
||||
VarList.Items.Delete(index);
|
||||
Zin.Visible := false;
|
||||
Zout.Visible := true;
|
||||
end;
|
||||
|
||||
procedure TKendallTauFrm.ZOutClick(Sender: TObject);
|
||||
begin
|
||||
VarList.Items.Add(YEdit.Text);
|
||||
ZEdit.Text := '';
|
||||
Zin.Visible := true;
|
||||
Zout.Visible := false;
|
||||
end;
|
||||
|
||||
procedure TKendallTauFrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
ResetBtnClick(self);
|
||||
end;
|
||||
|
||||
procedure TKendallTauFrm.ComputeBtnClick(Sender: TObject);
|
||||
label Check1, Check2, Check3;
|
||||
var
|
||||
i, j, k, itemp, NoTies, NoTieGroups, NoSelected : integer;
|
||||
col1, col2, col3, NCases : integer;
|
||||
index : IntDyneMat;
|
||||
Probability, Temp, TieSum, Avg, t, SumT, r : double;
|
||||
z, denominator, df, stddev : double;
|
||||
Ranks, X : DblDyneMat;
|
||||
cellstring, outline : string;
|
||||
ColNoSelected : IntdyneVec;
|
||||
ColLabels : StrDyneVec;
|
||||
RowLabels : StrDyneVec;
|
||||
TauXY, TauXZ, TauYZ : double;
|
||||
TiesX, TiesY, TiesZ : integer;
|
||||
Tx, Ty, Tz : double;
|
||||
Term1, Term2 : double;
|
||||
PartialTau : double;
|
||||
title : string;
|
||||
begin
|
||||
// Allocate memory
|
||||
SetLength(index,NoCases,3);
|
||||
SetLength(Ranks,NoCases,3);
|
||||
SetLength(X,NoCases,3);
|
||||
SetLength(ColLabels,3);
|
||||
SetLength(RowLabels,NoCases);
|
||||
SetLength(ColNoSelected,NoVariables);
|
||||
Tx := 0.0;
|
||||
Ty := 0.0;
|
||||
Tz := 0.0;
|
||||
|
||||
// Get column numbers and labels of variables selected
|
||||
NoSelected := 0;
|
||||
for j := 1 to NoVariables do
|
||||
begin
|
||||
cellstring := OS3MainFrm.DataGrid.Cells[j,0];
|
||||
if cellstring = Xedit.Text then
|
||||
begin
|
||||
ColNoSelected[0] := j;
|
||||
ColLabels[0] := cellstring;
|
||||
NoSelected := NoSelected + 1;
|
||||
end;
|
||||
if cellstring = Yedit.Text then
|
||||
begin
|
||||
ColNoSelected[1] := j;
|
||||
ColLabels[1] := cellstring;
|
||||
NoSelected := NoSelected + 1;
|
||||
end;
|
||||
if cellstring = Zedit.Text then
|
||||
begin
|
||||
ColNoSelected[2] := j;
|
||||
ColLabels[2] := cellstring;
|
||||
NoSelected := NoSelected + 1;
|
||||
end;
|
||||
end;
|
||||
|
||||
// Get scores
|
||||
NCases := 0;
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
if ( not GoodRecord(i,NoSelected,ColNoSelected)) then continue;
|
||||
NCases := NCases + 1;
|
||||
col1 := ColNoSelected[0];
|
||||
col2 := ColNoSelected[1];
|
||||
if NoSelected = 3 then col3 := ColNoSelected[2];
|
||||
X[NCases-1,0] := StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[col1,i]));
|
||||
Ranks[NCases-1,0] := X[NCases-1,0];
|
||||
X[NCases-1,1] := StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[col2,i]));
|
||||
Ranks[NCases-1,1] := X[NCases-1,1];
|
||||
if NoSelected = 3 then
|
||||
begin
|
||||
X[NCases-1,2] := StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[col3,i]));
|
||||
Ranks[NCases-1,2] := X[NCases-1,2];
|
||||
end;
|
||||
index[NCases-1,0] := NCases;
|
||||
index[NCases-1,1] := NCases;
|
||||
if NoSelected = 3 then index[NCases-1,2] := NCases;
|
||||
end;
|
||||
|
||||
for i := 0 to NCases - 1 do RowLabels[i] := IntToStr(i+1);
|
||||
// Rank the first variable (X)
|
||||
for i := 0 to NCases - 2 do
|
||||
begin
|
||||
for j := i + 1 to NCases-1 do
|
||||
begin
|
||||
if (Ranks[i,0] > Ranks[j,0]) then // swap
|
||||
begin
|
||||
Temp := Ranks[i,0];
|
||||
Ranks[i,0] := Ranks[j,0];
|
||||
Ranks[j,0] := Temp;
|
||||
itemp := index[i,0];
|
||||
index[i,0] := index[j,0];
|
||||
index[j,0] := itemp;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
// Assign ranks
|
||||
for i := 0 to NCases-1 do Ranks[i,0] := i+1;
|
||||
|
||||
// Check for ties in each
|
||||
i := 1;
|
||||
while (i < NCases) do
|
||||
begin
|
||||
j := i+1;
|
||||
TieSum := 0.0;
|
||||
NoTies := 0;
|
||||
while (j <= NCases) do
|
||||
begin
|
||||
if (X[j-1,0] > X[i-1,0]) then goto Check1;
|
||||
if (X[j-1,0] = X[i-1,0]) then
|
||||
begin
|
||||
TieSum := TieSum + Ranks[j-1,0];
|
||||
NoTies := NoTies + 1;
|
||||
end;
|
||||
j := j + 1;
|
||||
end;
|
||||
Check1:
|
||||
if (NoTies > 0) then // at least one tie found
|
||||
begin
|
||||
TieSum := TieSum + Ranks[i-1,0];
|
||||
NoTies := NoTies + 1;
|
||||
Avg := TieSum / NoTies;
|
||||
for j := i to i + NoTies - 1 do Ranks[j-1,0] := Avg;
|
||||
i := i + (NoTies-1);
|
||||
Tx := Tx + NoTies *(NoTies-1);
|
||||
end;
|
||||
i := i + 1;
|
||||
end;
|
||||
Tx := Tx / 2.0;
|
||||
|
||||
// Repeat sort for second variable Y
|
||||
for i := 0 to NCases - 2 do
|
||||
begin
|
||||
for j := i + 1 to NCases-1 do
|
||||
begin
|
||||
if (Ranks[i,1] > Ranks[j,1]) then // swap
|
||||
begin
|
||||
Temp := Ranks[i,1];
|
||||
Ranks[i,1] := Ranks[j,1];
|
||||
Ranks[j,1] := Temp;
|
||||
itemp := index[i,1];
|
||||
index[i,1] := index[j,1];
|
||||
index[j,1] := itemp;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
// Assign ranks
|
||||
for i := 0 to NCases-1 do Ranks[i,1] := i+1;
|
||||
|
||||
// Check for ties in each
|
||||
i := 1;
|
||||
while (i < NCases) do
|
||||
begin
|
||||
j := i+1;
|
||||
TieSum := 0.0;
|
||||
NoTies := 0;
|
||||
while (j <= NoCases) do
|
||||
begin
|
||||
if (X[j-1,1] > X[i-1,1]) then goto Check2;
|
||||
if (X[j-1,1] = X[i-1,1]) then
|
||||
begin
|
||||
TieSum := TieSum + Ranks[j-1,1];
|
||||
NoTies := NoTies + 1;
|
||||
end;
|
||||
j := j + 1;
|
||||
end;
|
||||
Check2:
|
||||
if (NoTies > 0) then // at least one tie found
|
||||
begin
|
||||
TieSum := TieSum + Ranks[i-1,1];
|
||||
NoTies := NoTies + 1;
|
||||
Avg := TieSum / NoTies;
|
||||
for j := i to i + NoTies - 1 do Ranks[j-1,1] := Avg;
|
||||
i := i + (NoTies-1);
|
||||
Ty := Ty + NoTies * (NoTies - 1);
|
||||
end;
|
||||
i := i + 1;
|
||||
end;
|
||||
Ty := Ty / 2.0;
|
||||
|
||||
// Repeat for z variable
|
||||
if NoSelected > 2 then // z was entered
|
||||
begin
|
||||
for i := 0 to NCases - 2 do
|
||||
begin
|
||||
for j := i + 1 to NCases-1 do
|
||||
begin
|
||||
if (Ranks[i,2] > Ranks[j,2]) then // swap
|
||||
begin
|
||||
Temp := Ranks[i,2];
|
||||
Ranks[i,2] := Ranks[j,2];
|
||||
Ranks[j,2] := Temp;
|
||||
itemp := index[i,2];
|
||||
index[i,2] := index[j,2];
|
||||
index[j,2] := itemp;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
// Assign ranks
|
||||
for i := 0 to NCases-1 do Ranks[i,2] := i+1;
|
||||
|
||||
// Check for ties in each
|
||||
i := 1;
|
||||
while (i < NCases) do
|
||||
begin
|
||||
j := i+1;
|
||||
TieSum := 0.0;
|
||||
NoTies := 0;
|
||||
while (j <= NoCases) do
|
||||
begin
|
||||
if (X[j-1,2] > X[i-1,2]) then goto Check3;
|
||||
if (X[j-1,2] = X[i-1,2]) then
|
||||
begin
|
||||
TieSum := TieSum + Ranks[j-1,2];
|
||||
NoTies := NoTies + 1;
|
||||
end;
|
||||
j := j + 1;
|
||||
end;
|
||||
Check3:
|
||||
if (NoTies > 0) then // at least one tie found
|
||||
begin
|
||||
TieSum := TieSum + Ranks[i-1,2];
|
||||
NoTies := NoTies + 1;
|
||||
Avg := TieSum / NoTies;
|
||||
for j := i to i + NoTies - 1 do Ranks[j-1,2] := Avg;
|
||||
i := i + (NoTies-1);
|
||||
Tz := Tz + NoTies * (NoTies - 1);
|
||||
end;
|
||||
i := i + 1;
|
||||
end;
|
||||
Tz := Tz / 2.0;
|
||||
end;
|
||||
|
||||
// Rearrange ranks into original score order
|
||||
for k := 1 to 3 do
|
||||
begin
|
||||
for i := 1 to NCases - 1 do
|
||||
begin
|
||||
for j := i + 1 to NCases do
|
||||
begin
|
||||
if (index[i-1,k-1] > index[j-1,k-1]) then // swap
|
||||
begin
|
||||
itemp := index[i-1,k-1];
|
||||
index[i-1,k-1] := index[j-1,k-1];
|
||||
index[j-1,k-1] := itemp;
|
||||
Temp := Ranks[i-1,k-1];
|
||||
Ranks[i-1,k-1] := Ranks[j-1,k-1];
|
||||
Ranks[j-1,k-1] := Temp;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
// print data matrix if option is elected
|
||||
if RanksChk.Checked then
|
||||
begin
|
||||
title := 'Ranks';
|
||||
if NoSelected = 2 then
|
||||
MAT_PRINT(Ranks,NCases,2,title,RowLabels,ColLabels,NCases)
|
||||
else
|
||||
MAT_PRINT(Ranks,NCases,3,title,RowLabels,ColLabels,NCases);
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
end;
|
||||
|
||||
// compute Tau for X and Y
|
||||
// sort on X and obtain SumT for Y ranks
|
||||
SumT := 0.0;
|
||||
for i := 0 to NCases - 2 do
|
||||
begin
|
||||
for j := i + 1 to NCases-1 do
|
||||
begin
|
||||
if (Ranks[i,0] > Ranks[j,0]) then // swap
|
||||
begin
|
||||
Temp := Ranks[i,0];
|
||||
Ranks[i,0] := Ranks[j,0];
|
||||
Ranks[j,0] := Temp;
|
||||
Temp := Ranks[i,1];
|
||||
Ranks[i,1] := Ranks[j,1];
|
||||
Ranks[j,1] := Temp;
|
||||
if NoSelected = 3 then
|
||||
begin
|
||||
Temp := Ranks[i,2];
|
||||
Ranks[i,2] := Ranks[j,2];
|
||||
Ranks[j,2] := Temp;
|
||||
end;
|
||||
itemp := index[i,0];
|
||||
index[i,0] := index[j,0];
|
||||
index[j,0] := itemp;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
for i := 0 to NCases - 2 do
|
||||
for j := i + 1 to NCases - 1 do
|
||||
if Ranks[i,1] < Ranks[j,1] then SumT := SumT + 1.0
|
||||
else if Ranks[i,1] > Ranks[j,1] then SumT := SumT - 1.0;
|
||||
Term1 := sqrt((NCases * (NCases-1)) / 2.0 - Tx);
|
||||
Term2 := sqrt((NCases * (Ncases-1)) / 2.0 - Ty);
|
||||
denominator := Term1 * Term2;
|
||||
TauXY := SumT / denominator;
|
||||
|
||||
if NoSelected > 2 then // get tau values for partial
|
||||
begin
|
||||
// Get TauXZ
|
||||
SumT := 0.0;
|
||||
for i := 0 to NCases - 2 do
|
||||
for j := i + 1 to NCases - 1 do
|
||||
if Ranks[i,2] < Ranks[j,2] then SumT := SumT + 1.0
|
||||
else if Ranks[i,2] > Ranks[j,2] then SumT := SumT - 1.0;
|
||||
Term1 := sqrt((NCases * (NCases-1)) / 2.0 - Tx);
|
||||
Term2 := sqrt((NCases * (Ncases-1)) / 2.0 - Tz);
|
||||
denominator := Term1 * Term2;
|
||||
TauXZ := SumT / denominator;
|
||||
|
||||
// get back to original order then sort on Y
|
||||
for i := 0 to NCases - 2 do
|
||||
begin
|
||||
for j := i + 1 to NCases - 1 do
|
||||
begin
|
||||
if index[i,0] > index[j,0] then // swap
|
||||
begin
|
||||
Temp := Ranks[i,0];
|
||||
Ranks[i,0] := Ranks[j,0];
|
||||
Ranks[j,0] := temp;
|
||||
Temp := Ranks[i,1];
|
||||
Ranks[i,1] := Ranks[j,1];
|
||||
Ranks[j,1] := Temp;
|
||||
Temp := Ranks[i,2];
|
||||
Ranks[i,2] := Ranks[j,2];
|
||||
Ranks[j,2] := Temp;
|
||||
itemp := index[i,0];
|
||||
index[i,0] := index[j,0];
|
||||
index[j,0] := itemp;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
// Get TauYZ
|
||||
for i := 0 to NCases - 2 do // sort on Y variable
|
||||
begin
|
||||
for j := i + 1 to NCases-1 do
|
||||
begin
|
||||
if (Ranks[i,1] > Ranks[j,1]) then // swap
|
||||
begin
|
||||
Temp := Ranks[i,1];
|
||||
Ranks[i,1] := Ranks[j,1];
|
||||
Ranks[j,1] := Temp;
|
||||
Temp := Ranks[i,2];
|
||||
Ranks[i,2] := Ranks[j,2];
|
||||
Ranks[j,2] := Temp;
|
||||
itemp := index[i,1];
|
||||
index[i,1] := index[j,1];
|
||||
index[j,1] := itemp;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
SumT := 0.0;
|
||||
for i := 0 to NCases - 2 do
|
||||
for j := i + 1 to NCases - 1 do
|
||||
if Ranks[i,2] < Ranks[j,2] then SumT := SumT + 1.0
|
||||
else if Ranks[i,2] > Ranks[j,2] then SumT := SumT - 1.0;
|
||||
Term1 := sqrt((NCases * (NCases-1)) / 2.0 - Ty);
|
||||
Term2 := sqrt((NCases * (Ncases-1)) / 2.0 - Tz);
|
||||
denominator := Term1 * Term2;
|
||||
TauYZ := SumT / denominator;
|
||||
PartialTau := (TauXY - TauXZ * TauYZ) /
|
||||
(sqrt(1.0 - sqr(TauXZ)) * sqrt(1.0 - sqr(TauYZ)));
|
||||
end;
|
||||
|
||||
// do significance tests
|
||||
stddev := sqrt( (2.0 * ( 2.0 * NCases + 5)) / (9.0 * NCases * (NCases - 1.0)));
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
OutPutFrm.RichEdit.Lines.Add('Kendall Tau for File: ' + OS3MainFrm.FileNameEdit.Text);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Kendall Tau for variables ' + ColLabels[0] + ' and ' + ColLabels[1]);
|
||||
z := abs(TauXY / stddev);
|
||||
probability := 1.0 - probz(z);
|
||||
outline := format('Tau = %8.4f z = %8.3f probability > |z| = %4.3f',[TauXY,z,probability]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
if NoSelected > 2 then
|
||||
begin
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
z := abs(TauXZ / stddev);
|
||||
probability := 1.0 - probz(z);
|
||||
OutPutFrm.RichEdit.Lines.Add('Kendall Tau for variables ' + ColLabels[0] + ' and ' + ColLabels[2]);
|
||||
outline := format('Tau = %8.4f z = %8.3f probability > |z| = %4.3f',[TauXZ,z,probability]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
z := abs(TauYZ / stddev);
|
||||
probability := 1.0 - probz(z);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Kendall Tau for variables ' + ColLabels[1] + ' and ' + ColLabels[2]);
|
||||
outline := format('Tau = %8.4f z = %8.3f probability > |z| = %4.3f',[TauYZ,z,probability]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
outline := format('Partial Tau = %8.4f',[PartialTau]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('NOTE: Probabilities are for large N (>10)');
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
|
||||
ColNoSelected := nil;
|
||||
RowLabels := nil;
|
||||
ColLabels := nil;
|
||||
X := nil;
|
||||
Ranks := nil;
|
||||
index := nil;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I kendalltauunit.lrs}
|
||||
|
||||
end.
|
||||
|
253
applications/lazstats/source_orig/kmeansunit.lfm
Normal file
253
applications/lazstats/source_orig/kmeansunit.lfm
Normal file
@ -0,0 +1,253 @@
|
||||
object kmeansfrm: Tkmeansfrm
|
||||
Left = 157
|
||||
Height = 398
|
||||
Top = 115
|
||||
Width = 443
|
||||
Caption = 'k Means Clustering '
|
||||
ClientHeight = 398
|
||||
ClientWidth = 443
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.28.2'
|
||||
object Label1: TLabel
|
||||
Left = 9
|
||||
Height = 14
|
||||
Top = 8
|
||||
Width = 112
|
||||
Caption = 'No. of Desired Clusters'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 9
|
||||
Height = 14
|
||||
Top = 40
|
||||
Width = 81
|
||||
Caption = 'No. of Iterations'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label3: TLabel
|
||||
Left = 9
|
||||
Height = 14
|
||||
Top = 112
|
||||
Width = 90
|
||||
Caption = 'Available Variables'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label4: TLabel
|
||||
Left = 249
|
||||
Height = 14
|
||||
Top = 112
|
||||
Width = 88
|
||||
Caption = 'Selected Variables'
|
||||
ParentColor = False
|
||||
end
|
||||
object NoClustersEdit: TEdit
|
||||
Left = 130
|
||||
Height = 21
|
||||
Top = 1
|
||||
Width = 54
|
||||
TabOrder = 0
|
||||
Text = 'NoClustersEdit'
|
||||
end
|
||||
object ItersEdit: TEdit
|
||||
Left = 129
|
||||
Height = 21
|
||||
Top = 33
|
||||
Width = 55
|
||||
TabOrder = 1
|
||||
Text = 'ItersEdit'
|
||||
end
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 262
|
||||
Height = 101
|
||||
Top = 1
|
||||
Width = 160
|
||||
Caption = 'Analysis Optons'
|
||||
ClientHeight = 83
|
||||
ClientWidth = 156
|
||||
TabOrder = 2
|
||||
object StdChkBox: TCheckBox
|
||||
Left = 7
|
||||
Height = 17
|
||||
Top = 5
|
||||
Width = 123
|
||||
Caption = 'Standardize Variables'
|
||||
TabOrder = 0
|
||||
end
|
||||
object RepChkBox: TCheckBox
|
||||
Left = 25
|
||||
Height = 17
|
||||
Top = 31
|
||||
Width = 114
|
||||
Caption = 'Replace Grid Values'
|
||||
TabOrder = 1
|
||||
end
|
||||
object DescChkBox: TCheckBox
|
||||
Left = 10
|
||||
Height = 17
|
||||
Top = 57
|
||||
Width = 119
|
||||
Caption = 'Descriptive Statistics'
|
||||
TabOrder = 2
|
||||
end
|
||||
end
|
||||
object VarList: TListBox
|
||||
Left = 7
|
||||
Height = 208
|
||||
Top = 128
|
||||
Width = 176
|
||||
ItemHeight = 0
|
||||
MultiSelect = True
|
||||
TabOrder = 3
|
||||
end
|
||||
object VarInBtn: TBitBtn
|
||||
Left = 192
|
||||
Height = 34
|
||||
Top = 128
|
||||
Width = 45
|
||||
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 = VarInBtnClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object VarOutBtn: TBitBtn
|
||||
Left = 192
|
||||
Height = 34
|
||||
Top = 168
|
||||
Width = 45
|
||||
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 = VarOutBtnClick
|
||||
TabOrder = 5
|
||||
end
|
||||
object AllBtn: TBitBtn
|
||||
Left = 192
|
||||
Height = 34
|
||||
Top = 224
|
||||
Width = 45
|
||||
Caption = 'ALL'
|
||||
OnClick = AllBtnClick
|
||||
TabOrder = 6
|
||||
end
|
||||
object ListBox1: TListBox
|
||||
Left = 248
|
||||
Height = 208
|
||||
Top = 128
|
||||
Width = 174
|
||||
ItemHeight = 0
|
||||
TabOrder = 7
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 96
|
||||
Height = 28
|
||||
Top = 352
|
||||
Width = 75
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 8
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 184
|
||||
Height = 28
|
||||
Top = 352
|
||||
Width = 75
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 9
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 264
|
||||
Height = 28
|
||||
Top = 352
|
||||
Width = 75
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 10
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 347
|
||||
Height = 28
|
||||
Top = 352
|
||||
Width = 75
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 11
|
||||
end
|
||||
object HelpBtn: TButton
|
||||
Tag = 129
|
||||
Left = 9
|
||||
Height = 28
|
||||
Top = 352
|
||||
Width = 81
|
||||
Caption = 'Help'
|
||||
OnClick = HelpBtnClick
|
||||
TabOrder = 12
|
||||
end
|
||||
end
|
144
applications/lazstats/source_orig/kmeansunit.lrs
Normal file
144
applications/lazstats/source_orig/kmeansunit.lrs
Normal file
@ -0,0 +1,144 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('Tkmeansfrm','FORMDATA',[
|
||||
'TPF0'#10'Tkmeansfrm'#9'kmeansfrm'#4'Left'#3#157#0#6'Height'#3#142#1#3'Top'#2
|
||||
+'s'#5'Width'#3#187#1#7'Caption'#6#19'k Means Clustering '#12'ClientHeight'#3
|
||||
+#142#1#11'ClientWidth'#3#187#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'p'#7'Caption'#6#23'No. of Desired Clusters'#11'ParentColor'#8#0#0#6'TLabe'
|
||||
+'l'#6'Label2'#4'Left'#2#9#6'Height'#2#14#3'Top'#2'('#5'Width'#2'Q'#7'Caption'
|
||||
+#6#17'No. of Iterations'#11'ParentColor'#8#0#0#6'TLabel'#6'Label3'#4'Left'#2
|
||||
+#9#6'Height'#2#14#3'Top'#2'p'#5'Width'#2'Z'#7'Caption'#6#19'Available Variab'
|
||||
+'les'#11'ParentColor'#8#0#0#6'TLabel'#6'Label4'#4'Left'#3#249#0#6'Height'#2
|
||||
+#14#3'Top'#2'p'#5'Width'#2'X'#7'Caption'#6#18'Selected Variables'#11'ParentC'
|
||||
+'olor'#8#0#0#5'TEdit'#14'NoClustersEdit'#4'Left'#3#130#0#6'Height'#2#21#3'To'
|
||||
+'p'#2#1#5'Width'#2'6'#8'TabOrder'#2#0#4'Text'#6#14'NoClustersEdit'#0#0#5'TEd'
|
||||
+'it'#9'ItersEdit'#4'Left'#3#129#0#6'Height'#2#21#3'Top'#2'!'#5'Width'#2'7'#8
|
||||
+'TabOrder'#2#1#4'Text'#6#9'ItersEdit'#0#0#9'TGroupBox'#9'GroupBox1'#4'Left'#3
|
||||
+#6#1#6'Height'#2'e'#3'Top'#2#1#5'Width'#3#160#0#7'Caption'#6#15'Analysis Opt'
|
||||
+'ons'#12'ClientHeight'#2'S'#11'ClientWidth'#3#156#0#8'TabOrder'#2#2#0#9'TChe'
|
||||
+'ckBox'#9'StdChkBox'#4'Left'#2#7#6'Height'#2#17#3'Top'#2#5#5'Width'#2'{'#7'C'
|
||||
+'aption'#6#21'Standardize Variables'#8'TabOrder'#2#0#0#0#9'TCheckBox'#9'RepC'
|
||||
+'hkBox'#4'Left'#2#25#6'Height'#2#17#3'Top'#2#31#5'Width'#2'r'#7'Caption'#6#19
|
||||
+'Replace Grid Values'#8'TabOrder'#2#1#0#0#9'TCheckBox'#10'DescChkBox'#4'Left'
|
||||
+#2#10#6'Height'#2#17#3'Top'#2'9'#5'Width'#2'w'#7'Caption'#6#22'Descriptive S'
|
||||
+'tatistics'#8'TabOrder'#2#2#0#0#0#8'TListBox'#7'VarList'#4'Left'#2#7#6'Heigh'
|
||||
+'t'#3#208#0#3'Top'#3#128#0#5'Width'#3#176#0#10'ItemHeight'#2#0#11'MultiSelec'
|
||||
+'t'#9#8'TabOrder'#2#3#0#0#7'TBitBtn'#8'VarInBtn'#4'Left'#3#192#0#6'Height'#2
|
||||
+'"'#3'Top'#3#128#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#13'VarInBtnClick'#8'TabOrder'#2#4#0#0#7'TBitBtn'#9'VarOutBtn'#4
|
||||
+'Left'#3#192#0#6'Height'#2'"'#3'Top'#3#168#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#14'VarOutBtnClick'#8'TabOrder'#2#5
|
||||
+#0#0#7'TBitBtn'#6'AllBtn'#4'Left'#3#192#0#6'Height'#2'"'#3'Top'#3#224#0#5'Wi'
|
||||
+'dth'#2'-'#7'Caption'#6#3'ALL'#7'OnClick'#7#11'AllBtnClick'#8'TabOrder'#2#6#0
|
||||
,#0#8'TListBox'#8'ListBox1'#4'Left'#3#248#0#6'Height'#3#208#0#3'Top'#3#128#0#5
|
||||
+'Width'#3#174#0#10'ItemHeight'#2#0#8'TabOrder'#2#7#0#0#7'TButton'#8'ResetBtn'
|
||||
+#4'Left'#2'`'#6'Height'#2#28#3'Top'#3'`'#1#5'Width'#2'K'#7'Caption'#6#5'Rese'
|
||||
+'t'#7'OnClick'#7#13'ResetBtnClick'#8'TabOrder'#2#8#0#0#7'TButton'#9'CancelBt'
|
||||
+'n'#4'Left'#3#184#0#6'Height'#2#28#3'Top'#3'`'#1#5'Width'#2'K'#7'Caption'#6#6
|
||||
+'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#9#0#0#7'TButton'#10'ComputeBtn'#4
|
||||
+'Left'#3#8#1#6'Height'#2#28#3'Top'#3'`'#1#5'Width'#2'K'#7'Caption'#6#7'Compu'
|
||||
+'te'#7'OnClick'#7#15'ComputeBtnClick'#8'TabOrder'#2#10#0#0#7'TButton'#9'Retu'
|
||||
+'rnBtn'#4'Left'#3'['#1#6'Height'#2#28#3'Top'#3'`'#1#5'Width'#2'K'#7'Caption'
|
||||
+#6#6'Return'#11'ModalResult'#2#1#8'TabOrder'#2#11#0#0#7'TButton'#7'HelpBtn'#3
|
||||
+'Tag'#3#129#0#4'Left'#2#9#6'Height'#2#28#3'Top'#3'`'#1#5'Width'#2'Q'#7'Capti'
|
||||
+'on'#6#4'Help'#7'OnClick'#7#12'HelpBtnClick'#8'TabOrder'#2#12#0#0#0
|
||||
]);
|
867
applications/lazstats/source_orig/kmeansunit.pas
Normal file
867
applications/lazstats/source_orig/kmeansunit.pas
Normal file
@ -0,0 +1,867 @@
|
||||
unit kmeansunit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Buttons, MainUnit, functionslib, Globals, matrixlib, dataprocs,
|
||||
outputunit, contexthelpunit;
|
||||
|
||||
type
|
||||
|
||||
{ Tkmeansfrm }
|
||||
|
||||
Tkmeansfrm = class(TForm)
|
||||
DescChkBox: TCheckBox;
|
||||
HelpBtn: TButton;
|
||||
VarInBtn: TBitBtn;
|
||||
VarOutBtn: TBitBtn;
|
||||
AllBtn: TBitBtn;
|
||||
ResetBtn: TButton;
|
||||
CancelBtn: TButton;
|
||||
ComputeBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
StdChkBox: TCheckBox;
|
||||
RepChkBox: TCheckBox;
|
||||
GroupBox1: TGroupBox;
|
||||
ItersEdit: TEdit;
|
||||
Label2: TLabel;
|
||||
Label3: TLabel;
|
||||
Label4: TLabel;
|
||||
ListBox1: TListBox;
|
||||
VarList: TListBox;
|
||||
NoClustersEdit: TEdit;
|
||||
Label1: TLabel;
|
||||
procedure AllBtnClick(Sender: TObject);
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure HelpBtnClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
procedure VarInBtnClick(Sender: TObject);
|
||||
procedure VarOutBtnClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
procedure KMNS(VAR A : DblDyneMat; M, N : integer;
|
||||
VAR C : DblDyneMat; K : integer; VAR IC1 : IntDyneVec;
|
||||
VAR IC2 : IntDyneVec; VAR NC : IntDyneVec;
|
||||
VAR AN1 : DblDyneVec; VAR AN2 : DblDyneVec;
|
||||
VAR NCP : IntDyneVec; VAR D : DblDyneVec;
|
||||
VAR ITRAN : IntDyneVec; VAR LIVE : IntDyneVec;
|
||||
ITER : integer; VAR WSS : DblDyneVec; IFAULT : integer);
|
||||
procedure OPTRA(VAR A : DblDyneMat; M, N : integer;
|
||||
VAR C : DblDyneMat; K : integer;
|
||||
VAR IC1 : IntDyneVec; VAR IC2 : IntDyneVec;
|
||||
VAR NC : IntDyneVec; VAR AN1 : DblDyneVec;
|
||||
VAR AN2 : DblDyneVec; VAR NCP : IntDyneVec;
|
||||
VAR D : DblDyneVec; VAR ITRAN : IntDyneVec;
|
||||
VAR LIVE : IntDyneVec; INDX : integer);
|
||||
procedure QTRAN(VAR A : DblDyneMat; M, N : integer;
|
||||
VAR C : DblDyneMat; K : integer;
|
||||
VAR IC1 : IntDyneVec; VAR IC2 : IntDyneVec;
|
||||
VAR NC : IntDyneVec; VAR AN1 : DblDyneVec;
|
||||
VAR AN2 : DblDyneVec; VAR NCP : IntDyneVec;
|
||||
VAR D : DblDyneVec; VAR ITRAN : IntDyneVec;
|
||||
INDX : integer);
|
||||
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
kmeansfrm: Tkmeansfrm;
|
||||
|
||||
implementation
|
||||
|
||||
{ Tkmeansfrm }
|
||||
|
||||
procedure Tkmeansfrm.ResetBtnClick(Sender: TObject);
|
||||
VAR cellstring : string;
|
||||
i : integer;
|
||||
begin
|
||||
VarList.Clear;
|
||||
ListBox1.Clear;
|
||||
for i := 1 to NoVariables do
|
||||
begin
|
||||
cellstring := OS3MainFrm.DataGrid.Cells[i,0];
|
||||
VarList.Items.Add(cellstring);
|
||||
end;
|
||||
RepChkBox.Checked := false;
|
||||
StdChkBox.Checked := true;
|
||||
VarOutBtn.Enabled := false;
|
||||
DescChkBox.Checked := false;
|
||||
NoClustersEdit.Text := '';
|
||||
ItersEdit.Text := '100';
|
||||
end;
|
||||
|
||||
procedure Tkmeansfrm.VarInBtnClick(Sender: TObject);
|
||||
VAR
|
||||
index, count, i : integer;
|
||||
cellstring : string;
|
||||
begin
|
||||
count := 0;
|
||||
index := ListBox1.Items.Count;
|
||||
for i := 0 to index - 1 do
|
||||
begin
|
||||
if (VarList.Selected[i]) then
|
||||
begin
|
||||
cellstring := VarList.Items.strings[i];
|
||||
ListBox1.Items.Add(cellstring);
|
||||
count := count + 1;
|
||||
end;
|
||||
end;
|
||||
|
||||
while (count > 0) do
|
||||
begin
|
||||
for i := 0 to VarList.Items.Count - 1 do
|
||||
begin
|
||||
if (VarList.Selected[i]) then
|
||||
begin
|
||||
VarList.Items.Delete(i);
|
||||
count := count - 1;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
VarOutBtn.Enabled := true;
|
||||
end;
|
||||
|
||||
procedure Tkmeansfrm.VarOutBtnClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
cellstring : string;
|
||||
begin
|
||||
index := ListBox1.ItemIndex;
|
||||
cellstring := ListBox1.Items.Strings[index];
|
||||
VarList.Items.Add(cellstring);
|
||||
ListBox1.Items.Delete(index);
|
||||
end;
|
||||
|
||||
procedure Tkmeansfrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
ResetBtnClick(self);
|
||||
end;
|
||||
|
||||
procedure Tkmeansfrm.HelpBtnClick(Sender: TObject);
|
||||
begin
|
||||
ContextHelpForm.HelpMessage((Sender as TButton).tag);
|
||||
end;
|
||||
|
||||
procedure Tkmeansfrm.AllBtnClick(Sender: TObject);
|
||||
VAR
|
||||
index, noitems : integer;
|
||||
cellstring : string;
|
||||
begin
|
||||
noitems := VarList.Items.Count;
|
||||
for index := 0 to noitems - 1 do
|
||||
begin
|
||||
cellstring := VarList.Items.Strings[index];
|
||||
ListBox1.Items.Add(cellstring);
|
||||
end;
|
||||
VarList.Clear;
|
||||
VarOutBtn.Enabled := true;
|
||||
end;
|
||||
|
||||
procedure Tkmeansfrm.ComputeBtnClick(Sender: TObject);
|
||||
VAR
|
||||
i, j, L, Ncols, N, M, K,IFAULT, ITER, result, intvalue, col : integer;
|
||||
center, itemp : integer;
|
||||
IC1, IC2, NC, NCP, ITRAN, LIVE, ColSelected : IntDyneVec;
|
||||
A, C : DblDyneMat;
|
||||
D, AN1, AN2, WSS, DT : DblDyneVec;
|
||||
cellstring, strvalue : string;
|
||||
outline : string;
|
||||
strval : string;
|
||||
varlabels, rowlabels : StrDyneVec;
|
||||
dblvalue, Mean, stddev : double;
|
||||
label cleanup;
|
||||
|
||||
begin
|
||||
Ncols := ListBox1.Items.Count;
|
||||
if (Ncols <= 0) then
|
||||
begin
|
||||
ShowMessage('ERROR! No variables selected to cluster.');
|
||||
exit;
|
||||
end;
|
||||
|
||||
N := Ncols;
|
||||
M := NoCases;
|
||||
K := StrToInt(NoClustersEdit.Text);
|
||||
IFAULT := 0;
|
||||
ITER := StrToInt(ItersEdit.Text);
|
||||
|
||||
SetLength(varlabels,Ncols);
|
||||
SetLength(rowlabels,NoCases);
|
||||
SetLength(ColSelected,Ncols);
|
||||
SetLength(A,M+1,N+1);
|
||||
SetLength(C,K+1,N+1);
|
||||
SetLength(D,M+1);
|
||||
SetLength(AN1,K+1);
|
||||
SetLength(AN2,K+1);
|
||||
SetLength(WSS,K+1);
|
||||
SetLength(DT,3);
|
||||
SetLength(IC1,M+1);
|
||||
SetLength(IC2,M+1);
|
||||
SetLength(NC,K+1);
|
||||
SetLength(NCP,K+1);
|
||||
SetLength(ITRAN,K+1);
|
||||
SetLength(LIVE,K+1);
|
||||
|
||||
if (K <= 0) then
|
||||
begin
|
||||
ShowMessage('ERROR! You must enter the desired number of clusters.');
|
||||
goto cleanup;
|
||||
end;
|
||||
|
||||
// initialize arrays
|
||||
for i := 1 to K do
|
||||
begin
|
||||
AN1[i] := 0.0;
|
||||
AN2[i] := 0.0;
|
||||
WSS[i] := 0.0;
|
||||
NC[i] := 0;
|
||||
NCP[i] := 0;
|
||||
ITRAN[i] := 0;
|
||||
LIVE[i] := 0;
|
||||
for j := 1 to N do C[i,j] := 0.0;
|
||||
end;
|
||||
for i := 1 to M do
|
||||
begin
|
||||
IC1[i] := 0;
|
||||
IC2[i] := 0;
|
||||
D[i] := 0.0;
|
||||
end;
|
||||
|
||||
//Get labels and columns of selected variables
|
||||
for i := 0 to Ncols - 1 do
|
||||
begin
|
||||
cellstring := ListBox1.Items.Strings[i];
|
||||
for j := 0 to NoVariables - 1 do
|
||||
begin
|
||||
if (cellstring = OS3MainFrm.DataGrid.Cells[j+1,0]) then
|
||||
begin
|
||||
varlabels[i] := cellstring;
|
||||
ColSelected[i] := j+1;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
// Get labels of rows
|
||||
for i := 0 to NoCases - 1 do rowlabels[i] := OS3MainFrm.DataGrid.Cells[0,i+1];
|
||||
|
||||
// read the data
|
||||
for i := 1 to M do
|
||||
begin
|
||||
if (NOT GoodRecord(i,N,ColSelected)) then continue;
|
||||
for j := 1 to N do
|
||||
begin
|
||||
col := ColSelected[j-1];
|
||||
A[i,j] := StrToFloat(OS3MainFrm.DataGrid.Cells[col,i]);
|
||||
end;
|
||||
end;
|
||||
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
OutPutFrm.RichEdit.Lines.Add('K-Means Clustering. Adapted from AS 136 APPL. STATIST. (1979) VOL.28, NO.1');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
outline := format('File := %s',[OS3MainFrm.FileNameEdit.Text]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('No. Cases := %d, No. Variables := %d, No. Clusters := %d',[M,N,K]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
|
||||
// transform to z scores if needed
|
||||
if (StdChkBox.Checked = true) then
|
||||
begin
|
||||
for j := 1 to N do
|
||||
begin
|
||||
Mean := 0.0;
|
||||
stddev := 0.0;
|
||||
for i := 1 to M do
|
||||
begin
|
||||
Mean := Mean + A[i,j];
|
||||
stddev := stddev + (A[i,j] * A[i,j]);
|
||||
end;
|
||||
stddev := stddev - Mean * Mean / M;
|
||||
stddev := stddev / (M - 1);
|
||||
Mean := Mean / M;
|
||||
if (DescChkBox.Checked) then
|
||||
begin
|
||||
outline := format('Mean := %8.3f, Std.Dev. := %8.3f for %s',[Mean,stddev,varlabels[j-1]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
for i := 1 to M do
|
||||
begin
|
||||
A[i,j] := (A[i,j] - Mean) / stddev;
|
||||
if (RepChkBox.Checked = true) then
|
||||
begin
|
||||
col := ColSelected[j-1];
|
||||
outline := format('%8.5f',[A[i,j]]);
|
||||
OS3MainFrm.DataGrid.Cells[col,i] := outline;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
// Now enter initial points
|
||||
for L := 1 to K do
|
||||
begin
|
||||
center := 1 + (L-1) * (M div K); // initial cluster center
|
||||
for j := 1 to N do C[L,j] := A[center,j];
|
||||
end;
|
||||
|
||||
// do analysis
|
||||
KMNS(A,M,N,C,K,IC1,IC2,NC,AN1,AN2,NCP,D,ITRAN,LIVE,ITER,WSS,IFAULT);
|
||||
|
||||
// show results
|
||||
|
||||
// sort subjects by cluster
|
||||
for i := 1 to M do IC2[i] := i; // store ids in here
|
||||
for i := 1 to M - 1 do
|
||||
begin
|
||||
for j := i+1 to M do
|
||||
begin
|
||||
if (IC1[i] > IC1[j]) then // swap these clusters and ids
|
||||
begin
|
||||
itemp := IC1[i];
|
||||
IC1[i] := IC1[j];
|
||||
IC1[j] := itemp;
|
||||
itemp := IC2[i];
|
||||
IC2[i] := IC2[j];
|
||||
IC2[j] := itemp;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('NUMBER OF SUBJECTS IN EACH CLUSTER');
|
||||
for i := 1 to K do
|
||||
begin
|
||||
outline := format('Cluster := %d with %d cases.',[i,NC[i]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('PLACEMENT OF SUBJECTS IN CLUSTERS');
|
||||
OutPutFrm.RichEdit.Lines.Add('CLUSTER SUBJECT');
|
||||
for i := 1 to M do
|
||||
begin
|
||||
outline := format(' %3d %3d',[IC1[i],IC2[i]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('AVERAGE VARIABLE VALUES BY CLUSTER');
|
||||
outline := ' VARIABLES';
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := 'CLUSTER';
|
||||
for j := 1 to N do
|
||||
begin
|
||||
strval := format(' %3d ',[j]);
|
||||
outline := outline + strval;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add(' ');
|
||||
for i := 1 to K do
|
||||
begin
|
||||
outline := format(' %3d ',[i]);
|
||||
for j := 1 to N do
|
||||
begin
|
||||
strval := format('%5.2f ',[C[i,j]]);
|
||||
outline := outline + strval;
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('WITHIN CLUSTER SUMS OF SQUARES');
|
||||
for i := 1 to K do
|
||||
begin
|
||||
outline := format('Cluster %d := %6.3f',[i,WSS[i]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
|
||||
OutPutFrm.ShowModal;
|
||||
|
||||
// cleanup
|
||||
cleanup:
|
||||
LIVE := nil;
|
||||
ITRAN := nil;
|
||||
NCP := nil;
|
||||
NC := nil;
|
||||
IC2 := nil;
|
||||
IC1 := nil;
|
||||
DT := nil;
|
||||
WSS := nil;
|
||||
AN2 := nil;
|
||||
AN1 := nil;
|
||||
D := nil;
|
||||
C := nil;
|
||||
A := nil;
|
||||
ColSelected := nil;
|
||||
rowlabels := nil;
|
||||
varlabels := nil;
|
||||
end;
|
||||
|
||||
procedure Tkmeansfrm.KMNS(VAR A : DblDyneMat; M, N : integer;
|
||||
VAR C : DblDyneMat; K : integer; VAR IC1 : IntDyneVec;
|
||||
VAR IC2 : IntDyneVec; VAR NC : IntDyneVec;
|
||||
VAR AN1 : DblDyneVec; VAR AN2 : DblDyneVec;
|
||||
VAR NCP : IntDyneVec; VAR D : DblDyneVec;
|
||||
VAR ITRAN : IntDyneVec; VAR LIVE : IntDyneVec;
|
||||
ITER : integer; VAR WSS : DblDyneVec; IFAULT : integer);
|
||||
VAR
|
||||
DT : array[0..2] of double;
|
||||
BIG : double;
|
||||
ZERO : double;
|
||||
ONE : double;
|
||||
DA, DB, DC, TEMP, AA : double;
|
||||
L, II, INDX, I, J, IL, IJ : integer;
|
||||
label cont50, cont40, cont150;
|
||||
|
||||
begin
|
||||
// SUBROUTINE KMNS(A, M, N, C, K, IC1, IC2, NC, AN1, AN2, NCP, D,
|
||||
// * ITRAN, LIVE, ITER, WSS, IFAULT)
|
||||
//
|
||||
// ALGORITHM AS 136 APPL. STATIST. (1979) VOL.28, NO.1
|
||||
// Divide M points in N-dimensional space into K clusters so that
|
||||
// the within cluster sum of squares is minimized.
|
||||
//
|
||||
// INTEGER IC1(M), IC2(M), NC(K), NCP(K), ITRAN(K), LIVE(K)
|
||||
// REAL A(M,N), D(M), C(K,N), AN1(K), AN2(K), WSS(K), DT(2)
|
||||
// REAL ZERO, ONE
|
||||
//
|
||||
// Define BIG to be a very large positive number
|
||||
//
|
||||
// DATA BIG /1.E30/, ZERO /0.0/, ONE /1.0/
|
||||
//
|
||||
BIG := 1.0e30;
|
||||
ZERO := 0.0;
|
||||
ONE := 1.0;
|
||||
IFAULT := 3;
|
||||
if ((K <= 1) or (K >= M)) then
|
||||
begin
|
||||
ShowMessage('The no. of clusters must be less than the no. of variables.');
|
||||
exit;
|
||||
end;
|
||||
|
||||
// For each point I, find its two closest centres, IC1(I) and
|
||||
// IC2(I). Assign it to IC1(I).
|
||||
//
|
||||
for I := 1 to M do
|
||||
begin
|
||||
IC1[I] := 1;
|
||||
IC2[I] := 2;
|
||||
for IL := 1 to 2 do
|
||||
begin
|
||||
DT[IL] := ZERO;
|
||||
for J := 1 to N do
|
||||
begin
|
||||
DA := A[I,J] - C[IL,J];
|
||||
DT[IL] := DT[IL] + (DA * DA); //(squared difference for this comparison)
|
||||
end; // 10 CONTINUE
|
||||
end; // 10 CONTINUE
|
||||
if (DT[1] > DT[2]) then // THEN swap
|
||||
begin
|
||||
IC1[I] := 2;
|
||||
IC2[I] := 1;
|
||||
TEMP := DT[1];
|
||||
DT[1] := DT[2];
|
||||
DT[2] := TEMP;
|
||||
end; // END IF
|
||||
for L := 3 to K do // (remaining clusters)
|
||||
begin
|
||||
DB := ZERO;
|
||||
for J := 1 to N do // (variables)
|
||||
begin
|
||||
DC := A[I,J] - C[L,J];
|
||||
DB := DB + DC * DC;
|
||||
if (DB >= DT[2]) then goto cont50;
|
||||
end;
|
||||
if (DB < DT[1]) then goto cont40;
|
||||
DT[2] := DB;
|
||||
IC2[I] := L;
|
||||
goto cont50;
|
||||
cont40: DT[2] := DT[1];
|
||||
IC2[I] := IC1[I];
|
||||
DT[1] := DB;
|
||||
IC1[I] := L;
|
||||
cont50: end;
|
||||
end; // 50 CONTINUE (next case)
|
||||
|
||||
// Update cluster centres to be the average of points contained
|
||||
// within them.
|
||||
//
|
||||
for L := 1 to K do // (clusters)
|
||||
begin
|
||||
NC[L] := 0;
|
||||
for J := 1 to N do C[L,J] := ZERO; //(initialize clusters)
|
||||
end;
|
||||
for I := 1 to M do // (subjects)
|
||||
begin
|
||||
L := IC1[I]; // which cluster the Ith case is in
|
||||
NC[L] := NC[L] + 1; // no. in the cluster L
|
||||
for J := 1 to N do C[L,J] := C[L,J] + A[I,J]; // sum of var. values in the cluster L
|
||||
end;
|
||||
|
||||
// Check to see if there is any empty cluster at this stage
|
||||
//
|
||||
for L := 1 to K do
|
||||
begin
|
||||
if (NC[L] = 0) then
|
||||
begin
|
||||
IFAULT := 1;
|
||||
exit;
|
||||
end;
|
||||
AA := NC[L];
|
||||
for J := 1 to N do C[L,J] := C[L,J] / AA; // average the values in the cluster
|
||||
|
||||
// Initialize AN1, AN2, ITRAN & NCP
|
||||
// AN1(L) := NC(L) / (NC(L) - 1)
|
||||
// AN2(L) := NC(L) / (NC(L) + 1)
|
||||
// ITRAN(L) := 1 if cluster L is updated in the quick-transfer stage,
|
||||
// := 0 otherwise
|
||||
// In the optimal-transfer stage, NCP(L) stores the step at which
|
||||
// cluster L is last updated.
|
||||
// In the quick-transfer stage, NCP(L) stores the step at which
|
||||
// cluster L is last updated plus M.
|
||||
//
|
||||
AN2[L] := AA / (AA + ONE);
|
||||
AN1[L] := BIG;
|
||||
if (AA > ONE) then AN1[L] := AA / (AA - ONE);
|
||||
ITRAN[L] := 1;
|
||||
NCP[L] := -1;
|
||||
end;
|
||||
INDX := 0;
|
||||
for IJ := 1 to ITER do
|
||||
begin
|
||||
//
|
||||
// In this stage, there is only one pass through the data. Each
|
||||
// point is re-allocated, if necessary, to the cluster that will
|
||||
// induce the maximum reduction in within-cluster sum of squares.
|
||||
//
|
||||
OPTRA(A, M, N, C, K, IC1, IC2, NC, AN1, AN2, NCP, D, ITRAN, LIVE, INDX);
|
||||
//
|
||||
// Stop if no transfer took place in the last M optimal transfer
|
||||
// steps.
|
||||
//
|
||||
if (INDX = M) then goto cont150;
|
||||
//
|
||||
// Each point is tested in turn to see if it should be re-allocated
|
||||
// to the cluster to which it is most likely to be transferred,
|
||||
// IC2(I), from its present cluster, IC1(I). Loop through the
|
||||
// data until no further change is to take place.
|
||||
//
|
||||
QTRAN(A, M, N, C, K, IC1, IC2, NC, AN1, AN2, NCP, D, ITRAN, INDX);
|
||||
//
|
||||
// If there are only two clusters, there is no need to re-enter the
|
||||
// optimal transfer stage.
|
||||
//
|
||||
if (K = 2) then goto cont150;
|
||||
//
|
||||
// NCP has to be set to 0 before entering OPTRA.
|
||||
//
|
||||
for L := 1 to K do NCP[L] := 0;
|
||||
end;
|
||||
//
|
||||
// Since the specified number of iterations has been exceeded, set
|
||||
// IFAULT := 2. This may indicate unforeseen looping.
|
||||
//
|
||||
IFAULT := 2;
|
||||
//
|
||||
// Compute within-cluster sum of squares for each cluster.
|
||||
//
|
||||
cont150:
|
||||
for L := 1 to K do
|
||||
begin
|
||||
WSS[L] := ZERO;
|
||||
for J := 1 to N do C[L,J] := ZERO;
|
||||
end;
|
||||
for I := 1 to M do
|
||||
begin
|
||||
II := IC1[I];
|
||||
for J := 1 to N do C[II,J] := C[II,J] + A[I,J];
|
||||
end;
|
||||
for J := 1 to N do
|
||||
begin
|
||||
for L := 1 to K do C[L,J] := C[L,J] / (NC[L]);
|
||||
for I := 1 to M do
|
||||
begin
|
||||
II := IC1[I];
|
||||
DA := A[I,J] - C[II,J];
|
||||
WSS[II] := WSS[II] + DA * DA;
|
||||
end;
|
||||
end; // 190 CONTINUE
|
||||
end;
|
||||
|
||||
|
||||
procedure Tkmeansfrm.OPTRA(VAR A : DblDyneMat; M, N : integer;
|
||||
VAR C : DblDyneMat; K : integer;
|
||||
VAR IC1 : IntDyneVec; VAR IC2 : IntDyneVec;
|
||||
VAR NC : IntDyneVec; VAR AN1 : DblDyneVec;
|
||||
VAR AN2 : DblDyneVec; VAR NCP : IntDyneVec;
|
||||
VAR D : DblDyneVec; VAR ITRAN : IntDyneVec;
|
||||
VAR LIVE : IntDyneVec; INDX : integer);
|
||||
VAR
|
||||
ZERO, ONE, BIG,DE, DF, DD, DC, DB, DA, R2, RR, AL1, AL2, ALT, ALW : double;
|
||||
I, J, L, L1, L2, LL : integer;
|
||||
label cont30, cont60, cont70, cont90;
|
||||
|
||||
begin
|
||||
// SUBROUTINE OPTRA(A, M, N, C, K, IC1, IC2, NC, AN1, AN2, NCP, D,
|
||||
// * ITRAN, LIVE, INDX)
|
||||
//
|
||||
// ALGORITHM AS 136.1 APPL. STATIST. (1979) VOL.28, NO.1
|
||||
//
|
||||
// This is the optimal transfer stage.
|
||||
//
|
||||
// Each point is re-allocated, if necessary, to the cluster that
|
||||
// will induce a maximum reduction in the within-cluster sum of
|
||||
// squares.
|
||||
//
|
||||
// INTEGER IC1(M), IC2(M), NC(K), NCP(K), ITRAN(K), LIVE(K)
|
||||
// REAL A(M,N), D(M), C(K,N), AN1(K), AN2(K), ZERO, ONE
|
||||
//
|
||||
// Define BIG to be a very large positive number.
|
||||
//
|
||||
// DATA BIG /1.0E30/, ZERO /0.0/, ONE/1.0/
|
||||
//
|
||||
// If cluster L is updated in the last quick-transfer stage, it
|
||||
// belongs to the live set throughout this stage. Otherwise, at
|
||||
// each step, it is not in the live set if it has not been updated
|
||||
// in the last M optimal transfer steps.
|
||||
//
|
||||
|
||||
ZERO := 0.0;
|
||||
ONE := 1.0;
|
||||
BIG := 1.0e30;
|
||||
|
||||
for L := 1 to K do
|
||||
begin
|
||||
if (ITRAN[L] = 1) then LIVE[L] := M + 1;
|
||||
end; // 10 CONTINUE
|
||||
|
||||
for I := 1 to M do
|
||||
begin
|
||||
INDX := INDX + 1;
|
||||
L1 := IC1[I];
|
||||
L2 := IC2[I];
|
||||
LL := L2;
|
||||
//
|
||||
// If point I is the only member of cluster L1, no transfer.
|
||||
//
|
||||
if (NC[L1] = 1) then goto cont90; // GO TO 90
|
||||
//
|
||||
// If L1 has not yet been updated in this stage, no need to
|
||||
// re-compute D(I).
|
||||
//
|
||||
if (NCP[L1] = 0) then goto cont30; // GO TO 30
|
||||
DE := ZERO;
|
||||
for J := 1 to N do
|
||||
begin
|
||||
DF := A[I,J] - C[L1,J];
|
||||
DE := DE + DF * DF;
|
||||
end;
|
||||
D[I] := DE * AN1[L1];
|
||||
//
|
||||
// Find the cluster with minimum R2.
|
||||
//
|
||||
cont30:
|
||||
DA := ZERO;
|
||||
for J := 1 to N do
|
||||
begin
|
||||
DB := A[I,J] - C[L2,J];
|
||||
DA := DA + DB * DB;
|
||||
end;
|
||||
R2 := DA * AN2[L2];
|
||||
for L := 1 to K do
|
||||
begin
|
||||
//
|
||||
// If I >:= LIVE(L1), then L1 is not in the live set. If this is
|
||||
// true, we only need to consider clusters that are in the live set
|
||||
// for possible transfer of point I. Otherwise, we need to consider
|
||||
// all possible clusters.
|
||||
//
|
||||
if ((I >= LIVE[L1]) and (I >= LIVE[L]) or (L = L1) or (L = LL)) then goto cont60;
|
||||
RR := R2 / AN2[L];
|
||||
DC := ZERO;
|
||||
for J := 1 to N do
|
||||
begin
|
||||
DD := A[I,J] - C[L,J];
|
||||
DC := DC + DD * DD;
|
||||
if (DC >= RR) then goto cont60;
|
||||
end;
|
||||
R2 := DC * AN2[L];
|
||||
L2 := L;
|
||||
cont60:
|
||||
end; // 60 CONTINUE
|
||||
if (R2 < D[I]) then goto cont70;
|
||||
//
|
||||
// If no transfer is necessary, L2 is the new IC2(I).
|
||||
//
|
||||
IC2[I] := L2;
|
||||
goto cont90; // GO TO 90
|
||||
//
|
||||
// Update cluster centres, LIVE, NCP, AN1 & AN2 for clusters L1 and
|
||||
// L2, and update IC1(I) & IC2(I).
|
||||
//
|
||||
cont70:
|
||||
INDX := 0;
|
||||
LIVE[L1] := M + I;
|
||||
LIVE[L2] := M + I;
|
||||
NCP[L1] := I;
|
||||
NCP[L2] := I;
|
||||
AL1 := NC[L1];
|
||||
ALW := AL1 - ONE;
|
||||
AL2 := NC[L2];
|
||||
ALT := AL2 + ONE;
|
||||
for J := 1 to N do
|
||||
begin
|
||||
C[L1,J] := (C[L1,J] * AL1 - A[I,J]) / ALW;
|
||||
C[L2,J] := (C[L2,J] * AL2 + A[I,J]) / ALT;
|
||||
end;
|
||||
NC[L1] := NC[L1] - 1;
|
||||
NC[L2] := NC[L2] + 1;
|
||||
AN2[L1] := ALW / AL1;
|
||||
AN1[L1] := BIG;
|
||||
if (ALW > ONE) then AN1[L1] := ALW / (ALW - ONE);
|
||||
AN1[L2] := ALT / AL2;
|
||||
AN2[L2] := ALT / (ALT + ONE);
|
||||
IC1[I] := L2;
|
||||
IC2[I] := L1;
|
||||
cont90:
|
||||
// 90 CONTINUE
|
||||
if (INDX = M) then exit;
|
||||
end; // 100 CONTINUE
|
||||
for L := 1 to K do
|
||||
begin
|
||||
//
|
||||
// ITRAN(L) := 0 before entering QTRAN. Also, LIVE(L) has to be
|
||||
// decreased by M before re-entering OPTRA.
|
||||
//
|
||||
ITRAN[L] := 0;
|
||||
LIVE[L] := LIVE[L] - M;
|
||||
end; // 110 CONTINUE
|
||||
end;
|
||||
|
||||
procedure Tkmeansfrm.QTRAN(VAR A : DblDyneMat; M, N : integer;
|
||||
VAR C : DblDyneMat; K : integer;
|
||||
VAR IC1 : IntDyneVec; VAR IC2 : IntDyneVec;
|
||||
VAR NC : IntDyneVec; VAR AN1 : DblDyneVec;
|
||||
VAR AN2 : DblDyneVec; VAR NCP : IntDyneVec;
|
||||
VAR D : DblDyneVec; VAR ITRAN : IntDyneVec;
|
||||
INDX : integer);
|
||||
VAR
|
||||
BIG, ZERO, ONE, DA, DB, DE, DD, R2, AL1, ALW, AL2, ALT : double;
|
||||
I, J, L, ICOUN, ISTEP, L1, L2 : integer;
|
||||
label cont10, cont30, cont60;
|
||||
|
||||
begin
|
||||
// SUBROUTINE QTRAN(A, M, N, C, K, IC1, IC2, NC, AN1, AN2, NCP, D,
|
||||
// * ITRAN, INDX)
|
||||
//
|
||||
// ALGORITHM AS 136.2 APPL. STATIST. (1979) VOL.28, NO.1
|
||||
//
|
||||
// This is the quick transfer stage.
|
||||
// IC1(I) is the cluster which point I belongs to.
|
||||
// IC2(I) is the cluster which point I is most likely to be
|
||||
// transferred to.
|
||||
// For each point I, IC1(I) & IC2(I) are switched, if necessary, to
|
||||
// reduce within-cluster sum of squares. The cluster centres are
|
||||
// updated after each step.
|
||||
//
|
||||
// INTEGER IC1(M), IC2(M), NC(K), NCP(K), ITRAN(K)
|
||||
// REAL A(M,N), D(M), C(K,N), AN1(K), AN2(K), ZERO, ONE
|
||||
//
|
||||
// Define BIG to be a very large positive number
|
||||
//
|
||||
// DATA BIG /1.0E30/, ZERO /0.0/, ONE /1.0/
|
||||
//
|
||||
// In the optimal transfer stage, NCP(L) indicates the step at which
|
||||
// cluster L is last updated. In the quick transfer stage, NCP(L)
|
||||
// is equal to the step at which cluster L is last updated plus M.
|
||||
//
|
||||
BIG := 1.0e30;
|
||||
ZERO := 0.0;
|
||||
ONE := 1.0;
|
||||
ICOUN := 0;
|
||||
ISTEP := 0;
|
||||
cont10:
|
||||
for I := 1 to M do
|
||||
begin
|
||||
ICOUN := ICOUN + 1;
|
||||
ISTEP := ISTEP + 1;
|
||||
L1 := IC1[I];
|
||||
L2 := IC2[I];
|
||||
//
|
||||
// If point I is the only member of cluster L1, no transfer.
|
||||
//
|
||||
if (NC[L1] = 1) then goto cont60;
|
||||
//
|
||||
// If ISTEP > NCP(L1), no need to re-compute distance from point I to
|
||||
// cluster L1. Note that if cluster L1 is last updated exactly M
|
||||
// steps ago, we still need to compute the distance from point I to
|
||||
// cluster L1.
|
||||
//
|
||||
if (ISTEP > NCP[L1]) then goto cont30;
|
||||
DA := ZERO;
|
||||
for J := 1 to N do
|
||||
begin
|
||||
DB := A[I,J] - C[L1,J];
|
||||
DA := DA + DB * DB;
|
||||
end;
|
||||
D[I] := DA * AN1[L1];
|
||||
//
|
||||
// If ISTEP >:= both NCP(L1) & NCP(L2) there will be no transfer of
|
||||
// point I at this step.
|
||||
//
|
||||
cont30:
|
||||
if ((ISTEP >= NCP[L1]) and (ISTEP >= NCP[L2])) then goto cont60;
|
||||
R2 := D[I] / AN2[L2];
|
||||
DD := ZERO;
|
||||
for J := 1 to N do
|
||||
begin
|
||||
DE := A[I,J] - C[L2,J];
|
||||
DD := DD + DE * DE;
|
||||
if (DD >= R2) then goto cont60;
|
||||
end; // 40 CONTINUE
|
||||
//
|
||||
// Update cluster centres, NCP, NC, ITRAN, AN1 & AN2 for clusters
|
||||
// L1 & L2. Also update IC1(I) & IC2(I). Note that if any
|
||||
// updating occurs in this stage, INDX is set back to 0.
|
||||
//
|
||||
ICOUN := 0;
|
||||
INDX := 0;
|
||||
ITRAN[L1] := 1;
|
||||
ITRAN[L2] := 1;
|
||||
NCP[L1] := ISTEP + M;
|
||||
NCP[L2] := ISTEP + M;
|
||||
AL1 := NC[L1];
|
||||
ALW := AL1 - ONE;
|
||||
AL2 := NC[L2];
|
||||
ALT := AL2 + ONE;
|
||||
for J := 1 to N do
|
||||
begin
|
||||
C[L1,J] := (C[L1,J] * AL1 - A[I,J]) / ALW;
|
||||
C[L2,J] := (C[L2,J] * AL2 + A[I,J]) / ALT;
|
||||
end; // 50 CONTINUE
|
||||
NC[L1] := NC[L1] - 1;
|
||||
NC[L2] := NC[L2] + 1;
|
||||
AN2[L1] := ALW / AL1;
|
||||
AN1[L1] := BIG;
|
||||
if (ALW > ONE) then AN1[L1] := ALW / (ALW - ONE);
|
||||
AN1[L2] := ALT / AL2;
|
||||
AN2[L2] := ALT / (ALT + ONE);
|
||||
IC1[I] := L2;
|
||||
IC2[I] := L1;
|
||||
//
|
||||
// If no re-allocation took place in the last M steps, return.
|
||||
//
|
||||
cont60:
|
||||
if (ICOUN = M) then exit;
|
||||
end; // 70 CONTINUE
|
||||
goto cont10;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I kmeansunit.lrs}
|
||||
|
||||
end.
|
||||
|
111
applications/lazstats/source_orig/kr21unit.lfm
Normal file
111
applications/lazstats/source_orig/kr21unit.lfm
Normal file
@ -0,0 +1,111 @@
|
||||
object KR21Frm: TKR21Frm
|
||||
Left = 151
|
||||
Height = 227
|
||||
Top = 98
|
||||
Width = 204
|
||||
Caption = 'Kuder-Richarson #21'
|
||||
ClientHeight = 227
|
||||
ClientWidth = 204
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.26.2'
|
||||
object Label1: TLabel
|
||||
Left = 7
|
||||
Height = 14
|
||||
Top = 16
|
||||
Width = 120
|
||||
Caption = 'Maximum Score Possible:'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 7
|
||||
Height = 14
|
||||
Top = 46
|
||||
Width = 118
|
||||
Caption = 'Mean of he Test Scores:'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label3: TLabel
|
||||
Left = 7
|
||||
Height = 14
|
||||
Top = 80
|
||||
Width = 123
|
||||
Caption = 'Std. Dev. of Test Scores:'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label4: TLabel
|
||||
Left = 6
|
||||
Height = 14
|
||||
Top = 112
|
||||
Width = 130
|
||||
Caption = 'KR#21 Reliability Estimate:'
|
||||
ParentColor = False
|
||||
end
|
||||
object NoItemsEdit: TEdit
|
||||
Left = 143
|
||||
Height = 22
|
||||
Top = 8
|
||||
Width = 49
|
||||
TabOrder = 0
|
||||
Text = 'NoItemsEdit'
|
||||
end
|
||||
object MeanEdit: TEdit
|
||||
Left = 143
|
||||
Height = 22
|
||||
Top = 38
|
||||
Width = 49
|
||||
TabOrder = 1
|
||||
Text = 'Edit1'
|
||||
end
|
||||
object StdDevEdit: TEdit
|
||||
Left = 143
|
||||
Height = 22
|
||||
Top = 72
|
||||
Width = 49
|
||||
TabOrder = 2
|
||||
Text = 'Edit1'
|
||||
end
|
||||
object RelEdit: TEdit
|
||||
Left = 143
|
||||
Height = 22
|
||||
Top = 104
|
||||
Width = 49
|
||||
TabOrder = 3
|
||||
Text = 'Edit1'
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 6
|
||||
Height = 32
|
||||
Top = 137
|
||||
Width = 69
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 123
|
||||
Height = 32
|
||||
Top = 137
|
||||
Width = 69
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 5
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 8
|
||||
Height = 32
|
||||
Top = 184
|
||||
Width = 69
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 6
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 123
|
||||
Height = 32
|
||||
Top = 184
|
||||
Width = 69
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 7
|
||||
end
|
||||
end
|
29
applications/lazstats/source_orig/kr21unit.lrs
Normal file
29
applications/lazstats/source_orig/kr21unit.lrs
Normal file
@ -0,0 +1,29 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TKR21Frm','FORMDATA',[
|
||||
'TPF0'#8'TKR21Frm'#7'KR21Frm'#4'Left'#3#151#0#6'Height'#3#227#0#3'Top'#2'b'#5
|
||||
+'Width'#3#204#0#7'Caption'#6#19'Kuder-Richarson #21'#12'ClientHeight'#3#227#0
|
||||
+#11'ClientWidth'#3#204#0#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#16#5'Width'#2'x'#7
|
||||
+'Caption'#6#23'Maximum Score Possible:'#11'ParentColor'#8#0#0#6'TLabel'#6'La'
|
||||
+'bel2'#4'Left'#2#7#6'Height'#2#14#3'Top'#2'.'#5'Width'#2'v'#7'Caption'#6#23
|
||||
+'Mean of he Test Scores:'#11'ParentColor'#8#0#0#6'TLabel'#6'Label3'#4'Left'#2
|
||||
+#7#6'Height'#2#14#3'Top'#2'P'#5'Width'#2'{'#7'Caption'#6#25'Std. Dev. of Tes'
|
||||
+'t Scores:'#11'ParentColor'#8#0#0#6'TLabel'#6'Label4'#4'Left'#2#6#6'Height'#2
|
||||
+#14#3'Top'#2'p'#5'Width'#3#130#0#7'Caption'#6#27'KR#21 Reliability Estimate:'
|
||||
+#11'ParentColor'#8#0#0#5'TEdit'#11'NoItemsEdit'#4'Left'#3#143#0#6'Height'#2
|
||||
+#22#3'Top'#2#8#5'Width'#2'1'#8'TabOrder'#2#0#4'Text'#6#11'NoItemsEdit'#0#0#5
|
||||
+'TEdit'#8'MeanEdit'#4'Left'#3#143#0#6'Height'#2#22#3'Top'#2'&'#5'Width'#2'1'
|
||||
+#8'TabOrder'#2#1#4'Text'#6#5'Edit1'#0#0#5'TEdit'#10'StdDevEdit'#4'Left'#3#143
|
||||
+#0#6'Height'#2#22#3'Top'#2'H'#5'Width'#2'1'#8'TabOrder'#2#2#4'Text'#6#5'Edit'
|
||||
+'1'#0#0#5'TEdit'#7'RelEdit'#4'Left'#3#143#0#6'Height'#2#22#3'Top'#2'h'#5'Wid'
|
||||
+'th'#2'1'#8'TabOrder'#2#3#4'Text'#6#5'Edit1'#0#0#7'TButton'#8'ResetBtn'#4'Le'
|
||||
+'ft'#2#6#6'Height'#2' '#3'Top'#3#137#0#5'Width'#2'E'#7'Caption'#6#5'Reset'#7
|
||||
+'OnClick'#7#13'ResetBtnClick'#8'TabOrder'#2#4#0#0#7'TButton'#9'CancelBtn'#4
|
||||
+'Left'#2'{'#6'Height'#2' '#3'Top'#3#137#0#5'Width'#2'E'#7'Caption'#6#6'Cance'
|
||||
+'l'#11'ModalResult'#2#2#8'TabOrder'#2#5#0#0#7'TButton'#10'ComputeBtn'#4'Left'
|
||||
+#2#8#6'Height'#2' '#3'Top'#3#184#0#5'Width'#2'E'#7'Caption'#6#7'Compute'#7'O'
|
||||
+'nClick'#7#15'ComputeBtnClick'#8'TabOrder'#2#6#0#0#7'TButton'#9'ReturnBtn'#4
|
||||
+'Left'#2'{'#6'Height'#2' '#3'Top'#3#184#0#5'Width'#2'E'#7'Caption'#6#6'Retur'
|
||||
+'n'#11'ModalResult'#2#1#8'TabOrder'#2#7#0#0#0
|
||||
]);
|
73
applications/lazstats/source_orig/kr21unit.pas
Normal file
73
applications/lazstats/source_orig/kr21unit.pas
Normal file
@ -0,0 +1,73 @@
|
||||
unit KR21Unit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls;
|
||||
|
||||
type
|
||||
|
||||
{ TKR21Frm }
|
||||
|
||||
TKR21Frm = class(TForm)
|
||||
ResetBtn: TButton;
|
||||
CancelBtn: TButton;
|
||||
ComputeBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
NoItemsEdit: TEdit;
|
||||
MeanEdit: TEdit;
|
||||
StdDevEdit: TEdit;
|
||||
RelEdit: TEdit;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
Label3: TLabel;
|
||||
Label4: TLabel;
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
KR21Frm: TKR21Frm;
|
||||
|
||||
implementation
|
||||
|
||||
{ TKR21Frm }
|
||||
|
||||
procedure TKR21Frm.ResetBtnClick(Sender: TObject);
|
||||
begin
|
||||
NoItemsEdit.Text := '';
|
||||
MeanEdit.Text := '';
|
||||
StdDevEdit.Text := '';
|
||||
RelEdit.Text := '';
|
||||
end;
|
||||
|
||||
procedure TKR21Frm.FormShow(Sender: TObject);
|
||||
begin
|
||||
ResetBtnClick(self);
|
||||
end;
|
||||
|
||||
procedure TKR21Frm.ComputeBtnClick(Sender: TObject);
|
||||
var
|
||||
items, mean, stddev, rel : double;
|
||||
begin
|
||||
items := StrToFloat(NoItemsEdit.Text);
|
||||
mean := StrToFloat(MeanEdit.Text);
|
||||
stddev := StrToFloat(StdDevEdit.Text);
|
||||
rel := (items / (items - 1.0)) * (1.0 - (mean * (items - mean))/
|
||||
(items * sqr(stddev)));
|
||||
RelEdit.Text := FloatToStr(rel);
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I kr21unit.lrs}
|
||||
|
||||
end.
|
||||
|
307
applications/lazstats/source_orig/kwanovaunit.lfm
Normal file
307
applications/lazstats/source_orig/kwanovaunit.lfm
Normal file
@ -0,0 +1,307 @@
|
||||
object KWAnovaFrm: TKWAnovaFrm
|
||||
Left = 154
|
||||
Height = 357
|
||||
Top = 128
|
||||
Width = 339
|
||||
Caption = 'Kruskal-Wallis One Way ANOVA on Ranks'
|
||||
ClientHeight = 357
|
||||
ClientWidth = 339
|
||||
OnShow = FormShow
|
||||
LCLVersion = '0.9.30.4'
|
||||
object Label1: TLabel
|
||||
Left = 5
|
||||
Height = 16
|
||||
Top = 4
|
||||
Width = 99
|
||||
Caption = 'Variables Available'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 193
|
||||
Height = 16
|
||||
Top = 24
|
||||
Width = 79
|
||||
Caption = 'Group Variable'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label3: TLabel
|
||||
Left = 193
|
||||
Height = 16
|
||||
Top = 113
|
||||
Width = 104
|
||||
Caption = 'Dependent Variable'
|
||||
ParentColor = False
|
||||
end
|
||||
object VarList: TListBox
|
||||
Left = 6
|
||||
Height = 265
|
||||
Top = 20
|
||||
Width = 140
|
||||
ItemHeight = 0
|
||||
TabOrder = 0
|
||||
end
|
||||
object GrpIn: TBitBtn
|
||||
Left = 153
|
||||
Height = 31
|
||||
Top = 23
|
||||
Width = 33
|
||||
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 = GrpInClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object GrpOut: TBitBtn
|
||||
Left = 152
|
||||
Height = 31
|
||||
Top = 56
|
||||
Width = 33
|
||||
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 = GrpOutClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object DepIn: TBitBtn
|
||||
Left = 153
|
||||
Height = 31
|
||||
Top = 112
|
||||
Width = 33
|
||||
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 = 3
|
||||
end
|
||||
object DepOut: TBitBtn
|
||||
Left = 153
|
||||
Height = 31
|
||||
Top = 144
|
||||
Width = 33
|
||||
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 = 4
|
||||
end
|
||||
object GrpEdit: TEdit
|
||||
Left = 191
|
||||
Height = 23
|
||||
Top = 39
|
||||
Width = 120
|
||||
TabOrder = 5
|
||||
Text = 'GrpEdit'
|
||||
end
|
||||
object DepEdit: TEdit
|
||||
Left = 193
|
||||
Height = 23
|
||||
Top = 136
|
||||
Width = 120
|
||||
TabOrder = 6
|
||||
Text = 'Edit1'
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
Left = 153
|
||||
Height = 32
|
||||
Top = 248
|
||||
Width = 63
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 7
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 248
|
||||
Height = 32
|
||||
Top = 248
|
||||
Width = 63
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 8
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
Left = 153
|
||||
Height = 32
|
||||
Top = 304
|
||||
Width = 63
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 9
|
||||
end
|
||||
object ReturnBtn: TButton
|
||||
Left = 248
|
||||
Height = 32
|
||||
Top = 304
|
||||
Width = 63
|
||||
Caption = 'Return'
|
||||
ModalResult = 1
|
||||
TabOrder = 10
|
||||
end
|
||||
object MWUChk: TCheckBox
|
||||
Left = 161
|
||||
Height = 19
|
||||
Top = 206
|
||||
Width = 141
|
||||
Caption = 'Mann-Whitney U Tests'
|
||||
TabOrder = 11
|
||||
end
|
||||
object Label4: TLabel
|
||||
Left = 162
|
||||
Height = 16
|
||||
Top = 185
|
||||
Width = 162
|
||||
Caption = 'Post Hoc Comparisons Option'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label5: TLabel
|
||||
Left = 9
|
||||
Height = 16
|
||||
Top = 312
|
||||
Width = 46
|
||||
Caption = 'Alpha = '
|
||||
ParentColor = False
|
||||
end
|
||||
object AlphaEdit: TEdit
|
||||
Left = 57
|
||||
Height = 23
|
||||
Top = 303
|
||||
Width = 41
|
||||
TabOrder = 12
|
||||
Text = 'AlphaEdit'
|
||||
end
|
||||
end
|
239
applications/lazstats/source_orig/kwanovaunit.lrs
Normal file
239
applications/lazstats/source_orig/kwanovaunit.lrs
Normal file
@ -0,0 +1,239 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TKWAnovaFrm','FORMDATA',[
|
||||
'TPF0'#11'TKWAnovaFrm'#10'KWAnovaFrm'#4'Left'#3#154#0#6'Height'#3'e'#1#3'Top'
|
||||
+#3#128#0#5'Width'#3'S'#1#7'Caption'#6'%Kruskal-Wallis One Way ANOVA on Ranks'
|
||||
+#12'ClientHeight'#3'e'#1#11'ClientWidth'#3'S'#1#6'OnShow'#7#8'FormShow'#10'L'
|
||||
+'CLVersion'#6#8'0.9.30.4'#0#6'TLabel'#6'Label1'#4'Left'#2#5#6'Height'#2#16#3
|
||||
+'Top'#2#4#5'Width'#2'c'#7'Caption'#6#19'Variables Available'#11'ParentColor'
|
||||
+#8#0#0#6'TLabel'#6'Label2'#4'Left'#3#193#0#6'Height'#2#16#3'Top'#2#24#5'Widt'
|
||||
+'h'#2'O'#7'Caption'#6#14'Group Variable'#11'ParentColor'#8#0#0#6'TLabel'#6'L'
|
||||
+'abel3'#4'Left'#3#193#0#6'Height'#2#16#3'Top'#2'q'#5'Width'#2'h'#7'Caption'#6
|
||||
+#18'Dependent Variable'#11'ParentColor'#8#0#0#8'TListBox'#7'VarList'#4'Left'
|
||||
+#2#6#6'Height'#3#9#1#3'Top'#2#20#5'Width'#3#140#0#10'ItemHeight'#2#0#8'TabOr'
|
||||
+'der'#2#0#0#0#7'TBitBtn'#5'GrpIn'#4'Left'#3#153#0#6'Height'#2#31#3'Top'#2#23
|
||||
+#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'GrpInClick'#8'TabOrder'#2#1#0#0#7'TBitBtn'#6'GrpOut'#4'Left'#3#152
|
||||
+#0#6'Height'#2#31#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'GrpOutClick'#8'TabOrde'
|
||||
+'r'#2#2#0#0#7'TBitBtn'#5'DepIn'#4'Left'#3#153#0#6'Height'#2#31#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#255#255#255#0#255#255
|
||||
+#255#0#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'DepInClick'#8'TabOrder'#2#3#0#0#7'TBitBtn'#6'DepOut'#4'Left'#3#153
|
||||
+#0#6'Height'#2#31#3'Top'#3#144#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'DepOutClick'#8'TabOrde'
|
||||
+'r'#2#4#0#0#5'TEdit'#7'GrpEdit'#4'Left'#3#191#0#6'Height'#2#23#3'Top'#2''''#5
|
||||
+'Width'#2'x'#8'TabOrder'#2#5#4'Text'#6#7'GrpEdit'#0#0#5'TEdit'#7'DepEdit'#4
|
||||
+'Left'#3#193#0#6'Height'#2#23#3'Top'#3#136#0#5'Width'#2'x'#8'TabOrder'#2#6#4
|
||||
+'Text'#6#5'Edit1'#0#0#7'TButton'#8'ResetBtn'#4'Left'#3#153#0#6'Height'#2' '#3
|
||||
+'Top'#3#248#0#5'Width'#2'?'#7'Caption'#6#5'Reset'#7'OnClick'#7#13'ResetBtnCl'
|
||||
+'ick'#8'TabOrder'#2#7#0#0#7'TButton'#9'CancelBtn'#4'Left'#3#248#0#6'Height'#2
|
||||
+' '#3'Top'#3#248#0#5'Width'#2'?'#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8
|
||||
+'TabOrder'#2#8#0#0#7'TButton'#10'ComputeBtn'#4'Left'#3#153#0#6'Height'#2' '#3
|
||||
+'Top'#3'0'#1#5'Width'#2'?'#7'Caption'#6#7'Compute'#7'OnClick'#7#15'ComputeBt'
|
||||
+'nClick'#8'TabOrder'#2#9#0#0#7'TButton'#9'ReturnBtn'#4'Left'#3#248#0#6'Heigh'
|
||||
+'t'#2' '#3'Top'#3'0'#1#5'Width'#2'?'#7'Caption'#6#6'Return'#11'ModalResult'#2
|
||||
+#1#8'TabOrder'#2#10#0#0#9'TCheckBox'#6'MWUChk'#4'Left'#3#161#0#6'Height'#2#19
|
||||
+#3'Top'#3#206#0#5'Width'#3#141#0#7'Caption'#6#20'Mann-Whitney U Tests'#8'Tab'
|
||||
+'Order'#2#11#0#0#6'TLabel'#6'Label4'#4'Left'#3#162#0#6'Height'#2#16#3'Top'#3
|
||||
+#185#0#5'Width'#3#162#0#7'Caption'#6#27'Post Hoc Comparisons Option'#11'Pare'
|
||||
+'ntColor'#8#0#0#6'TLabel'#6'Label5'#4'Left'#2#9#6'Height'#2#16#3'Top'#3'8'#1
|
||||
+#5'Width'#2'.'#7'Caption'#6#8'Alpha = '#11'ParentColor'#8#0#0#5'TEdit'#9'Alp'
|
||||
+'haEdit'#4'Left'#2'9'#6'Height'#2#23#3'Top'#3'/'#1#5'Width'#2')'#8'TabOrder'
|
||||
+#2#12#4'Text'#6#9'AlphaEdit'#0#0#0
|
||||
]);
|
488
applications/lazstats/source_orig/kwanovaunit.pas
Normal file
488
applications/lazstats/source_orig/kwanovaunit.pas
Normal file
@ -0,0 +1,488 @@
|
||||
unit KWANOVAUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Buttons, MainUnit, OutPutUnit, FunctionsLib,
|
||||
Globals, DataProcs, Math;
|
||||
|
||||
type
|
||||
|
||||
{ TKWAnovaFrm }
|
||||
|
||||
TKWAnovaFrm = class(TForm)
|
||||
AlphaEdit: TEdit;
|
||||
Label4: TLabel;
|
||||
Label5: TLabel;
|
||||
MWUChk: TCheckBox;
|
||||
ResetBtn: TButton;
|
||||
CancelBtn: TButton;
|
||||
ComputeBtn: TButton;
|
||||
ReturnBtn: TButton;
|
||||
GrpEdit: TEdit;
|
||||
DepEdit: TEdit;
|
||||
GrpIn: TBitBtn;
|
||||
GrpOut: TBitBtn;
|
||||
DepIn: TBitBtn;
|
||||
DepOut: TBitBtn;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
Label3: TLabel;
|
||||
VarList: TListBox;
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
procedure DepInClick(Sender: TObject);
|
||||
procedure DepOutClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure GrpInClick(Sender: TObject);
|
||||
procedure GrpOutClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
KWAnovaFrm: TKWAnovaFrm;
|
||||
|
||||
implementation
|
||||
|
||||
{ TKWAnovaFrm }
|
||||
|
||||
procedure TKWAnovaFrm.ResetBtnClick(Sender: TObject);
|
||||
VAR i : integer;
|
||||
begin
|
||||
GrpEdit.Text := '';
|
||||
DepEdit.Text := '';
|
||||
AlphaEdit.Text := '0.05';
|
||||
GrpIn.Visible := true;
|
||||
GrpOut.Visible := false;
|
||||
DepIn.Visible := true;
|
||||
DepOut.Visible := false;
|
||||
MWUChk.Checked := false;
|
||||
VarList.Items.Clear;
|
||||
for i := 1 to NoVariables do
|
||||
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
|
||||
end;
|
||||
|
||||
procedure TKWAnovaFrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
ResetBtnClick(self);
|
||||
end;
|
||||
|
||||
procedure TKWAnovaFrm.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 TKWAnovaFrm.ComputeBtnClick(Sender: TObject);
|
||||
label cleanup, Check1, Check2;
|
||||
var
|
||||
i, j, k, m, ind_var, dep_var, min_grp, max_grp, group, total_n : integer;
|
||||
NoTies, NoTieGroups, nogroups, NoSelected, npairs, n1, n2 : integer;
|
||||
largestn : integer;
|
||||
ColNoSelected : IntdyneVec;
|
||||
group_count : IntDyneVec;
|
||||
score, t, SumT, Avg, Probchi, H, CorrectedH, value : double;
|
||||
Correction, Temp, TieSum, alpha, U, U2, SD, z, prob : double;
|
||||
Ranks, X : DblDyneMat;
|
||||
RankSums : DblDyneVec;
|
||||
cellstring, outline : string;
|
||||
begin
|
||||
// Check for data
|
||||
if (NoVariables < 1) then
|
||||
begin
|
||||
ShowMessage('ERROR! You must have grid data!');
|
||||
exit;
|
||||
end;
|
||||
|
||||
// allocate space
|
||||
SetLength(ColNoSelected,NoVariables);
|
||||
SetLength(Ranks,NoCases,2);
|
||||
SetLength(X,NoCases,2);
|
||||
|
||||
// Get column numbers of the independent and dependent variables
|
||||
ind_var := 0;
|
||||
dep_var := 0;
|
||||
for i := 1 to NoVariables do
|
||||
begin
|
||||
cellstring := GrpEdit.Text;
|
||||
if (cellstring = OS3MainFrm.DataGrid.Cells[i,0]) then ind_var := i;
|
||||
cellstring := DepEdit.Text;
|
||||
if (cellstring = OS3MainFrm.DataGrid.Cells[i,0]) then dep_var := i;
|
||||
end;
|
||||
ColNoSelected[0] := ind_var;
|
||||
ColNoSelected[1] := dep_var;
|
||||
|
||||
//get minimum and maximum group codes
|
||||
total_n := 0;
|
||||
NoSelected := 2;
|
||||
min_grp := 10000; //atoi(MainForm.Grid.Cells[ind_var,1].c_str);
|
||||
max_grp := -10000;
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
if (not GoodRecord(i,NoSelected,ColNoSelected)) then continue;
|
||||
group := round(StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[ind_var,i])));
|
||||
if (group < min_grp) then min_grp := group;
|
||||
if (group > max_grp) then max_grp := group;
|
||||
total_n := total_n + 1;
|
||||
end;
|
||||
nogroups := max_grp - min_grp + 1;
|
||||
NoTieGroups := 0;
|
||||
SumT := 0.0;
|
||||
H := 0.0;
|
||||
|
||||
// Initialize arrays
|
||||
SetLength(RankSums,nogroups);
|
||||
SetLength(group_count,nogroups);
|
||||
for i := 0 to nogroups-1 do
|
||||
begin
|
||||
group_count[i] := 0;
|
||||
RankSums[i] := 0.0;
|
||||
end;
|
||||
|
||||
// Setup for printer output
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
OutPutFrm.RichEdit.Lines.Add('Kruskal - Wallis One-Way Analysis of Variance');
|
||||
OutPutFrm.RichEdit.Lines.Add('See pages 184-194 in S. Siegel: Nonparametric Statistics for the Behavioral Sciences');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
|
||||
// Get data
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
if (not GoodRecord(i,NoSelected,ColNoSelected)) then continue;
|
||||
score := StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[dep_var,i]));
|
||||
group := round(StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[ind_var,i])));
|
||||
group := group - min_grp + 1;
|
||||
if (group > nogroups) then
|
||||
begin
|
||||
ShowMessage('ERROR! Group codes must be sequential like 1 and 2!');
|
||||
goto cleanup;
|
||||
end;
|
||||
group_count[group-1] := group_count[group-1] + 1;
|
||||
X[i-1,0] := score;
|
||||
X[i-1,1] := group;
|
||||
end;
|
||||
|
||||
//Sort all scores in ascending order
|
||||
for i := 1 to total_n - 1 do
|
||||
begin
|
||||
for j := i + 1 to total_n do
|
||||
begin
|
||||
if (X[i-1,0] > X[j-1,0]) then
|
||||
begin
|
||||
Temp := X[i-1,0];
|
||||
X[i-1,0] := X[j-1,0];
|
||||
X[j-1,0] := Temp;
|
||||
Temp := X[i-1,1];
|
||||
X[i-1,1] := X[j-1,1];
|
||||
X[j-1,1] := Temp;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
// Store ranks
|
||||
for i := 0 to total_n-1 do
|
||||
begin
|
||||
Ranks[i,0] := i+1;
|
||||
Ranks[i,1] := X[i,1];
|
||||
end;
|
||||
|
||||
//Check for ties in ranks - replace with average rank and calculate
|
||||
//T for each tie and sum of the T's
|
||||
i := 1;
|
||||
while i < total_n do
|
||||
begin
|
||||
j := i + 1;
|
||||
TieSum := 0;
|
||||
NoTies := 0;
|
||||
while (j < total_n) do
|
||||
begin
|
||||
if (X[j-1,0] > X[i-1,0]) then goto Check1;
|
||||
if (X[j-1,0] = X[i-1,0]) then // match
|
||||
begin
|
||||
TieSum := TieSum + round(Ranks[j-1,0]);
|
||||
NoTies := NoTies + 1;
|
||||
end;
|
||||
j := j + 1;
|
||||
end;
|
||||
Check1:
|
||||
if (NoTies > 0) then //At least one tie found
|
||||
begin
|
||||
TieSum := TieSum + Ranks[i-1,0];
|
||||
NoTies := NoTies + 1;
|
||||
Avg := TieSum / NoTies;
|
||||
for j := i to i + NoTies - 1 do Ranks[j-1,0] := Avg;
|
||||
t := Power(NoTies,3) - NoTies;
|
||||
SumT := SumT + t;
|
||||
NoTieGroups := NoTieGroups + 1;
|
||||
i := i + (NoTies - 1);
|
||||
end;
|
||||
i := i + 1;
|
||||
end; // next i
|
||||
|
||||
// Calculate sum of ranks in each group
|
||||
for i := 1 to total_n do
|
||||
begin
|
||||
group := round(Ranks[i-1,1]);
|
||||
RankSums[group-1] := RankSums[group-1] + Ranks[i-1,0];
|
||||
end;
|
||||
|
||||
// Calculate statistics
|
||||
for j := 0 to nogroups-1 do H := H + (RankSums[j] * RankSums[j] / (group_count[j]));
|
||||
H := H * (12.0 / ( total_n * (total_n + 1)) );
|
||||
H := H - (3.0 * (total_n + 1));
|
||||
Correction := 1.0 - ( SumT / (Power(total_n,3) - total_n) );
|
||||
CorrectedH := H / Correction;
|
||||
k := max_grp - min_grp;
|
||||
Probchi := 1.0 - chisquaredprob(H, k);
|
||||
|
||||
// Report results
|
||||
OutPutFrm.RichEdit.Lines.Add(' Score Rank Group');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
for i := 1 to total_n do
|
||||
begin
|
||||
outline := format('%10.2f %10.2f %10.0f',
|
||||
[X[i-1,0], Ranks[i-1,0], Ranks[i-1,1]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Sum of Ranks in each Group');
|
||||
OutPutFrm.RichEdit.Lines.Add('Group Sum No. in Group');
|
||||
for i := 1 to nogroups do
|
||||
begin
|
||||
outline := format('%3d %10.2f %5d', [i+min_grp-1, RankSums[i-1],group_count[i-1]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
outline := format('No. of tied rank groups = %3d',[NoTieGroups]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Statistic H uncorrected for ties = %8.4f',[H]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Correction for Ties = %6.4f',[Correction]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Statistic H corrected for ties = %8.4f',[CorrectedH]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('Corrected H is approx. chi-square with %3d D.F. and probability = %6.4f',[k,Probchi]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.ShowModal;
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
|
||||
if not MWUChk.Checked then goto cleanup;
|
||||
// do Mann-Whitney U tests on group pairs
|
||||
alpha := StrToFloat(AlphaEdit.Text);
|
||||
npairs := nogroups * (nogroups - 1) div 2;
|
||||
alpha := alpha / npairs;
|
||||
outline := format('New alpha for %d paired comparisons = %5.3f',[npairs, alpha]);
|
||||
ShowMessage(outline);
|
||||
for i := 1 to nogroups - 1 do
|
||||
begin
|
||||
for j := i + 1 to nogroups do
|
||||
begin
|
||||
// Setup for printer output
|
||||
OutPutFrm.RichEdit.Clear;
|
||||
OutPutFrm.RichEdit.Lines.Add('Mann-Whitney U Test');
|
||||
OutPutFrm.RichEdit.Lines.Add('See pages 116-127 in S. Siegel: Nonparametric Statistics for the Behavioral Sciences');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
outline := format('Comparison of group %d with group %d',[i,j]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
group_count[0] := 0;
|
||||
group_count[1] := 0;
|
||||
RankSums[0] := 0;
|
||||
RankSums[1] := 0;
|
||||
total_n := 0;
|
||||
for k := 1 to NoCases do
|
||||
begin
|
||||
if (not GoodRecord(k,NoSelected,ColNoSelected)) then continue;
|
||||
score := StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[dep_var,k]));
|
||||
value := StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[ind_var,k]));
|
||||
if round(value) = i then
|
||||
begin
|
||||
X[total_n,0] := score;
|
||||
X[total_n,1] := value;
|
||||
group_count[0] := group_count[0] + 1;
|
||||
total_n := total_n + 1;
|
||||
end;
|
||||
if round(value) = j then
|
||||
begin
|
||||
X[total_n,0] := score;
|
||||
X[total_n,1] := value;
|
||||
group_count[1] := group_count[1] + 1;
|
||||
total_n := total_n + 1;
|
||||
end;
|
||||
end; // next case k
|
||||
|
||||
//Sort all scores in ascending order
|
||||
for k := 1 to total_n - 1 do
|
||||
begin
|
||||
for m := k + 1 to total_n do
|
||||
begin
|
||||
if (X[k-1,0] > X[m-1,0]) then
|
||||
begin
|
||||
Temp := X[k-1,0];
|
||||
X[k-1,0] := X[m-1,0];
|
||||
X[m-1,0] := Temp;
|
||||
Temp := X[k-1,1];
|
||||
X[k-1,1] := X[m-1,1];
|
||||
X[m-1,1] := Temp;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
// get ranks for these two groups
|
||||
for k := 1 to total_n do
|
||||
begin
|
||||
Ranks[k-1,0] := k;
|
||||
Ranks[k-1,1] := X[k-1,1];
|
||||
end;
|
||||
|
||||
//Check for ties in ranks - replace with average rank and calculate
|
||||
//T for each tie and sum of the T's
|
||||
NoTieGroups := 0;
|
||||
k := 1;
|
||||
while k < total_n do
|
||||
begin
|
||||
m := k + 1;
|
||||
TieSum := 0;
|
||||
NoTies := 0;
|
||||
while (m < total_n) do
|
||||
begin
|
||||
if (X[m-1,0] > X[k-1,0]) then goto Check2;
|
||||
if (X[m-1,0] = X[k-1,0]) then // match
|
||||
begin
|
||||
TieSum := TieSum + round(Ranks[m-1,0]);
|
||||
NoTies := NoTies + 1;
|
||||
end;
|
||||
m := m + 1;
|
||||
end;
|
||||
Check2:
|
||||
if (NoTies > 0) then //At least one tie found
|
||||
begin
|
||||
TieSum := TieSum + Ranks[k-1,0];
|
||||
NoTies := NoTies + 1;
|
||||
Avg := TieSum / NoTies;
|
||||
for m := k to k + NoTies - 1 do Ranks[m-1,0] := Avg;
|
||||
t := Power(NoTies,3) - NoTies;
|
||||
SumT := SumT + t;
|
||||
NoTieGroups := NoTieGroups + 1;
|
||||
k := k + (NoTies - 1);
|
||||
end;
|
||||
k := k + 1;
|
||||
end; // next k
|
||||
|
||||
// Calculate sum of ranks in each group
|
||||
for k := 1 to total_n do
|
||||
begin
|
||||
group := round(Ranks[k-1,1]);
|
||||
RankSums[group-1] := RankSums[group-1] + Ranks[k-1,0];
|
||||
end;
|
||||
|
||||
//Calculate U for larger and smaller groups
|
||||
n1 := group_count[0];
|
||||
n2 := group_count[1];
|
||||
if (n1 > n2) then
|
||||
begin
|
||||
group := i-1;
|
||||
U := (n1 * n2) + ((n1 * (n1 + 1)) / 2.0) - RankSums[group];
|
||||
end
|
||||
else
|
||||
begin
|
||||
group := j - 1;
|
||||
U := (n1 * n2) + ((n2 * (n2 + 1)) / 2.0) - RankSums[group];
|
||||
end;
|
||||
U2 := (n1 * n2) - U;
|
||||
SD := (n1 * n2 * (n1 + n2 + 1)) / 12.0;
|
||||
SD := sqrt(SD);
|
||||
if (U2 > U) then z := (U2 - (n1 * n2 / 2)) / SD
|
||||
else z := (U - (n1 * n2 / 2)) / SD;
|
||||
prob := 1.0 - probz(z);
|
||||
|
||||
//Report results
|
||||
OutPutFrm.RichEdit.Lines.Add(' Score Rank Group');
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
for k := 1 to total_n do
|
||||
begin
|
||||
outline := format('%10.2f %10.2f %10.0f',
|
||||
[X[k-1,0], Ranks[k-1,0], Ranks[k-1,1]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
OutPutFrm.RichEdit.Lines.Add('Sum of Ranks in each Group');
|
||||
OutPutFrm.RichEdit.Lines.Add('Group Sum No. in Group');
|
||||
group := i - 1;
|
||||
outline := format('%3d %10.3f %5d', [i, RankSums[group],group_count[0]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
group := j - 1;
|
||||
outline := format('%3d %10.3f %5d', [j, RankSums[group],group_count[1]]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
OutPutFrm.RichEdit.Lines.Add('');
|
||||
outline := format('No. of tied rank groups = %3d',[NoTieGroups]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
if (n1 > n2) then largestn := n1
|
||||
else largestn := n2;
|
||||
if (largestn < 20) then
|
||||
outline := format('Statistic U = %8.4f',[U])
|
||||
else
|
||||
begin
|
||||
if (U > U2) then outline := format('Statistic U = %8.4f',[U])
|
||||
else outline := format('Statistic U = %8.4f',[U2]);
|
||||
end;
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
outline := format('z Statistic (corrected for ties) = %8.4f, Prob. > z = %6.4f',
|
||||
[z, prob]);
|
||||
OutPutFrm.RichEdit.Lines.Add(outline);
|
||||
if (n2 < 20) then
|
||||
begin
|
||||
OutPutFrm.RichEdit.Lines.Add('z test is approximate. Use tables of exact probabilities in Siegel.');
|
||||
OutPutFrm.RichEdit.Lines.Add('(Table J or K, pages 271-277)');
|
||||
end;
|
||||
OutPutFrm.ShowModal;
|
||||
end; // next group j
|
||||
end; // next group i
|
||||
cleanup:
|
||||
group_count := nil;
|
||||
RankSums := nil;
|
||||
X := nil;
|
||||
Ranks := nil;
|
||||
ColNoSelected := nil;
|
||||
end;
|
||||
|
||||
procedure TKWAnovaFrm.DepOutClick(Sender: TObject);
|
||||
begin
|
||||
VarList.Items.Add(DepEdit.Text);
|
||||
DepEdit.Text := '';
|
||||
DepIn.Visible := true;
|
||||
DepOut.Visible := false;
|
||||
end;
|
||||
|
||||
procedure TKWAnovaFrm.GrpInClick(Sender: TObject);
|
||||
VAR index : integer;
|
||||
begin
|
||||
index := VarList.ItemIndex;
|
||||
GrpEdit.Text := VarList.Items.Strings[index];
|
||||
VarList.Items.Delete(index);
|
||||
GrpIn.Visible := false;
|
||||
GrpOut.Visible := true;
|
||||
end;
|
||||
|
||||
procedure TKWAnovaFrm.GrpOutClick(Sender: TObject);
|
||||
begin
|
||||
VarList.Items.Add(GrpEdit.Text);
|
||||
GrpEdit.Text := '';
|
||||
GrpIn.Visible := true;
|
||||
GrpOut.Visible := false;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I kwanovaunit.lrs}
|
||||
|
||||
end.
|
||||
|
Reference in New Issue
Block a user