LazStats: Add original sources, part 6

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7877 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2020-11-16 10:26:53 +00:00
parent 46d5d7c0fb
commit 896f931652
30 changed files with 15489 additions and 0 deletions

View File

@ -0,0 +1,348 @@
unit FriedmanUnit;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
StdCtrls, Buttons, MainUnit, Globals, OutPutUnit, DataProcs, Math,
FunctionsLib, MatrixLib, contexthelpunit;
type
{ TFriedmanFrm }
TFriedmanFrm = class(TForm)
HelpBtn: TButton;
ResetBtn: TButton;
CancelBtn: TButton;
ComputeBtn: TButton;
ReturnBtn: TButton;
GrpVar: TEdit;
GrpIn: TBitBtn;
GrpOut: TBitBtn;
Label2: TLabel;
Label3: TLabel;
TreatVars: TListBox;
TrtIn: TBitBtn;
TrtOut: TBitBtn;
Label1: TLabel;
VarList: TListBox;
procedure ComputeBtnClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure GrpInClick(Sender: TObject);
procedure GrpOutClick(Sender: TObject);
procedure HelpBtnClick(Sender: TObject);
procedure ResetBtnClick(Sender: TObject);
procedure TrtInClick(Sender: TObject);
procedure TrtOutClick(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
FriedmanFrm: TFriedmanFrm;
implementation
{ TFriedmanFrm }
procedure TFriedmanFrm.ResetBtnClick(Sender: TObject);
VAR i : integer;
begin
VarList.Items.Clear;
TreatVars.Items.Clear;
GrpVar.Text := '';
for i := 1 to NoVariables do
begin
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
end;
GrpIn.Visible := true;
GrpOut.Visible := false;
TrtIn.Visible := true;
TrtOut.Visible := false;
end;
procedure TFriedmanFrm.TrtInClick(Sender: TObject);
VAR i, index : integer;
begin
index := VarList.Items.Count;
i := 0;
while i < index do
begin
if (VarList.Selected[i]) then
begin
TreatVars.Items.Add(VarList.Items.Strings[i]);
VarList.Items.Delete(i);
index := index - 1;
i := 0;
end
else i := i + 1;
end;
TrtOut.Visible := true;
end;
procedure TFriedmanFrm.TrtOutClick(Sender: TObject);
VAR index : integer;
begin
index := TreatVars.ItemIndex;
if index < 0 then
begin
TrtOut.Visible := false;
TrtIn.Visible := true;
exit;
end;
VarList.Items.Add(TreatVars.Items.Strings[index]);
TreatVars.Items.Delete(index);
TrtIn.Visible := true;
end;
procedure TFriedmanFrm.FormShow(Sender: TObject);
begin
ResetBtnClick(self);
end;
procedure TFriedmanFrm.ComputeBtnClick(Sender: TObject);
Var
i, j, k, L, col, itemp, GrpCol, CondVar, mingrp, maxgrp : integer;
tiestart, tieend, NoSelected, NCases, group, nogrps : integer;
s, t, TotRanks, chisqr, probchi, score : double;
X, ColRanks : DblDyneVec;
Ranks, means : DblDyneMat;
RowLabels, ColLabels : StrDyneVec;
index : IntDyneVec;
GrpNo : IntdyneMat;
cellstring, outline: string;
title : string;
ties : boolean;
ColNoSelected : IntDyneVec;
begin
k := TreatVars.Items.Count;
NoSelected := k + 1;
SetLength(ColNoSelected,NoVariables);
SetLength(ColLabels,NoVariables);
// get group variable and treatment variables
GrpCol := 0;
for i := 1 to NoVariables do
begin
cellstring := OS3MainFrm.DataGrid.Cells[i,0];
if cellstring = GrpVar.Text then
begin
ColNoSelected[0] := i;
GrpCol := i;
end;
for j := 1 to k do
begin
if cellstring = TreatVars.Items.Strings[j-1] then
begin
ColNoSelected[j] := i;
ColLabels[j-1] := cellstring;
end;
end;
end;
// get minimum and maximum group codes
NCases := 0;
mingrp := 10000;
maxgrp := -10000;
for i := 1 to NoCases do
begin
if not GoodRecord(i,NoSelected,ColNoSelected) then continue;
NCases := NCases + 1;
group := round(StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[GrpCol,i])));
if group > maxgrp then maxgrp := group;
if group < mingrp then mingrp := group;
end;
nogrps := maxgrp - mingrp + 1;
// Initialize arrays
SetLength(RowLabels,nogrps);
SetLength(index,k);
SetLength(GrpNo,nogrps,k);
SetLength(Ranks,nogrps,k);
SetLength(means,nogrps,k);
SetLength(X,k);
SetLength(ColRanks,k);
for j := 0 to k-1 do
begin
for i := 0 to nogrps-1 do
begin
means[i,j] := 0.0;
Ranks[i,j] := 0.0;
GrpNo[i,j] := 0;
end;
ColRanks[j] := 0.0;
X[j] := 0.0;
index[j] := j+1;
end;
// Initialize labels
for i := 1 to nogrps do
begin
cellstring := format('Group %d',[mingrp + i - 1]);
RowLabels[i-1] := cellstring;
end;
// Setup for printing results
OutPutFrm.RichEdit.Clear;
OutPutFrm.RichEdit.Lines.Add('FRIEDMAN TWO-WAY ANOVA ON RANKS');
OutPutFrm.RichEdit.Lines.Add('See pages 166-173 in S. Siegel''s Nonparametric Statistics');
OutPutFrm.RichEdit.Lines.Add('for the Behavioral Sciences, McGraw-Hill Book Co., New York, 1956');
OutPutFrm.RichEdit.Lines.Add('');
// Obtain mean score for each cell
for i := 1 to NoCases do
begin
if ( not GoodRecord(i,NoSelected,ColNoSelected)) then continue;
group := round(StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[GrpCol,i])));
group := group - mingrp + 1;
for j := 1 to k do // treatment values
begin
col := ColNoSelected[j];
score := StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[col,i]));
means[group-1,j-1] := means[group-1,j-1] + score;
GrpNo[group-1,j-1] := GrpNo[group-1,j-1] + 1;
end;
end;
for i := 1 to nogrps do
for j := 1 to k do
means[i-1,j-1] := means[i-1,j-1] / GrpNo[i-1,j-1];
// Print means and group size arrays
title := 'Treatment means - values to be ranked.';
MAT_PRINT(means,nogrps,k,title,RowLabels,ColLabels,NCases);
title := 'Number in each group''s treatment.';
IntArrayPrint(GrpNo,nogrps,k,'GROUP',RowLabels,ColLabels,title);
// Gather row data in X array and rank within rows
for i := 0 to nogrps-1 do
begin
for j := 0 to k-1 do
begin
X[j] := means[i,j];
index[j] := j+1;
end;
//rank scores in this row i
for j := 1 to k - 1 do
begin
for L := j + 1 to k do
begin
if (X[j-1] > X[L-1]) then
begin
t := X[j-1];
X[j-1] := X[L-1];
X[L-1] := t;
itemp := index[j-1];
index[j-1] := index[L-1];
index[L-1] := itemp;
end;
end;
end;
for j := 1 to k do
begin
Ranks[i,index[j-1]-1] := j;
end;
//Check for tied ranks and use average if desired here
tiestart := 0;
tieend := 0;
ties := false;
j := 1;
while j < k do
begin
for L := j + 1 to k do
begin
if (means[i,j-1] = means[i,L-1]) then
begin
ties := true;
tiestart := j;
tieend := L;
end;
end;
if (ties = true) then
begin
s := 0.0;
for L := tiestart to tieend do s := s + Ranks[i,L-1];
for L := tiestart to tieend do
Ranks[i,L-1] := s / (tieend - tiestart + 1);
j := tieend;
ties := false;
end;
j := j + 1;
end; // next j
end; // next group i
//Get sum of ranks in columns
for i := 1 to nogrps do
for j := 1 to k do
ColRanks[j-1] := ColRanks[j-1] + Ranks[i-1,j-1];
//Calculate Statistics
TotRanks := 0;
for j := 1 to k do TotRanks := TotRanks + (ColRanks[j-1] * ColRanks[j-1]);
chisqr := TotRanks * 12.0 / (nogrps * k * (k + 1));
chisqr := chisqr - (3 * nogrps * (k + 1));
probchi := 1.0 - chisquaredprob(chisqr, k - 1);
//Now, show results
title := 'Score Rankings Within Groups';
MAT_PRINT(Ranks,nogrps,k,title,RowLabels,ColLabels,NCases);
title := 'TOTAL RANKS';
DynVectorPrint(ColRanks,k,title,ColLabels,NCases);
OutPutFrm.RichEdit.Lines.Add('');
outline := format('Chi-square with %d D.F. := %8.3f with probability := %6.4f',
[k-1, chisqr, probchi]);
OutPutFrm.RichEdit.Lines.Add(outline);
if ((k < 5) and (nogrps < 10)) then
begin
OutPutFrm.RichEdit.Lines.Add('Chi-square too approximate-use exact table (TABLE N)');
OutPutFrm.RichEdit.Lines.Add('page 280-281 in Siegel');
end;
OutPutFrm.ShowModal;
OutPutFrm.RichEdit.Clear;
// clean up the heap
ColRanks := nil;
X := nil;
means := nil;
Ranks := nil;
GrpNo := nil;
index := nil;
RowLabels := nil;
ColLabels := nil;
ColNoSelected := nil;
end;
procedure TFriedmanFrm.GrpInClick(Sender: TObject);
VAR index : integer;
begin
index := VarList.ItemIndex;
GrpVar.Text := VarList.Items.Strings[index];
VarList.Items.Delete(index);
GrpIn.Visible := false;
GrpOut.Visible := true;
end;
procedure TFriedmanFrm.GrpOutClick(Sender: TObject);
begin
VarList.Items.Add(GrpVar.Text);
GrpVar.Text := '';
GrpIn.Visible := true;
GrpOut.Visible := false;
end;
procedure TFriedmanFrm.HelpBtnClick(Sender: TObject);
begin
ContextHelpForm.HelpMessage((Sender as TButton).tag);
end;
initialization
{$I friedmanunit.lrs}
end.

View File

@ -0,0 +1,286 @@
object FriedmanFrm: TFriedmanFrm
Left = 121
Height = 299
Top = 109
Width = 498
Caption = 'The Friedman Two Way ANOVA on Ranks'
ClientHeight = 299
ClientWidth = 498
OnShow = FormShow
LCLVersion = '0.9.28.2'
object Label1: TLabel
Left = 8
Height = 14
Top = 6
Width = 90
Caption = 'Available Variables'
ParentColor = False
end
object Label2: TLabel
Left = 217
Height = 14
Top = 15
Width = 71
Caption = 'Group Variable'
ParentColor = False
end
object Label3: TLabel
Left = 216
Height = 14
Top = 102
Width = 97
Caption = 'Treatment Variables'
ParentColor = False
end
object VarList: TListBox
Left = 8
Height = 259
Top = 22
Width = 157
ItemHeight = 0
MultiSelect = True
TabOrder = 0
end
object GrpIn: TBitBtn
Left = 176
Height = 31
Top = 23
Width = 34
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00216324B81D5E2006FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF002A702F38256929F7216324D9FFFFFF00FFFFFF00FFFFFF00FFFFFF0061BE
6DFF5DB868FF58B162FF53A95CFF4DA156FF47994FFF419149FF3B8842FF3580
3BFF3F8845FF59A15EFF448B49FF216324CFFFFFFF00FFFFFF00FFFFFF0065C3
71FFA0D7A9FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF82C6
89FF7EC384FF7AC180FF76BE7CFF458C4AFF216324C4FFFFFF00FFFFFF0068C7
74FFA5DAAEFFA2D8ABFF9ED6A7FF9AD4A3FF96D29FFF93CF9AFF8ECC95FF89CA
90FF85C78BFF81C587FF7DC282FF4A9150FF256929C9FFFFFF00FFFFFF0068C7
74FF68C774FF65C371FF61BE6DFF5DB868FF58B162FF53A95CFF4DA156FF4799
4FFF419149FF5AA362FF559D5CFF2F7835D1FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00419149F73B8842DBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0047994FBB41914906FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
}
NumGlyphs = 0
OnClick = GrpInClick
TabOrder = 1
end
object GrpOut: TBitBtn
Left = 176
Height = 31
Top = 56
Width = 34
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF004DA1560647994FB8FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0053A95CD94DA156F747994F38FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF005DB868CF71BE7BFF7AC183FF5BAA64FF47994FFF419149FF3B8842FF3580
3BFF2F7835FF2A702FFF256929FF216324FF1D5E20FFFFFFFF00FFFFFF0065C3
71C47BC886FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF82C6
89FF7EC384FF7AC180FF76BE7CFF72BD78FF216324FFFFFFFF00FFFFFF0068C7
74C97FCC8AFFA2D8ABFF9ED6A7FF9AD4A3FF96D29FFF93CF9AFF8ECC95FF89CA
90FF85C78BFF81C587FF7DC282FF78C07EFF256929FFFFFFFF00FFFFFF00FFFF
FF0068C774D180CD8BFF7CC987FF5DB868FF58B162FF53A95CFF4DA156FF4799
4FFF419149FF3B8842FF35803BFF2F7835FF2A702FFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF0068C774DB65C371F7FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0068C7740668C774BBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
}
NumGlyphs = 0
OnClick = GrpOutClick
TabOrder = 2
end
object TrtIn: TBitBtn
Left = 176
Height = 31
Top = 104
Width = 34
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00216324B81D5E2006FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF002A702F38256929F7216324D9FFFFFF00FFFFFF00FFFFFF00FFFFFF0061BE
6DFF5DB868FF58B162FF53A95CFF4DA156FF47994FFF419149FF3B8842FF3580
3BFF3F8845FF59A15EFF448B49FF216324CFFFFFFF00FFFFFF00FFFFFF0065C3
71FFA0D7A9FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF82C6
89FF7EC384FF7AC180FF76BE7CFF458C4AFF216324C4FFFFFF00FFFFFF0068C7
74FFA5DAAEFFA2D8ABFF9ED6A7FF9AD4A3FF96D29FFF93CF9AFF8ECC95FF89CA
90FF85C78BFF81C587FF7DC282FF4A9150FF256929C9FFFFFF00FFFFFF0068C7
74FF68C774FF65C371FF61BE6DFF5DB868FF58B162FF53A95CFF4DA156FF4799
4FFF419149FF5AA362FF559D5CFF2F7835D1FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00419149F73B8842DBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0047994FBB41914906FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
}
NumGlyphs = 0
OnClick = TrtInClick
TabOrder = 3
end
object TrtOut: TBitBtn
Left = 176
Height = 31
Top = 136
Width = 34
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF004DA1560647994FB8FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0053A95CD94DA156F747994F38FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF005DB868CF71BE7BFF7AC183FF5BAA64FF47994FFF419149FF3B8842FF3580
3BFF2F7835FF2A702FFF256929FF216324FF1D5E20FFFFFFFF00FFFFFF0065C3
71C47BC886FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF82C6
89FF7EC384FF7AC180FF76BE7CFF72BD78FF216324FFFFFFFF00FFFFFF0068C7
74C97FCC8AFFA2D8ABFF9ED6A7FF9AD4A3FF96D29FFF93CF9AFF8ECC95FF89CA
90FF85C78BFF81C587FF7DC282FF78C07EFF256929FFFFFFFF00FFFFFF00FFFF
FF0068C774D180CD8BFF7CC987FF5DB868FF58B162FF53A95CFF4DA156FF4799
4FFF419149FF3B8842FF35803BFF2F7835FF2A702FFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF0068C774DB65C371F7FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0068C7740668C774BBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
}
NumGlyphs = 0
OnClick = TrtOutClick
TabOrder = 4
end
object GrpVar: TEdit
Left = 216
Height = 21
Top = 33
Width = 152
TabOrder = 5
Text = 'GrpVar'
end
object TreatVars: TListBox
Left = 217
Height = 161
Top = 120
Width = 153
ItemHeight = 0
TabOrder = 6
end
object ResetBtn: TButton
Left = 400
Height = 34
Top = 112
Width = 80
Caption = 'Reset'
OnClick = ResetBtnClick
TabOrder = 7
end
object CancelBtn: TButton
Left = 400
Height = 33
Top = 56
Width = 82
Caption = 'Cancel'
ModalResult = 2
TabOrder = 8
end
object ComputeBtn: TButton
Left = 400
Height = 32
Top = 168
Width = 80
Caption = 'Compute'
OnClick = ComputeBtnClick
TabOrder = 9
end
object ReturnBtn: TButton
Left = 400
Height = 34
Top = 224
Width = 80
Caption = 'Return'
ModalResult = 1
TabOrder = 10
end
object HelpBtn: TButton
Tag = 124
Left = 400
Height = 32
Top = 8
Width = 82
Caption = 'Help'
OnClick = HelpBtnClick
TabOrder = 11
end
end

View File

@ -0,0 +1,234 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TFriedmanFrm','FORMDATA',[
'TPF0'#12'TFriedmanFrm'#11'FriedmanFrm'#4'Left'#2'y'#6'Height'#3'+'#1#3'Top'#2
+'m'#5'Width'#3#242#1#7'Caption'#6'#The Friedman Two Way ANOVA on Ranks'#12'C'
+'lientHeight'#3'+'#1#11'ClientWidth'#3#242#1#6'OnShow'#7#8'FormShow'#10'LCLV'
+'ersion'#6#8'0.9.28.2'#0#6'TLabel'#6'Label1'#4'Left'#2#8#6'Height'#2#14#3'To'
+'p'#2#6#5'Width'#2'Z'#7'Caption'#6#19'Available Variables'#11'ParentColor'#8
+#0#0#6'TLabel'#6'Label2'#4'Left'#3#217#0#6'Height'#2#14#3'Top'#2#15#5'Width'
+#2'G'#7'Caption'#6#14'Group Variable'#11'ParentColor'#8#0#0#6'TLabel'#6'Labe'
+'l3'#4'Left'#3#216#0#6'Height'#2#14#3'Top'#2'f'#5'Width'#2'a'#7'Caption'#6#19
+'Treatment Variables'#11'ParentColor'#8#0#0#8'TListBox'#7'VarList'#4'Left'#2
+#8#6'Height'#3#3#1#3'Top'#2#22#5'Width'#3#157#0#10'ItemHeight'#2#0#11'MultiS'
+'elect'#9#8'TabOrder'#2#0#0#0#7'TBitBtn'#5'GrpIn'#4'Left'#3#176#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'OnClick'#7#10'GrpInClick'#8'TabOrder'#2#1#0#0#7'TBitBtn'
+#6'GrpOut'#4'Left'#3#176#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
+'TabOrder'#2#2#0#0#7'TBitBtn'#5'TrtIn'#4'Left'#3#176#0#6'Height'#2#31#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#10'TrtInClick'#8'TabOrder'#2#3#0#0#7'TBitBtn'#6'TrtOut'#4'Left'#3
+#176#0#6'Height'#2#31#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#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'TrtOutClick'#8'TabOrde'
+'r'#2#4#0#0#5'TEdit'#6'GrpVar'#4'Left'#3#216#0#6'Height'#2#21#3'Top'#2'!'#5
+'Width'#3#152#0#8'TabOrder'#2#5#4'Text'#6#6'GrpVar'#0#0#8'TListBox'#9'TreatV'
+'ars'#4'Left'#3#217#0#6'Height'#3#161#0#3'Top'#2'x'#5'Width'#3#153#0#10'Item'
+'Height'#2#0#8'TabOrder'#2#6#0#0#7'TButton'#8'ResetBtn'#4'Left'#3#144#1#6'He'
+'ight'#2'"'#3'Top'#2'p'#5'Width'#2'P'#7'Caption'#6#5'Reset'#7'OnClick'#7#13
+'ResetBtnClick'#8'TabOrder'#2#7#0#0#7'TButton'#9'CancelBtn'#4'Left'#3#144#1#6
+'Height'#2'!'#3'Top'#2'8'#5'Width'#2'R'#7'Caption'#6#6'Cancel'#11'ModalResul'
+'t'#2#2#8'TabOrder'#2#8#0#0#7'TButton'#10'ComputeBtn'#4'Left'#3#144#1#6'Heig'
+'ht'#2' '#3'Top'#3#168#0#5'Width'#2'P'#7'Caption'#6#7'Compute'#7'OnClick'#7
+#15'ComputeBtnClick'#8'TabOrder'#2#9#0#0#7'TButton'#9'ReturnBtn'#4'Left'#3
+#144#1#6'Height'#2'"'#3'Top'#3#224#0#5'Width'#2'P'#7'Caption'#6#6'Return'#11
+'ModalResult'#2#1#8'TabOrder'#2#10#0#0#7'TButton'#7'HelpBtn'#3'Tag'#2'|'#4'L'
+'eft'#3#144#1#6'Height'#2' '#3'Top'#2#8#5'Width'#2'R'#7'Caption'#6#4'Help'#7
+'OnClick'#7#12'HelpBtnClick'#8'TabOrder'#2#11#0#0#0
]);

View File

@ -0,0 +1,217 @@
unit FunctionsUnit;
{$MODE Delphi}
interface
uses SysUtils, ItemBankGlobals;
function ReadMCItem(item : integer; VAR R3 : MCItemRcd) : boolean;
function ReadTFItem(item : integer; VAR R5 : TFItemRcd) : boolean;
function ReadMAItem(item : integer; VAR R1 : MatchItemsRcd) : boolean;
function ReadCOItem(item : integer; VAR R2 : BlankItemRcd) : boolean;
function ReadESItem(item : integer; VAR R4 : EssayItemRcd) : boolean;
procedure WriteMCItem(item : integer; VAR R3 : MCItemRcd);
procedure WriteTFItem(item : integer; VAR R5 : TFItemRcd);
procedure WriteMAItem(item : integer; VAR R1 : MatchItemsRcd);
procedure WriteCOItem(item : integer; VAR R2 : BlankItemRcd);
procedure WriteESItem(item : integer; VAR R4 : EssayItemRcd);
implementation
function ReadMCItem(item : integer; VAR R3 : MCItemRcd) : boolean;
var
found : boolean;
F3 : File of MCItemRcd;
filename : string;
begin
found := false;
if FileExists(MCFName) { *Converted from FileExists* } then // multiple choice items
begin
filename := MCFName;
AssignFile(F3,filename);
Reset(F3);
Seek(F3,item-1);
Read(F3,R3);
found := true;
end;
CloseFile(F3);
Result := found;
end;
//-------------------------------------------------------------------
function ReadTFItem(item : integer; VAR R5 : TFItemRcd) : boolean;
var
found : boolean;
F5 : File of TFItemRcd;
filename : string;
begin
found := false;
if FileExists(TFFName) { *Converted from FileExists* } then // true-false items
begin
filename := TFFName;
AssignFile(F5,filename);
Reset(F5);
Seek(F5,item-1);
Read(F5,R5);
found := true;
end;
CloseFile(F5);
Result := found;
end;
//-------------------------------------------------------------------
function ReadMAItem(item : integer; VAR R1 : MatchItemsRcd) : boolean;
var
found : boolean;
F1 : File of MatchItemsRcd;
filename : string;
begin
found := false;
if FileExists(MatchFName) { *Converted from FileExists* } then // matching items
begin
filename := MatchFName;
AssignFile(F1,filename);
Reset(F1);
Seek(F1,item-1);
Read(F1,R1);
found := true;
end;
CloseFile(F1);
Result := found;
end;
//-------------------------------------------------------------------
function ReadCOItem(item : integer; VAR R2 : BlankItemRcd) : boolean;
var
found : boolean;
F2 : File of BlankItemRcd;
filename : string;
begin
found := false;
if FileExists(BlankFName) { *Converted from FileExists* } then // completion items
begin
filename := BlankFName;
AssignFile(F2,filename);
Reset(F2);
Seek(F2,item-1);
Read(F2,R2);
found := true;
end;
CloseFile(F2);
Result := found;
end;
//-------------------------------------------------------------------
function ReadESItem(item : integer; VAR R4 : EssayItemRcd) : boolean;
var
found : boolean;
F4 : File of EssayItemRcd;
filename : string;
begin
found := false;
if FileExists(EssayFName) { *Converted from FileExists* } then // essay items
begin
filename := EssayFName;
AssignFile(F4,filename);
Reset(F4);
Seek(F4,item-1);
Read(F4,R4);
found := true;
end;
CloseFile(F4);
Result := found;
end;
//-------------------------------------------------------------------
procedure WriteMCItem(item : integer; VAR R3 : MCItemRcd);
var
F3 : File of MCItemRcd;
filename : string;
begin
if FileExists(MCFName) { *Converted from FileExists* } then // multiple choice items
begin
filename := MCFName;
AssignFile(F3,filename);
Reset(F3);
Seek(F3,item-1);
write(F3,R3);
end;
CloseFile(F3);
end;
//-------------------------------------------------------------------
procedure WriteTFItem(item : integer; VAR R5 : TFItemRcd);
var
F5 : File of TFItemRcd;
filename : string;
begin
if FileExists(TFFName) { *Converted from FileExists* } then // true-false items
begin
filename := TFFName;
AssignFile(F5,filename);
Reset(F5);
Seek(F5,item-1);
write(F5,R5);
end;
CloseFile(F5);
end;
//-------------------------------------------------------------------
procedure WriteMAItem(item : integer; VAR R1 : MatchItemsRcd);
var
F1 : File of MatchItemsRcd;
filename : string;
begin
if FileExists(MatchFName) { *Converted from FileExists* } then // matching items
begin
filename := MatchFName;
AssignFile(F1,filename);
Reset(F1);
Seek(F1,item-1);
write(F1,R1);
end;
CloseFile(F1);
end;
//-------------------------------------------------------------------
procedure WriteCOItem(item : integer; VAR R2 : BlankItemRcd);
var
F2 : File of BlankItemRcd;
filename : string;
begin
if FileExists(BlankFName) { *Converted from FileExists* } then // completion items
begin
filename := BlankFName;
AssignFile(F2,filename);
Reset(F2);
Seek(F2,item-1);
write(F2,R2);
end;
CloseFile(F2);
end;
//-------------------------------------------------------------------
procedure WriteESItem(item : integer; VAR R4 : EssayItemRcd);
var
F4 : File of EssayItemRcd;
filename : string;
begin
if FileExists(EssayFName) { *Converted from FileExists* } then // essay items
begin
filename := EssayFName;
AssignFile(F4,filename);
Reset(F4);
Seek(F4,item-1);
write(F4,R4);
end;
CloseFile(F4);
end;
//-------------------------------------------------------------------
end.

View File

@ -0,0 +1,36 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TFreqSpecsFrm','FORMDATA',[
'TPF0'#13'TFreqSpecsFrm'#12'FreqSpecsFrm'#4'Left'#3#25#1#6'Height'#3'f'#1#3'T'
+'op'#2'k'#5'Width'#3','#1#7'Caption'#6#24'Frequency Specifications'#12'Clien'
+'tHeight'#3'f'#1#11'ClientWidth'#3','#1#10'LCLVersion'#6#6'0.9.30'#0#6'TLabe'
+'l'#6'Label1'#4'Left'#2#11#6'Height'#2#16#3'Top'#2'w'#5'Width'#2'8'#7'Captio'
+'n'#6#9'VARIABLE:'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#11#6
+'Height'#2#16#3'Top'#3#151#0#5'Width'#2'.'#7'Caption'#6#6'MINIUM'#11'ParentC'
+'olor'#8#0#0#6'TLabel'#6'Label3'#4'Left'#2#11#6'Height'#2#16#3'Top'#3#183#0#5
+'Width'#2'<'#7'Caption'#6#7'MAXIMUM'#11'ParentColor'#8#0#0#6'TLabel'#6'Label'
+'4'#4'Left'#2#11#6'Height'#2#16#3'Top'#3#215#0#5'Width'#2''''#7'Caption'#6#5
+'RANGE'#11'ParentColor'#8#0#0#6'TLabel'#6'Label5'#4'Left'#2#11#6'Height'#2#16
+#3'Top'#3#247#0#5'Width'#2'O'#7'Caption'#6#13'INTERVAL SIZE'#11'ParentColor'
+#8#0#0#6'TLabel'#6'Label6'#4'Left'#2#11#6'Height'#2#16#3'Top'#3#23#1#5'Width'
+#2'T'#7'Caption'#6#13'NO. INTERVALS'#11'ParentColor'#8#0#0#5'TEdit'#7'VarNam'
+'e'#4'Left'#2'p'#6'Height'#2#23#3'Top'#2'p'#5'Width'#3#169#0#8'TabOrder'#2#0
+#0#0#5'TEdit'#7'Minimum'#4'Left'#2'p'#6'Height'#2#23#3'Top'#3#144#0#5'Width'
+#3#169#0#8'TabOrder'#2#1#0#0#5'TEdit'#7'Maximum'#4'Left'#2'p'#6'Height'#2#23
+#3'Top'#3#176#0#5'Width'#3#169#0#8'TabOrder'#2#2#0#0#5'TEdit'#5'Range'#4'Lef'
+'t'#2'p'#6'Height'#2#23#3'Top'#3#208#0#5'Width'#3#169#0#8'TabOrder'#2#3#0#0#5
+'TEdit'#7'IntSize'#4'Left'#2'p'#6'Height'#2#23#3'Top'#3#240#0#5'Width'#3#169
+#0#10'OnKeyPress'#7#15'IntSizeKeyPress'#8'TabOrder'#2#4#0#0#5'TEdit'#6'NoInt'
+'s'#4'Left'#2'p'#6'Height'#2#23#3'Top'#3#16#1#5'Width'#3#169#0#8'TabOrder'#2
+#5#0#0#7'TButton'#9'CancelBtn'#4'Left'#2'h'#6'Height'#2' '#3'Top'#3'7'#1#5'W'
+'idth'#2'Q'#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#6#0#0#7
+'TButton'#5'OKBtn'#4'Left'#3#200#0#6'Height'#2#31#3'Top'#3'7'#1#5'Width'#2'Q'
+#7'Caption'#6#2'OK'#11'ModalResult'#2#1#8'TabOrder'#2#7#0#0#7'TButton'#7'Hel'
+'pBtn'#3'Tag'#2'{'#4'Left'#2#11#6'Height'#2' '#3'Top'#3'7'#1#5'Width'#2'R'#7
+'Caption'#6#4'Help'#7'OnClick'#7#12'HelpBtnClick'#8'TabOrder'#2#8#0#0#5'TMem'
+'o'#5'Memo1'#4'Left'#2#7#6'Height'#2'W'#3'Top'#2#1#5'Width'#3#21#1#13'Lines.'
+'Strings'#1#6'-The number of intervals must be less than or '#6',equal to th'
+'e number of cases. To change the'#6'-number of intervals, change the inter'
+'val size'#6'/to a larger value. Press the Enter key to make'#6' the number'
+' of intervals smaller.'#0#8'TabOrder'#2#9#0#0#0
]);

View File

@ -0,0 +1,67 @@
unit FreqSpecsUnit;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
StdCtrls, contexthelpunit;
type
{ TFreqSpecsFrm }
TFreqSpecsFrm = class(TForm)
CancelBtn: TButton;
HelpBtn: TButton;
Memo1: TMemo;
OKBtn: TButton;
VarName: TEdit;
Minimum: TEdit;
Maximum: TEdit;
Range: TEdit;
IntSize: TEdit;
NoInts: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
procedure HelpBtnClick(Sender: TObject);
procedure IntSizeKeyPress(Sender: TObject; var Key: char);
private
{ private declarations }
public
{ public declarations }
end;
var
FreqSpecsFrm: TFreqSpecsFrm;
implementation
{ TFreqSpecsFrm }
procedure TFreqSpecsFrm.IntSizeKeyPress(Sender: TObject; var Key: char);
var
rangeval : double;
increment : double;
begin
if ord(Key) <> 13 then exit;
rangeval := StrToFloat(Range.Text);
increment := StrToFloat(IntSize.Text);
NoInts.Text := FloatToStr(rangeval / increment);
end;
procedure TFreqSpecsFrm.HelpBtnClick(Sender: TObject);
begin
ContextHelpForm.HelpMessage((Sender as TButton).tag);
end;
initialization
{$I freqspecsunit.lrs}
end.

View File

@ -0,0 +1,235 @@
object FreqFrm: TFreqFrm
Left = 154
Height = 337
Top = 92
Width = 615
Caption = 'Frequency Distribution'
ClientHeight = 337
ClientWidth = 615
OnShow = FormShow
LCLVersion = '0.9.30'
object Label1: TLabel
Left = 9
Height = 16
Top = 9
Width = 121
Caption = 'AVAILABLE VARIABLES'
ParentColor = False
end
object Label2: TLabel
Left = 208
Height = 16
Top = 9
Width = 132
Caption = 'VARIABLES TO ANALYZE'
ParentColor = False
end
object VarList: TListBox
Left = 8
Height = 235
Top = 23
Width = 147
ItemHeight = 0
MultiSelect = True
TabOrder = 0
end
object ListBox1: TListBox
Left = 208
Height = 234
Top = 25
Width = 153
ItemHeight = 0
TabOrder = 1
end
object InBtn: TBitBtn
Left = 168
Height = 30
Top = 24
Width = 31
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00216324B81D5E2006FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF002A702F38256929F7216324D9FFFFFF00FFFFFF00FFFFFF00FFFFFF0061BE
6DFF5DB868FF58B162FF53A95CFF4DA156FF47994FFF419149FF3B8842FF3580
3BFF3F8845FF59A15EFF448B49FF216324CFFFFFFF00FFFFFF00FFFFFF0065C3
71FFA0D7A9FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF82C6
89FF7EC384FF7AC180FF76BE7CFF458C4AFF216324C4FFFFFF00FFFFFF0068C7
74FFA5DAAEFFA2D8ABFF9ED6A7FF9AD4A3FF96D29FFF93CF9AFF8ECC95FF89CA
90FF85C78BFF81C587FF7DC282FF4A9150FF256929C9FFFFFF00FFFFFF0068C7
74FF68C774FF65C371FF61BE6DFF5DB868FF58B162FF53A95CFF4DA156FF4799
4FFF419149FF5AA362FF559D5CFF2F7835D1FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00419149F73B8842DBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0047994FBB41914906FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
}
NumGlyphs = 0
OnClick = InBtnClick
TabOrder = 2
end
object OutBtn: TBitBtn
Left = 168
Height = 30
Top = 72
Width = 31
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF004DA1560647994FB8FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0053A95CD94DA156F747994F38FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF005DB868CF71BE7BFF7AC183FF5BAA64FF47994FFF419149FF3B8842FF3580
3BFF2F7835FF2A702FFF256929FF216324FF1D5E20FFFFFFFF00FFFFFF0065C3
71C47BC886FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF82C6
89FF7EC384FF7AC180FF76BE7CFF72BD78FF216324FFFFFFFF00FFFFFF0068C7
74C97FCC8AFFA2D8ABFF9ED6A7FF9AD4A3FF96D29FFF93CF9AFF8ECC95FF89CA
90FF85C78BFF81C587FF7DC282FF78C07EFF256929FFFFFFFF00FFFFFF00FFFF
FF0068C774D180CD8BFF7CC987FF5DB868FF58B162FF53A95CFF4DA156FF4799
4FFF419149FF3B8842FF35803BFF2F7835FF2A702FFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF0068C774DB65C371F7FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0068C7740668C774BBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
}
NumGlyphs = 0
OnClick = OutBtnClick
TabOrder = 3
end
object AllBtn: TBitBtn
Left = 168
Height = 30
Top = 120
Width = 31
Caption = 'ALL'
NumGlyphs = 0
OnClick = AllBtnClick
TabOrder = 4
end
object NormPltChk: TCheckBox
Left = 400
Height = 19
Top = 232
Width = 149
Caption = 'Plot Normal Distribution'
TabOrder = 5
end
object RadioGroup1: TRadioGroup
Left = 390
Height = 219
Top = 8
Width = 208
AutoFill = True
Caption = 'Plot 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 = 201
ClientWidth = 204
Items.Strings = (
'2D Vertical Bars'
'3D Vertical Bars'
'2D Pie Chart'
'Exploded Pie Chart'
'2D Line Chart'
'3D Line Chart'
'Plot 2D Points'
'Plot 3D Points'
'2D Horizontal Bars'
'3D Horizontal Bars'
)
TabOrder = 6
end
object RadioGroup2: TRadioGroup
Left = 392
Height = 62
Top = 264
Width = 206
AutoFill = True
Caption = 'Plot Type'
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 = 44
ClientWidth = 202
Items.Strings = (
'Bar Chart'
'Histogram'
)
TabOrder = 7
end
object ResetBtn: TButton
Left = 153
Height = 24
Top = 279
Width = 71
Caption = 'Reset'
OnClick = ResetBtnClick
TabOrder = 8
end
object CancelBtn: TButton
Left = 232
Height = 24
Top = 280
Width = 71
Caption = 'Cancel'
ModalResult = 2
OnClick = CancelBtnClick
TabOrder = 9
end
object OKBtn: TButton
Left = 312
Height = 24
Top = 279
Width = 71
Caption = 'OK'
ModalResult = 1
OnClick = OKBtnClick
TabOrder = 10
end
end

