From df6f608a6cc6b4f03a13e9b3b30d3ff5592510b9 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Tue, 29 Aug 2017 10:09:59 +0200 Subject: HintergrundAbzugsArt haaRandPerzentil neu --- typenunit.pas | 42 +++++++++++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 11 deletions(-) (limited to 'typenunit.pas') diff --git a/typenunit.pas b/typenunit.pas index 5bd30a5..7bf5ec6 100644 --- a/typenunit.pas +++ b/typenunit.pas @@ -15,7 +15,11 @@ const speicherHappen = 32768; // Anzahl an mit einem Mal zu reservierender Array type tExtraInfos = class; tKomplexMachModus = (kmmReNull,kmmImNull,kmmPhZuf); - tHintergrundAbzugsArt = (haaKeine,haaRandDurchschnitt,haaRandMinimum,haaMinimum); + tLowLevelHintergrundAbzugsArt = (haaKeine,haaRandDurchschnitt,haaRandMinimum,haaRandPerzentil,haaMinimum); + tHintergrundAbzugsArt = record + art: tLowLevelHintergrundAbzugsArt; + parameter: tExtendedArray; + end; tIntegrationsRichtung = (irHorizontal,irEinfall,irAusfall); tGenerischeInputDateiInfo = class // nur zum Vererben gedacht, nie selbst instanziieren! name,fehlerBehebungsKommando: string; @@ -2738,17 +2742,31 @@ var begin result:=true; bekannteArten:=tMyStringList.create; - if istDasBefehl('keine',s,bekannteArten,false) then - hintergrundAbzugsArt:=haaKeine - else if istDasBefehl('Rand-Durchschnitt',s,bekannteArten,false) then - hintergrundAbzugsArt:=haaRandDurchschnitt - else if istDasBefehl('Rand-Minimum',s,bekannteArten,false) then - hintergrundAbzugsArt:=haaRandMinimum - else if istDasBefehl('Minimum',s,bekannteArten,false) then - hintergrundAbzugsArt:=haaMinimum + if istDasBefehl('keine',s,bekannteArten,false) then begin + hintergrundAbzugsArt.art:=haaKeine; + setLength(hintergrundAbzugsArt.parameter,0); + end + else if istDasBefehl('Rand-Durchschnitt',s,bekannteArten,false) then begin + hintergrundAbzugsArt.art:=haaRandDurchschnitt; + setLength(hintergrundAbzugsArt.parameter,0); + end + else if istDasBefehl('Rand-Minimum',s,bekannteArten,false) then begin + hintergrundAbzugsArt.art:=haaRandMinimum; + setLength(hintergrundAbzugsArt.parameter,0); + end + else if istDasBefehl('Rand-Perzentil',s,bekannteArten,true) then begin + hintergrundAbzugsArt.art:=haaRandPerzentil; + setLength(hintergrundAbzugsArt.parameter,1); + hintergrundAbzugsArt.parameter[0]:=exprToFloat(false,s,nil,nil); + end + else if istDasBefehl('Minimum',s,bekannteArten,false) then begin + hintergrundAbzugsArt.art:=haaMinimum; + setLength(hintergrundAbzugsArt.parameter,0); + end else begin result:=false; - hintergrundAbzugsArt:=haaKeine; + hintergrundAbzugsArt.art:=haaKeine; + setLength(hintergrundAbzugsArt.parameter,0); bekannteArten.sort; gibAus('Unbekannte Art, den Hintergrund abzuziehen: '''+s+'''!'#10+bekannteArten.text,3); end; @@ -2757,13 +2775,15 @@ end; function tHintergrundAbzugsArtToStr(hintergrundAbzugsArt: tHintergrundAbzugsArt): string; begin - case hintergrundAbzugsArt of + case hintergrundAbzugsArt.art of haaKeine: result:='keine'; haaMinimum: result:='Minimum'; haaRandMinimum: result:='Rand-Minimum'; + haaRandPerzentil: + result:='Rand-Perzentil ('+floatToStr(hintergrundAbzugsArt.parameter[0])+')'; haaRandDurchschnitt: result:='Rand-Durchschnitt'; end{of case}; -- cgit v1.2.3-70-g09d2