You've already forked lazarus-ccr
LazStats: Use TAChart and SPC template form ind UChartUnit.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7657 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -49,7 +49,7 @@
|
||||
<PackageName Value="LCL"/>
|
||||
</Item7>
|
||||
</RequiredPackages>
|
||||
<Units Count="176">
|
||||
<Units Count="175">
|
||||
<Unit0>
|
||||
<Filename Value="LazStats.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
@ -752,682 +752,675 @@
|
||||
<UnitName Value="CUMSUMUnit"/>
|
||||
</Unit89>
|
||||
<Unit90>
|
||||
<Filename Value="forms\analysis\statistical_process_control\pchartunit1.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="pChartFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
</Unit90>
|
||||
<Unit91>
|
||||
<Filename Value="forms\analysis\statistical_process_control\uchartunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="UChartFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="UChartUnit"/>
|
||||
</Unit91>
|
||||
<Unit92>
|
||||
<Filename Value="forms\simulations\corsimunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="CorSimFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="CorSimUnit"/>
|
||||
</Unit92>
|
||||
<Unit93>
|
||||
</Unit90>
|
||||
<Unit91>
|
||||
<Filename Value="forms\simulations\multgenunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="MultGenFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="MultGenUnit"/>
|
||||
</Unit93>
|
||||
<Unit94>
|
||||
</Unit91>
|
||||
<Unit92>
|
||||
<Filename Value="forms\simulations\errorcurvesunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="ErrorCurvesFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="ErrorCurvesUnit"/>
|
||||
</Unit94>
|
||||
<Unit95>
|
||||
</Unit92>
|
||||
<Unit93>
|
||||
<Filename Value="forms\simulations\pcurvesunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="PCurvesFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="PCurvesUnit"/>
|
||||
</Unit95>
|
||||
<Unit96>
|
||||
</Unit93>
|
||||
<Unit94>
|
||||
<Filename Value="forms\simulations\distribunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="DistribFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="DistribUnit"/>
|
||||
</Unit96>
|
||||
<Unit97>
|
||||
</Unit94>
|
||||
<Unit95>
|
||||
<Filename Value="forms\simulations\gensequnit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="GenSeqFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="GenSeqUnit"/>
|
||||
</Unit97>
|
||||
<Unit98>
|
||||
</Unit95>
|
||||
<Unit96>
|
||||
<Filename Value="forms\simulations\genrndvalsunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="GenRndValsFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="GenRndValsUnit"/>
|
||||
</Unit98>
|
||||
<Unit99>
|
||||
</Unit96>
|
||||
<Unit97>
|
||||
<Filename Value="forms\analysis\financial\loanitunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="LoanItFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="LoanItUnit"/>
|
||||
</Unit99>
|
||||
<Unit100>
|
||||
</Unit97>
|
||||
<Unit98>
|
||||
<Filename Value="forms\analysis\financial\sumyrsdepunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="SumYrsDepFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="SumYrsDepUnit"/>
|
||||
</Unit100>
|
||||
<Unit101>
|
||||
</Unit98>
|
||||
<Unit99>
|
||||
<Filename Value="forms\analysis\financial\sldunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="SLDepFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="SLDUnit"/>
|
||||
</Unit101>
|
||||
<Unit102>
|
||||
</Unit99>
|
||||
<Unit100>
|
||||
<Filename Value="forms\analysis\financial\dbldeclineunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="DblDeclineFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="DblDeclineUnit"/>
|
||||
</Unit102>
|
||||
<Unit103>
|
||||
</Unit100>
|
||||
<Unit101>
|
||||
<Filename Value="forms\analysis\nonparametric\riditunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="RIDITFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="RIDITUnit"/>
|
||||
</Unit103>
|
||||
<Unit104>
|
||||
</Unit101>
|
||||
<Unit102>
|
||||
<Filename Value="forms\analysis\multiple_regression\twoslsunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="TwoSLSFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="TwoSLSUnit"/>
|
||||
</Unit104>
|
||||
<Unit105>
|
||||
</Unit102>
|
||||
<Unit103>
|
||||
<Filename Value="forms\analysis\multiple_regression\wlsunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="WLSFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="WLSUnit"/>
|
||||
</Unit105>
|
||||
<Unit106>
|
||||
</Unit103>
|
||||
<Unit104>
|
||||
<Filename Value="forms\analysis\multivariate\avglinkunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="AvgLinkFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="AvgLinkUnit"/>
|
||||
</Unit106>
|
||||
<Unit107>
|
||||
</Unit104>
|
||||
<Unit105>
|
||||
<Filename Value="forms\tools\sortcasesunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="SortCasesFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="SortCasesUnit"/>
|
||||
</Unit107>
|
||||
<Unit108>
|
||||
</Unit105>
|
||||
<Unit106>
|
||||
<Filename Value="forms\tools\selectcasesunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="SelectFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="SelectCasesUnit"/>
|
||||
</Unit108>
|
||||
<Unit109>
|
||||
</Unit106>
|
||||
<Unit107>
|
||||
<Filename Value="forms\tools\selectifunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="SelectIfFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="SelectIfUnit"/>
|
||||
</Unit109>
|
||||
<Unit110>
|
||||
</Unit107>
|
||||
<Unit108>
|
||||
<Filename Value="forms\tools\randomsampunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="RandomSampFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="RandomSampUnit"/>
|
||||
</Unit110>
|
||||
<Unit111>
|
||||
</Unit108>
|
||||
<Unit109>
|
||||
<Filename Value="forms\tools\rangeselectunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="RangeSelectFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="RangeSelectUnit"/>
|
||||
</Unit111>
|
||||
<Unit112>
|
||||
</Unit109>
|
||||
<Unit110>
|
||||
<Filename Value="forms\help\gridhelpunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="GridHelpFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="GridHelpUnit"/>
|
||||
</Unit112>
|
||||
<Unit113>
|
||||
</Unit110>
|
||||
<Unit111>
|
||||
<Filename Value="forms\variables\recodeunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="RecodeFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="RecodeUnit"/>
|
||||
</Unit113>
|
||||
<Unit114>
|
||||
</Unit111>
|
||||
<Unit112>
|
||||
<Filename Value="forms\analysis\nonparametric\kappaunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="WeightedKappaFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="KappaUnit"/>
|
||||
</Unit114>
|
||||
<Unit115>
|
||||
</Unit112>
|
||||
<Unit113>
|
||||
<Filename Value="forms\analysis\multivariate\kmeansunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="KMeansFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="KMeansUnit"/>
|
||||
</Unit115>
|
||||
<Unit116>
|
||||
</Unit113>
|
||||
<Unit114>
|
||||
<Filename Value="forms\analysis\multivariate\singlelinkunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="SingleLinkFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="SingleLinkUnit"/>
|
||||
</Unit116>
|
||||
<Unit117>
|
||||
</Unit114>
|
||||
<Unit115>
|
||||
<Filename Value="forms\analysis\nonparametric\genkappaunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="GenKappaFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="GenKappaUnit"/>
|
||||
</Unit117>
|
||||
<Unit118>
|
||||
</Unit115>
|
||||
<Unit116>
|
||||
<Filename Value="forms\analysis\matrix_manipulation\matmanunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="MatManFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="MatManUnit"/>
|
||||
</Unit118>
|
||||
<Unit119>
|
||||
</Unit116>
|
||||
<Unit117>
|
||||
<Filename Value="forms\analysis\matrix_manipulation\scripteditorunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="ScriptEditorFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="ScriptEditorUnit"/>
|
||||
</Unit119>
|
||||
<Unit120>
|
||||
</Unit117>
|
||||
<Unit118>
|
||||
<Filename Value="forms\analysis\matrix_manipulation\rootmethodunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="RootMethodFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="RootMethodUnit"/>
|
||||
</Unit120>
|
||||
<Unit121>
|
||||
</Unit118>
|
||||
<Unit119>
|
||||
<Filename Value="forms\analysis\matrix_manipulation\scriptoptsunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="ScriptOptsFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="ScriptOptsUnit"/>
|
||||
</Unit121>
|
||||
<Unit122>
|
||||
</Unit119>
|
||||
<Unit120>
|
||||
<Filename Value="forms\analysis\matrix_manipulation\colinsertunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="ColInsertFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="ColInsertUnit"/>
|
||||
</Unit122>
|
||||
<Unit123>
|
||||
</Unit120>
|
||||
<Unit121>
|
||||
<Filename Value="forms\analysis\matrix_manipulation\rowinsertunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="RowInsertFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="RowInsertUnit"/>
|
||||
</Unit123>
|
||||
<Unit124>
|
||||
</Unit121>
|
||||
<Unit122>
|
||||
<Filename Value="forms\analysis\measurement_programs\gradebookunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="GradebookFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="GradeBookUnit"/>
|
||||
</Unit124>
|
||||
<Unit125>
|
||||
</Unit122>
|
||||
<Unit123>
|
||||
<Filename Value="forms\analysis\measurement_programs\gradingunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="GradingFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="GradingUnit"/>
|
||||
</Unit125>
|
||||
<Unit126>
|
||||
</Unit123>
|
||||
<Unit124>
|
||||
<Filename Value="forms\simulations\probzunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="ProbzForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="ProbZUnit"/>
|
||||
</Unit126>
|
||||
<Unit127>
|
||||
</Unit124>
|
||||
<Unit125>
|
||||
<Filename Value="forms\simulations\probsmallerzunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="ProbSmallerzForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="ProbSmallerZUnit"/>
|
||||
</Unit127>
|
||||
<Unit128>
|
||||
</Unit125>
|
||||
<Unit126>
|
||||
<Filename Value="forms\simulations\twozprobunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="TwozProbForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="TwoZProbUnit"/>
|
||||
</Unit128>
|
||||
<Unit129>
|
||||
</Unit126>
|
||||
<Unit127>
|
||||
<Filename Value="forms\simulations\inversezunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="InversezForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="InverseZUnit"/>
|
||||
</Unit129>
|
||||
<Unit130>
|
||||
</Unit127>
|
||||
<Unit128>
|
||||
<Filename Value="forms\simulations\probchisqrunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="ChiSqrProbForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="ProbChiSqrUnit"/>
|
||||
</Unit130>
|
||||
<Unit131>
|
||||
</Unit128>
|
||||
<Unit129>
|
||||
<Filename Value="forms\simulations\tprobunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="TprobForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="tProbUnit"/>
|
||||
</Unit131>
|
||||
<Unit132>
|
||||
</Unit129>
|
||||
<Unit130>
|
||||
<Filename Value="forms\simulations\fprobunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="FForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="FProbUnit"/>
|
||||
</Unit132>
|
||||
<Unit133>
|
||||
</Unit130>
|
||||
<Unit131>
|
||||
<Filename Value="forms\simulations\hypergeounit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="HyperGeoForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="HyperGeoUnit"/>
|
||||
</Unit133>
|
||||
<Unit134>
|
||||
</Unit131>
|
||||
<Unit132>
|
||||
<Filename Value="forms\analysis\comparisons\bnestaunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="BNestedAForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="BNestAUnit"/>
|
||||
</Unit134>
|
||||
<Unit135>
|
||||
</Unit132>
|
||||
<Unit133>
|
||||
<Filename Value="forms\analysis\comparisons\abcnestedunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="ABCNestedForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="ABCNestedUnit"/>
|
||||
</Unit135>
|
||||
<Unit136>
|
||||
</Unit133>
|
||||
<Unit134>
|
||||
<Filename Value="forms\analysis\multivariate\bartletttestunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="BartlettTestForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="BartlettTestUnit"/>
|
||||
</Unit136>
|
||||
<Unit137>
|
||||
</Unit134>
|
||||
<Unit135>
|
||||
<Filename Value="forms\tools\datasmoothunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="SmoothDataForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="DataSmoothUnit"/>
|
||||
</Unit137>
|
||||
<Unit138>
|
||||
</Unit135>
|
||||
<Unit136>
|
||||
<Filename Value="forms\analysis\descriptive\groupfrequnit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="GroupFreqForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="GroupFreqUnit"/>
|
||||
</Unit138>
|
||||
<Unit139>
|
||||
</Unit136>
|
||||
<Unit137>
|
||||
<Filename Value="forms\analysis\nonparametric\runstestunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="runstestform"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="RunsTestUnit"/>
|
||||
</Unit139>
|
||||
<Unit140>
|
||||
</Unit137>
|
||||
<Unit138>
|
||||
<Filename Value="forms\analysis\descriptive\xvsmultyunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="XvsMultYForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="XvsMultYUnit"/>
|
||||
</Unit140>
|
||||
<Unit141>
|
||||
</Unit138>
|
||||
<Unit139>
|
||||
<Filename Value="forms\analysis\nonparametric\sensunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="SensForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="SensUnit"/>
|
||||
</Unit141>
|
||||
<Unit142>
|
||||
</Unit139>
|
||||
<Unit140>
|
||||
<Filename Value="forms\analysis\multivariate\correspondenceunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="CorrespondenceForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="CorrespondenceUnit"/>
|
||||
</Unit142>
|
||||
<Unit143>
|
||||
</Unit140>
|
||||
<Unit141>
|
||||
<Filename Value="forms\analysis\descriptive\comparedistunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="CompareDistFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="CompareDistUnit"/>
|
||||
</Unit143>
|
||||
<Unit144>
|
||||
</Unit141>
|
||||
<Unit142>
|
||||
<Filename Value="forms\variables\equationunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="EquationForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="EquationUnit"/>
|
||||
</Unit144>
|
||||
<Unit145>
|
||||
</Unit142>
|
||||
<Unit143>
|
||||
<Filename Value="forms\misc\contexthelpunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="ContextHelpForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="ContextHelpUnit"/>
|
||||
</Unit145>
|
||||
<Unit146>
|
||||
</Unit143>
|
||||
<Unit144>
|
||||
<Filename Value="forms\tools\calculatorunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="CalculatorForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="CalculatorUnit"/>
|
||||
</Unit146>
|
||||
<Unit147>
|
||||
</Unit144>
|
||||
<Unit145>
|
||||
<Filename Value="forms\tools\jpegunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="JPEGform"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="JpegUnit"/>
|
||||
</Unit147>
|
||||
<Unit148>
|
||||
</Unit145>
|
||||
<Unit146>
|
||||
<Filename Value="forms\analysis\descriptive\resistancelineunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="ResistanceLineForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="ResistanceLineUnit"/>
|
||||
</Unit148>
|
||||
<Unit149>
|
||||
</Unit146>
|
||||
<Unit147>
|
||||
<Filename Value="forms\analysis\multivariate\medianpolishunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="MedianPolishForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="MedianPolishUnit"/>
|
||||
</Unit149>
|
||||
<Unit150>
|
||||
</Unit147>
|
||||
<Unit148>
|
||||
<Filename Value="forms\analysis\comparisons\onecaseanovaunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="OneCaseAnovaForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="OneCaseANOVAUnit"/>
|
||||
</Unit150>
|
||||
<Unit151>
|
||||
</Unit148>
|
||||
<Unit149>
|
||||
<Filename Value="forms\analysis\descriptive\smoothdataunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="DataSmoothingForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="SmoothDataUnit"/>
|
||||
</Unit151>
|
||||
<Unit152>
|
||||
</Unit149>
|
||||
<Unit150>
|
||||
<Filename Value="forms\analysis\nonparametric\srhtestunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="SRHTest"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="SRHTestUnit"/>
|
||||
</Unit152>
|
||||
<Unit153>
|
||||
</Unit150>
|
||||
<Unit151>
|
||||
<Filename Value="forms\help\aboutunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="AboutBox"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="AboutUnit"/>
|
||||
</Unit153>
|
||||
<Unit154>
|
||||
</Unit151>
|
||||
<Unit152>
|
||||
<Filename Value="forms\analysis\measurement_programs\item_banking\itembankingunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="ItemBankFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="ItemBankingUnit"/>
|
||||
</Unit154>
|
||||
<Unit155>
|
||||
</Unit152>
|
||||
<Unit153>
|
||||
<Filename Value="forms\analysis\measurement_programs\item_banking\itemcodesunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="CodesForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="ItemCodesUnit"/>
|
||||
</Unit155>
|
||||
<Unit156>
|
||||
</Unit153>
|
||||
<Unit154>
|
||||
<Filename Value="forms\analysis\measurement_programs\item_banking\tfitemunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="TFItemForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="TFItemUnit"/>
|
||||
</Unit156>
|
||||
<Unit157>
|
||||
</Unit154>
|
||||
<Unit155>
|
||||
<Filename Value="forms\analysis\measurement_programs\item_banking\essayitemunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="EssayItemForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="EssayItemUnit"/>
|
||||
</Unit157>
|
||||
<Unit158>
|
||||
</Unit155>
|
||||
<Unit156>
|
||||
<Filename Value="forms\analysis\measurement_programs\item_banking\mcitemunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="MCItemForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="MCItemUnit"/>
|
||||
</Unit158>
|
||||
<Unit159>
|
||||
</Unit156>
|
||||
<Unit157>
|
||||
<Filename Value="forms\analysis\measurement_programs\item_banking\matchitemunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="MatchItemForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="MatchItemUnit"/>
|
||||
</Unit159>
|
||||
<Unit160>
|
||||
</Unit157>
|
||||
<Unit158>
|
||||
<Filename Value="forms\analysis\measurement_programs\item_banking\testspecsunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="TestSpecsForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="TestSpecsUnit"/>
|
||||
</Unit160>
|
||||
<Unit161>
|
||||
</Unit158>
|
||||
<Unit159>
|
||||
<Filename Value="forms\analysis\nonparametric\simplechisqrunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="SimpleChiSqrForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="SimpleChiSqrUnit"/>
|
||||
</Unit161>
|
||||
<Unit162>
|
||||
</Unit159>
|
||||
<Unit160>
|
||||
<Filename Value="forms\analysis\nonparametric\lifetableunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="LifeTableForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="LifeTableUnit"/>
|
||||
</Unit162>
|
||||
<Unit163>
|
||||
</Unit160>
|
||||
<Unit161>
|
||||
<Filename Value="forms\analysis\multiple_regression\lsmrunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="LSMregForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="LSMRUnit"/>
|
||||
</Unit163>
|
||||
<Unit164>
|
||||
</Unit161>
|
||||
<Unit162>
|
||||
<Filename Value="forms\maindm.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="MainDataModule"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="DataModule"/>
|
||||
<UnitName Value="MainDM"/>
|
||||
</Unit164>
|
||||
<Unit165>
|
||||
</Unit162>
|
||||
<Unit163>
|
||||
<Filename Value="units\utils.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="Utils"/>
|
||||
</Unit165>
|
||||
<Unit166>
|
||||
</Unit163>
|
||||
<Unit164>
|
||||
<Filename Value="LazStats.inc"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
</Unit166>
|
||||
<Unit167>
|
||||
</Unit164>
|
||||
<Unit165>
|
||||
<Filename Value="forms\misc\chartunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="ChartForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="ChartUnit"/>
|
||||
</Unit167>
|
||||
<Unit168>
|
||||
</Unit165>
|
||||
<Unit166>
|
||||
<Filename Value="units\mathunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="MathUnit"/>
|
||||
</Unit168>
|
||||
<Unit169>
|
||||
</Unit166>
|
||||
<Unit167>
|
||||
<Filename Value="frames\chartframeunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="ChartFrame"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Frame"/>
|
||||
<UnitName Value="ChartFrameUnit"/>
|
||||
</Unit169>
|
||||
<Unit170>
|
||||
</Unit167>
|
||||
<Unit168>
|
||||
<Filename Value="forms\analysis\statistical_process_control\basicspcunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="BasicSPCForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="BasicSPCUnit"/>
|
||||
</Unit170>
|
||||
<Unit171>
|
||||
</Unit168>
|
||||
<Unit169>
|
||||
<Filename Value="forms\analysis\statistical_process_control\schartunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="SChartForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="SChartUnit"/>
|
||||
</Unit171>
|
||||
<Unit172>
|
||||
</Unit169>
|
||||
<Unit170>
|
||||
<Filename Value="forms\analysis\statistical_process_control\rchartunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="RChartForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="RChartUnit"/>
|
||||
</Unit172>
|
||||
<Unit173>
|
||||
</Unit170>
|
||||
<Unit171>
|
||||
<Filename Value="forms\analysis\statistical_process_control\xbarchartunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="XBarChartForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="XBarChartUnit"/>
|
||||
</Unit173>
|
||||
<Unit174>
|
||||
</Unit171>
|
||||
<Unit172>
|
||||
<Filename Value="forms\analysis\statistical_process_control\cchartunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="CChartForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="CChartUnit"/>
|
||||
</Unit174>
|
||||
<Unit175>
|
||||
</Unit172>
|
||||
<Unit173>
|
||||
<Filename Value="forms\analysis\statistical_process_control\pchartunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="PChartForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="PChartUnit"/>
|
||||
</Unit175>
|
||||
</Unit173>
|
||||
<Unit174>
|
||||
<Filename Value="forms\analysis\statistical_process_control\uchartunit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="UChartForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="UChartUnit"/>
|
||||
</Unit174>
|
||||
</Units>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
|
@ -7,10 +7,8 @@ uses
|
||||
cthreads,
|
||||
{$ENDIF}{$ENDIF}
|
||||
Interfaces, // this includes the LCL widgetset
|
||||
Forms, tachartlazaruspkg, tachartprint, lhelpcontrolpkg, Globals, LicenseUnit,
|
||||
OptionsUnit, MainDM, MainUnit, MathUnit, BasicSPCUnit,
|
||||
SChartUnit, rchartunit, XBarChartUnit, cchartunit,
|
||||
pchartunit; //, utils, chartunit;
|
||||
Forms, tachartlazaruspkg, tachartprint, lhelpcontrolpkg,
|
||||
Globals, LicenseUnit, OptionsUnit, DictionaryUnit, MainDM, MainUnit;
|
||||
|
||||
{$R LazStats.res}
|
||||
|
||||
@ -30,10 +28,6 @@ begin
|
||||
end;
|
||||
Application.CreateForm(TMainDataModule, MainDataModule);
|
||||
Application.CreateForm(TOS3MainFrm, OS3MainFrm);
|
||||
Application.CreateForm(TRChartForm, RChartForm);
|
||||
Application.CreateForm(TXBarChartForm, XBarChartForm);
|
||||
Application.CreateForm(TCChartForm, CChartForm);
|
||||
Application.CreateForm(TPChartForm, PChartForm);
|
||||
Application.Run;
|
||||
end.
|
||||
|
||||
|
@ -113,7 +113,7 @@ begin
|
||||
// Show graph
|
||||
PlotMeans(
|
||||
Format('P Control Chart for "%s"', [GetFileName]),
|
||||
'Sample', MeasEdit.Text, 'Proportion', 'Mean',
|
||||
'Sample', MeasEdit.Text + ' proportion', 'Values', 'Mean',
|
||||
nil, obsP,
|
||||
UCL, LCL, AVG,
|
||||
NaN, NaN, NaN
|
||||
@ -147,6 +147,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure TPChartForm.Reset;
|
||||
begin
|
||||
inherited;
|
||||
|
@ -1,279 +1,144 @@
|
||||
object UChartFrm: TUChartFrm
|
||||
Left = 641
|
||||
Height = 339
|
||||
Top = 233
|
||||
Width = 425
|
||||
inherited UChartForm: TUChartForm
|
||||
HelpType = htKeyword
|
||||
HelpKeyword = 'html/DefectsperUnituChart.htm'
|
||||
AutoSize = True
|
||||
Caption = 'Defects per unit U Chart'
|
||||
ClientHeight = 339
|
||||
ClientWidth = 425
|
||||
OnActivate = FormActivate
|
||||
OnCreate = FormCreate
|
||||
OnShow = FormShow
|
||||
Position = poMainFormCenter
|
||||
LCLVersion = '2.1.0.0'
|
||||
object Label1: TLabel
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = Owner
|
||||
Left = 8
|
||||
Height = 15
|
||||
Top = 8
|
||||
Width = 97
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Top = 8
|
||||
Caption = 'Selection Variables'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
AnchorSideLeft.Control = MeasEdit
|
||||
AnchorSideTop.Control = Owner
|
||||
Left = 187
|
||||
Height = 15
|
||||
Top = 8
|
||||
Width = 117
|
||||
BorderSpacing.Top = 8
|
||||
Caption = 'Measurement Variable'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label3: TLabel
|
||||
AnchorSideTop.Control = NoInspEdit
|
||||
AnchorSideTop.Side = asrCenter
|
||||
AnchorSideRight.Control = NoInspEdit
|
||||
Left = 215
|
||||
Height = 15
|
||||
Top = 72
|
||||
Width = 131
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.Right = 8
|
||||
Caption = 'No. inspected per group:'
|
||||
ParentColor = False
|
||||
end
|
||||
object VarList: TListBox
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideRight.Control = SigmaOpts
|
||||
AnchorSideBottom.Control = Bevel2
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 8
|
||||
Height = 264
|
||||
Top = 26
|
||||
Width = 171
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Right = 8
|
||||
BorderSpacing.Bottom = 8
|
||||
Constraints.MinHeight = 220
|
||||
ItemHeight = 0
|
||||
OnClick = VarListClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object MeasEdit: TEdit
|
||||
AnchorSideLeft.Control = VarList
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = Label2
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 187
|
||||
Height = 23
|
||||
Top = 25
|
||||
Width = 230
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Top = 2
|
||||
BorderSpacing.Right = 8
|
||||
ReadOnly = True
|
||||
TabOrder = 1
|
||||
Text = 'MeasEdit'
|
||||
end
|
||||
object NoInspEdit: TEdit
|
||||
AnchorSideTop.Control = MeasEdit
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 354
|
||||
Height = 23
|
||||
Top = 68
|
||||
Width = 63
|
||||
Alignment = taRightJustify
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.Top = 20
|
||||
BorderSpacing.Right = 8
|
||||
TabOrder = 2
|
||||
Text = 'NoInspEdit'
|
||||
end
|
||||
object SigmaOpts: TRadioGroup
|
||||
AnchorSideTop.Control = NoInspEdit
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 187
|
||||
Height = 120
|
||||
Top = 111
|
||||
Width = 230
|
||||
Anchors = [akTop, akRight]
|
||||
AutoFill = False
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 20
|
||||
BorderSpacing.Right = 8
|
||||
Caption = 'No. of Sigma Units for UCL and LCL'
|
||||
ChildSizing.LeftRightSpacing = 12
|
||||
ChildSizing.TopBottomSpacing = 6
|
||||
ChildSizing.VerticalSpacing = 2
|
||||
ChildSizing.ShrinkHorizontal = crsScaleChilds
|
||||
ChildSizing.ShrinkVertical = crsScaleChilds
|
||||
ChildSizing.Layout = cclTopToBottomThenLeftToRight
|
||||
ChildSizing.ControlsPerLine = 4
|
||||
ClientHeight = 100
|
||||
ClientWidth = 226
|
||||
ItemIndex = 0
|
||||
Items.Strings = (
|
||||
'3 Sigma (Default)'
|
||||
'2 Sigma'
|
||||
'1 Sigma'
|
||||
'X Sigma where X = '
|
||||
)
|
||||
TabOrder = 3
|
||||
object Label4: TLabel
|
||||
Left = 134
|
||||
Height = 19
|
||||
Top = 6
|
||||
Width = 80
|
||||
Caption = ' '
|
||||
ParentColor = False
|
||||
inherited SpecsPanel: TPanel
|
||||
Width = 432
|
||||
ClientWidth = 432
|
||||
inherited ButtonPanel: TPanel
|
||||
Width = 432
|
||||
ClientWidth = 432
|
||||
inherited CloseBtn: TButton
|
||||
Left = 377
|
||||
end
|
||||
inherited ComputeBtn: TButton
|
||||
Left = 293
|
||||
end
|
||||
inherited ResetBtn: TButton
|
||||
Left = 231
|
||||
end
|
||||
inherited HelpBtn: TButton
|
||||
Left = 180
|
||||
end
|
||||
inherited Bevel1: TBevel
|
||||
Width = 424
|
||||
end
|
||||
end
|
||||
object Label5: TLabel
|
||||
Left = 134
|
||||
Height = 19
|
||||
Top = 27
|
||||
Width = 80
|
||||
Caption = ' '
|
||||
ParentColor = False
|
||||
inherited VarList: TListBox
|
||||
Width = 212
|
||||
end
|
||||
object Label6: TLabel
|
||||
Left = 134
|
||||
Height = 19
|
||||
Top = 48
|
||||
Width = 80
|
||||
Caption = ' '
|
||||
ParentColor = False
|
||||
inherited GroupLabel: TLabel
|
||||
Left = 228
|
||||
Visible = False
|
||||
end
|
||||
object XSigmaEdit: TEdit
|
||||
AnchorSideRight.Control = SigmaOpts
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 134
|
||||
Height = 23
|
||||
Top = 69
|
||||
Width = 80
|
||||
inherited GroupEdit: TEdit
|
||||
Left = 228
|
||||
Width = 204
|
||||
Visible = False
|
||||
end
|
||||
inherited MeasLabel: TLabel
|
||||
Left = 228
|
||||
end
|
||||
inherited MeasEdit: TEdit
|
||||
Left = 228
|
||||
Width = 204
|
||||
end
|
||||
inherited Bevel2: TBevel
|
||||
Left = 205
|
||||
end
|
||||
object Label3: TLabel[8]
|
||||
AnchorSideTop.Control = NoInspEdit
|
||||
AnchorSideTop.Side = asrCenter
|
||||
AnchorSideRight.Control = NoInspEdit
|
||||
Left = 288
|
||||
Height = 30
|
||||
Top = 112
|
||||
Width = 73
|
||||
Alignment = taRightJustify
|
||||
BorderSpacing.Right = 8
|
||||
BorderSpacing.Bottom = 8
|
||||
TabOrder = 2
|
||||
Text = 'XSigmaEdit'
|
||||
end
|
||||
end
|
||||
object Panel1: TPanel
|
||||
Left = 0
|
||||
Height = 41
|
||||
Top = 298
|
||||
Width = 425
|
||||
Align = alBottom
|
||||
AutoSize = True
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 41
|
||||
ClientWidth = 425
|
||||
TabOrder = 4
|
||||
object ResetBtn: TButton
|
||||
AnchorSideLeft.Control = Panel1
|
||||
AnchorSideTop.Control = Panel1
|
||||
AnchorSideRight.Control = ComputeBtn
|
||||
Left = 216
|
||||
Height = 25
|
||||
Top = 8
|
||||
Width = 54
|
||||
Anchors = [akTop, akRight]
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 8
|
||||
BorderSpacing.Right = 8
|
||||
BorderSpacing.Bottom = 8
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 1
|
||||
Caption = 'No. inspected'#13#10'per group:'
|
||||
ParentColor = False
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
AnchorSideLeft.Control = Panel1
|
||||
AnchorSideTop.Control = Panel1
|
||||
AnchorSideRight.Control = CloseBtn
|
||||
Left = 278
|
||||
Height = 25
|
||||
Top = 8
|
||||
Width = 76
|
||||
Anchors = [akTop, akRight]
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 8
|
||||
BorderSpacing.Right = 8
|
||||
BorderSpacing.Bottom = 8
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object HelpBtn: TButton
|
||||
Tag = 141
|
||||
AnchorSideLeft.Control = Panel1
|
||||
AnchorSideTop.Control = Panel1
|
||||
AnchorSideRight.Control = ResetBtn
|
||||
Left = 157
|
||||
Height = 25
|
||||
Top = 8
|
||||
Width = 51
|
||||
Anchors = [akTop, akRight]
|
||||
AutoSize = True
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Top = 8
|
||||
BorderSpacing.Right = 8
|
||||
BorderSpacing.Bottom = 8
|
||||
Caption = 'Help'
|
||||
OnClick = HelpBtnClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object CloseBtn: TButton
|
||||
AnchorSideLeft.Control = Panel1
|
||||
AnchorSideTop.Control = Panel1
|
||||
AnchorSideRight.Control = Panel1
|
||||
object NoInspEdit: TEdit[9]
|
||||
AnchorSideTop.Control = MeasEdit
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = MeasEdit
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 362
|
||||
Height = 25
|
||||
Top = 8
|
||||
Width = 55
|
||||
Left = 369
|
||||
Height = 23
|
||||
Top = 116
|
||||
Width = 63
|
||||
Alignment = taRightJustify
|
||||
Anchors = [akTop, akRight]
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 8
|
||||
BorderSpacing.Right = 8
|
||||
BorderSpacing.Top = 20
|
||||
TabOrder = 4
|
||||
Text = 'NoInspEdit'
|
||||
end
|
||||
object SigmaOpts: TRadioGroup[10]
|
||||
AnchorSideLeft.Control = MeasEdit
|
||||
AnchorSideTop.Control = NoInspEdit
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = SpecsPanel
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 228
|
||||
Height = 128
|
||||
Top = 163
|
||||
Width = 204
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
AutoFill = True
|
||||
BorderSpacing.Top = 24
|
||||
BorderSpacing.Bottom = 8
|
||||
Caption = 'Close'
|
||||
ModalResult = 11
|
||||
TabOrder = 3
|
||||
Caption = 'No. of Sigma Units for UCL and LCL'
|
||||
ChildSizing.LeftRightSpacing = 12
|
||||
ChildSizing.TopBottomSpacing = 6
|
||||
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
|
||||
ChildSizing.EnlargeVertical = crsHomogenousChildResize
|
||||
ChildSizing.ShrinkHorizontal = crsScaleChilds
|
||||
ChildSizing.ShrinkVertical = crsScaleChilds
|
||||
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
||||
ChildSizing.ControlsPerLine = 1
|
||||
ClientHeight = 108
|
||||
ClientWidth = 200
|
||||
ItemIndex = 0
|
||||
Items.Strings = (
|
||||
'3 Sigma (default)'
|
||||
'2 Sigma'
|
||||
'1 Sigma'
|
||||
'x Sigmas with x = '
|
||||
)
|
||||
TabOrder = 5
|
||||
object XSigmaEdit: TEdit
|
||||
AnchorSideRight.Control = SigmaOpts
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 128
|
||||
Height = 23
|
||||
Top = 80
|
||||
Width = 60
|
||||
Alignment = taRightJustify
|
||||
Anchors = [akLeft, akRight, akBottom]
|
||||
TabOrder = 0
|
||||
Text = 'XSigmaEdit'
|
||||
end
|
||||
end
|
||||
end
|
||||
object Bevel2: TBevel
|
||||
AnchorSideTop.Control = Panel1
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = Panel1
|
||||
Left = 0
|
||||
Height = 8
|
||||
Top = 290
|
||||
Width = 425
|
||||
Anchors = [akLeft, akRight, akBottom]
|
||||
Shape = bsBottomLine
|
||||
inherited SpecsSplitter: TSplitter
|
||||
Left = 435
|
||||
end
|
||||
object Bevel1: TBevel
|
||||
Left = 8
|
||||
Height = 29
|
||||
Top = 308
|
||||
Width = 42
|
||||
Shape = bsSpacer
|
||||
inherited PageControl1: TPageControl
|
||||
Left = 443
|
||||
Width = 478
|
||||
inherited ReportPage: TTabSheet
|
||||
ClientWidth = 470
|
||||
inherited Panel1: TPanel
|
||||
Width = 458
|
||||
ClientWidth = 454
|
||||
inherited ReportMemo: TMemo
|
||||
Width = 446
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -1,7 +1,3 @@
|
||||
// File for testing: "defects.laz"
|
||||
// - Measurement variable: "Defects"
|
||||
// - No. inspected per group: 1000
|
||||
|
||||
unit UChartUnit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
@ -9,376 +5,192 @@ unit UChartUnit;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, ExtCtrls, Buttons,
|
||||
MainUnit, Globals, OutputUnit, DataProcs, BlankFrmUnit, ContextHelpUnit;
|
||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ComCtrls,
|
||||
ExtCtrls, StdCtrls, BasicSPCUnit;
|
||||
|
||||
type
|
||||
|
||||
{ TUChartFrm }
|
||||
{ TUChartForm }
|
||||
|
||||
TUChartFrm = class(TForm)
|
||||
Bevel1: TBevel;
|
||||
Bevel2: TBevel;
|
||||
ComputeBtn: TButton;
|
||||
HelpBtn: TButton;
|
||||
Label4: TLabel;
|
||||
Label5: TLabel;
|
||||
Label6: TLabel;
|
||||
Panel1: TPanel;
|
||||
ResetBtn: TButton;
|
||||
CloseBtn: TButton;
|
||||
XSigmaEdit: TEdit;
|
||||
NoInspEdit: TEdit;
|
||||
TUChartForm = class(TBasicSPCForm)
|
||||
Label3: TLabel;
|
||||
MeasEdit: TEdit;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
NoInspEdit: TEdit;
|
||||
SigmaOpts: TRadioGroup;
|
||||
VarList: TListBox;
|
||||
procedure ComputeBtnClick(Sender: TObject);
|
||||
XSigmaEdit: TEdit;
|
||||
procedure FormActivate(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure HelpBtnClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
procedure VarListClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
FAutoSized: Boolean;
|
||||
procedure PlotMeans(var Means: DblDyneVec; NoGrps: integer;
|
||||
UCL, LCL, GrandMean: double);
|
||||
function Validate(out AMsg: String; out AControl: TWinControl): boolean;
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
protected
|
||||
procedure Compute; override;
|
||||
procedure Reset; override;
|
||||
function Validate(out AMsg: String; out AControl: TWinControl): Boolean; override;
|
||||
end;
|
||||
|
||||
var
|
||||
UChartFrm: TUChartFrm;
|
||||
UChartForm: TUChartForm;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.lfm}
|
||||
|
||||
uses
|
||||
Math;
|
||||
Math, Globals, MainUnit, DataProcs;
|
||||
|
||||
{ TUChartFrm }
|
||||
{ TUChartForm }
|
||||
|
||||
procedure TUChartFrm.ResetBtnClick(Sender: TObject);
|
||||
procedure TUChartForm.Compute;
|
||||
var
|
||||
i: integer;
|
||||
begin
|
||||
VarList.Clear;
|
||||
MeasEdit.Text := '';
|
||||
NoInspEdit.Text := '';
|
||||
for i := 1 to NoVariables do
|
||||
VarList.Items.Add(OS3MainFrm.DataGrid.Cells[i,0]);
|
||||
end;
|
||||
|
||||
procedure TUChartFrm.VarListClick(Sender: TObject);
|
||||
var
|
||||
index: integer;
|
||||
begin
|
||||
index := VarList.ItemIndex;
|
||||
if index > -1 then
|
||||
begin
|
||||
MeasEdit.Text := VarList.Items[index];
|
||||
VarList.Items.Delete(index);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TUChartFrm.FormActivate(Sender: TObject);
|
||||
var
|
||||
w: Integer;
|
||||
begin
|
||||
if FAutoSized then
|
||||
exit;
|
||||
|
||||
w := MaxValue([HelpBtn.Width, ResetBtn.Width, ComputeBtn.Width, CloseBtn.Width]);
|
||||
HelpBtn.Constraints.MinWidth := w;
|
||||
ResetBtn.Constraints.MinWidth := w;
|
||||
ComputeBtn.Constraints.MinWidth := w;
|
||||
CloseBtn.Constraints.MinWidth := w;
|
||||
|
||||
VarList.Constraints.MinWidth := SigmaOpts.Width * 3 div 4;
|
||||
|
||||
Constraints.MinWidth := Width;
|
||||
Constraints.MinHeight := Height;
|
||||
|
||||
FAutoSized := true;
|
||||
end;
|
||||
|
||||
procedure TUChartFrm.FormCreate(Sender: TObject);
|
||||
begin
|
||||
Assert(OS3MainFrm <> nil);
|
||||
if OutputFrm = nil then
|
||||
Application.CreateForm(TOutputFrm, OutputFrm);
|
||||
if BlankFrm = nil then
|
||||
Application.CreateForm(TBlankFrm, BlankFrm);
|
||||
end;
|
||||
|
||||
procedure TUChartFrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
ResetBtnClick(self);
|
||||
end;
|
||||
|
||||
procedure TUChartFrm.HelpBtnClick(Sender: TObject);
|
||||
begin
|
||||
if ContextHelpForm = nil then
|
||||
Application.CreateForm(TContextHelpForm, ContextHelpForm);
|
||||
ContextHelpForm.HelpMessage((Sender as TButton).Tag);
|
||||
end;
|
||||
|
||||
procedure TUChartFrm.ComputeBtnClick(Sender: TObject);
|
||||
var
|
||||
i, MeasVar: integer;
|
||||
X, size, count, UCL, LCL, Sigma: double;
|
||||
GrandMean, meanc, stddevc: double;
|
||||
means, defperunit: DblDyneVec;
|
||||
cellstring: string;
|
||||
ColNoSelected: IntDyneVec;
|
||||
NoSelected: integer;
|
||||
msg: String;
|
||||
C: TWinControl;
|
||||
ColNoSelected: IntDyneVec = nil;
|
||||
means: DblDyneVec = nil;
|
||||
defPerUnit: DblDyneVec = nil;
|
||||
X, meanC, stdDevC, grandMean, sigma, UCL, LCL: Double;
|
||||
i, size, count, numSamples: Integer;
|
||||
lReport: TStrings;
|
||||
begin
|
||||
if not Validate(msg, C) then
|
||||
begin
|
||||
C.SetFocus;
|
||||
MessageDlg(msg, mtError, [mbOK], 0);
|
||||
exit;
|
||||
end;
|
||||
|
||||
SetLength(ColNoSelected,2);
|
||||
MeasVar := 0;
|
||||
for i := 1 to NoVariables do
|
||||
begin
|
||||
cellstring := OS3MainFrm.DataGrid.Cells[i,0];
|
||||
if cellstring = MeasEdit.Text then MeasVar := i;
|
||||
end;
|
||||
NoSelected := 1;
|
||||
SetLength(ColNoSelected, 1);
|
||||
ColNoSelected[0] := MeasVar;
|
||||
|
||||
case SigmaOpts.ItemIndex of
|
||||
0: Sigma := 3.0;
|
||||
1: Sigma := 2.0;
|
||||
2: Sigma := 1.0;
|
||||
3: Sigma := StrToFloat(XSigmaEdit.Text);
|
||||
0: sigma := 3.0;
|
||||
1: sigma := 2.0;
|
||||
2: sigma := 1.0;
|
||||
3: sigma := StrToFloat(XSigmaEdit.Text);
|
||||
end;
|
||||
|
||||
SetLength(means, NoCases + 1);
|
||||
SetLength(defperunit, NoCases + 1);
|
||||
SetLength(means, NoCases);
|
||||
SetLength(defperunit, NoCases);
|
||||
GrandMean := 0.0;
|
||||
size := 0.0;
|
||||
count := StrToFloat(NoInspEdit.Text);
|
||||
size := 0;
|
||||
count := StrToInt(NoInspEdit.Text);
|
||||
numSamples := 0;
|
||||
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
if not GoodRecord(i,NoSelected,ColNoSelected) then continue;
|
||||
X := StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[MeasVar,i]));
|
||||
means[i] := X;
|
||||
GrandMean := GrandMean + X;
|
||||
defperunit[i] := means[i] / count;
|
||||
if not GoodRecord(i, Length(ColNoSelected), ColNoSelected) then continue;
|
||||
X := StrToFloat(Trim(OS3MainFrm.DataGrid.Cells[MeasVar, i]));
|
||||
means[i-1] := X;
|
||||
grandMean := grandMean + X;
|
||||
defPerUnit[i-1] := X / count;
|
||||
size := size + count;
|
||||
inc(numSamples);
|
||||
end;
|
||||
|
||||
meanc := GrandMean / size;
|
||||
stddevc := sqrt(meanc / count);
|
||||
UCL := meanc + Sigma * stddevc;
|
||||
LCL := meanc - Sigma * stddevc;
|
||||
meanC := grandMean / size;
|
||||
stdDevC := sqrt(meanC / count);
|
||||
UCL := meanc + sigma * stddevc;
|
||||
LCL := meanc - sigma * stddevc;
|
||||
|
||||
// printed results
|
||||
// Print results
|
||||
lReport := TStringList.Create;
|
||||
try
|
||||
lReport.Add('DEFECTS c CONTROL CHART RESULTS');
|
||||
lReport.Add('');
|
||||
lReport.Add('Sample No Defects Defects Per Unit');
|
||||
lReport.Add('------ ---------- ----------------');
|
||||
for i := 1 to NoCases do
|
||||
lReport.Add(' %3d %8.2f %8.2f', [i, means[i], defperunit[i]]);
|
||||
for i := 0 to numSamples-1 do
|
||||
lReport.Add('%6d %10.2f %16.2f', [i, means[i], defPerUnit[i]]);
|
||||
lReport.Add('');
|
||||
lReport.Add('Total Nonconformities: %8.2f', [GrandMean]);
|
||||
lReport.Add('No. of Samples: %8d', [NoCases]);
|
||||
lReport.Add('Def. / unit Mean: %8.3f', [meanc]);
|
||||
lReport.Add(' and StdDev: %8.3f', [stddevc]);
|
||||
lReport.Add('Total Nonconformities: %8.2f', [grandMean]);
|
||||
lReport.Add('No. of Samples: %8d', [numSamples]);
|
||||
lReport.Add('Def. / unit Mean: %8.3f', [meanC]);
|
||||
lReport.Add(' and StdDev: %8.3f', [stdDevC]);
|
||||
lReport.Add('Lower Control Limit: %8.3f', [LCL]);
|
||||
lReport.Add('Upper Control Limit: %8.3f', [UCL]);
|
||||
DisplayReport(lReport);
|
||||
|
||||
ReportMemo.Lines.Assign(lReport);
|
||||
finally
|
||||
lReport.Free;
|
||||
end;
|
||||
|
||||
// show graph
|
||||
PlotMeans(defperunit, NoCases, UCL, LCL, meanc);
|
||||
|
||||
defperunit := nil;
|
||||
means := nil;
|
||||
ColNoSelected := nil;
|
||||
// Show graph
|
||||
PlotMeans(
|
||||
Format('Defect Control Chart for "%s"', [GetFileName]),
|
||||
'Sample', MeasEdit.Text + ' per Unit', 'Values', 'Mean',
|
||||
nil, defPerUnit,
|
||||
UCL, LCL, meanC,
|
||||
NaN, NaN, NaN
|
||||
);
|
||||
end;
|
||||
|
||||
procedure TUChartFrm.PlotMeans(var Means: DblDyneVec; NoGrps: integer;
|
||||
UCL, LCL, GrandMean: double);
|
||||
|
||||
procedure TUChartForm.FormActivate(Sender: TObject);
|
||||
var
|
||||
i, xpos, ypos, hleft, hright, vtop, vbottom, imagewide : integer;
|
||||
vhi, hwide, offset, strhi : integer;
|
||||
imagehi, maxval, minval, valincr, Yvalue : double;
|
||||
Title : string;
|
||||
w: Integer;
|
||||
begin
|
||||
maxval := -10000.0;
|
||||
minval := 10000.0;
|
||||
for i := 1 to NoGrps do
|
||||
begin
|
||||
if means[i] > maxval then maxval := means[i];
|
||||
if means[i] < minval then minval := means[i];
|
||||
end;
|
||||
if UCL > maxval then maxval := UCL;
|
||||
if LCL < minval then minval := LCL;
|
||||
BlankFrm.Show;
|
||||
Title := 'DEFECT CONTROL (c) CHART FOR : ' + OS3MainFrm.FileNameEdit.Text;
|
||||
BlankFrm.Caption := Title;
|
||||
imagewide := BlankFrm.Image1.Width;
|
||||
imagehi := BlankFrm.Image1.Height;
|
||||
vtop := 20;
|
||||
vbottom := round(imagehi) - 80;
|
||||
vhi := vbottom - vtop;
|
||||
hleft := 100;
|
||||
hright := imagewide - 80;
|
||||
hwide := hright - hleft;
|
||||
w := MaxValue([HelpBtn.Width, ResetBtn.Width, ComputeBtn.Width, CloseBtn.Width]);
|
||||
HelpBtn.Constraints.MinWidth := w;
|
||||
ResetBtn.Constraints.MinWidth := w;
|
||||
ComputeBtn.Constraints.MinWidth := w;
|
||||
CloseBtn.Constraints.MinWidth := w;
|
||||
|
||||
BlankFrm.Image1.Canvas.Brush.Color := clLtGray;
|
||||
BlankFrm.Image1.Canvas.FillRect(0, 0, BlankFrm.Image1.Width, BlankFrm.Image1.Height);
|
||||
DisableAutoSizing;
|
||||
try
|
||||
SigmaOpts.AnchorSideRight.Control := nil;
|
||||
VarList.Constraints.MinWidth := VarListLabel.Width;
|
||||
SpecsPanel.Constraints.MinWidth := Max(
|
||||
CloseBtn.Left + CloseBtn.Width - HelpBtn.Left + HelpBtn.BorderSpacing.Around,
|
||||
SigmaOpts.Width * 2 + VarList.BorderSpacing.Right + VarList.BorderSpacing.Left
|
||||
);
|
||||
Constraints.MinHeight := SigmaOpts.Top + SigmaOpts.Height + SigmaOpts.BorderSpacing.Bottom + ButtonPanel.Height;
|
||||
|
||||
// Draw chart border
|
||||
BlankFrm.Image1.Canvas.Pen.Color := clBlack;
|
||||
BlankFrm.Image1.Canvas.Brush.Color := clWhite;
|
||||
BlankFrm.Image1.Canvas.Rectangle(hleft,vtop-10,hleft+hwide,vtop+vhi+10);
|
||||
|
||||
// draw Grand Mean
|
||||
ypos := round(vhi * ( (maxval - GrandMean) / (maxval - minval)));
|
||||
ypos := ypos + vtop;
|
||||
xpos := hleft;
|
||||
BlankFrm.Image1.Canvas.Pen.Color := clRed;
|
||||
BlankFrm.Image1.Canvas.Brush.Style := bsClear;
|
||||
BlankFrm.Image1.Canvas.MoveTo(xpos,ypos);
|
||||
xpos := hright;
|
||||
BlankFrm.Image1.Canvas.LineTo(xpos,ypos);
|
||||
Title := 'MEAN';
|
||||
strhi := BlankFrm.Image1.Canvas.TextHeight(Title);
|
||||
ypos := ypos - strhi div 2;
|
||||
BlankFrm.Image1.Canvas.TextOut(xpos,ypos,Title);
|
||||
|
||||
// draw horizontal axis
|
||||
BlankFrm.Image1.Canvas.Pen.Color := clBlack;
|
||||
BlankFrm.Image1.Canvas.MoveTo(hleft,vbottom + 20);
|
||||
BlankFrm.Image1.Canvas.LineTo(hright,vbottom + 20);
|
||||
for i := 1 to NoGrps do
|
||||
begin
|
||||
ypos := vbottom + 10;
|
||||
xpos := round((hwide / NoGrps)* i + hleft);
|
||||
BlankFrm.Image1.Canvas.MoveTo(xpos,ypos);
|
||||
ypos := ypos + 10;
|
||||
BlankFrm.Image1.Canvas.LineTo(xpos,ypos);
|
||||
Title := format('%d',[i]);
|
||||
offset := BlankFrm.Image1.Canvas.TextWidth(Title) div 2;
|
||||
strhi := BlankFrm.Image1.Canvas.TextHeight(Title);
|
||||
xpos := xpos - offset;
|
||||
ypos := ypos + strhi;
|
||||
BlankFrm.Image1.Canvas.Pen.Color := clBlack;
|
||||
BlankFrm.Image1.Canvas.TextOut(xpos,ypos,Title);
|
||||
xpos := 10;
|
||||
BlankFrm.Image1.Canvas.TextOut(xpos,ypos,'GROUPS:');
|
||||
end;
|
||||
|
||||
// Draw vertical axis
|
||||
valincr := (maxval - minval) / 10.0;
|
||||
for i := 1 to 11 do
|
||||
begin
|
||||
Title := format('%8.3f',[maxval - ((i-1)*valincr)]);
|
||||
strhi := BlankFrm.Image1.Canvas.TextHeight(Title);
|
||||
xpos := 10;
|
||||
Yvalue := maxval - (valincr * (i-1));
|
||||
ypos := round(vhi * ( (maxval - Yvalue) / (maxval - minval)));
|
||||
ypos := ypos + vtop - strhi div 2;
|
||||
BlankFrm.Image1.Canvas.TextOut(xpos,ypos,Title);
|
||||
end;
|
||||
|
||||
// draw lines for means of the groups
|
||||
ypos := round(vhi * ( (maxval - means[1]) / (maxval - minval)));
|
||||
ypos := ypos + vtop;
|
||||
xpos := round((hwide / NoGrps) + hleft);
|
||||
BlankFrm.Image1.Canvas.MoveTo(xpos,ypos);
|
||||
BlankFrm.Image1.Canvas.Pen.Color := clBlack;
|
||||
for i := 2 to NoGrps do
|
||||
begin
|
||||
ypos := round(vhi * ( (maxval - means[i]) / (maxval - minval)));
|
||||
ypos := ypos + vtop;
|
||||
xpos := round((hwide / NoGrps)* i + hleft);
|
||||
BlankFrm.Image1.Canvas.LineTo(xpos,ypos);
|
||||
end;
|
||||
|
||||
// Draw upper and lower confidence intervals
|
||||
ypos := round(vhi * ( (maxval - UCL) / (maxval - minval)));
|
||||
ypos := ypos + vtop;
|
||||
xpos := hleft;
|
||||
BlankFrm.Image1.Canvas.MoveTo(xpos,ypos);
|
||||
xpos := hright;
|
||||
BlankFrm.Image1.Canvas.Pen.Color := clRed;
|
||||
BlankFrm.Image1.Canvas.LineTo(xpos,ypos);
|
||||
Title := 'UCL';
|
||||
strhi := BlankFrm.Image1.Canvas.TextHeight(Title);
|
||||
ypos := ypos - strhi div 2;
|
||||
BlankFrm.Image1.Canvas.TextOut(xpos,ypos,Title);
|
||||
|
||||
ypos := round(vhi * ( (maxval - LCL) / (maxval - minval)));
|
||||
ypos := ypos + vtop;
|
||||
xpos := hleft;
|
||||
BlankFrm.Image1.Canvas.MoveTo(xpos,ypos);
|
||||
xpos := hright;
|
||||
BlankFrm.Image1.Canvas.Pen.Color := clRed;
|
||||
BlankFrm.Image1.Canvas.LineTo(xpos,ypos);
|
||||
Title := 'LCL';
|
||||
strhi := BlankFrm.Image1.Canvas.TextHeight(Title);
|
||||
ypos := ypos - strhi div 2;
|
||||
BlankFrm.Image1.Canvas.TextOut(xpos,ypos,Title);
|
||||
SigmaOpts.AnchorSideRight.Control := MeasEdit;
|
||||
SigmaOpts.AnchorSideRight.Side := asrBottom;
|
||||
finally
|
||||
EnableAutoSizing;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TUChartFrm.Validate(out AMsg: String; out AControl: TWinControl): Boolean;
|
||||
var
|
||||
n: Integer;
|
||||
x: Double;
|
||||
|
||||
procedure TUChartForm.Reset;
|
||||
begin
|
||||
inherited;
|
||||
NoInspEdit.Clear;
|
||||
XSigmaEdit.Clear;
|
||||
end;
|
||||
|
||||
|
||||
function TUChartForm.Validate(out AMsg: String; out AControl: TWinControl): Boolean;
|
||||
var
|
||||
x: Double;
|
||||
n: Integer;
|
||||
begin
|
||||
Result := inherited;
|
||||
if not Result then
|
||||
exit;
|
||||
|
||||
Result := false;
|
||||
|
||||
if MeasEdit.Text = '' then
|
||||
if (NoInspEdit.Text = '') then
|
||||
begin
|
||||
AMsg := 'Measurement variable is not specified.';
|
||||
AControl := MeasEdit;
|
||||
AMsg := 'Number of inspected parts per group not specified.';
|
||||
AControl := NoInspEdit;
|
||||
exit;
|
||||
end;
|
||||
|
||||
if NoInspEdit.Text = '' then
|
||||
if not TryStrToInt(NoInspEdit.Text, n) then
|
||||
begin
|
||||
AMsg := 'Number inspected per group is not specified.';
|
||||
AMsg := 'No valid number given for number of inspected parts per group.';
|
||||
AControl := NoInspEdit;
|
||||
exit;
|
||||
end;
|
||||
if not TryStrToInt(NoInspEdit.Text, n) then
|
||||
|
||||
if SigmaOpts.ItemIndex = -1 then
|
||||
begin
|
||||
AMsg := 'Number inspected per group is not a valid number.';
|
||||
AControl := NoInspEdit;
|
||||
AMsg := 'Number of sigma units for UCL and LCL not specified.';
|
||||
AControl := SigmaOpts;
|
||||
exit;
|
||||
end;
|
||||
|
||||
if SigmaOpts.ItemIndex = 3 then
|
||||
begin
|
||||
if XSigmaEdit.Text = '' then
|
||||
if (XSigmaEdit.Text = '') then
|
||||
begin
|
||||
AMsg := 'X sigma is not specified.';
|
||||
AMsg := 'User-defined sigma units missing.';
|
||||
AControl := XSigmaEdit;
|
||||
exit;
|
||||
end;
|
||||
if not TryStrToFloat(XSigmaEdit.Text, x) then
|
||||
begin
|
||||
AMsg := 'X sigma is not a valid number.';
|
||||
AMsg := 'No valid number given for sser-defined sigma units.';
|
||||
AControl := XSigmaEdit;
|
||||
exit;
|
||||
end;
|
||||
@ -386,8 +198,7 @@ begin
|
||||
|
||||
Result := true;
|
||||
end;
|
||||
initialization
|
||||
{$I uchartunit.lrs}
|
||||
|
||||
|
||||
end.
|
||||
|
||||
|
@ -646,14 +646,6 @@ begin
|
||||
SingleLinkFrm.ShowModal;
|
||||
end;
|
||||
|
||||
// Menu "Analysis" > "Statistical Process Control" > "CUMSUM Chart"
|
||||
procedure TOS3MainFrm.mnuAnalysisSPC_CUMSUMClick(Sender: TObject);
|
||||
begin
|
||||
if CUMSUMFrm = nil then
|
||||
Application.CreateForm(TCUMSUMFrm, CUMSUMFrm);
|
||||
CUMSUMFrm.ShowModal;
|
||||
end;
|
||||
|
||||
// Menu "Correlation" > "Product-Moment"
|
||||
procedure TOS3MainFrm.MenuItem71Click(Sender: TObject);
|
||||
begin
|
||||
@ -923,14 +915,6 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
// Menu "Analysis" > "Statistical Process Control" > "p Control Chart"
|
||||
procedure TOS3MainFrm.mnuAnalysisSPC_PChartClick(Sender: TObject);
|
||||
begin
|
||||
if PChartForm = nil then
|
||||
Application.CreateForm(TPChartForm, PChartForm);
|
||||
PChartForm.ShowModal;
|
||||
end;
|
||||
|
||||
// Menu "Analysis" > "Descriptive" > "Plot X vs Y"
|
||||
procedure TOS3MainFrm.PlotXvsYClick(Sender: TObject);
|
||||
begin
|
||||
@ -2133,29 +2117,6 @@ begin
|
||||
KaplanMeierFrm.ShowModal;
|
||||
end;
|
||||
|
||||
// Menu "Analysis" > "Statistical Process Control" > "XBAR Chart"
|
||||
procedure TOS3MainFrm.mnuAnalysisSPC_XBarClick(Sender: TObject);
|
||||
begin
|
||||
if XBarChartForm = nil then
|
||||
Application.CreateForm(TXBarChartForm, XBarChartForm);
|
||||
XBarChartForm.ShowModal;
|
||||
end;
|
||||
|
||||
// Menu "Analysis" > "Statistical Process Control" > "Range Chart"
|
||||
procedure TOS3MainFrm.mnuAnalysisSPC_RangeClick(Sender: TObject);
|
||||
begin
|
||||
if RChartForm = nil then
|
||||
Application.CreateForm(TRChartForm, RChartForm);
|
||||
RChartForm.ShowModal;
|
||||
end;
|
||||
|
||||
// Menu "Analysis" > "Statistical Process Control" > "S Control Chart"
|
||||
procedure TOS3MainFrm.mnuAnalysisSPC_SChartClick(Sender: TObject);
|
||||
begin
|
||||
if SChartForm = nil then
|
||||
Application.CreateForm(TSChartForm, SChartForm);
|
||||
SChartForm.ShowModal;
|
||||
end;
|
||||
|
||||
// Menu "Analysis" > "Statistical Process Control" > "Defect (nonconformity) c Chart"
|
||||
procedure TOS3MainFrm.mnuAnalysisSPC_CChartClick(Sender: TObject);
|
||||
@ -2165,6 +2126,61 @@ begin
|
||||
CChartForm.ShowModal;
|
||||
end;
|
||||
|
||||
|
||||
// Menu "Analysis" > "Statistical Process Control" > "CUMSUM Chart"
|
||||
procedure TOS3MainFrm.mnuAnalysisSPC_CUMSUMClick(Sender: TObject);
|
||||
begin
|
||||
if CUMSUMFrm = nil then
|
||||
Application.CreateForm(TCUMSUMFrm, CUMSUMFrm);
|
||||
CUMSUMFrm.ShowModal;
|
||||
end;
|
||||
|
||||
|
||||
// Menu "Analysis" > "Statistical Process Control" > "p Control Chart"
|
||||
procedure TOS3MainFrm.mnuAnalysisSPC_PChartClick(Sender: TObject);
|
||||
begin
|
||||
if PChartForm = nil then
|
||||
Application.CreateForm(TPChartForm, PChartForm);
|
||||
PChartForm.ShowModal;
|
||||
end;
|
||||
|
||||
|
||||
// Menu "Analysis" > "Statistical Process Control" > "Range Chart"
|
||||
procedure TOS3MainFrm.mnuAnalysisSPC_RangeClick(Sender: TObject);
|
||||
begin
|
||||
if RChartForm = nil then
|
||||
Application.CreateForm(TRChartForm, RChartForm);
|
||||
RChartForm.ShowModal;
|
||||
end;
|
||||
|
||||
|
||||
// Menu "Analysis" > "Statistical Process Control" > "S Control Chart"
|
||||
procedure TOS3MainFrm.mnuAnalysisSPC_SChartClick(Sender: TObject);
|
||||
begin
|
||||
if SChartForm = nil then
|
||||
Application.CreateForm(TSChartForm, SChartForm);
|
||||
SChartForm.ShowModal;
|
||||
end;
|
||||
|
||||
|
||||
// Menu "Analysis" > "Statistical Process Control" > "Defects per Unit u Chart"
|
||||
procedure TOS3MainFrm.mnuAnalysisSPC_UChartClick(Sender: TObject);
|
||||
begin
|
||||
if UChartForm = nil then
|
||||
Application.CreateForm(TUChartForm, UChartForm);
|
||||
UChartForm.ShowModal;
|
||||
end;
|
||||
|
||||
|
||||
// Menu "Analysis" > "Statistical Process Control" > "XBAR Chart"
|
||||
procedure TOS3MainFrm.mnuAnalysisSPC_XBarClick(Sender: TObject);
|
||||
begin
|
||||
if XBarChartForm = nil then
|
||||
Application.CreateForm(TXBarChartForm, XBarChartForm);
|
||||
XBarChartForm.ShowModal;
|
||||
end;
|
||||
|
||||
|
||||
// Menu "Analysis" > "Financial" > "Sum of years digits depreciation"
|
||||
procedure TOS3MainFrm.MenuItem11Click(Sender: TObject);
|
||||
begin
|
||||
@ -2173,14 +2189,6 @@ begin
|
||||
SumYrsDepFrm.ShowModal;
|
||||
end;
|
||||
|
||||
// Menu "Analysis" > "Statistical Process Control" > "Defects per Unit u Chart"
|
||||
procedure TOS3MainFrm.mnuAnalysisSPC_UChartClick(Sender: TObject);
|
||||
begin
|
||||
if UChartFrm = nil then
|
||||
Application.CreateForm(TUChartFrm, UChartFrm);
|
||||
UChartFrm.ShowModal;
|
||||
end;
|
||||
|
||||
// Menu "Analysis" > "Financial" > "Straight line depreciation"
|
||||
procedure TOS3MainFrm.MenuItem14Click(Sender: TObject);
|
||||
begin
|
||||
|
Reference in New Issue
Block a user