View File

@ -0,0 +1,148 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TFreqFrm','FORMDATA',[
'TPF0'#8'TFreqFrm'#7'FreqFrm'#4'Left'#3#154#0#6'Height'#3'Q'#1#3'Top'#2'\'#5
+'Width'#3'g'#2#7'Caption'#6#22'Frequency Distribution'#12'ClientHeight'#3'Q'
+#1#11'ClientWidth'#3'g'#2#6'OnShow'#7#8'FormShow'#10'LCLVersion'#6#6'0.9.30'
+#0#6'TLabel'#6'Label1'#4'Left'#2#9#6'Height'#2#16#3'Top'#2#9#5'Width'#2'y'#7
+'Caption'#6#19'AVAILABLE VARIABLES'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'
+#4'Left'#3#208#0#6'Height'#2#16#3'Top'#2#9#5'Width'#3#132#0#7'Caption'#6#20
+'VARIABLES TO ANALYZE'#11'ParentColor'#8#0#0#8'TListBox'#7'VarList'#4'Left'#2
+#8#6'Height'#3#235#0#3'Top'#2#23#5'Width'#3#147#0#10'ItemHeight'#2#0#11'Mult'
+'iSelect'#9#8'TabOrder'#2#0#0#0#8'TListBox'#8'ListBox1'#4'Left'#3#208#0#6'He'
+'ight'#3#234#0#3'Top'#2#25#5'Width'#3#153#0#10'ItemHeight'#2#0#8'TabOrder'#2
+#1#0#0#7'TBitBtn'#5'InBtn'#4'Left'#3#168#0#6'Height'#2#30#3'Top'#2#24#5'Widt'
+'h'#2#31#10'Glyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0
+#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0
+#0#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0'!c$'#184#29'^ '#6#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'*p/8%i)'#247
+'!c$'#217#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'a'#190'm'
+#255']'#184'h'#255'X'#177'b'#255'S'#169'\'#255'M'#161'V'#255'G'#153'O'#255'A'
+#145'I'#255';'#136'B'#255'5'#128';'#255'?'#136'E'#255'Y'#161'^'#255'D'#139'I'
+#255'!c$'#207#255#255#255#0#255#255#255#0#255#255#255#0'e'#195'q'#255#160#215
+#169#255#156#213#165#255#152#211#161#255#148#208#157#255#144#206#152#255#139
+#203#147#255#135#201#142#255#130#198#137#255'~'#195#132#255'z'#193#128#255'v'
+#190'|'#255'E'#140'J'#255'!c$'#196#255#255#255#0#255#255#255#0'h'#199't'#255
+#165#218#174#255#162#216#171#255#158#214#167#255#154#212#163#255#150#210#159
+#255#147#207#154#255#142#204#149#255#137#202#144#255#133#199#139#255#129#197
+#135#255'}'#194#130#255'J'#145'P'#255'%i)'#201#255#255#255#0#255#255#255#0'h'
+#199't'#255'h'#199't'#255'e'#195'q'#255'a'#190'm'#255']'#184'h'#255'X'#177'b'
+#255'S'#169'\'#255'M'#161'V'#255'G'#153'O'#255'A'#145'I'#255'Z'#163'b'#255'U'
+#157'\'#255'/x5'#209#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'A'#145'I'#247';'#136'B'
+#219#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'G'#153'O'#187'A'#145'I'
+#6#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#9'NumGlyphs'#2#0#7'OnClick'#7#10
+'InBtnClick'#8'TabOrder'#2#2#0#0#7'TBitBtn'#6'OutBtn'#4'Left'#3#168#0#6'Heig'
+'ht'#2#30#3'Top'#2'H'#5'Width'#2#31#10'Glyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'
+#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0
,'d'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+'M'#161'V'#6'G'#153'O'#184#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'S'#169
+'\'#217'M'#161'V'#247'G'#153'O8'#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0']'#184'h'#207'q'#190'{'
+#255'z'#193#131#255'['#170'd'#255'G'#153'O'#255'A'#145'I'#255';'#136'B'#255
+'5'#128';'#255'/x5'#255'*p/'#255'%i)'#255'!c$'#255#29'^ '#255#255#255#255#0
+#255#255#255#0'e'#195'q'#196'{'#200#134#255#156#213#165#255#152#211#161#255
+#148#208#157#255#144#206#152#255#139#203#147#255#135#201#142#255#130#198#137
+#255'~'#195#132#255'z'#193#128#255'v'#190'|'#255'r'#189'x'#255'!c$'#255#255
+#255#255#0#255#255#255#0'h'#199't'#201#127#204#138#255#162#216#171#255#158
+#214#167#255#154#212#163#255#150#210#159#255#147#207#154#255#142#204#149#255
+#137#202#144#255#133#199#139#255#129#197#135#255'}'#194#130#255'x'#192'~'#255
+'%i)'#255#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'#209#128#205#139
+#255'|'#201#135#255']'#184'h'#255'X'#177'b'#255'S'#169'\'#255'M'#161'V'#255
+'G'#153'O'#255'A'#145'I'#255';'#136'B'#255'5'#128';'#255'/x5'#255'*p/'#255
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'#219'e'#195
+'q'#247#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'#6'h'#199't'
+#187#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#9'NumGlyphs'#2#0#7'OnClick'#7#11'OutBtnClick'#8'TabOrder'#2#3#0#0
+#7'TBitBtn'#6'AllBtn'#4'Left'#3#168#0#6'Height'#2#30#3'Top'#2'x'#5'Width'#2
+#31#7'Caption'#6#3'ALL'#9'NumGlyphs'#2#0#7'OnClick'#7#11'AllBtnClick'#8'TabO'
+'rder'#2#4#0#0#9'TCheckBox'#10'NormPltChk'#4'Left'#3#144#1#6'Height'#2#19#3
+'Top'#3#232#0#5'Width'#3#149#0#7'Caption'#6#24'Plot Normal Distribution'#8'T'
+'abOrder'#2#5#0#0#11'TRadioGroup'#11'RadioGroup1'#4'Left'#3#134#1#6'Height'#3
+#219#0#3'Top'#2#8#5'Width'#3#208#0#8'AutoFill'#9#7'Caption'#6#12'Plot Option'
+'s'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6
+#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSi'
+'zing.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkH'
+'orizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScal'
+'eChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'Chil'
+'dSizing.ControlsPerLine'#2#1#12'ClientHeight'#3#201#0#11'ClientWidth'#3#204
+#0#13'Items.Strings'#1#6#16'2D Vertical Bars'#6#16'3D Vertical Bars'#6#12'2D'
+' Pie Chart'#6#18'Exploded Pie Chart'#6#13'2D Line Chart'#6#13'3D Line Chart'
+#6#14'Plot 2D Points'#6#14'Plot 3D Points'#6#18'2D Horizontal Bars'#6#18'3D '
,'Horizontal Bars'#0#8'TabOrder'#2#6#0#0#11'TRadioGroup'#11'RadioGroup2'#4'Le'
+'ft'#3#136#1#6'Height'#2'>'#3'Top'#3#8#1#5'Width'#3#206#0#8'AutoFill'#9#7'Ca'
+'ption'#6#9'Plot Type'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.T'
+'opBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousCh'
+'ildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildResize'#28
+'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVer'
+'tical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenT'
+'opToBottom'#27'ChildSizing.ControlsPerLine'#2#1#12'ClientHeight'#2','#11'Cl'
+'ientWidth'#3#202#0#13'Items.Strings'#1#6#9'Bar Chart'#6#9'Histogram'#0#8'Ta'
+'bOrder'#2#7#0#0#7'TButton'#8'ResetBtn'#4'Left'#3#153#0#6'Height'#2#24#3'Top'
+#3#23#1#5'Width'#2'G'#7'Caption'#6#5'Reset'#7'OnClick'#7#13'ResetBtnClick'#8
+'TabOrder'#2#8#0#0#7'TButton'#9'CancelBtn'#4'Left'#3#232#0#6'Height'#2#24#3
+'Top'#3#24#1#5'Width'#2'G'#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#7'OnCl'
+'ick'#7#14'CancelBtnClick'#8'TabOrder'#2#9#0#0#7'TButton'#5'OKBtn'#4'Left'#3
+'8'#1#6'Height'#2#24#3'Top'#3#23#1#5'Width'#2'G'#7'Caption'#6#2'OK'#11'Modal'
+'Result'#2#1#7'OnClick'#7#10'OKBtnClick'#8'TabOrder'#2#10#0#0#0
]);

View File

@ -0,0 +1,455 @@
unit FreqUnit;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
StdCtrls, Buttons, ExtCtrls, Globals, MainUnit, OutPutUnit, FunctionsLib,
GraphLib, DataProcs;
type
{ TFreqFrm }
TFreqFrm = class(TForm)
ResetBtn: TButton;
CancelBtn: TButton;
OKBtn: TButton;
NormPltChk: TCheckBox;
InBtn: TBitBtn;
OutBtn: TBitBtn;
AllBtn: TBitBtn;
Label1: TLabel;
Label2: TLabel;
ListBox1: TListBox;
RadioGroup1: TRadioGroup;
RadioGroup2: TRadioGroup;
VarList: TListBox;
procedure AllBtnClick(Sender: TObject);
procedure CancelBtnClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure InBtnClick(Sender: TObject);
procedure OKBtnClick(Sender: TObject);
procedure OutBtnClick(Sender: TObject);
procedure ResetBtnClick(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
FreqFrm: TFreqFrm;
implementation
{ TFreqFrm }
uses FreqSpecsUnit;
procedure TFreqFrm.ResetBtnClick(Sender: TObject);
var
i : integer;
begin
VarList.Clear;
ListBox1.Clear;
for i := 1 to NoVariables do
begin
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
end;
RadioGroup2.ItemIndex := -1;
InBtn.Enabled := true;
OutBtn.Enabled := false;
RadioGroup1.ItemIndex := -1;
NormPltChk.Checked := false;
end;
procedure TFreqFrm.CancelBtnClick(Sender: TObject);
begin
FreqFrm.Hide;
end;
procedure TFreqFrm.FormShow(Sender: TObject);
begin
ResetBtnClick(self);
end;
procedure TFreqFrm.AllBtnClick(Sender: TObject);
var
count, index : integer;
begin
count := VarList.Items.Count;
for index := 0 to count-1 do
begin
ListBox1.Items.Add(VarList.Items.Strings[index]);
end;
VarList.Clear;
end;
procedure TFreqFrm.InBtnClick(Sender: TObject);
var
index, i : integer;
begin
index := VarList.Items.Count;
i := 0;
while i < index do
begin
if (VarList.Selected[i]) then
begin
ListBox1.Items.Add(VarList.Items.Strings[i]);
VarList.Items.Delete(i);
index := index - 1;
i := 0;
end
else i := i + 1;
end;
OutBtn.Enabled := true;
end;
procedure TFreqFrm.OKBtnClick(Sender: TObject);
label again, cleanup;
var
i, j, k : integer;
freq : DblDyneVec;
pcnt : DblDyneVec;
cumpcnt : DblDyneVec;
pcntilerank : DblDyneVec;
cumfreq : DblDyneVec;
XValue : DblDyneVec;
value : double;
NoVars : integer;
plottype : integer;
cellval : string;
col : integer;
min, max : double;
range : double;
incrsize : double;
nointervals : double;
nints : integer;
outline : string;
// ColNoSelected : IntDyneVec;
NoSelected : integer;
NormDist : boolean;
Histogram : boolean;
Sumx, Sumx2, Mean, Variance, StdDev, zlow, zhi : double;
X, zproplow, zprophi, zfreq : double;
Ncases : integer;
begin
if RadioGroup2.ItemIndex = 1 then Histogram := true else Histogram := false;
if NormPltChk.Checked = true then NormDist := true else NormDist := false;
SetLength(freq,NoCases);
SetLength(pcnt,NoCases);
SetLength(cumpcnt,NoCases);
SetLength(pcntilerank,NoCases);
SetLength(cumfreq,NoCases);
SetLength(XValue,NoCases);
OutPutFrm.RichEdit.Clear;
OutPutFrm.RichEdit.Lines.Add('FREQUENCY ANALYSIS BY BILL MILLER');
OutPutFrm.RichEdit.Lines.Add('');
// OutPutFrm.RichEdit.ParaGraph.Alignment := taLeftJustify;
{ Analyze each variable }
NoVars := ListBox1.Items.Count;
for i := 1 to NoVars do
begin
{ get column no. of variable }
col := 1;
cellval := ListBox1.Items.Strings[i-1];
for j := 1 to NoVariables do
begin
if OS3MainFrm.DataGrid.Cells[j,0] = cellval then
begin
col := j;
outline := format('Frequency Analysis for %s',[cellval]);
OutPutFrm.RichEdit.Lines.Add(outline);
break;
end;
end;
NoSelected := 1;
{ get min and max values for variable in col }
min := 1.0e32;
max := -1.0e32;
for j := 1 to NoCases do
begin
if Not ValidValue(j,col) then continue;
value := StrToFloat(OS3MainFrm.DataGrid.Cells[col,j]);
if value > max then max := value;
if value < min then min := value;
end;
range := max - min + 1.0;
incrsize := 1.0;
{ if too many increments, set increment size for 15 increments }
if range > 200.0 then incrsize := range / 15;
nointervals := range / incrsize;
nints := round(nointervals);
{ Get user's approval and / or changes }
FreqSpecsFrm.VarName.Text := cellval;
FreqSpecsFrm.Minimum.Text := FloatToStr(min);
FreqSpecsFrm.Maximum.Text := FloatToStr(max);
FreqSpecsFrm.range.Text := FloatToStr(range);
FreqSpecsFrm.IntSize.Text := FloatToStr(incrsize);
FreqSpecsFrm.NoInts.Text := IntToStr(nints);
again: FreqSpecsFrm.ShowModal;
incrsize := StrToFloat(FreqSpecsFrm.IntSize.Text);
nointervals := StrToFloat(FreqSpecsFrm.NoInts.Text);
nints := round(nointervals);
if nints+1 > NoCases then
begin
ShowMessage('ERROR! No. of intervals cannot be greater than no. of cases!');
goto again;
end;
if nints > 200 then
begin
nints := 200;
// Application.MessageBox('Max. increments set to 200','Exceeded Maximum!',MB_OK);
end;
{Now, get frequency of cases in each interval }
for j := 1 to nints+1 do freq[j-1] := 0;
Ncases := 0;
for j := 1 to NoCases do
begin
if Not ValidValue(j,col) then continue;
Ncases := Ncases + 1;
value := StrToFloat(OS3MainFrm.DataGrid.Cells[col,j]);
for k := 1 to nints do
begin
if (value >= min + ((k-1) * incrsize)) and
(value < min + (k * incrsize)) then freq[k-1] := freq[k-1] + 1;
end;
end;
for j := 1 to nints+1 do XValue[j-1] := min + (j-1) * incrsize;
{ get cumulative frequencies and percents to midpoints }
cumfreq[0] := freq[0];
pcnt[0] := freq[0] / Ncases;
cumpcnt[0] := cumfreq[0] / Ncases;
pcntilerank[0] := (freq[0] / 2.0) / Ncases;
for k := 2 to nints do
begin
cumfreq[k-1] := cumfreq[k-2] + freq[k-1];
pcnt[k-1] := freq[k-1] / Ncases;
cumpcnt[k-1] := cumfreq[k-1] / Ncases;
pcntilerank[k-1] := (cumfreq[k-2] + freq[k-1] / 2.0) / Ncases;
end;
{ Now, print results }
OutPutFrm.RichEdit.Lines.Add(' FROM TO FREQ. PCNT CUM.FREQ. CUM.PCNT. %ILE RANK');
OutPutFrm.RichEdit.Lines.Add('');
for k := 1 to nints do
begin
outline := format('%8.2f%8.2f%8.0f%8.2f %8.2f %8.2f %8.2f',
[min+(k-1)*incrsize, // from
min+k*incrsize, // to
freq[k-1], // freq
pcnt[k-1], // pcnt
cumfreq[k-1], // cum.freq.
cumpcnt[k-1], // cum.pcnt.
pcntilerank[k-1]]); // %ile rank
OutPutFrm.RichEdit.Lines.Add(outline);
end;
OutPutFrm.ShowModal;
OutPutFrm.RichEdit.Clear;
{ Now, plot values as indicated in options list }
plottype := RadioGroup1.ItemIndex + 1;
if Histogram = true then GraphFrm.barwideprop := 1.0 else
GraphFrm.barwideprop := 0.5;
if NormDist = true then GraphFrm.nosets := 2 else GraphFrm.nosets := 1;
GraphFrm.nbars := nints+1;
GraphFrm.Heading := cellval;
GraphFrm.XTitle := 'Lower Limit Values';
GraphFrm.YTitle := 'Frequency';
if NormDist = false then
SetLength(GraphFrm.Ypoints,1,nints+1)
else SetLength(GraphFrm.Ypoints,2,nints+1);
SetLength(GraphFrm.Xpoints,1,nints+1);
for k := 1 to nints+1 do
begin
GraphFrm.Ypoints[0,k-1] := freq[k-1];
GraphFrm.Xpoints[0,k-1] := XValue[k-1];
end;
// Create ND plot if checked
if NormDist = true then
begin
OutPutFrm.RichEdit.Lines.Add('Interval ND Freq.');
// Only use 3Dvertical plots when normal curve desired
RadioGroup1.ItemIndex := 3;
// get mean and standard deviation of xvalues, then height of
// the normal curve for each Normally distributed corresponding
// z score
sumx := 0.0;
sumx2 := 0.0;
for k := 1 to nints do
begin
sumx := sumx + (XValue[k-1] * freq[k-1]);
sumx2 := sumx2 + ((XValue[k-1] * XValue[k-1]) * freq[k-1]);
end;
Mean := sumx / Ncases;
Variance := sumx2 - ((sumx * sumx) / Ncases);
Variance := Variance / (Ncases - 1);
StdDev := sqrt(Variance);
for k := 1 to nints+1 do
begin
X := XValue[k-1] - (incrsize / 2.0);
if StdDev > 0.0 then zlow := (X - Mean) / StdDev
else zlow := 0.0;
X := XValue[k-1] + (incrsize / 2.0);
if StdDev > 0.0 then zhi := (X - Mean) / StdDev
else zhi := 0.0;
// get cum. prop. for this z and translate to frequency
zproplow := probz(zlow);
zprophi := probz(zhi);
zfreq := NoCases * abs(zprophi - zproplow);
GraphFrm.Ypoints[1,k-1] := zfreq;
outline := format(' %2d %6.2f',[k,GraphFrm.Ypoints[1,k-1]]);
OutPutFrm.RichEdit.Lines.Add(outline);
end;
OutPutFrm.ShowModal;
OutPutFrm.RichEdit.Clear;
end;
if plottype = 1 then
begin
GraphFrm.AutoScale := true;
GraphFrm.GraphType := plottype; // 2d Vertical Bar Chart
GraphFrm.BackColor := clYellow;
GraphFrm.WallColor := clBlack;
GraphFrm.FloorColor := clLtGray;
GraphFrm.ShowBackWall := true;
GraphFrm.ShowModal;
end;
if plottype = 2 then // 3D vertical bars
begin
{ enter parameters for 2 dimension bars in graph package }
GraphFrm.GraphType := plottype; // 3d vertical bars
GraphFrm.AutoScale := true;
GraphFrm.ShowLeftWall := true;
GraphFrm.ShowRightWall := true;
GraphFrm.ShowBottomWall := true;
GraphFrm.ShowBackWall := true;
GraphFrm.BackColor := clYellow;
GraphFrm.WallColor := clBlack;
GraphFrm.ShowModal;
end;
if plottype = 3 then
begin
GraphFrm.AutoScale := true;
GraphFrm.GraphType := plottype; // 2d pie chart
GraphFrm.BackColor := clYellow;
GraphFrm.WallColor := clBlack;
GraphFrm.ShowBackWall := true;
GraphFrm.ShowModal;
end;
if plottype = 4 then
begin
GraphFrm.AutoScale := true;
GraphFrm.GraphType := plottype; // 3d pie chart
GraphFrm.BackColor := clYellow;
GraphFrm.WallColor := clBlack;
GraphFrm.ShowLeftWall := true;
GraphFrm.ShowRightWall := true;
GraphFrm.ShowBottomWall := true;
GraphFrm.ShowBackWall := true;
GraphFrm.ShowModal;
end;
if plottype = 5 then // 2D Line Graph
begin
GraphFrm.AutoScale := true;
GraphFrm.GraphType := plottype; // 2d Lines
GraphFrm.BackColor := clYellow;
GraphFrm.WallColor := clBlack;
GraphFrm.ShowBackWall := true;
GraphFrm.ShowModal;
end;
if plottype = 6 then // 3D Line Chart
begin
GraphFrm.AutoScale := true;
GraphFrm.GraphType := plottype; // 3d Lines
GraphFrm.BackColor := clYellow;
GraphFrm.WallColor := clBlack;
GraphFrm.ShowLeftWall := true;
GraphFrm.ShowRightWall := true;
GraphFrm.ShowBottomWall := true;
GraphFrm.ShowBackWall := true;
GraphFrm.ShowModal;
end;
if plottype = 7 then
begin
GraphFrm.AutoScale := true;
GraphFrm.GraphType := plottype; // 2D Plot
GraphFrm.BackColor := clYellow;
GraphFrm.WallColor := clBlack;
GraphFrm.ShowBackWall := true;
GraphFrm.ShowModal;
end;
if plottype = 8 then
begin
GraphFrm.AutoScale := true;
GraphFrm.GraphType := plottype; // 3D Plot
GraphFrm.BackColor := clYellow;
GraphFrm.WallColor := clBlack;
GraphFrm.ShowLeftWall := true;
GraphFrm.ShowRightWall := true;
GraphFrm.ShowBottomWall := true;
GraphFrm.ShowBackWall := true;
GraphFrm.ShowModal;
end;
if plottype = 9 then
begin
GraphFrm.AutoScale := true;
GraphFrm.GraphType := plottype; // 2d Horizontal Bar Chart
GraphFrm.BackColor := clYellow;
GraphFrm.WallColor := clBlack;
GraphFrm.FloorColor := clLtGray;
GraphFrm.ShowBackWall := true;
GraphFrm.ShowModal;
end;
if plottype = 10 then
begin
GraphFrm.AutoScale := true;
GraphFrm.GraphType := plottype; // 3d Horizontal Bar Chart
GraphFrm.BackColor := clYellow;
GraphFrm.WallColor := clBlack;
GraphFrm.ShowLeftWall := true;
GraphFrm.ShowRightWall := true;
GraphFrm.ShowBottomWall := true;
GraphFrm.FloorColor := clLtGray;
GraphFrm.ShowBackWall := true;
GraphFrm.ShowModal;
end;
GraphFrm.Xpoints := nil;
GraphFrm.Ypoints := nil;
end; // for novars list
cleanup:
XValue := nil;
cumfreq := nil;
pcntilerank := nil;
cumpcnt := nil;
pcnt := nil;
freq := nil;
FreqFrm.Hide;
end;
procedure TFreqFrm.OutBtnClick(Sender: TObject);
var
index: integer;
begin
index := ListBox1.ItemIndex;
VarList.Items.Add(ListBox1.Items.Strings[index]);
ListBox1.Items.Delete(index);
InBtn.Enabled := true;
if ListBox1.Items.Count = 0 then OutBtn.Enabled := false;
end;
initialization
{$I frequnit.lrs}
end.

View File

@ -0,0 +1,919 @@
object PicViewFrm: TPicViewFrm
Left = 0
Height = 0
Top = 716
Width = 0
HorzScrollBar.Page = 871
HorzScrollBar.Range = 165
VertScrollBar.Page = 615
VertScrollBar.Range = 23
ActiveControl = LBFiles
Caption = 'Image viewer'
ClientHeight = 0
ClientWidth = 0
Font.Height = -13
Font.Name = 'MS Sans Serif'
Menu = MainMenu1
OnKeyDown = FormKeyDown
OnShow = FormShow
LCLVersion = '0.9.28.2'
object SPImage: TSplitter
Left = 161
Height = 0
Top = 23
Width = 4
Beveled = True
end
object ToolBar1: TToolBar
Left = 0
Height = 29
Top = 0
Width = 165
ButtonHeight = 23
Caption = 'ToolBar1'
Images = ILMain
ParentShowHint = False
ShowHint = True
TabOrder = 0
object TBOPen: TToolButton
Left = 1
Top = 2
Action = AOpen
end
object TBOpenDir: TToolButton
Left = 24
Top = 2
Action = AOpenDir
end
object TBOpenDirRec: TToolButton
Left = 47
Top = 2
Action = OpenDirRecursively
end
object ToolButton4: TToolButton
Left = 70
Top = 2
Width = 8
Caption = 'ToolButton4'
ImageIndex = 3
Style = tbsSeparator
end
object TBPRev: TToolButton
Left = 78
Top = 2
Action = APreviousImage
end
object TBNext: TToolButton
Left = 101
Top = 2
Action = ANextImage
end
object TBPRevDir: TToolButton
Left = 124
Top = 2
Action = APrevImageDir
end
object TBNextDir: TToolButton
Left = 1
Top = 25
Action = ANextImageDir
end
object TBDoubleSize: TToolButton
Left = 24
Top = 25
Action = ADoubleSize
end
object TBHalfSize: TToolButton
Left = 47
Top = 25
Action = AHalfSize
end
object ToolButton3: TToolButton
Left = 70
Top = 25
Width = 8
Caption = 'ToolButton3'
ImageIndex = 10
Style = tbsSeparator
end
end
object LBFiles: TListBox
Left = 0
Height = 0
Top = 23
Width = 161
Align = alLeft
ClickOnSelChange = False
Font.Color = clBlack
Font.Height = 15
Font.Name = 'Arial'
Font.Pitch = fpVariable
ItemHeight = 0
OnClick = LBFilesClick
OnKeyDown = FormKeyDown
ParentFont = False
TabOrder = 1
end
object PImage: TPanel
Left = 165
Height = 0
Top = 23
Width = 0
Align = alClient
ClientHeight = 0
ClientWidth = 0
FullRepaint = False
TabOrder = 2
object ScrollBox1: TScrollBox
Left = 0
Height = 0
Top = 0
Width = 0
Align = alClient
BorderStyle = bsNone
ClientHeight = 0
ClientWidth = 0
TabOrder = 0
object IMain: TImage
Left = 0
Height = 0
Top = 0
Width = 0
Align = alClient
Transparent = True
end
end
end
object MainMenu1: TMainMenu
Images = ILMain
left = 32
top = 32
object File1: TMenuItem
Caption = '&File'
object MIOpen: TMenuItem
Action = AOpen
Bitmap.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF292429FF4A48
4AFF524C52FF4A4C4AFF524C52FF4A4C4AFF524C52FF4A484AFF4A444AFF4140
41FF393439FF202020FF808080FF808080FF808080FF808080FF18304AFFC5BE
C5FFA4A5A4FFACAEACFFACAEACFFB4B2B4FFACAAACFFACAAACFF9C999CFF9495
9CFF8B8D8BFF4A484AFF808080FF808080FF808080FF808080FF203452FF5255
5AFFD5D2D5FFBDBEC5FFCDC6CDFFCDC6CDFFCDC6CDFFC5C2C5FFB4B2B4FFA4A5
ACFFA4A1A4FF737173FF181418FF808080FF808080FF808080FF18304AFF1830
4AFFCDCECDFFCDCECDFFD5D6D5FFDED6DEFFD5D2D5FFD5CED5FFBDBABDFFB4B2
B4FFA4A1A4FF9C959CFF4A484AFF808080FF808080FF808080FF203452FF417D
BDFF52555AFFDEDADEFFE6DEE6FFE6E2E6FFE6E2E6FFDED6DEFFC5C6C5FFB4B6
BDFFACAEB4FFA4A1A4FF6A696AFF202020FF808080FF808080FF18304AFF83C6
FFFF18304AFF808080FFDEDEE6FFEEEAEEFFE6E6E6FFE6E2E6FFC5C6CDFFBDBE
BDFFACAEACFFA4A1A4FF949594FF4A484AFF808080FF808080FF203452FF83C2
FFFF5289CDFF4A5052FFFFFAFFFFFFF6FFFFF6EEF6FFE6E6E6FFDED6DEFFCDCE
CDFFCDC6CDFFBDBEBDFFBDBABDFFB4B6B4FF313031FF808080FF18304AFF9CD6
FFFF8BC6FFFF83C6FFFF62AEFFFF62AEFFFF62AEFFFF62AEFFFF62AEFFFF62AE
FFFF62AEFFFF000000FF808080FF808080FF808080FF808080FF203452FF6AA5
E6FFA4D6FFFF8BC6FFFF6AAAEEFF183452FF203452FF183452FF203452FF1834
52FF203452FF808080FF808080FF808080FF808080FF808080FF808080FF2034
52FF18304AFF183452FF18304AFF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF0000
00FF000000FF000000FF000000FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF000000FF000000FF000000FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF000000FF808080FF808080FF808080FF808080FF0000
00FF000000FF000000FF000000FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF000000FF000000FF808080FF000000FF0000
00FF000000FF808080FF000000FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF000000FF000000FF000000FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF
}
OnClick = AOpenExecute
end
object MIOPenDir: TMenuItem
Action = AOpenDir
Bitmap.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF808080FF808080FF808080FF8080
80FF000000FF808080FF00FFFFFF808080FF00FFFFFF808080FF00FFFFFF8080
80FF00FFFFFF808080FF00FFFFFF000000FF808080FF808080FF808080FF8080
80FF000000FF00FFFFFF808080FF00FFFFFF830000FF00FFFFFF830000FF00FF
FFFF830000FF00FFFFFF808080FF000000FF808080FF808080FF808080FF8080
80FF000000FF808080FF00FFFFFF808080FF00FFFFFF830000FF830000FF8300
00FF00FFFFFF808080FF00FFFFFF000000FF808080FF808080FF808080FF8080
80FF000000FF00FFFFFF808080FF00FFFFFF830000FF830000FF00FFFFFF8300
00FF830000FF00FFFFFF808080FF000000FF808080FF808080FF808080FF8080
80FF000000FF808080FF00FFFFFF808080FF00FFFFFF830000FF830000FF8300
00FF00FFFFFF808080FF00FFFFFF000000FF808080FF808080FF808080FF8080
80FF000000FF00FFFFFF808080FF00FFFFFF830000FF00FFFFFF830000FF00FF
FFFF830000FF00FFFFFF808080FF000000FF808080FF808080FF808080FF8080
80FF000000FF808080FF00FFFFFF808080FF00FFFFFF808080FF00FFFFFF8080
80FF00FFFFFF808080FF00FFFFFF000000FF808080FF808080FF808080FF8080
80FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF808080FF808080FF808080FF8080
80FF808080FF000000FF00FFFFFF808080FF00FFFFFF808080FF000000FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF000000FF000000FF000000FF000000FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF
}
OnClick = AOpenDirExecute
end
object MIOpenDirRec: TMenuItem
Action = OpenDirRecursively
Bitmap.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000808080FF8385
83FF000808FF808080FF000000FF101010FF000000FF000408FF000000FF0004
08FF000000FF808080FF808080FF808080FF808080FF808080FF808080FF8B89
8BFF808080FFCDBEC5FFDECED5FFC5B2B4FFE6D2DEFFCDC6CDFFC5C2C5FFC5C6
C5FF000000FF808080FF808080FF808080FF808080FF808080FF808080FF948D
8BFFFFFAFFFFD5C6CDFFDECACDFFE6CED5FFD5BEBDFFD5C6CDFFCDC6C5FFDED2
D5FF080000FF808080FF808080FF808080FF808080FF808080FF808080FF7B7D
7BFF808080FFCDCECDFFD5CED5FFC5BABDFFDECED5FFDEC6CDFFE6CED5FFD5BE
C5FF100000FF080000FF201010FF808080FF808080FF808080FF808080FF838D
8BFF808080FFC5C6C5FFC5CACDFFCDCACDFFCDCACDFFD5C2C5FFDECACDFFD5C2
C5FF080000FFE6DADEFF000000FF808080FF808080FF808080FF808080FF7B85
83FF808080FFC5C6C5FFCDD2D5FFCDCECDFFCDC6CDFFCDCACDFFC5C2C5FFC5CA
C5FF000400FFB4BEBDFF000800FF808080FF808080FF808080FF808080FF8B89
8BFFFFFAFFFF808080FF808080FF808080FF808080FFFFFAFFFF808080FFFFFA
FFFF000000FFC5CECDFF000000FF000400FF000000FF808080FF808080FF9C81
83FF18008BFF10008BFF1800D5FF1000CDFF1800FFFF1000FFFF1800FFFF1000
FFFF200808FFD5C6CDFF080000FFCDCACDFF000400FF808080FF808080FF9C81
83FF948983FF9C898BFF948983FF9C898BFF948983FF9C898BFF948983FF9C89
8BFF200000FFF6CED5FF100000FFD5CACDFF000000FF808080FF808080FF8080
80FF808080FFAC7D83FFFFFAFFFFFFF2FFFFFFFAFFFFFFF6FFFFFFFAFFFFFFFA
FFFF808080FFFFF2F6FF200000FFDEC2C5FF100008FF808080FF808080FF8080
80FF808080FFAC8D94FF10008BFF18008BFF1000CDFF1000D5FF1000FFFF1800
FFFF1000FFFF1000FFFF180000FFD5C2C5FF080000FF808080FF808080FF8080
80FF808080FF83797BFF948183FF9C858BFF9C858BFF948983FF9C898BFF9485
83FF94898BFF837D7BFF080400FFDED6D5FF000400FF808080FF808080FF8080
80FF808080FF808080FF808080FF94898BFFFFFAFFFF808080FF808080FFFFFA
F6FF808080FF808080FFFFFAF6FF808080FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF9C898BFF18008BFF10008BFF1800D5FF1000
CDFF1800FFFF1000FFFF1800FFFF1000FFFF180000FF808080FF808080FF8080
80FF808080FF808080FF808080FF947D83FF9C8183FF9C898BFF948983FF9C89
8BFF948983FF9C898BFF948983FF9C898BFF100000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF
}
OnClick = OpenDirRecursivelyExecute
end
object MIClear: TMenuItem
Action = AClear
OnClick = AClearExecute
end
object N1: TMenuItem
Caption = '-'
end
object MIQuit: TMenuItem
Action = AExit
OnClick = AExitExecute
end
end
object MImage: TMenuItem
Caption = '&Image'
object D1: TMenuItem
Action = ADoubleSize
Bitmap.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF000000FF000000FF000000FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF000000FF000000FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF000000FF000000FF000000FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF000000FF000000FF000000FF808080FF808080FF808080FF808080FF8080
80FF808080FF838183FF000000FF000000FF000000FF838183FF808080FF00FF
FFFF838183FF000000FF808080FF808080FF808080FF808080FF808080FF8080
80FF000000FF838183FF837D83FF838183FF7B7D7BFF838183FF000000FF0000
00FF00FFFFFF808080FF808080FF808080FF808080FF808080FF808080FF0000
00FF838183FF808080FFC5C2C5FF808080FFC5C2C5FF808080FF838183FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF7B7D7BFF8381
83FF808080FFC5C2C5FF808080FF0000FFFF808080FFC5C2C5FF808080FF8381
83FF837D83FF808080FF808080FF808080FF808080FF808080FF000000FF8381
83FFC5C2C5FF808080FFC5C2C5FF0000FFFFC5C2C5FF808080FFC5C2C5FF8381
83FF000000FF808080FF808080FF808080FF808080FF808080FF000000FF8381
83FF808080FF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF808080FF8381
83FF000000FF808080FF808080FF808080FF808080FF808080FF000000FF8381
83FFC5C2C5FF808080FFC5C2C5FF0000FFFFC5C2C5FF808080FFC5C2C5FF8381
83FF000000FF808080FF808080FF808080FF808080FF808080FF7B7D7BFF8381
83FF808080FFC5C2C5FF808080FF0000FFFF808080FFC5C2C5FF808080FF8381
83FF837D83FF808080FF808080FF808080FF808080FF808080FF808080FF0000
00FF838183FF808080FFC5C2C5FF808080FFC5C2C5FF808080FF838183FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF000000FF838183FF837D83FF838183FF7B7D7BFF838183FF000000FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF838183FF000000FF000000FF000000FF838183FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF
}
OnClick = ADoubleSizeExecute
end
object MIHalfSize: TMenuItem
Action = AHalfSize
Bitmap.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF000000FF000000FF000000FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF000000FF000000FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF000000FF000000FF000000FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF000000FF000000FF000000FF808080FF808080FF808080FF808080FF8080
80FF808080FF838183FF000000FF000000FF000000FF838183FF808080FF00FF
FFFF838183FF000000FF808080FF808080FF808080FF808080FF808080FF8080
80FF000000FF838183FF837D83FF838183FF7B7D7BFF838183FF000000FF0000
00FF00FFFFFF808080FF808080FF808080FF808080FF808080FF808080FF0000
00FF838183FFC5C2C5FF808080FFC5C2C5FF808080FFC5C2C5FF838183FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF7B7D7BFF8381
83FFC5BEC5FF808080FFBDBEBDFF808080FFC5BEC5FF808080FFBDBEBDFF8381
83FF837D83FF808080FF808080FF808080FF808080FF808080FF000000FF8381
83FF808080FFC5C2C5FF808080FFC5C2C5FF808080FFC5C2C5FF808080FF8381
83FF000000FF808080FF808080FF808080FF808080FF808080FF000000FF8381
83FFBDBEBDFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFFC5BEC5FF8381
83FF000000FF808080FF808080FF808080FF808080FF808080FF000000FF8381
83FF808080FFC5C2C5FF808080FFC5C2C5FF808080FFC5C2C5FF808080FF8381
83FF000000FF808080FF808080FF808080FF808080FF808080FF7B7D7BFF8381
83FFC5BEC5FF808080FFBDBEBDFF808080FFC5BEC5FF808080FFBDBEBDFF8381
83FF837D83FF808080FF808080FF808080FF808080FF808080FF808080FF0000
00FF838183FFC5C2C5FF808080FFC5C2C5FF808080FFC5C2C5FF838183FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF000000FF838183FF837D83FF838183FF7B7D7BFF838183FF000000FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF838183FF000000FF000000FF000000FF838183FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF
}
OnClick = AHalfSizeExecute
end
object N2: TMenuItem
Caption = '-'
end
object MINextImage: TMenuItem
Action = ANextImage
Bitmap.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF000000FF000000FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF000000FF0000FFFF000000FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF000000FF0000FFFF0000FFFF0000
FFFF000000FF000000FF808080FF808080FF808080FF808080FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF0000FFFF0000FFFF0000
FFFF0000FFFF0000FFFF000000FF000000FF808080FF808080FF000000FF0000
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
FFFF0000FFFF0000FFFF0000FFFF0000FFFF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF0000FFFF0000FFFF0000
FFFF0000FFFF0000FFFF000000FF000000FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF000000FF0000FFFF0000FFFF0000
FFFF000000FF000000FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF000000FF0000FFFF000000FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF000000FF000000FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF
}
ShortCut = 36882
OnClick = ANextImageExecute
end
object PreviousImage1: TMenuItem
Action = APreviousImage
Bitmap.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF000000FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF000000FF000000FF0000FFFF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF000000FF000000FF0000FFFF0000FFFF0000FFFF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF000000FF000000FF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF000000FF808080FF8080
80FF000000FF000000FF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF808080FF8080
80FF808080FF808080FF000000FF000000FF0000FFFF0000FFFF0000FFFF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF000000FF000000FF0000FFFF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF000000FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF
}
ShortCut = 36884
OnClick = APreviousImageExecute
end
object Nextimagedirectory1: TMenuItem
Action = ANextImageDir
Bitmap.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FFFFFF00FFFFFF
00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF
00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FF808080FFFFFF00FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FFFFFF00FF808080FFFFFF00FF0000
00FF808080FF838183FF838183FF838183FF838183FF838183FF838183FF8381
83FF838183FF838183FF838183FF000000FFFFFF00FF808080FFFFFF00FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF7B7D7BFF000000FFFFFF00FF808080FFFFFF00FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF838183FF000000FFFFFF00FF808080FFFFFF00FF0000
00FF808080FF808080FF808080FF000000FF000000FF808080FF000000FF8080
80FF808080FF808080FF837D83FF000000FFFFFF00FF808080FFFFFF00FF0000
00FF808080FF808080FF808080FF000000FF000000FF808080FF000000FF0000
00FF808080FF808080FF838183FF000000FFFFFF00FF808080FFFFFF00FF0000
00FF808080FF808080FF808080FF000000FF000000FF808080FF000000FF0000
00FF000000FF808080FF7B7D7BFF000000FFFFFF00FF808080FFFFFF00FF0000
00FF808080FF808080FF808080FF000000FF000000FF808080FF000000FF0000
00FF808080FF808080FF838183FF000000FFFFFF00FF808080FFFFFF00FF0000
00FF808080FF808080FF808080FF000000FF000000FF808080FF000000FF8080
80FF808080FF808080FF837D83FF000000FFFFFF00FF808080FFFFFF00FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF838183FF000000FFFFFF00FF808080FFFFFF00FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF7B7D7BFF000000FFFFFF00FF808080FFFFFF00FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF000000FFFFFF00FF808080FFFFFF00FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FFFFFF00FF808080FFFFFF00FFFFFF
00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF
00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FF808080FF
}
OnClick = ANextImageDirExecute
end
object Previousimagedirectory1: TMenuItem
Action = APrevImageDir
Bitmap.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FFFFFF00FFFFFF
00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF
00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FF808080FFFFFF00FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FFFFFF00FF808080FFFFFF00FF0000
00FF808080FF838183FF838183FF838183FF838183FF838183FF838183FF8381
83FF838183FF838183FF838183FF000000FFFFFF00FF808080FFFFFF00FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF7B7D7BFF000000FFFFFF00FF808080FFFFFF00FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF838183FF000000FFFFFF00FF808080FFFFFF00FF0000
00FF808080FF808080FF808080FF808080FF000000FF808080FF000000FF0000
00FF808080FF808080FF837D83FF000000FFFFFF00FF808080FFFFFF00FF0000
00FF808080FF808080FF808080FF000000FF000000FF808080FF000000FF0000
00FF808080FF808080FF838183FF000000FFFFFF00FF808080FFFFFF00FF0000
00FF808080FF808080FF000000FF000000FF000000FF808080FF000000FF0000
00FF808080FF808080FF7B7D7BFF000000FFFFFF00FF808080FFFFFF00FF0000
00FF808080FF808080FF808080FF000000FF000000FF808080FF000000FF0000
00FF808080FF808080FF838183FF000000FFFFFF00FF808080FFFFFF00FF0000
00FF808080FF808080FF808080FF808080FF000000FF808080FF000000FF0000
00FF808080FF808080FF837D83FF000000FFFFFF00FF808080FFFFFF00FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF838183FF000000FFFFFF00FF808080FFFFFF00FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF7B7D7BFF000000FFFFFF00FF808080FFFFFF00FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF000000FFFFFF00FF808080FFFFFF00FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FFFFFF00FF808080FFFFFF00FFFFFF
00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF
00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FF808080FF
}
OnClick = APrevImageDirExecute
end
end
end
object ActionList1: TActionList
Images = ILMain
left = 72
top = 32
object AOpen: TAction
Caption = '&Open'
HelpType = htKeyword
ImageIndex = 0
OnExecute = AOpenExecute
ShortCut = 16463
end
object AOpenDir: TAction
Caption = 'Open &Directory'
HelpType = htKeyword
ImageIndex = 1
OnExecute = AOpenDirExecute
ShortCut = 16452
end
object AExit: TAction
Caption = '&Quit'
HelpType = htKeyword
OnExecute = AExitExecute
ShortCut = 16465
end
object AClear: TAction
Caption = '&Clear list'
HelpType = htKeyword
OnExecute = AClearExecute
ShortCut = 16460
end
object OpenDirRecursively: TAction
Caption = 'Open Directory &Recursively'
HelpType = htKeyword
ImageIndex = 2
OnExecute = OpenDirRecursivelyExecute
ShortCut = 16466
end
object ADoubleSize: TAction
Caption = '&Double size'
HelpType = htKeyword
ImageIndex = 5
OnExecute = ADoubleSizeExecute
ShortCut = 16427
end
object AHalfSize: TAction
Caption = '&Half Size'
HelpType = htKeyword
ImageIndex = 6
OnExecute = AHalfSizeExecute
ShortCut = 16429
end
object ANextImage: TAction
Caption = '&Next image'
HelpType = htKeyword
ImageIndex = 4
OnExecute = ANextImageExecute
end
object APreviousImage: TAction
Caption = '&Previous Image'
HelpType = htKeyword
ImageIndex = 3
OnExecute = APreviousImageExecute
end
object ANextImageDir: TAction
Caption = 'N&ext image directory'
HelpType = htKeyword
ImageIndex = 8
OnExecute = ANextImageDirExecute
ShortCut = 32846
end
object APrevImageDir: TAction
Caption = 'Pre&vious image directory'
HelpType = htKeyword
Hint = 'Jump to last image of previous directory'
ImageIndex = 7
OnExecute = APrevImageDirExecute
ShortCut = 32848
end
end
object ILMain: TImageList
left = 32
top = 64
Bitmap = {
4C69090000001000000010000000808080FF808080FF808080FF808080FF8080
80FF808080FF000000FF000000FF000000FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF000000FF000000FF808080FF000000FF000000FF000000FF808080FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF0000
00FF808080FF808080FF808080FF808080FF000000FF000000FF000000FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF000000FF000000FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF000000FF000000FF000000FF0000
00FF808080FF808080FF808080FF808080FF203452FF18304AFF183452FF1830
4AFF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF203452FF6AA5E6FFA4D6FFFF8BC6FFFF6AAA
EEFF183452FF203452FF183452FF203452FF183452FF203452FF808080FF8080
80FF808080FF808080FF808080FF18304AFF9CD6FFFF8BC6FFFF83C6FFFF62AE
FFFF62AEFFFF62AEFFFF62AEFFFF62AEFFFF62AEFFFF62AEFFFF000000FF8080
80FF808080FF808080FF808080FF203452FF83C2FFFF5289CDFF4A5052FFFFFA
FFFFFFF6FFFFF6EEF6FFE6E6E6FFDED6DEFFCDCECDFFCDC6CDFFBDBEBDFFBDBA
BDFFB4B6B4FF313031FF808080FF18304AFF83C6FFFF18304AFF808080FFDEDE
E6FFEEEAEEFFE6E6E6FFE6E2E6FFC5C6CDFFBDBEBDFFACAEACFFA4A1A4FF9495
94FF4A484AFF808080FF808080FF203452FF417DBDFF52555AFFDEDADEFFE6DE
E6FFE6E2E6FFE6E2E6FFDED6DEFFC5C6C5FFB4B6BDFFACAEB4FFA4A1A4FF6A69
6AFF202020FF808080FF808080FF18304AFF18304AFFCDCECDFFCDCECDFFD5D6
D5FFDED6DEFFD5D2D5FFD5CED5FFBDBABDFFB4B2B4FFA4A1A4FF9C959CFF4A48
4AFF808080FF808080FF808080FF203452FF52555AFFD5D2D5FFBDBEC5FFCDC6
CDFFCDC6CDFFCDC6CDFFC5C2C5FFB4B2B4FFA4A5ACFFA4A1A4FF737173FF1814
18FF808080FF808080FF808080FF18304AFFC5BEC5FFA4A5A4FFACAEACFFACAE
ACFFB4B2B4FFACAAACFFACAAACFF9C999CFF94959CFF8B8D8BFF4A484AFF8080
80FF808080FF808080FF808080FF292429FF4A484AFF524C52FF4A4C4AFF524C
52FF4A4C4AFF524C52FF4A484AFF4A444AFF414041FF393439FF202020FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF0000
00FF000000FF000000FF000000FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF000000FF00FF
FFFF808080FF00FFFFFF808080FF000000FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF808080FF808080FF808080FF808080FF000000FF808080FF00FF
FFFF808080FF00FFFFFF808080FF00FFFFFF808080FF00FFFFFF808080FF00FF
FFFF000000FF808080FF808080FF808080FF808080FF000000FF00FFFFFF8080
80FF00FFFFFF830000FF00FFFFFF830000FF00FFFFFF830000FF00FFFFFF8080
80FF000000FF808080FF808080FF808080FF808080FF000000FF808080FF00FF
FFFF808080FF00FFFFFF830000FF830000FF830000FF00FFFFFF808080FF00FF
FFFF000000FF808080FF808080FF808080FF808080FF000000FF00FFFFFF8080
80FF00FFFFFF830000FF830000FF00FFFFFF830000FF830000FF00FFFFFF8080
80FF000000FF808080FF808080FF808080FF808080FF000000FF808080FF00FF
FFFF808080FF00FFFFFF830000FF830000FF830000FF00FFFFFF808080FF00FF
FFFF000000FF808080FF808080FF808080FF808080FF000000FF00FFFFFF8080
80FF00FFFFFF830000FF00FFFFFF830000FF00FFFFFF830000FF00FFFFFF8080
80FF000000FF808080FF808080FF808080FF808080FF000000FF808080FF00FF
FFFF808080FF00FFFFFF808080FF00FFFFFF808080FF00FFFFFF808080FF00FF
FFFF000000FF808080FF808080FF808080FF808080FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF947D83FF9C8183FF9C898BFF948983FF9C898BFF948983FF9C898BFF9489
83FF9C898BFF100000FF808080FF808080FF808080FF808080FF808080FF8080
80FF9C898BFF18008BFF10008BFF1800D5FF1000CDFF1800FFFF1000FFFF1800
FFFF1000FFFF180000FF808080FF808080FF808080FF808080FF808080FF8080
80FF94898BFFFFFAFFFF808080FF808080FFFFFAF6FF808080FF808080FFFFFA
F6FF808080FF000000FF808080FF808080FF808080FF808080FF83797BFF9481
83FF9C858BFF9C858BFF948983FF9C898BFF948583FF94898BFF837D7BFF0804
00FFDED6D5FF000400FF808080FF808080FF808080FF808080FFAC8D94FF1000
8BFF18008BFF1000CDFF1000D5FF1000FFFF1800FFFF1000FFFF1000FFFF1800
00FFD5C2C5FF080000FF808080FF808080FF808080FF808080FFAC7D83FFFFFA
FFFFFFF2FFFFFFFAFFFFFFF6FFFFFFFAFFFFFFFAFFFF808080FFFFF2F6FF2000
00FFDEC2C5FF100008FF808080FF808080FF9C8183FF948983FF9C898BFF9489
83FF9C898BFF948983FF9C898BFF948983FF9C898BFF200000FFF6CED5FF1000
00FFD5CACDFF000000FF808080FF808080FF9C8183FF18008BFF10008BFF1800
D5FF1000CDFF1800FFFF1000FFFF1800FFFF1000FFFF200808FFD5C6CDFF0800
00FFCDCACDFF000400FF808080FF808080FF8B898BFFFFFAFFFF808080FF8080
80FF808080FF808080FFFFFAFFFF808080FFFFFAFFFF000000FFC5CECDFF0000
00FF000400FF000000FF808080FF808080FF7B8583FF808080FFC5C6C5FFCDD2
D5FFCDCECDFFCDC6CDFFCDCACDFFC5C2C5FFC5CAC5FF000400FFB4BEBDFF0008
00FF808080FF808080FF808080FF808080FF838D8BFF808080FFC5C6C5FFC5CA
CDFFCDCACDFFCDCACDFFD5C2C5FFDECACDFFD5C2C5FF080000FFE6DADEFF0000
00FF808080FF808080FF808080FF808080FF7B7D7BFF808080FFCDCECDFFD5CE
D5FFC5BABDFFDECED5FFDEC6CDFFE6CED5FFD5BEC5FF100000FF080000FF2010
10FF808080FF808080FF808080FF808080FF948D8BFFFFFAFFFFD5C6CDFFDECA
CDFFE6CED5FFD5BEBDFFD5C6CDFFCDC6C5FFDED2D5FF080000FF808080FF8080
80FF808080FF808080FF808080FF808080FF8B898BFF808080FFCDBEC5FFDECE
D5FFC5B2B4FFE6D2DEFFCDC6CDFFC5C2C5FFC5C6C5FF000000FF808080FF8080
80FF808080FF808080FF808080FF808080FF838583FF000808FF808080FF0000
00FF101010FF000000FF000408FF000000FF000408FF000000FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF000000FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF000000FF000000FF0000FFFF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF0000
00FF000000FF0000FFFF0000FFFF0000FFFF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF000000FF000000FF0000
FFFF0000FFFF0000FFFF0000FFFF0000FFFF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF0000FFFF0000FFFF0000
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
FFFF0000FFFF0000FFFF000000FF808080FF808080FF000000FF000000FF0000
FFFF0000FFFF0000FFFF0000FFFF0000FFFF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF808080FF808080FF808080FF808080FF0000
00FF000000FF0000FFFF0000FFFF0000FFFF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF000000FF000000FF0000FFFF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF000000FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF000000FF000000FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF000000FF0000FFFF000000FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF000000FF0000FFFF0000FFFF0000FFFF000000FF000000FF8080
80FF808080FF808080FF808080FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
00FF000000FF808080FF808080FF000000FF0000FFFF0000FFFF0000FFFF0000
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
FFFF0000FFFF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
00FF000000FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF000000FF0000FFFF0000FFFF0000FFFF000000FF000000FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF000000FF0000FFFF000000FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF000000FF000000FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF838183FF0000
00FF000000FF000000FF838183FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF000000FF838183FF837D
83FF838183FF7B7D7BFF838183FF000000FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF000000FF838183FF808080FFC5C2
C5FF808080FFC5C2C5FF808080FF838183FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF7B7D7BFF838183FF808080FFC5C2C5FF8080
80FF0000FFFF808080FFC5C2C5FF808080FF838183FF837D83FF808080FF8080
80FF808080FF808080FF808080FF000000FF838183FFC5C2C5FF808080FFC5C2
C5FF0000FFFFC5C2C5FF808080FFC5C2C5FF838183FF000000FF808080FF8080
80FF808080FF808080FF808080FF000000FF838183FF808080FF0000FFFF0000
FFFF0000FFFF0000FFFF0000FFFF808080FF838183FF000000FF808080FF8080
80FF808080FF808080FF808080FF000000FF838183FFC5C2C5FF808080FFC5C2
C5FF0000FFFFC5C2C5FF808080FFC5C2C5FF838183FF000000FF808080FF8080
80FF808080FF808080FF808080FF7B7D7BFF838183FF808080FFC5C2C5FF8080
80FF0000FFFF808080FFC5C2C5FF808080FF838183FF837D83FF808080FF8080
80FF808080FF808080FF808080FF808080FF000000FF838183FF808080FFC5C2
C5FF808080FFC5C2C5FF808080FF838183FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF000000FF838183FF837D
83FF838183FF7B7D7BFF838183FF000000FF000000FF00FFFFFF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF838183FF0000
00FF000000FF000000FF838183FF808080FF00FFFFFF838183FF000000FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF000000FF000000FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF000000FF0000
00FF000000FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF0000
00FF000000FF000000FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF000000FF000000FF000000FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF000000FF808080FF808080FF808080FF808080FF838183FF0000
00FF000000FF000000FF838183FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF000000FF838183FF837D
83FF838183FF7B7D7BFF838183FF000000FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF000000FF838183FFC5C2C5FF8080
80FFC5C2C5FF808080FFC5C2C5FF838183FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF7B7D7BFF838183FFC5BEC5FF808080FFBDBE
BDFF808080FFC5BEC5FF808080FFBDBEBDFF838183FF837D83FF808080FF8080
80FF808080FF808080FF808080FF000000FF838183FF808080FFC5C2C5FF8080
80FFC5C2C5FF808080FFC5C2C5FF808080FF838183FF000000FF808080FF8080
80FF808080FF808080FF808080FF000000FF838183FFBDBEBDFF0000FFFF0000
FFFF0000FFFF0000FFFF0000FFFFC5BEC5FF838183FF000000FF808080FF8080
80FF808080FF808080FF808080FF000000FF838183FF808080FFC5C2C5FF8080
80FFC5C2C5FF808080FFC5C2C5FF808080FF838183FF000000FF808080FF8080
80FF808080FF808080FF808080FF7B7D7BFF838183FFC5BEC5FF808080FFBDBE
BDFF808080FFC5BEC5FF808080FFBDBEBDFF838183FF837D83FF808080FF8080
80FF808080FF808080FF808080FF808080FF000000FF838183FFC5C2C5FF8080
80FFC5C2C5FF808080FFC5C2C5FF838183FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF000000FF838183FF837D
83FF838183FF7B7D7BFF838183FF000000FF000000FF00FFFFFF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF838183FF0000
00FF000000FF000000FF838183FF808080FF00FFFFFF838183FF000000FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF000000FF000000FF0000
00FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF000000FF0000
00FF000000FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF0000
00FF000000FF000000FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF000000FF000000FF000000FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF000000FF808080FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF
00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF
00FFFFFF00FFFFFF00FF808080FFFFFF00FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FFFFFF00FF808080FFFFFF00FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF000000FFFFFF00FF808080FFFFFF00FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF7B7D
7BFF000000FFFFFF00FF808080FFFFFF00FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8381
83FF000000FFFFFF00FF808080FFFFFF00FF000000FF808080FF808080FF8080
80FF808080FF000000FF808080FF000000FF000000FF808080FF808080FF837D
83FF000000FFFFFF00FF808080FFFFFF00FF000000FF808080FF808080FF8080
80FF000000FF000000FF808080FF000000FF000000FF808080FF808080FF8381
83FF000000FFFFFF00FF808080FFFFFF00FF000000FF808080FF808080FF0000
00FF000000FF000000FF808080FF000000FF000000FF808080FF808080FF7B7D
7BFF000000FFFFFF00FF808080FFFFFF00FF000000FF808080FF808080FF8080
80FF000000FF000000FF808080FF000000FF000000FF808080FF808080FF8381
83FF000000FFFFFF00FF808080FFFFFF00FF000000FF808080FF808080FF8080
80FF808080FF000000FF808080FF000000FF000000FF808080FF808080FF837D
83FF000000FFFFFF00FF808080FFFFFF00FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8381
83FF000000FFFFFF00FF808080FFFFFF00FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF7B7D
7BFF000000FFFFFF00FF808080FFFFFF00FF000000FF808080FF838183FF8381
83FF838183FF838183FF838183FF838183FF838183FF838183FF838183FF8381
83FF000000FFFFFF00FF808080FFFFFF00FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FFFFFF00FF808080FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF
00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF
00FFFFFF00FFFFFF00FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF
00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF
00FFFFFF00FFFFFF00FF808080FFFFFF00FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FFFFFF00FF808080FFFFFF00FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF000000FFFFFF00FF808080FFFFFF00FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF7B7D
7BFF000000FFFFFF00FF808080FFFFFF00FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8381
83FF000000FFFFFF00FF808080FFFFFF00FF000000FF808080FF808080FF8080
80FF000000FF000000FF808080FF000000FF808080FF808080FF808080FF837D
83FF000000FFFFFF00FF808080FFFFFF00FF000000FF808080FF808080FF8080
80FF000000FF000000FF808080FF000000FF000000FF808080FF808080FF8381
83FF000000FFFFFF00FF808080FFFFFF00FF000000FF808080FF808080FF8080
80FF000000FF000000FF808080FF000000FF000000FF000000FF808080FF7B7D
7BFF000000FFFFFF00FF808080FFFFFF00FF000000FF808080FF808080FF8080
80FF000000FF000000FF808080FF000000FF000000FF808080FF808080FF8381
83FF000000FFFFFF00FF808080FFFFFF00FF000000FF808080FF808080FF8080
80FF000000FF000000FF808080FF000000FF808080FF808080FF808080FF837D
83FF000000FFFFFF00FF808080FFFFFF00FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8381
83FF000000FFFFFF00FF808080FFFFFF00FF000000FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF7B7D
7BFF000000FFFFFF00FF808080FFFFFF00FF000000FF808080FF838183FF8381
83FF838183FF838183FF838183FF838183FF838183FF838183FF838183FF8381
83FF000000FFFFFF00FF808080FFFFFF00FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FFFFFF00FF808080FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF
00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF
00FFFFFF00FFFFFF00FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF8080
80FF808080FF808080FF808080FF
}
end
object ODImage: TOpenDialog
FilterIndex = 0
Options = [ofAllowMultiSelect, ofEnableSizing, ofViewDetail]
left = 72
top = 64
end
object OpenDialog1: TOpenDialog
FilterIndex = 0
left = 72
top = 104
end
end

