unit MainUnit; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, Menus, ExtCtrls, StdCtrls, Grids, Globals, DataProcs, DictionaryUnit; type { TOS3MainFrm } TOS3MainFrm = class(TForm) ColEdit: TEdit; FilterEdit: TEdit; Label5: TLabel; Label6: TLabel; MenuItem10: TMenuItem; MenuItem100: TMenuItem; MenuItem101: TMenuItem; MenuItem102: TMenuItem; MenuItem103: TMenuItem; MenuItem104: TMenuItem; MenuItem105: TMenuItem; MenuItem106: TMenuItem; MenuItem107: TMenuItem; MenuItem108: TMenuItem; MenuItem109: TMenuItem; MenuItem11: TMenuItem; MenuItem110: TMenuItem; MenuItem111: TMenuItem; MenuItem112: TMenuItem; MenuItem113: TMenuItem; MenuItem114: TMenuItem; MenuItem115: TMenuItem; MenuItem116: TMenuItem; MenuItem117: TMenuItem; MenuItem118: TMenuItem; MenuItem119: TMenuItem; MenuItem120: TMenuItem; About: TMenuItem; CloseFileBtn: TMenuItem; MenuItem14: TMenuItem; MenuItem17: TMenuItem; MenuItem18: TMenuItem; MenuItem19: TMenuItem; MenuItem21: TMenuItem; MenuItem22: TMenuItem; MenuItem23: TMenuItem; MenuItem24: TMenuItem; MenuItem25: TMenuItem; MenuItem26: TMenuItem; MenuItem27: TMenuItem; blockcopy: TMenuItem; BlockPaste: TMenuItem; BlockCut: TMenuItem; GridUse: TMenuItem; MenuItem28: TMenuItem; MenuItem29: TMenuItem; MenuItem31: TMenuItem; MenuItem33: TMenuItem; GenKappa: TMenuItem; CompareDists: TMenuItem; MatManMnu: TMenuItem; GrdBkMnu: TMenuItem; inversez: TMenuItem; Chiprob: TMenuItem; Fprob: TMenuItem; HypergeoProb: TMenuItem; BinA: TMenuItem; BartlettTest: TMenuItem; GrpFreq: TMenuItem; Correspondence: TMenuItem; KSTest: TMenuItem; Equation: TMenuItem; Calculater: TMenuItem; JPEGView: TMenuItem; MedianPolish: TMenuItem; DataSmooth: TMenuItem; ItemBankMenuItem: TMenuItem; homotest: TMenuItem; lifetable: TMenuItem; LSMRitem: TMenuItem; SimpChiSqr: TMenuItem; SRHItem: TMenuItem; OneCaseAnova: TMenuItem; ResistanceLine: TMenuItem; Sens: TMenuItem; XvsMultY: TMenuItem; RunsTest: TMenuItem; smooth: TMenuItem; NestedABC: TMenuItem; tprob: TMenuItem; probzbetween: TMenuItem; Probltz: TMenuItem; probgtz: TMenuItem; Probabilities: TMenuItem; StrToIntegers: TMenuItem; SwapDecType: TMenuItem; PicView: TMenuItem; ShowOpts: TMenuItem; WghtedKappa: TMenuItem; WLSReg: TMenuItem; TwoSLSReg: TMenuItem; RiditAnalysis: TMenuItem; MenuItem6: TMenuItem; MenuItem9: TMenuItem; pcontrochart: TMenuItem; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; HelpContents: TMenuItem; InsNewCol: TMenuItem; CopyCol: TMenuItem; CutCol: TMenuItem; PasteCol: TMenuItem; NewRow: TMenuItem; CopyRow: TMenuItem; CutRow: TMenuItem; PasteRow: TMenuItem; MenuItem71: TMenuItem; MenuItem72: TMenuItem; MenuItem73: TMenuItem; MenuItem74: TMenuItem; MenuItem75: TMenuItem; MenuItem76: TMenuItem; MenuItem77: TMenuItem; MenuItem78: TMenuItem; MenuItem79: TMenuItem; MenuItem80: TMenuItem; MenuItem81: TMenuItem; MenuItem82: TMenuItem; MenuItem83: TMenuItem; MenuItem84: TMenuItem; MenuItem85: TMenuItem; MenuItem86: TMenuItem; MenuItem87: TMenuItem; MenuItem88: TMenuItem; MenuItem89: TMenuItem; MenuItem90: TMenuItem; MenuItem91: TMenuItem; MenuItem92: TMenuItem; MenuItem93: TMenuItem; MenuItem94: TMenuItem; MenuItem95: TMenuItem; MenuItem96: TMenuItem; MenuItem97: TMenuItem; MenuItem98: TMenuItem; MenuItem99: TMenuItem; RowEdit: TEdit; FileNameEdit: TEdit; Label3: TLabel; Label4: TLabel; NoVarsEdit: TEdit; Label2: TLabel; NoCasesEdit: TEdit; Label1: TLabel; MainMenu1: TMainMenu; MenuItem1: TMenuItem; OpenFileBtn: TMenuItem; NewFileBtn: TMenuItem; MenuItem12: TMenuItem; MenuItem13: TMenuItem; TabFileOut: TMenuItem; MenuItem15: TMenuItem; MenuItem16: TMenuItem; TabFileInBtn: TMenuItem; CSVFileIn: TMenuItem; SSVFileIn: TMenuItem; MenuItem2: TMenuItem; MenuItem20: TMenuItem; CSVFileOut: TMenuItem; SSVFileOut: TMenuItem; DefineVar: TMenuItem; PrintDefs: TMenuItem; Transform: TMenuItem; Recode: TMenuItem; FormatGrid: TMenuItem; SortCases: TMenuItem; PrintGrid: TMenuItem; MenuItem3: TMenuItem; SelectCases: TMenuItem; LoadSubFile: TMenuItem; MenuItem32: TMenuItem; OneSampTests: TMenuItem; MenuItem34: TMenuItem; MenuItem35: TMenuItem; MenuItem36: TMenuItem; MenuItem37: TMenuItem; MenuItem38: TMenuItem; MenuItem39: TMenuItem; MenuItem4: TMenuItem; MenuItem40: TMenuItem; MenuItem41: TMenuItem; Distributions: TMenuItem; FreqAnal: TMenuItem; CrossTabs: TMenuItem; Breakdown: TMenuItem; BoxPlot: TMenuItem; NormalityTests: TMenuItem; ThreeDRotate: TMenuItem; PlotXvsY: TMenuItem; MenuItem5: TMenuItem; BubblePlot: TMenuItem; StemLeaf: TMenuItem; MultXvsY: TMenuItem; PropDiff: TMenuItem; CorrDiff: TMenuItem; ttests: TMenuItem; Anova: TMenuItem; WithinAnova: TMenuItem; AxSAnova: TMenuItem; ABSAnova: TMenuItem; Option: TMenuItem; Ancova: TMenuItem; GLM: TMenuItem; LatinSquares: TMenuItem; ScatPlot: TMenuItem; MultDists: TMenuItem; TypeErrors: TMenuItem; Power: TMenuItem; DistPlots: TMenuItem; SeqValues: TMenuItem; MenuItem7: TMenuItem; RandomVals: TMenuItem; MenuItem8: TMenuItem; MenuItem30: TMenuItem; SaveFileBtn: TMenuItem; Panel1: TPanel; Panel2: TPanel; DataGrid: TStringGrid; procedure AboutClick(Sender: TObject); procedure ABSAnovaClick(Sender: TObject); procedure AncovaClick(Sender: TObject); procedure AnovaClick(Sender: TObject); // procedure AvgLinkClusterClick(Sender: TObject); procedure AxSAnovaClick(Sender: TObject); procedure BartlettTestClick(Sender: TObject); procedure BinAClick(Sender: TObject); procedure blockcopyClick(Sender: TObject); procedure BlockPasteClick(Sender: TObject); procedure BoxPlotClick(Sender: TObject); procedure BreakdownClick(Sender: TObject); procedure BubblePlotClick(Sender: TObject); procedure CalculaterClick(Sender: TObject); procedure ChiprobClick(Sender: TObject); procedure CloseFileBtnClick(Sender: TObject); procedure CompareDistsClick(Sender: TObject); procedure CopyColClick(Sender: TObject); procedure CopyRowClick(Sender: TObject); procedure CorrDiffClick(Sender: TObject); procedure CorrespondenceClick(Sender: TObject); procedure CrossTabsClick(Sender: TObject); procedure CSVFileInClick(Sender: TObject); procedure CSVFileOutClick(Sender: TObject); procedure CutColClick(Sender: TObject); procedure CutRowClick(Sender: TObject); procedure DataGridClick(Sender: TObject); procedure DataGridKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState ); procedure DataGridKeyPress(Sender: TObject; var Key: char); procedure DataSmoothClick(Sender: TObject); procedure DefineVarClick(Sender: TObject); procedure DistPlotsClick(Sender: TObject); procedure DistributionsClick(Sender: TObject); procedure EquationClick(Sender: TObject); procedure FormatGridClick(Sender: TObject); procedure FormClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure FprobClick(Sender: TObject); procedure FreqAnalClick(Sender: TObject); procedure GenKappaClick(Sender: TObject); procedure GLMClick(Sender: TObject); procedure GrdBkMnuClick(Sender: TObject); procedure GridUseClick(Sender: TObject); procedure GrpFreqClick(Sender: TObject); procedure HelpContentsClick(Sender: TObject); procedure homotestClick(Sender: TObject); procedure HypergeoProbClick(Sender: TObject); procedure InsNewColClick(Sender: TObject); procedure inversezClick(Sender: TObject); procedure ItemBankMenuItemClick(Sender: TObject); procedure JPEGViewClick(Sender: TObject); procedure KSTestClick(Sender: TObject); procedure LatinSquaresClick(Sender: TObject); procedure lifetableClick(Sender: TObject); procedure LSMRitemClick(Sender: TObject); procedure MatManMnuClick(Sender: TObject); procedure MedianPolishClick(Sender: TObject); procedure MenuItem100Click(Sender: TObject); procedure MenuItem101Click(Sender: TObject); procedure MenuItem102Click(Sender: TObject); procedure MenuItem103Click(Sender: TObject); procedure MenuItem104Click(Sender: TObject); procedure MenuItem105Click(Sender: TObject); procedure MenuItem106Click(Sender: TObject); procedure MenuItem107Click(Sender: TObject); procedure MenuItem108Click(Sender: TObject); procedure MenuItem109Click(Sender: TObject); procedure MenuItem10Click(Sender: TObject); procedure MenuItem110Click(Sender: TObject); procedure MenuItem111Click(Sender: TObject); procedure MenuItem112Click(Sender: TObject); procedure MenuItem113Click(Sender: TObject); procedure MenuItem114Click(Sender: TObject); procedure MenuItem115Click(Sender: TObject); procedure MenuItem116Click(Sender: TObject); procedure MenuItem117Click(Sender: TObject); procedure MenuItem118Click(Sender: TObject); procedure MenuItem119Click(Sender: TObject); procedure MenuItem11Click(Sender: TObject); procedure MenuItem120Click(Sender: TObject); procedure MenuItem14Click(Sender: TObject); procedure MenuItem16Click(Sender: TObject); procedure MenuItem20Click(Sender: TObject); procedure MenuItem27Click(Sender: TObject); procedure MenuItem28Click(Sender: TObject); procedure MenuItem29Click(Sender: TObject); procedure MenuItem31Click(Sender: TObject); procedure MenuItem33Click(Sender: TObject); procedure MenuItem6Click(Sender: TObject); procedure MenuItem71Click(Sender: TObject); procedure MenuItem72Click(Sender: TObject); procedure MenuItem73Click(Sender: TObject); procedure MenuItem74Click(Sender: TObject); procedure MenuItem75Click(Sender: TObject); procedure MenuItem76Click(Sender: TObject); procedure MenuItem77Click(Sender: TObject); procedure MenuItem78Click(Sender: TObject); procedure MenuItem79Click(Sender: TObject); procedure MenuItem80Click(Sender: TObject); procedure MenuItem81Click(Sender: TObject); procedure MenuItem82Click(Sender: TObject); procedure MenuItem83Click(Sender: TObject); procedure MenuItem84Click(Sender: TObject); procedure MenuItem85Click(Sender: TObject); procedure MenuItem86Click(Sender: TObject); procedure MenuItem87Click(Sender: TObject); procedure MenuItem88Click(Sender: TObject); procedure MenuItem89Click(Sender: TObject); procedure MenuItem90Click(Sender: TObject); procedure MenuItem91Click(Sender: TObject); procedure MenuItem92Click(Sender: TObject); procedure MenuItem93Click(Sender: TObject); procedure MenuItem94Click(Sender: TObject); procedure MenuItem95Click(Sender: TObject); procedure MenuItem96Click(Sender: TObject); procedure MenuItem97Click(Sender: TObject); procedure MenuItem98Click(Sender: TObject); procedure MenuItem99Click(Sender: TObject); procedure MenuItem30Click(Sender: TObject); procedure MultDistsClick(Sender: TObject); procedure MultXvsYClick(Sender: TObject); procedure NestedABCClick(Sender: TObject); procedure NewFileBtnClick(Sender: TObject); procedure NewRowClick(Sender: TObject); procedure NormalityTestsClick(Sender: TObject); procedure OneCaseAnovaClick(Sender: TObject); procedure OneSampTestsClick(Sender: TObject); procedure OpenFileBtnClick(Sender: TObject); procedure OptionClick(Sender: TObject); procedure PasteColClick(Sender: TObject); procedure PasteRowClick(Sender: TObject); procedure pcontrochartClick(Sender: TObject); // procedure PicViewClick(Sender: TObject); procedure PlotXvsYClick(Sender: TObject); procedure PowerClick(Sender: TObject); procedure PrintDefsClick(Sender: TObject); procedure PrintGridClick(Sender: TObject); procedure probgtzClick(Sender: TObject); procedure ProbltzClick(Sender: TObject); procedure probzbetweenClick(Sender: TObject); procedure PropDiffClick(Sender: TObject); procedure RandomValsClick(Sender: TObject); procedure RecodeClick(Sender: TObject); procedure ResistanceLineClick(Sender: TObject); procedure RiditAnalysisClick(Sender: TObject); procedure RunsTestClick(Sender: TObject); procedure SaveFileBtnClick(Sender: TObject); procedure ScatPlotClick(Sender: TObject); procedure SelectCasesClick(Sender: TObject); procedure SensClick(Sender: TObject); procedure SeqValuesClick(Sender: TObject); procedure SimpChiSqrClick(Sender: TObject); procedure smoothClick(Sender: TObject); procedure SortCasesClick(Sender: TObject); procedure SRHItemClick(Sender: TObject); procedure SSVFileInClick(Sender: TObject); procedure SSVFileOutClick(Sender: TObject); procedure StemLeafClick(Sender: TObject); procedure StrToIntegersClick(Sender: TObject); procedure SwapDecTypeClick(Sender: TObject); procedure TabFileInBtnClick(Sender: TObject); procedure ThreeDRotateClick(Sender: TObject); procedure tprobClick(Sender: TObject); procedure TransformClick(Sender: TObject); procedure ttestsClick(Sender: TObject); procedure TwoSLSRegClick(Sender: TObject); procedure TypeErrorsClick(Sender: TObject); procedure WghtedKappaClick(Sender: TObject); procedure WithinAnovaClick(Sender: TObject); procedure WLSRegClick(Sender: TObject); procedure XvsMultYClick(Sender: TObject); private { private declarations } public { public declarations } end; var OS3MainFrm: TOS3MainFrm; PrevRow : integer; PrevCol : integer; implementation { TOS3MainFrm } uses OptionsUnit, OutPutUnit, LicenseUnit, TransFrmUnit, DescriptiveUnit, FreqUnit, CrossTabUnit, BreakDownUnit, BoxPlotUnit, NormalityUnit, Rot3DUnit, PlotXYUnit, BubblePlotUnit, StemLeafUnit, MultXvsYUnit, OneSampUnit, TwoCorrsUnit, TwoPropUnit, TtestUnit, BlkAnovaUnit, WithinANOVAUnit, AxSAnovaUnit, ABRAnovaUnit, ANCOVAUNIT, LatinSqrsUnit, RMatUnit, PartialsUnit, AutoCorUnit, CanonUnit, GLMUnit, StepFwdMRUnit, BlkMRegUnit, BackRegUnit, BestRegUnit, SimultRegUnit, CoxRegUnit, LogRegUnit, LinProUnit, DiscrimUnit, FactorUnit, HierarchUnit, PathUnit, LogLinScreenUnit, TwoWayLogLinUnit, ABCLogLinUnit, TestGenUnit, TestScoreUnit, RaschUnit, SuccIntUnit, GuttmanUnit, CompRelUnit, KR21Unit, SpBrUnit, RelChangeUnit, DIFUnit, PolyDIFUnit, ChiSqrUnit, SpearmanUnit, MannWhitUUnit, ExactUnit, ConcordanceUnit, KWAnovaUnit, WilcoxonUnit, CochranQUnit, SignTestUnit, FriedmanUnit, BinomialUnit, KendallTauUnit, KaplanMeierUnit, XBarUnit, RChartUnit, SigmaChartUnit, CUMSUMUNIT, CCHARTUNIT, PChartUnit, UChartUnit, CorSimUnit, ErrorCurvesUnit, PCurvesUnit, DistribUnit, GenSeqUnit, GenRndValsUnit, MultGenUnit, LoanItUnit, SumYrsDepUnit, SLDUnit, DblDeclineUnit, RIDITUnit, TwoSLSUnit, WLSUnit, HelpUnit, SortCasesUnit, SelectCasesUnit, GridHelpUnit, RecodeUnit, KappaUnit, AvgLinkUnit, kmeansunit, SingleLinkUnit, GenKappaUnit, CompareDistUnit, matmanunit, gradebookunit, ProbzUnit, ProbSmallerzUnit, TwozProbUnit, InversezUnit, ProbChiSqrUnit, TprobUnit, FProbUnit, HyperGeoUnit, BNestAUnit, ABCNestedUnit, BartlettTestUnit, DataSmoothUnit, GroupFreqUnit, RunsTestUnit, XvsMultYUnit, SensUnit, CorrespondenceUnit, EquationUnit, CalculatorUnit, JPEGUnit, ResistanceLineUnit, MedianPolishUnit, OneCaseAnovaUnit, SmoothDataUnit, SRHTestUnit, AboutUnit, ItemBankingUnit, ANOVATESTSUnit, SimpleChiSqrUnit, LifeTableUnit, LSMRunit; procedure TOS3MainFrm.MenuItem16Click(Sender: TObject); begin OptionsFrm.SaveBtnClick(Self); TempStream.Free; TempVarItm.Free; Close; end; procedure TOS3MainFrm.MenuItem20Click(Sender: TObject); begin SaveTabFile; end; procedure TOS3MainFrm.MenuItem27Click(Sender: TObject); begin DblDeclineFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem28Click(Sender: TObject); begin OutPutFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem29Click(Sender: TObject); begin AvgLinkFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem31Click(Sender: TObject); begin kmeansfrm.ShowModal; end; procedure TOS3MainFrm.MenuItem33Click(Sender: TObject); begin SingleLinkFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem6Click(Sender: TObject); begin CUMSUMFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem71Click(Sender: TObject); begin RMatFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem72Click(Sender: TObject); begin PartialsFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem73Click(Sender: TObject); begin AutocorrFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem74Click(Sender: TObject); begin CannonFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem75Click(Sender: TObject); begin StepFwdFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem76Click(Sender: TObject); begin BackRegFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem77Click(Sender: TObject); begin SimultFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem78Click(Sender: TObject); begin BlkMregFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem79Click(Sender: TObject); begin BestRegFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem80Click(Sender: TObject); begin LogRegFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem81Click(Sender: TObject); begin CoxRegFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem82Click(Sender: TObject); begin LinProFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem83Click(Sender: TObject); begin DiscrimFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem84Click(Sender: TObject); begin HierarchFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem85Click(Sender: TObject); begin PathFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem86Click(Sender: TObject); begin FactorFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem87Click(Sender: TObject); begin CannonFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem88Click(Sender: TObject); begin GLMFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem89Click(Sender: TObject); begin TwoWayLogLinFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem90Click(Sender: TObject); begin ABCLogLinearFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem91Click(Sender: TObject); begin LogLinScreenFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem92Click(Sender: TObject); begin TestGenFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem93Click(Sender: TObject); begin TestScoreFrm.Show; end; procedure TOS3MainFrm.MenuItem94Click(Sender: TObject); begin RaschFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem95Click(Sender: TObject); begin SuccIntFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem96Click(Sender: TObject); begin GuttmanFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem97Click(Sender: TObject); begin CompRelFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem98Click(Sender: TObject); begin KR21Frm.ShowModal; end; procedure TOS3MainFrm.MenuItem99Click(Sender: TObject); begin SpBrFrm.ShowModal; end; procedure TOS3MainFrm.MultDistsClick(Sender: TObject); begin MultGenFrm.ShowModal; end; procedure TOS3MainFrm.MultXvsYClick(Sender: TObject); begin MultXvsYFrm.ShowModal; end; procedure TOS3MainFrm.NestedABCClick(Sender: TObject); begin ABCNestedForm.ShowModal; end; procedure TOS3MainFrm.NewFileBtnClick(Sender: TObject); begin ClearGrid; end; procedure TOS3MainFrm.NewRowClick(Sender: TObject); begin InsertRow; end; procedure TOS3MainFrm.NormalityTestsClick(Sender: TObject); begin NormalityFrm.ShowModal; end; procedure TOS3MainFrm.OneCaseAnovaClick(Sender: TObject); begin OneCaseAnovaForm.ShowModal; end; procedure TOS3MainFrm.OneSampTestsClick(Sender: TObject); begin OneSampFrm.ShowModal; end; procedure TOS3MainFrm.OpenFileBtnClick(Sender: TObject); var i : integer; filename : string; begin OpenOS2File; filename := FileNameEdit.Text; // move all down 1 and add new one at the top { for i := 8 downto 1 do begin MainMenu1.Items[0].Items[11].Items[i].Caption := MainMenu1.Items[0].Items[11].Items[i-1].Caption; MainMenu1.Items[0].Items[11].Items[i-1].Caption := ' '; end; MainMenu1.Items[0].Items[11].Items[0].Caption := filename;} OptionsFrm.SaveBtnClick(Self); end; procedure TOS3MainFrm.OptionClick(Sender: TObject); begin OptionsFrm.ShowModal; end; procedure TOS3MainFrm.PasteColClick(Sender: TObject); begin PasteColumn; end; procedure TOS3MainFrm.PasteRowClick(Sender: TObject); begin PasteaRow; end; procedure TOS3MainFrm.pcontrochartClick(Sender: TObject); begin pChartFrm.ShowModal; end; procedure TOS3MainFrm.PlotXvsYClick(Sender: TObject); begin PlotXYFrm.ShowModal; end; procedure TOS3MainFrm.PowerClick(Sender: TObject); begin PCurvesFrm.ShowModal; end; procedure TOS3MainFrm.PrintDefsClick(Sender: TObject); begin PrintDict; end; procedure TOS3MainFrm.PrintGridClick(Sender: TObject); begin PrintData; end; procedure TOS3MainFrm.probgtzClick(Sender: TObject); begin ProbzForm.ShowModal; end; procedure TOS3MainFrm.ProbltzClick(Sender: TObject); begin ProbSmallerzForm.ShowModal; end; procedure TOS3MainFrm.probzbetweenClick(Sender: TObject); begin TwozProbForm.ShowModal; end; procedure TOS3MainFrm.PropDiffClick(Sender: TObject); begin TwoPropFrm.ShowModal; end; procedure TOS3MainFrm.RandomValsClick(Sender: TObject); begin GenRndValsFrm.ShowModal; end; procedure TOS3MainFrm.RecodeClick(Sender: TObject); begin RecodeFrm.ShowModal; end; procedure TOS3MainFrm.ResistanceLineClick(Sender: TObject); begin ResistanceLineForm.ShowModal; end; procedure TOS3MainFrm.RiditAnalysisClick(Sender: TObject); begin RIDITFrm.ShowModal; end; procedure TOS3MainFrm.RunsTestClick(Sender: TObject); begin RunsTestForm.ShowModal; end; procedure TOS3MainFrm.SaveFileBtnClick(Sender: TObject); var i : integer; filename : string; begin SaveOS2File; filename := FileNameEdit.Text; // move all down 1 and add new one at the top { for i := 8 downto 1 do begin MainMenu1.Items[0].Items[11].Items[i].Caption := MainMenu1.Items[0].Items[11].Items[i-1].Caption; MainMenu1.Items[0].Items[11].Items[i-1].Caption := ' '; end; MainMenu1.Items[0].Items[11].Items[0].Caption := filename;} OptionsFrm.SaveBtnClick(Self); end; procedure TOS3MainFrm.ScatPlotClick(Sender: TObject); begin CorSimFrm.ShowModal; end; procedure TOS3MainFrm.SelectCasesClick(Sender: TObject); begin SelectFrm.ShowModal; end; procedure TOS3MainFrm.SensClick(Sender: TObject); begin SensForm.ShowModal; end; procedure TOS3MainFrm.SeqValuesClick(Sender: TObject); begin GenSeqFrm.ShowModal; end; procedure TOS3MainFrm.SimpChiSqrClick(Sender: TObject); begin SimpleChiSqrForm.ShowModal; end; procedure TOS3MainFrm.smoothClick(Sender: TObject); begin SmoothDataForm.ShowModal; end; procedure TOS3MainFrm.SortCasesClick(Sender: TObject); begin SortCasesFrm.ShowModal; end; procedure TOS3MainFrm.SRHItemClick(Sender: TObject); begin SRHTest.ShowModal; end; procedure TOS3MainFrm.SSVFileInClick(Sender: TObject); begin OpenSpaceFile; end; procedure TOS3MainFrm.SSVFileOutClick(Sender: TObject); begin SaveSpaceFile; end; procedure TOS3MainFrm.StemLeafClick(Sender: TObject); begin StemLeafFrm.ShowModal; end; procedure TOS3MainFrm.StrToIntegersClick(Sender: TObject); VAR results, prompt : boolean; col, row : integer; begin col := DataGrid.Col; DataGrid.Row := 1; prompt := true; results := DataProcs.StringsToInt(col,col, prompt); OS3MainFrm.DataGrid.Col := col; if (results = false)then DeleteCol; end; procedure TOS3MainFrm.SwapDecTypeClick(Sender: TObject); var Dectype : integer; i, j, k, count : integer; cellstr : string; begin Dectype := OptionsFrm.FractionType; if Dectype = 0 then // current type is English - switch to European begin for i := 1 to OS3MainFrm.DataGrid.RowCount-1 do begin for j := 1 to OS3MainFrm.DataGrid.ColCount - 1 do begin cellstr := OS3MainFrm.DataGrid.Cells[j,i]; count := length(cellstr); for k := 1 to count do begin if cellstr[k] = '.' then cellstr[k] := ','; end; OS3MainFrm.DataGrid.Cells[j,i] := cellstr; end; end; end; if Dectype = 1 then // current type is European - switch to English begin for i := 1 to OS3MainFrm.DataGrid.RowCount-1 do begin for j := 1 to OS3MainFrm.DataGrid.ColCount - 1 do begin cellstr := OS3MainFrm.DataGrid.Cells[j,i]; count := length(cellstr); for k := 1 to count do begin if cellstr[k] = ',' then cellstr[k] := '.'; end; OS3MainFrm.DataGrid.Cells[j,i] := cellstr; end; end; end; end; procedure TOS3MainFrm.TabFileInBtnClick(Sender: TObject); begin OpenTabFile; end; procedure TOS3MainFrm.ThreeDRotateClick(Sender: TObject); begin Rot3DFrm.ShowModal; end; procedure TOS3MainFrm.tprobClick(Sender: TObject); begin TprobForm.ShowModal; end; procedure TOS3MainFrm.TransformClick(Sender: TObject); var MyErrorString : string; begin try TransFrm.ShowModal; except // MyErrorString := 'ErrorCode: ' + IntToStr(Error) + #13#10; MyErrorString := 'Error in showing transformations'; MessageDlg(MyErrorString , mtError, [mbOk], 0); end; end; procedure TOS3MainFrm.ttestsClick(Sender: TObject); begin TtestFrm.ShowModal; end; procedure TOS3MainFrm.TwoSLSRegClick(Sender: TObject); begin TwoSLSFrm.ShowModal; end; procedure TOS3MainFrm.TypeErrorsClick(Sender: TObject); begin ErrorCurvesFrm.ShowModal; end; procedure TOS3MainFrm.WghtedKappaClick(Sender: TObject); begin WeightedKappaFrm.ShowModal; end; procedure TOS3MainFrm.WithinAnovaClick(Sender: TObject); begin WithinAnovaFrm.ShowModal; end; procedure TOS3MainFrm.WLSRegClick(Sender: TObject); begin WLSFrm.ShowModal; end; procedure TOS3MainFrm.XvsMultYClick(Sender: TObject); begin XvsMultYForm.ShowModal; end; procedure TOS3MainFrm.DefineVarClick(Sender: TObject); begin DictionaryFrm.ShowModal; end; procedure TOS3MainFrm.DistPlotsClick(Sender: TObject); begin DistribFrm.ShowModal; end; procedure TOS3MainFrm.DistributionsClick(Sender: TObject); begin DescriptiveFrm.ShowModal; end; procedure TOS3MainFrm.EquationClick(Sender: TObject); begin EquationForm.ShowModal; end; procedure TOS3MainFrm.FormatGridClick(Sender: TObject); begin DataProcs.FormatGrid; end; procedure TOS3MainFrm.FormClick(Sender: TObject); begin OptionsFrm.ShowModal; end; procedure TOS3MainFrm.DataGridKeyPress(Sender: TObject; var Key: char); var row, col : integer; begin NoVarsEdit.Text := IntToStr(OS3MainFrm.DataGrid.ColCount-1); if ord(Key) = 13 then exit; col := OS3MainFrm.DataGrid.Col; row :=OS3MainFrm.DataGrid.Row; if StrToInt(NoCasesEdit.Text) < row then begin NoCasesEdit.Text := IntToStr(row); NoCases := row; end; if OS3MainFrm.DataGrid.Cells[0,row] = '' then begin NoCases := row; OS3MainFrm.DataGrid.Cells[0,row] := 'CASE ' + IntToStr(row); end; if NoVariables < col then begin NoVariables := col; end; if ((PrevCol <> col) or (PrevRow <> row)) then if OS3MainFrm.DataGrid.Cells[PrevCol,PrevRow] <> '' then FormatCell(PrevCol,PrevRow); PrevCol := col; PrevRow := row; end; procedure TOS3MainFrm.DataSmoothClick(Sender: TObject); begin DataSmoothingForm.ShowModal; end; procedure TOS3MainFrm.DataGridKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); var x, y, v : integer; begin x :=OS3MainFrm.DataGrid.Row; y :=OS3MainFrm.DataGrid.Col; v := ord(Key); case v of 13 : begin // return key if y =OS3MainFrm.DataGrid.ColCount - 1 then begin { OS3MainFrm.DataGrid.ColCount :=OS3MainFrm.DataGrid.ColCount + 1; OS3MainFrm.DataGrid.Col := y + 1;} end; end; 40 : begin // arrow down if x =OS3MainFrm.DataGrid.RowCount - 1 then begin OS3MainFrm.DataGrid.RowCount :=OS3MainFrm.DataGrid.RowCount + 1; OS3MainFrm.DataGrid.Cells[0,x+1] := 'CASE ' + IntToStr(x+1); OS3MainFrm.NoCasesEdit.Text := IntToStr(x+1); NoCases := OS3MainFrm.DataGrid.RowCount - 1; OS3MainFrm.DataGrid.SetFocus; end; end; end; RowEdit.Text := IntToStr(OS3MainFrm.DataGrid.RowCount - 1); ColEdit.Text := IntToStr(OS3MainFrm.DataGrid.ColCount - 1); if ((PrevCol <> y) or (PrevRow <> x)) then if OS3MainFrm.DataGrid.Cells[PrevCol,PrevRow] <> '' then FormatCell(PrevCol,PrevRow); end; procedure TOS3MainFrm.CSVFileInClick(Sender: TObject); begin OpenCommaFile; end; procedure TOS3MainFrm.CloseFileBtnClick(Sender: TObject); var i, j : integer; begin for i := 0 to NoCases do for j := 0 to NoVariables do OS3MainFrm.DataGrid.Cells[j,i] := ''; FormShow(self); end; procedure TOS3MainFrm.CompareDistsClick(Sender: TObject); begin CompareDistFrm.ShowModal; end; procedure TOS3MainFrm.BreakdownClick(Sender: TObject); begin BreakDownFrm.ShowModal; end; procedure TOS3MainFrm.BubblePlotClick(Sender: TObject); begin BubbleForm.ShowModal; end; procedure TOS3MainFrm.CalculaterClick(Sender: TObject); begin CalculatorForm.ShowModal; end; procedure TOS3MainFrm.ChiprobClick(Sender: TObject); begin ChiSqrProbForm.ShowModal; end; procedure TOS3MainFrm.BoxPlotClick(Sender: TObject); begin BoxPlotFrm.ShowModal; end; procedure TOS3MainFrm.AnovaClick(Sender: TObject); begin BlksAnovaFrm.ShowModal; end; procedure TOS3MainFrm.ABSAnovaClick(Sender: TObject); begin ABRAnovaFrm.ShowModal; end; procedure TOS3MainFrm.AboutClick(Sender: TObject); begin AboutBox.ShowModal; // ShowMessage('Copyright November 1, 2011 by Bill Miller'); end; procedure TOS3MainFrm.AncovaClick(Sender: TObject); begin ANCOVAFRM.ShowModal; end; procedure TOS3MainFrm.AxSAnovaClick(Sender: TObject); begin AxSAnovaFrm.ShowModal; end; procedure TOS3MainFrm.BartlettTestClick(Sender: TObject); begin BartlettTestForm.ShowModal; end; procedure TOS3MainFrm.BinAClick(Sender: TObject); begin BNestedAForm.ShowModal; end; procedure TOS3MainFrm.blockcopyClick(Sender: TObject); begin CopyIt; end; procedure TOS3MainFrm.BlockPasteClick(Sender: TObject); begin PasteIt; end; procedure TOS3MainFrm.CopyColClick(Sender: TObject); begin CopyColumn; end; procedure TOS3MainFrm.CopyRowClick(Sender: TObject); begin CopyaRow; end; procedure TOS3MainFrm.CorrDiffClick(Sender: TObject); begin TwoCorrsFrm.ShowModal; end; procedure TOS3MainFrm.CorrespondenceClick(Sender: TObject); begin CorrespondenceForm.ShowModal; end; procedure TOS3MainFrm.CrossTabsClick(Sender: TObject); begin CrossTabFrm.ShowModal; end; procedure TOS3MainFrm.CSVFileOutClick(Sender: TObject); begin SaveCommaFile; end; procedure TOS3MainFrm.CutColClick(Sender: TObject); begin DeleteCol; end; procedure TOS3MainFrm.CutRowClick(Sender: TObject); begin CutaRow; end; procedure TOS3MainFrm.DataGridClick(Sender: TObject); VAR row, col : integer; begin row := DataGrid.Row; col := DataGrid.Col; RowEdit.Text := IntToStr(row); ColEdit.Text := IntToStr(col); end; procedure TOS3MainFrm.FormShow(Sender: TObject); var i : integer; begin OpenStatPath := GetCurrentDir; LoggedOn := false; OptionsFrm.InitOptions(Self); NoVariables := 0; // global variable for no. of variables (columns) NoCases := 0; // global variable for no. of cases (rows) TempStream := TMemoryStream.Create; // global variable (simulate clipboard) TempVarItm := TMemoryStream.Create; // global var. for dictionary clips FilterOn := false; // global variable = true when a filter variable selected DictLoaded := false; // global variable = true when a dictionary file read RowEdit.Text := '1'; ColEdit.Text := '1'; FileNameEdit.Text := 'TempFile.TAB'; FilterEdit.Text := 'OFF'; OS3MainFrm.DataGrid.RowCount := 2; OS3MainFrm.DataGrid.ColCount := 2; OS3MainFrm.DataGrid.Cells[0,0] := 'CASE/VAR.'; OS3MainFrm.DataGrid.Cells[0,1] := 'CASE ' + IntToStr(1); OS3MainFrm.DataGrid.Cells[1,1] := ''; PrevRow := 1; PrevCol := 1; NoCasesEdit.Text := '0'; NoVarsEdit.Text := '0'; DictionaryFrm.DictGrid.RowCount := 0; for i := 1 to 500 do VarDefined[i] := false; if not LoggedOn then begin if LicenseFrm.ShowModal = mrCancel then Close else LoggedOn := true; end; DictionaryFrm.Show; DictionaryFrm.ReturnBtnClick(self) ; DictionaryFrm.Hide; NoVarsEdit.Text := IntToStr(OS3MainFrm.DataGrid.ColCount-1); NoCasesEdit.Text := IntToStr(OS3MainFrm.DataGrid.RowCount-1); end; procedure TOS3MainFrm.FprobClick(Sender: TObject); begin FForm.ShowModal; end; procedure TOS3MainFrm.FreqAnalClick(Sender: TObject); begin FreqFrm.ShowModal; end; procedure TOS3MainFrm.GenKappaClick(Sender: TObject); begin GenKappaFrm.ShowModal; end; procedure TOS3MainFrm.GLMClick(Sender: TObject); begin GLMFrm.ShowModal; end; procedure TOS3MainFrm.GrdBkMnuClick(Sender: TObject); begin GradebookFrm.ShowModal; end; procedure TOS3MainFrm.GridUseClick(Sender: TObject); begin GridHelpFrm.ShowModal; end; procedure TOS3MainFrm.GrpFreqClick(Sender: TObject); begin GroupFreqForm.ShowModal; end; procedure TOS3MainFrm.HelpContentsClick(Sender: TObject); begin HelpFrm.ShowModal; end; procedure TOS3MainFrm.homotestClick(Sender: TObject); Var response : string; GroupCol, VarColumn,NoCases : integer; begin response := InputBox('Column no. of group codes:','Column?','1'); GroupCol := StrToInt(response); response := InputBox('Column no. of dependent variable:','Column','2'); VarColumn := StrToInt(response); NoCases := StrToInt(OS3MainFrm.NoCasesEdit.text); HomogeneityTest(GroupCol, VarColumn, NoCases); end; procedure TOS3MainFrm.HypergeoProbClick(Sender: TObject); begin HyperGeoForm.ShowModal; end; procedure TOS3MainFrm.InsNewColClick(Sender: TObject); begin InsertCol; end; procedure TOS3MainFrm.inversezClick(Sender: TObject); begin InversezForm.ShowModal; end; procedure TOS3MainFrm.ItemBankMenuItemClick(Sender: TObject); begin ItemBankFrm.ShowModal; end; procedure TOS3MainFrm.JPEGViewClick(Sender: TObject); begin JPEGForm.ShowModal; end; procedure TOS3MainFrm.KSTestClick(Sender: TObject); begin CompareDistFrm.ShowModal; end; procedure TOS3MainFrm.LatinSquaresClick(Sender: TObject); begin LatinSqrsFrm.ShowModal; end; procedure TOS3MainFrm.lifetableClick(Sender: TObject); begin LifeTableForm.ShowModal; end; procedure TOS3MainFrm.LSMRitemClick(Sender: TObject); begin LSMregForm.ShowModal; end; procedure TOS3MainFrm.MatManMnuClick(Sender: TObject); begin matmanfrm.ShowModal; end; procedure TOS3MainFrm.MedianPolishClick(Sender: TObject); begin MedianPolishForm.ShowModal; end; procedure TOS3MainFrm.MenuItem100Click(Sender: TObject); begin RelChangeFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem101Click(Sender: TObject); begin DIFFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem102Click(Sender: TObject); begin PolyDIFFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem103Click(Sender: TObject); begin ChiSqrFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem104Click(Sender: TObject); begin SpearmanFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem105Click(Sender: TObject); begin MannWhitUFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem106Click(Sender: TObject); begin FisherFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem107Click(Sender: TObject); begin ConcordFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem108Click(Sender: TObject); begin KWAnovaFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem109Click(Sender: TObject); begin WilcoxonFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem10Click(Sender: TObject); begin LoanItFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem110Click(Sender: TObject); begin CochranQFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem111Click(Sender: TObject); begin SignTestFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem112Click(Sender: TObject); begin FriedmanFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem113Click(Sender: TObject); begin BinomialFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem114Click(Sender: TObject); begin KendallTauFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem115Click(Sender: TObject); begin KaplanMeierFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem116Click(Sender: TObject); begin XBarFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem117Click(Sender: TObject); begin RChartFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem118Click(Sender: TObject); begin SigmaChartFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem119Click(Sender: TObject); begin CChartFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem11Click(Sender: TObject); begin SumYrsDepFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem120Click(Sender: TObject); begin UChartFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem14Click(Sender: TObject); begin SLDepFrm.ShowModal; end; procedure TOS3MainFrm.MenuItem30Click(Sender: TObject); begin RowColSwap; end; initialization {$I mainunit.lrs} end.