View File

@ -0,0 +1,990 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TPicViewFrm','FORMDATA',[
'TPF0'#11'TPicViewFrm'#10'PicViewFrm'#4'Left'#2#0#6'Height'#2#0#3'Top'#3#204#2
+#5'Width'#2#0#18'HorzScrollBar.Page'#3'g'#3#19'HorzScrollBar.Range'#3#165#0
+#18'VertScrollBar.Page'#3'g'#2#19'VertScrollBar.Range'#2#23#13'ActiveControl'
+#7#7'LBFiles'#7'Caption'#6#12'Image viewer'#12'ClientHeight'#2#0#11'ClientWi'
+'dth'#2#0#11'Font.Height'#2#243#9'Font.Name'#6#13'MS Sans Serif'#4'Menu'#7#9
+'MainMenu1'#9'OnKeyDown'#7#11'FormKeyDown'#6'OnShow'#7#8'FormShow'#10'LCLVer'
+'sion'#6#8'0.9.28.2'#0#9'TSplitter'#7'SPImage'#4'Left'#3#161#0#6'Height'#2#0
+#3'Top'#2#23#5'Width'#2#4#7'Beveled'#9#0#0#8'TToolBar'#8'ToolBar1'#4'Left'#2
+#0#6'Height'#2#29#3'Top'#2#0#5'Width'#3#165#0#12'ButtonHeight'#2#23#7'Captio'
+'n'#6#8'ToolBar1'#6'Images'#7#6'ILMain'#14'ParentShowHint'#8#8'ShowHint'#9#8
+'TabOrder'#2#0#0#11'TToolButton'#6'TBOPen'#4'Left'#2#1#3'Top'#2#2#6'Action'#7
+#5'AOpen'#0#0#11'TToolButton'#9'TBOpenDir'#4'Left'#2#24#3'Top'#2#2#6'Action'
+#7#8'AOpenDir'#0#0#11'TToolButton'#12'TBOpenDirRec'#4'Left'#2'/'#3'Top'#2#2#6
+'Action'#7#18'OpenDirRecursively'#0#0#11'TToolButton'#11'ToolButton4'#4'Left'
+#2'F'#3'Top'#2#2#5'Width'#2#8#7'Caption'#6#11'ToolButton4'#10'ImageIndex'#2#3
+#5'Style'#7#12'tbsSeparator'#0#0#11'TToolButton'#6'TBPRev'#4'Left'#2'N'#3'To'
+'p'#2#2#6'Action'#7#14'APreviousImage'#0#0#11'TToolButton'#6'TBNext'#4'Left'
+#2'e'#3'Top'#2#2#6'Action'#7#10'ANextImage'#0#0#11'TToolButton'#9'TBPRevDir'
+#4'Left'#2'|'#3'Top'#2#2#6'Action'#7#13'APrevImageDir'#0#0#11'TToolButton'#9
+'TBNextDir'#4'Left'#2#1#3'Top'#2#25#6'Action'#7#13'ANextImageDir'#0#0#11'TTo'
+'olButton'#12'TBDoubleSize'#4'Left'#2#24#3'Top'#2#25#6'Action'#7#11'ADoubleS'
+'ize'#0#0#11'TToolButton'#10'TBHalfSize'#4'Left'#2'/'#3'Top'#2#25#6'Action'#7
+#9'AHalfSize'#0#0#11'TToolButton'#11'ToolButton3'#4'Left'#2'F'#3'Top'#2#25#5
+'Width'#2#8#7'Caption'#6#11'ToolButton3'#10'ImageIndex'#2#10#5'Style'#7#12't'
+'bsSeparator'#0#0#0#8'TListBox'#7'LBFiles'#4'Left'#2#0#6'Height'#2#0#3'Top'#2
+#23#5'Width'#3#161#0#5'Align'#7#6'alLeft'#16'ClickOnSelChange'#8#10'Font.Col'
+'or'#7#7'clBlack'#11'Font.Height'#2#15#9'Font.Name'#6#5'Arial'#10'Font.Pitch'
+#7#10'fpVariable'#10'ItemHeight'#2#0#7'OnClick'#7#12'LBFilesClick'#9'OnKeyDo'
+'wn'#7#11'FormKeyDown'#10'ParentFont'#8#8'TabOrder'#2#1#0#0#6'TPanel'#6'PIma'
+'ge'#4'Left'#3#165#0#6'Height'#2#0#3'Top'#2#23#5'Width'#2#0#5'Align'#7#8'alC'
+'lient'#12'ClientHeight'#2#0#11'ClientWidth'#2#0#11'FullRepaint'#8#8'TabOrde'
+'r'#2#2#0#10'TScrollBox'#10'ScrollBox1'#4'Left'#2#0#6'Height'#2#0#3'Top'#2#0
+#5'Width'#2#0#5'Align'#7#8'alClient'#11'BorderStyle'#7#6'bsNone'#12'ClientHe'
+'ight'#2#0#11'ClientWidth'#2#0#8'TabOrder'#2#0#0#6'TImage'#5'IMain'#4'Left'#2
+#0#6'Height'#2#0#3'Top'#2#0#5'Width'#2#0#5'Align'#7#8'alClient'#11'Transpare'
+'nt'#9#0#0#0#0#9'TMainMenu'#9'MainMenu1'#6'Images'#7#6'ILMain'#4'left'#2' '#3
+'top'#2' '#0#9'TMenuItem'#5'File1'#7'Caption'#6#5'&File'#0#9'TMenuItem'#6'MI'
+'Open'#6'Action'#7#5'AOpen'#11'Bitmap.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#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255')$)'#255'JHJ'#255'RLR'
+#255'JLJ'#255'RLR'#255'JLJ'#255'RLR'#255'JHJ'#255'JDJ'#255'A@A'#255'949'#255
+' '#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#24
+'0J'#255#197#190#197#255#164#165#164#255#172#174#172#255#172#174#172#255#180
+#178#180#255#172#170#172#255#172#170#172#255#156#153#156#255#148#149#156#255
+#139#141#139#255'JHJ'#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255' 4R'#255'RUZ'#255#213#210#213#255#189#190#197#255#205#198#205
+#255#205#198#205#255#205#198#205#255#197#194#197#255#180#178#180#255#164#165
+#172#255#164#161#164#255'sqs'#255#24#20#24#255#128#128#128#255#128#128#128
+#255#128#128#128#255#24'0J'#255#24'0J'#255#205#206#205#255#205#206#205#255
+#213#214#213#255#222#214#222#255#213#210#213#255#213#206#213#255#189#186#189
+#255#180#178#180#255#164#161#164#255#156#149#156#255'JHJ'#255#128#128#128#255
+#128#128#128#255#128#128#128#255' 4R'#255'A}'#189#255'RUZ'#255#222#218#222
+#255#230#222#230#255#230#226#230#255#230#226#230#255#222#214#222#255#197#198
+#197#255#180#182#189#255#172#174#180#255#164#161#164#255'jij'#255' '#255
+#128#128#128#255#128#128#128#255#24'0J'#255#131#198#255#255#24'0J'#255#128
+#128#128#255#222#222#230#255#238#234#238#255#230#230#230#255#230#226#230#255
+#197#198#205#255#189#190#189#255#172#174#172#255#164#161#164#255#148#149#148
+#255'JHJ'#255#128#128#128#255#128#128#128#255' 4R'#255#131#194#255#255'R'#137
+#205#255'JPR'#255#255#250#255#255#255#246#255#255#246#238#246#255#230#230#230
+#255#222#214#222#255#205#206#205#255#205#198#205#255#189#190#189#255#189#186
+#189#255#180#182#180#255'101'#255#128#128#128#255#24'0J'#255#156#214#255#255
,#139#198#255#255#131#198#255#255'b'#174#255#255'b'#174#255#255'b'#174#255#255
+'b'#174#255#255'b'#174#255#255'b'#174#255#255'b'#174#255#255#0#0#0#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255' 4R'#255'j'#165
+#230#255#164#214#255#255#139#198#255#255'j'#170#238#255#24'4R'#255' 4R'#255
+#24'4R'#255' 4R'#255#24'4R'#255' 4R'#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255' 4R'#255#24'0J'
+#255#24'4R'#255#24'0J'#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0
+#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255
+#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0
+#0#255#0#0#0#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128
+#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#7'OnClick'#7#12'AOpenExecute'#0#0#9'TMenuItem'#9'MIOPenDir'#6'Action'#7#8'A'
+'OpenDir'#11'Bitmap.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#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#0#0#0#255#128#128#128#255#0#255#255#255#128#128#128#255#0#255#255
+#255#128#128#128#255#0#255#255#255#128#128#128#255#0#255#255#255#128#128#128
+#255#0#255#255#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#0#0#0#255#0#255#255#255#128#128#128#255#0#255#255#255#131#0
+#0#255#0#255#255#255#131#0#0#255#0#255#255#255#131#0#0#255#0#255#255#255#128
+#128#128#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#0#0#0#255#128#128#128#255#0#255#255#255#128#128#128#255#0#255
+#255#255#131#0#0#255#131#0#0#255#131#0#0#255#0#255#255#255#128#128#128#255#0
+#255#255#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#0#0#0#255#0#255#255#255#128#128#128#255#0#255#255#255#131#0#0
+#255#131#0#0#255#0#255#255#255#131#0#0#255#131#0#0#255#0#255#255#255#128#128
+#128#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#0#0#0#255#128#128#128#255#0#255#255#255#128#128#128#255#0#255#255
+#255#131#0#0#255#131#0#0#255#131#0#0#255#0#255#255#255#128#128#128#255#0#255
+#255#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#0#0#0#255#0#255#255#255#128#128#128#255#0#255#255#255#131#0#0#255#0
+#255#255#255#131#0#0#255#0#255#255#255#131#0#0#255#0#255#255#255#128#128#128
+#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#0#0#0#255#128#128#128#255#0#255#255#255#128#128#128#255#0#255#255#255
+#128#128#128#255#0#255#255#255#128#128#128#255#0#255#255#255#128#128#128#255
+#0#255#255#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0
+#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#255
,#255#255#128#128#128#255#0#255#255#255#128#128#128#255#0#0#0#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#7'OnClick'#7#15'AOpenDirExecute'#0#0#9'TMenuItem'#12'MIOpenDirRec'#6
+'Action'#7#18'OpenDirRecursively'#11'Bitmap.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#128#128#128#255#131#133#131#255#0#8#8#255#128
+#128#128#255#0#0#0#255#16#16#16#255#0#0#0#255#0#4#8#255#0#0#0#255#0#4#8#255#0
+#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#139#137#139#255#128#128#128#255#205#190#197#255
+#222#206#213#255#197#178#180#255#230#210#222#255#205#198#205#255#197#194#197
+#255#197#198#197#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#148#141#139#255#255#250
+#255#255#213#198#205#255#222#202#205#255#230#206#213#255#213#190#189#255#213
+#198#205#255#205#198#197#255#222#210#213#255#8#0#0#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+'{}{'#255#128#128#128#255#205#206#205#255#213#206#213#255#197#186#189#255#222
+#206#213#255#222#198#205#255#230#206#213#255#213#190#197#255#16#0#0#255#8#0#0
+#255' '#16#16#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#131#141#139#255#128#128#128#255#197#198#197#255#197#202#205#255#205#202
+#205#255#205#202#205#255#213#194#197#255#222#202#205#255#213#194#197#255#8#0
+#0#255#230#218#222#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255'{'#133#131#255#128#128#128#255#197#198#197#255#205#210
+#213#255#205#206#205#255#205#198#205#255#205#202#205#255#197#194#197#255#197
+#202#197#255#0#4#0#255#180#190#189#255#0#8#0#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#139#137#139#255#255#250#255#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#255#250#255#255#128
+#128#128#255#255#250#255#255#0#0#0#255#197#206#205#255#0#0#0#255#0#4#0#255#0
+#0#0#255#128#128#128#255#128#128#128#255#156#129#131#255#24#0#139#255#16#0
+#139#255#24#0#213#255#16#0#205#255#24#0#255#255#16#0#255#255#24#0#255#255#16
+#0#255#255' '#8#8#255#213#198#205#255#8#0#0#255#205#202#205#255#0#4#0#255#128
+#128#128#255#128#128#128#255#156#129#131#255#148#137#131#255#156#137#139#255
+#148#137#131#255#156#137#139#255#148#137#131#255#156#137#139#255#148#137#131
+#255#156#137#139#255' '#0#0#255#246#206#213#255#16#0#0#255#213#202#205#255#0
+#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#172
+'}'#131#255#255#250#255#255#255#242#255#255#255#250#255#255#255#246#255#255
+#255#250#255#255#255#250#255#255#128#128#128#255#255#242#246#255' '#0#0#255
+#222#194#197#255#16#0#8#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#172#141#148#255#16#0#139#255#24#0#139#255#16#0#205#255#16#0
+#213#255#16#0#255#255#24#0#255#255#16#0#255#255#16#0#255#255#24#0#0#255#213
+#194#197#255#8#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#131'y{'#255#148#129#131#255#156#133#139#255#156#133#139#255#148
+#137#131#255#156#137#139#255#148#133#131#255#148#137#139#255#131'}{'#255#8#4
+#0#255#222#214#213#255#0#4#0#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#148#137#139#255#255#250
+#255#255#128#128#128#255#128#128#128#255#255#250#246#255#128#128#128#255#128
+#128#128#255#255#250#246#255#128#128#128#255#0#0#0#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#156#137#139#255#24#0#139#255#16#0#139#255#24#0#213#255#16#0#205#255#24#0#255
+#255#16#0#255#255#24#0#255#255#16#0#255#255#24#0#0#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#148'}'#131#255#156#129#131#255#156#137#139#255#148#137#131#255#156#137#139
+#255#148#137#131#255#156#137#139#255#148#137#131#255#156#137#139#255#16#0#0
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
,#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#7'OnClick'#7#25'OpenDirRecu'
+'rsivelyExecute'#0#0#9'TMenuItem'#7'MIClear'#6'Action'#7#6'AClear'#7'OnClick'
+#7#13'AClearExecute'#0#0#9'TMenuItem'#2'N1'#7'Caption'#6#1'-'#0#0#9'TMenuIte'
+'m'#6'MIQuit'#6'Action'#7#5'AExit'#7'OnClick'#7#12'AExitExecute'#0#0#0#9'TMe'
+'nuItem'#6'MImage'#7'Caption'#6#6'&Image'#0#9'TMenuItem'#2'D1'#6'Action'#7#11
+'ADoubleSize'#11'Bitmap.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#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#131#129#131#255#0#0
+#0#255#0#0#0#255#0#0#0#255#131#129#131#255#128#128#128#255#0#255#255#255#131
+#129#131#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#131#129#131#255#131'}'
+#131#255#131#129#131#255'{}{'#255#131#129#131#255#0#0#0#255#0#0#0#255#0#255
+#255#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#0#0#0#255#131#129#131#255#128#128#128#255#197
+#194#197#255#128#128#128#255#197#194#197#255#128#128#128#255#131#129#131#255
+#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255'{}{'#255#131#129#131#255#128#128#128#255#197
+#194#197#255#128#128#128#255#0#0#255#255#128#128#128#255#197#194#197#255#128
+#128#128#255#131#129#131#255#131'}'#131#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#131#129#131#255
+#197#194#197#255#128#128#128#255#197#194#197#255#0#0#255#255#197#194#197#255
+#128#128#128#255#197#194#197#255#131#129#131#255#0#0#0#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255
+#131#129#131#255#128#128#128#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255
+#255#0#0#255#255#128#128#128#255#131#129#131#255#0#0#0#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255
+#131#129#131#255#197#194#197#255#128#128#128#255#197#194#197#255#0#0#255#255
+#197#194#197#255#128#128#128#255#197#194#197#255#131#129#131#255#0#0#0#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255'{}{'#255#131#129#131#255#128#128#128#255#197#194#197#255#128#128#128#255
+#0#0#255#255#128#128#128#255#197#194#197#255#128#128#128#255#131#129#131#255
+#131'}'#131#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#0#0#0#255#131#129#131#255#128#128#128
+#255#197#194#197#255#128#128#128#255#197#194#197#255#128#128#128#255#131#129
+#131#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0
+#0#255#131#129#131#255#131'}'#131#255#131#129#131#255'{}{'#255#131#129#131
+#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#131#129#131#255#0#0#0#255#0#0#0#255#0#0#0#255#131
+#129#131#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#7'OnClick'#7
+#18'ADoubleSizeExecute'#0#0#9'TMenuItem'#10'MIHalfSize'#6'Action'#7#9'AHalfS'
+'ize'#11'Bitmap.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#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
,#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0
+#0#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#131#129#131#255#0#0#0#255#0
+#0#0#255#0#0#0#255#131#129#131#255#128#128#128#255#0#255#255#255#131#129#131
+#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#0#0#0#255#131#129#131#255#131'}'#131#255
+#131#129#131#255'{}{'#255#131#129#131#255#0#0#0#255#0#0#0#255#0#255#255#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#0#0#0#255#131#129#131#255#197#194#197#255#128#128#128
+#255#197#194#197#255#128#128#128#255#197#194#197#255#131#129#131#255#0#0#0
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255'{}{'#255#131#129#131#255#197#190#197#255#128#128#128
+#255#189#190#189#255#128#128#128#255#197#190#197#255#128#128#128#255#189#190
+#189#255#131#129#131#255#131'}'#131#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#131#129#131#255#128
+#128#128#255#197#194#197#255#128#128#128#255#197#194#197#255#128#128#128#255
+#197#194#197#255#128#128#128#255#131#129#131#255#0#0#0#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255
+#131#129#131#255#189#190#189#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255
+#255#0#0#255#255#197#190#197#255#131#129#131#255#0#0#0#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255
+#131#129#131#255#128#128#128#255#197#194#197#255#128#128#128#255#197#194#197
+#255#128#128#128#255#197#194#197#255#128#128#128#255#131#129#131#255#0#0#0
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255'{}{'#255#131#129#131#255#197#190#197#255#128#128#128#255#189#190#189
+#255#128#128#128#255#197#190#197#255#128#128#128#255#189#190#189#255#131#129
+#131#255#131'}'#131#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#131#129#131#255#197
+#194#197#255#128#128#128#255#197#194#197#255#128#128#128#255#197#194#197#255
+#131#129#131#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#0#0#0#255#131#129#131#255#131'}'#131#255#131#129#131#255'{}{'#255#131
+#129#131#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#131#129#131#255#0#0#0#255#0#0#0#255#0#0#0
+#255#131#129#131#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#7'O'
+'nClick'#7#16'AHalfSizeExecute'#0#0#9'TMenuItem'#2'N2'#7'Caption'#6#1'-'#0#0
+#9'TMenuItem'#11'MINextImage'#6'Action'#7#10'ANextImage'#11'Bitmap.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#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
,#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#255#255#0
+#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0
+#255#255#0#0#255#255#0#0#255#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0
+#255#255#0#0#255#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#0#0
+#0#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255
+#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255
+#0#0#255#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0
+#0#255#0#0#0#255#0#0#0#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0
+#0#255#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#0#0#0#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#0#255#0#0#0#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#0#0#0#255#0#0#255#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#8'ShortCut'#4#18#144#0#0#7'OnClick'#7#17'ANextImageExec'
+'ute'#0#0#9'TMenuItem'#14'PreviousImage1'#6'Action'#7#14'APreviousImage'#11
+'Bitmap.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#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#255#255#0#0
+#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#0#0#0#255#0#0#0#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0
+#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0
+#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
,#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255
+#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0
+#255#255#0#0#0#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0
+#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#0#255#0#0#0#255
+#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#255#255#0#0
+#255#255#0#0#255#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0
+#0#255#0#0#0#255#0#0#255#255#0#0#0#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#8'ShortCut'#4#20#144#0#0#7'OnClick'#7#21
+'APreviousImageExecute'#0#0#9'TMenuItem'#19'Nextimagedirectory1'#6'Action'#7
+#13'ANextImageDir'#11'Bitmap.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#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#255#255#0#255#128#128#128#255#255#255
+#0#255#0#0#0#255#128#128#128#255#131#129#131#255#131#129#131#255#131#129#131
+#255#131#129#131#255#131#129#131#255#131#129#131#255#131#129#131#255#131#129
+#131#255#131#129#131#255#131#129#131#255#0#0#0#255#255#255#0#255#128#128#128
+#255#255#255#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255'{}{'#255#0#0#0#255#255#255#0#255#128#128
+#128#255#255#255#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#131#129#131#255#0#0#0#255#255#255#0
+#255#128#128#128#255#255#255#0#255#0#0#0#255#128#128#128#255#128#128#128#255
+#128#128#128#255#0#0#0#255#0#0#0#255#128#128#128#255#0#0#0#255#128#128#128
+#255#128#128#128#255#128#128#128#255#131'}'#131#255#0#0#0#255#255#255#0#255
+#128#128#128#255#255#255#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128
+#128#128#255#0#0#0#255#0#0#0#255#128#128#128#255#0#0#0#255#0#0#0#255#128#128
+#128#255#128#128#128#255#131#129#131#255#0#0#0#255#255#255#0#255#128#128#128
+#255#255#255#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255
+#0#0#0#255#0#0#0#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128
+#128#255'{}{'#255#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0
+#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#128
+#128#128#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#131#129#131
+#255#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255#128#128
+#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#128#128#128#255
+#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#131'}'#131#255#0#0
+#0#255#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255#128#128#128#255
,#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#131#129
+#131#255#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255'{}{'#255#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#255#255#0#255#128
+#128#128#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#128
+#128#128#255#7'OnClick'#7#20'ANextImageDirExecute'#0#0#9'TMenuItem'#23'Previ'
+'ousimagedirectory1'#6'Action'#7#13'APrevImageDir'#11'Bitmap.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#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#128#128#128#255
+#255#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#255#255
+#0#255#128#128#128#255#255#255#0#255#0#0#0#255#128#128#128#255#131#129#131
+#255#131#129#131#255#131#129#131#255#131#129#131#255#131#129#131#255#131#129
+#131#255#131#129#131#255#131#129#131#255#131#129#131#255#131#129#131#255#0#0
+#0#255#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255'{}{'#255
+#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#131
+#129#131#255#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255
+#128#128#128#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#131'}'
+#131#255#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255#128
+#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#128#128#128
+#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#131#129#131#255#0#0
+#0#255#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255#128#128#128#255
+#128#128#128#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255#0#0#0#255#0#0
+#0#255#128#128#128#255#128#128#128#255'{}{'#255#0#0#0#255#255#255#0#255#128
+#128#128#255#255#255#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128
+#128#255#0#0#0#255#0#0#0#255#128#128#128#255#0#0#0#255#0#0#0#255#128#128#128
+#255#128#128#128#255#131#129#131#255#0#0#0#255#255#255#0#255#128#128#128#255
+#255#255#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#0#0#0#255#128#128#128#255#0#0#0#255#0#0#0#255#128#128#128#255
+#128#128#128#255#131'}'#131#255#0#0#0#255#255#255#0#255#128#128#128#255#255
+#255#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#131#129#131#255#0#0#0#255#255#255#0#255#128#128
+#128#255#255#255#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255'{}{'#255#0#0#0#255#255#255#0#255#128
+#128#128#255#255#255#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#255
+#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
,#255#255#255#0#255#255#255#0#255#128#128#128#255#7'OnClick'#7#20'APrevImageD'
+'irExecute'#0#0#0#0#11'TActionList'#11'ActionList1'#6'Images'#7#6'ILMain'#4
+'left'#2'H'#3'top'#2' '#0#7'TAction'#5'AOpen'#7'Caption'#6#5'&Open'#8'HelpTy'
+'pe'#7#9'htKeyword'#10'ImageIndex'#2#0#9'OnExecute'#7#12'AOpenExecute'#8'Sho'
+'rtCut'#3'O@'#0#0#7'TAction'#8'AOpenDir'#7'Caption'#6#15'Open &Directory'#8
+'HelpType'#7#9'htKeyword'#10'ImageIndex'#2#1#9'OnExecute'#7#15'AOpenDirExecu'
+'te'#8'ShortCut'#3'D@'#0#0#7'TAction'#5'AExit'#7'Caption'#6#5'&Quit'#8'HelpT'
+'ype'#7#9'htKeyword'#9'OnExecute'#7#12'AExitExecute'#8'ShortCut'#3'Q@'#0#0#7
+'TAction'#6'AClear'#7'Caption'#6#11'&Clear list'#8'HelpType'#7#9'htKeyword'#9
+'OnExecute'#7#13'AClearExecute'#8'ShortCut'#3'L@'#0#0#7'TAction'#18'OpenDirR'
+'ecursively'#7'Caption'#6#27'Open Directory &Recursively'#8'HelpType'#7#9'ht'
+'Keyword'#10'ImageIndex'#2#2#9'OnExecute'#7#25'OpenDirRecursivelyExecute'#8
+'ShortCut'#3'R@'#0#0#7'TAction'#11'ADoubleSize'#7'Caption'#6#12'&Double size'
+#8'HelpType'#7#9'htKeyword'#10'ImageIndex'#2#5#9'OnExecute'#7#18'ADoubleSize'
+'Execute'#8'ShortCut'#3'+@'#0#0#7'TAction'#9'AHalfSize'#7'Caption'#6#11'&Hal'
+'f Size'#8'HelpType'#7#9'htKeyword'#10'ImageIndex'#2#6#9'OnExecute'#7#16'AH'
+'alfSizeExecute'#8'ShortCut'#3'-@'#0#0#7'TAction'#10'ANextImage'#7'Caption'#6
+#11'&Next image'#8'HelpType'#7#9'htKeyword'#10'ImageIndex'#2#4#9'OnExecute'#7
+#17'ANextImageExecute'#0#0#7'TAction'#14'APreviousImage'#7'Caption'#6#15'&Pr'
+'evious Image'#8'HelpType'#7#9'htKeyword'#10'ImageIndex'#2#3#9'OnExecute'#7
+#21'APreviousImageExecute'#0#0#7'TAction'#13'ANextImageDir'#7'Caption'#6#21
+'N&ext image directory'#8'HelpType'#7#9'htKeyword'#10'ImageIndex'#2#8#9'OnEx'
+'ecute'#7#20'ANextImageDirExecute'#8'ShortCut'#4'N'#128#0#0#0#0#7'TAction'#13
+'APrevImageDir'#7'Caption'#6#25'Pre&vious image directory'#8'HelpType'#7#9'h'
+'tKeyword'#4'Hint'#6'(Jump to last image of previous directory'#10'ImageInde'
+'x'#2#7#9'OnExecute'#7#20'APrevImageDirExecute'#8'ShortCut'#4'P'#128#0#0#0#0
+#0#10'TImageList'#6'ILMain'#4'left'#2' '#3'top'#2'@'#6'Bitmap'#10#14'$'#0#0
+'Li'#9#0#0#0#16#0#0#0#16#0#0#0#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0
+#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#128#128
+#128#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255#0#0#0#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#0#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255' 4R'#255
+#24'0J'#255#24'4R'#255#24'0J'#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255' 4R'#255'j'#165#230
+#255#164#214#255#255#139#198#255#255'j'#170#238#255#24'4R'#255' 4R'#255#24'4'
+'R'#255' 4R'#255#24'4R'#255' 4R'#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#24'0J'#255#156#214#255#255#139#198
+#255#255#131#198#255#255'b'#174#255#255'b'#174#255#255'b'#174#255#255'b'#174
+#255#255'b'#174#255#255'b'#174#255#255'b'#174#255#255#0#0#0#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255' 4R'#255#131#194#255#255
+'R'#137#205#255'JPR'#255#255#250#255#255#255#246#255#255#246#238#246#255#230
+#230#230#255#222#214#222#255#205#206#205#255#205#198#205#255#189#190#189#255
+#189#186#189#255#180#182#180#255'101'#255#128#128#128#255#24'0J'#255#131#198
+#255#255#24'0J'#255#128#128#128#255#222#222#230#255#238#234#238#255#230#230
+#230#255#230#226#230#255#197#198#205#255#189#190#189#255#172#174#172#255#164
+#161#164#255#148#149#148#255'JHJ'#255#128#128#128#255#128#128#128#255' 4R'
+#255'A}'#189#255'RUZ'#255#222#218#222#255#230#222#230#255#230#226#230#255#230
+#226#230#255#222#214#222#255#197#198#197#255#180#182#189#255#172#174#180#255
+#164#161#164#255'jij'#255' '#255#128#128#128#255#128#128#128#255#24'0J'#255
+#24'0J'#255#205#206#205#255#205#206#205#255#213#214#213#255#222#214#222#255
+#213#210#213#255#213#206#213#255#189#186#189#255#180#178#180#255#164#161#164
+#255#156#149#156#255'JHJ'#255#128#128#128#255#128#128#128#255#128#128#128#255
,' 4R'#255'RUZ'#255#213#210#213#255#189#190#197#255#205#198#205#255#205#198
+#205#255#205#198#205#255#197#194#197#255#180#178#180#255#164#165#172#255#164
+#161#164#255'sqs'#255#24#20#24#255#128#128#128#255#128#128#128#255#128#128
+#128#255#24'0J'#255#197#190#197#255#164#165#164#255#172#174#172#255#172#174
+#172#255#180#178#180#255#172#170#172#255#172#170#172#255#156#153#156#255#148
+#149#156#255#139#141#139#255'JHJ'#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255')$)'#255'JHJ'#255'RLR'#255'JLJ'#255'RLR'#255'JLJ'
+#255'RLR'#255'JHJ'#255'JDJ'#255'A@A'#255'949'#255' '#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#0#0#0#255#0#255#255#255#128#128#128#255#0
+#255#255#255#128#128#128#255#0#0#0#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0
+#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255
+#128#128#128#255#0#255#255#255#128#128#128#255#0#255#255#255#128#128#128#255
+#0#255#255#255#128#128#128#255#0#255#255#255#128#128#128#255#0#255#255#255#0
+#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0
+#0#255#0#255#255#255#128#128#128#255#0#255#255#255#131#0#0#255#0#255#255#255
+#131#0#0#255#0#255#255#255#131#0#0#255#0#255#255#255#128#128#128#255#0#0#0
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0
+#255#128#128#128#255#0#255#255#255#128#128#128#255#0#255#255#255#131#0#0#255
+#131#0#0#255#131#0#0#255#0#255#255#255#128#128#128#255#0#255#255#255#0#0#0
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0
+#255#0#255#255#255#128#128#128#255#0#255#255#255#131#0#0#255#131#0#0#255#0
+#255#255#255#131#0#0#255#131#0#0#255#0#255#255#255#128#128#128#255#0#0#0#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255
+#128#128#128#255#0#255#255#255#128#128#128#255#0#255#255#255#131#0#0#255#131
+#0#0#255#131#0#0#255#0#255#255#255#128#128#128#255#0#255#255#255#0#0#0#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0
+#255#255#255#128#128#128#255#0#255#255#255#131#0#0#255#0#255#255#255#131#0#0
+#255#0#255#255#255#131#0#0#255#0#255#255#255#128#128#128#255#0#0#0#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#128
+#128#128#255#0#255#255#255#128#128#128#255#0#255#255#255#128#128#128#255#0
+#255#255#255#128#128#128#255#0#255#255#255#128#128#128#255#0#255#255#255#0#0
+#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
,#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#148'}'#131#255#156#129#131#255#156#137
+#139#255#148#137#131#255#156#137#139#255#148#137#131#255#156#137#139#255#148
+#137#131#255#156#137#139#255#16#0#0#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#156#137#139#255
+#24#0#139#255#16#0#139#255#24#0#213#255#16#0#205#255#24#0#255#255#16#0#255
+#255#24#0#255#255#16#0#255#255#24#0#0#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#148#137#139#255
+#255#250#255#255#128#128#128#255#128#128#128#255#255#250#246#255#128#128#128
+#255#128#128#128#255#255#250#246#255#128#128#128#255#0#0#0#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#131'y{'#255#148#129#131
+#255#156#133#139#255#156#133#139#255#148#137#131#255#156#137#139#255#148#133
+#131#255#148#137#139#255#131'}{'#255#8#4#0#255#222#214#213#255#0#4#0#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#172#141#148#255
+#16#0#139#255#24#0#139#255#16#0#205#255#16#0#213#255#16#0#255#255#24#0#255
+#255#16#0#255#255#16#0#255#255#24#0#0#255#213#194#197#255#8#0#0#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#172'}'#131#255#255
+#250#255#255#255#242#255#255#255#250#255#255#255#246#255#255#255#250#255#255
+#255#250#255#255#128#128#128#255#255#242#246#255' '#0#0#255#222#194#197#255
+#16#0#8#255#128#128#128#255#128#128#128#255#156#129#131#255#148#137#131#255
+#156#137#139#255#148#137#131#255#156#137#139#255#148#137#131#255#156#137#139
+#255#148#137#131#255#156#137#139#255' '#0#0#255#246#206#213#255#16#0#0#255
+#213#202#205#255#0#0#0#255#128#128#128#255#128#128#128#255#156#129#131#255#24
+#0#139#255#16#0#139#255#24#0#213#255#16#0#205#255#24#0#255#255#16#0#255#255
+#24#0#255#255#16#0#255#255' '#8#8#255#213#198#205#255#8#0#0#255#205#202#205
+#255#0#4#0#255#128#128#128#255#128#128#128#255#139#137#139#255#255#250#255
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#255#250
+#255#255#128#128#128#255#255#250#255#255#0#0#0#255#197#206#205#255#0#0#0#255
+#0#4#0#255#0#0#0#255#128#128#128#255#128#128#128#255'{'#133#131#255#128#128
+#128#255#197#198#197#255#205#210#213#255#205#206#205#255#205#198#205#255#205
+#202#205#255#197#194#197#255#197#202#197#255#0#4#0#255#180#190#189#255#0#8#0
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#131#141
+#139#255#128#128#128#255#197#198#197#255#197#202#205#255#205#202#205#255#205
+#202#205#255#213#194#197#255#222#202#205#255#213#194#197#255#8#0#0#255#230
+#218#222#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255'{}{'#255#128#128#128#255#205#206#205#255#213#206#213#255#197#186
+#189#255#222#206#213#255#222#198#205#255#230#206#213#255#213#190#197#255#16#0
+#0#255#8#0#0#255' '#16#16#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#148#141#139#255#255#250#255#255#213#198#205#255#222#202#205
+#255#230#206#213#255#213#190#189#255#213#198#205#255#205#198#197#255#222#210
+#213#255#8#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#139#137#139#255#128#128#128#255#205
+#190#197#255#222#206#213#255#197#178#180#255#230#210#222#255#205#198#205#255
+#197#194#197#255#197#198#197#255#0#0#0#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#131#133#131
+#255#0#8#8#255#128#128#128#255#0#0#0#255#16#16#16#255#0#0#0#255#0#4#8#255#0#0
+#0#255#0#4#8#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
,#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#255#255#0#0#0#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#0#0#0#255#0#0#0#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#0#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#255
+#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#0#255#0#0#0#255#0#0
+#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#255
+#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255
+#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0
+#0#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#255#255#0#0
+#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#255#255#0#0#255#255#0#0
+#255#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0
+#255#0#0#255#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#255#255#0#0#0#255#0#0
+#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#255#255#0#0
+#255#255#0#0#255#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0
+#255#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0
+#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255
+#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255
+#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0
+#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0
+#0#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#0#255#0#0#0#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0
,#0#255#0#0#255#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#131#129#131#255#0#0#0#255#0#0#0#255#0#0#0#255#131#129#131#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#0#0#0#255#131#129#131#255#131'}'#131#255#131#129#131#255'{}{'#255#131
+#129#131#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#0#0#0#255#131#129#131#255#128#128#128#255#197#194#197#255#128#128#128#255
+#197#194#197#255#128#128#128#255#131#129#131#255#0#0#0#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255'{}{'#255#131#129#131#255#128#128#128#255#197#194#197#255#128#128#128#255
+#0#0#255#255#128#128#128#255#197#194#197#255#128#128#128#255#131#129#131#255
+#131'}'#131#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#0#0#0#255#131#129#131#255#197#194#197#255#128#128#128
+#255#197#194#197#255#0#0#255#255#197#194#197#255#128#128#128#255#197#194#197
+#255#131#129#131#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#0#0#0#255#131#129#131#255#128#128#128
+#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#128#128#128
+#255#131#129#131#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#0#0#0#255#131#129#131#255#197#194#197
+#255#128#128#128#255#197#194#197#255#0#0#255#255#197#194#197#255#128#128#128
+#255#197#194#197#255#131#129#131#255#0#0#0#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255'{}{'#255#131#129#131#255
+#128#128#128#255#197#194#197#255#128#128#128#255#0#0#255#255#128#128#128#255
+#197#194#197#255#128#128#128#255#131#129#131#255#131'}'#131#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#0#0#0#255#131#129#131#255#128#128#128#255#197#194#197#255#128#128
+#128#255#197#194#197#255#128#128#128#255#131#129#131#255#0#0#0#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#131#129#131#255#131'}'
+#131#255#131#129#131#255'{}{'#255#131#129#131#255#0#0#0#255#0#0#0#255#0#255
+#255#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#131#129#131#255
+#0#0#0#255#0#0#0#255#0#0#0#255#131#129#131#255#128#128#128#255#0#255#255#255
+#131#129#131#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0
+#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
,#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#131#129#131#255
+#0#0#0#255#0#0#0#255#0#0#0#255#131#129#131#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#131#129
+#131#255#131'}'#131#255#131#129#131#255'{}{'#255#131#129#131#255#0#0#0#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#131#129#131
+#255#197#194#197#255#128#128#128#255#197#194#197#255#128#128#128#255#197#194
+#197#255#131#129#131#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255'{}{'#255#131#129#131
+#255#197#190#197#255#128#128#128#255#189#190#189#255#128#128#128#255#197#190
+#197#255#128#128#128#255#189#190#189#255#131#129#131#255#131'}'#131#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#0#0#0#255#131#129#131#255#128#128#128#255#197#194#197#255#128#128#128#255
+#197#194#197#255#128#128#128#255#197#194#197#255#128#128#128#255#131#129#131
+#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#0#0#0#255#131#129#131#255#189#190#189#255#0#0#255#255#0
+#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#197#190#197#255#131#129#131
+#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#0#0#0#255#131#129#131#255#128#128#128#255#197#194#197
+#255#128#128#128#255#197#194#197#255#128#128#128#255#197#194#197#255#128#128
+#128#255#131#129#131#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255'{}{'#255#131#129#131#255#197#190#197
+#255#128#128#128#255#189#190#189#255#128#128#128#255#197#190#197#255#128#128
+#128#255#189#190#189#255#131#129#131#255#131'}'#131#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#0#0#0#255#131#129#131#255#197#194#197#255#128#128#128#255#197#194#197#255
+#128#128#128#255#197#194#197#255#131#129#131#255#0#0#0#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#0#0#0#255#131#129#131#255#131'}'#131#255
+#131#129#131#255'{}{'#255#131#129#131#255#0#0#0#255#0#0#0#255#0#255#255#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#131#129#131#255#0#0#0
+#255#0#0#0#255#0#0#0#255#131#129#131#255#128#128#128#255#0#255#255#255#131
+#129#131#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#0
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#128#128
+#128#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#128
+#128#128#255#255#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255
+#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
,#128#255#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255'{}{'#255#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#131#129#131#255#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0
+#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#0#0#0#255#128#128#128#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128
+#128#255#131'}'#131#255#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0#255
+#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0
+#255#128#128#128#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255#131
+#129#131#255#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255
+#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128
+#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128#128#255'{}{'#255#0#0#0#255
+#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255#128#128#128#255#128
+#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#128#128#128#255#0#0#0#255#0
+#0#0#255#128#128#128#255#128#128#128#255#131#129#131#255#0#0#0#255#255#255#0
+#255#128#128#128#255#255#255#0#255#0#0#0#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#0#0#0#255#128#128#128#255#0#0#0#255#0#0#0
+#255#128#128#128#255#128#128#128#255#131'}'#131#255#0#0#0#255#255#255#0#255
+#128#128#128#255#255#255#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#131#129#131#255#0#0#0#255
+#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255'{}{'#255#0#0
+#0#255#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255#128#128#128#255
+#131#129#131#255#131#129#131#255#131#129#131#255#131#129#131#255#131#129#131
+#255#131#129#131#255#131#129#131#255#131#129#131#255#131#129#131#255#131#129
+#131#255#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255#0#0
+#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255
+#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#255#255#0#255#128#128#128#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0#255#0
+#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255'{}{'#255#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0
+#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#131#129#131#255#0#0#0#255#255#255#0#255#128#128#128
+#255#255#255#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255
+#0#0#0#255#0#0#0#255#128#128#128#255#0#0#0#255#128#128#128#255#128#128#128
+#255#128#128#128#255#131'}'#131#255#0#0#0#255#255#255#0#255#128#128#128#255
+#255#255#0#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0
+#0#255#0#0#0#255#128#128#128#255#0#0#0#255#0#0#0#255#128#128#128#255#128#128
+#128#255#131#129#131#255#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0
+#255#0#0#0#255#128#128#128#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0
+#0#255#128#128#128#255#0#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255'{}{'#255
+#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255#128#128#128
+#255#128#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#128#128#128#255#0#0
,#0#255#0#0#0#255#128#128#128#255#128#128#128#255#131#129#131#255#0#0#0#255
+#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255#128#128#128#255#128
+#128#128#255#128#128#128#255#0#0#0#255#0#0#0#255#128#128#128#255#0#0#0#255
+#128#128#128#255#128#128#128#255#128#128#128#255#131'}'#131#255#0#0#0#255#255
+#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#131#129#131#255
+#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255#128#128#128
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255'{}{'
+#255#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0#255#128#128
+#128#255#131#129#131#255#131#129#131#255#131#129#131#255#131#129#131#255#131
+#129#131#255#131#129#131#255#131#129#131#255#131#129#131#255#131#129#131#255
+#131#129#131#255#0#0#0#255#255#255#0#255#128#128#128#255#255#255#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#255#255#0#255#128#128#128
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#128#128
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
+#255#128#128#128#255#128#128#128#255#0#0#11'TOpenDialog'#7'ODImage'#11'Filte'
+'rIndex'#2#0#7'Options'#11#18'ofAllowMultiSelect'#14'ofEnableSizing'#12'ofVi'
+'ewDetail'#0#4'left'#2'H'#3'top'#2'@'#0#0#11'TOpenDialog'#11'OpenDialog1'#11
+'FilterIndex'#2#0#4'left'#2'H'#3'top'#2'h'#0#0#0
]);

View File

@ -0,0 +1,500 @@
{
***************************************************************************
* *
* This source is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This code is distributed in the hope that it will be useful, but *
* WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* General Public License for more details. *
* *
* A copy of the GNU General Public License is available on the World *
* Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also *
* obtain it by writing to the Free Software Foundation, *
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* *
***************************************************************************
}
unit frmmain;
{$MODE Delphi}
interface
uses
LCLIntf,SysUtils, Classes, Graphics, Controls, Forms, FileUtil,
Dialogs, StdCtrls, ComCtrls, ExtCtrls, ActnList, Menus,
LResources, LCLType;
type
TPicViewFrm = class(TForm)
MainMenu1: TMainMenu;
ToolBar1: TToolBar;
ActionList1: TActionList;
AOpen: TAction;
AOpenDir: TAction;
AExit: TAction;
LBFiles: TListBox;
SPImage: TSplitter;
File1: TMenuItem;
MIOpen: TMenuItem;
MIOPenDir: TMenuItem;
N1: TMenuItem;
MIQuit: TMenuItem;
TBOPen: TToolButton;
TBOpenDir: TToolButton;
ILMain: TImageList;
ODImage: TOpenDialog;
AClear: TAction;
MIOpenDirRec: TMenuItem;
MIClear: TMenuItem;
OpenDirRecursively: TAction;
TBOpenDirRec: TToolButton;
ADoubleSize: TAction;
MImage: TMenuItem;
D1: TMenuItem;
AHalfSize: TAction;
MIHalfSize: TMenuItem;
PImage: TPanel;
ScrollBox1: TScrollBox;
IMain: TImage;
ANextImage: TAction;
APreviousImage: TAction;
ANextImageDir: TAction;
APrevImageDir: TAction;
MINextImage: TMenuItem;
PreviousImage1: TMenuItem;
Nextimagedirectory1: TMenuItem;
Previousimagedirectory1: TMenuItem;
ToolButton4: TToolButton;
TBPRev: TToolButton;
TBNext: TToolButton;
TBPRevDir: TToolButton;
TBNextDir: TToolButton;
TBDoubleSize: TToolButton;
TBHalfSize: TToolButton;
ToolButton3: TToolButton;
N2: TMenuItem;
OpenDialog1: TOpenDialog;
procedure AOpenExecute(Sender: TObject);
procedure LBFilesClick(Sender: TObject);
procedure AOpenDirExecute(Sender: TObject);
procedure AExitExecute(Sender: TObject);
procedure OpenDirRecursivelyExecute(Sender: TObject);
procedure AClearExecute(Sender: TObject);
procedure ADoubleSizeExecute(Sender: TObject);
procedure AHalfSizeExecute(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormShow(Sender: TObject);
procedure ANextImageExecute(Sender: TObject);
procedure APreviousImageExecute(Sender: TObject);
procedure ANextImageDirExecute(Sender: TObject);
procedure APrevImageDirExecute(Sender: TObject);
private
FImageScale : Double;
procedure AddFile(FileName: String; ShowFile: Boolean);
procedure ShowFile(Index: Integer);
procedure AddDir(Directory: String; Recurse: Boolean);
procedure RescaleImage(NewScale: Double);
procedure NextImage;
procedure PreviousImage;
procedure NextImageDir;
procedure PreviousImageDir;
Function NextDirIndex(Direction : Integer) : Integer;
procedure ShiftImageIndex(MoveBy: Integer);
procedure ProcessCommandLine;
procedure DoError(Msg: String; Args: array of const);
{ Private declarations }
public
{ Public declarations }
end;
var
PicViewFrm: TPicViewFrm;
implementation
Const
ImageTypes = '.jpg.jpeg.bmp.xpm.png';
resourcestring
SSelectImageDir = 'Select directory to add images from';
SSelectImageDirRec = 'Select directory to recursively add images from';
SImageViewer = 'Image viewer';
SErrNeedArgument = 'Option at position%d (%s) needs an argument';
{ [] }
procedure TPicViewFrm.AOpenExecute(Sender: TObject);
Var
I : Integer;
begin
With ODImage do
begin
If Execute then
for I:=0 to Files.Count-1 do
AddFile(Files[I],(I=0))
end;
end;
procedure TPicViewFrm.AddFile(FileName :String; ShowFile : Boolean);
Var
Index : Integer;
begin
ShowFile:=ShowFile or (LBFiles.Items.Count=0);
Index:=LBFiles.Items.Add(FileName);
If ShowFile then
self.ShowFile(Index);
end;
procedure TPicViewFrm.ShowFile(Index : Integer);
Var
LoadOK : Boolean;
begin
If Index=-1 then
begin
IMain.Picture:=Nil;
Caption:=SImageViewer;
end
else
Repeat
Try
LoadOK:=False;
IMain.Align:=AlClient;
Imain.Stretch:=False;
FImageScale:=1.0;
IMain.Picture.LoadFromFile(LBFiles.Items[Index]);
Caption:=SImageViewer+'('+LBFiles.Items[Index]+')';
LoadOK:=True;
Except
If Index<LBFiles.Items.Count-1 then
inc(Index)
else
Index:=-1;
end
Until LoadOK or (Index=-1);
With LBFiles do
begin
If Index<>ItemIndex then
LBFiles.Itemindex:=Index;
{ If Not ItemVisible(ItemIndex) then
MakeCurrentVisible;}
end;
end;
procedure TPicViewFrm.LBFilesClick(Sender: TObject);
begin
ShowFile(LBFiles.ItemIndex);
end;
procedure TPicViewFrm.AOpenDirExecute(Sender: TObject);
Var
Dir : String;
begin
if SelectDirectory(SSelectImageDir,'/',Dir) then
// if SelectDirectory(SSelectImageDir,'/',Dir,True) then
AddDir(Dir,False);
end;
procedure TPicViewFrm.AddDir(Directory :String; Recurse : Boolean);
Var
Info : TSearchRec;
Ext : String;
begin
LBFiles.Items.BeginUpdate;
Try
Directory:=IncludeTrailingBackslash(Directory);
if FindFirstUTF8(Directory+'*.*',0,Info)=0 then
try
Repeat
Ext:=ExtractFileExt(Info.Name);
If Pos(Ext,ImageTypes)<>0 then
AddFile(Directory+Info.Name,False);
until (FindNextUTF8(Info)<>0)
Finally
FindCloseUTF8(Info);
end;
If Recurse then
if FindFirstUTF8(Directory+'*',faDirectory,Info)=0 then
try
Repeat
If (Info.Name<>'.') and (Info.Name<>'') and (info.name<>'..') and
((Info.Attr and faDirectory)<>0) then
AddDir(Directory+Info.name,True);
until (FindNextUTF8(Info)<>0)
finally
FindCloseUTF8(Info);
end;
Finally
LBFiles.Items.EndUpdate;
end;
end;
procedure TPicViewFrm.AExitExecute(Sender: TObject);
begin
Close;
end;
procedure TPicViewFrm.OpenDirRecursivelyExecute(Sender: TObject);
Var
Dir : String;
begin
if SelectDirectory(SSelectImageDirRec,'/',Dir) then
AddDir(Dir,True);
end;
procedure TPicViewFrm.AClearExecute(Sender: TObject);
begin
LBFiles.ItemIndex:=-1;
ShowFile(-1);
LBFiles.Items.Clear;
end;
procedure TPicViewFrm.ADoubleSizeExecute(Sender: TObject);
begin
RescaleImage(2.0);
end;
procedure TPicViewFrm.RescaleImage(NewScale : Double);
Var
OrgWidth,OrgHeight : Integer;
Rect : TRect;
begin
OrgWidth:=IMain.Picture.Bitmap.Width;
OrgHeight:=IMain.Picture.Bitmap.Height;
FImageScale:=FImageScale*NewScale;
Rect:=IMain.BoundsRect;
Rect.Right:=Rect.Left+Round(OrgWidth*FImageScale);
Rect.Bottom:=Rect.Top+Round(OrgHeight*FImageScale);
Imain.Align:=AlNone;
IMain.BoundsRect:=Rect;
Imain.Stretch:=True;
end;
procedure TPicViewFrm.AHalfSizeExecute(Sender: TObject);
begin
RescaleImage(0.5);
end;
procedure TPicViewFrm.NextImage;
begin
ShiftImageIndex(1);
end;
procedure TPicViewFrm.PreviousImage;
begin
ShiftImageIndex(-1);
end;
procedure TPicViewFrm.ShiftImageIndex(MoveBy : Integer);
Var
ImageIndex : Integer;
begin
ImageIndex:=LBFiles.ItemIndex;
ImageIndex:=ImageIndex+MoveBy;
If ImageIndex<0 then
ImageIndex:=LBFiles.Items.Count-1;
If ImageIndex>=LBFiles.Items.Count then
begin
ImageIndex:=0;
If LBFiles.Items.Count=0 then
ImageIndex:=-1;
end;
ShowFile(ImageIndex);
end;
procedure TPicViewFrm.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (shift=[ssShift]) or (shift=[ssAlt]) then
begin
if (key=VK_Prior) then
begin
RescaleImage(2.0);
Key:=0;
end
else if (key=VK_Next) then
begin
RescaleImage(0.5);
Key:=0;
end
else if (key=VK_Left) then
begin
PreviousImage;
Key:=0;
end
else if (key=VK_right) then
begin
NextImage;
Key:=0;
end
end
else if (shift=[]) then
begin
if Key=VK_UP then
Previousimage
else if Key=VK_DOWN then
NextImage;
end;
end;
procedure TPicViewFrm.DoError(Msg : String; Args : Array Of const);
begin
ShowMessage(Format(Msg,Args));
end;
procedure TPicViewFrm.ProcessCommandLine;
Function CheckOption(Index : Integer;Short,Long : String): Boolean;
var
O : String;
begin
O:=ParamStrUTF8(Index);
Result:=(O='-'+short) or (copy(O,1,Length(Long)+3)=('--'+long+'='));
end;
Function OptionArg(Var Index : Integer) : String;
Var
P : Integer;
begin
if (Length(ParamStrUTF8(Index))>1) and (ParamStrUTF8(Index)[2]<>'-') then
begin
If Index<ParamCount then
begin
Inc(Index);
Result:=ParamStrUTF8(Index);
end
else
DoError(SErrNeedArgument,[Index,ParamStrUTF8(Index)]);
end
else If length(ParamStrUTF8(Index))>2 then
begin
P:=Pos('=',ParamStrUTF8(Index));
If (P=0) then
DoError(SErrNeedArgument,[Index,ParamStrUTF8(Index)])
else
begin
Result:=ParamStrUTF8(Index);
Delete(Result,1,P);
end;
end;
end;
Var
I : Integer;
S : String;
FRecursive : Boolean;
begin
FRecursive:=False;
I:=0;
While (I<ParamCount) do
begin
Inc(I);
If CheckOption(I,'r','recursive') then
FRecursive:=True
else
begin
S:=ParamStrUTF8(I);
If DirectoryExistsUTF8(S) then
AddDir(ExpandFileNameUTF8(S),FRecursive)
else if FileExistsUTF8(S) then
AddFile(ExpandFileNameUTF8(S),LBFiles.Items.Count=0);
end;
end;
end;
procedure TPicViewFrm.FormShow(Sender: TObject);
begin
ProcessCommandLine;
end;
procedure TPicViewFrm.NextImageDir;
Var
Index : Integer;
begin
Index:=NextDirIndex(1);
If (Index<>-1) then
ShowFile(Index);
end;
Function TPicViewFrm.NextDirIndex(Direction: Integer) : integer;
Var
Dir : String;
begin
Result:=-1;
If LBFiles.Itemindex=-1 then
Exit;
Result:=LBFiles.Itemindex;
Dir:=ExtractFilePath(LBFiles.Items[Result]);
Repeat
Result:=Result+Direction;
Until ((Result=-1) or (Result>=LBFiles.Items.Count)) or (Dir<>ExtractFilePath(LBFiles.Items[Result]));
If Result>=LBFiles.Items.Count then
Result:=-1;
end;
procedure TPicViewFrm.PreviousImageDir;
Var
Index : Integer;
begin
Index:=NextDirIndex(-1);
If (Index<>-1) then
ShowFile(Index);
end;
procedure TPicViewFrm.ANextImageExecute(Sender: TObject);
begin
NextImage;
end;
procedure TPicViewFrm.APreviousImageExecute(Sender: TObject);
begin
PreviousImage
end;
procedure TPicViewFrm.ANextImageDirExecute(Sender: TObject);
begin
NextImageDir;
end;
procedure TPicViewFrm.APrevImageDirExecute(Sender: TObject);
begin
PreviousImageDir;
end;
initialization
{$i frmmain.lrs}
end.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,385 @@
object GenKappaFrm: TGenKappaFrm
Left = 179
Height = 358
Top = 126
Width = 564
Caption = 'Generalized Kappa Coefficient'
ClientHeight = 358
ClientWidth = 564
OnShow = FormShow
LCLVersion = '0.9.28.2'
object Label1: TLabel
Left = 249
Height = 14
Top = 24
Width = 117
Caption = 'Category Code (1,2,...)'
ParentColor = False
end
object Label2: TLabel
Left = 249
Height = 14
Top = 120
Width = 133
Caption = 'Object or Subject Classified'
ParentColor = False
end
object Label3: TLabel
Left = 249
Height = 14
Top = 216
Width = 104
Caption = 'Rater Codes (1,2,...)'
ParentColor = False
end
object Label4: TLabel
Left = 8
Height = 14
Top = 9
Width = 48
Caption = 'Variables:'
ParentColor = False
end
object VarList: TListBox
Left = 8
Height = 319
Top = 24
Width = 176
ItemHeight = 0
TabOrder = 0
end
object CatIn: TBitBtn
Left = 192
Height = 33
Top = 24
Width = 41
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 = CatInClick
TabOrder = 1
end
object CatOut: TBitBtn
Left = 192
Height = 33
Top = 64
Width = 41
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 = CatOutClick
TabOrder = 2
end
object ObjIn: TBitBtn
Left = 192
Height = 33
Top = 120
Width = 41
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 = ObjInClick
TabOrder = 3
end
object ObjOut: TBitBtn
Left = 192
Height = 33
Top = 160
Width = 41
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 = ObjOutClick
TabOrder = 4
end
object RaterIn: TBitBtn
Left = 192
Height = 33
Top = 216
Width = 41
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 = RaterInClick
TabOrder = 5
end
object RaterOut: TBitBtn
Left = 192
Height = 33
Top = 256
Width = 41
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 = RaterOutClick
TabOrder = 6
end
object CatEdit: TEdit
Left = 249
Height = 21
Top = 40
Width = 170
TabOrder = 7
Text = 'CatEdit'
end
object ObjectEdit: TEdit
Left = 248
Height = 21
Top = 136
Width = 170
TabOrder = 8
Text = 'Edit1'
end
object RaterEdit: TEdit
Left = 249
Height = 21
Top = 232
Width = 170
TabOrder = 9
Text = 'Edit1'
end
object ResetBtn: TButton
Left = 455
Height = 35
Top = 120
Width = 85
Caption = 'Reset'
OnClick = ResetBtnClick
TabOrder = 10
end
object CancelBtn: TButton
Left = 456
Height = 35
Top = 180
Width = 85
Caption = 'Cancel'
ModalResult = 2
TabOrder = 11
end
object ComputeBtn: TButton
Left = 455
Height = 35
Top = 240
Width = 85
Caption = 'Compute'
OnClick = ComputeBtnClick
TabOrder = 12
end
object ReturnBtn: TButton
Left = 456
Height = 35
Top = 302
Width = 85
Caption = 'Return'
ModalResult = 1
TabOrder = 13
end
object HelpBtn: TButton
Tag = 125
Left = 455
Height = 33
Top = 56
Width = 86
Caption = 'Help'
OnClick = HelpBtnClick
TabOrder = 14
end
end

View File

@ -0,0 +1,340 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TGenKappaFrm','FORMDATA',[
'TPF0'#12'TGenKappaFrm'#11'GenKappaFrm'#4'Left'#3#179#0#6'Height'#3'f'#1#3'To'
+'p'#2'~'#5'Width'#3'4'#2#7'Caption'#6#29'Generalized Kappa Coefficient'#12'C'
+'lientHeight'#3'f'#1#11'ClientWidth'#3'4'#2#6'OnShow'#7#8'FormShow'#10'LCLVe'
+'rsion'#6#8'0.9.28.2'#0#6'TLabel'#6'Label1'#4'Left'#3#249#0#6'Height'#2#14#3
+'Top'#2#24#5'Width'#2'u'#7'Caption'#6#23'Category Code (1,2,...)'#11'ParentC'
+'olor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#3#249#0#6'Height'#2#14#3'Top'#2'x'#5
+'Width'#3#133#0#7'Caption'#6#28'Object or Subject Classified'#11'ParentColor'
+#8#0#0#6'TLabel'#6'Label3'#4'Left'#3#249#0#6'Height'#2#14#3'Top'#3#216#0#5'W'
+'idth'#2'h'#7'Caption'#6#21'Rater Codes (1,2,...)'#11'ParentColor'#8#0#0#6'T'
+'Label'#6'Label4'#4'Left'#2#8#6'Height'#2#14#3'Top'#2#9#5'Width'#2'0'#7'Capt'
+'ion'#6#10'Variables:'#11'ParentColor'#8#0#0#8'TListBox'#7'VarList'#4'Left'#2
+#8#6'Height'#3'?'#1#3'Top'#2#24#5'Width'#3#176#0#10'ItemHeight'#2#0#8'TabOrd'
+'er'#2#0#0#0#7'TBitBtn'#5'CatIn'#4'Left'#3#192#0#6'Height'#2'!'#3'Top'#2#24#5
+'Width'#2')'#10'Glyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0
+'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0
+#0#0#0#0#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0'!c$'#184#29'^ '#6#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'*p/8%i)'
+#247'!c$'#217#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'a'#190
+'m'#255']'#184'h'#255'X'#177'b'#255'S'#169'\'#255'M'#161'V'#255'G'#153'O'#255
+'A'#145'I'#255';'#136'B'#255'5'#128';'#255'?'#136'E'#255'Y'#161'^'#255'D'#139
+'I'#255'!c$'#207#255#255#255#0#255#255#255#0#255#255#255#0'e'#195'q'#255#160
+#215#169#255#156#213#165#255#152#211#161#255#148#208#157#255#144#206#152#255
+#139#203#147#255#135#201#142#255#130#198#137#255'~'#195#132#255'z'#193#128
+#255'v'#190'|'#255'E'#140'J'#255'!c$'#196#255#255#255#0#255#255#255#0'h'#199
+'t'#255#165#218#174#255#162#216#171#255#158#214#167#255#154#212#163#255#150
+#210#159#255#147#207#154#255#142#204#149#255#137#202#144#255#133#199#139#255
+#129#197#135#255'}'#194#130#255'J'#145'P'#255'%i)'#201#255#255#255#0#255#255
+#255#0'h'#199't'#255'h'#199't'#255'e'#195'q'#255'a'#190'm'#255']'#184'h'#255
+'X'#177'b'#255'S'#169'\'#255'M'#161'V'#255'G'#153'O'#255'A'#145'I'#255'Z'#163
+'b'#255'U'#157'\'#255'/x5'#209#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'A'#145'I'#247
+';'#136'B'#219#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'G'#153'O'#187
+'A'#145'I'#6#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#7'OnClick'#7#10'CatInCl'
+'ick'#8'TabOrder'#2#1#0#0#7'TBitBtn'#6'CatOut'#4'Left'#3#192#0#6'Height'#2'!'
,#3'Top'#2'@'#5'Width'#2')'#10'Glyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0
+#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'
+#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'M'#161'V'#6'G'
+#153'O'#184#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'S'#169'\'#217'M'#161
+'V'#247'G'#153'O8'#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0']'#184'h'#207'q'#190'{'#255'z'#193#131
+#255'['#170'd'#255'G'#153'O'#255'A'#145'I'#255';'#136'B'#255'5'#128';'#255'/'
+'x5'#255'*p/'#255'%i)'#255'!c$'#255#29'^ '#255#255#255#255#0#255#255#255#0'e'
+#195'q'#196'{'#200#134#255#156#213#165#255#152#211#161#255#148#208#157#255
+#144#206#152#255#139#203#147#255#135#201#142#255#130#198#137#255'~'#195#132
+#255'z'#193#128#255'v'#190'|'#255'r'#189'x'#255'!c$'#255#255#255#255#0#255
+#255#255#0'h'#199't'#201#127#204#138#255#162#216#171#255#158#214#167#255#154
+#212#163#255#150#210#159#255#147#207#154#255#142#204#149#255#137#202#144#255
+#133#199#139#255#129#197#135#255'}'#194#130#255'x'#192'~'#255'%i)'#255#255
+#255#255#0#255#255#255#0#255#255#255#0'h'#199't'#209#128#205#139#255'|'#201
+#135#255']'#184'h'#255'X'#177'b'#255'S'#169'\'#255'M'#161'V'#255'G'#153'O'
+#255'A'#145'I'#255';'#136'B'#255'5'#128';'#255'/x5'#255'*p/'#255#255#255#255
+#0#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'#219'e'#195'q'#247#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'#6'h'#199't'#187#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#7'OnC'
+'lick'#7#11'CatOutClick'#8'TabOrder'#2#2#0#0#7'TBitBtn'#5'ObjIn'#4'Left'#3
+#192#0#6'Height'#2'!'#3'Top'#2'x'#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#10'ObjInClick'#8'TabOrder'#2#3#0#0#7'TBitBtn'#6
+'ObjOut'#4'Left'#3#192#0#6'Height'#2'!'#3'Top'#3#160#0#5'Width'#2')'#10'Glyp'
+'h.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0
+#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0'M'#161'V'#6'G'#153'O'#184#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0'S'#169'\'#217'M'#161'V'#247'G'#153'O8'#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0']'#184'h'#207'q'#190'{'#255'z'#193#131#255'['#170'd'#255'G'
+#153'O'#255'A'#145'I'#255';'#136'B'#255'5'#128';'#255'/x5'#255'*p/'#255'%i)'
+#255'!c$'#255#29'^ '#255#255#255#255#0#255#255#255#0'e'#195'q'#196'{'#200#134
+#255#156#213#165#255#152#211#161#255#148#208#157#255#144#206#152#255#139#203
+#147#255#135#201#142#255#130#198#137#255'~'#195#132#255'z'#193#128#255'v'#190
,'|'#255'r'#189'x'#255'!c$'#255#255#255#255#0#255#255#255#0'h'#199't'#201#127
+#204#138#255#162#216#171#255#158#214#167#255#154#212#163#255#150#210#159#255
+#147#207#154#255#142#204#149#255#137#202#144#255#133#199#139#255#129#197#135
+#255'}'#194#130#255'x'#192'~'#255'%i)'#255#255#255#255#0#255#255#255#0#255
+#255#255#0'h'#199't'#209#128#205#139#255'|'#201#135#255']'#184'h'#255'X'#177
+'b'#255'S'#169'\'#255'M'#161'V'#255'G'#153'O'#255'A'#145'I'#255';'#136'B'#255
+'5'#128';'#255'/x5'#255'*p/'#255#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0'h'#199't'#219'e'#195'q'#247#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0'h'#199't'#6'h'#199't'#187#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#7'OnClick'#7#11'ObjOutClick'#8'Ta'
+'bOrder'#2#4#0#0#7'TBitBtn'#7'RaterIn'#4'Left'#3#192#0#6'Height'#2'!'#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#255#255#255#0
+#255#255#255#0#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#12'RaterInClick'#8'TabOrder'#2#5#0#0#7'TBitBtn'#8'RaterOut'#4'Left'#3#192
+#0#6'Height'#2'!'#3'Top'#3#0#1#5'Width'#2')'#10'Glyph.Data'#10':'#4#0#0'6'#4
+#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0
+#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0'M'#161'V'#6'G'#153'O'#184#255#255#255#0#255#255#255#0#255#255#255
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0'S'#169'\'#217'M'#161'V'#247'G'#153'O8'#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0']'#184'h'#207
+'q'#190'{'#255'z'#193#131#255'['#170'd'#255'G'#153'O'#255'A'#145'I'#255';'
+#136'B'#255'5'#128';'#255'/x5'#255'*p/'#255'%i)'#255'!c$'#255#29'^ '#255#255
+#255#255#0#255#255#255#0'e'#195'q'#196'{'#200#134#255#156#213#165#255#152#211
+#161#255#148#208#157#255#144#206#152#255#139#203#147#255#135#201#142#255#130
+#198#137#255'~'#195#132#255'z'#193#128#255'v'#190'|'#255'r'#189'x'#255'!c$'
+#255#255#255#255#0#255#255#255#0'h'#199't'#201#127#204#138#255#162#216#171
+#255#158#214#167#255#154#212#163#255#150#210#159#255#147#207#154#255#142#204
+#149#255#137#202#144#255#133#199#139#255#129#197#135#255'}'#194#130#255'x'
+#192'~'#255'%i)'#255#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'#209
+#128#205#139#255'|'#201#135#255']'#184'h'#255'X'#177'b'#255'S'#169'\'#255'M'
+#161'V'#255'G'#153'O'#255'A'#145'I'#255';'#136'B'#255'5'#128';'#255'/x5'#255
+'*p/'#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'
+#219'e'#195'q'#247#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'
+#6'h'#199't'#187#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#7'OnClick'#7#13'RaterOutClick'#8'TabOrder'#2#6#0#0#5'TE'
,'dit'#7'CatEdit'#4'Left'#3#249#0#6'Height'#2#21#3'Top'#2'('#5'Width'#3#170#0
+#8'TabOrder'#2#7#4'Text'#6#7'CatEdit'#0#0#5'TEdit'#10'ObjectEdit'#4'Left'#3
+#248#0#6'Height'#2#21#3'Top'#3#136#0#5'Width'#3#170#0#8'TabOrder'#2#8#4'Text'
+#6#5'Edit1'#0#0#5'TEdit'#9'RaterEdit'#4'Left'#3#249#0#6'Height'#2#21#3'Top'#3
+#232#0#5'Width'#3#170#0#8'TabOrder'#2#9#4'Text'#6#5'Edit1'#0#0#7'TButton'#8
+'ResetBtn'#4'Left'#3#199#1#6'Height'#2'#'#3'Top'#2'x'#5'Width'#2'U'#7'Captio'
+'n'#6#5'Reset'#7'OnClick'#7#13'ResetBtnClick'#8'TabOrder'#2#10#0#0#7'TButton'
+#9'CancelBtn'#4'Left'#3#200#1#6'Height'#2'#'#3'Top'#3#180#0#5'Width'#2'U'#7
+'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#11#0#0#7'TButton'#10
+'ComputeBtn'#4'Left'#3#199#1#6'Height'#2'#'#3'Top'#3#240#0#5'Width'#2'U'#7'C'
+'aption'#6#7'Compute'#7'OnClick'#7#15'ComputeBtnClick'#8'TabOrder'#2#12#0#0#7
+'TButton'#9'ReturnBtn'#4'Left'#3#200#1#6'Height'#2'#'#3'Top'#3'.'#1#5'Width'
+#2'U'#7'Caption'#6#6'Return'#11'ModalResult'#2#1#8'TabOrder'#2#13#0#0#7'TBut'
+'ton'#7'HelpBtn'#3'Tag'#2'}'#4'Left'#3#199#1#6'Height'#2'!'#3'Top'#2'8'#5'Wi'
+'dth'#2'V'#7'Caption'#6#4'Help'#7'OnClick'#7#12'HelpBtnClick'#8'TabOrder'#2
+#14#0#0#0
]);

View File

@ -0,0 +1,483 @@
unit GenKappaUnit;
{$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
{ TGenKappaFrm }
TGenKappaFrm = class(TForm)
HelpBtn: TButton;
Label4: TLabel;
ResetBtn: TButton;
CancelBtn: TButton;
ComputeBtn: TButton;
ReturnBtn: TButton;
CatIn: TBitBtn;
CatOut: TBitBtn;
CatEdit: TEdit;
ObjectEdit: TEdit;
RaterEdit: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
ObjIn: TBitBtn;
ObjOut: TBitBtn;
RaterIn: TBitBtn;
RaterOut: TBitBtn;
VarList: TListBox;
procedure CatInClick(Sender: TObject);
procedure CatOutClick(Sender: TObject);
procedure ComputeBtnClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure HelpBtnClick(Sender: TObject);
procedure ObjInClick(Sender: TObject);
procedure ObjOutClick(Sender: TObject);
procedure RaterInClick(Sender: TObject);
procedure RaterOutClick(Sender: TObject);
procedure ResetBtnClick(Sender: TObject);
private
{ private declarations }
NoCats : integer;
NoObjects : integer;
NoRaters : integer;
function compute_term1(R : IntDyneCube; i, j, k : integer) : double;
function compute_term2(R : IntDyneCube; i, j, l : integer) : double;
function compute_denom(R : IntDyneCube) : double;
function compute_partial_pchance(R : IntDyneCube; i, j : integer;
denom : double) : double;
function compute_partial_pobs(R : IntDyneCube; k, l : integer) : double;
function KappaVariance(R : IntDyneCube; n, m, K1 : integer) : double;
public
{ public declarations }
end;
var
GenKappaFrm: TGenKappaFrm;
implementation
{ TGenKappaFrm }
procedure TGenKappaFrm.ResetBtnClick(Sender: TObject);
VAR i : integer;
begin
CatIn.Visible := true;
CatOut.Visible := false;
ObjIn.Visible := true;
ObjOut.Visible := false;
RaterIn.Visible := true;
RaterOut.Visible := false;
CatEdit.Text := '';
ObjectEdit.Text := '';
RaterEdit.Text := '';
VarList.Clear;
for i := 0 to NoVariables - 1 do
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i+1,0]);
end;
procedure TGenKappaFrm.CatInClick(Sender: TObject);
VAR index : integer;
begin
index := VarList.ItemIndex;
CatEdit.Text := VarList.Items.Strings[index];
VarList.Items.Delete(index);
CatIn.Visible := false;
CatOut.Visible := true;
end;
procedure TGenKappaFrm.CatOutClick(Sender: TObject);
begin
VarList.Items.Add(CatEdit.Text);
CatEdit.Text := '';
CatIn.Visible := true;
CatOut.Visible := false;
end;
procedure TGenKappaFrm.ComputeBtnClick(Sender: TObject);
VAR
CatCol, ObjCol, RaterCol, frequency, aresult, intvalue, i, j, k, l : integer;
value, rater, category, anobject, theresult : integer;
// int CatCol:=0, ObjCol:=0, RaterCol:=0;
// int value, rater, category, object;
R : IntDyneCube;
// int ***R;
pobs, pchance, kappa, num, denom, partial_pchance, a_priori : double;
average_frequency : DblDyneVec;
outline : array[0..131] of char;
astring : array[0..21] of char;
// char outline[131], astring[21];
dblvalue, z : double;
strvalue : string;
begin
CatCol:=0;
ObjCol:=0;
RaterCol:=0;
OutPutFrm.RichEdit.Clear;
OutPutFrm.RichEdit.Lines.Add('Generalized Kappa Coefficient Procedure');
OutPutFrm.RichEdit.Lines.Add('adapted from the program written by Giovanni Flammia');
OutPutFrm.RichEdit.Lines.Add('copywritten 1995, M.I.T. Lab. for Computer Science');
OutPutFrm.RichEdit.Lines.Add('');
// get columns for the variables
for i := 0 to NoVariables - 1 do
begin
if (OS3MainFrm.DataGrid.Cells[i+1,0] = CatEdit.Text) then CatCol := i+1;
if (OS3MainFrm.DataGrid.Cells[i+1,0] = RaterEdit.Text) then RaterCol := i+1;
if (OS3MainFrm.DataGrid.Cells[i+1,0] = ObjectEdit.Text) then ObjCol := i+1;
end;
if ((CatCol = 0) or (RaterCol = 0) or (ObjCol = 0)) then
begin
ShowMessage('ERROR! One or more variables not defined.');
exit;
end;
// get max no of codes for objects, raters, categories
NoCats := 0;
NoObjects := 0;
NoRaters := 0;
for i := 0 to NoCases - 1 do
begin
value := StrToInt(Trim(OS3MainFrm.DataGrid.Cells[CatCol,i+1]));
// result := GetValue(i+1,CatCol,intvalue,dblvalue,strvalue);
// if (result :=:= 1) value := 0;
// else value := intvalue;
if (value > NoCats) then NoCats := value;
value := StrToInt(Trim(OS3MainFrm.DataGrid.Cells[ObjCol,i+1]));
// result := GetValue(i+1,ObjCol,intvalue,dblvalue,strvalue);
// if (result :=:= 1) value := 0;
// else value := intvalue;
if (value > NoObjects) then NoObjects := value;
value := StrToInt(Trim(OS3MainFrm.DataGrid.Cells[RaterCol,i+1]));
// result := GetValue(i+1,RaterCol,intvalue,dblvalue,strvalue);
// if (result :=:= 1) value := 0;
// else value := intvalue;
if (value > NoRaters) then NoRaters := value;
end;
outline := format('%d Raters using %d Categories to rate %d Objects',
[NoRaters, NoCats, NoObjects]);
OutPutFrm.RichEdit.Lines.Add(outline);
OutPutFrm.RichEdit.Lines.Add('');
// get memory for R and set to zero
SetLength(R,NoRaters+1,NoCats+1,NoObjects+1);
for i := 0 to NoRaters - 1 do
begin
for k := 0 to NoCats - 1 do
begin
for l := 0 to NoObjects - 1 do
begin
R[i,k,l] := 0;
end;
end;
end;
// get memory for average_frequency
SetLength(average_frequency,NoCats+1);
for k := 0 to NoCats - 1 do average_frequency[k] := 0.0;
// read data and store in R
for i := 0 to NoCases - 1 do
begin
rater := StrToInt(Trim(OS3MainFrm.DataGrid.Cells[RaterCol,i+1]));
anobject := StrToInt(Trim(OS3MainFrm.DataGrid.Cells[ObjCol,i+1]));
category := StrToInt(Trim(OS3MainFrm.DataGrid.Cells[CatCol,i+1]));
R[rater-1,category-1,anobject-1] := 1;
end;
//compute chance probability of agreement pchance for all raters
pchance := 0.0;
denom := compute_denom(R);
for i := 0 to NoRaters - 1 do
begin
for j := 0 to NoRaters - 1 do
begin
if (i <> j) then
begin
partial_pchance := compute_partial_pchance(R,i,j,denom);
pchance := pchance + partial_pchance;
end;
end;
for k := 0 to NoCats - 1 do
begin
frequency := 0;
for l := 0 to NoObjects - 1 do
begin
frequency := frequency + R[i,k,l];
end;
a_priori := frequency / NoObjects;
outline := format('Frequency[%d,%d] := %f',[i+1,k+1,a_priori]);
OutPutFrm.RichEdit.Lines.Add(outline);
end;
end;
for k := 0 to NoCats - 1 do
begin
for l := 0 to NoObjects - 1 do
begin
for i := 0 to NoRaters - 1 do
begin
average_frequency[k] := average_frequency[k] + R[i,k,l];
end;
end;
end;
for k := 0 to NoCats - 1 do
begin
average_frequency[k] := average_frequency[k] / (NoObjects * NoRaters);
outline := format('Average_Frequency[%d] := %f',[k+1,average_frequency[k]]);
OutPutFrm.RichEdit.Lines.Add(outline);
end;
outline := format('PChance := %f',[pchance]);
OutPutFrm.RichEdit.Lines.Add(outline);
// compute observed probability of agreement among all raters
num := 0.0;
for k := 0 to NoCats - 1 do
begin
for l := 0 to NoObjects - 1 do
begin
num := num + compute_partial_pobs(R,k,l);
end;
end;
if (denom > 0.0) then pobs := num / denom
else pobs := 0.0;
outline := format('PObs := %f',[pobs]);
OutPutFrm.RichEdit.Lines.Add(outline);
kappa := (pobs - pchance) / (1.0 - pchance);
outline := format('Kappa := %f',[kappa]);
OutPutFrm.RichEdit.Lines.Add(outline);
z := KappaVariance(R,NoObjects,NoRaters,NoCats);
if (z > 0.0) then z := kappa / sqrt(z);
outline := format('z for Kappa := %8.3f with probability > %8.3f',[z,1.0-probz(z)]);
OutPutFrm.RichEdit.Lines.Add(outline);
OutPutFrm.ShowModal;
// clean up space allocated
average_frequency := nil;
R := nil;
end;
procedure TGenKappaFrm.FormShow(Sender: TObject);
begin
ResetBtnClick(self);
end;
procedure TGenKappaFrm.HelpBtnClick(Sender: TObject);
begin
ContextHelpForm.HelpMessage((Sender as TButton).tag);
end;
function TGenKappaFrm.compute_term1(R : IntDyneCube; i, j, k : integer) : double;
VAR
ii,jj : integer; // range over 0 .. num_coders-1 */
kk : integer; // range over 0 .. num_categories-1 */
l,ll : integer; // range over 0 .. num_points-1 */
denom_i : integer; //:=0;
denom_j : integer; //:=0;
num_i : integer; //:=0;
num_j : integer; //:=0;
begin
denom_i := 0;
denom_j := 0;
num_i := 0;
num_j := 0;
for kk := 0 to NoCats - 1 do
begin
for ll := 0 to NoObjects - 1 do
begin
denom_i := denom_i + R[i,kk,ll];
denom_j := denom_j + R[j,kk,ll];
end;
end;
for l := 0 to NoObjects - 1 do
begin
num_i := num_i + R[i,k,l];
num_j := num_j + R[j,k,l];
end;
result := ((num_i / denom_i) * (num_j / denom_j));
end;
function TGenKappaFrm.compute_term2(R : IntDyneCube; i, j, l : integer) : double;
VAR
sum_i, sum_j, k : integer;
begin
sum_i:=0;
sum_j:=0;
for k := 0 to NoCats - 1 do
begin
sum_i := sum_i + R[i,k,l];
sum_j := sum_j + R[j,k,l];
end;
result := (sum_i * sum_j );
end;
//---------------------------------------------------------------------------
function TGenKappaFrm.compute_denom(R : IntDyneCube) : double;
VAR
sum : IntDyneVec;
aresult : double;
i, j, k, l : integer;
begin
aresult := 0;
SetLength(sum,NoObjects); // sum := (int *)calloc(num_points,sizeof(int));
for l := 0 to NoObjects - 1 do
begin
sum[l] := 0;
for i := 0 to NoRaters - 1 do
begin
for k := 0 to NoCats - 1 do
begin
sum[l] := sum[l] + R[i,k,l];
end;
end;
end;
for l := 0 to NoObjects - 1 do
begin
aresult := aresult + sum[l] * ( sum[l] - 1);
end;
sum := nil;
result := aresult;
end;
function TGenKappaFrm.compute_partial_pchance(R : IntDyneCube; i, j : integer;
denom : double) : double;
VAR
term1, term2 : double;
k, l : integer;
begin
term1 := 0;
term2 := 0;
for k := 0 to NoCats - 1 do
begin
term1 := term1 + compute_term1(R,i,j,k);
end;
for l := 0 to NoObjects - 1 do
begin
term2 := term2 + compute_term2(R,i,j,l);
end;
if (denom > 0.0) then result := ( term1 * ( term2 / denom ) )
else result := 0.0;
end;
//---------------------------------------------------------------------------
function TGenKappaFrm.compute_partial_pobs(R : IntDyneCube; k, l : integer) : double;
VAR
sum, i : integer;
begin
sum := 0;
for i := 0 to NoRaters - 1 do
begin
sum := sum + R[i,k,l];
end;
result := (sum * (sum - 1));
end;
function TGenKappaFrm.KappaVariance(R : IntDyneCube; n, m, K1 : integer) : double;
VAR
xij, variance, term1, term2 : double;
i, j, k : integer;
pj : DblDyneVec;
begin
// calculates the variance of Kappa
// R contains 1's or 0's for raters, categories and objects (row, col, slice)
// m is number of raters
// n is number of subjects
// K1 is the number of categories
term1 := 0.0;
term2 := 0.0;
SetLength(pj,K1);
for j := 0 to K1 - 1 do pj[j] := 0.0;
// get proportion of values in each category
for j := 0 to K1 - 1 do // accross categories
begin
xij := 0.0;
for i := 0 to m - 1 do // accross raters
begin
for k := 0 to n - 1 do // accross objects
begin
xij := xij + R[i,j,k];
end;
end;
pj[j] := pj[j] + xij;
end;
for j := 0 to K1 - 1 do pj[j] := pj[j] / (n * m);
for j := 0 to K1 - 1 do
begin
term1 := term1 +(pj[j] * (1.0 - pj[j]));
term2 := term2 + (pj[j] * (1.0 - pj[j]) * (1.0 - 2.0 * pj[j]));
end;
term1 := term1 * term1;
if ((term1 > 0) and (term2 > 0)) then
variance := (2.0 / (n * m * (m-1) * term1)) * (term1 - term2)
else variance := 0.0;
pj := nil;
result := variance;
end;
procedure TGenKappaFrm.ObjInClick(Sender: TObject);
VAR index : integer;
begin
index := VarList.ItemIndex;
ObjectEdit.Text := VarList.Items.Strings[index];
VarList.Items.Delete(index);
ObjIn.Visible := false;
ObjOut.Visible := true;
end;
procedure TGenKappaFrm.ObjOutClick(Sender: TObject);
begin
VarList.Items.Add(ObjectEdit.Text);
ObjectEdit.Text := '';
ObjIn.Visible := true;
ObjOut.Visible := false;
end;
procedure TGenKappaFrm.RaterInClick(Sender: TObject);
VAR index : integer;
begin
index := VarList.ItemIndex;
RaterEdit.Text := VarList.Items.Strings[index];
VarList.Items.Delete(index);
RaterIn.Visible := false;
RaterOut.Visible := true;
end;
procedure TGenKappaFrm.RaterOutClick(Sender: TObject);
begin
VarList.Items.Add(RaterEdit.Text);
RaterEdit.Text := '';
RaterIn.Visible := true;
RaterOut.Visible := false;
end;
initialization
{$I genkappaunit.lrs}
end.

View File

@ -0,0 +1,272 @@
object GenRndValsFrm: TGenRndValsFrm
Left = 194
Height = 393
Top = 111
Width = 380
Caption = 'Generate Random Values'
ClientHeight = 393
ClientWidth = 380
OnShow = FormShow
LCLVersion = '0.9.30'
object Label1: TLabel
Left = 8
Height = 16
Top = 112
Width = 80
Caption = 'Variable Label: '
ParentColor = False
end
object Label2: TLabel
Left = 161
Height = 16
Top = 168
Width = 49
Caption = 'Between '
ParentColor = False
end
object Label3: TLabel
Left = 263
Height = 16
Top = 168
Width = 24
Caption = 'and '
ParentColor = False
end
object Label4: TLabel
Left = 162
Height = 16
Top = 200
Width = 49
Caption = 'Between '
ParentColor = False
end
object Label5: TLabel
Left = 263
Height = 16
Top = 200
Width = 21
Caption = 'and'
ParentColor = False
end
object Label6: TLabel
Left = 161
Height = 16
Top = 233
Width = 45
Caption = 'Mean = '
ParentColor = False
end
object Label7: TLabel
Left = 264
Height = 16
Top = 234
Width = 35
Caption = 'S.D. = '
ParentColor = False
end
object Label8: TLabel
Left = 161
Height = 16
Top = 270
Width = 41
Caption = 'D.F. 1 ='
ParentColor = False
end
object Label9: TLabel
Left = 160
Height = 16
Top = 304
Width = 41
Caption = 'D.F. 1 ='
ParentColor = False
end
object Label10: TLabel
Left = 264
Height = 16
Top = 301
Width = 41
Caption = 'D.F. 2 ='
ParentColor = False
end
object RadioGroup1: TRadioGroup
Left = 7
Height = 91
Top = 2
Width = 241
AutoFill = True
Caption = 'Generate Cases For:'
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 = 73
ClientWidth = 237
Items.Strings = (
'All Current Cases'
'A Specific Number of Cases'
)
OnClick = RadioGroup1Click
TabOrder = 0
end
object NoCasesEdit: TEdit
Left = 184
Height = 23
Top = 56
Width = 44
OnExit = NoCasesEditExit
TabOrder = 1
Text = 'NoCasesEdit'
end
object LabelEdit: TEdit
Left = 89
Height = 23
Top = 101
Width = 159
TabOrder = 2
Text = 'LabelEdit'
end
object RadioGroup2: TRadioGroup
Left = 8
Height = 200
Top = 136
Width = 143
AutoFill = True
Caption = 'Distribution Shape:'
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 = 182
ClientWidth = 139
Items.Strings = (
'Flat - Integer'
'Flat - Floating Point'
'Normal z Values'
'Chi-Squared Values'
'F Distribution Values'
)
OnClick = RadioGroup2Click
TabOrder = 3
end
object LowIntEdit: TEdit
Left = 210
Height = 23
Top = 160
Width = 43
OnKeyPress = LowIntEditKeyPress
TabOrder = 4
Text = 'LowIntEdit'
end
object HiIntEdit: TEdit
Left = 307
Height = 23
Top = 161
Width = 47
TabOrder = 5
Text = 'HiIntEdit'
end
object LowRealEdit: TEdit
Left = 210
Height = 23
Top = 193
Width = 43
OnKeyPress = LowRealEditKeyPress
TabOrder = 6
Text = 'LowRealEdit'
end
object HiRealEdit: TEdit
Left = 306
Height = 23
Top = 194
Width = 46
TabOrder = 7
Text = 'HiRealEdit'
end
object zMeanEdit: TEdit
Left = 210
Height = 23
Top = 227
Width = 45
OnKeyPress = zMeanEditKeyPress
TabOrder = 8
Text = 'zMeanEdit'
end
object zSDEdit: TEdit
Left = 306
Height = 23
Top = 227
Width = 48
TabOrder = 9
Text = 'zSDEdit'
end
object ChiDFEdit: TEdit
Left = 210
Height = 23
Top = 262
Width = 43
TabOrder = 10
Text = 'ChiDFEdit'
end
object FDF1Edit: TEdit
Left = 208
Height = 23
Top = 294
Width = 46
OnKeyPress = FDF1EditKeyPress
TabOrder = 11
Text = 'FDF1Edit'
end
object FDF2Edit: TEdit
Left = 312
Height = 23
Top = 289
Width = 47
TabOrder = 12
Text = 'FDF2Edit'
end
object ResetBtn: TButton
Left = 8
Height = 31
Top = 344
Width = 74
Caption = 'Reset'
OnClick = ResetBtnClick
TabOrder = 13
end
object CancelBtn: TButton
Left = 104
Height = 31
Top = 344
Width = 74
Cancel = True
Caption = 'Cancel'
ModalResult = 2
TabOrder = 14
end
object ComputeBtn: TButton
Left = 200
Height = 31
Top = 344
Width = 74
Caption = 'Compute'
OnClick = ComputeBtnClick
TabOrder = 15
end
object Return: TButton
Left = 296
Height = 31
Top = 344
Width = 74
Caption = 'Return'
ModalResult = 1
TabOrder = 16
end
end

View File

@ -0,0 +1,73 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TGenRndValsFrm','FORMDATA',[
'TPF0'#14'TGenRndValsFrm'#13'GenRndValsFrm'#4'Left'#3#194#0#6'Height'#3#137#1
+#3'Top'#2'o'#5'Width'#3'|'#1#7'Caption'#6#22'Generate Random Values'#12'Clie'
+'ntHeight'#3#137#1#11'ClientWidth'#3'|'#1#6'OnShow'#7#8'FormShow'#10'LCLVers'
+'ion'#6#6'0.9.30'#0#6'TLabel'#6'Label1'#4'Left'#2#8#6'Height'#2#16#3'Top'#2
+'p'#5'Width'#2'P'#7'Caption'#6#16'Variable Label: '#11'ParentColor'#8#0#0#6
+'TLabel'#6'Label2'#4'Left'#3#161#0#6'Height'#2#16#3'Top'#3#168#0#5'Width'#2
+'1'#7'Caption'#6#8'Between '#11'ParentColor'#8#0#0#6'TLabel'#6'Label3'#4'Lef'
+'t'#3#7#1#6'Height'#2#16#3'Top'#3#168#0#5'Width'#2#24#7'Caption'#6#4'and '#11
+'ParentColor'#8#0#0#6'TLabel'#6'Label4'#4'Left'#3#162#0#6'Height'#2#16#3'Top'
+#3#200#0#5'Width'#2'1'#7'Caption'#6#8'Between '#11'ParentColor'#8#0#0#6'TLab'
+'el'#6'Label5'#4'Left'#3#7#1#6'Height'#2#16#3'Top'#3#200#0#5'Width'#2#21#7'C'
+'aption'#6#3'and'#11'ParentColor'#8#0#0#6'TLabel'#6'Label6'#4'Left'#3#161#0#6
+'Height'#2#16#3'Top'#3#233#0#5'Width'#2'-'#7'Caption'#6#7'Mean = '#11'Parent'
+'Color'#8#0#0#6'TLabel'#6'Label7'#4'Left'#3#8#1#6'Height'#2#16#3'Top'#3#234#0
+#5'Width'#2'#'#7'Caption'#6#7'S.D. = '#11'ParentColor'#8#0#0#6'TLabel'#6'Lab'
+'el8'#4'Left'#3#161#0#6'Height'#2#16#3'Top'#3#14#1#5'Width'#2')'#7'Caption'#6
+#8'D.F. 1 ='#11'ParentColor'#8#0#0#6'TLabel'#6'Label9'#4'Left'#3#160#0#6'Hei'
+'ght'#2#16#3'Top'#3'0'#1#5'Width'#2')'#7'Caption'#6#8'D.F. 1 ='#11'ParentCol'
+'or'#8#0#0#6'TLabel'#7'Label10'#4'Left'#3#8#1#6'Height'#2#16#3'Top'#3'-'#1#5
+'Width'#2')'#7'Caption'#6#8'D.F. 2 ='#11'ParentColor'#8#0#0#11'TRadioGroup'
+#11'RadioGroup1'#4'Left'#2#7#6'Height'#2'['#3'Top'#2#2#5'Width'#3#241#0#8'Au'
+'toFill'#9#7'Caption'#6#19'Generate Cases For:'#28'ChildSizing.LeftRightSpac'
+'ing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizon'
+'tal'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'cr'
+'sHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChild'
+'s'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layou'
+'t'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1
+#12'ClientHeight'#2'I'#11'ClientWidth'#3#237#0#13'Items.Strings'#1#6#17'All '
+'Current Cases'#6#26'A Specific Number of Cases'#0#7'OnClick'#7#16'RadioGrou'
+'p1Click'#8'TabOrder'#2#0#0#0#5'TEdit'#11'NoCasesEdit'#4'Left'#3#184#0#6'Hei'
+'ght'#2#23#3'Top'#2'8'#5'Width'#2','#6'OnExit'#7#15'NoCasesEditExit'#8'TabOr'
+'der'#2#1#4'Text'#6#11'NoCasesEdit'#0#0#5'TEdit'#9'LabelEdit'#4'Left'#2'Y'#6
+'Height'#2#23#3'Top'#2'e'#5'Width'#3#159#0#8'TabOrder'#2#2#4'Text'#6#9'Label'
+'Edit'#0#0#11'TRadioGroup'#11'RadioGroup2'#4'Left'#2#8#6'Height'#3#200#0#3'T'
+'op'#3#136#0#5'Width'#3#143#0#8'AutoFill'#9#7'Caption'#6#19'Distribution Sha'
+'pe:'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2
+#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'Child'
+'Sizing.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.Shrin'
+'kHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsSc'
+'aleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'Ch'
+'ildSizing.ControlsPerLine'#2#1#12'ClientHeight'#3#182#0#11'ClientWidth'#3
+#139#0#13'Items.Strings'#1#6#14'Flat - Integer'#6#21'Flat - Floating Point'#6
+#15'Normal z Values'#6#18'Chi-Squared Values'#6#21'F Distribution Values'#0#7
+'OnClick'#7#16'RadioGroup2Click'#8'TabOrder'#2#3#0#0#5'TEdit'#10'LowIntEdit'
+#4'Left'#3#210#0#6'Height'#2#23#3'Top'#3#160#0#5'Width'#2'+'#10'OnKeyPress'#7
+#18'LowIntEditKeyPress'#8'TabOrder'#2#4#4'Text'#6#10'LowIntEdit'#0#0#5'TEdit'
+#9'HiIntEdit'#4'Left'#3'3'#1#6'Height'#2#23#3'Top'#3#161#0#5'Width'#2'/'#8'T'
+'abOrder'#2#5#4'Text'#6#9'HiIntEdit'#0#0#5'TEdit'#11'LowRealEdit'#4'Left'#3
+#210#0#6'Height'#2#23#3'Top'#3#193#0#5'Width'#2'+'#10'OnKeyPress'#7#19'LowRe'
+'alEditKeyPress'#8'TabOrder'#2#6#4'Text'#6#11'LowRealEdit'#0#0#5'TEdit'#10'H'
+'iRealEdit'#4'Left'#3'2'#1#6'Height'#2#23#3'Top'#3#194#0#5'Width'#2'.'#8'Tab'
+'Order'#2#7#4'Text'#6#10'HiRealEdit'#0#0#5'TEdit'#9'zMeanEdit'#4'Left'#3#210
+#0#6'Height'#2#23#3'Top'#3#227#0#5'Width'#2'-'#10'OnKeyPress'#7#17'zMeanEdit'
+'KeyPress'#8'TabOrder'#2#8#4'Text'#6#9'zMeanEdit'#0#0#5'TEdit'#7'zSDEdit'#4
+'Left'#3'2'#1#6'Height'#2#23#3'Top'#3#227#0#5'Width'#2'0'#8'TabOrder'#2#9#4
+'Text'#6#7'zSDEdit'#0#0#5'TEdit'#9'ChiDFEdit'#4'Left'#3#210#0#6'Height'#2#23
+#3'Top'#3#6#1#5'Width'#2'+'#8'TabOrder'#2#10#4'Text'#6#9'ChiDFEdit'#0#0#5'TE'
+'dit'#8'FDF1Edit'#4'Left'#3#208#0#6'Height'#2#23#3'Top'#3'&'#1#5'Width'#2'.'
+#10'OnKeyPress'#7#16'FDF1EditKeyPress'#8'TabOrder'#2#11#4'Text'#6#8'FDF1Edit'
+#0#0#5'TEdit'#8'FDF2Edit'#4'Left'#3'8'#1#6'Height'#2#23#3'Top'#3'!'#1#5'Widt'
+'h'#2'/'#8'TabOrder'#2#12#4'Text'#6#8'FDF2Edit'#0#0#7'TButton'#8'ResetBtn'#4
+'Left'#2#8#6'Height'#2#31#3'Top'#3'X'#1#5'Width'#2'J'#7'Caption'#6#5'Reset'#7
+'OnClick'#7#13'ResetBtnClick'#8'TabOrder'#2#13#0#0#7'TButton'#9'CancelBtn'#4
+'Left'#2'h'#6'Height'#2#31#3'Top'#3'X'#1#5'Width'#2'J'#6'Cancel'#9#7'Caption'
,#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#14#0#0#7'TButton'#10'ComputeB'
+'tn'#4'Left'#3#200#0#6'Height'#2#31#3'Top'#3'X'#1#5'Width'#2'J'#7'Caption'#6
+#7'Compute'#7'OnClick'#7#15'ComputeBtnClick'#8'TabOrder'#2#15#0#0#7'TButton'
+#6'Return'#4'Left'#3'('#1#6'Height'#2#31#3'Top'#3'X'#1#5'Width'#2'J'#7'Capti'
+'on'#6#6'Return'#11'ModalResult'#2#1#8'TabOrder'#2#16#0#0#0
]);

View File

@ -0,0 +1,282 @@
unit GenRndValsUnit;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
ExtCtrls, StdCtrls, Globals, MainUnit, OutPutUnit, FunctionsLib,
DataProcs, DictionaryUnit, Math;
type
{ TGenRndValsFrm }
TGenRndValsFrm = class(TForm)
ResetBtn: TButton;
CancelBtn: TButton;
ComputeBtn: TButton;
Return: TButton;
ChiDFEdit: TEdit;
FDF2Edit: TEdit;
FDF1Edit: TEdit;
Label10: TLabel;
Label8: TLabel;
Label9: TLabel;
zSDEdit: TEdit;
zMeanEdit: TEdit;
HiRealEdit: TEdit;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
LowRealEdit: TEdit;
Label4: TLabel;
LowIntEdit: TEdit;
HiIntEdit: TEdit;
Label2: TLabel;
Label3: TLabel;
LabelEdit: TEdit;
Label1: TLabel;
NoCasesEdit: TEdit;
RadioGroup1: TRadioGroup;
RadioGroup2: TRadioGroup;
procedure ComputeBtnClick(Sender: TObject);
procedure FDF1EditKeyPress(Sender: TObject; var Key: char);
procedure FormShow(Sender: TObject);
procedure LowIntEditKeyPress(Sender: TObject; var Key: char);
procedure LowRealEditKeyPress(Sender: TObject; var Key: char);
procedure NoCasesEditExit(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
procedure RadioGroup2Click(Sender: TObject);
procedure ResetBtnClick(Sender: TObject);
procedure zMeanEditKeyPress(Sender: TObject; var Key: char);
private
{ private declarations }
Ncases : integer;
DistType : integer;
public
{ public declarations }
end;
var
GenRndValsFrm: TGenRndValsFrm;
implementation
{ TGenRndValsFrm }
procedure TGenRndValsFrm.RadioGroup1Click(Sender: TObject);
begin
if RadioGroup1.ItemIndex = 1 then
begin
if NoCases <= 0 then
begin
ShowMessage('Error! There are currently no cases!');
exit;
end
else Ncases := NoCases
end
else NoCasesEdit.SetFocus;
end;
procedure TGenRndValsFrm.LowIntEditKeyPress(Sender: TObject; var Key: char);
begin
if Ord(Key) = 13 then HiIntEdit.SetFocus;
end;
procedure TGenRndValsFrm.FDF1EditKeyPress(Sender: TObject; var Key: char);
begin
if Ord(Key) = 13 then FDF2Edit.SetFocus;
end;
procedure TGenRndValsFrm.ComputeBtnClick(Sender: TObject);
var
i, j : integer;
col : integer;
RndNo : integer;
RealRnd : double;
Range : integer;
MinReal, MaxReal : double;
Mean, StdDev : double;
SumX1, SumX2 : double;
df1, df2 : integer;
begin
if LabelEdit.Text = '' then
begin
ShowMessage('Error. Enter a label for the variable.');
exit;
end;
if DistType <= 0 then
begin
ShowMessage('First, select a distribution type.');
exit;
end;
if RadioGroup1.ItemIndex < 0 then
begin
ShowMessage('Select an option for the number of values to generate.');
exit;
end;
if (RadioGroup1.ItemIndex = 1) and (NoCasesEdit.Text = '') then
begin
ShowMessage('Error! Number of cases not specified.');
exit;
end
else Ncases := StrToInt(NoCasesEdit.Text);
if NoCases < Ncases then
begin
OS3MainFrm.DataGrid.RowCount := NCases + 1;
OS3MainFrm.NoCasesEdit.Text := IntToStr(NCases);
NoCases := Ncases;
end;
DictionaryFrm.DictGrid.ColCount := 8;
if NoVariables <= 0 then // a new data file
begin
OS3MainFrm.DataGrid.ColCount := 2;
for i := 1 to Ncases do
OS3MainFrm.DataGrid.Cells[0,i] := format('Case %d',[i]);
col := 1;
DictionaryFrm.DictGrid.RowCount := 1;
DictionaryFrm.NewVar(col);
DictionaryFrm.DictGrid.Cells[1,col] := LabelEdit.Text;
OS3MainFrm.DataGrid.Cells[col,0] := LabelEdit.Text;
end
else // existing data file
begin
col := NoVariables + 1;
DictionaryFrm.NewVar(col);
DictionaryFrm.DictGrid.Cells[1,col] := LabelEdit.Text;
OS3MainFrm.DataGrid.Cells[col,0] := LabelEdit.Text;
end;
randomize;
case DistType of
1 : begin // range of integers
Range := StrToInt(HiIntEdit.Text) - StrToInt(LowIntEdit.Text);
for i := 1 to Ncases do
begin
RndNo := random(Range);
RndNo := RndNo + StrToInt(LowIntEdit.Text);
OS3MainFrm.DataGrid.Cells[col,i] := IntToStr(RndNo);
end;
end;
2 : begin // range of real random numbers
MinReal := StrToFloat(LowRealEdit.Text);
MaxReal := StrToFloat(HiRealEdit.Text);
Range := round(MaxReal - MinReal);
for i := 1 to Ncases do
begin
RealRnd := random;
RndNo := random(Range);
RealRnd := RndNo + RealRnd + MinReal;
OS3MainFrm.DataGrid.Cells[col,i] := format('%8.3f',[RealRnd]);
end;
end;
3 : begin // normally distributed z score
Mean := StrToFloat(zMeanEdit.Text);
StdDev := StrToFloat(zSDEdit.Text);
for i := 1 to Ncases do
begin
RealRnd := RandG(Mean,StdDev);
OS3MainFrm.DataGrid.Cells[col,i] := format('%8.3f',[RealRnd]);
end;
end;
4 : begin // Chi square is a sum of df squared normally distributed z scores
df1 := StrToInt(ChiDFEdit.Text);
for i := 1 to Ncases do
begin
SumX1 := 0.0;
for j := 1 to df1 do
begin
RealRnd := RandG(0.0,1.0);
SumX1 := SumX1 + (RealRnd * RealRnd);
end;
OS3MainFrm.DataGrid.Cells[col,i] := format('%8.3f',[SumX1]);
end;
end;
5 : begin // F ratio is a ratio of two independent chi-squares
df1 := StrToInt(FDF1Edit.Text);
df2 := StrToInt(FDF2Edit.Text);
for i := 1 to Ncases do
begin
SumX1 := 0.0;
SumX2 := 0.0;
for j := 1 to df1 do
begin
RealRnd := RandG(0.0,1.0);
SumX1 := SumX1 + (RealRnd * RealRnd);
end;
for j := 1 to df2 do
begin
RealRnd := RandG(0.0,1.0);
SumX2 := SumX2 + (RealRnd * RealRnd);
end;
RealRnd := SumX1 / SumX2;
OS3MainFrm.DataGrid.Cells[col,i] := format('%8.3f',[RealRnd]);
end;
end;
end;
NoVariables := col;
OS3MainFrm.NoVarsEdit.Text := IntToStr(NoVariables);
OS3MainFrm.NoCasesEdit.Text := IntToStr(NoCases);
end;
procedure TGenRndValsFrm.FormShow(Sender: TObject);
begin
ResetBtnClick(self);
end;
procedure TGenRndValsFrm.LowRealEditKeyPress(Sender: TObject; var Key: char);
begin
if Ord(Key) = 13 then HiRealEdit.SetFocus;
end;
procedure TGenRndValsFrm.NoCasesEditExit(Sender: TObject);
begin
if RadioGroup1.ItemIndex = 1 then Ncases := StrToInt(NoCasesEdit.Text);
end;
procedure TGenRndValsFrm.RadioGroup2Click(Sender: TObject);
begin
DistType := RadioGroup2.ItemIndex + 1;
case DistType of
1 : LowIntEdit.SetFocus;
2 : LowRealEdit.SetFocus;
3 : zMeanEdit.SetFocus;
4 : ChiDFEdit.SetFocus;
5 : FDF1Edit.SetFocus;
else
begin
ShowMessage('Please select a distribution type before pressing Compute.');
exit;
end;
end;
end;
procedure TGenRndValsFrm.ResetBtnClick(Sender: TObject);
begin
NoCasesEdit.Text := '';
RadioGroup1.ItemIndex := -1;
RadioGroup2.ItemIndex := -1;
LabelEdit.Text := '';
LowIntEdit.Text := '';
HiIntEdit.Text := '';
LowRealEdit.Text := '';
HiRealEdit.Text := '';
zMeanEdit.Text := '';
zSDEdit.Text := '';
ChiDFEdit.Text := '';
FDF1Edit.Text := '';
FDF2Edit.Text := '';
DistType := 0;
end;
procedure TGenRndValsFrm.zMeanEditKeyPress(Sender: TObject; var Key: char);
begin
if Ord(Key) = 13 then zSDEdit.SetFocus;
end;
initialization
{$I genrndvalsunit.lrs}
end.

View File

@ -0,0 +1,128 @@
object GenSeqFrm: TGenSeqFrm
Left = 174
Height = 192
Top = 110
Width = 301
Caption = 'Generation of Sequential Values'
ClientHeight = 192
ClientWidth = 301
OnShow = FormShow
LCLVersion = '0.9.30'
object Label1: TLabel
Left = 9
Height = 16
Top = 96
Width = 100
Caption = 'Start Sequence At: '
ParentColor = False
end
object Label2: TLabel
Left = 10
Height = 16
Top = 127
Width = 114
Caption = 'Increment Values By: '
ParentColor = False
end
object Label3: TLabel
Left = 8
Height = 16
Top = 160
Width = 107
Caption = 'New Variable Label: '
ParentColor = False
end
object RadioGroup1: TRadioGroup
Left = 10
Height = 71
Top = 6
Width = 188
AutoFill = True
Caption = 'Generate for:'
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 = 53
ClientWidth = 184
Items.Strings = (
'All Current Cases'
'Number of Cases = '
)
OnClick = RadioGroup1Click
TabOrder = 0
end
object NoCasesEdit: TEdit
Left = 144
Height = 23
Top = 40
Width = 42
OnExit = NoCasesEditExit
TabOrder = 1
Text = 'NoCasesEdit'
end
object StartAtEdit: TEdit
Left = 150
Height = 23
Top = 86
Width = 41
TabOrder = 2
Text = 'StartAtEdit'
end
object IncrEdit: TEdit
Left = 149
Height = 23
Top = 120
Width = 42
TabOrder = 3
Text = 'IncrEdit'
end
object LabelEdit: TEdit
Left = 113
Height = 23
Top = 153
Width = 78
TabOrder = 4
Text = 'LabelEdit'
end
object ResetBtn: TButton
Left = 209
Height = 30
Top = 7
Width = 80
Caption = 'Reset'
OnClick = ResetBtnClick
TabOrder = 5
end
object CancelBtn: TButton
Left = 209
Height = 30
Top = 48
Width = 80
Caption = 'Cancel'
ModalResult = 2
TabOrder = 6
end
object ComputeBtn: TButton
Left = 209
Height = 30
Top = 104
Width = 80
Caption = 'Compute'
OnClick = ComputeBtnClick
TabOrder = 7
end
object ReturnBtn: TButton
Left = 209
Height = 30
Top = 144
Width = 80
Caption = 'Return'
ModalResult = 1
TabOrder = 8
end
end

View File

@ -0,0 +1,37 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TGenSeqFrm','FORMDATA',[
'TPF0'#10'TGenSeqFrm'#9'GenSeqFrm'#4'Left'#3#174#0#6'Height'#3#192#0#3'Top'#2
+'n'#5'Width'#3'-'#1#7'Caption'#6#31'Generation of Sequential Values'#12'Clie'
+'ntHeight'#3#192#0#11'ClientWidth'#3'-'#1#6'OnShow'#7#8'FormShow'#10'LCLVers'
+'ion'#6#6'0.9.30'#0#6'TLabel'#6'Label1'#4'Left'#2#9#6'Height'#2#16#3'Top'#2
+'`'#5'Width'#2'd'#7'Caption'#6#19'Start Sequence At: '#11'ParentColor'#8#0#0
+#6'TLabel'#6'Label2'#4'Left'#2#10#6'Height'#2#16#3'Top'#2#127#5'Width'#2'r'#7
+'Caption'#6#21'Increment Values By: '#11'ParentColor'#8#0#0#6'TLabel'#6'Labe'
+'l3'#4'Left'#2#8#6'Height'#2#16#3'Top'#3#160#0#5'Width'#2'k'#7'Caption'#6#20
+'New Variable Label: '#11'ParentColor'#8#0#0#11'TRadioGroup'#11'RadioGroup1'
+#4'Left'#2#10#6'Height'#2'G'#3'Top'#2#6#5'Width'#3#188#0#8'AutoFill'#9#7'Cap'
+'tion'#6#13'Generate for:'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizi'
+'ng.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogeno'
+'usChildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildResiz'
+'e'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.Shr'
+'inkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRigh'
+'tThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1#12'ClientHeight'#2'5'
+#11'ClientWidth'#3#184#0#13'Items.Strings'#1#6#17'All Current Cases'#6#18'Nu'
+'mber of Cases = '#0#7'OnClick'#7#16'RadioGroup1Click'#8'TabOrder'#2#0#0#0#5
+'TEdit'#11'NoCasesEdit'#4'Left'#3#144#0#6'Height'#2#23#3'Top'#2'('#5'Width'#2
+'*'#6'OnExit'#7#15'NoCasesEditExit'#8'TabOrder'#2#1#4'Text'#6#11'NoCasesEdit'
+#0#0#5'TEdit'#11'StartAtEdit'#4'Left'#3#150#0#6'Height'#2#23#3'Top'#2'V'#5'W'
+'idth'#2')'#8'TabOrder'#2#2#4'Text'#6#11'StartAtEdit'#0#0#5'TEdit'#8'IncrEdi'
+'t'#4'Left'#3#149#0#6'Height'#2#23#3'Top'#2'x'#5'Width'#2'*'#8'TabOrder'#2#3
+#4'Text'#6#8'IncrEdit'#0#0#5'TEdit'#9'LabelEdit'#4'Left'#2'q'#6'Height'#2#23
+#3'Top'#3#153#0#5'Width'#2'N'#8'TabOrder'#2#4#4'Text'#6#9'LabelEdit'#0#0#7'T'
+'Button'#8'ResetBtn'#4'Left'#3#209#0#6'Height'#2#30#3'Top'#2#7#5'Width'#2'P'
+#7'Caption'#6#5'Reset'#7'OnClick'#7#13'ResetBtnClick'#8'TabOrder'#2#5#0#0#7
+'TButton'#9'CancelBtn'#4'Left'#3#209#0#6'Height'#2#30#3'Top'#2'0'#5'Width'#2
+'P'#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#6#0#0#7'TButton'
+#10'ComputeBtn'#4'Left'#3#209#0#6'Height'#2#30#3'Top'#2'h'#5'Width'#2'P'#7'C'
+'aption'#6#7'Compute'#7'OnClick'#7#15'ComputeBtnClick'#8'TabOrder'#2#7#0#0#7
+'TButton'#9'ReturnBtn'#4'Left'#3#209#0#6'Height'#2#30#3'Top'#3#144#0#5'Width'
+#2'P'#7'Caption'#6#6'Return'#11'ModalResult'#2#1#8'TabOrder'#2#8#0#0#0
]);

View File

@ -0,0 +1,150 @@
unit GenSeqUnit;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
ExtCtrls, StdCtrls, Globals, MainUnit, OutPutUnit,
DictionaryUnit;
type
{ TGenSeqFrm }
TGenSeqFrm = class(TForm)
ResetBtn: TButton;
CancelBtn: TButton;
ComputeBtn: TButton;
ReturnBtn: TButton;
LabelEdit: TEdit;
Label3: TLabel;
StartAtEdit: TEdit;
IncrEdit: TEdit;
Label1: TLabel;
Label2: TLabel;
NoCasesEdit: TEdit;
RadioGroup1: TRadioGroup;
procedure ComputeBtnClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure NoCasesEditExit(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
procedure ResetBtnClick(Sender: TObject);
private
{ private declarations }
Ncases : integer;
public
{ public declarations }
end;
var
GenSeqFrm: TGenSeqFrm;
implementation
{ TGenSeqFrm }
procedure TGenSeqFrm.ResetBtnClick(Sender: TObject);
begin
RadioGroup1.ItemIndex := 1;
NoCasesEdit.Text := '';
StartAtEdit.Text := '';
IncrEdit.Text := '';
LabelEdit.Text := '';
end;
procedure TGenSeqFrm.FormShow(Sender: TObject);
begin
ResetBtnClick(self);
end;
procedure TGenSeqFrm.ComputeBtnClick(Sender: TObject);
var
i, col : integer;
First, Increment : double;
begin
if StartAtEdit.Text = '' then
begin
ShowMessage('Error! No starting value provided.');
exit;
end;
if IncrEdit.Text = '' then
begin
ShowMessage('Error! No increment value provided.');
exit;
end;
if LabelEdit.Text = '' then
begin
ShowMessage('Error! No variable label provided.');
exit;
end;
if NoCases < Ncases then
begin
OS3MainFrm.DataGrid.RowCount := NCases + 1;
OS3MainFrm.NoCasesEdit.Text := IntToStr(NCases);
NoCases := Ncases;
end;
if NoVariables <= 0 then // a new data file
begin
OS3MainFrm.DataGrid.ColCount := 2;
OS3MainFrm.DataGrid.RowCount := Ncases + 1;
for i := 1 to Ncases do
OS3MainFrm.DataGrid.Cells[0,i] := format('Case %d',[i]);
col := 1;
DictionaryFrm.DictGrid.RowCount := 1;
DictionaryFrm.DictGrid.ColCount := 8;
DictionaryFrm.NewVar(col);
DictionaryFrm.DictGrid.Cells[1,col] := LabelEdit.Text;
OS3MainFrm.DataGrid.Cells[1,0] := LabelEdit.Text;
DictionaryFrm.DictGrid.RowCount := 2;
NoVariables := 1;
end
else // existing data file
begin
col := NoVariables + 1;
DictionaryFrm.NewVar(col);
DictionaryFrm.DictGrid.Cells[1,col] := LabelEdit.Text;
end;
First := StrToFloat(StartAtEdit.Text);
Increment := StrToFloat(IncrEdit.Text);
for i := 1 to Ncases do
begin
OS3MainFrm.DataGrid.Cells[col,i] := format('%8.3f',[First]);
First := First + Increment;
end;
OS3MainFrm.NoVarsEdit.Text := IntToStr(NoVariables);
end;
procedure TGenSeqFrm.NoCasesEditExit(Sender: TObject);
begin
if RadioGroup1.ItemIndex = 1 then Ncases := StrToInt(NoCasesEdit.Text);
if (Ncases <= 0) and (RadioGroup1.ItemIndex = 1) then
begin
ShowMessage('Error! No. of cases to generate not specified.');
exit;
end;
end;
procedure TGenSeqFrm.RadioGroup1Click(Sender: TObject);
begin
if RadioGroup1.ItemIndex = 0 then
begin
if NoCases <= 0 then
begin
ShowMessage('Error! There are currently no cases!');
exit;
end
else Ncases := NoCases;
end
else NoCasesEdit.SetFocus;
end;
initialization
{$I gensequnit.lrs}
end.

View File

@ -0,0 +1,966 @@
object GLMFrm: TGLMFrm
Left = 53
Height = 589
Top = 97
Width = 857
Caption = 'General Linear Model'
ClientHeight = 589
ClientWidth = 857
OnShow = FormShow
LCLVersion = '0.9.28.2'
object Label1: TLabel
Left = 6
Height = 14
Top = 66
Width = 26
Caption = 'Code'
ParentColor = False
end
object Label2: TLabel
Left = 54
Height = 14
Top = 66
Width = 109
Caption = 'Continuous Dep. Vars.'
ParentColor = False
end
object Label3: TLabel
Left = 230
Height = 14
Top = 68
Width = 90
Caption = 'Available Variables'
ParentColor = False
end
object Label4: TLabel
Left = 391
Height = 14
Top = 69
Width = 122
Caption = 'Fixed Effect Indep. Vars.'
ParentColor = False
end
object Label5: TLabel
Left = 535
Height = 14
Top = 67
Width = 26
Caption = 'Code'
ParentColor = False
end
object Label6: TLabel
Left = 57
Height = 14
Top = 186
Width = 109
Caption = 'Categorical Dep. Vars.'
ParentColor = False
end
object Label7: TLabel
Left = 56
Height = 14
Top = 288
Width = 128
Caption = 'Repeatd Meas. Dep. Vars.'
ParentColor = False
end
object Label8: TLabel
Left = 391
Height = 14
Top = 179
Width = 135
Caption = 'Random Effect Indep. Vars.'
ParentColor = False
end
object Label9: TLabel
Left = 392
Height = 14
Top = 290
Width = 118
Caption = 'Covariates (Continuous)'
ParentColor = False
end
object Label10: TLabel
Left = 393
Height = 14
Top = 392
Width = 117
Caption = 'Repeated Meas. Effects'
ParentColor = False
end
object Label11: TLabel
Left = 601
Height = 14
Top = 210
Width = 131
Caption = 'List of Defined Interactions'
ParentColor = False
end
object Label12: TLabel
Left = 312
Height = 14
Top = 499
Width = 129
Caption = 'Order of Indep. Var. Entry'
ParentColor = False
end
object StartInterBtn: TButton
Left = 598
Height = 19
Top = 66
Width = 207
Caption = 'Begin Definition of an Interaction'
OnClick = StartInterBtnClick
TabOrder = 0
end
object VarList: TListBox
Left = 216
Height = 297
Top = 87
Width = 128
ItemHeight = 0
MultiSelect = True
TabOrder = 1
end
object DepContList: TListBox
Left = 58
Height = 81
Top = 88
Width = 111
ItemHeight = 0
TabOrder = 2
end
object FixedList: TListBox
Left = 389
Height = 77
Top = 86
Width = 130
ItemHeight = 0
OnClick = FixedListClick
TabOrder = 3
end
object ContDepInBtn: TBitBtn
Left = 175
Height = 28
Top = 90
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 = ContDepInBtnClick
TabOrder = 4
end
object ContDepOutBtn: TBitBtn
Left = 176
Height = 28
Top = 128
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 = ContDepOutBtnClick
TabOrder = 5
end
object CatDepInBtn: TBitBtn
Left = 175
Height = 28
Top = 192
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 = CatDepInBtnClick
TabOrder = 6
end
object CatDepOutBtn: TBitBtn
Left = 175
Height = 28
Top = 232
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 = CatDepOutBtnClick
TabOrder = 7
end
object RepDepInBtn: TBitBtn
Left = 175
Height = 28
Top = 304
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 = RepDepInBtnClick
TabOrder = 8
end
object ReptDepOutBtn: TBitBtn
Left = 176
Height = 28
Top = 344
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 = ReptDepOutBtnClick
TabOrder = 9
end
object FixedIndepInBtn: TBitBtn
Left = 352
Height = 28
Top = 90
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 = FixedIndepInBtnClick
TabOrder = 10
end
object FixedIndepOutBtn: TBitBtn
Left = 352
Height = 28
Top = 128
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 = FixedIndepOutBtnClick
TabOrder = 11
end
object RndIndepInBtn: TBitBtn
Left = 352
Height = 28
Top = 192
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 = RndIndepInBtnClick
TabOrder = 12
end
object RndIndepOutBtn: TBitBtn
Left = 352
Height = 28
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 = RndIndepOutBtnClick
TabOrder = 13
end
object CovInBtn: TBitBtn
Left = 352
Height = 28
Top = 304
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 = CovInBtnClick
TabOrder = 14
end
object CovOutBtn: TBitBtn
Left = 352
Height = 28
Top = 344
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 = CovOutBtnClick
TabOrder = 15
end
object DepCatList: TListBox
Left = 58
Height = 74
Top = 201
Width = 104
ItemHeight = 0
TabOrder = 16
end
object RepeatList: TListBox
Left = 57
Height = 80
Top = 303
Width = 104
ItemHeight = 0
TabOrder = 17
end
object RandomList: TListBox
Left = 392
Height = 80
Top = 197
Width = 127
ItemHeight = 0
OnClick = RandomListClick
TabOrder = 18
end
object CovariateList: TListBox
Left = 393
Height = 77
Top = 304
Width = 125
ItemHeight = 0
OnClick = CovariateListClick
TabOrder = 19
end
object Memo2: TMemo
Left = 5
Height = 55
Top = 408
Width = 338
Lines.Strings = (
'NOTE! Be sure to enter the dependent variable(s) first, then the'
'independent variables. When defining interactions, enter'
'two-way interactions first, then three-way, etc.'
)
TabOrder = 20
end
object RepTrtList: TListBox
Left = 392
Height = 54
Top = 411
Width = 129
ItemHeight = 0
OnClick = RepTrtListClick
TabOrder = 21
end
object ShowModelBtn: TButton
Left = 6
Height = 20
Top = 472
Width = 66
Caption = 'Show Model'
OnClick = ShowModelBtnClick
TabOrder = 22
end
object ModelEdit: TEdit
Left = 79
Height = 21
Top = 471
Width = 764
TabOrder = 23
Text = 'ModelEdit'
end
object InterDefList: TListBox
Left = 598
Height = 70
Top = 93
Width = 246
ItemHeight = 0
TabOrder = 24
end
object EndDefBtn: TButton
Left = 598
Height = 20
Top = 175
Width = 211
Caption = 'End Definititon of an Interaction'
OnClick = EndDefBtnClick
TabOrder = 25
end
object InteractList: TListBox
Left = 599
Height = 228
Top = 232
Width = 245
ItemHeight = 0
TabOrder = 26
end
object GroupBox1: TGroupBox
Left = 8
Height = 83
Top = 499
Width = 144
Caption = 'Statistics'
ClientHeight = 65
ClientWidth = 140
TabOrder = 27
object DescChk: TCheckBox
Left = 3
Height = 17
Top = 0
Width = 120
Caption = 'Means, Var.''s, S.D.''s'
TabOrder = 0
end
object CorsChk: TCheckBox
Left = 3
Height = 17
Top = 21
Width = 78
Caption = 'Correlations'
TabOrder = 1
end
object ResidChk: TCheckBox
Left = 3
Height = 17
Top = 44
Width = 65
Caption = 'Residuals'
TabOrder = 2
end
end
object TypeGroup: TRadioGroup
Left = 160
Height = 81
Top = 499
Width = 131
AutoFill = True
Caption = 'Type of Coding'
ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 63
ClientWidth = 127
ItemIndex = 1
Items.Strings = (
'Dummy'
'Effect'
'Orthogonal'
)
TabOrder = 28
end
object IndOrderBox: TListBox
Left = 312
Height = 67
Top = 513
Width = 149
ItemHeight = 0
TabOrder = 29
end
object ResetBtn: TButton
Left = 224
Height = 33
Top = 16
Width = 88
Caption = 'Reset'
OnClick = ResetBtnClick
TabOrder = 30
end
object CancelBtn: TButton
Left = 112
Height = 33
Top = 16
Width = 88
Caption = 'Cancel'
ModalResult = 2
TabOrder = 31
end
object ComputeBtn: TButton
Left = 336
Height = 33
Top = 16
Width = 84
Caption = 'Compute'
OnClick = ComputeBtnClick
TabOrder = 32
end
object ReturnBtn: TButton
Left = 444
Height = 33
Top = 16
Width = 82
Caption = 'Return'
ModalResult = 1
TabOrder = 33
end
object ContDepCode: TListBox
Left = 6
Height = 76
Top = 89
Width = 43
ItemHeight = 0
TabOrder = 34
end
object CatDepCode: TListBox
Left = 6
Height = 72
Top = 199
Width = 44
ItemHeight = 0
TabOrder = 35
end
object ReptDepCode: TListBox
Left = 6
Height = 78
Top = 302
Width = 44
ItemHeight = 0
TabOrder = 36
end
object FixedIndepCode: TListBox
Left = 529
Height = 74
Top = 87
Width = 51
ItemHeight = 0
TabOrder = 37
end
object RndIndepCode: TListBox
Left = 529
Height = 76
Top = 200
Width = 53
ItemHeight = 0
TabOrder = 38
end
object CovariateCode: TListBox
Left = 529
Height = 75
Top = 306
Width = 54
ItemHeight = 0
TabOrder = 39
end
object RepTrtCode: TListBox
Left = 528
Height = 53
Top = 409
Width = 56
ItemHeight = 0
TabOrder = 40
end
object GroupBox2: TGroupBox
Left = 512
Height = 78
Top = 499
Width = 133
Caption = 'Options'
ClientHeight = 60
ClientWidth = 129
TabOrder = 41
object ShowDesignChk: TCheckBox
Left = 4
Height = 17
Top = 8
Width = 114
Caption = 'Show Design in Grid'
TabOrder = 0
end
end
object HelpBtn: TButton
Tag = 126
Left = 8
Height = 33
Top = 16
Width = 86
Caption = 'Help'
OnClick = HelpBtnClick
TabOrder = 42
end
end

View File

@ -0,0 +1,726 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TGLMFrm','FORMDATA',[
'TPF0'#7'TGLMFrm'#6'GLMFrm'#4'Left'#2'5'#6'Height'#3'M'#2#3'Top'#2'a'#5'Width'
+#3'Y'#3#7'Caption'#6#20'General Linear Model'#12'ClientHeight'#3'M'#2#11'Cli'
+'entWidth'#3'Y'#3#6'OnShow'#7#8'FormShow'#10'LCLVersion'#6#8'0.9.28.2'#0#6'T'
+'Label'#6'Label1'#4'Left'#2#6#6'Height'#2#14#3'Top'#2'B'#5'Width'#2#26#7'Cap'
+'tion'#6#4'Code'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2'6'#6'He'
+'ight'#2#14#3'Top'#2'B'#5'Width'#2'm'#7'Caption'#6#21'Continuous Dep. Vars.'
+#11'ParentColor'#8#0#0#6'TLabel'#6'Label3'#4'Left'#3#230#0#6'Height'#2#14#3
+'Top'#2'D'#5'Width'#2'Z'#7'Caption'#6#19'Available Variables'#11'ParentColor'
+#8#0#0#6'TLabel'#6'Label4'#4'Left'#3#135#1#6'Height'#2#14#3'Top'#2'E'#5'Widt'
+'h'#2'z'#7'Caption'#6#25'Fixed Effect Indep. Vars.'#11'ParentColor'#8#0#0#6
+'TLabel'#6'Label5'#4'Left'#3#23#2#6'Height'#2#14#3'Top'#2'C'#5'Width'#2#26#7
+'Caption'#6#4'Code'#11'ParentColor'#8#0#0#6'TLabel'#6'Label6'#4'Left'#2'9'#6
+'Height'#2#14#3'Top'#3#186#0#5'Width'#2'm'#7'Caption'#6#22'Categorical Dep. '
+'Vars.'#11'ParentColor'#8#0#0#6'TLabel'#6'Label7'#4'Left'#2'8'#6'Height'#2#14
+#3'Top'#3' '#1#5'Width'#3#128#0#7'Caption'#6#24'Repeatd Meas. Dep. Vars.'#11
+'ParentColor'#8#0#0#6'TLabel'#6'Label8'#4'Left'#3#135#1#6'Height'#2#14#3'Top'
+#3#179#0#5'Width'#3#135#0#7'Caption'#6#26'Random Effect Indep. Vars.'#11'Par'
+'entColor'#8#0#0#6'TLabel'#6'Label9'#4'Left'#3#136#1#6'Height'#2#14#3'Top'#3
+'"'#1#5'Width'#2'v'#7'Caption'#6#23'Covariates (Continuous)'#11'ParentColor'
+#8#0#0#6'TLabel'#7'Label10'#4'Left'#3#137#1#6'Height'#2#14#3'Top'#3#136#1#5
+'Width'#2'u'#7'Caption'#6#22'Repeated Meas. Effects'#11'ParentColor'#8#0#0#6
+'TLabel'#7'Label11'#4'Left'#3'Y'#2#6'Height'#2#14#3'Top'#3#210#0#5'Width'#3
+#131#0#7'Caption'#6#28'List of Defined Interactions'#11'ParentColor'#8#0#0#6
+'TLabel'#7'Label12'#4'Left'#3'8'#1#6'Height'#2#14#3'Top'#3#243#1#5'Width'#3
+#129#0#7'Caption'#6#26'Order of Indep. Var. Entry'#11'ParentColor'#8#0#0#7'T'
+'Button'#13'StartInterBtn'#4'Left'#3'V'#2#6'Height'#2#19#3'Top'#2'B'#5'Width'
+#3#207#0#7'Caption'#6'"Begin Definition of an Interaction'#7'OnClick'#7#18'S'
+'tartInterBtnClick'#8'TabOrder'#2#0#0#0#8'TListBox'#7'VarList'#4'Left'#3#216
+#0#6'Height'#3')'#1#3'Top'#2'W'#5'Width'#3#128#0#10'ItemHeight'#2#0#11'Multi'
+'Select'#9#8'TabOrder'#2#1#0#0#8'TListBox'#11'DepContList'#4'Left'#2':'#6'He'
+'ight'#2'Q'#3'Top'#2'X'#5'Width'#2'o'#10'ItemHeight'#2#0#8'TabOrder'#2#2#0#0
+#8'TListBox'#9'FixedList'#4'Left'#3#133#1#6'Height'#2'M'#3'Top'#2'V'#5'Width'
+#3#130#0#10'ItemHeight'#2#0#7'OnClick'#7#14'FixedListClick'#8'TabOrder'#2#3#0
+#0#7'TBitBtn'#12'ContDepInBtn'#4'Left'#3#175#0#6'Height'#2#28#3'Top'#2'Z'#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#17'ContDepInBtnClick'#8'TabOrder'#2#4#0#0#7'TBitBtn'#13
+'ContDepOutBtn'#4'Left'#3#176#0#6'Height'#2#28#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#9'NumGlyphs'#2#0#7'OnClick'#7#18
+'ContDepOutBtnClick'#8'TabOrder'#2#5#0#0#7'TBitBtn'#11'CatDepInBtn'#4'Left'#3
+#175#0#6'Height'#2#28#3'Top'#3#192#0#5'Width'#2' '#10'Glyph.Data'#10':'#4#0#0
+'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0
+#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0'M'#161'V'#6'G'#153'O'#184#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0'S'#169'\'#217'M'#161'V'#247'G'#153'O8'#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0']'#184'h'
+#207'q'#190'{'#255'z'#193#131#255'['#170'd'#255'G'#153'O'#255'A'#145'I'#255
+';'#136'B'#255'5'#128';'#255'/x5'#255'*p/'#255'%i)'#255'!c$'#255#29'^ '#255
+#255#255#255#0#255#255#255#0'e'#195'q'#196'{'#200#134#255#156#213#165#255#152
+#211#161#255#148#208#157#255#144#206#152#255#139#203#147#255#135#201#142#255
+#130#198#137#255'~'#195#132#255'z'#193#128#255'v'#190'|'#255'r'#189'x'#255'!'
+'c$'#255#255#255#255#0#255#255#255#0'h'#199't'#201#127#204#138#255#162#216
+#171#255#158#214#167#255#154#212#163#255#150#210#159#255#147#207#154#255#142
+#204#149#255#137#202#144#255#133#199#139#255#129#197#135#255'}'#194#130#255
+'x'#192'~'#255'%i)'#255#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'
+#209#128#205#139#255'|'#201#135#255']'#184'h'#255'X'#177'b'#255'S'#169'\'#255
+'M'#161'V'#255'G'#153'O'#255'A'#145'I'#255';'#136'B'#255'5'#128';'#255'/x5'
+#255'*p/'#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'h'#199
+'t'#219'e'#195'q'#247#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'h'#199't'
+#6'h'#199't'#187#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#9'NumGlyphs'#2#0#7'OnClick'#7#16'CatDepInBtnClick'#8'Ta'
+'bOrder'#2#6#0#0#7'TBitBtn'#12'CatDepOutBtn'#4'Left'#3#175#0#6'Height'#2#28#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#255#255
+#255#0#255#255#255#0#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#17'CatDepOutBtnClick'#8'TabOrder'#2#7#0#0#7'T'
+'BitBtn'#11'RepDepInBtn'#4'Left'#3#175#0#6'Height'#2#28#3'Top'#3'0'#1#5'Widt'
+'h'#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'RepDepInBtnClick'#8'TabOrder'#2#8#0#0#7'TBitBtn'#13'ReptDepOu'
+'tBtn'#4'Left'#3#176#0#6'Height'#2#28#3'Top'#3'X'#1#5'Width'#2' '#10'Glyph.D'
+'ata'#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#18'ReptDepOutBtnC'
+'lick'#8'TabOrder'#2#9#0#0#7'TBitBtn'#15'FixedIndepInBtn'#4'Left'#3'`'#1#6'H'
+'eight'#2#28#3'Top'#2'Z'#5'Width'#2' '#10'Glyph.Data'#10':'#4#0#0'6'#4#0#0'B'
+'M6'#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#20'FixedIndepInBtnClick'#8'TabOrder'#2#10#0#0
+#7'TBitBtn'#16'FixedIndepOutBtn'#4'Left'#3'`'#1#6'Height'#2#28#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'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#21'FixedIndepOutBtnClick'#8'TabOrder'#2#11#0#0#7'TBitB'
+'tn'#13'RndIndepInBtn'#4'Left'#3'`'#1#6'Height'#2#28#3'Top'#3#192#0#5'Width'
,#2' '#10'Glyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0
+#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#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#18
+'RndIndepInBtnClick'#8'TabOrder'#2#12#0#0#7'TBitBtn'#14'RndIndepOutBtn'#4'Le'
+'ft'#3'`'#1#6'Height'#2#28#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#19'RndIndepOutBtn'
+'Click'#8'TabOrder'#2#13#0#0#7'TBitBtn'#8'CovInBtn'#4'Left'#3'`'#1#6'Height'
+#2#28#3'Top'#3'0'#1#5'Width'#2' '#10'Glyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4
+#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'
+#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0'!c$'#184#29'^ '#6#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0'*p/8%i)'#247'!c$'#217#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0'a'#190'm'#255']'#184'h'#255'X'#177'b'#255'S'#169'\'#255'M'#161
+'V'#255'G'#153'O'#255'A'#145'I'#255';'#136'B'#255'5'#128';'#255'?'#136'E'#255
+'Y'#161'^'#255'D'#139'I'#255'!c$'#207#255#255#255#0#255#255#255#0#255#255#255
+#0'e'#195'q'#255#160#215#169#255#156#213#165#255#152#211#161#255#148#208#157
+#255#144#206#152#255#139#203#147#255#135#201#142#255#130#198#137#255'~'#195
,#132#255'z'#193#128#255'v'#190'|'#255'E'#140'J'#255'!c$'#196#255#255#255#0
+#255#255#255#0'h'#199't'#255#165#218#174#255#162#216#171#255#158#214#167#255
+#154#212#163#255#150#210#159#255#147#207#154#255#142#204#149#255#137#202#144
+#255#133#199#139#255#129#197#135#255'}'#194#130#255'J'#145'P'#255'%i)'#201
+#255#255#255#0#255#255#255#0'h'#199't'#255'h'#199't'#255'e'#195'q'#255'a'#190
+'m'#255']'#184'h'#255'X'#177'b'#255'S'#169'\'#255'M'#161'V'#255'G'#153'O'#255
+'A'#145'I'#255'Z'#163'b'#255'U'#157'\'#255'/x5'#209#255#255#255#0#255#255#255
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0'A'#145'I'#247';'#136'B'#219#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0'G'#153'O'#187'A'#145'I'#6#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#9'NumGlyphs'#2#0#7'OnClick'#7#13'CovInBtnClick'#8'TabOrder'#2#14#0#0#7'TBit'
+'Btn'#9'CovOutBtn'#4'Left'#3'`'#1#6'Height'#2#28#3'Top'#3'X'#1#5'Width'#2' '
+#10'Glyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16
+#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0'M'#161'V'#6'G'#153'O'#184#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0'S'#169'\'#217'M'#161'V'#247'G'#153'O8'
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0']'#184'h'#207'q'#190'{'#255'z'#193#131#255'['#170'd'#255
+'G'#153'O'#255'A'#145'I'#255';'#136'B'#255'5'#128';'#255'/x5'#255'*p/'#255'%'
+'i)'#255'!c$'#255#29'^ '#255#255#255#255#0#255#255#255#0'e'#195'q'#196'{'#200
+#134#255#156#213#165#255#152#211#161#255#148#208#157#255#144#206#152#255#139
+#203#147#255#135#201#142#255#130#198#137#255'~'#195#132#255'z'#193#128#255'v'
+#190'|'#255'r'#189'x'#255'!c$'#255#255#255#255#0#255#255#255#0'h'#199't'#201
+#127#204#138#255#162#216#171#255#158#214#167#255#154#212#163#255#150#210#159
+#255#147#207#154#255#142#204#149#255#137#202#144#255#133#199#139#255#129#197
+#135#255'}'#194#130#255'x'#192'~'#255'%i)'#255#255#255#255#0#255#255#255#0
+#255#255#255#0'h'#199't'#209#128#205#139#255'|'#201#135#255']'#184'h'#255'X'
+#177'b'#255'S'#169'\'#255'M'#161'V'#255'G'#153'O'#255'A'#145'I'#255';'#136'B'
+#255'5'#128';'#255'/x5'#255'*p/'#255#255#255#255#0#255#255#255#0#255#255#255
+#0#255#255#255#0'h'#199't'#219'e'#195'q'#247#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0'h'#199't'#6'h'#199't'#187#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
,#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#9'NumGlyphs'#2#0#7'OnClick'#7#14
+'CovOutBtnClick'#8'TabOrder'#2#15#0#0#8'TListBox'#10'DepCatList'#4'Left'#2':'
+#6'Height'#2'J'#3'Top'#3#201#0#5'Width'#2'h'#10'ItemHeight'#2#0#8'TabOrder'#2
+#16#0#0#8'TListBox'#10'RepeatList'#4'Left'#2'9'#6'Height'#2'P'#3'Top'#3'/'#1
+#5'Width'#2'h'#10'ItemHeight'#2#0#8'TabOrder'#2#17#0#0#8'TListBox'#10'Random'
+'List'#4'Left'#3#136#1#6'Height'#2'P'#3'Top'#3#197#0#5'Width'#2#127#10'ItemH'
+'eight'#2#0#7'OnClick'#7#15'RandomListClick'#8'TabOrder'#2#18#0#0#8'TListBox'
+#13'CovariateList'#4'Left'#3#137#1#6'Height'#2'M'#3'Top'#3'0'#1#5'Width'#2'}'
+#10'ItemHeight'#2#0#7'OnClick'#7#18'CovariateListClick'#8'TabOrder'#2#19#0#0
+#5'TMemo'#5'Memo2'#4'Left'#2#5#6'Height'#2'7'#3'Top'#3#152#1#5'Width'#3'R'#1
+#13'Lines.Strings'#1#6'ANOTE! Be sure to enter the dependent variable(s) fi'
+'rst, then the'#6'9independent variables. When defining interactions, enter'
+#6'0two-way interactions first, then three-way, etc.'#0#8'TabOrder'#2#20#0#0
+#8'TListBox'#10'RepTrtList'#4'Left'#3#136#1#6'Height'#2'6'#3'Top'#3#155#1#5
+'Width'#3#129#0#10'ItemHeight'#2#0#7'OnClick'#7#15'RepTrtListClick'#8'TabOrd'
+'er'#2#21#0#0#7'TButton'#12'ShowModelBtn'#4'Left'#2#6#6'Height'#2#20#3'Top'#3
+#216#1#5'Width'#2'B'#7'Caption'#6#10'Show Model'#7'OnClick'#7#17'ShowModelBt'
+'nClick'#8'TabOrder'#2#22#0#0#5'TEdit'#9'ModelEdit'#4'Left'#2'O'#6'Height'#2
+#21#3'Top'#3#215#1#5'Width'#3#252#2#8'TabOrder'#2#23#4'Text'#6#9'ModelEdit'#0
+#0#8'TListBox'#12'InterDefList'#4'Left'#3'V'#2#6'Height'#2'F'#3'Top'#2']'#5
+'Width'#3#246#0#10'ItemHeight'#2#0#8'TabOrder'#2#24#0#0#7'TButton'#9'EndDefB'
+'tn'#4'Left'#3'V'#2#6'Height'#2#20#3'Top'#3#175#0#5'Width'#3#211#0#7'Caption'
+#6'!End Definititon of an Interaction'#7'OnClick'#7#14'EndDefBtnClick'#8'Tab'
+'Order'#2#25#0#0#8'TListBox'#12'InteractList'#4'Left'#3'W'#2#6'Height'#3#228
+#0#3'Top'#3#232#0#5'Width'#3#245#0#10'ItemHeight'#2#0#8'TabOrder'#2#26#0#0#9
+'TGroupBox'#9'GroupBox1'#4'Left'#2#8#6'Height'#2'S'#3'Top'#3#243#1#5'Width'#3
+#144#0#7'Caption'#6#10'Statistics'#12'ClientHeight'#2'A'#11'ClientWidth'#3
+#140#0#8'TabOrder'#2#27#0#9'TCheckBox'#7'DescChk'#4'Left'#2#3#6'Height'#2#17
+#3'Top'#2#0#5'Width'#2'x'#7'Caption'#6#21'Means, Var.''s, S.D.''s'#8'TabOrde'
+'r'#2#0#0#0#9'TCheckBox'#7'CorsChk'#4'Left'#2#3#6'Height'#2#17#3'Top'#2#21#5
+'Width'#2'N'#7'Caption'#6#12'Correlations'#8'TabOrder'#2#1#0#0#9'TCheckBox'#8
+'ResidChk'#4'Left'#2#3#6'Height'#2#17#3'Top'#2','#5'Width'#2'A'#7'Caption'#6
+#9'Residuals'#8'TabOrder'#2#2#0#0#0#11'TRadioGroup'#9'TypeGroup'#4'Left'#3
+#160#0#6'Height'#2'Q'#3'Top'#3#243#1#5'Width'#3#131#0#8'AutoFill'#9#7'Captio'
+'n'#6#14'Type of Coding'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing'
+'.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenous'
+'ChildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildResize'
+#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.Shrink'
+'Vertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightTh'
+'enTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1#12'ClientHeight'#2'?'#11
+'ClientWidth'#2#127#9'ItemIndex'#2#1#13'Items.Strings'#1#6#5'Dummy'#6#6'Effe'
+'ct'#6#10'Orthogonal'#0#8'TabOrder'#2#28#0#0#8'TListBox'#11'IndOrderBox'#4'L'
+'eft'#3'8'#1#6'Height'#2'C'#3'Top'#3#1#2#5'Width'#3#149#0#10'ItemHeight'#2#0
+#8'TabOrder'#2#29#0#0#7'TButton'#8'ResetBtn'#4'Left'#3#224#0#6'Height'#2'!'#3
+'Top'#2#16#5'Width'#2'X'#7'Caption'#6#5'Reset'#7'OnClick'#7#13'ResetBtnClick'
+#8'TabOrder'#2#30#0#0#7'TButton'#9'CancelBtn'#4'Left'#2'p'#6'Height'#2'!'#3
+'Top'#2#16#5'Width'#2'X'#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrd'
+'er'#2#31#0#0#7'TButton'#10'ComputeBtn'#4'Left'#3'P'#1#6'Height'#2'!'#3'Top'
+#2#16#5'Width'#2'T'#7'Caption'#6#7'Compute'#7'OnClick'#7#15'ComputeBtnClick'
+#8'TabOrder'#2' '#0#0#7'TButton'#9'ReturnBtn'#4'Left'#3#188#1#6'Height'#2'!'
+#3'Top'#2#16#5'Width'#2'R'#7'Caption'#6#6'Return'#11'ModalResult'#2#1#8'TabO'
+'rder'#2'!'#0#0#8'TListBox'#11'ContDepCode'#4'Left'#2#6#6'Height'#2'L'#3'Top'
,#2'Y'#5'Width'#2'+'#10'ItemHeight'#2#0#8'TabOrder'#2'"'#0#0#8'TListBox'#10'C'
+'atDepCode'#4'Left'#2#6#6'Height'#2'H'#3'Top'#3#199#0#5'Width'#2','#10'ItemH'
+'eight'#2#0#8'TabOrder'#2'#'#0#0#8'TListBox'#11'ReptDepCode'#4'Left'#2#6#6'H'
+'eight'#2'N'#3'Top'#3'.'#1#5'Width'#2','#10'ItemHeight'#2#0#8'TabOrder'#2'$'
+#0#0#8'TListBox'#14'FixedIndepCode'#4'Left'#3#17#2#6'Height'#2'J'#3'Top'#2'W'
+#5'Width'#2'3'#10'ItemHeight'#2#0#8'TabOrder'#2'%'#0#0#8'TListBox'#12'RndInd'
+'epCode'#4'Left'#3#17#2#6'Height'#2'L'#3'Top'#3#200#0#5'Width'#2'5'#10'ItemH'
+'eight'#2#0#8'TabOrder'#2'&'#0#0#8'TListBox'#13'CovariateCode'#4'Left'#3#17#2
+#6'Height'#2'K'#3'Top'#3'2'#1#5'Width'#2'6'#10'ItemHeight'#2#0#8'TabOrder'#2
+''''#0#0#8'TListBox'#10'RepTrtCode'#4'Left'#3#16#2#6'Height'#2'5'#3'Top'#3
+#153#1#5'Width'#2'8'#10'ItemHeight'#2#0#8'TabOrder'#2'('#0#0#9'TGroupBox'#9
+'GroupBox2'#4'Left'#3#0#2#6'Height'#2'N'#3'Top'#3#243#1#5'Width'#3#133#0#7'C'
+'aption'#6#7'Options'#12'ClientHeight'#2'<'#11'ClientWidth'#3#129#0#8'TabOrd'
+'er'#2')'#0#9'TCheckBox'#13'ShowDesignChk'#4'Left'#2#4#6'Height'#2#17#3'Top'
+#2#8#5'Width'#2'r'#7'Caption'#6#19'Show Design in Grid'#8'TabOrder'#2#0#0#0#0
+#7'TButton'#7'HelpBtn'#3'Tag'#2'~'#4'Left'#2#8#6'Height'#2'!'#3'Top'#2#16#5
+'Width'#2'V'#7'Caption'#6#4'Help'#7'OnClick'#7#12'HelpBtnClick'#8'TabOrder'#2
+'*'#0#0#0
]);

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,60 @@
unit Globals;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils;
const TOL = 0.0005;
Type IntDyneVec = array of integer;
Type DblDyneVec = array of double;
Type BoolDyneVec = array of boolean;
Type DblDyneMat = array of array of double;
Type IntDyneMat = array of array of integer;
Type DblDyneCube = array of array of array of double;
Type IntDyneCube = array of array of array of integer;
Type DblDyneQuad = array of array of array of array of double;
Type IntDyneQuad = array of array of array of array of integer;
Type StrDyneVec = array of string;
Type StrDyneMat = array of array of string;
Type CharDyneVec = array of char;
type POINT3D = record
x, y, z : double;
end;
type POINTint = record
x, y : integer;
end;
var
NoCases : integer;
NoVariables : integer;
VarDefined : array[0..500] of boolean;
TempStream : TMemoryStream;
TempVarItm : TMemoryStream;
DictLoaded : boolean;
FilterOn : boolean;
FilterCol : integer;
OpenStatPath : string;
AItems : array[0..8] of string;
LoggedOn : boolean = false;
implementation
end.

View File

@ -0,0 +1,192 @@
object GradebookFrm: TGradebookFrm
Left = 22
Height = 541
Top = 86
Width = 956
Caption = 'Gradebook'
ClientHeight = 522
ClientWidth = 956
Menu = MainMenu1
OnCreate = FormCreate
OnShow = FormShow
LCLVersion = '0.9.28.2'
object Label1: TLabel
Left = 46
Height = 25
Top = 13
Width = 247
Caption = 'YOUR GRADEBOOK FOR:'
Font.CharSet = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -21
Font.Name = 'Times New Roman'
Font.Pitch = fpVariable
Font.Quality = fqDraft
Font.Style = [fsBold, fsItalic]
ParentColor = False
ParentFont = False
end
object Label2: TLabel
Left = 8
Height = 14
Top = 48
Width = 21
Caption = 'File:'
ParentColor = False
end
object Label3: TLabel
Left = 56
Height = 14
Top = 80
Width = 179
Caption = 'Directory (click folder icon to change)'
ParentColor = False
end
object FileNameEdit: TEdit
Left = 40
Height = 21
Top = 46
Width = 252
TabOrder = 0
Text = 'FileNameEdit'
end
object DirectoryEdit1: TDirectoryEdit
Left = 8
Height = 21
Top = 104
Width = 284
Directory = 'C:'
ShowHidden = False
ButtonWidth = 23
NumGlyphs = 0
TabOrder = 1
OnChange = DirectoryEdit1Change
end
object FileListBox1: TFileListBox
Left = 7
Height = 293
Top = 145
Width = 287
Directory = 'C:\Windows\system32'
ItemHeight = 13
TabOrder = 2
end
object ResetBtn: TButton
Left = 8
Height = 29
Top = 447
Width = 98
Caption = 'Start New'
TabOrder = 3
end
object ExitBtn: TButton
Left = 9
Height = 29
Top = 480
Width = 97
Caption = 'Exit'
ModalResult = 1
OnClick = ExitBtnClick
TabOrder = 4
end
object Grid: TStringGrid
Left = 320
Height = 504
Top = 0
Width = 628
ColCount = 58
FixedCols = 0
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goEditing, goTabs, goSmoothScroll]
RowCount = 41
TabOrder = 5
OnExit = GridExit
end
object RadioGroup1: TRadioGroup
Left = 129
Height = 61
Top = 447
Width = 163
AutoFill = True
Caption = 'Name Protection:'
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 = 43
ClientWidth = 159
ItemIndex = 1
Items.Strings = (
'Turn ON'
'Turn OFF'
)
OnClick = RadioGroup1Click
TabOrder = 6
end
object MainMenu1: TMainMenu
left = 304
object FilesMenu: TMenuItem
Caption = 'Files'
object NewGBMnu: TMenuItem
Caption = 'New Grade Book'
OnClick = NewGBMnuClick
end
object OpenGBMnu: TMenuItem
Caption = 'Open Existing Grade Book'
OnClick = OpenGBMnuClick
end
object SaveGBMnu: TMenuItem
Caption = 'Save Grade Book'
OnClick = SaveGBMnuClick
end
object ExitMnu: TMenuItem
Caption = 'Exit'
OnClick = ExitMnuClick
end
end
object EditMnu: TMenuItem
Caption = 'Edit'
object DelRowMnu: TMenuItem
Caption = 'Delete Current Row'
OnClick = DelRowMnuClick
end
end
object ComputeMenu: TMenuItem
Caption = 'Compute'
object TestAnalMnu: TMenuItem
Caption = 'Analyze a Test'
OnClick = TestAnalMnuClick
end
object CompScrMnu: TMenuItem
Caption = 'Calc. Composite Score'
OnClick = CompScrMnuClick
end
end
object ReportsMenu: TMenuItem
Caption = 'Reports'
object StudRptsMnu: TMenuItem
Caption = 'Individual Student Reports'
OnClick = StudRptsMnuClick
end
object ClassRptMnu: TMenuItem
Caption = 'Class Report'
OnClick = ClassRptMnuClick
end
end
object HelpMenu: TMenuItem
Caption = 'Help'
Visible = False
end
end
object SaveDialog1: TSaveDialog
left = 189
top = 1
end
object OpenDialog1: TOpenDialog
left = 258
top = 1
end
end

View File

@ -0,0 +1,59 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TGradebookFrm','FORMDATA',[
'TPF0'#13'TGradebookFrm'#12'GradebookFrm'#4'Left'#2#22#6'Height'#3#29#2#3'Top'
+#2'V'#5'Width'#3#188#3#7'Caption'#6#9'Gradebook'#12'ClientHeight'#3#10#2#11
+'ClientWidth'#3#188#3#4'Menu'#7#9'MainMenu1'#8'OnCreate'#7#10'FormCreate'#6
+'OnShow'#7#8'FormShow'#10'LCLVersion'#6#8'0.9.28.2'#0#6'TLabel'#6'Label1'#4
+'Left'#2'.'#6'Height'#2#25#3'Top'#2#13#5'Width'#3#247#0#7'Caption'#6#19'YOUR'
+' GRADEBOOK FOR:'#12'Font.CharSet'#7#12'ANSI_CHARSET'#10'Font.Color'#7#7'clB'
+'lack'#11'Font.Height'#2#235#9'Font.Name'#6#15'Times New Roman'#10'Font.Pitc'
+'h'#7#10'fpVariable'#12'Font.Quality'#7#7'fqDraft'#10'Font.Style'#11#6'fsBol'
+'d'#8'fsItalic'#0#11'ParentColor'#8#10'ParentFont'#8#0#0#6'TLabel'#6'Label2'
+#4'Left'#2#8#6'Height'#2#14#3'Top'#2'0'#5'Width'#2#21#7'Caption'#6#5'File:'
+#11'ParentColor'#8#0#0#6'TLabel'#6'Label3'#4'Left'#2'8'#6'Height'#2#14#3'Top'
+#2'P'#5'Width'#3#179#0#7'Caption'#6'''Directory (click folder icon to change'
+')'#11'ParentColor'#8#0#0#5'TEdit'#12'FileNameEdit'#4'Left'#2'('#6'Height'#2
+#21#3'Top'#2'.'#5'Width'#3#252#0#8'TabOrder'#2#0#4'Text'#6#12'FileNameEdit'#0
+#0#14'TDirectoryEdit'#14'DirectoryEdit1'#4'Left'#2#8#6'Height'#2#21#3'Top'#2
+'h'#5'Width'#3#28#1#9'Directory'#6#2'C:'#10'ShowHidden'#8#11'ButtonWidth'#2
+#23#9'NumGlyphs'#2#0#8'TabOrder'#2#1#8'OnChange'#7#20'DirectoryEdit1Change'#0
+#0#12'TFileListBox'#12'FileListBox1'#4'Left'#2#7#6'Height'#3'%'#1#3'Top'#3
+#145#0#5'Width'#3#31#1#9'Directory'#6#19'C:\Windows\system32'#10'ItemHeight'
+#2#13#8'TabOrder'#2#2#0#0#7'TButton'#8'ResetBtn'#4'Left'#2#8#6'Height'#2#29#3
+'Top'#3#191#1#5'Width'#2'b'#7'Caption'#6#9'Start New'#8'TabOrder'#2#3#0#0#7
+'TButton'#7'ExitBtn'#4'Left'#2#9#6'Height'#2#29#3'Top'#3#224#1#5'Width'#2'a'
+#7'Caption'#6#4'Exit'#11'ModalResult'#2#1#7'OnClick'#7#12'ExitBtnClick'#8'Ta'
+'bOrder'#2#4#0#0#11'TStringGrid'#4'Grid'#4'Left'#3'@'#1#6'Height'#3#248#1#3
+'Top'#2#0#5'Width'#3't'#2#8'ColCount'#2':'#9'FixedCols'#2#0#7'Options'#11#15
+'goFixedVertLine'#15'goFixedHorzLine'#10'goVertLine'#10'goHorzLine'#13'goRan'
+'geSelect'#9'goEditing'#6'goTabs'#14'goSmoothScroll'#0#8'RowCount'#2')'#8'Ta'
+'bOrder'#2#5#6'OnExit'#7#8'GridExit'#0#0#11'TRadioGroup'#11'RadioGroup1'#4'L'
+'eft'#3#129#0#6'Height'#2'='#3'Top'#3#191#1#5'Width'#3#163#0#8'AutoFill'#9#7
+'Caption'#6#16'Name Protection:'#28'ChildSizing.LeftRightSpacing'#2#6#28'Chi'
+'ldSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHo'
+'mogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChil'
+'dResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizi'
+'ng.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeft'
+'ToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1#12'ClientHeight'
+#2'+'#11'ClientWidth'#3#159#0#9'ItemIndex'#2#1#13'Items.Strings'#1#6#7'Turn '
+'ON'#6#8'Turn OFF'#0#7'OnClick'#7#16'RadioGroup1Click'#8'TabOrder'#2#6#0#0#9
+'TMainMenu'#9'MainMenu1'#4'left'#3'0'#1#0#9'TMenuItem'#9'FilesMenu'#7'Captio'
+'n'#6#5'Files'#0#9'TMenuItem'#8'NewGBMnu'#7'Caption'#6#14'New Grade Book'#7
+'OnClick'#7#13'NewGBMnuClick'#0#0#9'TMenuItem'#9'OpenGBMnu'#7'Caption'#6#24
+'Open Existing Grade Book'#7'OnClick'#7#14'OpenGBMnuClick'#0#0#9'TMenuItem'#9
+'SaveGBMnu'#7'Caption'#6#15'Save Grade Book'#7'OnClick'#7#14'SaveGBMnuClick'
+#0#0#9'TMenuItem'#7'ExitMnu'#7'Caption'#6#4'Exit'#7'OnClick'#7#12'ExitMnuCli'
+'ck'#0#0#0#9'TMenuItem'#7'EditMnu'#7'Caption'#6#4'Edit'#0#9'TMenuItem'#9'Del'
+'RowMnu'#7'Caption'#6#18'Delete Current Row'#7'OnClick'#7#14'DelRowMnuClick'
+#0#0#0#9'TMenuItem'#11'ComputeMenu'#7'Caption'#6#7'Compute'#0#9'TMenuItem'#11
+'TestAnalMnu'#7'Caption'#6#14'Analyze a Test'#7'OnClick'#7#16'TestAnalMnuCli'
+'ck'#0#0#9'TMenuItem'#10'CompScrMnu'#7'Caption'#6#21'Calc. Composite Score'#7
+'OnClick'#7#15'CompScrMnuClick'#0#0#0#9'TMenuItem'#11'ReportsMenu'#7'Caption'
+#6#7'Reports'#0#9'TMenuItem'#11'StudRptsMnu'#7'Caption'#6#26'Individual Stud'
+'ent Reports'#7'OnClick'#7#16'StudRptsMnuClick'#0#0#9'TMenuItem'#11'ClassRpt'
+'Mnu'#7'Caption'#6#12'Class Report'#7'OnClick'#7#16'ClassRptMnuClick'#0#0#0#9
+'TMenuItem'#8'HelpMenu'#7'Caption'#6#4'Help'#7'Visible'#8#0#0#0#11'TSaveDial'
+'og'#11'SaveDialog1'#4'left'#3#189#0#3'top'#2#1#0#0#11'TOpenDialog'#11'OpenD'
+'ialog1'#4'left'#3#2#1#3'top'#2#1#0#0#0
]);

View File

@ -0,0 +1,902 @@
unit gradebookunit;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
Menus, StdCtrls, EditBtn, FileCtrl, ComCtrls, Grids, ExtCtrls, MainUnit,
Globals, DataProcs, FunctionsLib, DictionaryUnit, outputunit, graphlib,
gradingunit;
Type
TestRcd = Record
TestNo : integer;
NoItems : integer;
Mean, Variance, StdDev : double;
KR21Rel : double;
Weight : double;
end;
Type DblDyneMat = array of array of double;
Type DblDyneVec = array of double;
type
{ TGradebookFrm }
TGradebookFrm = class(TForm)
ExitBtn: TButton;
Label3: TLabel;
ExitMnu: TMenuItem;
CompScrMnu: TMenuItem;
ClassRptMnu: TMenuItem;
EditMnu: TMenuItem;
DelRowMnu: TMenuItem;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
StudRptsMnu: TMenuItem;
TestAnalMnu: TMenuItem;
SaveGBMnu: TMenuItem;
OpenGBMnu: TMenuItem;
NewGBMnu: TMenuItem;
RadioGroup1: TRadioGroup;
ResetBtn: TButton;
DirectoryEdit1: TDirectoryEdit;
FileListBox1: TFileListBox;
FileNameEdit: TEdit;
Label1: TLabel;
Label2: TLabel;
MainMenu1: TMainMenu;
FilesMenu: TMenuItem;
ComputeMenu: TMenuItem;
HelpMenu: TMenuItem;
ReportsMenu: TMenuItem;
Grid: TStringGrid;
procedure ClassRptMnuClick(Sender: TObject);
procedure CompScrMnuClick(Sender: TObject);
procedure DelRowMnuClick(Sender: TObject);
procedure DirectoryEdit1Change(Sender: TObject);
procedure ExitBtnClick(Sender: TObject);
procedure ExitMnuClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure GridExit(Sender: TObject);
procedure NewGBMnuClick(Sender: TObject);
procedure OpenGBMnuClick(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
procedure SaveGBMnuClick(Sender: TObject);
procedure StudRptsMnuClick(Sender: TObject);
procedure TestAnalMnuClick(Sender: TObject);
private
{ private declarations }
Test : TestRcd;
TestNo, GridCol, GridRow, NoTests : integer;
public
{ public declarations }
nints, tno, NoStudents, nitems : integer;
freq : array[0..50] of double;
scores : array[0..50] of double;
sortedraw : DblDyneVec;
pcntiles : DblDyneMat;
tscores : DblDyneVec;
zscores : DblDyneVec;
pcntilerank : array[0..50] of double;
end;
var
GradebookFrm: TGradebookFrm;
implementation
{ TGradebookFrm }
procedure TGradebookFrm.ExitBtnClick(Sender: TObject);
var response : string ;
begin
response := InputBox('SAVE','Save gradebook (Y or N)?','N');
if response = 'Y' then SaveGBMnuClick(Self);
Close;
end;
procedure TGradebookFrm.ExitMnuClick(Sender: TObject);
var response : string ;
begin
response := InputBox('SAVE','Save gradebook (Y or N)?','N');
if response = 'Y' then SaveGBMnuClick(Self);
Close;
end;
procedure TGradebookFrm.DirectoryEdit1Change(Sender: TObject);
begin
DirectoryEdit1.Directory := GetCurrentDir;
FileListBox1.Directory := DirectoryEdit1.Directory;
end;
procedure TGradebookFrm.DelRowMnuClick(Sender: TObject);
VAR
row, i, j : integer;
begin
row := Grid.Row;
for i := 0 to 57 do Grid.Cells[i,row] := '';
if Grid.Cells[0,row+1] <> '' then
begin
for i := row + 1 to NoStudents do
begin
for j := 0 to 57 do Grid.Cells[j,i-1] := Grid.Cells[j,i];
end;
for j := 0 to 57 do Grid.Cells[j,NoStudents] := '';
NoStudents := NoStudents - 1;
end;
end;
procedure TGradebookFrm.CompScrMnuClick(Sender: TObject);
var
ncats, i, j, k, NoVars, count, IER, col : integer;
DataMat : array[1..50,1..10] of double;
Rmat, RelMat : array[1..10,1..10] of double;
Weights, Reliabilities, VectProd, means, variances, stddevs : array[1..10] of double;
X, Y, CompRel, numerator, denominator, compscore : double;
outline, cellstring : string;
title : string;
RowLabels : array[1..10] of string;
response : string;
nomiss : integer;
found : boolean;
begin
OutPutFrm.RichEdit.Clear;
NoVars := 0;
// get number of tests
for i := 1 to 10 do
begin
tno := i * 5 - 5;
col := tno + 3; // column of raw scores for test number
found := false;
for j := 1 to NoStudents do
begin
if Grid.Cells[col,j] <> '' then found := true;
end;
if found then
begin
NoVars := NoVars + 1;
RowLabels[NoVars] := 'Test ' + IntToStr(NoVars);
end;
end;
count := NoStudents;
// get data
for i := 1 to NoVars do
begin
nomiss := 0;
tno := i * 5 - 5;
col := tno + 3; // column of raw scores for test number
for j := 1 to NoStudents do
begin
if Grid.Cells[col,j] <> '' then
DataMat[j,i] := StrToFloat(Grid.Cells[col,j])
else nomiss := nomiss + 1;
end;
if nomiss >= NoStudents then NoVars := NoVars - 1;
end;
OutPutFrm.RichEdit.Lines.Add('Composite Test Reliability');
OutPutFrm.RichEdit.Lines.Add('');
outline := 'File Analyzed: ' + FileNameEdit.Text;
OutPutFrm.RichEdit.Lines.Add(outline);
OutPutFrm.RichEdit.Lines.Add('');
// get correlation matrix
for i := 1 to NoVars do
begin
means[i] := 0.0;
variances[i] := 0.0;
for j := 1 to NoVars do Rmat[i,j] := 0.0;
end;
for i := 1 to NoStudents do // get cross-products matrix
begin
for j := 1 to NoVars do
begin
X := DataMat[i,j];
means[j] := means[j] + X;
variances[j] := variances[j] + (X * X);
for k := 1 to NoVars do
begin
Y := DataMat[i,k];
Rmat[j,k] := Rmat[j,k] + (X * Y);
end;
end;
end;
for j := 1 to NoVars do // calculate variances and standard dev.s
begin
variances[j] := variances[j] - (means[j] * means[j] / NoStudents);
variances[j] := variances[j] / (NoStudents - 1.0);
if variances[j] <= 0.0 then
begin
ShowMessage('No variance found in test '+ IntToStr(j));
exit;
end
else stddevs[j] := sqrt(variances[j]);
end;
for j := 1 to NoVars do // get variance-covariance matrix
begin
for k := 1 to NoVars do
begin
Rmat[j,k] := Rmat[j,k] - (means[j] * means[k] / NoStudents);
Rmat[j,k] := Rmat[j,k] / (NoStudents - 1.0);
end;
end;
for j := 1 to NoVars do // get correlation matrix
for k := 1 to NoVars do Rmat[j,k] := Rmat[j,k] / (stddevs[j] * stddevs[k]);
for j := 1 to NoVars do means[j] := means[j] / NoStudents;
OutPutFrm.RichEdit.Lines.Add('');
title := 'Correlations Among Tests';
OutPutFrm.RichEdit.Lines.Add(title);
outline := 'Test No.';
for j := 1 to NoVars do
outline := outline + format('%7s',[rowlabels[j]]);
OutPutFrm.RichEdit.Lines.Add(outline);
for j := 1 to NoVars do
begin
outline := format('%8s',[rowlabels[j]]);
for k := 1 to NoVars do
begin
outline := outline + format('%7.3f',[Rmat[j,k]]);
end;
OutPutFrm.RichEdit.Lines.Add(outline);
end;
outline := 'Means ';
for j := 1 to NoVars do outline := outline + format('%7.2f',[means[j]]);
OutPutFrm.RichEdit.Lines.Add(outline);
outline := 'Std.Devs';
for j := 1 to NoVars do outline := outline + format('%7.2f',[stddevs[j]]);
OutPutFrm.RichEdit.Lines.Add(outline);
OutPutFrm.RichEdit.Lines.Add('');
for i := 1 to NoVars do
for j := 1 to NoVars do
RelMat[i,j] := Rmat[i,j];
for i := 1 to NoVars do
begin
response := InputBox('No. of items in Test ' + IntToStr(i),'Number:','0');
nitems := StrToInt(response);
Reliabilities[i] := (nitems / (nitems-1) *
(1.0 - (means[i] * (nitems - means[i]))/(nitems * variances[i])));
RelMat[i,i] := Reliabilities[i];
cellstring := 'Weight for Test ' + IntToStr(i);
response := InputBox(cellstring,'Weight:','1');
Weights[i] := StrToFloat(response);
end;
// get numerator and denominator of composite reliability
for i := 1 to NoVars do VectProd[i] := 0.0;
numerator := 0.0;
denominator := 0.0;
for i := 1 to NoVars do
for j := 1 to NoVars do
VectProd[i] := VectProd[i] + (Weights[i] * RelMat[j,i]);
for i := 1 to NoVars do numerator := numerator + (VectProd[i] * Weights[i]);
for i := 1 to NoVars do VectProd[i] := 0.0;
for i := 1 to NoVars do
for j := 1 to NoVars do
VectProd[i] := VectProd[i] + (Weights[i] * Rmat[j,i]);
for i := 1 to NoVars do denominator := denominator +
(VectProd[i] * Weights[i]);
CompRel := numerator / denominator;
OutPutFrm.RichEdit.Lines.Add('');
outline := 'Test No. Weight Reliability';
OutPutFrm.RichEdit.Lines.Add(outline);
for i := 1 to NoVars do
begin
outline := format(' %3d %6.2f %6.2f',[i,Weights[i],Reliabilities[i]]);
OutPutFrm.RichEdit.Lines.Add(outline);
end;
outline := format('Composite reliability = %6.3f',[CompRel]);
OutPutFrm.RichEdit.Lines.Add(outline);
OutPutFrm.ShowModal;
response := InputBox('COMPOSITE','Save the composit score?','Yes');
if response = 'Yes' then
begin
col := 53;
for i := 1 to NoStudents do
begin
X := 0.0;
for j := 1 to NoVars do
X := X + (DataMat[i,j] * Weights[j]);
Grid.Cells[col,i] := FloatToStr(X);
end;
end;
end;
procedure TGradebookFrm.ClassRptMnuClick(Sender: TObject);
VAR
i, j, pos : integer;
outline : string;
valstr : string;
raw, z, t, p : double;
begin
// confirm no. of students
NoStudents := 0;
for i := 1 to 40 do
begin
if Grid.Cells[0,i] <> '' then NoStudents := NoStudents + 1;
end;
OutPutFrm.RichEdit.Clear;
OutPutFrm.RichEdit.Lines.Add('Class Report');
for i := 1 to NoStudents do
begin
outline := Grid.Cells[1,i] + ' ';
if Grid.Cells[2,i] <> '' then outline := outline + Grid.Cells[2,i] + ' ';
outline := outline + Grid.Cells[0,i];
outline := 'Report for: ' + outline;
OutPutFrm.RichEdit.Lines.Add(outline);
OutPutFrm.RichEdit.Lines.Add('');
OutPutFrm.RichEdit.Lines.Add('TEST RAW Z T PERCENTILE GRADE');
OutPutFrm.RichEdit.Lines.Add(' NO. SCORE SCORE SCORE RANK');
for j := 0 to 10 do
begin
pos := j * 5 + 3;
valstr := format('%3d ',[j+1]);
outline := valstr;
if Grid.Cells[pos,i] <> '' then
begin
raw := StrToFloat(Grid.Cells[pos,i]);
z := StrToFloat(Grid.Cells[pos+1,i]);
t := strToFloat(Grid.Cells[pos+2,i]);
p := StrToFloat(Grid.Cells[pos+3,i]);
valstr := format('%10.0f',[raw]);
outline := outline + valstr;
valstr := format('%9.3f %9.3f %9.3f %3s',[z, t, p, Grid.Cells[pos+4,i]]);
outline := outline + valstr;
OutPutFrm.RichEdit.Lines.Add(outline);
end;
end;
OutPutFrm.RichEdit.Lines.Add('');
OutPutFrm.RichEdit.Lines.Add('');
end;
OutPutFrm.ShowModal;
OutPutFrm.RichEdit.Clear;
end;
procedure TGradebookFrm.FormCreate(Sender: TObject);
begin
FileListBox1.Directory := DirectoryEdit1.Directory;
end;
procedure TGradebookFrm.FormShow(Sender: TObject);
begin
Grid.ColWidths[0] := 100;
Grid.Cells[0,0] := 'Last Name';
Grid.ColWidths[1] := 100;
Grid.Cells[1,0] := 'First Name';
Grid.ColWidths[2] := 40;
Grid.Cells[2,0] := 'M.I.';
Grid.ColWidths[3] := 60;
Grid.Cells[3,0] := 'Test 1 Raw';
Grid.ColWidths[4] := 50;
Grid.Cells[4,0] := 'Test 1 z';
Grid.ColWidths[5] := 50;
Grid.Cells[5,0] := 'Test 1 T';
Grid.ColWidths[6] := 55;
Grid.Cells[6,0] := '%ile Rank';
Grid.ColWidths[7] := 50;
Grid.Cells[7,0] := 'Grade 1';
Grid.ColWidths[8] := 60;
Grid.Cells[8,0] := 'Test 2 Raw';
Grid.ColWidths[9] := 50;
Grid.Cells[9,0] := 'Test 2 z';
Grid.ColWidths[10] := 50;
Grid.Cells[10,0] := 'Test 2 T';
Grid.ColWidths[11] := 55;
Grid.Cells[11,0] := '%ile Rank';
Grid.ColWidths[12] := 50;
Grid.Cells[12,0] := 'Grade 2';
Grid.ColWidths[13] := 60;
Grid.Cells[13,0] := 'Test 3 Raw';
Grid.ColWidths[14] := 50;
Grid.Cells[14,0] := 'Test 3 z';
Grid.ColWidths[15] := 50;
Grid.Cells[15,0] := 'Test 3 T';
Grid.ColWidths[16] := 55;
Grid.Cells[16,0] := '%ile Rank';
Grid.ColWidths[17] := 50;
Grid.Cells[17,0] := 'Grade 3';
Grid.ColWidths[18] := 60;
Grid.Cells[18,0] := 'Test 4 Raw';
Grid.ColWidths[19] := 50;
Grid.Cells[19,0] := 'Test 4 z';
Grid.ColWidths[20] := 50;
Grid.Cells[20,0] := 'Test 4 T';
Grid.ColWidths[21] := 55;
Grid.Cells[21,0] := '%ile Rank';
Grid.ColWidths[22] := 50;
Grid.Cells[22,0] := 'Grade 4';
Grid.ColWidths[23] := 60;
Grid.Cells[23,0] := 'Test 5 Raw';
Grid.ColWidths[24] := 50;
Grid.Cells[24,0] := 'Test 5 z';
Grid.ColWidths[25] := 50;
Grid.Cells[25,0] := 'Test 5 T';
Grid.ColWidths[26] := 55;
Grid.Cells[26,0] := '%ile Rank';
Grid.ColWidths[27] := 50;
Grid.Cells[27,0] := 'Grade 5';
Grid.ColWidths[28] := 60;
Grid.Cells[28,0] := 'Test 6 Raw';
Grid.ColWidths[29] := 50;
Grid.Cells[29,0] := 'Test 6 z';
Grid.ColWidths[30] := 50;
Grid.Cells[30,0] := 'Test 6 T';
Grid.ColWidths[31] := 55;
Grid.Cells[31,0] := '%ile Rank';
Grid.ColWidths[32] := 50;
Grid.Cells[32,0] := 'Grade 6';
Grid.ColWidths[33] := 60;
Grid.Cells[33,0] := 'Test 7 Raw';
Grid.ColWidths[34] := 50;
Grid.Cells[34,0] := 'Test 7 z';
Grid.ColWidths[35] := 50;
Grid.Cells[35,0] := 'Test 7 T';
Grid.ColWidths[36] := 55;
Grid.Cells[36,0] := '%ile Rank';
Grid.ColWidths[37] := 50;
Grid.Cells[37,0] := 'Grade 7';
Grid.ColWidths[38] := 60;
Grid.Cells[38,0] := 'Test 8 Raw';
Grid.ColWidths[39] := 50;
Grid.Cells[39,0] := 'Test 8 z';
Grid.ColWidths[40] := 50;
Grid.Cells[40,0] := 'Test 8 T';
Grid.ColWidths[41] := 55;
Grid.Cells[41,0] := '%ile Rank';
Grid.ColWidths[42] := 50;
Grid.Cells[42,0] := 'Grade 8';
Grid.ColWidths[43] := 60;
Grid.Cells[43,0] := 'Test 9 Raw';
Grid.ColWidths[44] := 50;
Grid.Cells[44,0] := 'Test 9 z';
Grid.ColWidths[45] := 50;
Grid.Cells[45,0] := 'Test 9 T';
Grid.ColWidths[46] := 55;
Grid.Cells[46,0] := '%ile Rank';
Grid.ColWidths[47] := 50;
Grid.Cells[47,0] := 'Grade 9';
Grid.ColWidths[48] := 60;
Grid.Cells[48,0] := 'Test 10 Raw';
Grid.ColWidths[49] := 50;
Grid.Cells[49,0] := 'Test 10 z';
Grid.ColWidths[50] := 50;
Grid.Cells[50,0] := 'Test 10 T';
Grid.ColWidths[51] := 55;
Grid.Cells[51,0] := '%ile Rank';
Grid.ColWidths[52] := 50;
Grid.Cells[52,0] := 'Grade 10';
Grid.ColWidths[53] := 60;
Grid.Cells[53,0] := 'Total Raw';
Grid.ColWidths[54] := 50;
Grid.Cells[54,0] := 'Total z';
Grid.ColWidths[55] := 50;
Grid.Cells[55,0] := 'Total T';
Grid.ColWidths[56] := 55;
Grid.Cells[56,0] := '%ile Rank';
Grid.ColWidths[57] := 60;
Grid.Cells[57,0] := 'Final Grade';
end;
procedure TGradebookFrm.GridExit(Sender: TObject);
begin
GridCol := Grid.Col;
GridRow := Grid.Row;
if (Grid.Cells[GridCol,GridRow] = ' ') then exit else
begin
NoStudents := GridRow;
if GridCol > 3 then
begin
GridCol := GridCol - 3;
if (GridCol >= 1) and (GridCol <= 5) then
begin
TestNo := 1;
exit;
end;
if (GridCol >= 6) and (GridCol <= 10) then
begin
TestNo := 2;
exit;
end;
if (GridCol >= 11) and (GridCol <= 15) then
begin
TestNo := 3;
exit;
end;
if (GridCol >= 16) and (GridCol <= 20) then
begin
TestNo := 4;
exit;
end;
if (GridCol >= 21) and (GridCol <= 25) then
begin
TestNo := 5;
exit;
end;
if (GridCol >= 26) and (GridCol <= 30) then
begin
TestNo := 6;
exit;
end;
if (GridCol >= 31) and (GridCol <= 35) then
begin
TestNo := 7;
exit;
end;
if (GridCol >= 36) and (GridCol <= 40) then
begin
TestNo := 8;
exit;
end;
if (GridCol >= 41) and (GridCol <= 45) then
begin
TestNo := 9;
exit;
end;
if (GridCol >= 46) and (GridCol <= 50) then
begin
TestNo := 10;
exit;
end;
if (GridCol >= 51) and (GridCol <= 55) then
begin
TestNo := 11;
exit;
end;
end;
end;
if TestNo > NoTests then NoTests := TestNo;
end;
procedure TGradebookFrm.NewGBMnuClick(Sender: TObject);
VAR
i, j : integer;
begin
for i := 1 to 40 do
begin
for j := 0 to 57 do Grid.Cells[j,i] := '';
end;
GradebookFrm.FileNameEdit.text := '';
end;
procedure TGradebookFrm.OpenGBMnuClick(Sender: TObject);
var
FName : string;
Book : textfile;
row : integer;
i, j, k : integer;
cellstr : string;
begin
OpenDialog1.DefaultExt := '.GBK';
OpenDialog1.Filter := 'ALL (*.*)|*.*|Grade Book (*.GBK)|*.GBK';
OpenDialog1.FilterIndex := 2;
if OpenDialog1.Execute then
begin
FName := OpenDialog1.FileName;
GradebookFrm.FileNameEdit.text := FName;
AssignFile(Book,FName);
Reset(Book);
readln(Book,NoStudents);
for i := 1 to 40 do
begin
for j := 0 to 57 do
begin
readln(Book,cellstr);
Grid.Cells[j,i] := cellstr;
end;
end;
CloseFile(Book);
end;
end;
procedure TGradebookFrm.RadioGroup1Click(Sender: TObject);
begin
if RadioGroup1.ItemIndex = 1 then Grid.FixedCols := 0 else Grid.FixedCols := 3;
end;
procedure TGradebookFrm.SaveGBMnuClick(Sender: TObject);
var
FName : string;
Book : textfile;
row : integer;
i, j, k : integer;
cellstr : string;
begin
// confirm no. of students
NoStudents := 0;
for i := 1 to 40 do
begin
if Grid.Cells[0,i] <> '' then NoStudents := NoStudents + 1;
end;
SaveDialog1.DefaultExt := '.GBK';
SaveDialog1.Filter := 'ALL (*.*)|*.*|Grade Book (*.GBK)|*.GBK';
SaveDialog1.FilterIndex := 2;
if SaveDialog1.Execute then
begin
// GetNoRecords;
FName := SaveDialog1.FileName;
AssignFile(Book,FName);
Rewrite(Book);
writeln(Book,NoStudents);
for i := 1 to 40 do
begin
for j := 0 to 57 do
begin
cellstr := Grid.Cells[j,i];
writeln(Book,cellstr);
end;
end;
CloseFile(Book);
end;
GradebookFrm.FileNameEdit.text := '';
end;
procedure TGradebookFrm.StudRptsMnuClick(Sender: TObject);
VAR
i, j, pos : integer;
outline : string;
valstr : string;
raw, z, t, p : double;
begin
// confirm no. of students
NoStudents := 0;
for i := 1 to 40 do
begin
if Grid.Cells[0,i] <> '' then NoStudents := NoStudents + 1;
end;
OutPutFrm.RichEdit.Clear;
OutPutFrm.RichEdit.Lines.Add('Individual Student Report');
for i := 1 to NoStudents do
begin
outline := Grid.Cells[1,i] + ' ';
if Grid.Cells[2,i] <> '' then outline := outline + Grid.Cells[2,i] + ' ';
outline := outline + Grid.Cells[0,i];
outline := 'Report for: ' + outline;
OutPutFrm.RichEdit.Lines.Add(outline);
OutPutFrm.RichEdit.Lines.Add('');
OutPutFrm.RichEdit.Lines.Add('TEST RAW Z T PERCENTILE GRADE');
OutPutFrm.RichEdit.Lines.Add(' NO. SCORE SCORE SCORE RANK');
for j := 0 to 10 do
begin
pos := j * 5 + 3;
valstr := format('%3d ',[j+1]);
outline := valstr;
if Grid.Cells[pos,i] <> '' then
begin
raw := StrToFloat(Grid.Cells[pos,i]);
z := StrToFloat(Grid.Cells[pos+1,i]);
t := strToFloat(Grid.Cells[pos+2,i]);
p := StrToFloat(Grid.Cells[pos+3,i]);
valstr := format('%10.0f',[raw]);
outline := outline + valstr;
valstr := format('%9.3f %9.3f %9.3f %3s',[z, t, p, Grid.Cells[pos+4,i]]);
outline := outline + valstr;
OutPutFrm.RichEdit.Lines.Add(outline);
end;
end;
OutPutFrm.ShowModal;
OutPutFrm.RichEdit.Clear;
end;
end;
procedure TGradebookFrm.TestAnalMnuClick(Sender: TObject);
label again;
VAR
i, j, k, col : integer;
X, mean, variance, stddev, Xtemp : double;
z, t, pcntile : double;
response : string;
grades : array [0..40] of string;
cumfreq : array[0..50] of double;
cumfreqmid : array[0..50] of double;
pcnt : array[0..50] of double;
cumpcnt : array[0..50] of double;
ncnt : integer;
outline : string;
KR21 : double;
minf, maxf : double;
begin
response := InputBox('Which test (number)','TEST:','0');
if StrToInt(response) = 0 then
begin
ShowMessage('You must select a test no. between 1 and 11');
exit;
end;
tno := StrToInt(response);
tno := tno * 5 - 5;
col := tno + 3; // column of raw scores for test number tno
// get no. of students
NoStudents := 0;
for i := 1 to 40 do
begin
if Grid.Cells[col,i] = '' then continue else NoStudents := NoStudents + 1;
end;
SetLength(sortedraw,41);
SetLength(pcntiles,41,41);
SetLength(tscores,41);
SetLength(zscores,41);
OutPutFrm.RichEdit.Clear;
OutPutFrm.RichEdit.Lines.Add('Test Analysis Results');
mean := 0.0;
variance := 0.0;
for i := 1 to NoStudents do
begin
X := StrToFloat(Grid.Cells[col,i]);
sortedraw[i-1] := X;
mean := mean + X;
variance := variance + (X * X);
end;
variance := variance - (mean * mean / NoStudents);
Variance := Variance / (NoStudents - 1.0);
stddev := sqrt(variance);
mean := mean / NoStudents;
outline := format('Mean = %8.2f, Variance = %8.3f, Std.Dev. = %8.3f',
[mean,variance,stddev]);
OutPutFrm.RichEdit.Lines.Add(outline);
OutPutFrm.RichEdit.Lines.Add('');
response := InputBox('No. of Test Items or maximum score possible','Number:','0');
nitems := StrToInt(response);
if nitems = 0 then
begin
ShowMessage('Enter the maximum score or no. of items!');
exit;
end;
KR21 := (nitems / (nitems-1) *
(1.0 - (mean * (nitems - mean))/(nitems * variance)));
outline := format('Kuder-Richardson Formula 21 Reliability Estimate = %6.4f',[KR21]);
OutPutFrm.RichEdit.Lines.Add(outline);
OutPutFrm.RichEdit.Lines.Add('');
// get z scores and T scores
for i := 1 to NoStudents do
begin
z := (sortedraw[i-1] - mean) / stddev;
outline := format('%5.3f',[z]);
Grid.Cells[col+1,i] := outline;
t := z * 10 + 50;
outline := format('%5.1f',[t]);
Grid.Cells[col+2,i] := outline;
end;
// sort raw scores in ascending order
for i := 1 to NoStudents-1 do
begin
for j := i + 1 to NoStudents do
begin
if sortedraw[i-1] > sortedraw[j-1] then // switch
begin
Xtemp := sortedraw[i-1];
sortedraw[i-1] := sortedraw[j-1];
sortedraw[j-1] := Xtemp;
end;
end;
end;
// get percentile rank
ncnt := NoStudents;
nints := 1;
for i := 1 to ncnt do freq[i-1] := 0;
X := sortedraw[0];
Scores[0] := X;
for i := 1 to ncnt do
begin
if (X = sortedraw[i-1])then freq[nints-1] := freq[nints-1] + 1
else // new value
begin
nints := nints + 1;
freq[nints-1] := freq[nints-1] + 1;
X := sortedraw[i-1];
Scores[nints-1] := X;
end;
end;
// get min and max frequencies
minf := NoStudents;
maxf := 0;
for i := 0 to nints - 1 do
begin
if freq[i] > maxf then maxf := freq[i];
if freq[i] < minf then minf := freq[i];
end;
// now get cumulative frequencies
cumfreq[0] := freq[0];
for i := 1 to nints-1 do cumfreq[i] := freq[i] + cumfreq[i-1];
// get cumulative frequences to midpoints and percentile ranks
cumfreqmid[0] := freq[0] / 2.0;
pcntilerank[0] := (cumfreq[0] / 2.0) / ncnt;
for i := 1 to nints-1 do
begin
cumfreqmid[i] := (freq[i] / 2.0) + cumfreq[i-1];
pcntilerank[i] := cumfreqmid[i] / ncnt;
end;
OutPutFrm.RichEdit.Lines.Add('PERCENTILE RANKS');
OutPutFrm.RichEdit.Lines.Add('Score Value Frequency Cum.Freq. Percentile Rank');
OutPutFrm.RichEdit.Lines.Add('___________ __________ __________ ______________');
for i := 1 to nints do
begin
outline := format(' %8.3f %6.2f %6.2f %6.2f',
[Scores[i-1], freq[i-1],cumfreq[i-1],pcntilerank[i-1]*100.0]);
OutPutFrm.RichEdit.Lines.Add(outline);
end;
OutPutFrm.RichEdit.Lines.Add('');
// get grades
gradingfrm.ShowModal;
// Now place results in testgrid
for i := 1 to ncnt do
begin
X := StrToFloat(Grid.Cells[col,i]);
for j := 0 to nints do
begin
if X = scores[j] then
Gradebookfrm.Grid.Cells[col+3,i] := format('%5.2f',[pcntilerank[j]*100.0]);
end;
end;
OutPutFrm.ShowModal;
// graph raw scores
if maxf = minf then exit;
GraphFrm.Heading := 'Frequency of Raw Scores';
GraphFrm.XTitle := 'Category';
GraphFrm.YTitle := 'Frequency';
SetLength(GraphFrm.Ypoints,1,nints);
SetLength(GraphFrm.Xpoints,1,nints);
for k := 1 to nints do
begin
// GraphFrm.PointLabels[k-1] := GradingSpecs[p].GridData[k,1];
GraphFrm.Ypoints[0,k-1] := freq[k];
GraphFrm.Xpoints[0,k-1] := Scores[k];
// GraphFrm.Ypoints[0,k-1] := freq[k];
// GraphFrm.Xpoints[0,k-1] := k;
end;
// enter parameters for 2 dimension bars in graph package
GraphFrm.barwideprop := 0.5;
GraphFrm.nosets := 1;
GraphFrm.miny := minf;
GraphFrm.maxy := maxf;
GraphFrm.nbars := nints-1;
GraphFrm.GraphType := 2; // 3d bars
GraphFrm.AutoScale := false; // use min and max
GraphFrm.ShowLeftWall := true;
GraphFrm.ShowRightWall := true;
GraphFrm.ShowBottomWall := true;
GraphFrm.ShowBackWall := true;
GraphFrm.BackColor := clYellow;
GraphFrm.WallColor := clBlack;
GraphFrm.PtLabels := true;
GraphFrm.ShowModal;
GraphFrm.Ypoints := nil;
GraphFrm.Xpoints := nil;
// cleanup
sortedraw := nil;
// grades := nil;
zscores := nil;
tscores := nil;
pcntiles := nil;
end;
initialization
{$I gradebookunit.lrs}
end.

View File

@ -0,0 +1,241 @@
object gradingfrm: Tgradingfrm
Left = 102
Height = 494
Top = 109
Width = 706
Caption = 'Specification for Grades'
ClientHeight = 494
ClientWidth = 706
OnShow = FormShow
LCLVersion = '0.9.28.2'
object Label1: TLabel
Left = 16
Height = 14
Top = 122
Width = 28
Caption = 'Score'
ParentColor = False
end
object Label2: TLabel
Left = 80
Height = 14
Top = 122
Width = 52
Caption = 'Frequency'
ParentColor = False
end
object Label3: TLabel
Left = 160
Height = 14
Top = 122
Width = 60
Caption = 'Grade Given'
ParentColor = False
end
object TopScoreLabel: TLabel
Left = 344
Height = 14
Top = 122
Width = 49
Caption = 'Top Score'
ParentColor = False
end
object DownThroughLabel: TLabel
Left = 432
Height = 14
Top = 122
Width = 71
Caption = 'Down Through'
ParentColor = False
end
object Label4: TLabel
Left = 520
Height = 14
Top = 122
Width = 64
Caption = 'No. Assigned'
ParentColor = False
end
object Label5: TLabel
Left = 256
Height = 14
Top = 122
Width = 35
Caption = 'Grades'
ParentColor = False
end
object DistUseGroup: TRadioGroup
Left = 8
Height = 111
Top = 3
Width = 212
AutoFill = True
Caption = 'To Assign Grades Use:'
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 = 93
ClientWidth = 208
Items.Strings = (
'Raw Test Scores'
'z Scores'
'T Scores'
'Percentile Rank Scores'
)
OnClick = DistUseGroupClick
TabOrder = 0
end
object CategoriesGroup: TRadioGroup
Left = 233
Height = 112
Top = 2
Width = 279
AutoFill = True
Caption = 'Use the following Grade Categories:'
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 = 94
ClientWidth = 275
Items.Strings = (
'A, B, C, D, F'
'A, A-, B+, B, B-, C+, C, C-, D+, D, D-, F'
)
OnClick = CategoriesGroupClick
TabOrder = 1
end
object ScoresGrid: TStringGrid
Left = 8
Height = 294
Top = 137
Width = 136
ColCount = 2
FixedCols = 0
FixedRows = 0
TabOrder = 2
end
object GradesGrid: TStringGrid
Left = 159
Height = 294
Top = 137
Width = 74
ColCount = 1
FixedCols = 0
FixedRows = 0
TabOrder = 3
end
object TopScoreGrid: TStringGrid
Left = 344
Height = 298
Top = 138
Width = 71
ColCount = 1
FixedCols = 0
FixedRows = 0
TabOrder = 4
end
object LowScoreGrid: TStringGrid
Left = 432
Height = 298
Top = 138
Width = 67
ColCount = 1
FixedCols = 0
FixedRows = 0
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goEditing, goSmoothScroll]
TabOrder = 5
OnKeyDown = LowScoreGridKeyDown
end
object SaveBtn: TButton
Left = 608
Height = 32
Top = 122
Width = 77
Caption = 'Save Specs.'
OnClick = SaveBtnClick
TabOrder = 6
end
object LoadBtn: TButton
Left = 608
Height = 32
Top = 176
Width = 77
Caption = 'Load Specs.'
OnClick = LoadBtnClick
TabOrder = 7
end
object ResetBtn: TButton
Left = 608
Height = 32
Top = 232
Width = 77
Caption = 'Reset'
OnClick = ResetBtnClick
TabOrder = 8
end
object Cancelbtn: TButton
Left = 608
Height = 32
Top = 288
Width = 77
Caption = 'Cancel'
ModalResult = 2
TabOrder = 9
end
object ReturnBtn: TButton
Left = 608
Height = 32
Top = 399
Width = 77
Caption = 'Return'
ModalResult = 1
TabOrder = 10
end
object AssignedGrid: TStringGrid
Left = 520
Height = 299
Top = 138
Width = 68
ColCount = 1
FixedCols = 0
FixedRows = 0
TabOrder = 11
end
object Grades: TStringGrid
Left = 256
Height = 296
Top = 138
Width = 72
ColCount = 1
FixedCols = 0
FixedRows = 0
TabOrder = 12
end
object ComputeBtn: TButton
Left = 608
Height = 29
Top = 344
Width = 77
Caption = 'Compute'
OnClick = ComputeBtnClick
TabOrder = 13
end
object OpenDialog1: TOpenDialog
left = 552
top = 448
end
object SaveDialog1: TSaveDialog
left = 640
top = 448
end
end